ROS中的標準計量單位和座標約定

1 摘要

該REP爲ROS中使用的單位和座標約定提供了參考。

2 基本原理

單位和約定不一致是開發人員常見的集成問題來源,也可能導致軟件錯誤。由於數據轉換,它還會創建不必要的計算。該REP記錄了ROS的標準約定,以減少這些問題。

3 例外情況

潛在的機器人軟件的範圍太廣,無法要求所有ROS軟件都遵循本REP的準則。但是,選擇不同的約定應該有充分的理由並有據可查。

4 單位

我們選擇對國際單位制進行標準化。這些單位是最一致的國際標準。國際單位制是由國際度量衡局維護的[1]。維基百科上有很多關於國際單位制的文檔[2]

4.1 基本單位

這些是常用的基本單位:

在這裏插入圖片描述

4.2 衍生單位

SI定義了七個基本單位和許多派生單位。如果您不使用SI基本單位,則應使用SI衍生的單位。

可以在Wikipedia上找到有關SI派生單位的好的文檔

ROS中常用的SI衍生單位爲:

在這裏插入圖片描述

5 座標系約定

所有座標系都應遵循這些約定。

5.1 Chirality

所有系統都是右手的。這意味着他們遵守右手規則

5.2 軸方向

對於本體,標準是:

  • x forward
  • y left
  • z up

對於地理位置的短距離笛卡爾表示法,請使用East North Up(ENU)約定:

  • X east
  • Y north
  • Z up

爲避免float32值較大的精度問題,建議選擇附近的原點,例如系統的起始位置。

5.3 Suffix Frames(後綴座標系)

對於攝像機,通常會有第二個座標系以“ _optical”後綴定義。這使用了稍微不同的約定:

  • z forward
  • x right
  • y down

對於需要在北東下(NED)約定下工作的室外系統,請定義一個經過適當轉換的後綴“ _ned”的輔助座標系:

  • X north
  • Y east
  • Z down

5.4 旋轉表示

有很多表示旋轉的方法。下面列出了首選順序以及基本原理。

1.四元數

  • 緊湊的表示
  • 沒有奇異性

2.旋轉矩陣

  • 沒有奇異性

3.fixed axis roll, pitch, yaw about X, Y, Z axes respectively

  • 順序上沒有歧義
  • 用於角速度

4.euler angles yaw, pitch, and roll about Z, Y, X axes respectively

通常不建議使用歐拉角,這是因爲默認情況下具有使用不同約定的24個“有效”約定以及不同的域。

根據右手定則,方向的偏航分量會隨着子座標系的逆時針旋轉而增加,對於地理位姿,指向東方時偏航爲零。

這僅需特別提及,因爲它不同於傳統的羅盤方位角,後者在指向北時爲零,並順時針遞增。硬件驅動程序應在發佈標準ROS消息之前進行適當的轉換。

5.5 協方差表示

1.Linear

float64[9] linear_acceleration_covariance # 3x3 row major matrix in x, y, z order

2.Angular

float64[9] angular_velocity_covariance # 3x3 row major matrix about x, y, z order with fixed axes

3.Six Dimensional

# Row-major representation of the 6x6 covariance matrix
# The orientation parameters use a fixed-axis representation.
# In order, the parameters are:
# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)
float64[36] covariance

參考

https://www.ros.org/reps/rep-0103.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章