Unicycle Model
- 又称: unicycle kinematic model, unicycle kinematics
- 类别: Foundations & spatial maths › Kinematics
- 标签: kinematics, mobile-robots, wheeled-robots, control, navigation
一种轮式机器人的运动学模型,把机器人视为一个具有平面位置和航向的单个车轮,由前进速度和转向角速度驱动,并且不能侧向移动。
定义
独轮车模型(unicycle model)用机器人在平面上的位置 (x, y) 和航向 θ 来描述轮式机器人,并带有两个输入:前进速度 v 和转向角速度 ω。其方程为 ẋ = v cos θ、ẏ = v sin θ 和 θ̇ = ω。把它们组合起来得到 ẋ sin θ − ẏ cos θ = 0,即机器人不能侧向移动的非完整约束(nonholonomic constraint)。该模型是纯运动学的:它忽略质量、车轮打滑和电机动力学,并假设指令速度都能实现。
差速驱动机器人可以直接映射到该模型上。设车轮半径为 r、轮距为 L、车轮转速为 ω_R 和 ω_L,则前进速度为 r(ω_R + ω_L)/2,转向角速度为 r(ω_R − ω_L)/L,因此为独轮车设计的控制器可以转换为车轮指令。类车机器人通常用相关的自行车模型来描述,它增加了转向角和轴距,从而限制了转弯半径。在多轮和轮腿系统中,每个可转向轮都可以被视为一个独立的独轮车,由其接触位置和转向角描述,而机身运动把各个车轮耦合在一起。
该模型是移动机器人控制与规划的标准出发点。它的简单性使它具有微分平坦性,平面位置就是平坦输出,因此 x 和 y 上的光滑路径可以转换为可行的速度与转向角速度指令。常用的控制器包括 pure pursuit、基于 Lyapunov 的位姿调节,以及对车轮轴前方一点进行反馈线性化,后者避免了直接控制车轴中心时出现的奇异性。它的局限在较高速度和松软地面上显现出来,此时车轮打滑、侧向力和执行器动力学会使运动学预测变得不准确。
为何重要
几乎每一台轮式移动机器人都会首先被当作独轮车来建模、规划和控制。理解该模型及其假设,是为这类机器人编写里程计、局部规划器和跟踪控制器的基础。
主要应用
- 差速驱动机器人的轨迹跟踪控制
- 导航栈中的局部规划器与速度采样
- 移动底盘的车轮里程计
- 为轮腿机器人上的可转向轮建模
- 非线性控制方法的教学与基准测试
实际应用
一位开发人员在为一台小型差速驱动机器人编写控制器时,把它表示为独轮车。导航栈输出一条路径,pure pursuit 控制器选取一个前视点,并计算以选定的前进速度到达该点所需的转向角速度。这两个指令利用测得的车轮半径和轮距被转换为左右轮速度,而把同样的公式反过来作用于编码器读数,就得到机器人的车轮里程计。当机器人被移到铺有地毯的地面上时,开发人员发现航向误差不断增大,于是重新标定有效轮距,因为打滑使实际转向行为与名义几何不同。
常见误解
- 独轮车模型只适用于单轮机器人 — 它描述任何能前进和转向但不能侧向移动的平面载具,包括差速驱动底盘
- 该模型刻画了机器人的动力学 — 它是运动学模型,忽略质量、打滑和电机限制
- 独轮车模型和自行车模型可以互换 — 自行车模型增加了最小转弯半径,而理想的独轮车可以原地转向
- 一个简单的状态反馈律就能把独轮车镇定到任意位姿 — 它的非完整约束排除了用于点镇定的光滑时不变反馈
谁需要了解
- 移动机器人软件与控制工程师
- 导航栈开发人员
- 轮腿机器人研究人员
- 学习运动学建模的机器人专业学生
相关技术
- 差速驱动(Differential Drive)
- 自行车模型(Bicycle Model)
- Pure Pursuit
- Nav2
- 动态窗口法(Dynamic Window Approach)
相关术语
- Nonholonomic Constraint
- Differential Flatness
- Feedback Linearization
- Odometry
- Omnidirectional Drive
- Model Predictive Control
相关项目
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking