python - 在 ROS catkin 工作区中定义和使用 Python 类

标签 python ros

我正在运行 ROS Indigo。我有一个简单的问题:我的包中有一个实用程序类,我希望可以从我们的脚本中调用它。只需要在我们自己的包内调用即可;我不需要它可用于其他 ROS 包。

我在文件 HandControl.py 中定义了一个名为 HandControl 的类。我所有导入它或在不导入的情况下使用它的尝试都失败了。我应该把它放在catkin工作区的什么地方——包的根目录,还是脚本中?我是否需要 __init.py__ 任何地方(我已经尝试过几个地方)?

最佳答案

这里遵循Python和ROS的标准是一个很好的做法。脚本通常放置在 /script 目录中,并且不应将它们导入到其他 Python 脚本中。可重用的Python代码是Python模块的标志。 Python 模块应放置在 /src/package_name 中,并且您还应在其中创建 __init__.py。该模块将在您的catkin工作区中随处可用。这种结构很有可能在将来帮助您构建事物,即使您目前似乎不需要它。项目通常会增长,遵循准则有助于维护良好的代码。有关更具体的详细信息,请查看此 python doc .

关于python - 在 ROS catkin 工作区中定义和使用 Python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41513018/

相关文章:

python - read_csv导入大数

python - 更改 Python 生成的 ZIP 文件中的主机操作系统

c++ - 如何将 cv::Mat 转换为带颜色的 pcl::pointcloud

也处理 FeedBurner 的 Python RSS 解析器

Python:如何写入 fd 3?

ROS问题: libQt5Core. so.5:无法打开共享对象文件:没有那个文件或目录

compilation - 构建依赖和运行时依赖有什么区别

Python argparse 允许组合标志

ros - X、Y 和 Z 在 geometry_msgs 中的含义 ROS 中的 Twist 消息