如何在 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_PATH 和 PYTHONPATH,你可以在这里找到关于如何在 Webots 之外启动控制器的完整描述:
https://www.cyberbotics.com/doc/guide/running-extern-robot-controllers#environment-variables
供参考,这是在 ROS2 的 webots_ros2 包中实现的:
有没有办法在简单的 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_PATH 和 PYTHONPATH,你可以在这里找到关于如何在 Webots 之外启动控制器的完整描述:
https://www.cyberbotics.com/doc/guide/running-extern-robot-controllers#environment-variables
供参考,这是在 ROS2 的 webots_ros2 包中实现的: