1)相机发过来的是xy和theta,我们已经从字符串里提取出x,y和theta值了,但是机器人点位robtarget里组成的是trans:xyz以及rot:q1-q4。
2)ABB机器人用四元数表示角度,ABB机器人服务商,如何转化角度到四元数?
3)新建一个routine
4)Target_10_ini为之前在坐标系workobjec_1下示教的点位,通常这个点位都是这个坐标系下的0,0,0,即在坐标系0点。
5)Workobject_1坐标系和相机里的坐标系一致(相机可以通过棋盘格标定纸标定)
6)程序走的点位Target_10,注意存储类型为变量VAR,否则不能赋值
7)新建num变量or_x,or_y,or_z,表示原来点Target_10的姿态ABC数据。
8)通过函数eulerzyx得到角度,ABB机器人服务商,每次只能得到一个角度
9)
10)反斜杠\X 如下得到
11)
12) 把相机发来的x和y的偏量赋给target_10的x和y
13) 把相机发来的theta角度加给原来or_z角度,得到新的z方向角度
14)通过orientzyx函数,把or_x,or_y,or_z三个角度重新转化为Target_10的姿态四元数
15) *后就得到了新的target_10位置和姿态。
来源:网络
更多资讯:ABB机器人