1. 程式人生 > >ROS 工作空間詳解

ROS 工作空間詳解

一、安裝ROS
官方教程http://wiki.ros.org/ROS/Installation或參考https://blog.csdn.net/bflong/article/details/80936914

二、管理環境變數
建立工作空間之前首先要確定環境變數都設定好,例如:
ROS_ROOT

$ source /opt/ros/kinetic/setup.bash

由於每次開啟新的終端都需要設定,通常直接將其寫入bashrc。

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

這裡寫圖片描述
可以採用如下方式檢視環境變數,關於環境變數詳細可以查閱http://wiki.ros.org/ROS/EnvironmentVariables

$ printenv | grep ROS

這裡寫圖片描述

三、建立工作空間

關於rosbuild和catkin:兩種組織構建ros程式碼的方式,ROS官方推薦使用catkin方式,所以一下都已catkin方式為例。

1、新建工作空間資料夾

$ mkdir -p ~/catkin_ws/src

在 /home/使用者名稱目錄/ 下建立一個ROS工作空間,即資料夾catkin_ws,
然後在工作空間 catkin_ws 下建立一個資料夾 src

2、初始化工作空間

$ catkin_init_workspace

執行完該命令後,src目錄下會出現一個 CMakeLists.txt 檔案

3、catkin_make

$ cd ~/catkin_ws/
$ catkin_make

執行catkin_make,工作空間中會出現deve和build資料夾及CMakeLists.txt檔案,並且CMakeLists.txt會與src資料夾建立聯絡。

4、環境變數設定

$ source devel/setup.bash

檢視環境變數

$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share

完成!

參考http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

===================================================================
2018年11月28日
問題:配置後編譯package成功,rosrun提示package“XXX” not found
解決:1、先宣告catkin_package(),再宣告add_executable(),否則可執行檔案不會生成到dev\lib目錄下
2、$ source devel/setup.bash配置不成功也會出現上述問題