在ROS-catkin工作程序中定义和使用Python类

2024-09-30 02:18:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在经营ROS Indigo。我有一个简单的问题:我的包中有一个实用程序类,我想从脚本中调用它。它只需要在我们自己的包中调用;我不需要它对其他ROS包可用。在

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


Tags: 文件py实用程序脚本定义init地方ros
2条回答

艾丽卡

请参阅this学校项目,它是用Python编写的,运行在rosindigo上。如果您查看/scripts文件夹,您可以看到一个从其他脚本调用的自定义类的示例。如果您查看/launch中的启动文件,您可以看到一个配置ROS节点的示例-可能这就是您的问题所在。在

在这里,遵循Python和ROS的标准是一个很好的实践。脚本通常放在/script目录中,它们应该被导入到其他python脚本中。可重用python代码表示python模块。Python模块应该放在/src/package_name中,在那里您也应该创建{}。此模块将在您的catkin工作区的任何地方都可用。这是一个很好的机会,这种结构将有助于你在未来的结构,即使你似乎不需要它在此刻。项目通常会增长,遵循指导原则有助于维护良好的代码。有关详细信息,请查看此python doc。在

相关问题 更多 >

    热门问题