ros2小白学习之路——通信机制

ROS中的通信主要包括话题通信和服务通信。话题通信涉及发送方和接收方,发送方需创建发布者,组织并发布数据;接收方需创建订阅者,编写回调函数处理数据。服务通信包括服务端和客户端,服务端定义回调函数处理请求并响应,客户端组织请求并处理响应。整个过程中涉及到msg和srv文件的定义,以及CMakeLists的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.话题通信

发送方
  • 要执行的文件内容
  1. 包含头文件
  2. 初始化节点
  3. 实例化ros句柄
  4. 实例化 发布者 对象
  5. 组织被发布的数据,并编写逻辑发布数据
  • 步骤
  1. 编写完执行的文件
  2. 如果是python,需要添加可执行权限(终端下进入 scripts 执行:chmod +x *.py)
  3. 修改CMakeLists(c++:add_executable(文件映射的名称 src/文件名);target_link_libraries(文件映射的名称  ${catkin_LINRARIES});python:catkin_install_python())
  4. 编译一下看能否通过
  5. roscore
  6. source ./devel/setup.bash
  7. rosrun 文件包 文件
接收方
  • 要执行的文件内容
  1. 包含头文件
  2. 编写回调函数
  3. 初始化节点
  4. 实例化ros句柄
  5. 实例化 订阅者 对象
  6. 编写接收数据和处理回调函数(spin)
  • 步骤
  1. 编写完执行的文件
  2. 如果是python,需要添加可执行权限(终端下进入 scripts 执行:chmod +x *.py)
  3. 修改CMakeLists
  4. 编译一下看能否通过
  5. roscore
  6. source ./devel/setup.bash
  7. rosrun 文件包 文件
  8. </
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值