ROS与Python入门教程-搭建开发环境(PyCharm)
ROS与Python入门教程-搭建开发环境(PyCharm)
说明
- Python的IDE有很多,参考教程
- 特点:
- PyCharm是由JetBrains打造的一款Python IDE。
- PyCharm具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
- 另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。
注意:
- 基于Pycharm在虚拟机上运行过慢,在后面的章节,使用rosed作为主要的编写代码的工具。
安装步骤
版本选择
- PyCharm 官方下载地址:http://www.jetbrains.com/pycharm/download/
- 选择Linux版本,目前有Professional和Community两个Linux版本,前者是付费版,30天免费试用期限,后者是免费版
- 本文以Professional版本为例,下载后的文件名为 pycharm-professional-2016.2.3.tar.gz。(付费版激活码自行Google)
Wget方式下载,建立下载目录tools,下载并安装.
$ mkdir ~/tools
$ cd ~/tools
$ wget https://download.jetbrains.com/python/pycharm-professional-2016.2.3.tar.gz
或使用其他工具下载后,在上传到tools目录
安装,在tools目录下
$ cd ~/tools
$ tar xfz pycharm-professional-2016.2.3.tar.gz #解压
$ cd pycharm-professional-2016.2.3
$ ./pycharm.sh #按提示安装即可
- 确认安装成功,安装完成后点左上角的 Dash home,输入“py”如果看到 PyCharm 图标则安装成功
配置pycharm
- 设置快捷键,使从快捷方式启动PyCharm的同时加载ROS环境变量
gedit ~/.local/share/applications/jetbrains-pycharm.desktop #如果选择安装为当前用户可用
或者
gedit /usr/share/applications/jetbrains-pycharm.desktop #如果选择为全部用户可用
不同版本jetbrains-pycharm.desktop名字可能会有些差异
jetbrains-pycharm.desktop内容为:
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm
Icon=/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.png
Exec= bash -i -c "/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
- 修改Exec变量一行,在=后添加 bash -i -c 即改为
Exec= bash -i -c "/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.sh" %f
- 保存并退出。
- 添加 bash -i -c 是为了在通过快捷方式启动PyCharm的同时加载ROS环境变量(ROS环境变量加载脚本配置在 ~/.bashrc 文件内)
用PyCharm调试Python工程
- 新建catkin工作空间
mkdir -p ~/catkin_ws/src #建立源目录
cd ~/catkin_ws/src
catkin_init_workspace #初始化空间
cd ~/catkin_ws/
catkin_make #首次编译
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc #使用工作空间
需要重新打开终端,环境配置才能生效。
添加测试代码
$ cd ~/catkin_ws/src
$ git clone https://github.com/ros/ros_tutorials.git
$ ls
效果如下:
$ ls
CMakeLists.txt ros_tutorials
向PyCharm里添加工程
从 Dash home 里启动PyCharm,将看到下面的Welcome界面:
导入 rospy_tutorials 包,使之成为PyCharm的python工程。点击 Open Directory 按钮,在弹出的对话框中选择 ~/catkin_ws/src/ros_tutorials/rospy_tutorials/ 路径,如下图:
点击 OK,工程将被创建,如下图:
设置python2.7为PyCharm工程的Interpreter
PyCharm默认将Python 3.2设置为工程的interpreter,而ROS使用的是Python 2.7,这里需要设置一下,使用Python 2.7,否则无法运行ROS相关的Python库。如果默认是Python 2.7则不用修改。
File 菜单 -> Settings 项,打开设置对话框,选择 Project Interpreter -> Python Interpreters 如下图:
点击右边选框的加号,增加 Python 2.7 Interpreter,并将其设置为工程默认,结果如下图:
调式代码
先打开一个terminal,输入 roscore 命令启动ROS Master。
在PyCharm左边的 Project 树形框中,找到 talker.py 文件,打开。然后找到 “hello world” 所在的位置,修改为 “hello I'm yuanboshe”,并设置断点,如下图:
保存后,右键左边的 talker.py 文件,弹出右键菜单,选择 Debug 'talker' 项:
启动调试后,talker 程序就会运行,并会运行到断点处停下来:
在下面的变量栏能够看到变量值。取消断点,按 F9 继续运行,将下面的显示窗口切换到 Console 窗口,能够看到修改后的信息,如下:
回到桌面,再开一个terminal窗口,输入 rosrun rospy_tutorials listener 命令,可以看到正确的监听消息,如下图:
总结
- 作为脚本语言的Python,debug要比作为编译语言的C++方便简单得多,其他的Python IDE也可以使用类似方式使之能够用来调试ROS工程。由于缺少了编译环节,不需要CMake的参与,无论是catkin工程还是rosbuild工程都一样的设置,没有差异。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号