ROS学习笔记---自定义消息类型

学习目标:

  • 自定义消息类型实现步骤

自定义消息包的步骤

一、整体步骤总结

在这里插入图片描述

二、具体步骤

第一步:创建消息包
cd ~/catkin_ws/src
catkin_create_pkg qq_msgs roscpp rospy std_msgs message_generation message_runtime

备注:
qq_msgs 为包名,可自行命名
roscpp rospy std_msgs 常用依赖项
message_generation message_runtime 生成和运行时所需依赖项

第二步:在VScode中打开创建的消息包

在这里插入图片描述

第三步:创建文件夹:msg

在这里插入图片描述

第四步:在创建的文件夹中新建新的消息类型文件:carry.msgs

在这里插入图片描述

第四步:键入内容(根据自己需求)
string grade
int64 star
string data
第五步:给新建的消息设置编译规则
1.打开CMakeLists.txt

在这里插入图片描述


2.确认find_package已经包含message_generation与message_runtime

在这里插入图片描述

3.找到add_message_files,取消注释,将其中的文件修改为新建的Carry.msg

在这里插入图片描述

4.找到generate_messages,取消注释,表明新的消息类型所需要依赖的其他消息列表,此处只用到标准消息包中的string和int类型,所以不做修改

在这里插入图片描述

5.找到catkin_package,取消注释CATKIN_DEPENDS这一行,并确认message_runtime在其中

在这里插入图片描述

6.打开package.xml文件

在这里插入图片描述

7.确保包含message_generation和message_runtime,缺失需要补全

在这里插入图片描述

8.补全后如下

在这里插入图片描述

9.消息包编译
进入工作空间:cd catkin_ws/
编译:catkin_make
出现以下界面表示编译成功

在这里插入图片描述

10.查看新的消息是否进入消息列表
进入工作空间:cd catkin_ws/
执行指令:rosmsg show qq_msgs/Carry
显示结果与定义一致,表示自定义消息包成功

在这里插入图片描述

上述内容来源于B站UP:机器人工匠阿杰,本人用于学习记录

### 关于 ROS 和 USB 的相关内容 在 ROS2 中,`usb_cam` 节点提供了一种便捷的方式与 USB 摄像头进行交互并获取图像数据[^1]。为了成功使用该功能模块,需先完成 `usb_cam` 包的安装过程。具体操作可以通过官方文档或者社区资源找到详细的指导说明。 当涉及到硬件设备如摄像头时,除了软件包本身外,还需要考虑实际环境中的兼容性和驱动支持情况。如果目标平台为嵌入式系统(例如树莓派),则应特别注意其对特定型号USB摄像头的支持程度[^2]。 另外,在构建复杂的机器人应用项目时,通常会结合其他工具库来增强系统的功能性。比如 OpenCV 可被集成到 ROS 系统里用于高级视觉处理任务。通过编写自定义 launch 文件加载必要的参数设置,并配合 rqt_image_view 工具查看结果,可有效验证整个工作流是否正常运作[^4]。 对于初学者而言,理解基本概念同样重要。例如了解命名空间的作用有助于更好地管理大型程序结构;而掌握如何创建及调试简单的服务/客户端模式,则为进一步探索复杂主题打下了坚实的基础[^3]。 以下是基于以上描述整理出来的几个关键知识点: ```python import rospy from sensor_msgs.msg import Image from cv_bridge import CvBridge, CvBridgeError def image_callback(msg): try: bridge = CvBridge() cv_image = bridge.imgmsg_to_cv2(msg, "bgr8") # 进一步处理cv_image... except CvBridgeError as e: print(e) if __name__ == '__main__': rospy.init_node('image_listener', anonymous=True) rospy.Subscriber("/usb_cam/image_raw", Image, image_callback) rospy.spin() ``` 此代码片段展示了如何订阅来自 `/usb_cam/image_raw` 主题的消息并将它们转换成适合 OpenCV 处理的形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值