当前位置: 首页 > news >正文

《ROS1学习笔记10——坐标管理系统》

文章目录

  • 1、机器人坐标变换
  • 2、TF功能包
  • 3、TF工具
    • 3.1、安装工具包
    • 3.2、运行脚本
    • 3.3、生成TF 树的框架图
    • 3.4、打印坐标系变换关系
    • 3.5、可视化工具

1、机器人坐标变换

2、TF功能包

1、TF功能包能干什么?

  • 五秒钟之前,机器人头部坐标相对于全局坐标系的关系是什么样的?
  • 机器人夹取的物体相对于机器人中心坐标系的位置在哪?
  • 机器人中心坐标系相对于全局坐标系的位置在哪?

2、TF坐标变换如何实现

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

3、TF工具

3.1、安装工具包

首先输入下列命令安装工具包,我这里之前安装过了,蓑衣提示为是最新版本。

sudo apt-get install ros-noetic-turtle-tf2

3.2、运行脚本

在ros包中提供了一个关于TF演示的脚本

我们这里输入

roslaunch turtle_tf2 turtle_tf2_demo.launch

就会出现两个海龟跟随的画面

(我最开始运行该脚本时,报了下面的错误:

Use arrow keys to move the turtle. ‘q’ to quit.
process[turtle2_tf_broadcaster-5]: started with pid [7483]
/usr/bin/env: “python”: 没有那个文件或目录 /usr/bin/env: “python”: 没有那个文件或目录
process[turtle_pointer-6]: started with pid [7486]
[turtle1_tf_broadcaster-4] process has died [pid 7478, exit code 127,
cmd /opt/ros/noetic/lib/turtle_tf/turtle_tf_broadcaster.py
__name:=turtle1_tf_broadcaster __log:=/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle1_tf_broadcaster-4.log].
log file:
/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle1_tf_broadcaster-4*.log
[turtle2_tf_broadcaster-5] process has died [pid 7483, exit code 127,
cmd /opt/ros/noetic/lib/turtle_tf/turtle_tf_broadcaster.py
__name:=turtle2_tf_broadcaster __log:=/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle2_tf_broadcaster-5.log].
log file:
/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle2_tf_broadcaster-5*.log
[turtle_pointer-6] process has died [pid 7486, exit code 127, cmd
/opt/ros/noetic/lib/turtle_tf/turtle_tf_listener.py
__name:=turtle_pointer __log:=/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle_pointer-6.log].
log file:
/home/yang/.ros/log/aa10d01c-b3ad-11f0-a144-77641f2868bc/turtle_pointer-6*.log

然后询问AI:ROS 某些 Python 脚本的第一行通常是 #!/usr/bin/env python,它会寻找系统中的 python 命令。但现代 Linux 系统默认可能只安装 Python 3(命令为 python3),没有 python 这个命令,导致脚本无法执行。
解决方法:
sudo ln -s /usr/bin/python3 /usr/bin/python

继续回到这个脚本,当你鼠标放在终端上,控制上下左右键可以控制一只海龟进行移动,并且零一只海龟会跟随,这里就是用到了TF坐标。

3.3、生成TF 树的框架图

打开一个新的终端,输入

rosrun tf view_frames

监听5s钟,把5s内所有坐标关系都保存下来
并输出一个pdf,默认保存在终端目录下

打开frames.pdf

world时全局坐标系
turtle1和turtle2是两个海龟的坐标系

3.4、打印坐标系变换关系

rosrun tf tf_echo turtle1 turtle2

Translation(平移):turtle2 原点相对于 turtle1 原点的位置,单位为米(m)。格式:[x, y, z],分别对应 x 轴、y 轴、z 轴方向的偏移。
Rotation(旋转):turtle2 坐标系相对于 turtle1 坐标系的姿态,有三种表示方式:
Quaternion(四元数):[x, y, z, w],ROS 中默认的旋转表示方式,避免万向锁问题。
RPY(欧拉角):分别对应 Roll(横滚)、Pitch(俯仰)、Yaw(偏航),分为弧度(radian)和角度(degree)两种单位。

3.5、可视化工具

rosrun rviz rviz-d rospack find turtle_tf/rviz/turtle_rviz.rviz

进入可视化页面工具后,按以下操作新建一个TF坐标系

此时,再把鼠标放到刚运行脚本的终端上,移动小海龟,你会发现页面里的坐标图标也在移动,黄线的左边两个坐标系代表两个海龟,黄线右边的处在地图中间的是world坐标。

http://www.jsqmd.com/news/1366487/

相关文章:

  • 3步上手melonDS-android:在Android手机重温NDS经典游戏
  • 异地工作党看这里!襄汾县人才市场档案存放如何办理?一文全说清! - 信息快递
  • DirectX修复工具原理与实战指南
  • 免费畅玩Switch游戏:yuzu模拟器完整配置与性能优化指南
  • 如何用3步实现酷狗无损音乐提取:从加密限制到自由下载的完整方案
  • iOS激活锁终极绕过方案:5分钟解锁iPhone 6s-X的完整指南
  • 如何用5分钟免费解锁全网无损音乐:洛雪音乐音源终极配置指南
  • 矩阵单词搜索算法:DFS回溯与优化策略
  • 终极解决方案:OpenArk内核模式加载失败问题完全指南
  • 高端移动设备与AI边缘计算中的K4FHE3S4HA-KHCL:24GB LPDDR4应用案例解析
  • 戴森球计划工厂蓝图完全指南:10个技巧让你从新手变专家
  • GEO 能解决企业内容产出效率低问题吗
  • 如何将旧电脑变成高性能游戏串流服务器:Sunshine完整指南
  • PureLive:如何用Flutter构建跨平台直播聚合应用的技术架构解析
  • 同城整理,常德市区出院接送非急救救护车租赁,转运安全保障细则全解读 - 品牌品鉴馆
  • 从零搭建AI编程工作流:Codex平台核心概念与实战指南
  • 2026 四川考公机构推荐:粉笔技术赛道占优,中公华图金标尺各有不足 - 资讯报道
  • Blender四边形重构终极指南:QRemeshify一键将三角网格转为专业级四边形拓扑
  • 终极指南:使用yuzu模拟器在PC上畅玩Switch游戏
  • OpenAI Codex安全审查:AI驱动的GitHub PR代码安全左移实践
  • 猫抓浏览器扩展终极指南:5步掌握网页视频音频下载的完整方案
  • WebPShop插件架构解析:为Photoshop提供企业级WebP格式支持解决方案
  • 2023年后端开发薪资趋势与技术栈深度解析
  • AI Agent、具身智能与世界模型:三大趋势重塑人工智能未来
  • AI工具企业付费指南:主流付款方式优劣势解析
  • MCExtractor:高效解决CPU微码分析与管理的技术方案
  • 【潍坊市防水补漏靠谱公司推荐(2026 年 8 月新版)检测维修售后完善】 - 宅仕达
  • SpringBoot集成JPA实战:高效ORM开发与性能优化
  • kubeode可视化工具:30分钟快速部署K8s集群
  • 廊坊整装避坑指南:如何辨别真自有工人,还是转包套路 - 全域观察站