ROS軟件包開發完成后,需要安裝包,如果你用的是catkin創建的工作空間,那么即可使用命令"catkin_make install"完成此項任務.下面介紹其安裝的過程:
1.源碼准備
准備好需要安裝的代碼,通常可以使用catkin來創建工作空間,包和編譯整個項目.本例子假定工作空間為catkin_ws,包名為package_install.目錄如下圖所示:
2.編輯CMakeLists.txt
打開package/CMakeLists.txt,在文件末尾添加添加如下的代碼:
############# ## Install ## ############# # all install targets should use catkin DESTINATION variables # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html ## Mark executable scripts (Python etc.) for installation ## 添加python程序.in contrast to setup.py, you can choose the destination install(PROGRAMS scripts/talker.py scripts/listener.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) ## 添加可執行文件或者庫文件,Mark executables and/or libraries for installation install(TARGETS talker_node listener_node ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) ## 添加頭文件.Mark cpp header files for installation install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE ) ## 添加資源文件的目錄,例如文件夾:urdf mesh rviz,其下的所有子目錄的文件也會安裝到相應的目錄下. install(DIRECTORY model DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) install(DIRECTORY urdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) install(DIRECTORY mesh DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) install(DIRECTORY rviz DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) ## 添加資源文件.Mark other files for installation (e.g. launch and bag files, etc.) install(FILES launch/bringup.launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch )
3.編譯
打開命令終端,到catkin_ws目錄下,執行如下命令:
catkin_make install
安裝的文件會生成在目錄catkin_ws/install下.目錄的結構如下圖所示
4.運行
a.首先,可將install整個文件夾隨意拷貝到一個目錄下;然后,打開命令終端,到該目錄install下,執行如下命令:
source devel/setup.bash
b.打開命令終端,運行程序,執行如下命令:
roslaunch package_install bringup.launch
這樣就可以把安裝的程序跑起來了.
5.源碼
源碼下載:catkin_ws.rar