配置Pycharm Configuration for Webots R2023b in Ubuntu
软件信息:
Ubuntu OS
: 22.04.4 LTS
Webots
: R2023b
Pycharm
: Community Version
在Ubuntu 22中安装Webots的基本操作
下载Webots
的.deb
文件并安装
sudo dpkg -i webots_2023b_amd64.deb
安装完成后,Webots的文件夹路径在
/usr/local/webots
在.bashrc
中添加
export WEBOTS_HOME=/usr/local/webots/
在Ubuntu 22中配置Pycharm
Webots创建好项目Web
,并且新建控制器safe_vis
后, 项目名和控制器名字自定义
开始Pycharm的配置
- Pycharm打开项目
Web
- Pycharm中点击工具栏
File->Setting->Projec:Web->Project Structure
- 点击
Add Content Root
- 添加控制器文件所在的文件夹
safe_vis
- 添加
/usr/local/webots/lib/controller/python
- 点击
到此, Pycharm
写控制器的Python文件时候,IDE
已经可以自动索引到Webots
的Python
库了.
为了让仿真跑起来,还有额外步骤
- 在
Webots
中, 设定机器人控制器Controller Choice
为<extern>
- 在
Webots
中, 点击运行仿真的按钮 - 在终端
Terminal
中,运行命令$WEBOTS_HOME/webots-controller ./safe_vis/safe_vis.py
成功运行
为了让仿真通过点击Pycharm
中的run
运行按钮启动工作,需要在工具栏中点击Run->Edit Configurations
来做设置
script
添加正在开发的控制器Python
文件working directory
添加控制器Python
文件所在的文件夹Environment variables
添加LD_LIBRARY_PATH
和WEBOTS_HOME
LD_LIBRARY_PATH=/usr/local/webots/lib/controller
WEBOTS_HOME=/usr/local/webots
需要注意的重点
运行控制器Python
文件前, 需要先在Webots
中, 点击运行仿真的按钮.
在Ubuntu 22的Pycharm中运行Webots控制器文件碰到的问题
如果不在Environment Variables
中添加WEBOTS_HOME=/usr/local/webots
会出现以下问题
Traceback (most recent call last):
File "/home/xxx/sim/web/controllers/safe_vis/safe_vis.py", line 6, in <module>
from controller import Robot
File "/usr/local/webots/lib/controller/python/controller/__init__.py", line 15, in <module>
from controller.field import Field # noqa
File "/usr/local/webots/lib/controller/python/controller/field.py", line 16, in <module>
from .wb import wb
File "/usr/local/webots/lib/controller/python/controller/wb.py", line 26, in <module>
wb = ctypes.cdll.LoadLibrary(os.path.join(os.environ['WEBOTS_HOME'], path))
File "/home/xxx/envir/anaconda3/envs/safe_vis_nav/lib/python3.8/os.py", line 675, in __getitem__
raise KeyError(key) from None
KeyError: 'WEBOTS_HOME'
Process finished with exit code 1