algorithm
文章平均质量分 69
影子鱼Alexios
有任何疑问欢迎提问
展开
-
机器人中的数值优化进阶|【三】三次样条曲线推导(下)
势场函数的计算较为容易,主要关注梯度的推导与计算。通过该式可以组装一个矩阵计算公式,得到梯度。接之前的内容,现在开始考虑势场函数。原创 2024-02-02 15:43:25 · 2323 阅读 · 0 评论 -
机器人中的数值优化进阶|【一】三次样条曲线推导(上)
来实现对样条曲线的生成。控制点意味着样条曲线必然要经过这几个点。对于每一段曲线,都可以由。考虑到位置连续性,速度连续性和加速度连续性,对位置连续性,有。在三次样条曲线中,样条曲线通过一系列控制点。设定边界条件,即初始时和末尾时速度为0,有。我们知道三次样条曲线必须过控制点,因此有。,整理上面各式,有如下形式。考虑到加速度连续性,有。现在考虑计算能量的梯度。来表征曲线,其定义为。现在开始能量相关推导。原创 2024-02-02 15:18:35 · 3019 阅读 · 0 评论 -
机器人中的数值优化进阶|【二】三次样条曲线推导(中)
的梯度感兴趣,因此只取其中这部分。维,但是实际求导时,我们其实只对。原创 2024-02-02 15:17:22 · 2830 阅读 · 0 评论 -
视觉SLAM十四讲|【六】基于特征匀速模型的重投影误差计算形式
无时间戳延迟时,残差计算流程:世界坐标系中的第l个地图点变换到相机坐标系下为flwxyzT变换到相机坐标系下为flciRcbRwbiTflw−pwbipcb观察上式,易知转换的过程为先从世界坐标系转换到body坐标系,再从body坐标系转换到相机坐标系rcxlizli−uliylizli−vliTulivli。原创 2024-01-29 14:06:57 · 2818 阅读 · 0 评论 -
非线性系统【八】|线性系统的能观性与能控性
对于如下系统X˙AXBUYCX其中X为状态量,Y为观测量。原创 2024-01-23 11:26:51 · 2734 阅读 · 0 评论 -
视觉SLAM十四讲|【四】误差Jacobian推导
ω=12((ωbk+nkg−bkg)+(wbk+1+nk+1g−bk+1g))\omega = \frac{1}{2}((\omega_b^k+n_k^g-b_k^g)+(w_b^{k+1}+n_{k+1}^g-b_{k+1}^g))ω=21((ωbk+nkg−bkg)+(wbk+1+nk+1g−bk+1g))其中,wbkw_b^kwbk为kkk时刻下body坐标系的角速度,nkgn_k^gnkg为kkk时刻下陀螺仪白噪声,bkgb_k^gbkg为kkk时刻下陀螺仪偏置量。nkan原创 2024-01-08 23:40:49 · 2724 阅读 · 0 评论 -
视觉SLAM十四讲|【三】李代数旋转计算示例
δRδR−1p以右旋近似,可以得到如下ϕ→0limϕ((Rexpϕ∧))−1p−R−1pϕ→0limϕexpϕ∧−1R−1p−R−1pϕ→0limϕIϕ∧−1R−1p−R−1pϕ→0limϕI−ϕ∧R−1p−R−1pϕ→0limϕ−ϕ∧R−1p为了将分母中的ϕ。原创 2024-01-08 20:42:27 · 2732 阅读 · 0 评论 -
视觉SLAM十四讲|【一】三维空间刚体运动
SO(n)={R∈Rn×n∣RRT=I,det(R)=1}SO(n)=\{ R \in \mathbb{R^{n \times n}} | RR^T=I,det(R)=1 \}SO(n)={R∈Rn×n∣RRT=I,det(R)=1}SO(n)为特殊正交群设aaa为一点坐标(x,y,z)(x,y,z)(x,y,z)。旋转与平移的结合可以描述为如下形式a′=RTa+ta'=R^Ta+ta′=RTa+tRT=R−1R^T = R^{-1}RT=R−1RRT=I,det(R)=1RR^T=I原创 2023-12-25 15:29:59 · 2493 阅读 · 0 评论 -
机器人中的数值优化|【七】线性搜索牛顿共轭梯度法、可信域牛顿共轭梯度法
线性搜索牛顿-CG方法,也称为截断牛顿方法。最基础的Newton step是通过求解线性系统的方程。因此,一旦产生了一个负曲率的方向,我们就终止了CG迭代。然而,CG方法是用来求解正定系统的,当。不接近解时,hessian阵。原创 2023-09-27 23:13:22 · 2374 阅读 · 1 评论 -
机器人中的数值优化|【六】线性共轭梯度法,牛顿共轭梯度法
关于牛顿-共轭梯度法,笔者认为对其最直接和最根本的认识,这篇帖子写得特别好,可以参考東雲正樹的一文。原创 2023-09-27 19:14:20 · 2261 阅读 · 0 评论 -
机器人中的数值优化|【五】BFGS算法非凸/非光滑处理
在往期中我们对拟牛顿法以及BFGS等算法进行了详细的推导和学习,但是之前讨论的都为在保证函数凸且光滑的情况,那么如果函数非凸或者非光滑呢?我们在本节中进行一下研究。原创 2023-09-27 13:52:52 · 2297 阅读 · 0 评论 -
机器人中的数值优化|【四】L-BFGS理论推导与延伸
在上一节中我们对拟牛顿法进行了详细的推导,特别是对BFGS的推导过程比较熟悉了,我们发现BFGS虽然解决了牛顿法中hessian可能不存在以及hessian求逆计算复杂的通电,但是在大规模优化过程中,很可能没有办法去存储一个。矩阵,因此Limited memory GFGS算法自然而然就被提出,表示使用有限的空间来进行计算。个向量,然后每次迭代最近的结果即可计算出近似矩阵。来得到,LBFGS的思想是不再使用所有的。,避免显式保存矩阵信息。,而是通过使用最近的。原创 2023-09-26 22:30:45 · 2322 阅读 · 0 评论 -
机器人中的数值优化|【三】无约束优化,拟牛顿法,共轭梯度法理论与推导
在前面的章节中,我们学习了牛顿法,牛顿法的核心是先通过将函数泰勒展开,近似为一个二阶项目,对这个二阶项求导,可以得到极值点,则直接找到了在函数展开点附近的最优点。注意,我们这里说的是函数展开点附近的最优点。因为泰勒展开存在截断误差,我们是不能认为该点就是精确解的。下面是公式层面的一个推导。xminfx对x,我们于xt处(第t次迭代的x)位置进行二阶泰勒展开,有fx≈fxtf1xtx−xt21f2xtx−xt。原创 2023-09-24 23:50:49 · 2249 阅读 · 0 评论 -
机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例
首先我们定义一个基本的优化方法类,在类中对法各种方法进行抽象的实现。原创 2023-01-10 16:14:12 · 1736 阅读 · 1 评论 -
机器人中的数值优化|【一】数值优化基础
本文通过探讨机器人中的数值优化方法,研究包含各种凸优化的理论和数值优化方法。令X是线性空间。如果对于X的子集S中的所有x和y,并且在区间 [0,1]中的所有t,点(1−t)x+ty也属于S,则S称为凸集。原创 2023-01-03 16:29:46 · 1339 阅读 · 2 评论 -
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(五)工作安排问题Job constraint problem
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(五)工作安排问题Job constraint problem原创 2022-12-20 16:57:42 · 128 阅读 · 0 评论 -
复变函数与积分变换笔记(二)
复变函数与积分变换笔记(二)原创 2022-03-31 20:11:01 · 248 阅读 · 0 评论 -
复变函数与积分变换笔记(一)
复变函数与积分变换(一)复变函数与积分变换的一些笔记,记在这里。原创 2022-03-23 14:20:45 · 451 阅读 · 0 评论 -
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(四)地图填色问题Map coloring problem
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(四)地图填色问题Map coloring problem对于如上所示的澳大利亚地图,我们只用红蓝绿三种颜色填色,要求相邻两省份颜色不能相同,使用CSP求解器求解。问题的具体描述写在txt文件中,格式如下Australia Map Coloring Problem from AIMAWA NT Q NSW V SA TWA NT SANT Q SA WAQ NSW SA NTNSW V S原创 2022-03-05 12:33:41 · 496 阅读 · 3 评论 -
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(三)Inference and variables order
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(三)Inference and variables order排序的接口定义import java.util.List;import java.util.Map;public interface Oder<V,D> { boolean oderUnassigned(List<V> unassigned,AbstractAssignment<V,D> a原创 2022-03-05 12:23:21 · 144 阅读 · 0 评论 -
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(二)问题的定义
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(二)问题的定义接上篇,我们开始直接代码部分的工作,首先是问题的定义,对于一个约束,我们有一个基类如下所示:import java.util.ArrayList;import java.util.List;public class AbstractConstraint<V,C> { List<V> variableList; public Abstract原创 2022-03-05 12:16:48 · 291 阅读 · 0 评论 -
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(一)原理部分
约束满足问题(Constraint Satisfaction Problem, CSP)的Java实现(一)原理部分问题的定义一个约束满足问题由三个部分组成,即 变量, 可行域, 约束。按照本人理解,变量为需要求解的量,可行域为变量中每个变量对应的可选择的值域,一般考虑为离散的问题。约束一般分为unary constraint, binary constraint,和多约束,但多约束也可以转换为binary constraint。unary constraint:T1≠d1T_1 \neq d_原创 2022-03-05 12:07:23 · 1038 阅读 · 0 评论