Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Feedback Linearization

  • 又称: exact linearization, nonlinear dynamic inversion, NDI
  • 类别: Control › Feedback control
  • 标签: nonlinear-control, model-based-control, manipulator-control, dynamics, trajectory-tracking

一种非线性控制技术,利用系统模型通过状态反馈抵消其非线性,从而可以对结果应用标准的线性控制设计。

定义

反馈线性化(feedback linearization)是一种通过代数变换把非线性系统转化为线性系统来进行控制的方法。控制器利用动力学模型计算一个输入,抵消非线性项并引入一个新的虚拟输入,经由这个虚拟输入,闭环系统表现得像一个简单的线性系统,通常是一串积分器。然后为这个线性系统设计常规的线性控制器,例如比例-微分控制律或极点配置。与在工作点附近线性化不同,只要模型成立,这种抵消就是精确的。

在机器人领域,最常见的例子是机械臂的计算力矩控制。机械臂的刚体动力学为 M(q)q̈ + C(q, q̇)q̇ + g(q) = τ。选择力矩 τ = M(q)v + C(q, q̇)q̇ + g(q),即可抵消惯性项、科里奥利项和重力项,使每个关节都满足 q̈ = v。新的输入 v 可以是作用于关节位置和速度误差的 PD 控制律再加上期望加速度,从而得到解耦的线性误差动态,其增益可以直接按期望响应来选择。操作空间控制在末端执行器坐标中应用了同样的思想。

理论上区分输入-状态线性化(使整个状态线性)和输入-输出线性化(只把输入与某个选定输出之间的关系线性化)。在输入-输出情形中,对输出不断求导直到输入出现,求导的次数就是相对阶。如果相对阶低于系统阶数,就有一部分动态,即内部动态或零动态,对输出不可见,而这部分动态必须是稳定的,该方法才能奏效;该部分不稳定的系统称为非最小相位系统。

主要弱点是对模型的依赖。只有模型精确,抵消才精确;质量、摩擦或执行器行为方面的误差会留下残余非线性,必须由线性外环来吸收。实用的控制器会加入鲁棒项或自适应项、积分作用,或残余动态的学习模型。当所需力矩超出执行器的能力时,输入饱和也会破坏这种抵消。

为何重要

反馈线性化将非线性机器人动力学与线性控制的大量工具连接起来,这就是计算力矩控制至今仍是机械臂的标准方法、许多足式和空中控制器也采用同一思想的原因。理解它的假设,既能解释基于模型的控制器为什么能精确跟踪,也能解释模型出错时它们为什么会性能下降。

主要应用

  • 计算力矩控制 — 机器人机械臂的轨迹跟踪
  • 操作空间控制 — 在任务坐标中控制末端执行器的运动和力
  • 四旋翼控制 — 抵消非线性的姿态和推力动力学以实现跟踪
  • 双足行走 — 在混合零动态控制器中对选定的输出进行线性化
  • 移动机器人路径跟随 — 对轮式车辆的运动学模型进行线性化

实际应用

控制机械臂的团队通常会借助 Pinocchio 或 RBDL 等刚体动力学库从 URDF 构建动力学模型,通过测试运动辨识惯性和摩擦参数,并在实时循环中以关节力矩层级实现计算力矩控制。然后,他们为每个关节调节外环 PD 增益,以获得期望的刚度和阻尼,并对比指令力矩与测量力矩,找出模型不准确之处。当高速或负载下的跟踪性能下降时,他们会改进模型、加入摩擦补偿或加入一个学习得到的残差项,而不是简单地提高反馈增益。

常见误解

  • 反馈线性化等同于在工作点附近线性化 — 它利用完整模型在一个区域内精确抵消非线性,而不是在某一点附近做近似
  • 由于闭环是线性的,结果就是鲁棒的 — 它依赖于准确的模型,模型误差会留下未被抵消的非线性项
  • 每个非线性系统都可以反馈线性化 — 系统结构必须满足一定条件,而非最小相位系统无法直接处理
  • 更高的反馈增益能修正模型误差 — 它们可以掩盖误差,但会放大噪声并激发未建模的柔性;改进模型通常更有效

谁需要了解

  • 从事机械臂和足式机器人工作的控制工程师
  • 学习非线性控制和基于模型的控制的机器人专业学生
  • 无人机飞控开发者
  • 将学习模型与基于模型的控制相结合的研究人员

相关技术

  • 计算力矩控制(Computed Torque Control)
  • 操作空间控制(Operational Space Control)
  • Pinocchio
  • 微分平坦性(Differential Flatness)
  • 自适应控制(Adaptive Control)
  • 滑模控制(Sliding Mode Control)

相关术语

  • Differential Flatness
  • PID Controller
  • Torque Control
  • Model Predictive Control

相关项目

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics

视频

  • Easy Introduction to Feedback Linearization - Control Engineering Tutorials: Aleksandar Haber PhD

维基百科

  • 回授線性化

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。