ROS 学习应用篇(七)ROS中的坐标变换管理之tf初探


坐标变化是机器人中很重要的内容,但是要是概括下来无非就是旋转和平移矩阵。

 小海龟跟随实验

做的是两个小海龟之间的跟随,其实就相当于视觉设备和本体设备见有一定的位置差在ros平台下tf坐标变化的实验

首先安装海龟tf变换包

新开终端输入

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

我是 ubuntu20.04 所以是noetic其他版本的ubuntu对应的ros版本号去本专栏《ros一键安装(全)》中查看

用launch包启动 ,后面会陆续学到怎么封装launch文件

roslaunch turtle_tf turtle_tf_demo.launch

报错如下:

是因为在其目录中找的是python的编译器,但是ROS安装是安装的是python3.8(这里以noetic)所以他的编译器的名称是python3,而不是python所以在运行的时候就会报错。

解决方案:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

再次输入

roslaunch turtle_tf turtle_tf_demo.launchh

这回能看到两只小海龟了

启动海龟键盘控制节点

rosrun turtlesim turtle_teleop_key

小海龟一直在跟随。

启动tf里面的一个可视化工具

rosrun tf view_frames

报错如下:

错误提示89和119行有问题,按照他提示的路径修改低89行代码如下,这也是Python版本不兼容造成的,因为是python3.8有很多包和库会不一样,需要做出修改,这种时候学会查看错误提示就很重要了。

文件只读所以输入

sudo vim (拖拽文件到终端就会自动输入文件)

回车

点击esc按键

输入:wq

(英文状态下输入)

即可保存并退出

重新输入

rosrun tf view_frames

编译成功的结果如下

 自动保存的frames.pdf在当前目录下。

上面这个图是两个节点与跟坐标系三个坐标系间的关系

那么可以通过一下代码查看两两坐标系间对应的变换

rosrun tf tf_echo turtle1 turtle2

可以看到这张图中有平移矩阵和旋转矩阵。

同理查看世界坐标系word 和海龟1间变换关系的代码如下:

rosrun tf tf_echo turtle1 world

接下里就是rivz的学习段了

rviz 启动

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

% 初步分析这行代码的意思是rviz到搜索turtlr_tf文件下的rviz/turtle_rviz.rviz

打开rviz可视化窗口后

fixed Frame改成world 原来的是map但是我们并没有地图。

添加tf

弹出窗口点击tf→ok

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

某个订单项目记录,涉及MQ消息处理、分布式问题、幂等性等问题解决设计

文章目录 消息队列(Message Queue)什么场景下,使用消息队列?消息队列 概述 RabbitMQ 消息队列RabbitMQ 概念名词 概念RabbitMQ 流程 RabbitMQ 安装RabbitMQ 页面介绍Exchange 交换机类型Spring Boot 整合RabbitMQAmqpAdmin 与 Rab…

git 构建报错

钉钉插件]当前任务未配置机器人,已跳过 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 4: Tool type “maven” does not have an install of “maven-3.8.8” configured - did you mean “Maven-3.8.8”? …

iOS项目集成RN(0)

iOS原有项目集成RN 环境安装RN环境搭建Node & Watchman 安装 创建新应用iOS项目集成RN如果没有iOS项目,新建一个 swift, storyboard项目, 名字:RNTest新建一个 RNDemo目录,一个iOS子目录, 把iOS相关的拷…

系列七、栈 堆

一、概述 栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,线程销毁时销毁,它的生命周期是跟随线程的生命周期,线程结束,栈内存也就释放,对于栈来说不存在垃圾回收,只要线程一结…

Vue|props配置

props是Vue中用于传递数据的属性。通过在子组件的选项中定义props属性,可以指定子组件可以接收的数据以及其他配置选项。父组件可以通过在子组件上使用特定的属性来传递数据。 目录 目录 App.vue 什么是App.vue 组件引用 props配置 组件复用 案例1&#xff1a…

【Unity】文件信息的存储和解析(C#代码)

目录 文件存储 两种文件信息解析方法 文件加密处理 文件解密处理 全部代码 文件存储 一些游戏案例开发过程中的一些数据转换成Json格式&#xff0c;然后存到指定的位置 //3.将对象转化为JsonList<Hokag> hokagList new List<Hokag>(){new Hokag(){Name"…

来听B站音乐UP主从容老师讲解GuitarPro和Earmaster

许久没发文了&#xff0c;最近在B站刷到了一位音乐UP主从容Free&#xff0c;他把自己对GuitarPro和Earmaster这2款软件的使用感受进行了详细分享&#xff0c;还没看过的朋友可以戳下面的链接跳转到小破站看完整的&#xff1a; 我不允许还有人不知道这个学吉他的神器&#xff0…

【EI会议征稿】第九届电气、电子和计算机工程研究国际学术研讨会 (ISAEECE 2024)

第九届电气、电子和计算机工程研究国际学术研讨会 (ISAEECE 2024) 2024 9th International Symposium on Advances in Electrical, Electronics and Computer Engineering 第九届电气、电子和计算机工程研究国际学术研讨会(ISAEECE 2024&#xff09;将于2024年3月1-5日在南…

接口测试自动化测试的总结与思考,超详细的~

服务端接口测试介绍 什么是服务端? 一般所说的服务端是指为用户在 APP 或 PC 使用的互联网功能提供数据服务的背后的一切。以天猫精灵智能音箱系列的产品链路为例&#xff0c;服务端便是网关&#xff08;包括网关在内&#xff09;之后的链路。 什么是接口? 官方点说&#…

这种考勤方式,居然能轻松实现!

随着科技的不断发展&#xff0c;人脸识别技术在各个领域得到了广泛的应用&#xff0c;其中之一就是人脸考勤系统。 传统的考勤方式可能存在一些不便之处&#xff0c;例如卡片丢失、打卡漏报等问题&#xff0c;而三维人脸考勤系统以其高精度、高安全性的特点&#xff0c;逐渐成为…

Unittest框架--自动化

Python中方法的传递 参数化 pip install parameterized -i https://pypi.douban.com/simple需求&#xff1a;验证Tpshop登录 # 断言参数化 import time import unittest from parameterized import parameterized from selenium import webdriver from selenium.webdriver.co…

【开源】基于JAVA的智能停车场管理系统

项目编号&#xff1a; S 005 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S005&#xff0c;文末获取源码。} 项目编号&#xff1a;S005&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容A. 车主端功能B. 停车工作人员功能C. 系…

Docker 容器中的网络优化与 DNS 缓存清理

在使用Docker 18.03.1-ce版本在Ubuntu 18.04 LTS上运行多个Docker容器时&#xff0c;我发现当使用requests库发送请求到某个主机名时&#xff0c;响应速度非常慢。在本例中&#xff0c;每个容器都有自己的CherryPy服务器&#xff0c;并通过requests.get(http://main:8083)或req…

2022CCPC绵阳 ACGHM

Dashboard - 2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite - Codeforces C.Catch You Catch Me 题意 思路 首先注意到贡献可以按深度统计&#xff0c;对于每个深度dep&#xff0c;贡献是在dep深度中属于的子树种类数&#xff0c;如果在该深度中子树存在…

python文件读写练习题--随机出10套试卷

要求就是&#xff1a;10套试卷题目顺序不同&#xff0c;答案顺序不同 import random import os city {河北省:石家庄市,山西省:太原市,辽宁省:沈阳市,吉林省:长春市,黑龙江省:哈尔滨市,江苏省:南京市,浙江省:杭州市,安徽省:合肥市,福建省:福州市,江西省:南昌市}#在当前路径下…

如何深度了解汤泉场所?VR全景给你答案

天气逐步转凉&#xff0c;温泉、水会这些室内汤泉场所开始登上消费的主战场。伴随着人们物质生活水平的提高&#xff0c;人们对休闲养生会馆的要求也愈发旺盛&#xff0c;汤泉场所也逐渐从单一的洗浴开始向休闲、娱乐、保健、桑拿等多种业态形式发展&#xff0c;那么大家如何深…

如何利用SD-WAN优化云时代的网络连接

在多云时代下&#xff0c;企业的网络连接需求面临着诸多挑战和变化。随着企业应用的日益复杂和分散&#xff0c;网络连接也变得更加复杂。企业需要同时连接多个云服务商、数据中心、分支机构和移动用户等&#xff0c;并保证网络连接的稳定性和可靠性。同时&#xff0c;企业对于…

什么是自动化测试

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

大数据的技术运用:探索未来的无限可能性

随着科技的不断进步和社会信息的快速增长&#xff0c;大数据已成为一个热门话题。本文将探讨大数据技术在多个领域的应用&#xff0c;以及它对未来的影响和无限可能性。 导言 在过去的几十年里&#xff0c;大数据技术取得了惊人的发展&#xff0c;它不仅改变了企业的经营方式&a…

2024江苏专转本流程与时间节点

2024江苏专转本考生&#xff0c;提前看一下转本的流程与时间节点&#xff01;适用于江苏三年制、五年一贯制专转本考试&#xff1a; 1. 专转本工作通知&#xff08;2023年12月上旬&#xff09; 若无特殊情况&#xff0c;到12月中旬&#xff0c;江苏省教育厅会发布关于做好2024…