问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LQR原理及其在路径跟踪的应用

创作时间:
作者:
@小白创作中心

LQR原理及其在路径跟踪的应用

引用
CSDN
1.
https://blog.csdn.net/qq_37705385/article/details/138388634

LQR(Linear Quadratic Regulator)是一种线性二次型调节器,主要用于控制线性系统。其基本原理是通过建立一个代价函数,在一定的约束范围内,求出一个控制序列,使得系统能够稳定在某个值或跟踪某个曲线。

LQR的基本原理

LQR主要处理线性系统,代价函数以二次型方式构建。通过二次型代价函数找到一组控制量{ u 0 , u 1 , u 2 . . . } \left { u_{0},u_{1},u_{2}... \right }{u0 ,u1 ,u2 ...},使得状态量{ x 0 , x 1 , x 2 . . . } \left { x_{0},x_{1},x_{2}... \right }{x0 ,x1 ,x2 ...}尽可能稳定。

线性系统与二次型

对于一个函数 y=f(x) 来说,线性性需要满足两个准则:比例性和叠加性。比例性要求对于任意的a,有ay = f(ax)成立;叠加性要求若 y1=f(x1), y2=f(x2),则 y1 +y2 =f(x1 + x2)。

二次型的定义可以参考博客:http://t.csdnimg.cn/2GB63

LQR的应用示例

以热水器保温为例,预设保温温度是系统需要调节的稳定值;水温是状态量,用x k x_{k}xk表示;加热棒的输出功率是控制量,用u k u_{k}uk表示。状态转移方程可以表示为:
x k + 1 = A x k + B u k x_{k+1} =Ax_{k} + Bu_{k}xk+1 =Axk +Buk

二次型的代价函数表示为:
J = 1 2 [ x N − x d [ N ] ] S [ x N − x d [ N ] ] + 1 2 ∑ k = 0 N − 1 [ [ x k − x d [ k ] ] Q [ x k − x d [ k ] ] + u k R u k ] J = \frac{1}{2} [x_{N} -x_{d[N]} ]S[x_{N} -x_{d[N]} ] +\frac{1}{2}\sum_{k=0}^{N-1} \left [ [x_{k} -x_{d[k]} ]Q[x_{k} -x_{d[k]} ] + u_{k}Ru_{k} \right ]J=21 [xN −xd[N] ]S[xN −xd[N] ]+21 k=0∑N−1 [[xk −xd[k] ]Q[xk −xd[k] ]+uk Ruk ]

其中,x N x_{N}xN代表末时刻的状态量,x d [ N ] x_{d[N]}xd[N]代表末时刻的控制目标;x k x_{k}xk代表中间过程第k步的状态量,x d [ k ] x_{d[k]}xd[k]代表中间过程第k步的控制目标;u k u_{k}uk代表第k步的控制量。

多维系统

实际调节对象的状态量和控制量可能是多维的。例如,对于地上的小车来说,状态量至少包括x, y, θ三个维度,控制量可能包括油门和方向角。对于无人机来说,状态量就更多了。此时,状态转移方程和代价函数可以表示为向量形式:
状态转移方程:
x k + 1 → = A x k → + B u k → \overrightarrow{x_{k+1}} =A\overrightarrow{{x_{k}}} + B\overrightarrow{u_{k}}xk+1 =Axk +Buk

代价函数:
J = 1 2 [ x N ⃗ − x d [ N ] ⃗ ] T S [ x N ⃗ − x d [ N ] ⃗ ] + 1 2 ∑ k = 0 N − 1 [ [ x k ⃗ − x d [ k ] ⃗ ] T Q [ x k ⃗ − x d [ k ] ⃗ ] + u k ⃗ T R u k ⃗ ] J = \frac{1}{2} {[\vec{x_{N}} -\vec{x_{d[N]}}]^T} S[\vec{x_{N}} -\vec{x_{d[N]}} ] +\frac{1}{2}\sum_{k=0}^{N-1} \left [ [\vec{x_{k}} -\vec{x_{d[k]}} ]^TQ[\vec{x_{k}} -\vec{x_{d[k]} } ] + \vec{u_{k}} ^TR\vec{u_{k}} \right ]J=21 [xN −xd[N] ]TS[xN −xd[N] ]+21 k=0∑N−1 [[xk −xd[k] ]TQ[xk −xd[k] ]+uk TRuk ]

理论推导

对于离散型系统,推导过程是一个反向递推的过程。对于连续型系统,则需要进行离散化处理。

实际应用

LQR在实际应用中已经非常成熟,特别是在机器人控制领域。关键步骤包括建立误差模型、线性化、离散化,最后求解增益矩阵K。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号