环境介绍:
我安装的:
Webots R2021a
anaconda 配置的 python3.7环境
pycharm2019
win10环境
默认你已经安装好webots软件了哈,建议2021版本的,后面版本里面没啥预置的模型。
方案一
方案二就是上面链接里面的,结果老是import不到dll文件
这里记录下最简便的方案操作。
1.按照下面添加webots的python的目录到pycharm
根据自己的版本来,我用的anaconda的3.7版本
路径例如我这里D盘的:D:\webots\lib\controller\python37
2.添加路径到系统环境变量
如果还是报错,计算机重启一次,保证系统把环境变量弄进去了
win7的
D:\webots\lib\controller; D:\webots\msys64\mingw64\bin; D:\Webots\msys64\mingw64\bin\cpp;
win10的(win10记得是一行一行的添加!)
D:\webots\lib\controller\
D:\webots\msys64\mingw64\bin\
D:\webots\msys64\mingw64\bin\cpp
万一报错把你引用的python目录也放path进去
如下D:\webots\lib\controller\python37
3.测试
然后如下运行
import _controller
没有报错引用不到dll就没问题了
如果还是出错
用cmd窗口切换到当前这个目录下,如果是anaconda的话,使用 conda activate 环境名
到指定环境,后直接在cmd命令框里面再运行下面命令,成功说明pycharm或anaconda的环境没对。
import _controller
错了的话,再去检查下环境变量写好没有
二.方案二
自己看里面的链接,反正我没成功,所以就懒得管了。
不过设置好了的话,就不用直接在webots安装路径下如我这的D:\webots\lib\controller\python37里添加文件了,不过感觉麻烦,每一个运行文件都要再设置一偏,就建议用方案一就好了。
系统环境变量
%WEBOTS_HOME%\lib\controller
%WEBOTS_HOME%\msys64\mingw64\bin
%WEBOTS_HOME%\msys64\mingw64\bin\cpp
三.测试文件
打开下面的wbt文件后,再pycharm里面运行下面的代码,可看到小车转圈圈
注意下面的 controller是设置成 extern的
即控制器处于外部接收模式!
from controller import Robot
robot = Robot()
timestep = int(robot.getBasicTimeStep())
robot_name = robot.getControllerArguments();
motor1 = robot.getMotor('right wheel motor')
motor2 = robot.getMotor('left wheel motor')
motor1.setPosition(float('inf'))
motor2.setPosition(float('inf'))
motor1.setVelocity(2)
motor2.setVelocity(5)
robot.step(timestep)
t=0
while robot.step(timestep) != -1:
t=t+1