引言
在机器人技术迅速发展的背景下,优化问题求解成为了该领域的关键技能之一。本系列旨在帮助读者掌握解决一般非凸、光滑、非光滑、有约束、无约束以及具有特殊结构的凸问题和非凸问题的方法。
一、参考书籍推荐
- 《最优化:建模、算法与理论》 北大的文再文团队编著,中文版,提供了很多算法的理论和具体流程,适合入门。
- 《数值优化》(Numerical Optimization) 除了理论全面外,关注程序中的浮点数表示引发的稳健性问题,提供工程实践技巧。
- 《凸优化教程》(Lectures on Convex Optimization) 聚焦凸优化理论,从光滑到非光滑到结构优化,思路清晰。
- 《现代凸优化分析、算法和工程应用教程》 针对锥优化,对锥规划及多项式时间复杂度的内敛算法有整体分析和应用。
建议重点阅读第一、二、三本书。
二、数值优化的定义与组成
数值优化通过数学模型和算法找到使机器人系统性能最优的参数值,通常涉及最小化目标函数(如能耗、轨迹精度等)。
2.1 数值优化组成部分
数学优化一般由以下几个部分组成: $$ \begin{matrix} \min f(x) \ \text{s.t.} \quad g(x) \leq 0 \ \quad \quad h(x) = 0 \end{matrix} $$
(1) 优化变量
$x = (x_1, \cdots, x_n) \in R^n$ 是 $n$ 维向量,称为优化变量。
(2) 目标函数
$f: R^n \rightarrow R$ 评价 $x$ 是否更优,值越小越好。
(3) 不等式约束
g: R^n \rightarrow R^{m_g}$,例如描述圆形区域或可行域边界。
(4) 等式约束
$h: R^n \rightarrow R^{m_h}$,例如描述曲面或平面相交的曲线。
定义最优值 $x^*$,满足所有约束的 $x$ 称作可行解。最优解是可行解中具有最低目标函数值的解。
2.2 数值优化前提假设
在机器人数值优化中,假设目标函数满足以下两点:
- 假设 1:目标函数具有下界,即 $f(x) \geq \alpha$。
- 假设 2:目标函数具有有界子级集,即当 $f(x) \leq \beta$ 时,$x$ 有界。
对于有约束优化,定义增广目标函数 $ ilde{f}(x)$,在满足约束时为 $f(x)$,不满足时为 $+\infty$,使其满足上述假设。
三、数值优化在机器人中的应用
3.1 平滑与映射:非线性最小二乘法
常用于 SLAM(同步定位与地图构建)。恢复位置轨迹可写为非线性函数: $$ \min \sum f_i^2(x) $$ 其中约束条件为 $l_x \leq x \leq u_x$。目标函数为关于优化变量的平方和最小化残差。
3.2 轨迹规划:非线性问题
在轨迹规划或运动规划里通常会解非线性问题。若 $f(x), g(x), h(x)$ 都是非线性的,即为非线性规划问题。需优化火箭状态随时间变化的轨迹,使其光滑且满足安全约束。
3.3 点云配置:半定规划
在点云配准领域,找最优旋转 $R$ 和平移 $T$,使得两帧点云距离度量最小。利用 $R$、$T$ 的特殊性质,可将问题转化为半定规划(SDP),这是一类锥优化。
3.4 时间最优路径参数化:二阶锥规划
在多关节机器人、无人车等领域存在时间最优路径参数化(TOPP)问题。给定路径 A 到 B,在满足驱动限制前提下最快完成跟踪。此类问题可转化为二阶锥规划(SOCP)。
四、数值优化基础
要掌握机器人学领域的数值优化,需要以下基础知识:
4.1 数学基础
- :矩阵运算、向量空间、特征值等。


