机器人还没开始写代码?先把这6个坐标系搞清楚
一、机器人“看见了”,为什么还是抓不到?
用一个直观案例引入:
摄像头已经识别出桌上的水瓶,也画出了准确的检测框,但机器人却走偏了,或者机械臂伸向了错误的位置。
问题可能不在识别模型,而在于:
-
检测框表示的是图像中的像素位置;
-
水瓶的三维位置需要在相机坐标系中计算;
-
机器人移动时使用本体、里程计或地图坐标系;
-
机械臂抓取时还要使用机械臂基座和末端执行器坐标系。
核心观点:同一个目标,在不同坐标系中的数字完全不同。机器人行动前,必须先回答“这个位置是相对于谁而言的”。
二、坐标系到底是什么?
通俗解释:坐标系就是机器人描述位置和方向时使用的“参照物”。
重点说明:
-
位置通常用x、y、z表示;
-
姿态可用欧拉角、旋转矩阵或四元数表示;
-
坐标数据需要同时说明所属坐标系;
-
机器人运动场景中的数据通常还要带有时间戳;
-
单独给出“目标在(1,2,3)”没有实际意义。
建议配图:同一个水瓶分别在地图、机器人本体、摄像头和机械臂视角下,对应不同坐标值。
三、机器人常见的6个坐标系
1. 地图坐标系:机器人在整个环境中的位置
在ROS系统中常见名称为map;仿真或其他系统也可能使用world,但两者的定义不一定完全相同。
地图坐标系用于描述机器人、目标点和障碍物在全局环境中的位置,是全局导航和任务规划的基础。
map通常由SLAM、定位系统或外部定位设备建立,并不等于真实世界中的经纬度坐标。
2. 里程计坐标系:机器人从哪里走到了哪里
在ROS系统中常见名称为odom。
它通常根据轮式里程计、视觉惯性里程计等信息估计机器人的连续运动,短时间内比较平滑,适合运动控制和局部规划。
重点说明:
-
map追求全局位置正确,但可能因重定位发生修正; -
odom追求局部连续,但会因轮胎打滑和传感器误差产生长期漂移。
3. 机器人本体坐标系:前后左右以谁为准
常见名称为base_link或body。
它通常固定在机器人底盘或机身上,机器人的前进、后退、左右移动和旋转方向都以它为参照。
例如,“向前移动1米”通常描述的是机器人本体方向,而不是地图中的固定方向。
4. 传感器坐标系:摄像头看到的位置
相机、深度相机、LiDAR和IMU等设备都有各自的坐标系。
不同传感器的轴方向可能不同。例如,相机光学坐标通常以z轴指向镜头前方,而机器人本体坐标通常以x轴表示前方,二者不能直接混用。
这里引出三个关键概念:
-
相机内参:描述像素位置与相机成像之间的关系;
-
传感器外参:描述传感器相对于机器人本体的位置和姿态;
-
深度信息:检测框只提供二维像素区域,还需要深度图或点云,才能估计目标的三维位置。
5. 末端执行器坐标系:机械臂真正从哪里抓
常见名称为tool0、tool或end_effector。
它通常固定在夹爪、吸盘或工具中心点上。即使已经知道目标在机器人旁边的三维位置,也必须进一步计算末端执行器应以什么位置和姿态接近目标。
这里可以带出:
-
机械臂基座与相机之间的标定;
-
手眼标定;
-
工具中心点和抓取姿态。
目标识别正确但外参、工具中心点或抓取方向错误,仍然可能导致抓偏或抓空。
6. 目标或任务坐标系:机器人最终要去哪里、操作什么
目标坐标系可以以目标物体、导航目标或操作区域为参照建立。
例如:
-
“走到椅子前方1米”;
-
“抓住杯柄,而不是杯身”;
-
“移动到目标左侧”;
-
“找到离机器人最近的工具箱”。
这类任务不仅需要目标类别,还需要区分具体实例、局部区域、空间关系和相对位置。
四、6个坐标系如何串起来?
以“机器人找到桌上的水瓶并靠近”为例:
二维目标区域 → 结合深度或点云恢复三维位置 → 相机坐标 → base_link → odom/map → 生成导航目标 → 局部规划与控制
如果还需要机械臂抓取,则继续经过:
目标三维位姿 → 机械臂基座坐标 → 末端执行器目标位姿 → 轨迹规划 → 夹爪执行
强调:
-
二维检测框不能直接作为机器人的三维行动坐标;
-
坐标转换需要使用同一时间点对应的位姿关系;
-
标定、时间同步或轴方向错误会沿转换链路传递,最终造成定位、导航或抓取偏差。
建议配一张完整转换流程图,分别用颜色区分视觉感知、坐标转换、规划决策和底层控制。
五、最常见的5类“坐标坑”
1. 轴方向混用
相机、机器人、地图和机械臂对前方、上方的定义可能不同,直接混用容易导致方向完全错误。
2. 单位混用
像素、毫米和米属于不同量纲,不能直接放在一起计算。
3. 时间戳错位
机器人已经移动,却仍然使用旧图像对应的位姿,会造成目标位置偏移。
4. 标定参数不准确
相机位置变化、安装松动或外参标定不准,都会影响最终的三维定位和抓取结果。
5. 坐标正确,但目标选错
模型可能识别到了同类物体,却没有选中自然语言指令真正指向的目标实例。坐标转换再准确,也会让机器人走向错误目标。
六、从坐标转换进一步走向“理解后行动”
传统视觉链路通常先检测固定类别,再通过规则筛选目标。面对“拿着手机的人”“离机器人最近的箱子”“位于门口左侧的椅子”等指令,仅有检测框和坐标转换还不够。
面向真实机器人,还需要三类能力协同:
-
持续理解环境变化,而不是只处理单张静态图片;
-
根据自然语言完成细粒度目标选择、区域定位,并在目标不存在时拒绝输出错误结果;
-
将感知结果转化为规划与控制模块能够使用的局部目标、空间锚点或短时行动建议。
这里可以自然带出端侧流式理解、细粒度定位和局部行动规划等技术方向,但不将视觉模型表述为能够独立完成完整机器人系统。
七、结尾
机器人真正需要的,不只是知道“画面里有什么”,而是持续回答四个问题:
“目标是谁?”
“目标在哪里?”
“它的位置是相对于谁?”
“下一步应该往哪里走?”
坐标系负责建立空间基础,语义感知负责选对目标,规划模块负责把目标转化为行动,控制器负责真正执行。只有这些环节正确协同,机器人才能从“看见目标”真正走向“理解并行动”。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)