
优化与滤波
文章平均质量分 78
ceres, g2o, gtsam
瞻邈
老菜鸟一个。
展开
-
ISAM2运行流程
本文深入剖析了 ISAM2 的运行流程。详细阐述了从启动到执行任务的各个关键环节,包括初始化设置、数据加载与处理、核心算法的运作以及结果的输出与反馈。通过清晰的步骤拆解和原理说明,帮助读者全面理解 ISAM2 的运行机制,为相关研究和应用提供有价值的参考。原创 2024-08-12 15:27:37 · 2840 阅读 · 0 评论 -
滤波器方法(贝叶斯/EKF/UKF/ESKF/MSCKF)
移动机器人、无人机或者无人船等是不能够像工业机器人利用关节处的力矩传感器和编码器的读数直接进行位姿的解算的,抛开工业机械设计制造及其装配时带来的误差,移动机器人、无人机或者无人船等内置的传感器往往会因为轮子打滑、imu噪声等问题引入难以忽略的误差,由此机器人学中的状态确认就成了一种概率性质的状态估计与更新方法论了。简单的问题分类与描述如下:转载 2023-01-21 21:14:27 · 5432 阅读 · 0 评论 -
卡尔曼滤波原理与工程实践
只是简单套用卡尔曼滤波的公式,而没有系统理解公式里面每个变量的缘来,不去理解卡尔曼滤波器的迭代过程和原理,在实现和调试系统的时候无疑是会找不着北的。原创 2023-01-20 23:04:01 · 1004 阅读 · 0 评论 -
深入理解图优化与g2o
讲完了优化的基本知识,我们来看一下g2o的结构。本篇将讨论g2o的代码结构,并带着大家一起写一个简单的双视图bundle adjustment:从两张图像中估计相机运动和特征点位置。你可以把它看成一个基于稀疏特征点的单目VO。原创 2022-11-11 23:00:52 · 1269 阅读 · 0 评论 -
Ceres数值求导原理与使用
在有些情况下,不使用AutoDiffCostFunction,例如我们用近似的方式计算导数,而不是用AutoDiff的链式法则,我们需要自己的残差和Jacobin计算。这时我们定义一个CostFunction或者SizedCostFunction的子类。原创 2022-09-23 00:53:41 · 589 阅读 · 0 评论 -
GTSAM中李群的运用
GTSAM官方文档中关于李群的理论原创 2022-06-15 12:08:40 · 326 阅读 · 0 评论 -
GTSAM中ISAM2和IncrementalFixedLagSmoother说明
GTSAM原创 2022-06-15 11:38:30 · 1366 阅读 · 0 评论 -
GTSAM类功能介绍
1. class VectorValuesThis class represents a collection of vector-valued variables associated each with a unique integer index. It is typically used to store the variables of a GaussianFactorGraph.Optimizing a GaussianFactorGraph or GaussianBayesNet re原创 2022-01-22 01:58:23 · 1457 阅读 · 0 评论 -
GTSAM李群
AdjointMap定义为何在矩阵李群中,上述两种定义可以混用呢?证明如下李群的AdjointMap上面的公式如何得出下面的结论AdjointMap是反对称矩阵到反对称矩阵的映射令则上面的公式可以写成下式继而推得下面的式子Local Coordinates有这样一个公式证明如下ImuFactor由得...原创 2022-01-22 01:38:49 · 575 阅读 · 0 评论 -
SLAM中位姿估计的图优化方法比较
典型基于优化的SLAM问题来说:Pose-SLAM的目标是在给定闭环和里程约束条件下估计机器人的轨迹(相对姿态)。这些相对姿态测量通常通过IMU、lidar、camera或GNSS获得,使用ego-motion、scan-registration、ICP等构建损失函数。利用最流行的优化框架g2o、Ceres、GTSAM、SE- Sync等进行求解。但是目前没有论文在同一条件下对这些框架算法进行评估,本文的就是做在相同条件下,测试不同框架对不同问题的性能效果。转载 2021-11-15 16:07:19 · 2644 阅读 · 1 评论 -
GTSAM调试方法
1. 查看Key值一般定义Key时使用字母和数字,在报错的时候会以字母加数字的形式输出,如x162380582776但在调试时,在调试工具中即看不到这样形式的Key,而是一堆数字,例如8646911446931935096这时就需要一个小工具来进行转换#include <iostream>#include <string>#include <gtsam/inference/Symbol.h>int main(int argc, ch原创 2021-07-29 12:16:52 · 787 阅读 · 0 评论 -
多传感器融合方式分析
松耦合情况下滤波与优化的对比图从图中可以看出,优化的优势并不是很明显紧耦合情况下滤波与优化的对比图从图中可以看出,优化的优势较为明显参考文献Performance Comparison of GNSS/INS Integrations Based on EKF and Factor Graph Optimization...原创 2021-04-09 21:54:07 · 3765 阅读 · 0 评论 -
Error-State Kalman filter (ESKF)
卡尔曼滤波器在1960年被卡尔曼发明之后,被广泛应用在动态系统预测。在自动驾驶、机器人、AR领域等应用广泛。卡尔曼滤波器使用类似马尔可夫链的性质,假设系统状态只与上一时刻的系统状态有关。基础的卡尔曼滤波器使用线型方程对系统状态进行建模。为了能够应用到非线性系统,扩展卡尔曼滤波器利用泰勒展开,并只保留一次项,抛弃高次项,将非线性关系近似为线性关系。原创 2021-03-31 12:05:43 · 991 阅读 · 0 评论 -
Ceres数值求导
Ceres优化探索先少写一点,后面持续更新Ceres并非图优化,下面的优化计算如果使用图优化方法就会崩溃,因为问题不可解,但Ceres却不然,会得出正确的结果#include <ceres/ceres.h>using ceres::AutoDiffCostFunction;using ceres::CostFunction;using ceres::Problem;using ceres::Solver;using ceres::Solve;// A templat原创 2021-01-06 17:02:36 · 552 阅读 · 1 评论 -
GTSAM崩溃原因分析
本文深入剖析了GTSAM(Geometric Toolkit for Slam and Mapping)在使用过程中出现崩溃的原因。文章首先介绍了GTSAM的基本功能和在机器人SLAM(同时定位与地图构建)领域的重要性。随后,通过实际案例和代码分析,详细探讨了导致GTSAM崩溃的常见原因,包括但不限于内存管理问题、数据类型不匹配、数值计算错误以及优化问题。对于每个原因,文章都提供了相应的解决策略和优化建议,旨在帮助开发者有效避免和解决GTSAM崩溃问题。原创 2020-12-31 16:11:23 · 5916 阅读 · 6 评论