机器人学概论 | Introduction to Robotics
机器人学作为一门融合机械工程、电子工程、计算机科学、人工智能和控制理论的交叉学科,其核心目标是设计和构建能够感知环境、做出决策并执行动作的智能系统。这一学科的独特之处在于,它不仅需要处理抽象的数学模型,还必须将这些模型转化为能够与物理世界交互的实体。从 1961 年世界上第一台工业机器人 Unimate 在通用汽车工厂投入使用,到如今能够自主导航的自动驾驶汽车、精密手术的医疗机器人、探索火星表面的毅力号探测器,机器人技术已经深刻改变了工业制造、医疗健康、航天探索、家庭服务等多个领域。
理解机器人学的关键在于把握其系统性思维的本质。机器人不是一个独立存在的设备,而是一个由传感器、执行器、计算单元和软件算法等多个子系统有机整合的复杂系统。这些子系统之间通过精确的信息传递和协调控制,共同实现机器人与环境的交互。本书采用感知-规划-控制的层次化技术栈框架来组织机器人学的核心知识,这一框架既反映了机器人系统的逻辑结构,也体现了从感知到决策再到执行的完整信息处理流程。在后续章节中,我们将深入探讨每一层的数学原理和工程实现,而本章作为全书的开篇,旨在建立对机器人学整体架构的系统性认识,为后续的深入学习奠定概念基础。
机器人系统的物理架构可以从功能分解的角度划分为四个核心子系统:传感器子系统负责从环境中采集各种形式的信息;执行器子系统负责将控制指令转化为物理动作;计算子系统负责运行感知、规划和控制算法;软件子系统则负责协调各子系统的运行并实现高层功能。这种分解方式既便于独立分析和设计各个子系统,也强调了其集成的必要性,因为一个子系统性能的优劣不仅取决于其自身的设计,还取决于与其他子系统的有效配合。
传感器是机器人感知世界的窗口,其功能是将环境中的物理量转换为机器人系统可以处理的电信号或数字信号。根据所获取信息的类型,机器人传感器可以分为内部传感器和外部传感器两大类。内部传感器用于测量机器人自身的状态参数,例如关节位置、关节速度、末端执行器位置、机器人整体姿态等,这些信息对于实现精确运动控制至关重要。典型的内部传感器包括编码器、陀螺仪、加速度计和力矩传感器等。以旋转编码器为例,其基本原理是利用光电或磁电效应,将旋转轴的角位置转换为脉冲信号,对于增量式编码器,通过计数脉冲数量可以确定相对转角,而对于绝对式编码器,则可以直接读取表示绝对位置的二进制编码。现代高精度机器人关节通常采用多圈绝对式编码器,分辨率可达 17 位甚至更高,即一圈内可区分超过 13 万个位置。
外部传感器则用于获取机器人所处环境的信息,这是实现自主导航、目标识别和交互操作的基础。根据感知模态的不同,外部传感器可以分为视觉传感器、距离传感器、触觉传感器、力传感器等。视觉传感器是最重要的外部传感器类别,从早期的单目相机到立体相机,再到如今广泛应用于自动驾驶和机器人操作的 RGB-D 相机和激光雷达(LiDAR),视觉传感器的技术演进推动了整个机器人领域的发展。激光雷达通过发射激光脉冲并测量反射信号的时间来计算距离,其测距原理基于飞行时间(Time of Flight, ToF)公式:$d = \frac{c \cdot \Delta t}{2}$,其中 $c$ 为光速,$\Delta t$ 为激光脉冲往返时间。现代机械旋转式激光雷达可以提供 360 度的水平视场覆盖,测距范围可达 200 米以上,角分辨率可达 0.1 度。
| 传感器类型 | 测量参数 | 典型精度 | 采样频率 | 应用场景 | |-----------|---------|---------|---------|---------| | 旋转编码器 | 关节角度 | ±0.001° | >10 kHz | 关节位置反馈 | | 惯性测量单元(IMU) | 加速度/角速度 | ±0.1 mg / ±0.01°/s | >1 kHz | 姿态估计 | | 激光雷达 | 距离/角度 | ±3 cm | 10-30 Hz | 环境建模 | | 深度相机 | 深度/彩色图像 | ±1 cm | 30 Hz | 物体识别 | | 力/力矩传感器 | 六维力/力矩 | ±0.5% FS | >5 kHz | 力控制 |
执行器是将电能或化学能转化为机械能以产生运动的关键部件,其性能直接决定了机器人的运动能力和负载表现。在机器人领域,最常用的执行器是各种类型的电机,特别是伺服电机和步进电机。伺服电机通过闭环控制系统实现精确的位置、速度和力矩控制,其核心组成包括电机本体、编码器和伺服驱动器。现代机器人关节常用的无刷直流伺服电机(BLDC)和永磁同步伺服电机(PMSM)具有高效率、高功率密度和良好可控性的优点。电机的选型需要综合考虑多个技术参数,包括额定转速、额定转矩、峰值转矩、转矩常数、惯量匹配等。对于协作机器人等需要人机交互的应用,还需要特别关注电机的力控性能和安全性设计。
除了电机,气动执行器和液压执行器在某些特定应用场景中仍然发挥着重要作用。气动执行器利用压缩空气作为动力源,具有响应速度快、结构简单、成本低廉的优点,但其控制精度相对较低,适用于抓取任务中需要柔顺性的软体机器人。液压执行器则可以提供极大的输出力或力矩,适用于重载工业机器人、工程机械和水下作业机器人,但其系统复杂,需要液压泵站和管路系统,增加了系统重量和维护成本。近年来,线驱执行器(Wire-driven Actuators)和串并联混合执行器等新型执行器结构也在特定应用中展现出独特优势。
机器人的计算平台经历了从专用控制器到通用计算平台的演变。早期的工业机器人通常采用专用的运动控制器,这些控制器针对特定的运动学模型和控制算法进行优化,具有确定性的实时性能,但其扩展性和灵活性有限。随着嵌入式处理器性能的提升和开源机器人软件框架的普及,基于 x86 或 ARM 架构的通用计算平台已成为主流。在软件架构层面,基于 Linux 的实时操作系统(如 Xenomai、PREEMPT-RT 补丁)可以在保证实时性的同时提供丰富的软件生态。对于需要高性能计算的应用,如视觉感知和深度学习推理,通常采用 GPU 或专用 AI 加速器(如 NVIDIA Jetson、Intel NCS、Google Edge TPU)作为协处理器。这种异构计算架构已成为现代智能机器人的标准配置,其软件栈通常包括底层实时控制层、中间件层和应用算法层。
机器人软件算法是实现智能行为的核心,按照功能层次可以划分为感知算法、规划算法和控制算法三大类。感知算法负责处理传感器原始数据,提取环境特征和状态信息;规划算法负责根据感知信息和任务目标生成运动轨迹或决策序列;控制算法则负责生成具体的控制指令并执行。本书的核心内容即是围绕这三个层次的数学原理和算法实现展开。在后续章节中,我们将分别深入探讨计算机视觉与点云处理、状态估计与定位建图、运动规划与轨迹优化、运动控制与力柔顺控制等专题。
感知-规划-控制的技术栈层次结构反映了机器人系统中信息流动的方向和决策过程的逻辑递进关系。处于最底层的是感知层,其输入是传感器原始数据,输出是关于环境状态和机器人自身状态的估计值。感知层的核心任务包括传感器标定、数据融合、特征提取、目标检测、语义分割、同时定位与地图构建(SLAM)等。这些任务的共同特点是需要处理大量原始数据,提取高层语义信息,其数学基础包括概率论、数理统计、最优化理论和信号处理等。以视觉里程计为例,其基本思想是通过分析连续图像帧之间的特征匹配关系来估计相机运动,这涉及对极几何、本质矩阵分解、三角测量等一系列几何计算。一个经典的视觉里程计 pipeline 包括以下步骤:首先使用特征检测算子(如 SIFT、ORB)提取图像特征点;然后通过特征匹配建立帧间对应关系;接着利用随机抽样一致算法(RANSAC)剔除错误匹配并估计基础矩阵或本质矩阵;最后通过矩阵分解恢复相机位姿。
规划层接收感知层输出的环境地图和状态估计,结合任务目标生成具体的运动序列或决策方案。规划问题按照时间尺度和问题域的不同可以分为多个层次。在任务规划层面,需要解决“做什么”的抽象问题,即根据高层任务指令生成动作序列,这涉及规划算法(如 HTN 规划、符号规划)和任务分解技术。在运动规划层面,需要解决“怎么做”的具体问题,即为机器人末端或关节生成从起点到目标点的无碰撞运动轨迹。运动规划问题的数学表述可以定义为:在给定的构形空间(Configuration Space)中,寻找一条从初始构形到目标构形的连续路径,且该路径不与障碍物相交。对于连续空间的运动规划问题,经典的解决方案包括基于采样的概率路线图(PRM)和快速探索随机树(RRT)算法,以及基于势场法的梯度下降方法。近年来,数据驱动的方法在运动规划领域也取得了显著进展,通过学习通用运动先验或特定场景的运动策略,可以显著提升规划效率和质量。
控制层是技术栈的最底层,直接与执行器交互,将规划层的轨迹或目标转化为电机驱动指令并执行。控制层的核心挑战在于处理系统的不确定性和外部干扰,实现期望的跟踪性能或调节性能。经典的控制理论为机器人控制提供了坚实的数学基础,包括状态空间分析、能控性与能观性、稳定性理论等。PID 控制作为最广泛应用的控制器结构,其离散化形式可以表示为:
$$u(k) = K_p e(k) + K_i \sum_{i=0}^{k} e(i) + K_d [e(k) - e(k-1)]$$
其中 $e(k)$ 为控制误差,$K_p$、$K_i$、$K_d$ 分别为比例、积分、微分增益。对于具有多关节的串联型机器人,其动力学模型可以用欧拉-拉格朗日方程描述:
$$\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}$$
其中 $\mathbf{q}$ 为关节位置向量,$\mathbf{M}(\mathbf{q})$ 为惯性矩阵,$\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})$ 为科里奥利力和离心力项,$\mathbf{g}(\mathbf{q})$ 为重力项,$\boldsymbol{\tau}$ 为关节力矩输入。基于此动力学模型的高级控制策略,如计算力矩控制、阻抗控制和自适应控制,可以实现更好的跟踪性能和力控性能。
这三个层次之间存在密切的信息交互和反馈关系。控制层的执行结果会影响感知层的观测(如末端执行器位置的改变会导致视觉传感器观测的变化),而感知层的输出又为规划层提供决策依据。这种闭环结构使得机器人系统能够在不确定环境中实现鲁棒的自主运行。在实际系统中,各层次之间的通信需要满足实时性要求,因此通常采用专门的机器人中间件来实现高效的数据交换和同步。ROS(Robot Operating System)作为最流行的开源机器人中间件,定义了标准化的数据格式(消息类型)和通信机制(话题、服务、动作),使得不同算法模块可以方便地进行集成和替换。
```mermaid graph TD A[环境 Environment] --> B[传感器 Sensors] B --> C[感知层 Perception] C --> D[状态估计 State Estimation] C --> E[目标检测 Object Detection] C --> F[地图构建 Mapping] D --> G[规划层 Planning] E --> G F --> G G --> H[任务规划 Task Planning] G --> I[运动规划 Motion Planning] I --> J[轨迹优化 Trajectory Optimization] J --> K[控制层 Control] K --> L[执行器 Actuators] L --> M[机器人运动 Robot Motion] M --> A M --> B
style A fill:#f9f,color:#000 style B fill:#bbf,color:#000 style C fill:#bfb,color:#000 style G fill:#fbb,color:#000 style K fill:#fbf,color:#000 style L fill:#ddf,color:#000 ```
机器人学作为一门独立学科的发展历程可以追溯到 20 世纪中叶,但其思想渊源和技术积累则更为久远。从历史演进的角度,机器人学的发展大致可以划分为三个阶段:初创与概念形成期、工业机器人主导期和智能机器人时代。理解这一发展脉络有助于把握机器人学不同研究分支之间的关系,也有助于预判未来发展趋势。
机器人概念的雏形可以追溯到古代文明中的自动装置和机械人偶。中国古代的指南车、浑天仪,西方的星盘、水钟等自动机械装置,虽然不是现代意义上的机器人,但其蕴含的自动控制和反馈调节思想是机器人学的重要源头。1921 年,捷克作家卡雷尔·恰佩克在科幻剧《罗梭的万能机器人》中首次创造了“Robot”这一术语,源自捷克语“Robota”(意为强制劳动),从此“机器人”成为这一类机械装置的标准称谓。1950 年,美国作家艾萨克·阿西莫夫在其科幻小说《我,机器人》中提出了著名的“机器人三定律”,奠定了机器人伦理研究的基础,也为后来机器人安全标准的发展提供了思想参照。
现代机器人学的真正起点是 20 世纪中叶计算机技术和控制理论的突破。1946 年,世界上第一台通用电子计算机 ENIAC 诞生;1948 年,诺伯特·维纳出版了《控制论:关于在动物和机器中控制和通信的科学》,系统阐述了反馈控制和通信的理论基础,被视为控制理论的奠基之作。在这一背景下,1954 年,美国工程师乔治·德沃尔申请了第一台可编程液压机械手的专利,提出了“程序化物料传输”的概念。1961 年,基于德沃尔专利开发的 Unimate 机器人样机在通用汽车公司进行了测试,随后实现了商业化生产,标志着工业机器人时代的正式开启。早期的工业机器人主要采用液压驱动和点对点控制技术,编程方式也以手动示教为主。
1966 年,斯坦福研究院(Stanford Research Institute)的工程师们启动了移动机器人 Shakey 的研究项目,这是世界上第一个具备自主感知、规划和控制能力的移动机器人系统。Shakey 装备了测距仪、碰撞传感器和摄像头,其创新性地将视觉感知、自然语言理解和运动规划整合到一个系统中。虽然当时的计算能力限制了其实时性能,但 Shakey 项目奠定了现代智能机器人的基本技术框架,其采用的基于搜索的规划算法和分层次控制系统成为后续研究的范式。Shakey 项目还催生了著名的“A* 寻路算法”,该算法由彼得·哈特、尼尔斯·尼尔森和伯纳德·拉斐尔于 1968 年提出,至今仍是最广泛使用的路径规划算法之一。
1970 年代至 1980 年代是工业机器人快速发展和广泛应用的黄金期。这一时期,机器人运动学和动力学理论取得了重要突破。1978 年,机器人学家罗德里克·克洛斯和理查德·保罗发表了关于机器人操作臂运动学的经典著作,系统阐述了 D-H 参数法和正逆运动学求解方法。1979 年,日本学者用户川博发表了关于极坐标型机器人的论文,但后来发现早于用户川论文的几年,一位日本学者 Shigeo Hirose 也在 1974 年发表了他的论文,提出了一种 SCARA(Selective Compliance Assembly Robot Arm)机器人的设计理念。这种四轴并联结构的机器人特别适合垂直方向的装配任务,成为电子制造业自动化的标准设备。与此同时,意大利学者布鲁诺·西科尼等人对机器人动力学进行了深入研究,发展了欧拉-拉格朗日和牛顿-欧拉等动力学建模方法,为高性能运动控制奠定了理论基础。
1980 年代末至 1990 年代,机器人学进入了智能化转型的关键时期。1992 年,麻省理工学院罗德尼·布里斯团队启动了 MIT Cheetah 项目(虽然后续版本在 2000 年代才真正展示),探索高效动态步态的足式机器人。1997 年,美国宇航局的火星探路者号携带的旅居者号(Sojourner)火星车成功登陆火星,完成了人类历史上首次在火星表面的机器人探测任务。旅居者号虽然体重仅 10 公斤,行动缓慢,但它证明了远程机器人探测的可行性,为后续的勇气号、机遇号、好奇号和毅力号等更先进的火星车奠定了基础。2000 年代初,本田公司发布了 ASIMO 双足人形机器人,代表了当时仿人机器人研究的最高水平,能够实现行走、奔跑、单脚跳跃等复杂运动。
21 世纪以来,机器人学进入了以深度学习和自主智能为特征的快速发展期。2010 年代初期,随着大数据和 GPU 计算能力的提升,深度学习在计算机视觉领域取得了突破性进展,这直接推动了机器人感知能力的显著提升。2012 年的 ImageNet 竞赛中,基于深度卷积神经网络的模型大幅刷新了图像分类准确率纪录,此后深度学习迅速渗透到目标检测、语义分割、3D 感知等机器人感知的各个子领域。2016 年,Google 旗下的 DeepMind 团队开发的 AlphaGo 战胜了世界围棋冠军李世石,展示了强化学习在复杂决策任务中的巨大潜力,为机器人的自主学习和技能获取研究开辟了新方向。
近年来,大模型技术的兴起为机器人研究带来了新的机遇。2023 年以来,以 GPT-4 为代表的大型语言模型展示了惊人的语言理解和推理能力,将这类模型与机器人系统结合已成为研究热点。通过自然语言指令,用户可以灵活地命令机器人执行各种任务,而无需传统的显式编程。谷歌的 RT-2(Robotic Transformer 2)模型展示了如何将视觉-语言模型直接用于机器人控制,实现了跨模态的泛化能力。斯坦福大学的 Mobile ALOHA 系统则展示了通过模仿学习实现的仿人机器人全身控制,能够完成洗衣、烹饪、清洁等复杂家庭任务。
机器人学的研究分支按照研究对象和方法论的不同,可以划分为多个主要方向。工业机器人方向关注制造业自动化应用,研究内容包括高速高精度运动控制、力位混合控制、离线编程与仿真、视觉引导装配等。服务机器人方向面向日常生活和商业服务场景,研究重点包括人机交互、自主导航、物体操作、服务流程自动化等。特种机器人方向涵盖恶劣或特殊环境作业,包括水下机器人、空中机器人、空间机器人、管道检测机器人、核环境下作业机器人等。仿生机器人方向借鉴生物体的结构和运动机制,研究内容包括仿人机器人、仿生多足机器人、软体机器人、扑翼飞行器等。
从学科交叉的角度,机器人学与多个相邻领域存在密切联系和相互促进关系。计算机视觉为机器人提供视觉感知能力,近年来二者在深度学习框架下深度融合,甚至形成了“视觉-语言-动作”(Vision-Language-Action, VLA)统一建模的新范式。自动驾驶作为机器