阿克曼底盘重心在后轮中心时原理与解算

这里,我将以类比自行车模型的解算方式进行解算。 

基于阿克曼底盘的运动学模型如下 图示所示,车辆是一个二维平面上的运动物体(可以等价与我们是站在天空中的俯视视角),在我们的项目中车前轮为转向轮,只负责控制方向,后轮为左右两个,为驱动轮。在ros中我们会向cmd_vel话题发送两个数据,X和Z。X为车辆行驶时的前进速度,Z为车辆转弯时的角速度,规定逆时针方向为正方向旋转。,现在需要将这两个矢量分别转换为后轮的电机转速和调整前轮转向的电机(也就是前轮转向),这就需要我们在项目中根据角速度和线速度解算出前轮的转角角度。解算过程如下。

Vx为机器人运动的线速度,Vw为机器人运动的角速度,L为车前轮与后轮的轴距,R为洗地车以该角速度行驶时的旋转半径(实际上旋转半径为前轮和后轮的中心连接O的直线段,但是为了法计算方便,约等于后轮中心与O的连线段,网上基本都是这么默认的), θ为机器人的滑移角,就是我们程序中需要的实际转角量,φ为机器人的偏航角(与x轴的夹角),,我们通过将这个值传给底层stm32,控制电机做出相应的转向运动。

因为  φ =V/R

根据三角形相似原理可知:

 因为tanθ = L/R

所以   φ =V*tanθ/L 

Vx是线速度,Vw是角速度 

参考文献:

自动驾驶中的车辆运动学模型 - 知乎 (zhihu.com)

无人驾驶运动控制----pure pursuit算法实践和理解_pure_pursuit原理_liuzengyuan10的博客-CSDN博客

(189条消息) 无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型_无人车的侧向运动模型_AdamShan的博客-CSDN博客

(189条消息) 移动机器人差速轮运动学模型--(左右轮速度和线速度角速度的相互转换)_奇妙之二进制的博客-CSDN博客

### 阿克曼底盘运动控制模型 阿克曼转向模型是一种广泛应用于机器人学和自动驾驶车辆中的运动控制模型。该模型描述了具有四个轮子的车辆如何通过前轮的角度变化来实现转弯动作[^1]。 #### 数学建模 阿克曼转向几何的核心在于假设车轮仅沿其轴线滚动而不发生侧滑。对于一个标准的四轮车辆,当它沿着曲线行驶,所有轮胎都围绕同一个瞬旋转中心 (Instantaneous Center of Rotation, ICR) 转动。这种特性可以通过以下方程组表示: ```python import math def ackermann_model(L, delta_f): """ 计阿克曼转向模型下的曲率半径 R 和角度 beta 参数: L: 车辆前后轴之间的距离(米) delta_f: 前轮转角(弧度) 返回: R: 曲率半径(米) beta: 后轮相对于车身纵轴的方向偏移量(弧度) """ R = L / math.tan(delta_f) beta = math.atan(1/R * L) return abs(R), beta ``` 上述函数 `ackermann_model` 中定义了两个重要参数: - **R**: 表示车辆绕着某个固定点转动的曲率半径; - **beta**: 描述后轮相对车身纵向方向的变化角度。 这些变量共同决定了车辆在特定输入条件下的动态行为[^2]。 #### 控制算法设计 为了使实际系统能够精确跟踪期望轨迹,在控制器的设计过程中通常会引入反馈机制。PID 控制器因其简单易用而成为一种常见选择。下面展示了一个基本 PID 实现方式用于调整方向盘角度以匹配目标路径: ```c++ double pid_control(double error, double prev_error, double integral){ const double Kp = 0.5; //比例增益 const double Ki = 0.01; //积分增益 const double Kd = 0.2; //微分增益 integral += error; double derivative = error - prev_error; return Kp*error + Ki*integral + Kd*derivative; } ``` 此代码片段展示了如何利用误差信号计合适的校正措施,并将其应用到物理硬件上完成闭环调节过程[^3]. #### 模拟环境搭建 开发此类控制系统常需借助虚拟测试平台验证理论效果。目前存在多个开源项目可供选用作为基础框架构建仿真实验室,比如 AirSim 提供逼真的城市驾驶场景支持无人车训练学习任务;CARLA 则专注于高精度地图生成以及复杂交通状况再现等方面工作[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值