ROS导航中 的位姿描述

news/2025/2/22 10:52:18

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>

http://www.niftyadmin.cn/n/1865984.html

相关文章

ROS的软件包、节点

一、同一个包的文件分布在不同的文件夹中 对于turtle_tf软件包来说他的launch文件存在/opt/ros/hydro/share/turtle_tf/launch中&#xff0c;但是这个包的节点比如turtle_tf_broadcaster.py却存在/opt/ros/hydro/lib/turtle_tf中 二、rosrun找不到可执行文件的问题 新打开电脑…

ROS中的turtlebot包

turtlebot包如果没有安装成功或者文件夹做了改动运行不起来需要重装就需要uninstall turtlebot了&#xff0c;wiki上找到的说法是&#xff1a; If you ever need to uninstall, simple rm -rf /opt/turtlebot will do the trick. 不过这是groovy版本下的卸载 http://wiki.ro…

使用ROS遇到的一些小问题

1、bashrc文件设置的环境变量无效 具体表现为自己在catkin_ws空间创建的包用roscd找不到&#xff0c;直接运行roscore提示说网络配置不正确。 siatubuntu:~$ roscore ... logging to /home/siat/.ros/log/f973aef0-3ff4-11e5-a30c-28d244c5bb27/roslaunch-ubuntu-11487.log C…

ROS的tf包中坐标变换的方法

1、setRotation函数的参数 在坐标变换的时候常有这样的写法&#xff1a; tfTutorialsAdding a frame (C) transform.setOrigin( tf::Vector3(0.0, 2.0, 0.0) ); transform.setRotation( tf::Quaternion(0, 0, 0, 1) ); br.sendTransform(tf::StampedTransform(transform,ros…

Android(客户端)通过socket与QT(服务端)通信

一、概述 在这里我想实现一个跨平台的socket通讯&#xff0c;Android手机作为客户端向Ubuntu的QT平台上的服务端发送一个字符命令&#xff0c;由于是只发送一个字符&#xff0c;这里我尽可能简化socket通讯的过程以供后人参考。 文中贴上主要代码&#xff0c;末尾会给出完整源…

Ubuntu遇到的问题

1、gfxboot.c32:not a COM32R image ltraISO刻录完Ubuntu15.04后&#xff0c;从U盘启动的时候出现了gfxboot.c32:not a COM32R image的问题&#xff0c;经过研究发现按下Tab键&#xff0c;会出现live live-install check memtest hd mainmenu help.输入live后会进入试用界面&a…

Ubuntu下sublime text3的安装+破解+汉化+中文输入

一、前言 Sublime Text是一个程序员很常用的轻量化编辑器&#xff0c;配置好后可以直接编译运行C/C,Java,Python等代码。我在此记录一下它的安装过程&#xff0c;方便以后查看。 注&#xff1a;破解、汉化、中文输入的步骤没有先后顺序 所有要用到的文件&#xff08;安装包、…

Ubuntu安装Kinect驱动(openni、NITE、Sensor)及遇到的问题

一、前言 先说一下博主的运行环境&#xff1a; Ubuntu kylin14.04 kinect第一代 另外还要注意的是openni、Sensor、NITE这三个包的版本必须匹配才能正常运行&#xff0c;我的版本分别是&#xff1a; OpenNI-Bin-Dev-Linux-x64-v1.5.7.10.tar NITE-Bin-Linux-x64-v1.5.2.2…