第一个Python程序

Clion的Python环境

为了演示第一个程序,首先我们按照前面的例子,在workspace中创建一个demo_py的package,我们基于这个demo_py进行讲解开发。

使用clion打开demo_py

1. 创建scripts目录

demo_py的目录中创建scripts目录,用于写python代码。

2.配置Python环境

打开clion的setting,来到Build,Execution,DeploymentPython Interpreter下,点击设置按键,点击添加。

打开python环境设置按钮,添加python环境

Tip

特别要注意**的是,目前ROS Melodic版本还**不支持python3,要等到ROS N版才会支持。

因此,我们选择环境的时候**选择python2.x版本**。

编写Python代码

1. 代码编写

在scripts目录下新建hello.py文件,代码如下:

1
2
3
4
5
6
7
8
#!/usr/bin/env python
# coding:utf-8
import rospy

if __name__ == '__main__':
    # 创建节点
    rospy.init_node("pyhello")
    print("hello ros python")

Note

#!/usr/bin/env python让系统知道当前是可执行的python脚本,避免系统当作shell脚本执行。

# coding:utf-8解决编码问题

2. 可执行权限修改

hello.py文件做成可执行文件

Note

默认编写的py文件是不具备执行权限的。

我们需要手动讲文件权限修改为可执行。

调试运行代码

1. 项目编译

启动命令行,来到工作空间目录下,编译项目

1
2
cd first_ws
catkin_make

Tip

编译的过程,会将新建的package进行编译。

在编写python版本程序时,这一操作可以省略。

但是建议养成良好习惯,还是进行编译。

2. 启动ROS Master

打开新的命令行,启动ROS master

1
roscore

Tip

ROS节点启动前,必须启动ros master

3. 运行节点

启动编译好的node节点,有**两种方式**可以运行。

1. 通过clion工具直接运行

2. 通过命令行运行

1. 打开新的命令行,来到工作空间目录下,source一下开发环境

1
2
cd first_ws
source devel/setup.bash

Tip

做这一步的操作是为了让rosrun 命令找到刚刚编译好的node

2. 通过命令运行编译好的node

1
rosrun demo_py hello.py

Tip

rosrun命令后跟第一个参数是package的名称,第二个参数是节点名称