2. 机器人基础
移动操作机器人不是“移动底盘 + 机械臂”的简单叠加,而是一个需要在运动中完成抓取任务的耦合系统。理解它的第一步,是把底盘、机械臂、坐标系、位姿、传感器与执行器这些基础概念拆开看清楚,再建立它们之间的连接关系。本节围绕这条主线展开,为后续导航、标定、抓取规划打下共同语言。
一、移动底盘与机械臂的分类
移动底盘按运动学结构常见分为差速驱动、阿克曼转向、麦克纳姆轮与全向轮四类。差速底盘结构简单、成本低,适合室内平坦地面;阿克曼底盘接近汽车转向,适合室外高速场景;麦克纳姆轮和全向轮可实现平面三自由度运动,适合狭窄空间内精确对位,但效率与地面适应性较弱。
机械臂按关节构型可分为笛卡尔型、SCARA、圆柱型、极坐标型和关节型(串联 6 轴)。移动操作场景中最常见的是 6 轴或 7 轴串联关节臂,因为它能在有限体积内覆盖较大工作空间,并具备姿态调整能力。协作臂则进一步强调力控与安全性,适合与人共处环境。
二、自由度与工作空间
自由度(DOF)描述系统独立运动的能力。移动底盘在平面上通常有 3 个自由度:x、y 平移与绕 z 轴旋转;机械臂每个独立关节贡献 1 个自由度。6 轴机械臂理论上可在三维空间中到达任意位置与姿态,但实际受关节限位、奇异位形和自身碰撞约束。
工作空间分为可达工作空间与灵巧工作空间。可达工作空间是末端能到达的所有位置集合;灵巧工作空间是末端能以任意姿态到达的位置集合,通常远小于前者。移动底盘扩展了机械臂的“有效工作空间”——机器人可以先移动到目标附近,再让机械臂在灵巧区内完成抓取。
关键结论:移动操作机器人的任务成功率,往往取决于“底盘停位是否把目标送入机械臂灵巧工作空间”,而不仅是机械臂本身是否够长。
三、坐标系与位姿表示
移动操作机器人涉及多个坐标系:世界坐标系(map)、底盘坐标系(base_link)、机械臂基座坐标系(arm_base)、末端坐标系(ee_link)、相机坐标系(camera_link)与目标物体坐标系(object)。每个坐标系之间的变换用齐次变换矩阵描述:
T = [ R t ]
[ 0 1 ]
R:3×3 旋转矩阵
t:3×1 平移向量
T:4×4 齐次变换矩阵
位姿表示常用旋转矩阵、欧拉角、轴角与四元数。欧拉角直观但存在万向节死锁;四元数无奇异、插值平滑,是 ROS 中位姿消息的标准表示。工程中常见做法是:内部计算用四元数,人机界面显示用欧拉角。
四、常见传感器与执行器
传感器分为本体感知与外部感知。本体感知包括轮式编码器、关节编码器、IMU、电流/力矩传感器;外部感知包括 2D 激光雷达、3D 激光雷达、RGB-D 相机、超声波与触觉传感器。执行器则包括底盘驱动电机、机械臂关节电机、夹爪/吸盘等末端执行器。
| 类别 | 典型器件 | 主要作用 | 常见接口/话题 |
|---|---|---|---|
| 底盘感知 | 轮式编码器、IMU | 里程计推算、姿态估计 | /odom、/imu |
| 环境感知 | 2D/3D 激光雷达 | 建图、定位、避障 | /scan、/points |
| 视觉感知 | RGB-D 相机 | 目标检测、位姿估计 | /camera/color、/depth |
| 关节感知 | 关节编码器、力矩传感器 | 关节角反馈、力控 | /joint_states |
| 执行器 | 驱动电机、夹爪、吸盘 | 运动与抓取 | /cmd_vel、/gripper |
五、案例:从“看到杯子”到“抓住杯子”
假设机器人用 RGB-D 相机检测到桌面上的杯子。流程如下:相机给出杯子在 camera_link 下的位姿;通过手眼标定矩阵变换到 arm_base;再结合底盘在 map 中的位姿,得到杯子在 map 下的全局位姿;规划底盘停位使杯子落入灵巧工作空间;最后机械臂逆解到抓取位姿并闭合夹爪。任何一步坐标系变换出错,都会导致“看得见却抓不准”。
六、误区与复盘
- 误区一:认为 6 轴一定比 5 轴好。若任务只需平面抓取,SCARA 可能更高效。
- 误区二:忽略底盘停位精度。底盘定位误差会直接传递到末端抓取误差。
- 误区三:只用欧拉角做插值,导致姿态跳变。应统一使用四元数。
- 误区四:传感器装好即用,不做外参标定。相机与机械臂之间的变换必须标定。
复盘建议:每次抓取失败后,按“感知位姿 → 坐标变换 → 底盘停位 → 逆解 → 执行器”顺序逐级排查,能快速定位问题层级。
把上述概念串起来看:底盘决定“到哪里”,机械臂决定“怎么抓”,坐标系与位姿表示决定“算得准不准”,传感器与执行器决定“做得成不成”。这五者共同构成移动操作机器人的基础能力模型,也是后续导航与抓取工程实践的起点。