Franka Robot robot.setJointImpedance()和robot.setCartesianImpedance()两个函数有何区别和联系
robot.setJointImpedance()
和robot.setCartesianImpedance()
两个函数有以下区别和联系:
-
区别:
- 参考坐标系不同
setJointImpedance()
是设置每个关节的阻抗参数,以关节坐标系为参考。setCartesianImpedance()
是设置机器人末端在笛卡尔空间中的阻抗参数,以笛卡尔坐标系为参考。
- 控制维度不同
setJointImpedance()
控制每个关节的阻抗,是关节空间的阻抗控制。setCartesianImpedance()
控制机器人末端在笛卡尔空间中的阻抗,是笛卡尔空间的阻抗控制。
- 参考坐标系不同
-
联系:
- 机器人正逆运动学的关系
- 关节阻抗和笛卡尔阻抗是通过机器人的正逆运动学耦合的。
- 调整关节阻抗会影响机器人末端的阻抗特性,反之亦然。
- 协同作用
- 通常需要同时设置关节阻抗和笛卡尔阻抗,才能更好地实现机器人的力/阻抗控制。
- 关节阻抗控制可以提高关节稳定性,而笛卡尔阻抗控制可以更好地控制末端的交互力和位姿。
- 应用场景不同
- 关节阻抗控制更适用于关节级别的任务,如关节运动控制、关节限位控制等。
- 笛卡尔阻抗控制更适用于末端级别的任务,如力交互控制、末端轨迹控制等。
- 机器人正逆运动学的关系
总的来说,setJointImpedance()
和setCartesianImpedance()
是机器人阻抗控制中两个重要的函数,它们通过正逆运动学的耦合关系协同工作,共同实现机器人的力/阻抗控制。开发者需要根据具体任务需求,灵活地设置这两种阻抗控制参数。