Open Source Robotics

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

Differential Flatness

  • 又称: flatness, differentially flat system, flat outputs
  • 类别: Planning & manipulation › Trajectory optimisation
  • 标签: nonlinear-control, trajectory-generation, quadrotor, motion-planning, feedforward-control, aerial-robotics

某些非线性系统的一种性质:其完整状态和输入可以写成少数几个平坦输出及其导数的函数,从而大大简化轨迹规划与控制。

定义

微分平坦性(differential flatness)是某些非线性动力学系统的一种结构性质,由 Michel Fliess、Jean Lévine、Philippe Martin 和 Pierre Rouchon 在 1990 年代形式化。如果存在一组输出(称为平坦输出,数量与控制输入相等),使得每个状态和每个输入都可以表示为这些输出及其有限阶时间导数的函数,那么该系统就是微分平坦的。实际上,选定平坦输出随时间如何运动,就完全决定了整个系统必须如何运动以及它需要哪些输入。

这把一个困难的规划问题转化为一个更容易的问题。规划器不必在输入空间中搜索并对非线性动力学积分,而是可以为平坦输出画出任意足够光滑的曲线,例如穿过航点的多项式或样条,然后直接计算出相应的状态和输入。输入限制之类的约束变成对曲线导数的约束。前馈指令来自同一计算,反馈控制器只需修正小的偏差。

四旋翼是机器人领域最著名的例子。Mellinger 和 Kumar 在 2011 年证明,以三维位置和偏航角作为平坦输出时,四旋翼是微分平坦的。推力由位置的二阶导数得出,姿态由所需加速度的方向得出,机体角速度和力矩则由更高阶导数得出。这就是为什么四旋翼轨迹常以最小 snap 多项式生成:snap,即位置的四阶导数,与力矩输入直接相关。其他平坦系统包括独轮车型移动机器人、运动学小车模型以及牵引挂车的汽车。

平坦性有其局限。许多系统并不平坦,而且没有通用的方法来判定任意非线性系统是否平坦,或找出它的平坦输出。平坦性还依赖于准确的模型;空气阻力、旋翼效应和其他未建模项会破坏这种精确关系。平坦系统与反馈线性化密切相关,因为它们可以通过一种动态状态反馈转化为线性系统。

为何重要

微分平坦性让规划器能够用闭式计算而非代价高昂的非线性优化来生成动力学可行的轨迹,这对每秒必须重新规划许多次的敏捷飞行器和车辆很重要。它是标准四旋翼轨迹生成与控制的基础,也是许多轮式机器人规划器的基础。

主要应用

  • 四旋翼轨迹生成 — 穿过航点的最小 snap 多项式规划
  • 空中机器人的前馈控制 — 根据规划路径计算姿态和推力参考
  • 轮式移动机器人 — 为类车型和差速驱动车辆规划可行路径
  • 牵引车-挂车系统 — 为牵引挂车的车辆规划机动动作
  • 编队飞行 — 为多架无人机生成协调且可行的轨迹

实际应用

无人机团队通常将路径规划为一系列航点,在时间和连续性约束下为位置和偏航拟合使 snap 或 jerk 最小的分段多项式,并通过沿曲线计算导数来检查推力和机体角速度限制。在每个控制步,平坦映射把参考位置、速度、加速度、jerk 和偏航转换为期望的姿态、推力和角速度,再输入到几何姿态控制器或串级姿态控制器中。当飞行测试显示出由阻力或下洗气流引起的跟踪误差时,工程师会在模型中加入阻力项,或学习一个修正量,同时保留基于平坦性的结构。

常见误解

  • 所有机器人都是微分平坦的 — 许多系统并不是,而且为给定系统找到平坦输出往往很困难
  • 平坦性使反馈变得不必要 — 它提供前馈参考;仍然需要反馈来应对扰动和模型误差
  • 平坦性与反馈线性化是一回事 — 两者密切相关,但平坦性是系统的一种性质,主要用于规划,而反馈线性化是一种控制设计技术

谁需要了解

  • 无人机和空中机器人工程师
  • 研究动态载具的运动规划研究人员
  • 设计轨迹跟踪控制器的控制工程师
  • 学习非线性控制的研究生

相关技术

  • 最小 snap 轨迹生成(Minimum-Snap Trajectory Generation)
  • 反馈线性化(Feedback Linearization)
  • 轨迹优化(Trajectory Optimization)
  • 几何控制(Geometric Control)
  • 模型预测控制(Model Predictive Control)
  • 多项式样条(Polynomial Splines)

相关术语

  • Trajectory Planning
  • Feedback Linearization
  • UAV
  • Model Predictive Control

相关项目

  • gym-pybullet-drones: PyBullet Gymnasium environments for single- and multi-agent drone reinforcement learning
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines

视频

  • lecture18 final clip3 differentialflatness: underactuated

维基百科

  • 平坦性

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