9. 底盘运动与闭环控制¶
第 8 章说明了编码器和其他传感器如何提供状态。本章把目标、执行和反馈放进底盘模型:车型决定速度关系,轮速产生里程计,反馈控制器根据误差修正输出,限幅、超时和停止逻辑为控制链设定边界。
9.1 机体坐标与底盘自由度¶
底盘运动模型(Chassis Kinematics)把车体速度与各轮速度联系起来。ROS 常用机体坐标约定是 x 向前、y 向左、z 向上;地面运动可以用前后速度、横向速度和绕 z 轴的角速度表示。
四轮差速或滑移转向底盘通过左右轮组的速度差转弯,履带底盘采用相近的运动约束;麦克纳姆轮和全向轮可以产生横向速度,阿克曼底盘则通过转向轮改变曲率。车型、轮号和安装方向需要与控制板中的运动模型对应。
9.2 正运动学与逆运动学¶
运动学有两个方向。逆运动学把车体目标速度换成每个轮子的目标速度,供控制器使用;正运动学把每个轮子的实测速度换成车体速度,供状态估计使用。以差速底盘为例,左右轮目标速度为:
其中 v_L 和 v_R 分别是左、右轮的线速度,单位为米每秒;v_x 是车体沿 x 轴的前进速度;ω_z 是绕 z 轴的角速度,单位为弧度每秒;W 是左右轮中心间距,单位为米。这里约定正角速度对应左转。麦克纳姆和全向轮还要代入滚子方向、轮号、轴距和轮距,矩阵应从当前车型的几何参数建立。
9.3 从编码器到里程计¶
里程计(Odometry)根据轮速和底盘几何参数推算机器人位姿和速度。控制板先统计编码器脉冲,再通过正运动学得到车体速度,最后按时间积分得到位置和朝向。轮径误差、轮距误差、编码器符号和地面打滑都会使里程计漂移。
里程计适合描述短时间内连续的相对运动;建图、定位和导航还会结合雷达、IMU 或地图信息修正长期位置。
9.4 电机驱动器与 PWM¶
电机驱动器(Motor Driver)根据控制板的方向、使能和周期调制信号调节电机电流。脉宽调制(Pulse-Width Modulation, PWM)通过改变固定周期内的有效电平比例控制平均驱动强度,微控制器引脚输出的 PWM 需要经过功率级进入电机。
9.5 PI/PID 闭环控制¶
比例—积分—微分控制(Proportional–Integral–Derivative Control, PID)根据目标轮速与测量轮速之间的误差计算控制输出。比例项响应当前误差,积分项累积持续误差,微分项响应误差变化。速度环常采用比例—积分控制(Proportional–Integral Control, PI),它保留比例和积分两项:
式中,k 是离散采样序号,u_k 是当前控制输出,e_k 是“目标轮速减去测量轮速”的误差;K_p 是比例系数,K_i 是离散积分系数。这里的 K_i 已包含采样周期 T_s;若程序保存的是连续时间积分增益,积分项应写成 K_i T_s e_k。控制输出可以是 PWM 占空比或归一化驱动指令,其单位和范围由实现约定。
控制周期变化会改变积分项的作用,因此调参时要同时记录 T_s、输出限幅、低速死区、积分清零和急停逻辑。
9.6 限幅、超时与停止¶
速度上限限制目标值,输出限幅限制驱动器输入,通信超时在主控或控制板失联时清零命令。停止测试覆盖松开键盘、节点退出、通信断开和急停等路径;每条路径都要让目标速度、PWM 和实际运动回到安全状态。
9.7 本章小结与观察练习¶
底盘控制把目标速度换成轮速,再用编码器反馈修正电机输出;正运动学和时间积分形成里程计。限幅、超时和停止逻辑与运动控制一起构成闭环的安全边界。
画出“目标速度 → 逆运动学 → PI/PID → PWM → 电机 → 编码器 → 正运动学 → 里程计”的链路,为每个箭头注明一个可测量的信号或参数。