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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值