有多少人工,就有多少智能

Franak Robot State详解

机器人状态以 1 kHz 的速率提供机器人传感器读数和估计值。它提供:

  • 关节级信号:电机和估计的关节角度及其导数、关节扭矩和导数、估计的外部扭矩、关节碰撞/接触。
  • 笛卡尔级信号:笛卡尔位姿、配置的末端执行器和负载参数、作用于末端执行器的外部扳手、笛卡尔碰撞。
  • 接口信号:最后的命令和期望值及其导数。

机器人状态始终是控制循环所有回调函数的输入。但是,如果您只想读取机器人状态而不控制它,则可以使用函数readreadOnce来收集它,例如用于记录或可视化目的。

通过有效连接,可以使用以下函数读取机器人状态的单个样本readOnce:

franka::RobotState state = robot.readOnce();

下一个示例展示了如何使用函数read和回调连续读取机器人状态。false在回调中返回会停止循环。下面 echo_robot_state显示了示例的摘录:

size_t count = 0;
robot.read([&count](const franka::RobotState& robot_state) {
  // Printing to std::cout adds a delay. This is acceptable for a read loop such as this,
  // but should not be done in a control loop.
  std::cout << robot_state << std::endl;
  return count++ < 100;
});

 

posted @ 2024-07-09 22:19  lvdongjie-avatarx  阅读(19)  评论(0编辑  收藏  举报