ROS-9 ROS常用组件之TF坐标变换

2023-05-16

一、概念

坐标变换简单来说就是归一化,即把测得的其他物体和机器人身上传感器之间的位置信息都换为物体和机器人的原点之间的信息。

根据我们高中学习的知识,只要明确了不同坐标系之间的的相对关系,就可以实现任何坐标点在不同坐标系之间的转换,但是该计算实现是较为常用的,且算法也有点复杂,因此在 ROS 中直接封装了相关的模块: 坐标变换(TF)。TF坐标变换用于在ROS中实现不同坐标系之间的点或向量的转换。

TF坐标变换通过广播TF变换和监听TF变换来实现的

二、查看系统中当前各个坐标系是否连通

rosrun tf view_frames

运行上述指定会在主目录下生成.gv和.pdf2个文件,用来显示当前系统中各个坐标系的连通关系

例如运行ros中的turtle_tf_demo,该例程的中分别定义了三个坐标系:坐标原点,turtle1,turtle2.turtle2会监听turtle1d相对于world的位置变换,进而改变自己的位置。以实时跟随turtle1。

在此之前先安装包:

sudo apt-get install ros-melodic-turtle-tf

运行例程代码如下:

roslaunch turtle_tf turtle_tf_demo.launch

然后运行:rosrun tf view_frames即可查看当前系统中坐标系之间的关系。

 三、实时查询tf树种任意两个坐标系之间的位置关系:

rosrun tf tf_echo 根坐标系 目标坐标系

 例如:我依然是运行turtle_tf_demo.launch例程,接下来运行

rosrun tf tf_echo turtle1 turtle 2

当我键盘控制第一只小海龟移动的时候,第二只海龟和第一只海龟之间的坐标位置关系如下:

 其中Translation是平移,是目标坐标相对于根坐标x,y,z三个方向的平移

rotation是旋转,表示目标坐标系通过怎样的旋转才能到根坐标系。Rotation有三种表示方式

四、通过rviz查看坐标系间的位置关系

运行

rosrun rviz rviz 'rospack find turtle_tf' /rviz/turtle_rviz.rviz

即可看到world,turtle1,turtl2之间做坐标变化的过程 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS-9 ROS常用组件之TF坐标变换 的相关文章

随机推荐

  • brctl使用教程

    使用brctl来操作网桥还是很方便的 xff01 比使用ip命令来操作方便多了 brctl安装 Centos系统 yum install bridge utils Ubuntu系统 Debian系 apt get install bridg
  • IntelliJ IDEA 之 配置JDK 的 4种方式

    一 新建项目前配置JDK 打开idea集成开发环境工具 xff0c 点击File gt Project Structure 如下图 xff1a 在打开的页面中 xff0c 选择SDKs属性 xff0c 并点击中间的加号 43 选择JDK x
  • STM32如何在LCD上显示单词、文字、图片等

    本文将介绍STM32F103R6如何在LCD12864上显示文字图片 注 xff1a 本文中用到的字模软件 xff0c 我放在了文章末尾 xff0c 点击链接即可下载 xff0c 是绿色版软件 xff0c 解压即可使用 xff01 点击下载
  • JAVA之Lambda表达式详解

    文章目录 一 基本概念1 背景2 Lambda表达式的语法3 函数式接口 二 Lambda表达式的基本使用1 无返回值函数式接口2 有返回值函数接口3 语法精简 三 变量捕获1 匿名内部类2 Lambda的变量捕获 四 Lambda在集合当
  • 【CUDA】安装CUDA

    文章目录 1 搜索CUDA xff0c 进入官网2 选择以前的版本3 选择指定的版本4 选择操作系统并下载5 以管理员身份运行安装CUDA6 测试是否安装成功 1 搜索CUDA xff0c 进入官网 2 选择以前的版本 3 选择指定的版本
  • 计算机组成原理---系统总线

    文章目录 1 总线的基本概念2 总线的分类2 1 片内总线2 2 系统总线2 2 1 系统总线的定义2 2 2 按照系统总线传输信息的分类2 2 3 通信总线 3 总线的性能指标3 1 总线标准 4 总线结构4 1 单总线结构4 2 多总线
  • 计算机组成原理---总线带宽的计算

    end
  • QT之窗口背景颜色和图片设置

    设置窗口 窗体的背景图片 第一种 xff1a 定义一个函数 xff0c 使用QPalette和QPixmap 在 h文件定义一个私有的函数声明 xff1a void resizeEvent QpesizeEven event 然后右键跳到定
  • linux/mm/memory.c/put_page

    put page用来完成物理页面与一个线性地址页面的挂接 xff0c 从而将一个 线性地址空间内的页面落实到物理地址空间内 xff0c copy page tables函数 只是为一个进程提供了在线性地址空间的一个页表及1024页内存 xf
  • 解决keil软件*** Error: Project ‘first‘ requires ‘C51‘ Toolchain which is not installed.

    在安装好了 xff08 破解 xff09 后的MDK环境后依然无法编译 xff0c 出现 Error Project first requires C51 Toolchain which is not installed 软件安装 一 介绍
  • 计算机网络:第四章习题

    简答题 amp 计算题 4 03 作为中间设备 xff0c 转发器 网桥 路由器和网关有何区别 xff1f 答 xff1a 转发器 xff1a 它工作在物理层 xff0c 主要起信号的放大整形和延迟传输距离的作用 网桥 xff1a 工作在数
  • 【mysql 5.7】最左原则 & like查询%在前为什么不走索引

    文章目录 1 问题的引入2 非覆盖索引场景下为什么 在前为什么不走索引参考 xff1a 1 问题的引入 在非覆盖索引场景下 xff0c 大家知道Mysql索引有最左原则 xff0c 所以通过 like 39 XX 39 查询的时候一定会造成
  • Bottom-Up and Top-Down

    top down xff1a 在模式识别中使用了上下文信息 xff08 机器的处理方式 xff09 举例 xff1a 当你看到一张字迹潦草难以辨认的手写文本时 xff0c 你可以利用整个文本来辅助你理解其中含义 xff0c 而不是每个字单独
  • 浅层与深层、局部与全局、低级与高级特征的辨析

    浅层网络与深层网络 浅层网络更注重于细节信息 深层网络更注重于语义信息 浅层网络 xff1a 一般感受野较小 xff0c 能够利用更多的细粒度特征信息 xff0c 而且此时特征图每个像素点对应的感受野重叠区域还很小 xff0c 这就保证了网
  • ARM交叉编译工具链安装和使用教程【图文并茂】

    ARM交叉编译工具链安装和使用教程 图文并茂 1 交叉编译安装 2 交叉编译使用 1 交叉编译安装 下载 由于嵌入式板卡的软硬件是定制的 xff0c 因此针对其平台开发的程序所需要的编译器也必须与之相匹配 xff1a GEC6818开发板交
  • 关于Jquery index()方法的文字详细解析

    关于Jquery index xff08 xff09 方法的文字详细解析 此函数返回的是一个元素的索引位置 xff0c 索引位置从零开始 若带参数 xff0c index参数可以直接传入jquery选择器进行元素选择 也可以传入字符串进行元
  • ESP8266

    ESP8266 一 xff0c 物联网介绍 物联网 xff0c 即IOT xff08 internet of things xff09 是用网络将万物互联 xff0c 如将汽车 xff0c 温度计 xff0c 咖啡杯等都可以连接到互联网 x
  • ES8新特性之async函数与await表达式(常见疑惑解答)

    说明 xff1a 在学习了async和await后 xff0c 很多人往往不知道这两个人是干什么的 xff0c 对于这两个重要角色的使用方式和原理都比较模糊 xff0c 下面为大家介绍这两个角色的语法 xff0c 后面附有两个小例子 xff
  • linux/mm/memory.c/do_wp_page and un_wp_page

    void do wp page unsigned long error code unsigned long address if 0 we cannot do this yet the estdio library writes to c
  • ROS-9 ROS常用组件之TF坐标变换

    一 概念 坐标变换简单来说就是归一化 xff0c 即把测得的其他物体和机器人身上传感器之间的位置信息都换为物体和机器人的原点之间的信息 根据我们高中学习的知识 xff0c 只要明确了不同坐标系之间的的相对关系 xff0c 就可以实现任何坐标