一.ROS工程结构
二.Catkin工作空间与编译系统
Catkin是ROS定制的编译构建系统,对CMake的扩展;
catkin工作空间:组织和管理功能包的文件夹,以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
$ source ~/.bashrc
三.package
创建功能包:
创建功能包
$ cd ~/catkin_ws/src
$ catkin_create_pkg learning_communication std_msgs roscpp rospy
编译
$ cd ..
$ catkin_make
注:
std_msgs:包含常见消息类型
roscpp:使用C++实现ROS各种功能
rospy:使用python实现ROS各种功能
其他:
1.CMakeLists.txt:规定catkin的编译规则,例如,源文件,依赖项,目标文件;
2.package.xml:版本信息,作者等;
3.代码文件:脚本(shell,python),C++(头文件,源文件);
4.launch:launch启动脚本文件夹,里边包含了后缀名为launch的启动脚本,功能是一次性启动多个节点;
四.日常指令
1.rospack:
#查找某个pkg的地址
$ rospack find package_name
#列出本地所有pkg
$ rospack list
2.roscd:
跳转到某个pkg路径下
$roscd package_name
......