catkin工作空間是建立、修改、編譯catkin軟體包的目錄。catkin的工作空間,直觀的形容就是乙個倉庫,裡面裝載著ros的各種專案工程,便於系統組織管理呼叫。在視覺化圖形介面裡是乙個資料夾。我們自己寫的ros**通常就放在工作空間中。
catkin(cmake)的快取資訊和中間檔案
生成的目標檔案(包括標頭檔案,動態鏈結庫,靜態鏈結庫,可執行檔案等)、環境變數
ros的catkin軟體包(源**包)
package資料夾
package是catkin工作空間的基本單元。包含以下檔案及資料夾:
cmakelists.txt寫法:
巨集作用cmake_minimum_required()
#cmake的版本號
project()
#專案名稱
find_package()
#找到編譯需要的其他cmake/catkin package
catkin_python_setup()
#catkin新加巨集,開啟catkin的python module的支援
add_message_files()
#catkin新加巨集,新增自定義message/service/action檔案
add_service_files()
add_action_files()
generate_message()
#catkin新加巨集,生成不同語言版本的msg/srv/action介面
catkin_package()
#catkin新加巨集,生成當前package的cmake配置,供依賴本包的其他軟體包呼叫
add_library()
#生成庫
add_executable()
#生成可執行二進位制檔案
add_dependencies()
#定義目標檔案依賴於其他目標檔案,確保其他目標已被構建
target_link_libraries()
#鏈結catkin_add_gtest()
#catkin新加巨集,生成測試
install()
#安裝至本機
package.xml寫法:
pacakge.xml遵循xml標籤文字的寫法,在新版本中,包含的標籤為:
標籤名作用
< pacakge >
根標記檔案
< pacakge >
根標記檔案
< name >
包名< version >
版本號< description >
內容描述
< maintainer >
維護者< license >
軟體許可證
< buildtool_depend >
編譯構建工具,通常為catkin
< depend >
指定依賴項為編譯、匯出、執行需要的依賴,最常用
< build_depend >
編譯依賴項
< build_export_depend >
匯出依賴項
< exec_depend >
執行依賴項
< test_depend >
測試用例依賴項
< doc_depend >
文件依賴項
scripts資料夾
存放可執行指令碼,例如shell指令碼(.sh)、python指令碼(.py)
include資料夾
存放c++原始碼對應的標頭檔案
src資料夾
存放ros的源**,包括c++的原始碼和(.cpp)以及python的module(.py)
msg資料夾
存放自定義格式的訊息(.msg)
srv資料夾
存放自定義格式的服務(.srv)
action資料夾
存放自定義格式的動作(.action)
launc**件夾
存放launc**件(.launch或.xml)
機械人作業系統ROS總結
ros有很詳細大文件 按照文件,按步驟學習即可。ros定義了程序間通訊的方式,程序可以是在同乙個機器上,也可以是分布式的。這非常便於搭積木 搭系統,但是,對於效能,要做真正產品,估計效率要再考慮。這樣,從不同到 來的軟體模組,可以方便的組合成乙個機械人系統。ros把軟體分成不同的package,裡面...
機械人作業系統ROS入門
三 ros安裝 四 其它 參考資料和資源 ros是機械人作業系統 robot operating system 的英文縮寫。ros是用於編寫機械人軟體程式的一種具有高度靈活性的軟體架構。ros的原型源自史丹福大學的stanford artificial intelligence robot stai...
機械人作業系統入門(ROS)入門)
外文名robot operating system 性 質機械人軟體平台 簡 稱ros 用 途提供類似作業系統的功能 通常這樣解釋ros 通道 ros提供了一種發布 訂閱式的通訊框架用以簡單 快速地構建分布式計算系。工具 ros提供了大量的工具組合用以配置 啟動 自檢 除錯 視覺化 登入 測試 終止...