• 17-ROS tf包介绍


    机器人中的坐标变化

    线性代数部分基本知识
    学习机器人导论相关基本原理

    TF(transform)包

    会记录10s范围内机器人所有坐标系之间的位置关系。
    TF实现方式:

    • 广播TF变换
    • 监听TF变换

    TF坐标变换:
    在这里插入图片描述
    海龟追逐示例:

    # 安装必要包
    sudo apt-get install ros-noetic-turtle-tf
    # 启动海龟追逐仿真器  roslaunch可同时启动多节点
    roslaunch turtle_tf turtle_tf_demo.launch
    # 运行键盘控制节点
    rosrun turtlesim turtle_teleop_key
    # 
    rosrun tf view_fames
    

    在节点运行过后,在键盘控制节点控制turtle1运动会发现turtle2会追逐turtle1进行对应的运动
    在这里插入图片描述

    view_frames

    rosrun tf view_frames 
    Listening to /tf for 5.0 seconds
    Done Listening
    b'dot - graphviz version 2.40.1 (20161225.0304)\n'
    Detected dot version 2.40
    frames.pdf generated
    

    view_frames监听5s中的数据,并输出pdf文件。
    在这里插入图片描述

    从这个图来看上述的示例中有3个坐标系,world坐标系以及turtle1和turtle2的坐标系,并且turtle1和turtle2的坐标系已经经过world坐标系建立起了对应的联系。

    tf_echo

    用法
    tf_echo source_frame target_frame [echo_rate]

    tf_echo会查询不同时间点 source_frame坐标系到target_frame坐标系之间的转换关系。

    rosrun tf tf_echo turtle1 turtle2
    At time 1663468743.495
    - Translation: [0.000, 0.000, 0.000]
    - Rotation: in Quaternion [0.000, 0.000, 0.228, 0.974]
                in RPY (radian) [0.000, -0.000, 0.459]
                in RPY (degree) [0.000, -0.000, 26.306]
    At time 1663468936.326
    - Translation: [-2.542, 0.006, 0.000]
    - Rotation: in Quaternion [0.000, 0.000, -0.001, 1.000]
                in RPY (radian) [0.000, 0.000, -0.003]
                in RPY (degree) [0.000, 0.000, -0.171]
    

    Translation:表示平移关系[x,y,z]
    rotation:表示旋转关系 [x,y,z]
    Quaternion:以四元数的形式表示旋转关系
    RPY(radian):以弧度的形式表述旋转关系[x,y,z]
    RPY(degree):以度数的形式表述旋转关系[x,y,z]

    四元数介绍

    rviz

    rviz是一个可视化的显示平台,运行命令如下

    rviz
    

    rviz运行后需要进行一系列配置

    1. 设置全局选项的固定帧为world
      在这里插入图片描述

    2. 添加tf
      在这里插入图片描述

    3. 手动控制节点,即可看到展示效果
      在这里插入图片描述

  • 相关阅读:
    Python——用新字符替换字符串中的旧字符
    探秘数据库中的并行计算技术应用
    提高测试覆盖率的四大步骤
    Kafka 负载均衡在 vivo 的落地实践
    如何解决openal32.dll丢失,有什么办法解决
    shell动态生成.sql文件的方法进阶2
    CompletableFuture异步回调
    ProtoBuf、Grpc、GORM、Go-redis 入门基础
    MySQL数据库的回滚rollback是怎么做到的?
    Fiddler移动端抓包
  • 原文地址:https://blog.csdn.net/no_pao_spite/article/details/127098672