ros入门八---TF坐标转换
1. TF 简介
TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。注意区分坐标转换和坐标系转换。坐标转换是一个坐标在不同坐标系下的表示,而坐标系转换不同坐标系的相对位姿关系。
frame_id:表明发布的数据是来自哪一个坐标系的。
2. ROS常用坐标系
(1) base_link
以机器人中心为原点的坐标系,称为base_link坐标系。
base_link的x轴指向机器人前方,y轴为指向小车左方,z轴为指向小车上方。
(2) odom
在一般使用中odom坐标系是通过里程计信息计算出来的。比如轮子的编码器,视觉里程计算法或者陀螺仪和加速度计。odom是一个比较差的长期大范围坐标,但却是一个短期的局域的精确坐标系。
(3) map
一般来说map坐标系的坐标是通过传感器的信息不断的计算更新而来。比如激光雷达,视觉定位等等。因此能够有效的减少累积误差,但是也导致每次坐标更新可能会产生跳跃。
map坐标系下的坐标并不需要保证连续性。map坐标系是一个很有用的长期全局坐标系,但是由于坐标会跳跃改变,这是一个比较差的局部坐标系(不适合用于避障和局部操作)。
(4) 坐标关系
earth ------> map ------ > odom ------> base_link
base_link 里程计等计算的信息 -> odom 矫正(amcl)-> map坐标系
参考链接:ROS2 中常用坐标系 ROS坐标系之间的关系
3. tf命令行工具:
view_frames:可视化坐标变换的完整树。
tf_monitor:监视帧之间的转换。
tf_echo:将指定的变换打印到屏幕上
roswtf : 使用tfwtf插件,分析当前的 tf 配置并尝试找出常见问题
static_transform_publisher是一个用于发送静态转换的命令行工具。
static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms
使用以米为单位的 x/y/z 偏移和以弧度为单位的偏航/俯仰/滚动将静态坐标变换发布到 tf。(yaw 是围绕 Z 的旋转,pitch 是围绕 Y 的旋转,roll 是围绕 X 的旋转)。period_in_ms 周期(以毫秒为单位)指定发送转换的频率。100ms (10hz) 是一个不错的值。
例如:
<node pkg="tf" type="static_transform_publisher" name="base_footprint_to_laser"
args="-0.175 0.0 0.390 0.0 0.0 0.0 $(arg base_frame) $(arg lidar_frame) 100">
</node>
tf 坐标转换 (x: -0.175m, y: 0.0m, z: 0.390m, yaw:0.0, roll:0, pitch:0)
static_transform_publisher x y z qx qy qz qw frame_id child_frame_id period_in_ms
使用以米和四元数为单位的 x/y/z 偏移将静态坐标变换发布到 tf。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgabgcb
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24