本人乙個ros學習初學者,在經過三天的學習基礎教程,對ros有了乙個基本的了解,在此,筆者就自己的學習的理解做乙個總結,如有錯誤還請各位指出。
一、組織框架
catkin_ws()
--build
--devel
--src
-----cmakelists.txt
-----package1
----------cmakelists.txt
----------include
----------launch
----------package.xml 描述功能包的屬性,包括功能包的名字、版本號、作者、維護者、通行證 以及所以來的功能包。
----------src 儲存你的此程式包下的程式原始檔
--------------1.cpp 程式原始檔1
--------------2.cpp 程式原始檔2
cmakelists.txt
#1.cmake verson,指定cmake版本
cmake_minimum_required(version 3.2)
#2.project name,指定專案的名稱,一般和專案的資料夾名稱對應
project(test_sqrt)
#3.head file path,頭檔案目錄
include_directories(
include
)#4.source directory,源檔案目錄
aux_source_directory(src dir_srcs)
#5.set environment variable,設定環境變數,編譯用到的原始檔全部都要放到這裡,否則編譯能夠通過,但是執行的時候會出現各種問題,比如"symbol lookup error ***xx , undefined symbol"
set(test_math$)
#6.add executable file,新增要編譯的可執行檔案
add_executable($ $)
#7.add link library,新增可執行檔案所需要的庫,比如我們用到了libm.so(命名規則:lib+name+.so),就新增該庫的名稱
target_link_libraries($ m)
package.xml1、基本結構
2、標籤
- 功能包的名字
-功能包的版本
- 功能包內容的描述
- 功能包的建立於維護者
- 軟體發行版通行證 (例如: gpl, bsd, asl)
例子:
foo_core
1.2.4
this package provides foo capability.
ivana bildbotz
bsd
3、依賴
一共有四種依賴包
- 指定編譯此功能包的編譯系統工具
- 指定編譯此功能包需要的其他功能包,可以是功能包中的標頭檔案、鏈結庫、其他原始檔。
- 指定執行此功能包**需要的其他功能包。
- 指定單元測試需要的其他功能包
收藏
ROS 總結(一) ROS系統框架
ros的系統主要被分成了三部分 檔案系統級 程式是如何組織和構建的,需要的核心檔案 計算圖級 描述程式是如何執行的,程序和系統之間如何通訊 開源社群級 程式的分布式管理方式,開發人員之間如何共享知識 演算法和 ros系統的不同元件被放在不同的功能資料夾下。這些資料夾根據功能的不同來對檔案進行組織 功...
ROS學習(一) ROS入門
注 主要是古月部落格學習過程中的記錄,其專欄為 ros robot operating system 是用於機械人的一種次級作業系統,可以提供硬體抽象描述 底層驅動程式管理 共用功能執行 程式間的訊息傳遞 程式發行包管理等功能。ros的設計目標是在機械人研發中提高 復用率,是一種分布式處理框架,可執...
ROS學習之路(一)認識ROS
機器代替人力走進各行各業解放人類已經成為一種不可遏制的趨勢,ros便是用來控制這些機器的比較流行的平台,類似於手機中的android。ros建立在linux系統之上,有點像linux的一種特殊軟體。裡面有很多庫,可以用來執行不同功能。我們經常會遇到這樣的情況,機器在下面執行著 比如一輛裝有攝像頭 雷...