Franka Robot setDefaultBehavior的作用
robot.setCollisionBehavior
是 Franka Emika Panda 机器人 API 中的一个函数,用于设置机器人的碰撞行为参数。这些参数定义了机器人的各个关节和末端执行器在发生碰撞时的灵敏度和反应。
void franka::Robot::setCollisionBehavior( const std::array<double, 7>& lower_torque_thresholds_acceleration, // 加速度阶段的关节扭矩下限阈值。 const std::array<double, 7>& upper_torque_thresholds_acceleration, // 加速度阶段的关节扭矩上限阈值。 const std::array<double, 7>& lower_torque_thresholds_nominal, // 正常操作阶段的关节扭矩下限阈值。 const std::array<double, 7>& upper_torque_thresholds_nominal, // 正常操作阶段的关节扭矩上限阈值。 const std::array<double, 6>& lower_force_thresholds_acceleration, // 加速度阶段的末端执行器力下限阈值。 const std::array<double, 6>& upper_force_thresholds_acceleration, // 加速度阶段的末端执行器力上限阈值。 const std::array<double, 6>& lower_force_thresholds_nominal, // 正常操作阶段的末端执行器力下限阈值。 const std::array<double, 6>& upper_force_thresholds_nominal // 正常操作阶段的末端执行器力上限阈值。 );
robot.setCollisionBehavior(// 重置碰撞行为 {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}},
{{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}}, {{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}},
{{20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0}}, {{20.0, 20.0, 20.0, 25.0, 25.0, 25.0}},
{{20.0, 20.0, 20.0, 25.0, 25.0, 25.0}}, {{20.0, 20.0, 20.0, 25.0, 25.0, 25.0}},
{{20.0, 20.0, 20.0, 25.0, 25.0, 25.0}});
另外一种形式:
robot.setCollisionBehavior( {{100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0}}, // 加速度阶段的关节扭矩下限阈值 {{100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0}}, // 加速度阶段的关节扭矩上限阈值 {{100.0, 100.0, 100.0, 100.0, 100.0, 100.0}}, // 正常操作阶段的末端执行器力下限阈值 {{100.0, 100.0, 100.0, 100.0, 100.0, 100.0}} // 正常操作阶段的末端执行器力上限阈值 );
- 加速度阶段:通常在机器人启动或加速时,这些阈值用于检测异常的高扭矩或力,以避免在启动阶段发生损坏。
- 正常操作阶段:用于机器人在稳定操作时的阈值设置,保证机器人在执行任务时的安全性。
这些设置帮助机器人在检测到超过设定的扭矩或力时采取保护措施,比如停止当前运动或进入错误恢复模式。这样可以有效防止因意外碰撞或过大力矩导致的损坏。