1. 创建工作空间:
mkdir testws
cd testws
mkdir src
工作空间名称为testws
进入src文件夹中:
cd src
catkin_init_workspace
初始化工作空间,src中出现CMakeLists.txt文件
回到工作空间根目录下,编译当前工作空间:
cd testws
catkin_make
telews文件夹下出现了build, devel两个文件夹。在根目录下执行:
catkin_make install
出现install文件夹,用于存放编译后的可执行文件。
src放置功能包源码。
2. 创建功能包:
功能包是放置源码的最小单位,创建功能包需要在testws/src文件夹下进行,代码为:
catkin_create_pkg demo rospy roscpp rosmsg
demo是功能包的名字(功能包不能有大写字母,只能是小写字母、下划线),rospy, roscpp和rosmsg是功能包的依赖,表明这个功能包文件需要依赖其他的哪些功能包。
写python程序需要在功能包中新建文件夹scripts,py文件都放在这个文件夹里:
mkdir scripts
3. 编写python文件
#!/usr/bin/env python
# coding:utf-8
import rospy
if __name__ == '__main__':
# 创建节点
rospy.init_node("node_name")
print("node created")
#!/usr/bin/env python是为了说明python文件为可执行文件,而不是脚本文件。
# coding:utf-8是保证编码格式。
4. 调试运行代码
4.1 修改可执行权限:
cd scripts
chmod a+x hello.py
或者右键点击py文件->属性->权限->允许文件作为程序执行
4.2 项目编译
在工作空间目录下,编译功能包:
catkin_make
source devel/setup.bash #编译过后刷新环境
4.3 运行节点
启动roscore:
roscore
打开新的命令行,来到工作空间目录下,source一下开发环境:
cd testws
source devel/setup.bash
运行node:
[pkg名] [py文件]
rosrun demo_py hello.py