随笔分类 - 非线性优化
摘要:1. 启动 共启动3个节点 mobile_manipulator_mpc_node //mpc问题构建,计算 mobile_manipulator_dummy_mrt_node //仿真,承接MPC的输出,发布Observation, 对于仿真来讲,状态发布也是反馈 mobile_manipulat
阅读全文
摘要:1. 基础知识 1. 导数 2. 自动微分: 3. 适当函数: 至少有一处取值不为正无穷,以及处处取值不为负无穷。 对最优化问题,适当函数可以帮助去掉一些我们不感兴趣的函数。 4. 共轭函数: 从几何上看,意味着对于每一个y,共轭函数是在求\(y^{T}x - f(x)\)在所有x上的最大值。 xy
阅读全文
摘要:控制器配置 Controller::configure() { //创建机器模型 _dynamics = std::make_shared<UnicycleModel>(); //离散网络,比如多重打靶法。参考点,输入,状态,等变量也会存放在grid里面,会实时更新。而且grid也继承了顶点传入到超
阅读全文
摘要:对偶问题是原始优化问题的另一种表述方式。在对偶问题中,优化的目标函数和约束条件都与原始问题不同,但两个问题具有等价的最优解。通过解决对偶问题,可以间接地得到原始问题的最优解,这种方法称为对偶法。 对于一个凸优化问题,其对偶问题可以通过拉格朗日对偶性(Lagrange duality)得到。对于原始问
阅读全文
摘要:ADMM(Alternating Direction Method of Multipliers,多项式交替方向乘子法)是一种用于求解凸优化问题的迭代算法。该算法是由Gabriel Peyré, Neal Parikh和Mathieu Chanaux等人在2010年左右提出的,是一种分布式算法,适用
阅读全文
摘要:Steepest Gradient Descent: constant step size : $\tau = c$ 固定梯度大小 Diminishing step size: $\tau = c/k$ 每次迭代后,梯度都减小 Exact line search $\tau = \arg \math
阅读全文
摘要:通过 对 一个 数学 模型 的求解 来介绍 NLopt的使用方法 数学模型: 这个是目标函数 求满足 条件的情况下 x2的开平方最小 边界约束 非线性不等式约束如下 有两个参数 x1 和 x2 ,其中 a和b是模型的参数可以设为任意的固定值,这个模型设为a1=2,b1=0,a2=-1,b2=1 绘制
阅读全文
摘要:1. 高斯牛顿法 残差函数f(x)为非线性函数,对其一阶泰勒近似有: 这里的J是残差函数f的雅可比矩阵,带入损失函数的: 令其一阶导等于0,得: 这就是论文里常看到的normal equation。 2.LM LM是对高斯牛顿法进行了改进,在求解过程中引入了阻尼因子: 2.1 阻尼因子的作用: 2.
阅读全文
摘要:g2o是一个基于图优化的库,图优化是把优化问题表现为一种图的方式。一个图由若干个顶点和边组成。 顶点表示优化变量,边表示误差项。 g2o的使用步骤: 1.定义顶点和边的类型; 2.构建图; 3.选择优化算法; 4.调用g2o进行优化 #include <iostream> #include <g2o
阅读全文
摘要:使用Ceres求解非线性优化问题,一共分为三个部分: 1、 第一部分:构建cost fuction,即代价函数,也就是寻优的目标式。这个部分需要使用仿函数(functor)这一技巧来实现,做法是定义一个cost function的结构体,在结构体内重载()运算符。 2、 第二部分:通过代价函数构建待
阅读全文
摘要:1.优化问题: \(y=exp(ax^{2}+bx+c)+w\),由y和x,求解a,b,c 误差为:\(e_{i}=y_{i}-exp(ax_{i}^{2}+bx_{i}+c)\) 误差项对每一个待估计量进行求导: \(\frac{\partial e_{i}}{\partial a}=-x^{2}
阅读全文

浙公网安备 33010602011771号