移动命令分为moveJ、movel等,这两个是比较常见的,只是移动方式不同,J是指移动两点之间时按***快原则,路线不一定是直线,而L的话,则两点间移动必须是直线的;命令内部,带p关键字的是坐标移动,输入的内容为坐标值:
movej(p[239.7/1000, -54/1000, 336/1000, 2.18, -2.235, 0], a = 0.1, v = 0.1)
由于其xyz单位为米,所以如果输入示教器相同的数据时,需要除以1000转换成米。
不带p时候,表示为轴移动,控制的是各个轴的角度:
movej([d2r(-14),d2r(-64),d2r(-114),d2r(-94),d2r(87),d2r(158)],a=0.5, v=0.5)
其中d2r()为ur的脚本,把输入角度转换为弧度,因为这个接口的参数是弧度。
在30003中除了获取到当前的位置,轴坐标,还能获取机器人的安全状态等参数,之后根据机器人状态,可以通过Dashboard命令来控制机器人实现部分功能,这个命令必须是通过29999端口来发送接收,具体命令见《Dashboard Server功能》。
之后说说这个旋转矢量,其实这个旋转矢量的含义,就是四元数的一个变种,四元数用三个值来表达其结果,在设置机器人坐标移动时,只能用这个旋转矢量;而另外一个定义是欧拉角,这个就比较明确了,想要移动机器人的方向,步骤应该是首先确定欧拉角,之后转换为旋转矢量,从算法上来说可以先把欧拉角转换为四元数,之后在转换为旋转矢量。其实这些在ur的脚本里面都是有的,但由于是在pc端单独开发,所以无法调用这些脚本,只能自己做。
————————————————
更多详情:优傲机器人