您的位置:首页 > 其它

ROS导航中 的位姿描述

2015-08-06 17:35 309 查看
在ROSwiki中有urdf文件的写法如下

wiki:Create your own urdf file

[code]...
 <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轴旋转角度ψ\psi ,再绕新的Y轴旋转角度θ\theta,再绕新的X轴旋转角度φ \varphi 。

所以我认为横滚(roll)、俯仰(pitch)、偏转(yaw)的位姿描述方式侧重的应该是真实环境中的姿态,比如横滚就是实际上的水平翻滚,由于通常我们把飞机机身所在方向定义为X轴、相机机身方向定义为X轴,所以这个横滚就成了绕X轴旋转,如果机身方向被定义为Z轴,那就是绕Z轴旋转了。

参考阅读博客:

理解传说中的roll、yaw、pitch

pitch yaw roll是什么

维基百科:旋转矩阵

在ROSWIKI中我找到了准确的描述:

6.3 static_transform_publisher

[code]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.

[code]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:

[code]<launch>
<node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="1 0 0 0 0 0 1 link1_parent link1 100" />
</launch>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: