EGO 坐标系让机器人有了空间感引言机器人为什么需要空间感人类走路、伸手拿杯子、绕过障碍物一切动作都基于一个基本前提——我们知道自己在哪、手在哪、周围的空间是什么样的。这种直觉般的空间感知能力对机器人来说却是一项复杂的工程挑战。在具身智能和人形机器人领域“模仿学习”Imitation Learning是一种主流的训练范式让机器人观察人类的动作演示然后学会复现同样的行为。但这里有一个关键前提——人类演示的动作轨迹和机器人实际执行的动作轨迹必须在同一个空间参考系下对齐。如果坐标系不统一机器人看到的右手向上可能实际是左手向前模仿也就无从谈起。EGO 头部设备通过两套坐标系的设计配合 VIO 实时输出的 6DoF 位姿为机器人提供了稳定的空间参照。本文从技术原理出发详细解析 EGO 的坐标系体系及其在模仿学习中的作用。两套坐标系世界系与局部系EGO 设备定义了两套核心坐标系世界坐标系World Frame和设备局部坐标系Body Frame / IMU Frame。两套坐标系各司其职共同描述设备在空间中的位置和姿态。世界坐标系空间的基准地图世界坐标系是一个固定不变的全局参考系其原点和轴向在设备初始化时确定原点取初始化时刻 IMU惯性测量单元所在的空间位置Z 轴沿重力反方向竖直向上X 轴取设备初始朝向在水平面上的前向投影Y 轴由右手定则确定X×Z 的反方向即左侧这个定义有几个值得注意的技术细节第一Z 轴由重力方向确定而非设备自身方向。这意味着无论设备初始姿态如何倾斜世界坐标系的 Z 轴始终与重力方向对齐。这是通过 IMU 中的加速度计在静止状态下测量重力矢量实现的。初始化时设备保持静止加速度计测得的加速度矢量就是重力的反方向取其反方向即为 Z 轴正方向。第二X 轴是初始朝向的水平前向投影。这里的关键词是水平和投影。设备的初始朝向可能包含俯仰角点头和横滚角歪头但 X 轴不是简单地取设备前方而是将设备前向矢量投影到水平面即垂直于 Z 轴的平面上得到的方向才是 X 轴正方向。这样做的好处是世界坐标系的 X-Y 平面始终与水平面平行便于描述平面内的运动。第三右手定则确保坐标系正交且一致。Y 轴由 X 轴和 Z 轴通过叉乘确定确保三轴两两正交且符合右手系约定。这与 ROS机器人操作系统中的标准坐标系约定一致便于与机器人系统对接。局部坐标系设备自身的骨架与世界坐标系的全局性不同设备局部坐标系以 IMU 的几何中心为原点三轴定义如下X 轴指向设备前方Y 轴指向设备左侧Z 轴指向设备上方与设备外壳顶面垂直向上这个坐标系随着设备的运动而运动描述的是设备自身的姿态和相对于自身的运动。举个例子当你戴着 EGO 设备点头时在局部坐标系中你的头部是绕 X 轴旋转俯仰角 pitch当你左右摇头时是绕 Y 轴旋转偏航角 yaw当你歪头时是绕 Z 轴旋转横滚角 roll。局部坐标系的原点严格定在 IMU 的几何中心而不是设备外壳的某个点。这是因为所有运动测量数据加速度、角速度都来自 IMU以 IMU 为原点可以避免坐标系偏移带来的误差简化运动学计算。两套坐标系的关系世界坐标系是不动的背景局部坐标系是移动的物体。VIO视觉惯性里程计的核心任务就是实时计算局部坐标系在世界坐标系中的位置和姿态也就是所谓的 6DoF 位姿6 Degrees of Freedom Pose。VIO 与 6DoF 位姿每秒 30 次的空间定位什么是 6DoF6DoF 指的是描述一个刚体在三维空间中运动所需的六个自由度三个平移自由度沿 X 轴、Y 轴、Z 轴的位移三个旋转自由度绕 X 轴俯仰/pitch、绕 Y 轴偏航/yaw、绕 Z 轴横滚/roll的旋转完整的 6DoF 位姿通常用一个三维位置向量x, y, z加上一个旋转表示四元数、欧拉角或旋转矩阵来描述。VIO 如何工作VIO 全称 Visual-Inertial Odometry即视觉惯性里程计。它融合了两种传感器的数据视觉传感器相机通过连续帧之间的特征点匹配估计相机的运动惯性传感器IMU通过加速度计和陀螺仪的高频测量提供短时间内高精度的运动估计两者互补视觉在长距离下有漂移但能通过场景特征校正IMU 频率高但长时间积分会累积误差。融合之后VIO 既能保持较高的更新频率又能有效抑制漂移。EGO 的 VIO 以30Hz的频率输出世界坐标系下的 6DoF 位姿。也就是说每 33.3 毫秒系统就会给出一次当前设备在世界坐标系中的位置和姿态。对于模仿学习来说这个频率意味着什么呢30Hz 足够捕捉人类头部的自然运动。人类正常转头、点头的频率通常在几赫兹量级30Hz 的采样率可以提供足够的时间分辨率完整记录运动轨迹。同时30Hz 也不会产生过多的数据量保证下游算法的实时性。统一空间参照的意义在模仿学习中演示数据的空间参照一致性至关重要。假设一个演示者做了十次抬手动作每次站的位置和朝向可能都略有不同。如果每次演示的轨迹都记录在各自的局部坐标系里这十次数据就没有可比性——你无法用它们训练出一个通用的抬手模型。而有了世界坐标系下的 6DoF 位姿情况就不一样了每次演示都从一个共同的初始状态出发初始化时确定世界系原点和轴向所有轨迹都统一到同一个空间参考系下不同次演示之间的轨迹可以直接比较和对齐训练出来的策略可以泛化到不同的初始位置这就是为什么说VIO 输出的世界系 6DoF 位姿为模仿学习算法提供了可用的空间骨架。Finger 指尖相机机器人端的坐标系对接除了头部的 EGO 设备在机器人端Finger 指尖相机也有自己的坐标系定义。理解这一层坐标系的对接才能完整理解整个系统的空间一致性。Finger 相机坐标系Finger 指尖相机的坐标系定义如下原点相机光心光学中心坐标系方向右手系定义与 URDF base_link 一致坐标系约定与机器人 URDF 模型中的 base_link 坐标系一致这个一致性非常重要。URDFUnified Robot Description Format是 ROS 生态中描述机器人模型的标准格式base_link 是机器人模型的基座坐标系。如果 Finger 相机的坐标系与 base_link 一致那么相机采集的数据就可以直接对接机器人模型不需要额外的坐标系转换。数据流动的完整链条从演示到执行完整的空间数据流动链条是这样的采集阶段EGO 设备采集人类演示的头部运动以 IMU 局部坐标系为原始参考定位阶段VIO 实时计算世界坐标系下的 6DoF 位姿将局部运动转换为全局轨迹训练阶段模仿学习算法在世界坐标系下学习演示轨迹提取动作策略执行阶段机器人执行策略输出的动作通过 Finger 相机等传感器反馈自身状态闭环阶段Finger 坐标系与机器人 base_link 对齐感知数据可直接用于运动控制每一步的坐标系都经过了精心设计确保数据可以在系统内无缝流动。坐标系设计中的工程考量一个看似简单的坐标系定义背后其实有很多工程考量。让我们从几个角度来看。为什么用右手系右手坐标系是机器人学和计算机图形学的通用约定。ROS、OpenGL、Unity 等主流框架都采用右手系。采用右手系可以最大限度地减少与现有工具链对接时的转换成本避免因坐标系手性不同而产生的 bug。为什么 Z 轴向上在移动机器人和人形机器人领域Z 轴向上是最常见的约定。这符合人类对空间的直觉——地面是 X-Y 平面高度是 Z 方向。同时重力方向与 Z 轴对齐也便于利用 IMU 加速度计直接测量重力方向来确定 Z 轴。为什么需要两套坐标系只用一套坐标系不行吗理论上可以但工程上会很不方便。如果只用世界坐标系那么描述设备自身的姿态变化就需要不断进行坐标变换计算量大且容易出错。局部坐标系的存在让我们可以直接在设备自身的参考系下描述姿态和运动物理意义更清晰计算也更简单。反过来如果只用局部坐标系就无法描述全局位置——你不知道设备在房间的哪个位置、面朝哪个方向。世界坐标系提供了全局参照让不同时刻、不同位置的测量可以在同一框架下比较。两套坐标系配合既保留了局部描述的简洁性又具备全局参照的一致性是工程上的最优解。总结EGO 的坐标系体系是一套精心设计的空间参照系统世界坐标系提供全局基准局部坐标系描述自身姿态VIO 以 30Hz 输出两者之间的变换关系Finger 相机坐标系与机器人 base_link 对齐确保端到端的数据一致性。对于模仿学习来说这套坐标系体系就像是机器人的空间骨架——没有它采集到的运动数据只是一堆散乱的数字有了它这些数字才有了空间意义才能被算法理解和复现。在具身智能快速发展的今天底层的空间感知能力往往决定了上层算法的天花板。EGO 的坐标系设计正是从底层为机器人的空间理解打下了坚实的基础。One More Thing…朗锐创新专注于工业智能视觉、深度相机、空间智能、具身智能技术应用。提供专业硬件定制化服务帮助客户项目快速实现快速盈利。