ROS开发基础部分:
基本文件介绍
1.CMakeLists.txt
规定了catkin编译的规则
例如:源文件,依赖项,目标文件,会总动生成命令模板
2.Package.xml
定义了包的属性
生成包括:包名,版本号,作者,依赖属性的模板
常用的包管理指令:
- rospack
#查找某个pkg的地址
$ rospack find <package_name>
#列出本地所有的pkg
$ rospack list
- roscd
#快速跳转到某个pkg路径下
$ roscd package_name
- rosls
#列举某个pkg下的文件信息
$ rosls package_name
- rosed
#编辑pkg中的文件
$ rosed package_name file_name
- catkin_create_pkg
#创建一个pkg
$ catkin_create_pkg package_name[deps]
- rosdep (常用来安装github等途径获得的代码的依赖)
#列举某个pkg所需依赖
$ rosdep install [package_name]
下载和编译
克隆或下载ROS-Academy-for-Beginners教学包到工作空间的/src目录下,例如 ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
安装教学包所需的依赖
$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
编译并刷新环境
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
Metapackage
ROS的通讯架构
master作用
- 1.每个节点启动时需要向master注册
- 2.管理通道间的通信