ros架構分為三部分,
1、工作空間
2、功能包
為了建立、修改功能包,ros的工具有如下這些
rosbash功能包提供了一些類似於linux命令的命令
3、元功能包
元功能包(簡稱元包)是一些只有乙個檔案的特殊包,這個檔案就是package.xml。它不包含其他檔案如**等。
使用遷移的特定規則,可以將ros fuerte中的功能包和功能包集轉換為kinetic和catkin。具體參考%\url。
%%%%注:hyperref與listings包有衝突
定位元功能包,使用命令如下\
rosstack find ros_tutorials
4、訊息
基本型別
序列化c++
python
bool
無符號8位int
uint8_t
bool
int8
有符號8位int
int8_t
intuint8
無符號8位int
uint8_t
intint16
有符號16位int
int16_t
intuint16
無符號16位int
uint16_t
intint32
有符號32位int
int32_t
intuint32
無符號32位int
uint32_t
intint64
有符號64位int
int64_t
intuint64
無符號64位int
uint64_t
intfloat32
32位ieeefloat
float
float
float64
64位ieeefloat
double
float
string
ascii string
std::string
string
time
secs/nsecs有符號32位ints
ros::time
rospy::time
duration
secs/nsecs有符號32位ints
ros::duration
rospy::duration
ros中的一種特殊資料型別是標頭型別,它主要用於新增時間、座標系和序列號等。標頭還允許對訊息進行編號。通過在標頭型別內部附加資訊,我們知道是哪個節點發出的訊息,或者可以新增對使用者透明的功能以及一些能夠被ros處理的功能。
標頭型別包含以下字段
uint32 seq
time stamp
string frame_id
5、服務
如果想要在ros中建立乙個服務,可以使用服務生成器。這些工具能夠從最基本的服務說明中生成**。只要在cmakelists.txt中加一行gensrv() 命令。
計算圖級的圖形化表示(節點狀態圖)表示了真實機械人在真實條件下系統的工作狀態。
用於建立改圖的工具是rqt_graph,這些概念在ros-comm軟體庫中實現。
1、節點與nodelet
ros有另一種型別的節點,稱為nodelet(動態載入節點)——內部可通訊的多個節點。
這類節點可以在單個程序中執行多個節點,每個nodelet為乙個執行緒(輕量級程序)。
這樣可以在不使用ros網路的情況下與其他節點通訊,節點通訊效率更高,並避免網路擁塞。nodelet對於攝像頭和3d感測器這類資料傳輸量非常大的裝置非常有用。
ros提供了處理節點和顯示節點資訊的工具
ros節點的乙個強大功能是可以在啟動該節點時更改引數。此功能使我們能夠改變節點名稱、主題名稱和引數名稱。
例如
rosrun book_tutorials tutorialx topic1 :=/level1/topic1
此命令將主題名稱topic1改為/level1/topic1.
更改引數和更改主題名稱類似,只要在引數名稱前新增乙個下劃線(_),例如\
rosrun book_tutorials tutorialx _parpam :=9.0
但是不能使用系統保留的關鍵字名稱
2、主題
主題是節點之間用來傳輸資料的匯流排。
每個主題都是強型別的,發布到主題上的訊息必須與主題的ros訊息型別相匹配。
ros的主題使用tcp/ip和udp傳輸,預設tcpros,還有udpros。
ros有乙個rostopic工具用於主題操作。
3、服務
當需要與節點通訊並以rpc方式獲得應答時,將無法通過主題實現,需要使用服務。
服務需要由使用者開發,節點並不提供標準服務。包含訊息源**的檔案儲存在srv資料夾中。
ros關於服務的命令列工具有兩個:rossrv與rosservice。
我們通過rossrv看到服務資料結構的資訊,並且與rosmsg具有完全相同的用法。
通過rosservice可以列出服務列表和查詢某個服務。支援的命令如下
4、訊息
ros使用命令列工具rosmsg來獲取有關訊息的資訊
5、節點管理器
節點管理器的作用是使ros節點之間能夠相互查詢。
6、引數伺服器
引數伺服器是可通過網路訪問的共享的多變數字典。節點使用此伺服器來儲存和檢索執行時的引數。
引數伺服器使用xmlrpc實現並在ros節點管理器下執行,這意味著它的api可以通過通用的xmlrpc庫進行訪問。xmlrpc是乙個使用xml編碼並以http作為傳輸機制的遠端呼叫協議。
引數伺服器使用xmlrpc資料型別為引數賦值,包括以下型別
ros中關於引數伺服器的工具是rosparam。其支援的引數如下
其概念主要是ros資源。包括
ROS 系統架構及概念
ros 系統架構主要被設計和劃分為三部分,每一部分代表乙個層級的概念 檔案系統級 the filesystem level 計算圖級 the computation graph level 和開源社群級 the community level 檔案系統級 ros 的內部結構 檔案結構和所需的核心檔案...
ios基礎知識 03
裝置 螢幕型別 螢幕尺寸 點 解析度 畫素 iphone 3gs 非 retina 3.5 inch 320 480 320x480 iphone4 4s retina 3.5 inch 320 480 640x960 iphone5 5c 5s retina 4 inch 320 568 640x...
03 Python 基礎知識
目錄 1.注釋 2.變數及型別 3.命名規則 4.運算子 coding utf 8 time 2021 1 23 author 大海 這是單行注釋 這是多行注釋1 這是多行注釋2 運算子 描述例項 加 兩個物件相加 a b 輸出結果 30 減 得到負數或是乙個數減去另乙個數 a b 輸出結果 10 ...