0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ROS中的TF该如何使用

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-22 17:24 次阅读

TF命令行操作

ROS中的TF该如何使用呢?我们先通过两只小海龟的示例,了解下基于坐标系的一种机器人跟随算法

小海龟跟随例程

这个示例需要我们先安装相应的功能包,然后就可以通过一个launch文件启动,之后我们可以控制其中的一只小海龟,另外一只小海龟会自动跟随运动。

** sudo apt install ros-humble-turtle-tf2-py ros-humble-tf2-tools** sudo pip3 install transforms3d

具体运行的效果如何?我们来试一试。

** ros2 launch turtle_tf2_py turtle_tf2_demo.launch.py** ros2 run turtlesim turtle_teleop_key

当我们控制一只海龟运动时,另外一只海龟也会跟随运动。

查看TF树

在当前运行的两只海龟中,有哪些坐标系呢,我们可以通过这个小工具来做查看。

$ ros2 run tf2_tools view_frames

默认在当前终端路径下生成了一个frames.pdf文件,打开之后,就可以看到系统中各个坐标系的关系了。

图片

查询坐标变换信息

只看到坐标系的结构还不行,如果我们想要知道某两个坐标系之间的具体关系,可以通过tf2_echo这个工具查看:

$ ros2 run tf2_ros tf2_echo turtle2 turtle1

运行成功后,终端中就会循环打印坐标系的变换数值了,由平移和旋转两个部分组成,还有旋转矩阵。

图片

坐标系可视化

看数值还不直观?可以试试用可视化软件来做显示:

** ros2 run rviz2 rviz2 -d **(ros2 pkg prefix --share turtle_tf2_py)/rviz/turtle_rviz.rviz

再让小海龟动起来,Rviz中的坐标轴就会开始运动,这样是不是更加直观了呢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    211

    文章

    28632

    浏览量

    208186
  • 控制
    +关注

    关注

    4

    文章

    1014

    浏览量

    122738
  • ROS
    ROS
    +关注

    关注

    1

    文章

    280

    浏览量

    17062
收藏 人收藏

    评论

    相关推荐

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    ROS与RPLIDAR结合使用说明及问题汇总

    的ROSpackage rplidar_ros介绍:rplidar_ros是国内第一款面向全球ROS开发者推出相应package的激光雷达,其低廉的价格大大推动了激光雷达在ROS
    发表于 09-07 16:27

    ROSTF坐标变换如何实现

    TF功能包能干什么?TF坐标变换如何实现?
    发表于 02-14 06:29

    怎样去使用ROS的launch启动文件呢

    怎样去使用ROS的launch启动文件呢?ROS的launch启动文件怎样去使用呢?
    发表于 02-14 07:23

    ROS服务数据怎样去使用呢

    ROS服务数据是怎样去定义的?ROS服务数据怎样去使用呢?
    发表于 02-14 06:20

    如何低成本搭建ARM+ROS的硬件载体?

    ,所以需要调整HDG2L-IoT的启动参数,将启动参数改为引导到TF空间中。市面上常见的树莓派部署ROS方案也是如此操作。2. 方案准备首先,需要用到的硬件如下所示。3. TF卡挂载Ubuntu固件修改
    发表于 10-13 12:02

    搭建ARM+ROS的硬件载体之ROS部署前的筹备工作及步骤分解

    的Ubuntu系统大概占用3.1G空间,剩余3.2G空间,在构建docker+ROS环境时可能会报eMMC空间不足的错误,所以需要调整HDG2L-IoT的启动参数,将启动参数改为引导到TF空间中。市面上
    发表于 03-09 14:11

    ros小车激光雷达

    usb数据线,杜邦线啥的了。2|0 环境:ubuntu16.04 + ros kinetic部分参考代码#include #include #include
    发表于 12-16 16:51 13次下载
    <b class='flag-5'>ros</b>小车激光雷达

    ROSXMLRPC是什么

    XMLRPC是什么? 关于ROS节点建立连接的技术细节,官方文档说的非常简单,在这里ROS Technical Overview。没有基础的同学看这个介绍必然还是不懂。 在ROS,节
    的头像 发表于 09-14 17:40 1036次阅读

    ROSMessage队列介绍

    Message的队列 在ROS中有一些复杂的消息可以包含其他的消息,并形成消息数组。 例如在exampleHelperROSCreateSampleNetwork例子,变量
    的头像 发表于 11-15 15:39 622次阅读
    <b class='flag-5'>ROS</b><b class='flag-5'>中</b>Message队列介绍

    如何初始化ROS并创立链接

    的主题(如/odometry)来发送消息。其他组件通过订阅主题来接收消息。本文内容基于慕羽★大佬文章进行了增删。 同时由于Simulink的使用在ROS1和ROS2没有太多的改动,
    的头像 发表于 11-15 17:26 536次阅读
    如何初始化<b class='flag-5'>ROS</b>并创立链接

    如何对机器人静态TF广播进行管理

    机器人系统也很常见,比如激光雷达和机器人底盘之间的位置关系,安装好之后基本不会变化。 在TF,这种情况也称之为静态TF变换,我们来看看在程序
    的头像 发表于 11-22 17:31 609次阅读
    如何对机器人静态<b class='flag-5'>TF</b>广播进行管理

    ros的基本概念是什么

    基本概念: ROS是一个用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS
    的头像 发表于 11-27 11:21 1874次阅读

    ROS2自带例程测试

    的一个例程。 和刚才一样打开两个终端,这里我们需要source一下ROS里的环境变量。 环境变量我们刚才已经设置了过软连接,所以配置过程它也会配置ROS2的功能包路径。 在终端1输
    的头像 发表于 11-28 16:29 1023次阅读
    <b class='flag-5'>ROS</b>2<b class='flag-5'>中</b>自带例程测试

    在TogetherROS如何安装ROS2功能包

    安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还是会复用ROS2
    的头像 发表于 12-01 16:02 1055次阅读
    在TogetherROS<b class='flag-5'>中</b>如何安装<b class='flag-5'>ROS</b>2功能包