当前位置:网站首页>ROS2学习笔记(九)-- ROS2命令行操作常用指令总结(二)
ROS2学习笔记(九)-- ROS2命令行操作常用指令总结(二)
2022-04-21 13:55:00 【溪风沐雪】
简介:在第六、七、八章节中介绍了自定义消息(Message)、服务(Service)、动作(Action)的实现过程,另外还介绍了参数的应用,在学习过程中我们穿插了部分命令行操作用来调试或者验证相关功能,这一节详细介绍这些内容相关的命令行操作,通过虚拟仿真环境下已经实现的功能来验证。
消息、服务、动作在ROS2中统一称之为接口(interface),关于接口的命令行操作在第五节中已经有介绍,我们自定义的接口,可以通过ros2 interface list查看,因为我把所有接口都统一到同一个包内,所以也可以通过ros2 interface package命令查看所有创建的接口,或者用ros2 interface show查看接口内容。

除此之外,服务、动作、参数还有独有的操作命令。
1、服务操作工具 ros2 service
1.1 ros2 service list
命令功能:列出域内服务列表,-t可同时列出服务消息类型
命令格式:ros2 service list <-t>

1.2 ros2 service type
命令功能:列出指定服务的数据类型
命令格式:ros2 service type <service_name>

1.3 ros2 service find
命令功能:列出域内使用指定数据类型的服务
命令格式:ros2 service find <type_name>

1.4 ros2 service call
命令功能:通过命令行同步请求服务
命令格式:ros2 servie call <service_name> <type_name> <request_data>
命令示例:$ ros2 service call /change_map_name duckietown_interface/srv/ChangeMap "{map_name: '4way'}"

2、动作操作工具 ros2 action
2.1 ros2 action list
命令功能:列出域内可用动作列表,-t可同时显示动作消息类型
命令格式:ros2 action list <-t>

2.2 ros2 action info
命令功能:查看指定action信息,可以看到服务端和客户端情况
命令格式:ros2 action info <action_name>

2.3 ros2 action send_goal
命令功能:模拟客户端发起动作请求
命令格式:ros2 action send_goal <action_name> <type_name> <goal_data> <--feedback>
命令示例:$ ros2 action send_goal /crossing_acton duckietown_interface/action/Crossing "{speed: 0.2, direction: 'right'}" --feedback

注:--feedback指定是否显示反馈主题信息
3、参数操作工具 ros2 param
3.1 ros2 param list
命令功能:列出域内可用参数列表
命令格式:ros2 param list

3.2 ros2 param get
命令功能:查看指定参数当前的值
命令格式:ros2 param get <node_name> <param_name>

3.3 ros2 param set
命令功能:设置指定参数的值
命令格式:ros2 param set <node_name> <param_name> <new_value>

3.4 ros2 param delete
命令功能:删除参数(一般不用)
命令格式:ros2 param delete <node_name> <param_name>
3.5 ros2 param describe
命令功能:显示有关已声明参数的描述性信息,声明参数时添加描述性信息可查看
命令格式:ros2 param describe <node_name> <param_name>
3.6 ros2 param dump
命令功能:所有当前参数值“转储”到文件中保存以供以后使用
命令格式:ros2 param dump <node_name> --output-dir <保存路径>
命令示例:$ ros2 param dump /line_detect_node --output-dir ~/ros2_ws/src/line_detect/line_detect/
将参数保存到与源码文件相同目录,文件名称与节点名称一致,文件为yaml格式,保存后内容如下:
/line_detect_node:
ros__parameters:
color_select: white
red_h_high: 10
red_h_low: 156
red_s_high: 255
red_s_low: 43
red_v_high: 255
red_v_low: 46
use_sim_time: false
white_h_high: 180
white_h_low: 0
white_s_high: 50
white_s_low: 0
white_v_high: 255
white_v_low: 100
yellow_h_high: 34
yellow_h_low: 26
yellow_s_high: 255
yellow_s_low: 43
yellow_v_high: 255
yellow_v_low: 46
3.7 ros2 param load
命令功能:加载已有参数到节点中
命令格式:ros2 run <package_name><node_name> --ros-args --params-file <file_name>
命令示例:$ ros2 run line_detect line_detect_node --ros-args --params-file src/line_detect/line_detect/line_detect_node.yaml
版权声明
本文为[溪风沐雪]所创,转载请带上原文链接,感谢
https://blog.csdn.net/aibingjin/article/details/124056012
边栏推荐
猜你喜欢

SQL injection vulnerability shooting range - sqli labs learning

初窥 Pytest 测试框架,基础薄弱也能轻松 hold 住

两天两夜,1M图片优化到100kb

腾讯二面:MySQL的半同步是什么?

Take you to play c language scanf and getchar easily

基于word2vec的k-means聚类

原来升职加薪的测试工程师都擅长做接口测试

报错:ModuleNotFoundError: No module named ‘astra‘

2500字,手把手带你初步了解static关键字和指针,结构体

web自动化总卡在文件上传和弹框处理上?
随机推荐
利用 pytest 玩转数据驱动测试框架
无穷小和无穷大
无穷小的比较
C语言每日一题第一天
顺序表例题个人总结
Ceph维护命令了解
Web Course Design - photo recording website (flask)
Derivation rule higher derivative
tcpdump抓包与nmap简单使用
C language branch and loop statements
腾讯二面:MySQL的半同步是什么?
English word memory method based on anki + vocabulary
C语言每日一题——小乐乐改数字(牛客网)
Go 对文件的相关操作整理(持续更新)
Campus network architecture
SQL injection vulnerability shooting range - sqli labs learning
pytorch机器学习之numpy基础
原来升职加薪的测试工程师都擅长做接口测试
应用打包还是测试团队老大难问题?
centos 卸载mysql