跳转至

机械臂与移动操作

概述

机械臂(Robot Arm / Manipulator)是工业机器人的核心形态,而移动操作(Mobile Manipulation)将移动底盘与机械臂结合,赋予机器人在开放环境中抓取和操作物体的能力。这是具身智能中"手"的核心问题。


机械臂基础

自由度与关节类型

  • 旋转关节(Revolute):绕固定轴旋转,最常见
  • 移动关节(Prismatic):沿直线平移
  • 自由度(DOF):末端执行器在三维空间中有 6 个自由度(3 平移 + 3 旋转),因此 6-DOF 机械臂是完全确定系统,7-DOF 则具有冗余自由度

运动学

正运动学:从关节角度 \(\mathbf{q}\) 计算末端位姿 \(\mathbf{T}\),通过齐次变换矩阵连乘:

\[ \mathbf{T}_{0}^{n} = \prod_{i=1}^{n} \mathbf{T}_{i-1}^{i}(q_i) \]

其中每个 \(\mathbf{T}_{i-1}^{i}\) 由 DH 参数(Denavit-Hartenberg)或 Product of Exponentials(PoE)方法确定。

逆运动学:给定末端目标位姿 \(\mathbf{T}_{desired}\),求解关节角度 \(\mathbf{q}\)。解析解仅对特定构型存在,通用方法使用数值迭代:

\[ \Delta \mathbf{q} = J^{\dagger}(\mathbf{q}) \cdot \Delta \mathbf{x} \]

其中 \(J^{\dagger}\) 为雅可比矩阵的伪逆(Moore-Penrose pseudoinverse)。当 \(J\) 接近奇异时,使用阻尼最小二乘法(Damped Least Squares):

\[ \Delta \mathbf{q} = J^T(JJ^T + \lambda^2 I)^{-1} \Delta \mathbf{x} \]

动力学

机械臂动力学由 Lagrangian 方程描述:

\[ M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + G(\mathbf{q}) = \boldsymbol{\tau} \]
  • \(M(\mathbf{q})\):质量矩阵(对称正定)
  • \(C(\mathbf{q}, \dot{\mathbf{q}})\):科氏力和离心力矩阵
  • \(G(\mathbf{q})\):重力项
  • \(\boldsymbol{\tau}\):关节力矩

计算力矩控制(Computed Torque Control)

\[ \boldsymbol{\tau} = M(\mathbf{q})(\ddot{\mathbf{q}}_d + K_d \dot{\mathbf{e}} + K_p \mathbf{e}) + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + G(\mathbf{q}) \]

其中 \(\mathbf{e} = \mathbf{q}_d - \mathbf{q}\) 是跟踪误差。

工作空间与奇异性

  • 可达工作空间:末端可以到达的所有位置集合
  • 灵巧工作空间:末端可以以任意姿态到达的位置子集
  • 奇异构型:雅可比矩阵秩降低的构型,导致某些方向无法运动

可操纵度(Manipulability)衡量机械臂在当前构型下的灵巧程度:

\[ w(\mathbf{q}) = \sqrt{\det(J(\mathbf{q})J(\mathbf{q})^T)} \]

主要平台

研究级机械臂

平台 DOF 负载 特点 价格范围
Franka Emika Panda 7 3 kg 力矩传感器全关节集成,阻抗控制 ~$30K
Kinova Gen3 7 4 kg 轻量化,支持 ROS2,力觉反馈 ~$25K
UR5e/UR10e 6 5/12.5 kg 协作机器人先驱,6轴力/力矩传感器 ~$35-50K
xArm 7 7 3.5 kg 国产高性价比,开源 SDK ~$8-10K
UFACTORY Lite 6 6 2 kg 超低价研究臂 ~$2K
Koch v1.1 6 - 开源低成本,LeRobot 社区 ~$300

Franka Emika Panda 详解

Franka Panda 是机器人操作研究中最广泛使用的平台:

  • 关节力矩传感器:所有 7 个关节内置高精度力矩传感器
  • 阻抗控制:支持笛卡尔空间和关节空间的阻抗控制
  • libfranka:1kHz 实时控制接口
  • franka_ros2:官方 ROS2 集成
  • 应用:广泛用于抓取、操作、接触丰富任务的研究

移动操作

为什么需要移动操作

固定基座的机械臂工作空间有限,而许多实际任务需要机器人在环境中移动并操作物体:

  • 家务整理(从不同房间取放物品)
  • 仓库物流(移动到货架前拣选)
  • 巡检维护(移动到设备旁进行操作)

系统架构

graph TB
    subgraph 感知层
        CAM[RGB-D 相机] --> DET[物体检测/分割]
        LID[LiDAR] --> MAP[建图/定位]
        FT[力/力矩传感器] --> CONT[接触检测]
    end

    subgraph 规划层
        DET --> GRASP[抓取规划]
        MAP --> NAV[导航规划]
        GRASP --> WBC[全身规划<br/>Whole-Body Planning]
        NAV --> WBC
    end

    subgraph 控制层
        WBC --> BASE[底盘控制]
        WBC --> ARM[机械臂控制]
        CONT --> ARM
        BASE --> MOT_B[底盘电机]
        ARM --> MOT_A[机械臂关节电机]
    end

    subgraph 硬件
        MOT_B --> ROBOT[移动操作机器人]
        MOT_A --> ROBOT
        ROBOT --> CAM
        ROBOT --> LID
        ROBOT --> FT
    end

全身规划与控制

移动操作的核心挑战在于底盘运动与机械臂运动的协调

方法一:分层规划

  1. 先规划底盘到达操作位置
  2. 底盘停稳后,规划机械臂运动
  3. 简单但效率低,不适合动态环务

方法二:全身运动规划

将底盘自由度(\(x, y, \theta\))与机械臂自由度(\(q_1, ..., q_n\))统一为一个高维配置空间:

\[ \mathbf{q}_{full} = [x, y, \theta, q_1, q_2, ..., q_n]^T \]

在该空间中使用 RRT/PRM 等采样规划器进行联合规划。

方法三:优化方法

使用轨迹优化(如 TrajOpt, CHOMP)同时优化底盘和臂的运动:

\[ \min_{\mathbf{q}_{0:T}} \sum_{t=0}^{T} \left[ c_{task}(\mathbf{q}_t) + c_{smooth}(\mathbf{q}_t, \mathbf{q}_{t-1}) + c_{collision}(\mathbf{q}_t) \right] \]

代表性移动操作平台

平台 构成 特点 应用
Hello Robot Stretch 差动底盘 + 伸缩臂 轻量化,~$25K,简洁设计 家庭辅助研究
Fetch Mobile Manipulator 差动底盘 + 7-DOF 臂 经典研究平台 已停产,大量历史工作
Mobile ALOHA AgileX 底盘 + 双 ViperX 臂 低成本双臂遥操作,开源 模仿学习、家务
Google Everyday Robots 移动底盘 + 7-DOF 臂 内部研发,RT-1/RT-2 办公室清理
TIAGo (PAL Robotics) 差动底盘 + 7-DOF 臂 商用研究平台,ROS 集成 服务/研究
PR2 (Willow Garage) 全向底盘 + 双 7-DOF 臂 历史经典,ROS 起源平台 已停产

抓取

抓取问题分类

graph TD
    A[机器人抓取] --> B[解析方法]
    A --> C[基于学习的方法]

    B --> B1[力封闭分析<br/>Force Closure]
    B --> B2[形封闭分析<br/>Form Closure]
    B --> B3[抓取质量度量]

    C --> C1[基于图像<br/>GG-CNN, GraspNet]
    C --> C2[基于点云<br/>Contact-GraspNet, AnyGrasp]
    C --> C3[基于扩散模型<br/>Diffusion Policy]
    C --> C4[基于语言引导<br/>VLM + 抓取]

    B1 --> D[已知物体模型]
    C1 --> E[未知物体泛化]
    C2 --> E

力封闭与抓取质量

力封闭(Force Closure):抓取接触点的摩擦锥组合能够抵抗任意外部扰动力。

给定接触点 \(i\) 处的接触力 \(\mathbf{f}_i\),摩擦锥约束为:

\[ \sqrt{f_{ix}^2 + f_{iy}^2} \leq \mu f_{iz}, \quad f_{iz} \geq 0 \]

将接触力映射到物体坐标系的力旋量(wrench)空间:

\[ \mathbf{w}_i = G_i \mathbf{f}_i, \quad G_i = \begin{bmatrix} I \\ [p_i]_\times \end{bmatrix} \]

其中 \([p_i]_\times\) 是接触点位置向量的反对称矩阵。

抓取质量度量:所有接触力旋量的正线性组合构成可行力旋量集合 \(\mathcal{W}\),其质量为:

\[ Q = \min_{\mathbf{w} \in \partial \mathcal{W}} \|\mathbf{w}\| \]

即可行力旋量空间边界上到原点的最小距离。\(Q > 0\) 表示力封闭成立,\(Q\) 越大抓取越鲁棒。

基于学习的抓取

GraspNet / AnyGrasp

  • 输入:单帧/多帧点云
  • 输出:大量候选抓取位姿(\(SE(3)\))及其质量评分
  • 训练数据:大规模合成数据 + 解析抓取标注
  • 特点:对未见物体泛化能力强

Contact-GraspNet

  • 直接在点云上预测接触抓取
  • 6-DOF 抓取位姿生成
  • 速度快,适合实时应用

抓取管线(Grasping Pipeline)

典型的机器人抓取流程:

  1. 感知:RGB-D 获取场景点云
  2. 分割:实例分割获取目标物体
  3. 抓取检测:生成候选抓取位姿
  4. 运动规划:规划无碰撞路径到达抓取位姿
  5. 执行:执行抓取并验证

阻抗控制与力控

机械臂与环境交互时,纯位置控制容易产生过大接触力。阻抗控制建模机械臂末端为弹簧-阻尼系统:

\[ M_d \ddot{\mathbf{e}} + D_d \dot{\mathbf{e}} + K_d \mathbf{e} = \mathbf{f}_{ext} \]
  • \(M_d, D_d, K_d\):期望惯性、阻尼、刚度矩阵
  • \(\mathbf{e} = \mathbf{x} - \mathbf{x}_d\):位置误差
  • \(\mathbf{f}_{ext}\):外部力

优势:可通过调节刚度实现从刚性(高 \(K_d\))到柔顺(低 \(K_d\))的行为切换。

应用场景:擦拭桌面、插拔连接器、协作搬运等需要力控的任务。


前沿方向

基础模型驱动的操作

  • RT-1 / RT-2(Google):大规模数据训练的机器人操作策略
  • Octo(UC Berkeley):开源通用操作基础模型
  • OpenVLA:视觉-语言-动作模型,从语言指令直接生成动作
  • Diffusion Policy:扩散模型用于动作生成,处理多模态动作分布

遥操作与数据采集

  • ALOHA / Mobile ALOHA:低成本双臂遥操作系统,使用从动臂直接遥操作
  • UMI(Universal Manipulation Interface):手持夹爪采集数据,无需机器人即可收集示范
  • Open-TeleVision:VR 头显遥操作,支持灵巧手

参考资料

  • Siciliano et al., Robotics: Modelling, Planning and Control, Springer
  • Lynch & Park, Modern Robotics: Mechanics, Planning, and Control
  • Fang et al., "AnyGrasp: Robust and Efficient Grasp Perception in Spatial and Temporal Domains", T-RO, 2023
  • Chi et al., "Diffusion Policy: Visuomotor Policy Learning via Action Diffusion", RSS, 2023

相关笔记


评论 #