ROS學習總結一ROS組織框架與幾個關鍵詞

2021-09-19 03:01:40 字數 1789 閱讀 9616

本人乙個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的一種特殊軟體。裡面有很多庫,可以用來執行不同功能。我們經常會遇到這樣的情況,機器在下面執行著 比如一輛裝有攝像頭 雷...