如何在 ROS worskapce 的简单 python 脚本中导入 Webots 控制器库

How to import Webots controller library in a simple python script in a ROS worskapce

有没有办法在简单的 python 脚本 运行 ROS 工作区内的 ROS 节点中导入 Webots 控制器库?

我看过 Webots ROS_Python 示例并了解其背后的概念。但是我无法导入

from controller import Robot

并得到错误

ImportError: No module named rospy

而 运行 ROS_Python 示例包已经提供。

编辑: 更改 python 变量 /usr/local/webots/lib/python35 找到控制器,但现在出现新错误:

ImportError: libCppController.so: cannot open shared object file: No such file or directory

您从 ROS 工作区调用 libcontroller 的方法非常好。 这实际上是用于 Webots-ROS2 集成的方法。

它们是您在启动节点之前需要设置的一些环境变量。 它们主要是 LD_LIBRARY_PATHPYTHONPATH,你可以在这里找到关于如何在 Webots 之外启动控制器的完整描述:

https://www.cyberbotics.com/doc/guide/running-extern-robot-controllers#environment-variables

供参考,这是在 ROS2 的 webots_ros2 包中实现的: