Getting Start
编写ROS的第一个程序,实现流程大致如下:
创建工作空间;
创建功能包;
编写源文件;
编辑配置文件;
编译、执行;
1 创建工作空间并初始化
创建含有src目录的工作空间,切换到工作空间下,catkin_make编译完成初始化:
# create workspace folder
mkdir -p WORKSPACE_NAME/src
# 切换到工作空间下
cd WORKSPACE_NAME/
# 编译 可以视为初始化工作空间
catkin_make2 创建功能包并添加依赖
切换到工作空间的src目录下,使用catkin_create_pkg创建功能包并添加依赖:
# 切换到工作空间下的src
cd WORKSPACE_NAME/src
# 创建功能包
catkin_create_pkg PKG_NAME roscpp rospy std_msgs该功能包添加的依赖为roscpp、rospy和std_msgs,roscpp表示使用C++实现的库,rospy表示使用Python实现的库,std_msgs为标准消息库。功能包通常都会依赖这三个库实现。
3 编写源文件
在ROS中,虽然实现同一功能时,C++和Python可以互换,但是具体选择哪种语言,需要视需求而定,因为两种语言相较而言:C++运行效率高但是编码效率低,而Python则反之,基于二者互补的特点,ROS设计者分别设计了roscpp与rospy库,前者旨在成为ROS的高性能库,而后者则一般用于对性能无要求的场景,旨在提高开发效率。
C++实现
使用vim创建并打开cpp文件:
编辑相关源代码:
Python实现
使用vim创建并打开python文件:
编辑相关源代码:
为python文件添加可执行权限:
4 编辑功能包下的CMakelist.txt文件
CMakelist.txt文件C++
Python
5 编译并执行
切换进入工作空间,使用catkin_make编译
执行,需要打开两个命令窗口:
第一个命令窗口,输入
再开一个窗口,输入
输入完,回车就能在命令行看见输出:Hello World !
Tips :
source ~/工作空间/devel/setup.bash可以添加进.bashrc文件,使用上更方便
添加方式1 : 直接使用 gedit 或 vi 编辑 .bashrc 文件,最后添加该内容
添加方式2 : echo "source ~/工作空间/devel/setup.bash" >> ~/.bashrc
Reference
Last updated