ros tf

欢迎访问我的博客首页。


tf

  • 1. tf 命令行工具
    • 1.1 发布 tf
    • 1.2 查看 tf
  • 2.参考

1. tf 命令行工具


1.1 发布 tf


  我们根据 cartographer_ros 的 launch 文件 backpack_2d.launch 写一个 tf.launch,并使用命令 roslaunch cartographer_ros tf.launch 启动。该 launch 文件运行 ros 系统包 robot_state_publisher 中的同名节点 robot_state_publisher,根据 backpack_2d.urdf 文件发布机器人各坐标系到 base_link 的变换。

<launch><param name="robot_description" textfile="$(find cartographer_ros)/urdf/backpack_2d.urdf" /><node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
</launch>

1.2 查看 tf


  使用 rosrun tf view_frames 查看广播的坐标系关系。该命令会在命令行目录生成一个 frames.pdf。

在这里插入图片描述

图 1.1 广播中的坐标变换关系

上面的命令可能会报错。需要把 /opt/ros/noetic/lib/tf/view_frames 中的 m = r.search(vstr) 修改为 m = r.search(str(vstr))。

Listening to /tf for 5.0 seconds
Done Listening
b'dot - graphviz version 2.43.0 (0)\n'
Traceback (most recent call last):File "/opt/ros/noetic/lib/tf/view_frames", line 119, in <module>generate(dot_graph)File "/opt/ros/noetic/lib/tf/view_frames", line 89, in generatem = r.search(vstr)
TypeError: cannot use a string pattern on a bytes-like object

  使用命令 rosrun tf tf_monitor 查看广播的坐标关系。

RESULTS: for all FramesFrames:
Frame: horizontal_laser_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: imu_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0
Frame: vertical_laser_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0All Broadcasters:
Node: unknown_publisher(static) 1e+08 Hz, Average Delay: 0 Max Delay: 0

  使用 rosrun tf tf_monitor /imu_link /base_link 查看两个坐标系的关系。

Waiting for transform chain to become available between imu_link and base_link RESULTS: for imu_link to base_link
Chain is: imu_link -> base_link
Net delay     avg = 3.2183e+08: max = 1.69142e+09Frames:
Frame: imu_link published by unknown_publisher(static) Average Delay: 0 Max Delay: 0All Broadcasters:
Node: unknown_publisher(static) 1e+08 Hz, Average Delay: 0 Max Delay: 0

  使用 rosrun tf tf_echo /imu_link /base_link 查看两个坐标系的变换。

At time 0.000
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.000, 1.000]in RPY (radian) [0.000, -0.000, 0.000]in RPY (degree) [0.000, -0.000, 0.000]

2.参考


1.ROS tf,CSDN,2022。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/57111.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解JavaSpring

什么是Spring&#xff1f; Spring开发方向&#xff1a;分布式&#xff0c;微服务&#xff0c;网站 Spring技术&#xff08;全家桶&#xff09;&#xff1a;Spring Framework、Spring boot、Spring Cloud Spring Framework&#xff08;4.x&#xff09; 是spring体系中最基础…

powerdesigner各种字体设置;preview字体设置;sql字体设置

1.设置左侧菜单&#xff1a; 步骤如下&#xff1a; tools —> general options —> fonts —> defalut UI font ,选择字体样式及大小即可&#xff0c;同下图。 2.设置preview字体大小&#xff08;sql预览&#xff09; 步骤如下&#xff1a; tools —> general o…

选读SQL经典实例笔记19_Any和All

1. Any 1.1. 任意一个 1.2. 选修了任意一门课程的学生 1.2.1. 找出选修了至少一门课程的学生 1.3. 比任何火车都快的飞机 1.3.1. 找出比所有火车都快的飞机 2. All 2.1. 全部 2.2. 吃所有蔬菜的人 2.2.1. 没有任何一种蔬菜他们不吃 3. 问题12 3.1. 选修了全部课程的…

DARPA TC-engagement5数据集解析为json格式输出到本地

关于这个数据集的一些基本信息就不赘述了&#xff0c;参考我之前的博客。DARPA TC-engagement5数据集官方工具可视化 官方给的工具是将解析的数据存到elasticsearch的&#xff0c;但是数据集的解压增长率非常恐怖&#xff0c;对空间要求很高。因此针对这个问题&#xff0c;我对…

FreeRTOS源码分析-10 互斥信号量

目录 1 事件标志组概念及其应用 1.1 事件标志组定义 1.2 FreeRTOS事件标志组介绍 1.3 FreeRTOS事件标志组工作原理 2 事件标志组应用 2.1 功能需求 2.2 API 2.3 功能实现 3 事件标志组原理 3.1 事件标志组控制块 3.2 事件标志组获取标志位 3.3 等待事件标志触发 3.4…

如何离线安装ModHeader - Modify HTTP headers Chrome插件?

如何离线安装ModHeader - Modify HTTP headers Chrome插件&#xff1f; 1.1 前言1.2 打开Chrome浏览器的开发者模式1.3 下载并解压打包好的插件1.4 解压下载好的压缩包1.5 加载插件1.6 如何使用插件? 1.1 前言 ModHeader 是一个非常好用的Chrome浏览器插件&#xff0c;可以用…

SQL 数据科学:了解和利用联接

推荐&#xff1a;使用 NSDT场景编辑器助你快速搭建可编辑的3D应用场景 什么是 SQL 中的连接&#xff1f; SQL 联接允许您基于公共列合并来自多个数据库表的数据。这样&#xff0c;您就可以将信息合并在一起&#xff0c;并在相关数据集之间创建有意义的连接。 SQL 中的连接类型…

Java中常用的API概览及示例解析

文章目录 1. java.lang包1.1 String类1.2 StringBuilder类 2. java.util包2.1 ArrayList类2.2 HashMap类 3. java.io包3.1 File类3.2 FileInputStream和FileOutputStream类 Java作为一门广泛应用于软件开发的编程语言&#xff0c;拥有丰富的类库和API&#xff08;Application P…

PHP实践:用openssl打造安全可靠的API签名验证系统

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…

docker创建镜像并上传云端服务器

docker创建镜像并上传云端服务器 docker容器与镜像的关系1.基本镜像相关文件创建1.1 创建dockerfile文件1.2.创建do.sh文件1.3 创建upload_server_api.py文件1.4 创建upload_server_webui.py文件1.5 文件保存位置 2. 创建镜像操作2.1 创建镜像2.3 创建容器2.2 进入环境容器2.3 …

C++、python双语言弹窗教程与对比

Messagebox弹窗 MessageBox指的是显示一个模态对话框&#xff0c;其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息&#xff0c;如状态或错误的信息。消息框中返回一个整数值&#xff0c;该值指示用户单击了哪个按钮。 例子&#xff1a; 本文介绍了用C、Pytho…

【CSS】旋转中的视差效果

效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"/><meta name"viewport" content"widthdevice-…