阿克曼模型速度分解及里程计算
·
之前没做过阿克曼模型,大概列一下公式及输入输出
一、通过轨迹规划的线速度和角速度,速度分解给电机
1. 已知量(轨迹规划输出)
轨迹规划器给出的控制指令通常是:
-
v:车体中心线速度(通常沿车辆 x 轴)
-
ω:车体绕 z 轴的角速度(偏航角速度)
2. 阿克曼模型需要的控制输入
阿克曼模型要求的控制输入通常是:
-
v:车辆沿主轴的线速度(多数情况是后轮中心点速度)
-
δ:前轮转角(steering angle),是前轮相对于车身的转向角
3. 转换公式(核心)
给定:
-
车辆轴距 L
转换为前轮转角的公式为:
注意:
如果 ω=0,表示直行,此时 δ=0
如果 v=0,车辆原地旋转,此时阿克曼车辆无法实现,需特殊处理(如小车式模型或原地转向模型)
后轮中心的线速度等于轨迹规划的线速度
4. 控制信号的解读
最终的阿克曼控制指令是:
-
前轮转角 δ:传给前轮转向系统(如舵机)
-
线速度 v:传给车辆后轮驱动系统(如电机),用于设定期望速度或加速度
二、底盘计算里程计
1. 输入变量(从阿克曼模型或控制层获得)
我们已知以下量:
-
v:后轮线速度(单位:m/s)
-
δ:前轮转角(单位:rad)
-
L:车辆轴距(单位:m)
-
dt:时间步长(单位:s)
我们目标是实时或周期性更新车辆的里程计状态:
(x,y,θ)
其中:
-
x,y:车体中心在世界坐标系下的位置
-
θ:车体航向角(朝向,偏航角)
2. 建立运动学模型(基于阿克曼)
阿克曼车辆的瞬时运动满足以下微分方程:
这就是以后轮为参考点的非完整运动模型。
3. 离散化更新公式(用于里程计积分)
设上一时刻的位置为 ,则:
机器人的车体航向角θ,可以直接由IMU去拿。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)