No.3-Pick and place application with KUKA KR16 robot using v-rep (CoppeliaSim) a_哔哩哔哩_bilibili
任务:导入机械臂,安装夹爪到机械臂末端,实现多关节机械臂逆运动学仿真(tip-target),运行时,夹爪会自动自动到target点处,拖动target,机械臂及夹爪会跟随移动。
步骤如下:首先在左侧的Model browser中找到robots以及robots下的non-mobile,我们选择以ur3机械臂为例。
ra
然后安装夹爪,在左侧的Model browser中找到components下的grippers,我们选择以RONOTIQ85夹爪为例。
将夹爪拖动到场景中后,同时选中夹爪以及机械臂末端ur3_connection,然后中的Assemble/Disassemble按钮,即可安装上,然后选中夹爪,进行移动和旋转来进行调整夹爪在末端的位姿。
还有另一种方法:直接在Scene hierarchy中把夹爪拖到机器人的ur3_connection下面。
接着再点击Add-Dummy,或者在场景中鼠标右键会显示add
添加两个dummy,分别命名tip和target,双击会重命名
和前面一样,把tip与ur3_connection同级,(注意!!!tip是放在link下面,与connection是同级关系,别搞错了这里),然后把target拖至UR5下面
然后调整位置,和刚才一样的方法。将tip调整到夹爪中心,target放在机械臂能到达的任意位置别超出范围就可以。
此刻,机器人已经调整好了。
下面开始写逆运动学代码,点击UR3机器人旁边的脚本图标,就有下面的子脚本
把UR3的代码替换成下面的代码,逆运动学就完成了。
function sysCall_init()
simTip=sim.getObject('./tip')
simTarget=sim.getObject('./target')
modelBase=sim.getObject('.')
ikEnv=simIK.createEnvironment()
ikGroup=simIK.createIkGroup(ikEnv)
simIK.setIkGroupCalculation(ikEnv,ikGroup,simIK.method_pseudo_inverse,0,6)
simIK.addIkElementFromScene(ikEnv,ikGroup,modelBase,simTip,simTarget,simIK.constraint_pose)
end
function sysCall_actuation()
simIK.applyIkEnvironmentToScene(ikEnv,ikGroup,true)
if not ikFailedReportHandle then -- We display a IK failure report message
sim.addLog(sim.verbosity_scriptwarnings,"IK solver failed.")
end
end
你可以根据需要修改target dummy的位置和姿态,CoppeliaSim会自动帮你完成逆运动学。运行后,夹爪会自动移动到target处,如果在运行过程中实时移动target位置,夹爪以及机械臂也会随之发生改变。