服务:服务包含有客户端与服务端,基于主题的呼叫与响应模型。
2025-07-15T15:16:47.png

ros2 service list 后面加上-t会返回所有的服务的类型,

2025-07-15T15:24:05.png

ros2 service type <service_name> 会显示出服务的类型

2025-07-15T15:27:27.png
其中Empty类型表示服务调用在发出请求时不发送任何数据,在接受响应时也不接受任何数据。

ros2 service find <type_name> 可以寻找特定类型的所有服务。

2025-07-15T15:34:24.png

ros2 interface show <type_name>.srv 此命令会返回服务类型的数据结构

2025-07-15T15:39:09.png
---上面为调用服务/spawn的类型turtlesim/srv/Spawn的需要的数据结构
位置:x,y;角度:theta。

ros2 service call <service_name> <service_type> <args> 可以采用此命令调用服务。

2025-07-15T15:55:45.png

ros2 service call /spawn turtlesim/srv/Spawn "{x:2, y:2, theta:0.2, name:''}"


参数:用于节点的配置,

ros2 param list 可以列出节点的所有参数。

2025-07-15T16:37:17.png

ros2 param get <node_name> <parameter_name> 获取参数的类型与当前值。
ros2 param get turtlesim background_b 

2025-07-15T16:40:31.png

ros2 param get <node_name> <parameter_name> <value> 运行中的过程中更改参数的值。
ros2 param get turtlesim background_b 150

2025-07-15T16:43:02.png

ros2 param dump turtlesim 将当前节点的参数保存到当前工作目录下的`./turtlesim.yaml`中,

2025-07-15T16:47:54.png

ros2 param load <node_name> <parameter_file> 将文件加载在节点参数中
ros2 param load turtlesim ./turtlesim.yaml

节点启动时加载参数的命令为:

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
添加`--ros-args`与`--param-file`后面加上要加载的`.yaml`文件。

动作:适用于长时间的任务,由三个部分组成:目标、反馈、结果。基于主题与服务构建,功能类似于服务但可以进行抢占。还能提供稳定的反馈和结果。
2025-07-16T04:52:31.png

ros2 action list -t 会返回所有动作以及其类型。

2025-07-16T04:59:31.png

ros2 action info <action_name> 会返回动作的客户端与服务端。

2025-07-16T05:01:24.png

ros2 interface show <action_type_name> 会返回动作类型的数据结构。

2025-07-16T05:03:48.png
其中---最上面为请求的结构,中间的为结果的结构,最后为反馈的结构。

ros2 action send_goal <action_name> <type_name> <value> 其中value需要采用`yaml`格式,此命令可以通过动作发送目标。

2025-07-16T05:12:57.png

2025-07-16T05:19:47.png
2025-07-16T05:20:13.png
delta为到起始位置的位移,添加--deedback会额外返回反馈,不断反馈之间的差距。
动作通常用于导航。

最后修改:2025 年 07 月 16 日
如果觉得我的文章对你有用,请随意赞赏