REIS 采用了使用欧拉角来描述姿态的方法(这个不同于ABB 的四元数表示法),相信不少朋友对其描述过程存在一些困惑,本文就对其进行解析。
一、坐标系描述
在《什么是工业机器人的TCP》一文中已经提出了描述位姿的方法:“要确定一个刚体在空间的位姿,须在物体上固连一个坐标系,然后描述该坐标系的原点位置和它三个轴的姿态,总共需要六个自由度或六条信息来完整地定义该物体的位姿”。那么,如何描述呢?
举例来说,需要定义一个用户坐标系,其数据结构如下:
X 1387.21594 Y -1704.23401 Z 511.231293 A -179.520493 B 0.0518 C -0.4294
二、坐标系变换
那么,这个坐标位于什么位置呢?参考坐标系目前摆放位置如图所示:
1、XYZ 决定新坐标系的原点位置
X 1387.21594 Y -1704.23401 Z 511.231293
新坐标系的原点就是参考坐标系中的位置,如图:
2、ABC决定新坐标系的姿态
A -179.520493 B 0.0518 C -0.4294
规则如下:
- REIS的变换坐标的轴的顺序是 Z -> Y ->X ,即 A -> B -> C (Rz -> Ry -> Rx),并且都是以当前的姿态作为参考(即浮动模式)。
- 以右手法则为准,拇指指向为轴正方向,四指转向为角度正方向。
基于上面规则,顺序如下
- 绕参考坐标系当前的姿态的 Z 轴,旋转-179.520493 度,得到当前姿态1
- 绕当前姿态1的 Y 轴,旋转 0.0518 度,得到当前姿态2
- 绕当前姿态2的 X 轴,旋转 -0.4294 度,得到当前姿态3
- 姿态3就是新坐标系的姿态。DONE
读者可自行验证 《REIS工业机器人坐标系数据类型 – F》一文中的外轴坐标系的变换,结果如下:
_FCALAX[7]
三、扩展阅读
- KUKA工业机器人位姿数据类型 – E6POS
http://davidrobot.com/2015/07/kuka_robot_e6pos.html - ABC 3 point BASE measurement. How does algorithm works – Robotforum Support for Robotprogrammer and Users
http://www.robot-forum.com/robotforum/kuka-robot-forum/abc-3-point-base-measurement-how-does-algorithm-works/msg67183/#msg67183