应用机器人中最优控制的计算方法
1. 最优控制问题概述
在解决具有特定性质的最优控制问题时,可采用两阶段或综合的方法。这个问题有一个部分解 $\mathbf{x}(t, \mathbf{x}^0)$,它能从给定的初始条件 $\mathbf{x}^0$ 出发,在满足给定的质量准则下,达到给定的终端条件 $\mathbf{x}(t_f, \mathbf{x}^0) = \mathbf{x}^f$,其中 $t_f < t^+$。质量准则表示为:
[
J(\mathbf{v}^
(t)) = \int_{0}^{t_f} f_0(\mathbf{x}(t, \mathbf{x}^0), \mathbf{h}(\mathbf{v}^
(t), \mathbf{x}(t, \mathbf{x}^0))) dt = \min_{\mathbf{x}^* \in X_0}
]
2. 解决方法概述
解决稳定系统综合问题可以通过构建各种反馈最优控制器来实现,常见的方法如下:
|方法|优点|缺点|
| ---- | ---- | ---- |
|PID或PI控制器|可对参数进行最优调整|结构的最优性缺乏针对特定任务的论证|
|解析设计最优控制器| - |仅适用于线性模型,且大多依赖控制对象模型类型|
|控制Lyapunov函数| - | - |
|反步法| - | - |
|神经网络控制器| - | - |
而基于符号回归的机器学习方法很有前景。符号回归方法会自动搜索控制函数的数学表达式,利用简单函数(如 $\sin x$、$x^2$、加法等)的字母表,构建控制函数的最优结构并同时优化控制器参数。优化技术采用特殊形式的遗传算法,搜索是在函数代码上进行的。不同的符号回归方法对数学表达式的编码形式不同,例如遗传编程使用计算树,网络算子使用有向图。
当通过引入稳定系统满足额外要求后,最优控制的第二个任务可以使用直接或间接方法解决。
3. 计算示例
为了展示上述方法的优势,以一个在有约束工作空间中移动的全向麦克纳姆轮移动机器人为例,使用不同方法解决最优控制问题,并通过引入不同程度的不确定性来检验所得解决方案的性能。
3.1 机器人运动模型
机器人的运动学模型由以下方程定义:
[
\begin{bmatrix}
v_x \
v_y \
\omega_z
\end{bmatrix} = \frac{1}{4}
\begin{bmatrix}
1 & 1 & 1 & 1 \
-1 & 1 & 1 & -1 \
-\frac{1}{L + H} & \frac{1}{L + H} & -\frac{1}{L + H} & \frac{1}{L + H}
\end{bmatrix}
\begin{bmatrix}
u_1 \
u_2 \
u_3 \
u_4
\end{bmatrix}
]
其中,$v_x$ 和 $v_y$ 是质心在水平面上的线速度分量,$\omega_z$ 是机器人绕垂直轴的角速度,$u_i = R\omega_i$ 是控制向量的分量和第 $i$ 个轮子的线性边缘速度($i = 1, 2, 3, 4$),$L$ 和 $H$ 是机器人的几何参数。
将机器人局部参考系中的运动转换为全局参考系中的运动:
[
\begin{bmatrix}
\dot{x}_1 \
\dot{x}_2 \
\dot{x}_3
\end{bmatrix} =
\begin{bmatrix}
\cos x_3 & -\sin x_3 & 0 \
\sin x_3 & \cos x_3 & 0 \
0 & 0 & 1
\end{bmatrix}
\begin{bmatrix}
v_x \
v_y \
\omega_z
\end{bmatrix}
]
因此,控制对象的数学模型为:
[
\begin{cases}
\dot{x}_1 = 0.25(u_1(\cos x_3 + \sin x_3) + u_2(\cos x_3 - \sin x_3) + u_3(\cos x_3 - \sin x_3) + u_4(\cos x_3 - \sin x_3)) \
\dot{x}_2 = 0.25(u_1(-\cos x_3 + \sin x_3) + u_2(\cos x_3 + \sin x_3) + u_3(\cos x_3 + \sin x_3) + u_4(-\cos x_3 + \sin x_3)) \
\dot{x}_3 = \frac{0.25}{L + H}(-u_1 + u_2 - u_3 + u_4)
\end{cases}
]
控制向量有范围限制:$-10 = u_i^- \leq u_i \leq u_i^+ = 10$($i = 1, 2, 3, 4$)。
初始状态为:$\mathbf{x}(0) = \mathbf{x}^0 = [0\ 0\ 0]^T$。
终端状态为:$\mathbf{x}(t_f) = \mathbf{x}^f = [10\ 10\ 0]^T$,其中 $t_f$ 由特定条件确定($\epsilon_0 = 0.01$,$t^+ = 2.2$)。
给定质量准则:
[
J_2 = t_f + p_1|\mathbf{x}^f - \mathbf{x}(t)| + p_2\int_{0}^{t_f} \sum_{i = 1}^{2} \theta(\phi_i(\mathbf{x}(t))) dt \to \min_{\mathbf{u}}
]
其中 $p_1 = 1$,$p_2 = 3$,$\phi_i(\mathbf{x}(t)) = r_i - \sqrt{(x_1(t) - x_{1,i})^2 + (x_2(t) - x_{2,i})^2}$($i = 1, 2$),$x_{1,1} = 1.5$,$x_{2,1} = 2.5$,$r_1 = 2.5$,$x_{1,2} = 8.5$,$x_{2,2} = 7.5$,$r_2 = 2.5$。
3.2 综合最优控制方法求解步骤
-
第一步:搜索稳定系统的控制函数
初始域由 18 个初始位置点组成:
[
X_0 = { \mathbf{x}^{0,N} =
\begin{bmatrix}
-5 + i d_1 \
-5 + j d_2 \
-\frac{5\pi}{12} + k d_3
\end{bmatrix}^T }
]
其中 $d_1 = 5$,$d_2 = 10$,$d_3 = \frac{5\pi}{12}$,$i = 0, 1, 2$,$j = 0, 1$,$k = 0, 1, 2$,$N = 0 \cdots 18$。
稳定点设置在原点:$\mathbf{x}^* = [0\ 0\ 0]^T$。
使用网络算子方法得到解决方案。 -
第二步:解决最优控制问题
时间限制 $t^+ = 2.2$,时间间隔 $\Delta t = 0.2$,将时间轴划分为 $L = \lfloor \frac{t^+}{\Delta t} \rfloor = 11$ 个区间。
对于每个区间 $i$($i = 1 \cdots 11$),使用粒子群优化(PSO)算法搜索最优稳定点 $\mathbf{x}^{ ,i}$ 的值,得到的结果如下:
[
\begin{cases}
\mathbf{x}^{ ,1} =
\begin{bmatrix}
2.5274 \
2.5017 \
-0.0826
\end{bmatrix}^T \
\mathbf{x}^{ ,2} =
\begin{bmatrix}
3.9999 \
2.8955 \
-0.4245
\end{bmatrix}^T \
\cdots \
\mathbf{x}^{ ,11} =
\begin{bmatrix}
3.9691 \
4.0000 \
-1.5650
\end{bmatrix}^T
\end{cases}
]
mermaid 流程图:
graph LR
A[开始] --> B[搜索稳定系统控制函数]
B --> C[设置初始域和稳定点]
C --> D[使用网络算子方法求解]
D --> E[解决最优控制问题]
E --> F[划分时间轴]
F --> G[使用PSO算法搜索最优稳定点]
G --> H[得到最优轨迹]
H --> I[结束]
3.3 直接方法求解步骤
同样将时间轴划分为 $L_{\tilde{}} = \lfloor \frac{t^+}{\tilde{\Delta}t} \rfloor = 11$ 个区间。
在每个区间内,控制向量的每个分量用分段线性函数近似:
[
u_i = (q_{j + 1 + (i - 1)L_{\tilde{}}} - q_{j + (i - 1)L_{\tilde{}} - 1}) \frac{t - j\tilde{\Delta}t}{\tilde{\Delta}t} + q_{j + (i - 1)L_{\tilde{}}}
]
其中 $j\tilde{\Delta}t \leq t < (j + 1)\tilde{\Delta}t \leq t$,$j = 0 \cdots L_{\tilde{}} - 1$。
问题转化为寻找 48 个最优参数 $\mathbf{q} = [q_1 \cdots q_{48}]^T$ 的优化问题。
使用灰狼优化器(GWO)算法,因为该算法在复杂优化问题中更高效,且此问题由于存在相位约束,目标函数是非凸的,梯度方法可能无法找到全局最小值,而进化算法不需要函数可微,能广泛探索搜索空间并大概率找到全局最小值。最终得到的参数如下:
[
\mathbf{q} =
\begin{bmatrix}
17.7853 & 11.9510 & 11.1698 & 15.0867 & 17.2338 \
17.1191 & 18.9972 & 18.9902 & 0.8902 & -13.0557 \
-8.9023 & -2.4057 & -3.5418 & 5.6931 & 12.4873 \
18.0487 & 18.4370 & 13.1061 & 12.7970 & 13.2688 \
14.9822 & 12.2821 & 18.4519 & 11.4719 & 10.5812 \
19.2237 & 1.5677 & -2.2523 & 7.0795 & 9.9619 \
13.4154 & 11.6337 & 10.2377 & 16.6641 & 16.3856 \
15.1025 & 14.5589 & 16.0048 & 7.2910 & 5.4090 \
12.2878 & 14.5625 & 13.0459 & -14.1582 & -6.9339 \
-13.7779 & -14.4530 & -2.7509 & -1.0726 & 15.7054 \
19.5760 & 10.1078
\end{bmatrix}^T
]
为了测试所得控制对函数值小不确定性的敏感性,还会在对象模型中引入扰动。通过比较综合最优控制方法和直接方法得到的机器人最优轨迹,可以评估不同方法的性能。
应用机器人中最优控制的计算方法
4. 结果对比与分析
通过综合最优控制方法和直接方法分别得到了机器人的最优轨迹,下面对这两种方法的结果进行详细对比分析。
| 方法 | 求解步骤 | 优点 | 缺点 |
|---|---|---|---|
| 综合最优控制方法 | 1. 搜索稳定系统的控制函数;2. 解决最优控制问题,划分时间轴并使用PSO算法搜索最优稳定点 | 考虑了系统的稳定性,能在满足稳定要求的基础上寻找最优解 | 计算过程相对复杂,需要确定多个参数和使用特定算法 |
| 直接方法 | 划分时间轴,用分段线性函数近似控制向量分量,转化为优化问题并使用GWO算法求解 | 求解过程相对直接,对于复杂问题可利用进化算法的优势寻找全局最优解 | 对算法的依赖度较高,若算法参数设置不当可能影响结果 |
综合最优控制方法得到的最优轨迹在稳定性方面表现较好,因为它先通过网络算子方法确定稳定系统的控制函数,使得机器人在运动过程中能更稳定地接近目标。而直接方法虽然也能找到全局最优解,但由于其直接对控制向量进行分段线性近似,可能在某些情况下对系统的稳定性考虑不足。
5. 不确定性测试与结果
为了测试所得控制对函数值小不确定性的敏感性,在对象模型中引入了扰动。具体操作如下:
1.
确定扰动类型和范围
:根据实际情况,选择合适的扰动类型,如对机器人的运动学参数(如轮子半径、几何参数等)进行微小的随机扰动。
2.
引入扰动到模型
:将扰动添加到机器人的运动学模型和控制模型中。
3.
重新求解最优控制问题
:分别使用综合最优控制方法和直接方法,在引入扰动的模型下重新求解最优控制问题。
4.
对比结果
:比较引入扰动前后两种方法得到的最优轨迹和质量准则值的变化。
测试结果表明,综合最优控制方法在面对小不确定性时表现更稳定。由于其在求解过程中先考虑了系统的稳定性,即使模型存在一定的扰动,机器人仍然能够相对稳定地朝着目标运动,质量准则值的变化相对较小。而直接方法在扰动下,最优轨迹可能会出现较大的波动,质量准则值也会有较明显的变化。
6. 总结与展望
本文以全向麦克纳姆轮移动机器人为例,介绍了应用机器人中最优控制的计算方法,包括综合最优控制方法和直接方法。通过对比分析,我们可以得出以下结论:
- 基于符号回归的机器学习方法在解决最优控制问题中具有很大的潜力,能够自动搜索控制函数的最优结构和参数。
- 综合最优控制方法在考虑系统稳定性方面具有优势,适用于对稳定性要求较高的应用场景。
- 直接方法在复杂优化问题中能利用进化算法的优势找到全局最优解,但对算法的依赖度较高。
- 在面对小不确定性时,综合最优控制方法表现更稳定。
未来的研究可以进一步探索如何提高符号回归方法的效率和准确性,以及如何更好地结合不同的优化算法,以应对更复杂的应用场景。同时,可以考虑将这些方法应用到更多类型的机器人中,验证其通用性和有效性。
mermaid 流程图:
graph LR
A[开始不确定性测试] --> B[确定扰动类型和范围]
B --> C[引入扰动到模型]
C --> D[重新求解最优控制问题]
D --> E[对比结果]
E --> F[分析结果得出结论]
F --> G[结束]
总之,应用机器人中最优控制的计算方法是一个充满挑战和机遇的研究领域,通过不断的探索和实践,我们有望为机器人的智能控制提供更有效的解决方案。
超级会员免费看
2345

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



