ROS中的坐标转换TF在描述组成机器人的每个部分、障碍物和外部物体时是最有用的概念之一。这些可以被描述为
位置(position)和方向(direction),统称为姿态(pose)。
位置由x、y、z这3个矢量表示
方向是用四元数(quaternion)x、y、z、w表示。
四元数并不直观,因为它们没有使用我们在日常生活中使用的三元数的角度表达方式:滚动角(roll)、俯仰角(pitch)和偏航角(yaw)。但这种四元数方式不存在滚动、俯仰和偏航矢量的欧拉(Euler)方式具有的万向节死锁(gimballock)问题或速度问题,因此在
机器人工程中人们更喜欢用四元数(quaternion)的形式。因为同样的原因,ROS中也大量使用四元数 。当然,考虑到方便,它也提供将欧拉值转换成四元数的功能。
TF的消息格式如上
Header用于记录转换的时间
child_frame_id的消息来表示下位的坐标
transformTranslation.x / transform.translation.y / transform.translation.z
transform.rotation.x / transform.rotation.y / transform.rotation.z / transform.rotation.w 的
描述对方的位置和方向
阅读(2793) | 评论(0) | 转发(0) |