CoppeliaSim(vrep)拖动机械臂末端实现运动学逆解

兄弟姐妹们在线分析下,CoppeliaSim(vrep)拖动机械臂末端实现运动学逆解
最新回答
别闹~

2021-10-30 19:15:06

在CoppeliaSim(V-REP)中,通过拖动机械臂末端实现运动学逆解,主要涉及Dummy对象和Ikgroup的使用。以下是详细的步骤和说明:

  1. Dummy对象的使用

    Dummy在CoppeliaSim中是一种带有姿态信息的“虚拟点”,可以视为没有重量和体积的质点,但携带姿态信息。

    Dummy的主要应用场景包括作为“领航点”和“传感点”。作为领航点时,Dummy常与Path结合,作为目标运动位置的引导者;作为传感点时,可以绑定到机器人部件,获取运动信息。

    Dummy可以通过拖拽和CoppeliaSim提供的界面改变其位置和姿态。

  2. Ikgroup的设置

    Ikgroup是CoppeliaSim自带的逆运动学模块。设置方法包括点击f(x),在弹出的窗口中选择Inverse Kinematics,添加新的IK Group,并自定义名字。

    在新建的IK_Group中,可以设定计算方法(Calc.method),如Pseudo inverse或DLS,并设置迭代步数、阻尼比等参数。

    通过Edit IK Elements,可以添加IK Element with tip,一个IK Group可以添加多个IK Element,并将Base设定为所用的基准。

  3. 主要操作步骤

    将UR10机器人从模型库中拖入场景中。

    添加tip dummy(UR10_ikTip),绑定到UR10_link7下,并调整其空间坐标与UR10_link7相同。

    复制UR10_ikTip,设为target dummy(UR10_ikTarget),绑定到UR10下,并关联UR10_ikTip和UR10_ikTarget。

    将UR10机器人的各个关节模式都设为IK mode + Hybrid operation。

    添加IK group和IK element:从tools栏选择calculation module properties,在Kinematics栏选择add new IK group,选择逆解的方式和迭代步数,编辑IK elements,添加UR10_ikTip,以UR10为基底,勾选所有约束。

  4. 实现结果

    拖动机械臂末端时,机械臂可以变换到对应的位形。

  5. 不同求解器、不同迭代步数下的逆解效果

    使用Pseudo inverse方法,Max.iterations为3时,逆解情况不稳定,有震动。

    使用Pseudo inverse方法,Max.iterations为10时,逆解情况比3次迭代稳定一些,在某些位置可以稳定求得逆解。

    使用DLS方法,Max.iterations为3时,逆解较为稳定。

    使用DLS方法,Max.iterations为10时,逆解比3次迭代更稳定。

    使用DLS方法,Max.iterations为100时,逆解比10次迭代更稳定。

综合分析:采用DLS的方法比Pseudo inverse的方法逆解效果好,同一种逆解方法迭代步数越高逆解效果越好。