ROS學習記錄
第一步-創建工作空間
工作空間是一個存放工程開發相關文件的文件夾,主要包含了源代碼空間src,編譯空間build,開發空間devel,安裝空間。
在src目錄中,包含了整個工程的編譯列表文件(.txt)易語言 打開文件對話框,以及各個包的編譯列表文件和包的相關參數信息.xml。
創建工作空間的相關命令為
mkdir -p ~/catkin_ws/src #創建在根目錄下的工作空間的源代碼空間路徑 ~/catkin_ws/src,-p是指當已經存在時也不進行報錯
cd ~/catkin_ws/src #進入源代碼空間
catkin_init_workspace #初始化源代碼空間的命令
cd ~/catkin_ws #進入工作空間
catkin_make #編譯整個工作空間
在成功編譯完之后,工作空間中會自動生成build和devel兩個目錄及相關文件(如果你編譯失敗了,可以根據編譯結果的提示修改.txt的編譯內容)。在devel的目錄中已經生成了幾個setup.*sh的環境變量設置腳本。為了使這些環境變量可以生效,需要使用以下命令
source ~/catkin_ws/devel/setup.bash
執行完命令之后可以用以下命令來檢查是否生效
echo $ROS_PACKAGE_PATH
另外, 命令只會在當前的終端生效,在下一次打開終端之后就需要重新執行命令。可以將命令添加到終端的配置文件中。我們可以在根目錄中查看相關文件
cd ~/ #進入根目錄
ls -a #查看所有文件包括隱藏文件,可以看到其中有一個.bashrc的文件,該文件就是終端的配置文件
gedit .bashrc #編輯這個文件
在文件下面添加一行命令
source ~/catkin_ws/devel/setup.bash
就可以不用在每次打開終端時重復輸入命令。
注:也可以直接文件重定向命令 echo “ ~//devel/setup.bash”>> ~/.
第二步-創建功能包
ros中的功能包的組成格式為
/
——.txt #功能包的編譯信息文件
——.xml #對于功能包屬性的描述信息文件
——/ #頭文件目錄
——/ #啟動文件目錄
——/msg #消息文件目錄
——/src #源代碼目錄
——/srv #服務文件目錄
注:功能包不可以嵌套其他的功能包易語言 打開文件對話框,多個功能包之間必須平行的放置在代碼空間中
創建功能的命令:
catkin_create_pkg [depend1] [depend2] [depend3]
:創建功能包的命令
:功能包的名字
:創建的功能所依賴的其他功能包,
在ROS操作系統中,存在兩個性質的包路徑,一個是系統工作區的包路徑,一個是用戶工作空間的包路徑,可以用以下命令行來獲取路徑信息。
echo $ROS_PACKAGE_PATH
若想要刪除自己創建的功能包時,只需要到工作區中刪除該文件夾,然后再工作空間的根目錄進行一次即可。
若想要刪除系統工作取的功能包時,則需要用以下命令來實現。
sudo apt-get purge #刪除功能包
sudo apt-get autoremove #刪除功能包的依賴包