在ROS之外使用ROS消息类

时间:2016-09-05 20:46:54

标签: python ros rospy

我有一个用Python编写的ROS节点,它捕获消息并将它们写入磁盘(例如使用pickle)。我想稍后在ROS之外的另一个Python脚本中使用这些文件,但我需要导入消息类。

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,我认为只能在任何ROS依赖项之外导入消息文件。例如,如果查看其中一个生成的消息类文件:

---/your_catkin_ws/devel/lib/python2.7/dist-packages/your_package/msg/_Message.py

您会看到消息中包含的genpy和其他消息类型依赖至少。基本消息是相同的(在/opt/ros/indigo/lib/python2.7/dist-packages/std_msgs/msg)。

虽然您可以尝试复制最少量的依赖项,直到它最终工作(!),但它有点不优雅,可能会成为一个脆弱的解决方案。

我认为最好的解决方案是将您的消息转换为通用的非ROS类型,然后将其存储在您的泡菜中(基本上就是您已经在做的事情)。