机器人数值优化基础(一)从理论到实战
介绍机器人数值优化的基础理论与应用。涵盖优化问题的定义、组成部分(变量、目标函数、约束)、在机器人领域的应用(SLAM、轨迹规划、点云配准等)。详细讲解无约束优化、约束优化及对称锥规划,并提供数学基础、编程技能及软件工具建议。最后探讨工程技巧如平滑技术、线性求解器选择及项目实战,旨在帮助读者掌握解决机器人非凸、有约束优化问题的方法。

介绍机器人数值优化的基础理论与应用。涵盖优化问题的定义、组成部分(变量、目标函数、约束)、在机器人领域的应用(SLAM、轨迹规划、点云配准等)。详细讲解无约束优化、约束优化及对称锥规划,并提供数学基础、编程技能及软件工具建议。最后探讨工程技巧如平滑技术、线性求解器选择及项目实战,旨在帮助读者掌握解决机器人非凸、有约束优化问题的方法。

在当今机器人技术迅速发展的背景下,优化问题求解成为了该领域的关键技能之一。本系列旨在帮助读者掌握解决一般非凸、光滑、非光滑、有约束、无约束以及具有特殊结构的凸问题和非凸问题的方法。
建议重点阅读第一、二、三本书。
数值优化通过数学模型和算法找到使机器人系统性能最优的参数值,通常涉及最小化目标函数。
数学优化一般由以下几个部分组成: $$ \min f(x) \ \text{s.t.} \quad g(x) \leq 0 \ \quad \quad h(x) = 0 $$
$x = (x_1, \cdots, x_n) \in R^n$,称为优化变量。它是 n 维向量。
$f: R^n \rightarrow R$,评价 $x$ 是否更优。值是越小越好。
g: R^n \rightarrow R^{m_g}$。例如 $g(x) = (x_1 - 1)^2 + x_2^2 - 1 \leq 0$ 描述的是以 $(1, 0)$ 为圆心,1 为半径的圆形区域。
$h: R^n \rightarrow R^{m_h}$。例如在三维空间的曲面上寻找 $x$,曲面可以用等式 $h$ 表述,如 $x_1^2 + x_2^2 + x_3^2 = 0$。
定义最优值 $x^*$,要满足所有约束。所有满足约束的 $x$ 称作 可行解。最优解是可行解中具有最低目标函数值的解的集合。
在机器人数值优化中,假设目标函数满足以下两点:
对于有约束优化的情况,定义 $\tilde{f}(x)$ 为满足约束时为 $f(x)$,不满足时为 $+\infty$。则 $\tilde{f}(x)$ 作为目标函数是有下界且具有有界子级集。
在本系列的所有情况中,都会假设无约束优化里的目标函数必须得满足这两个假设条件。存在下界且具有有界子级集。
SLAM 同步定位与地图构建里面的很多问题可以写为非线性函数: $$ \min \sum f_i^2(x) $$ 其中,约束条件为 $l_x \leq x \leq u_x$。目标函数为关于优化变量的平方和最小化残差,满足一系列边界约束。
在轨迹规划或者运动规划里通常会解非线性问题。只要 $f(x), g(x), h(x)$ 都是非线性的,它就是非线性问题,需要把火箭的一系列的状态 $x$ 随着时间变化的轨迹优化出来。
在点云配置领域,要找最优的 $R$ 和 $T$,使得两帧点云中间的距离度量尽可能的最小。因为 $R$、$T$ 有特殊的性质,可以通过牺牲精度来把对应的问题变成半定规划(SDP)。
在多关节机器人、无人车、无人机、无人船里都有时间最优路径参数化的问题。给定连续可导的路径 A 到 B,要在满足机器人驱动限制的前提下,使其最快完成路径跟踪。这样的问题可以变成一类**二阶锥规划(SOCP)**问题。
要掌握这一领域的数值优化,需要以下基础知识:
无约束优化是指寻找一个函数的极值点,而不受任何额外条件的限制。
约束优化是指寻找一个函数的极值点,同时满足一定的约束条件。
增广拉格朗日算法简洁有效,尤其适用于控制分配问题、碰撞距离计算和非线性模型预测控制等实际应用。
对称锥规划(Symmetric Cone Programming, SCP) 是一类特殊的凸优化问题,能够表达某些非凸函数,并转化为可以获得全局最优解的锥规划问题。
通常通过内点法(Interior Point Method, IPM)来解决。
对于非光滑问题,可以牺牲精度把对应的非光滑问题磨光,获得很快的求解方案。
工程里面关注的是质量和效率的权衡,怎样有效地把实际的约束个数和自由度解耦,工程里有比较实用的方法叫伴随法。
在数值优化中都会涉及到求解线性方程组 $Ax=b$。挑选对应的线性求解器关乎性能最重要的一方面。
在自主移动机器人的研究领域,安全导航是一个极具挑战性的任务。我们将探讨如何将这些优化方法应用于自主移动机器人的安全导航。
本系列专栏的核心是通过理论与实践相结合,帮助读者快速掌握机器人领域的数值优化技术。无论是无约束优化、约束优化、凸优化还是非凸优化,每一个部分都有其独特的应用和解决方法。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online