ROS學習筆記35(標準單位,座標系和程式設計規則)

2021-09-26 00:26:22 字數 1182 閱讀 7182

對ros中所使用的訊息(message),推薦使用世界上最廣泛運用的標準單位si。為了確保這一點,rep-0103 也明確了各物理量的單位。例如,長度(length),使用公尺(merter)、質量(mass)使用千克(kilogram)、時間(time)使用秒(second)、電流(current)使用安培(ampere)、角度(angle)使用弧度(radian)、頻率(frequency)使用赫茲(hertz)、力(force)使用牛頓(newton)、功率(power)使用瓦(watt)、電壓(voltage)使用伏特(volt)、溫度(temperature)使用攝氏度(celsius)。其他所有單位都是這些單位的組合。例如,平移速度以公尺/秒表示,旋轉速度以弧度/秒表示。訊息鼓勵重用ros提供的方式,但也可以根據需要使用使用者全新定義的新的型別的訊息。然而,訊息用到的單位卻必須要遵守使用si單位,這是為了讓其他使用者使用這種訊息的時候不需要轉換單位。

左側所示,ros中的旋轉軸使用x,y和z軸。正面是x軸的正方向,軸是紅色(r)。左邊是y軸的正方向,軸用綠色(g)表示。最後,上方是z軸的正方向,軸用藍色(b)表示。為了便於記憶,您可以將x軸視為食指,將y軸視為中指,將z軸視為拇指。順序是x、y、z,且顏色是rgb顏色順序。機械人的旋轉方向是右手定則 ,用右手捲住的方向是正(+)方向。例如,如果機械人在原地從12點鐘方向開始向9點方向旋轉,則由於旋轉角度的單位用弧度,所以我們說機械人在z軸上旋轉+1.5708弧度。這種座標表示法在ros程式設計中經常使用,必須以x:forward,y:left,z:up的形式進行程式設計。

為了最大化每個程式的源**的可重用性,ros指定了程式設計風格指南,並建議開發者遵守該指南。這減少了開發人員在處理源**時頻繁發生的額外的選項,也提高了其他協作開發人員和使用者們的**理解程度,並降低了他們之間的**分析難度。這不是乙個要

求,但為了**共享,筆者想鼓勵ros的許多使用者遵守這一規則。程式設計規則在wiki(c++ ,python )中按各個程式語言有詳細解釋。下面的**整理了基本的命名規則 ,在開始ros程式設計之前熟悉這些吧。

ROS中常見座標系定義及基本單位

為了方便開發者 復用,ros中統一定義了常見的座標系 rep 所有的座標系都是右手座標系。1.map 固定的世界座標系,z軸垂直向上。在map中表示的移動平台的pose是沒有drift,沒有累計誤差的。而且,pos的變化時不連續的,也就是說,pose是隨時間間隔的跳動。在典型應用中,系統中的定位模組...

ROS作業系統學習(十二)ROS中的座標系管理系統

tf功能包能幹什麼 tf座標變換如何實現?通過座標變換實現控制乙個海龜移動,而另乙個海龜緊緊跟隨這只海龜的移動 1.安裝必要包 sudo apt get install ros melodic turtle tf2.啟動launc 件 roslaunch turtle tf turtle tf de...

python座標系轉換 GNSS學習筆記 座標轉換

gnss 座標轉換 gnss計算主要涉及三個座標系,地心地固座標系,地理座標系和站心座標系。這裡主要介紹一下三個座標的含義和轉換公式。地心地固座標系如圖x,y,z表示 ecef座標系 以地心o為座標原點,z軸指向協議地球北極,x軸指向參考子午面與地球赤道的交點,也叫地球座標系。一般gnss座標計算都...