543|0

15

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ROS2智能机器人开发实践-阅读分享6-ros2常用工具分享 [复制链接]

 

ROS2智能机器人开发实践-阅读分享6-ros2常用工具分享

launch多节点启动和脚本配置

我们在启动节点时通常会想要一起启动多个节点时我们就可以使用launch工具:
ros2 launch learning_launch simple.launch.py
具体的代码如图所示,package是功能包的名字,executable是可执行文件的名字,除了需要编写launch.py文件,我们还需要把这个文件拷贝到install里面,这需要在setup.py里面实现。
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
(os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*.launch.py'))),
(os.path.join('share', package_name, 'config'), glob(os.path.join('config', '*.*'))),
(os.path.join('share', package_name, 'rviz'), glob(os.path.join('rviz', '*.*'))),
],
以上就是launch的使用方法,当然具体的细节大家可以自己查看代码理解。

tf机器人坐标管理系统

我们需要先下载tf的功能包:
sudo apt install ros-jazzy-turtle-tf2-py ros-jazzy-tf2-tools
#这里我的版本是foxy那么就将jazzy换成foxy
sudo pip3 install transforms3d
安装完成后
ros2 launch turtle_tf2_py turtle_tf2_demo.launch.py
ros2 run turtlesim turtle_teleop_key
然后我们可以查看tf树:
ros2 run tf2_tools view_frames
这里要注意啦,由于不同版本的执行文件的名字不同,如果无法执行可以尝试:
发现我的版本的名字果然不一样需要添加.py
然后打开这个pdf可以看见这个tf关系了。
当然这个很不直观我们可以使用rviz2来可视化:如图
以上我们了解了tf,然后我们来学习如何使用(发布接收tf),tf分为静态和动态,顾名思义,静态的一般发布后不再改变,动态需要实时更新。
可能会运行不成功,如果你发现你的static_tf_broadcaster里面的import tf_transformations 报错那么你需要再执行:sudo apt-get install ros-<ros_distro>-tf-transformations 里面的ros_distro是你的版本
ros2 run learning_tf static_tf_broadcaster
ros2 run tf2_tools view_frames
动态广播和静态及其类似,这里的动态广播是在启动小乌龟后,获得小乌龟的pose话题然后发出tf话题。
ros2 run turtlesim turtlesim_node
ros2 run learning_tf turtle_tf_broadcaster --ros-args -p turtlename:=turtle1
ros2 run tf2_tools view_frames
最后我们来看一下tf监听的代码
ros2 run turtlesim turtlesim_node
ros2 run learning_tf turtle_tf_broadcaster --ros-args -p turtlename:=turtle1
ros2 run learning_tf tf_listener --ros-args -p target_frame:=turtle1
ros2 run turtlesim turtle_teleop_key
随后我们操控键盘就可以看见tf在变化了,具体的代码大家可以自己看,其实不难理解,主要是一些消息接口大家可能有点迷糊可以使用ros2 interface show来查看。

gazebo:机器人仿真平台

gazebo分为两大版本类似于ros和ros2,gazebo classic是旧的版本(之前看鱼香ros的教程教的就是旧版本),于此对应的有gazebo sim 新版本。不同的ros2和gazebo版本有关,大家要自行选择啊,别安装了错误版本,但是gazebo官网有下载教程,网址如下:
·
对于我个人的foxy版本对应的版本的安装代码(不用复制我的,前往官网复制):
sudo apt-get update
sudo apt-get install curl lsb-release gnupg
sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-harmonic
 
然后启动 ign gazebo
这个版本的ign gazebo取代了gz sim大家要注意,其他的倒没有什么关系。

rviz2 和rqt

这两个的使用大家后续用到再说吧,可以自己搜说一下如何下载,都是我们最为常用的工具。
以上就是关于本书的第六次分享,分享内容多为书本内容,本人在此由于篇幅有限只是介绍核心内容,本文我介绍了一些ros2常用工具,当然我介绍的并不详细,但是大家至少都知道了我们的主要的使用工具,在后续的ros2开发中同学们可以边开发边学习,后续我们会结合书本和rdkx3开发板尽可能以实物为主来给大家介绍(仿真实际上起到的作用有限,限于篇幅作用,我会优先结合实物进行分析)!!!呜呜呜,看书累死了。。。。。

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
立即报名 | 2025 瑞萨电子工业以太网技术日即将开启!
3月-4月 深圳、广州、北京、苏州、西安、上海 走进全国6城
2025瑞萨电子工业以太网技术巡回沙龙聚焦工业4.0核心需求,为工程师与企业决策者提供实时通信技术最佳解决方案。
预报从速,好礼等您拿~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表