- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 c++ STL标准模板库-函数对象(Functors)和 Lambda 表达式
c++ STL标准模板库-函数对象(Functors)和 Lambda 表达式
2024-10-22 18:39:30 1060
原创 VINS-Fusion 多传感器全局位姿估计的一种通用优化框架
对于自动导航的机器人来说,精确的状态估计是基本问题。为了实现局部精确和全局无漂移的位姿估计,通常将具有互补属性的多个传感器进行融合。在一个小的区域内,局部传感器,如相机、IMU、Lidar等,提供了精确的位姿,而在一个大场景环境下,全局传感器,如gps、magnetometer、barometer等,提供有噪声但全局无漂移的定位。在本文中,我们提出一种传感器融合框架,将局部状态和全局传感器融合,实现局部精确和全局无漂移的位姿估计。现有的VO/VIO方法产生的局部估计,在位姿图优化中与全局传感器融合。在图优化
2024-08-05 17:16:45 215
原创 VINS-Fusion 位姿图optimize4Dof四自由度优化
在上篇文章“VINS-Fusion 回环检测pose_graph_node”中,findConnection回环成功后,用当前偏移修正在世界坐标系下的累计偏移,同时将当前帧加入优化队列optimize_buf,进行位姿图优化,形成全局一致的位姿。
2024-07-24 17:56:18 136
原创 VINS-Fusion 回环检测pose_graph_node
回环检测pose_graph_node,检测到回环的两帧,当前帧和数据库中回环帧。当前帧在世界坐标系下的位姿包含累计偏移,当前帧下的世界坐标系与数据库中回环帧不重合,闭环重定位的作用就是将当前帧世界坐标系累计的误差重映射到原世界坐标系,达成全局一致位姿。
2024-07-22 16:57:22 775
原创 VINS-FUSION 基于视差Parallax关键帧
VINS-FUSION中基于视差Parallax关键帧,主要是在函数addFeatureCheckParallax中完成,其结果作为滑窗去除帧的依据。在滑动窗口中,总是保持窗口总体大小不变,当新进来一帧,通过函数addFeatureCheckParallax判断,如果属于关键帧,则去除窗口中最老帧,置标志MARGIN_OLD;如果不属于关键帧,则去除窗口中次新帧,置标志MARGIN_SECOND_NEW。通过该种策略完成滑窗过程。
2024-07-22 16:55:43 417
原创 Ceres优化库详细解析
Ceres优化库解析,详细介绍解析求导、自动求导和数值求导三种方式,并以IMU Calibration(misalignment/non-orthogonal、scale、bias)和VINS-Fusion IMU预积分因子为例,讲述ceres优化库的使用。
2024-07-22 16:53:19 638
原创 VINS-FUSION 优化-先验因子(边缘化)
VINS中的边缘化策略,将滑出窗外的帧与滑窗内的帧的约束使用边缘化的形式保存为先验误差因子进行后续非线性优化,以保留约束信息。滑窗过程:在滑动窗口中,总是保持窗口总体大小不变,当新进来一帧,通过函数addFeatureCheckParallax判断,如果属于关键帧,则去除窗口中最老帧,置标志MARGIN_OLD;如果不属于关键帧,则去除窗口中次新帧,置标志MARGIN_SECOND_NEW。通过该种策略完成滑窗过程。
2024-07-22 16:50:31 1238
原创 VINS-Fusion features特征点管理
特征点管理关键是特征的数据结构设计及逻辑包含关系,铆定特征点features_,该特征点可能被多帧观测到FeaturePerId,该特征点在一帧图像中的信息表达FeaturePerFrame。
2024-07-22 16:49:33 206
原创 VINS-Fusion 特征点检测、跟踪
VINS-Fusion特征点检测,跟踪,主要在文件feature_tracker.cpp内完成,本文详细介绍其流程。
2024-07-22 16:48:23 474
原创 VINS-FUSION 优化-IMU预积分因子(三)
给出两种推导方差的方法:基于一阶泰勒展开的误差递推方程和基于误差随时间变化的递推方程。并详细给出VINS-Fusion IMU预积分基于误差随时间变化的递推方程。同时给出bias变化后,预积分泰勒展开形式的雅克比矩阵J的求解。
2024-07-22 16:19:44 493
原创 VINS-FUSION 优化-IMU预积分因子(二)
VINS-FUSION 优化-IMU预积分因子(一)完成了IMU预积分及对于优化变量的全部雅克比矩阵的推导,本文结合VINS-FUSION源码,完成优化-IMU预积分因子的使用。
2024-07-22 16:18:29 902
转载 std::function的用法
std::function是一个可调用对象包装器,是一个类模板,可以容纳所有可调用对象,它可以用统一的方式处理函数、函数对象、函数指针,并允许保存和延迟它们的执行。
2024-01-02 15:41:41 679
原创 如何兼容多版本protoc
进行文章“gazebo11+px4联合仿真测试”时,由于gazebo11需要protobuf3.6.1,而之前系统又已安装其它版本。特别是,在进行“多传感器融合定位”学习时,前后也需要不同版本protoc,为了让多个系统顺利运行,不至于反复安装、卸载,一度让我崩溃,这里简单记录下该过程
2023-12-22 12:33:27 1557
原创 基于车轮安装MEMS IMU的航迹推算算法研究
Wheel-IMU跟随车轮不断旋转,安装方式和imu坐标系定义不同,在算法中的处理方式也不同。基于旋转效应对捷联惯导误差的调制作用,充分挖掘Wheel-IMU的定位能力。基于陀螺间接测量得到的车轮速度,进一步探讨由车轮速度信息构建不同观测值用于滤波量测更新的算法,并基于载体自身运动信息约束,构建零速更新和零航向角速率观测值,设计一种性能最优、计算最简洁的约束算法。
2023-12-22 11:28:28 1762
原创 零速更新(ZUPT)辅助INS定位
一种零速更新辅助惯性导航系统算法。该算法以惯性导航为主体框架,kalman用于估计导航系统误差。当检测到载体满足零速条件时,kalman用零速校正当前系统误差,即状态估计量。不通过外加传感器方式,通过载体自身运动特性,提高惯性导航精度和鲁棒性。
2023-12-13 11:59:20 2323 3
原创 px4: Ecl ekf2学习记录
px4状态估计(ECL)扩展卡尔曼滤波器(EKF)多传感器融合状态估计算法简介,及Ecl ekf2代码预测、更新流程梳理。
2023-11-09 13:05:29 1111
原创 rosbag详解
文章主要介绍rosbag的常用命令,rosbag是一个基于ros系统的话题数据录制和回放工具,在实际应用中,可以使用 bag 文件来保存和恢复系统的运行状态,常用于初始数据采集及DEBUG。
2023-05-11 17:51:50 3763
原创 SLAM 轨迹评估工具——EVO安装、使用介绍
evo是一款用于视觉里程计和SLAM问题的轨迹评估工具. 核心功能是能够绘制相机的轨迹, 或评估轨迹与真值之间的误差. 支持多种数据集的轨迹格式(TUM、KITTI、EuRoC MAV、ROS的bag), 同时支持这些数据格式之间的相互转换,本文轨迹展示以tum数据格式为例。
2023-03-22 10:24:27 7833 2
转载 汇总 ORB-SLAM2 / ORB-SLAM3 相关改进代码
本文总结了特征点法SLAM中目前效果最好的方法:ORB-SLAM2 / ORB-SLAM3 相关改进代码汇总,包括加速、多传感器融合、稠密建图、线特征、点线融合、导航、动态环境、多平台移植等。
2023-02-23 11:29:02 2023
转载 ORB-SLAM3论文详解
ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。他是第一个基于特征的紧耦合的VIO系统,仅依赖于最大后验估计(包括IMU在初始化时)。这样一个系统的效果就是:不管是在大场景还是小场景,室内还是室外都能鲁棒实时的运行,在精度上相比于上一版提升了2到5倍。本文的第二个创新点是根据改进recall的新的重定位模块来构建的混合地图,因为这个模块他可以让ORB-SLAM3在特征不是很好的场景中长期运行。
2023-02-23 11:21:47 678
原创 ORB_SLAM3 Track线程详解
ORB_SLAM3启动入口在Examples文件夹中,包含单目、双目、RGB-D,及其惯性组合。本文以双目+惯性作为例子,介绍ORB_SLAM3 Track线程。
2023-02-22 16:42:30 743
原创 ORB_SLAM3启动流程以stereo_inertial_realsense_D435i为例
ORB-SLAM3 是第一个同时具备纯视觉(visual)数据处理、视觉+惯性(visual-inertial)数据处理、和构建多地图(multi-map)功能,支持单目、双目以及 RGB-D 相机,同时支持针孔相机、鱼眼相机模型的 SLAM 系统。主要创新点:1.在 IMU 初始化阶段引入 MAP。该初始化方法可以实时快速进行,鲁棒性上有很大的提升(在大的场景还是小的场景,不管室内还是室外环境均有较好表现),并且比当前的其他方法具有 2-5 倍的精确度的提升。2.基于一种召回率大大提高的 plac
2023-02-17 11:18:39 2397
原创 ORB_SLAM3 ROS编译及使用D435I运行
本文介绍ORB_SLAM3编译、运行中遇到问题,尤其涉及到ORB_SLAM3 ROS编译遇到的问题。最后通过使用D435I完成在室内环境下运行。
2023-02-15 15:08:50 6546 12
转载 蓝牙如何进行广播和扫描
摘要:本文主要介绍1.BLE设备是如何被发现的,2.如何快速的找到BLE设备或者如何降低广播阶段的功耗,3.BLE广播通道/频道(channle)上的PDU,即数据类型。
2022-12-01 18:27:28 2701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人