使用LQR控制器设计ACC(1)

本文探讨了在LQR基础上对车辆动力学的state-space控制方程进行修改的理论,介绍了如何将此理论应用于自适应巡航控制(ACC)中,通过最简车辆动力学模型和ttc距离控制公式,结合实际与期望加速度差值,形成三自由度的state-space控制方程,并利用LQR求解最优控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在(1)中,介绍我们在LQR基础上对车辆动力学的state space 控制方程做出修改的理论基础:

已知:
在这里插入图片描述
令:
在这里插入图片描述

则:
在这里插入图片描述
 这里的A’ 和 B‘ 都被重新写为以下新的A,B matrix.
在这里插入图片描述
对应到ACC中,我们用最简单的车辆动力学模型和ttc 距离控制公式:
d_{desire}=\tau_hv_f+d_0
以及本车真实的加速度和期望加速度之间还存在一个差值:

在这里插入图片描述
距离误差,相对速度和速度加速度关系如下:
在这里插入图片描述
状态空间写成如下:
在这里插入图片描述
在这里插入图片描述
这里就是三自由度的state space 控制方程,通过使用LQR进行求解,获得最优控制。

### LQR轨迹跟踪实现方法及原理 #### 一、LQR控制器基本概念 线性二次调节器(LQR)是一种用于优化控制系统性能的方法,其核心在于通过解求Riccati方程获得最优反馈增益矩阵K。对于给定的状态空间模型\[ \dot{x} = Ax + Bu \] 和成本函数\[ J(u)=\int_{0}^{T}(x^TQx+u^TRu)\mathrm{d}t \] ,其中\( Q \geq 0 \), \( R>0 \)[^1]。 #### 二、建立车辆运动学/动力学模型 为了应用LQR到实际场景中,比如汽车或者无人机的轨迹追踪问题上,首先要构建合适的系统状态方程表示形式。通常情况下会涉及到如下几个方面: - **位置坐标**:描述载体当前位置; - **角度参数**:如航向角θ以及车身相对于前进方向的角度β(即质心侧偏角); - **速度变量**:纵向v_x和横向v_y的速度分量; - **其他因素**:可能还包括加速度a、转向角δ等辅助信息[^2]。 这些物理量共同构成了系统的状态矢量x=[pos_x,pos_y,v_x,v_y,...]^T,在此基础上定义输入u=[acc,steer_angle...],从而形成完整的动态行为表达式。 #### 三、设计目标函数与约束条件 针对特定的任务需求设定适当的目标泛函J,它反映了希望最小化的累积代价——既包括偏离理想路线的程度也涵盖了执行动作本身的消耗。具体而言就是让\[ e(t)=r(t)-y(t) \](这里e代表误差,r为目标参考,y为当前输出)尽快收敛至零的同时维持较小幅度的操作指令变化率du/dt<ε[^\4]。 #### 四、计算并实施控制策略 利用MATLAB或其他编程工具编写程序来解析上述提到的各种关系式子,并调用内置函数完成PDEs数值积分过程获取最终的结果。下面给出一段简单的Python代码片段演示如何设置这样一个闭环控制系统: ```python import numpy as np from scipy.linalg import solve_continuous_are def lqr(A,B,Q,R): """Solve the continuous time algebraic Riccati equation""" P = solve_continuous_are(A, B, Q, R) K = np.dot(np.linalg.inv(R),np.dot(B.T,P)) return -K # Define system matrices A and B based on your specific application scenario. A = ... B = ... # Choose weighting matrices Q and R according to performance requirements. Q = ... R = ... # Calculate optimal gain matrix K using LQR method. K_optimal = lqr(A, B, Q, R) print("Optimal feedback gains:", K_optimal) ``` 此段脚本展示了怎样借助SciPy库里的`solve_continuous_are()`接口方便快捷地算出满足要求的最佳系数集合[K],进而指导后续环节里对各传感器读数进行处理分析得出相应的修正措施。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值