Airsim 坐标系

参考:

airsim系列(五) - 控制四旋翼的飞行(core api) - 知乎

AirSim(五)---理解篇: Airsim世界坐标系、NED坐标系、机体坐标系以及控制相关API接口函数-CSDN博客

【学习笔记】Airsim中的坐标系 - 知乎

AirSim相机、IMU内外参分析(VIO、vSLAM)_imu与相机-CSDN博客

一.

1.UE坐标系

(1) 特点

  • 左手坐标系
  • z轴向上
  • 单位是厘米
  • 原点是无人机的 playerstart(有待商议)

用户不必特别关系UE坐标系,因为AirSim已经处理好了这个问题,即只需要按照AirSim坐标系设置即可,包括Settings.json中的OriginGeopoint元素,AirSim会帮用户自动转换。

(2)解释

打点的时候,在 UE 里看到的点都是 UE 坐标系下的点,而当从 UE 坐标系转换到 AirSim NED 坐标系时,我们首先减去起始点偏移量(原点是无人机的playerstart),然后缩放100 实现cm到m的转换。


2.AirSim API的坐标系:NED 坐标系, 世界坐标系(world frame)

AirSim全局坐标系=NED坐标系=世界坐标系

  • 右手坐标系
  • 所有AirSim API使用NED坐标系统,即+X是北North,+Y是东East,+Z是下Down。这意味着Z值越高越负:如果原点在地面上,z值是零,地面以上是负的!
  • 所有单位都是国际单位制(All units are in SI system.),即长度单位是米
  • 请注意,不同于Unreal Engine (UE)内部使用的坐标系统。在Unreal Engine中,+Z是向上Up而不是向下Down,长度单位是厘米cm而不是米m。
  • AirSim API 来完成从 Unreal Engine 的 NEU 坐标系到 AirSim 的 NED 坐标系的适当转换。
  • 在AirSim NED 系统中,车辆的起始点总是坐标 (0,0,0)。因此,当从 UE 坐标系转换到 AirSim NED坐标系时,我们首先减去起始点偏移量,然后缩放100实现cm到m的转换。
  • 在 UE 环境中,车辆由 Player Start component 放置的地方生成或衍生而来,在 Settings.json配置文件中有一个设置项元素为 OriginGeopoint,可以将地理经度、纬度和海拔分配给 Player Start Component
  • 无人机的起始点坐标作为NED坐标系的原点,即无人机起始位置的坐标为 ( 0 , 0 , 0 )

OriginGeoPoint这指定了放置在Unreal环境中的Player Start Component的纬度、经度和高度。车辆的原点(home point)是用这个变换计算出来的。请注意,所有通过API采用的坐标都使用了以SI单位表示的NED坐标系统,这意味着每辆车在NED系统中都从(0,0,0)开始启动。
—《OriginGeopoint》官网资料


3.AirSim的机体坐标系:Body Frame

(1) 特点

  • x轴指向旋翼机的前方
  • y轴指向右侧
  • z轴向下
  • 也是右手坐标系

本部分参考:airsim document


二.例子

1.

def simGetVehiclePose(self, vehicle_name = ''):
    """
    The position inside the returned Pose is in the frame of the vehicle's starting point
    
    Args:
        vehicle_name (str, optional): Name of the vehicle to get the Pose of

    Returns:
        Pose:
    """
    pose = self.client.call('simGetVehiclePose', vehicle_name)
    return Pose.from_msgpack(pose)

根据AirSim文档中对 simGetVehiclePose 函数的描述,该函数返回的是车辆(或指定车辆)的姿态信息,包括位置和方向。在这个函数中,返回的姿态信息通常是相对于车辆起始点或参考点的位置和方向,因此它描述的是车辆在全局坐标系中的位置和方向。

换句话说,simGetVehiclePose 函数返回的位置和方向是相对于AirSim仿真环境中的全局坐标系的,而不是相对于特定车辆的局部坐标系的。这意味着返回的位置和方向表示车辆在整个仿真环境中的绝对位置和方向。

2.在无人机位于 UE 的起点处( Player Start component 放置的地方)时打印

3.在无人机位于 UE 的起点处( Player Start component 放置的地方)时打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leaf_leaves_leaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值