ROS2学习笔记(一) 基本概念

1. Node 节点

节点: 完成具体功能的模块
在这里插入图片描述

相关命令

#运行命令
ros2 run <package_name> <executable_name>

#当前节点查询查询
ros2 node list

#重映射 Remapping
ros2 run <package_name> <executable_name> --ros-args --remap __node:=<node_name>

#节点信息查询
ros2 node info <node_name>

2. Topic 话题

在这里插入图片描述

一个节点可以通过多个话题向外发布数据,也可以同时订阅多个其他节点发布的话题,相当于话题是一个多对多的订阅/发布模型。
在这里插入图片描述

rqt_graph工具可用于可视化node和topic之间的连接关系

#话题查询
ros2 topic list

#查看话题完整信息
ros2 topic list -t

#查看话题数据内容
ros2 topic echo <topic_name>

#topic详细信息查询
ros2 topic info <topic_name>

#查询消息类型数据结构
ros2 interface show <msg_type>

#命令行发布消息
ros2 topic pub <topic_name> <msg_type> '<args>'

#话题发布频率查询
ros2 topic hz <topic_name>

3. Service 服务

基于客户端/服务器模型的通信机制,服务器端只在接收到客户端请求时才会提供反馈数据。
在这里插入图片描述
在这里插入图片描述

#查看已开启的service,添加 -t 参数可查看完整信息
ros2 service list


#查看service服务类型
ros2 service type <service_name>

#查找提供某类型数据的所有服务
ros2 service find <type_name>

#查看服务数据类型的具体结构
ros2 interface show <type_name>.srv

#通过终端发送服务请求
ros2 service call <service_name> <service_type> <arguments>

4. Parameter 参数

配置节点功能,可以用整型数、浮点数、布尔型数、字符串和列表来描述

#查看系统中的参数列表
ros2 param list

#获取参数值
ros2 param get <node_name> <parameter_name>

#参数值设置
ros2 param set <node_name> <parameter_name> <value>

#保存参数
ros2 param dump <node_name>

#加载参数文件
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

5. Action 动作

由底层的三个话题和服务组成:一个任务目标(Goal,服务),一个执行结果(Result,服务),周期数据反馈(Feedback,话题)
具有可抢占的特性
action是一个客户端/服务器的通信模型,客户端发送一个任务目标,服务器端根据收到的目标执行并周期反馈状态,执行完成后反馈一个执行结果。
在这里插入图片描述

#action查看
ros2 node info <node_name>
ros2 action list

#查看详细数据类型
ros2 action list -t

#查看action的信息
ros2 action info <action_name>

#查看action数据类型
ros2 interface show turtlesim/action/RotateAbsolute.action

#命令行发送action目标
ros2 action send_goal <action_name> <action_type> <values>

相关推荐

  1. ROS2学习笔记二:开发准备

    2024-04-21 00:44:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 00:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 00:44:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 00:44:01       82 阅读
  4. Python语言-面向对象

    2024-04-21 00:44:01       91 阅读

热门阅读

  1. WPF: XAML语法规范详解

    2024-04-21 00:44:01       37 阅读
  2. 缓存之SpringCache整合redis

    2024-04-21 00:44:01       38 阅读
  3. 国内外大模型最全合集

    2024-04-21 00:44:01       155 阅读
  4. VTK----VTK数据结构详解(几何篇)

    2024-04-21 00:44:01       30 阅读
  5. Vue2 基础四前后端交互

    2024-04-21 00:44:01       28 阅读
  6. Apache Storm详细配置

    2024-04-21 00:44:01       36 阅读
  7. Destroy销毁速度慢导致的错误

    2024-04-21 00:44:01       25 阅读
  8. MySQL查询优化(学习)

    2024-04-21 00:44:01       37 阅读
  9. [蓝桥杯 2023 省 A] 更小的数(dp基础应用)

    2024-04-21 00:44:01       31 阅读