ROS导航中 的位姿描述

在ROSwiki中有urdf文件的写法如下
wiki:Create your own urdf file

...
 <joint name="joint2" type="continuous">
   <parent link="link1"/>
   <child link="link3"/>
   <origin xyz="-2 5 0" rpy="0 0 1.57" />
 </joint>

在ROS中`rpy’对应的分别是绕X,Y,Z轴旋转的角度(弧度单位),xyz对应的是原点坐标。
这跟谭明的《先进机器人控制》定义的RPY角不太一样,书中定义的RPY角分别是在笛卡尔坐标系的基础上先绕Z轴旋转角度 ψ ,再绕新的Y轴旋转角度 θ ,再绕新的X轴旋转角度 φ
所以我认为横滚(roll)、俯仰(pitch)、偏转(yaw)的位姿描述方式侧重的应该是真实环境中的姿态,比如横滚就是实际上的水平翻滚,由于通常我们把飞机机身所在方向定义为X轴、相机机身方向定义为X轴,所以这个横滚就成了绕X轴旋转,如果机身方向被定义为Z轴,那就是绕Z轴旋转了。
参考阅读博客:
理解传说中的roll、yaw、pitch
pitch yaw roll是什么
维基百科:旋转矩阵
在ROSWIKI中我找到了准确的描述:
6.3 static_transform_publisher

static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms

Publish a static coordinate transform to tf using an x/y/z offset in meters and yaw/pitch/roll in radians. (yaw is rotation about Z, pitch is rotation about Y, and roll is rotation about X). The period, in milliseconds, specifies how often to send a transform. 100ms (10hz) is a good value.

static_transform_publisher x y z qx qy qz qw frame_id child_frame_id  period_in_ms

Publish a static coordinate transform to tf using an x/y/z offset in meters and quaternion. The period, in milliseconds, specifies how often to send a transform. 100ms (10hz) is a good value.
static_transform_publisher is designed both as a command-line tool for manual use, as well as for use within roslaunch files for setting static transforms. For example:

<launch>
<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 1 link1_parent link1 100" />
</launch>

你可能感兴趣的:(导航,ROS,机器人,URDF,位姿)