webots使用和常见问题汇总

1. 提示找不到managers

from managers import RobotisOp2GaitManager, RobotisOp2MotionManager
ModuleNotFoundError: No module named 'managers'

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在导入RobotisOp2GaitManagerRobotisOp2MotionManager时提示找不到'managers'模块。可以将webots安装目录darwin-op的libraries下的文件复制到项目目录的libraries下,这样控制目录中的代码导入manager的时候就会从libraries的python37文件夹中导入对应的mangaers模块。

2. 配置webots使用anaconda创建的环境

在这里插入图片描述
选择Tools目录下的Preferences,在Python command中配置anaconda中创建的conda环境。
在这里插入图片描述
比如我的anaconda环境basket的配置如下(我的anaconda直接安装在E盘根目录),这里需要根据你的anaconda安装目录和环境名称进行相应的更改。
在这里插入图片描述
可以通过在控制器代码中执行下面的代码,确定使用的python的安装目录。

print(sys.version)
print("Python executable:", sys.executable)

在这里插入图片描述

3. 提示找不到controller

详细的报错内容如下:

Traceback (most recent call last):
  File "ballPosition.py", line 3, in <module>
    from controller import Robot, GPS, Supervisor
  File "/Applications/Webots.app/lib/controller/python37/controller.py", line 31, in <module>
    import _controller
ImportError: dlopen(/Applications/Webots.app/lib/controller/python37/_controller.so, 0x0002): tried: '/Users/zsq/robot/works/basketEnv/libraries/robotis-op2/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python39/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python38/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python37/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python36/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python35/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python27/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/python/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/managers/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/libzip/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/libraries/libssh/_controller.so' (no such file), '/Users/zsq/robot/works/basketEnv/controllers/ballPosition/_controller.so' (no such file), '/Applications/Webots.app/lib/controller/_controller.so' (no such file), '/Applications/Webots.app/lib/controller/python37/_controller.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Applications/Webots.app/lib/controller/python37/_controller.so' (no such file), '/Applications/Webots.app/lib/controller/python37/_controller.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))
WARNING: 'ballPosition' controller exited with status: 1.

预估出现这个问题的原因是使用的python是针对arm64架构的,而webots适配的是x86_64架构,两者不匹配导致出现这个问题。
解决方案如下:
(1)更换python的版本
进入python官网,点击下载然后选择macOS
在这里插入图片描述
比如我这里下载python3.7.9
在这里插入图片描述
安装直接默认选项,然后在webots中配置这个python的路径
在这里插入图片描述
比如我这里是:

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3

这个路径默认的路径应该都是这个格式。
这样这个问题应该就解决了。

持续更新~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值