python-urx库里面函数其实很简单,基本上在网上搜到的千篇一律。
上文在github上下载安装包的网站,有一些示例说明,例如:
rob = urx.Robot("192.168.0.100")
后面跟的就是ur的ip,和下面一样,都可以在polyscope上查看到。
rob.set_tcp((0, 0, 0, 0, 0, 0))#工具中心点
rob.set_payload(0, (0, 0, 0))#负载
下面是两个基本的运动代码:
rob.movej((1, 2, 3, 4, 5, 6), a, v)
rob.movel((x, y, z, rx, ry, rz), a, v)
movej是关节运动,里面的六个参数是机械臂六个关节的角度:机座、肩部、肘部、手腕1、手腕2、手腕3(注意polyscope上显示的是角度,代码里要转换成弧度制)
movel是末端运动,x、y、z是末端相对于特征(一般用机座坐标系,也可以自己设置)的三维距离,rx、ry、rz是末端坐标系相对于机座坐标系的旋转参数,先说明一下末端坐标系与机座坐标系之间的关系(使用图像识别的会用到,不需要的可以自行跳过):
先计算旋转矩阵,找好机座和末端坐标系的方向:
?将三个坐标轴旋转的角度代入矩阵:
这就是旋转矩阵的求解。
然后计算位置矩阵:
?然后用T矩阵乘以R矩阵就可以得到机座坐标系到末端坐标系的变换矩阵。
我们继续,下面两个都是相对运动函数,translatel就和movel一样,变量为xyz:
rob.translate((0.1, 0, 0), a, v)
rob.movel((0.1, 0, 0, 0, 0, 0), a, v, relative=true)
?会用上面这些就可以对ur进行一些简单的运动操作了,可以配合上夹爪共同操作。
|