问题背景
近期在折腾强化学习的一个GPS项目(指导策略搜索),用到ROS、PR2模型和Pycharm(/usr/bin/python2.7),整体思路是在终端使用roslaunch命令启动Gazebo,然后在Pycharm中跑python。
![](https://i-blog.csdnimg.cn/blog_migrate/aedd5e2ccbe0d8eee57344488c9c1b9d.png)
但是在途中遇到几个问题:
- import error: no module named rospy
- rospkg.common.ResourceNotFound: rosgraph
- ……
但事实上rospy是有的,而使用“rospack find rosgraph”也能找到rosgraph,因此我上网找了许多教程配置ROS+Pycharm环境,终于可以无错运行。
配置过程
1. 配置添加python路径(解决rospy问题):
- File->Settings->Project Interpreter->右边小齿轮Show All->选中正在使用的python
- 点击右边最下面的图标,打开Interpreter Path
- 添加/opt/ros/indigo/lib/python2.7/dist-packages
- OK
2. 修改Pycharm启动文件(Ubuntu):
- 确定启动文件位置:我的pycharm是在官网下载的,而且仅当前用户使用,所以我的路径是~/.local/share/applications/jetbrains-pycharm.desktop(若无,见文档,可能在/usr/share/applications)
-
vim ~/.local/share/applications/jetbrains-pycharm.desktop
- 找到Exec语句,可能如
Exec="/usr/lib/pycharm-community/bin/pycharm.sh" %f
- 加上bash -i -c ,变为
Exec=bash -i -c "/usr/lib/pycharm-community/bin/pycharm.sh" %f
- (注意1. 要有引号;2. 如果没有%f,则手动加上)