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.管理通道間的通信