栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ROS2给python添加自定义消息

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ROS2给python添加自定义消息

ROS2给python添加自定义消息 1.需求描述
  • 为ros2的python节点添加自定义消息
  • python节点无法自定义消息,方法是先建一个cmake的功能包,在里面添加msg,然后在python节点中导入该msg
2.建立msg功能包
  • 1.创建功能包
ros2 pkg create --build-type ament_cmake lane_msg
  • 2.定义msg消息内容
mkdir msg
cd msg
# 创建 xxx.msg文件
  • 3.修改CMakeLists.txt,添加以下内容
find_package(rosidl_default_generators REQUIRED)

rosidl_generate_interfaces(${PROJECT_NAME}
  "msg/xxx.msg"
)
  • 4.修改package.xml,添加以下内容
rosidl_default_generators
rosidl_default_runtime
rosidl_interface_packages
  • 5.编译msg功能包
# 如果下面命令编译失败则删掉install目录重新编译
colcon build --packages-select lane_msg –merge-install
  • 6.检查自定义消息是否可用
# 如果显示出自定义消息内容,则成功
ros2 interface show lane_msg/msg/xxx
3.在python节点中使用自定义msg(示例)
  • 1.导入
# 
from lane_msg.msg import LanesInfo as LaneMsg
  • 2.发布消息格式改为自定义的消息
self.processed_image_pub = self.create_publisher(LaneMsg, '/lane_info', 1)
  • 3.关联发布内容
msg = LaneMsg()
msg.line_c0 = float(fit_params[0][-1].astype("float32"))
msg.line_c1 = float(fit_params[0][-2].astype("float32"))

参考链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号