我是ROS的新手,遇到了一些麻烦。我在GitHub上找到了一个要使用的ROS软件包“ video_stream_opencv”,我想编写一些Python代码来订阅该软件包创建的图像主题之一。
如何将消息定义导入到我的python代码中?我在该软件包中找不到任何* .msg文件。
但是,如果我跑步:
rosmsg show sensor_msgs/Image
我得到消息定义:
std_msgs/Header header
uint32 seq
time stamp
string frame_id
uint32 height
uint32 width
string encoding
uint8 is_bigendian
uint32 step
uint8[] data
然后我可以使用该信息来创建自己的.msg文件,对吗?但是那我怎么导入到python中呢?
答案 0 :(得分:1)
sensor_msgs
是一个软件包,应自动包含在ros发行版中。由于我不熟悉python语法,因此您将在roscpp节点中包括正确的标头:
#include "sensor_msgs/Image.h"
根据谷歌的简短研究,相应的python语法类似于
from sensor_msgs.msg import Image
此外,您需要通过在软件包CMakeLists.txt中添加sensor_msgs
-package来让CMake知道在哪里搜索软件包:
find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs genmsg sensor_msgs)
我目前无法尝试,所以如果一切正常,请给我反馈。