进化算法在控制问题与博弈中的应用
1. 半挂车倒车问题
1.1 问题描述
半挂车倒车问题是一个有趣的控制问题。半挂车通过挂钩连接到牵引车,可在其后方转动。控制目标是将半挂车从任意起始位置移动,使挂车后部中点位于指定的装卸台位置附近,且挂车与装卸台垂直。
为描述系统状态,通常使用四个维度:挂车后部中点的 $(x, y)$ 坐标、挂车相对于装卸台的角度 $\theta_t$ 以及牵引车相对于挂车的角度 $\theta_d$。此外,还引入变量 $\theta_c$ 来描述牵引车(驾驶室)与垂直于装卸台的线的夹角。
为简化问题,假设卡车以恒定速度倒车,通过改变 $u(t)$(表示 $t$ 时刻前轮胎相对于牵引车的角度)来实现转向。控制目标是在每个时间步(通常间隔 $\Delta t = 0.02s$)调整 $u(t)$,使 $x$ 在装卸台的 $0.1m$ 范围内,$y$ 在装卸台的 $0.42m$ 范围内,$\theta_t$ 与水平方向的夹角在约 $0.12$ 弧度($7°$)内。
1.2 系统动力学方程
半挂车的系统动力学涉及以下七个方程:
- $A = r \cos(u(t))$ (12.46)
- $B = A \cos(\theta_c(t) - \theta_t(t))$ (12.47)
- $C = A \sin(\theta_c(t) - \theta_t(t))$ (12.48)
- $x(t + 1) = x(t) - B \cos(\theta_t(t))$ (12.49)
- $y(t + 1) = y(t) - B \sin(\theta_t(
超级会员免费看
订阅专栏 解锁全文
2040

被折叠的 条评论
为什么被折叠?



