我有一个用Python编写的ROS节点,它捕获消息并将它们写入磁盘(例如使用pickle
)。我想稍后在ROS之外的另一个Python脚本中使用这些文件,但我需要导入消息类。
这可能吗?
谢谢!
答案 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类型,然后将其存储在您的泡菜中(基本上就是您已经在做的事情)。