【滤波跟踪】视觉里程计VO与惯性导航系统INS外参标定MATLAB代码,通过优化求解相机到INS的坐标变换,实现多传感器数据融合前的外参校准

简介: ✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。🔥 内容介绍在当今的智能感知与导航领域,单一传感器往往难以满足复杂环境下对精度、可靠性和鲁棒性的高要求。滤波跟踪视觉里程计(VO)通过对图像序列的分析处理,能够实时计算载体的运动信息,为系统提供丰富的视觉观测;而惯性导航系统(INS)则利用加速度计和陀螺仪,自主测量载体的加速度和角速度,经过

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

👇 关注我领取海量matlab电子书和数学建模资料

🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。

🔥 内容介绍
在当今的智能感知与导航领域,单一传感器往往难以满足复杂环境下对精度、可靠性和鲁棒性的高要求。滤波跟踪视觉里程计(VO)通过对图像序列的分析处理,能够实时计算载体的运动信息,为系统提供丰富的视觉观测;而惯性导航系统(INS)则利用加速度计和陀螺仪,自主测量载体的加速度和角速度,经过积分运算得到载体的速度、姿态和位置,在短时间内具有较高的精度且不受外界环境干扰 。将二者融合,能使系统兼具视觉信息的丰富性和惯性导航的自主性,有效提升在复杂环境下的导航性能,无论是在室内缺乏 GPS 信号的场景,还是在室外光照变化剧烈、遮挡频繁的环境中,都能稳定工作。

然而,要实现 VO 与 INS 的高效融合,外参标定是绕不开的关键环节。外参标定的核心任务是精确求解相机到 INS 的坐标变换关系,包括平移、旋转和尺度参数。只有当这些外参准确无误时,来自 VO 的视觉信息和 INS 的惯性信息才能在统一的坐标系下进行无缝融合,从而为后续的定位、导航和地图构建等任务提供坚实的数据基础。倘若外参存在误差,那么视觉特征点的投影与 IMU 预积分轨迹就会出现不匹配的情况,导致位姿估计出现跳变,最终使整个多传感器融合系统的性能大幅下降。

VO 与 INS 系统简介

(一)滤波跟踪视觉里程计 VO

视觉里程计(VO)是一种通过处理图像序列来估计相机运动的技术,其工作原理基于对图像中特征点的提取、匹配与跟踪 。以常见的 ORB(Oriented FAST and Rotated BRIEF)特征点算法为例,在初始帧图像中,ORB 算法会快速检测出具有独特亮度和纹理特征的角点作为特征点,这些角点在图像中具有明显的局部特征,不易受光照、尺度和旋转变化的影响。当相机运动到下一帧时,ORB 算法通过计算描述子,在新帧中寻找与上一帧特征点具有相似描述子的点进行匹配,从而建立特征点的对应关系。基于这些匹配点对,利用对极几何原理构建基础矩阵或本质矩阵,进而通过分解矩阵求解出相机的旋转和平移参数,实现对相机位姿的估计。

在室内场景中,环境具有丰富的纹理和结构信息,VO 能够充分利用这些特征,准确地提取和匹配大量的特征点,从而实现高精度的位姿估计,满足室内导航、室内机器人定位等任务的需求 。在一些工业检测场景中,VO 可以快速、准确地确定检测设备的位置和姿态,为工业生产提供高效的视觉支持。但在纹理匮乏的场景,如大面积的白墙、雪地等环境中,由于缺乏足够的特征点,VO 的特征提取和匹配变得极为困难,导致位姿估计的精度急剧下降,甚至可能出现无法定位的情况。在光照变化剧烈的场景,如从室内突然移动到室外强光环境,图像的亮度和对比度会发生显著变化,这会影响特征点的提取和匹配的稳定性,使得 VO 的性能受到严重影响,容易产生较大的位姿估计误差。

(二)惯性导航系统 INS

惯性导航系统(INS)主要由惯性测量单元(IMU)、数据处理单元和导航计算机等部分构成 。其中,IMU 是 INS 的核心部件,通常包含三轴加速度计和三轴陀螺仪。加速度计依据牛顿第二定律,通过检测内部惯性质量在加速度作用下产生的相对位移,来测量载体在三个方向上的加速度;陀螺仪则基于角动量守恒定律,通过检测内部旋转质量在载体旋转时产生的相对角速度,来测量载体的角速度。当载体运动时,IMU 实时采集加速度和角速度数据,数据处理单元对这些原始数据进行滤波处理,去除噪声干扰,然后通过积分运算将加速度转换为速度,再将速度积分得到位移,同时根据陀螺仪测量的角速度更新载体的姿态信息,最终由导航计算机计算出载体的位置、速度和姿态等导航参数。

INS 具有自主性强的显著优势,不依赖于外部信号,无论是在深海、地下隧道等卫星信号无法覆盖的环境,还是在受到电磁干扰导致外部信号中断的情况下,都能独立工作,持续为载体提供导航信息,这在军事、航空航天等对自主性和可靠性要求极高的领域具有不可替代的作用。INS 还具有高频输出的特点,能够以较高的频率更新导航参数,满足高动态载体(如战斗机、导弹等)对实时性的严格要求。然而,INS 存在误差累积的问题,由于加速度计和陀螺仪本身存在噪声和漂移,随着时间的推移,积分运算会使这些微小的误差不断积累,导致导航误差逐渐增大,例如在长时间的航行中,INS 的定位误差可能会达到数千米,这极大地限制了其单独在长航时、高精度导航任务中的应用 。

外参标定原理与意义

(一)外参标定基本概念

Image
(二)外参标定的意义

准确的外参标定是多传感器数据融合的关键前提,直接关系到整个系统的性能表现 。在实际应用中,以自动驾驶车辆为例,车辆上搭载的相机用于识别道路标志、车道线和周围车辆等目标,INS 则提供车辆的姿态和加速度信息。若外参标定不准确,相机识别到的目标在 INS 坐标系中的位置就会出现偏差,当车辆根据融合数据进行决策时,可能会做出错误的判断,如错误估计与前车的距离,从而导致碰撞风险增加 。在无人机导航中,若 VO 与 INS 的外参存在误差,无人机在飞行过程中的位姿估计就会出现偏差,可能会偏离预定航线,无法准确到达目标位置,甚至在复杂环境中发生碰撞事故。在室内机器人导航场景中,外参标定误差会使机器人对环境的感知出现偏差,导致其在移动过程中频繁碰撞障碍物,无法完成预定的任务 。由此可见,精确的外参标定对于保障多传感器融合系统的导航精度和可靠性,确保各类应用场景下的安全与高效运行具有不可或缺的重要意义。

⛳️ 运行结果
Image
Image
Image
Image
Image
📣 部分代码
x_13 = x(1, 1 : 7); % LiDAR to INS

x_23 = x(1, 8 : 15); % Camera to INS

x_12 = [t_12, x(1, 16 : 20)];

mu = [1, 1, 1, 1, 1]; % Weight

% mu = [1, 1, 10, 10, 10]; % Worse

%% LiDAR to INS

quat_13 = x_13(1, 4 : 7);

quat_13 = quat_13 / sqrt(sum(quat_13.^2));

R_13 = quat2rotm(quat_13);

t_13 = x_13(1, 1 : 3)';

[m, ~] = size(pose_1_13);

for i = 2 : m

[R_1, t_1] = calcRelativePose_quat(pose_1_13(i - 1, :), pose_1_13(i, :));

[R_3, t_3] = calcRelativePose_quat(pose_3_13(i - 1, :), pose_3_13(i, :));

loss = loss + mu(1) * norm(R_1 * R_13 - R_13 * R_3, 2) + ...

    mu(2) * norm(R_1 * t_13 + t_1 - R_13 * t_3 - t_13, 2);

end

%% Camera to INS

quat_23 = x_23(1, 4 : 7);

quat_23 = quat_23 / sqrt(sum(quat_23.^2));

R_23 = quat2rotm(quat_23);

t_23 = x_23(1, 1 : 3)';

s_23 = x_23(1, 8);

[n, ~] = size(pose_2_23);

for j = 2 : n

[R_2, t_2] = calcRelativePose_quat(pose_2_23(j - 1, :), pose_2_23(j, :));

[R_3, t_3] = calcRelativePose_quat(pose_3_23(j - 1, :), pose_3_23(j, :));

loss = loss + mu(1) * (norm(R_2 * R_23 - R_23 * R_3, 2))^2 + ...

    mu(2) * (norm(R_2 * t_23 + t_2 * s_23 - R_23 * t_3 - t_23, 2)^2);

% loss = loss + mu(1) norm(R_2 R_23 - R_23 * R_3, 2) + ...

% mu(2) norm(R_2 t_23 + t_2 s_23 - R_23 t_3 - t_23, 2); % Worse

end

%% LiDAR to Camera

quat_12 = x_12(1, 4 : 7);

quat_12 = quat_12 / sqrt(sum(quat_12.^2));

R_12 = quat2rotm(quat_12);

t_12 = x_12(1, 1 : 3)';

s_12 = x_12(1, 8);

[p, ~] = size(pose_1_12);

for k = 2 : p

[R_1, t_1] = calcRelativePose_quat(pose_1_12(k - 1, :), pose_1_12(k, :));

[R_2, t_2] = calcRelativePose_quat(pose_2_12(k - 1, :), pose_2_12(k, :));

loss = loss + mu(1) * (norm(R_1 * R_12 - R_12 * R_2, 2)^2) + ...

    mu(2) * (norm(R_1 * t_12 + t_1 - R_12 * t_2 * s_12 - t_12, 2)^2);

% loss = loss + mu(1) norm(R_1 R_12 - R_12 * R_2, 2) + ...

% mu(2) norm(R_1 t_12 + t_1 - R_12 t_2 s_12 - t_12, 2); % Worse

end

%% Between Extrinsics

loss = loss + mu(3) (s_23 - s_12)^2 + mu(4) norm(R_13 - R_12 R_23, 2) + mu(5) norm(t_13 - R_12 * t_23 - t_12, 2);

end

🔗 参考文献

🎈 部分理论引用网络文献,若有侵权联系博主删除

相关文章
|
1天前
|
算法 数据处理 开发者
【双层模型】分布式光伏储能系统的优化配置方法Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 光伏发电的随机性和间歇性导致资源利用率低,储能具备控制灵活,响应快速的特性,是当前解决光伏并网和提高消纳的有效手段之一.目前,高昂投资成本是制约储能推广应用的关键,文中从成本角度出发研究了分布式光伏系统中储能的优化配置方法.首先,以分布式储能系统的投资和运行成本为目标,同时考虑储
|
1天前
|
传感器 算法 数据处理
【无人机三维路径规划】基于RRT路径规划+多机V 型编队跟随+动态障碍物避障+碰撞检测附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 1. 引言:为什么需要多约束融合的无人机编队路径规划? 在无人机集群作业场景中(如航拍测绘、电力巡检、应急救援),需同时满足四大核心需求:三维空间可达性(适配复杂地形)、编队队形稳定性(保持 V 型等预设形态)、动态避障实时性(规避移动障碍物)、集群碰撞安全性(无人机间无碰撞)
|
1天前
|
算法 新能源 数据处理
基于GA_BFGS算法的配电网故障恢复性重构研究附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 伴随着全球不可再生能源的日渐枯竭,以及由于这些能源的开采利用对环境的破坏和污染问题日益严重,各国政府对于新能源的研究和利用日益成熟,运用风能,潮汐能,太阳能等进行分布式发电(DG).这些分布式电源的出现及大规模应用能够显著降低人们对于化石能源的依赖和有效的保护环境,但与此同时,大
|
1天前
|
并行计算 算法 数据处理
【车间调度】基于粒子群算法求解置换流水车间调度问题PFSP附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、引言 在当今竞争激烈的制造业环境中,车间调度作为生产管理的核心环节,对企业的生产效率、成本控制和市场竞争力起着决定性作用。合理的车间调度能够优化资源配置,减少生产周期,降低生产成本,从而提高企业的经济效益和市场响应能力。 置换流水车间调度问题(Permutation F
|
1天前
|
数据处理 开发者
基于非对称纳什谈判的多微网电能共享运行优化策略Matlab实现
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 推进可再生能源高效利用,实现电力系统低碳化运行成为电力系统改革的重要方向.该文首先构建了包含电热气多能协同的微电网模型,考虑了含有碳配额和碳交易的优化运行机制,并在热电联产机组模型中改进加入了碳捕集系统和电转气装置,以降低碳排放.然后,基于纳什谈判理论建立了多微网电能共享合作运行
|
1天前
|
算法 数据处理 量子技术
【更新】量子遗传算法-遗传粒子群-混沌粒子群附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 在之前的研究中,我对遗传粒子群、混沌粒子群和基本粒子群算法进行了深入的对比分析。基本粒子群算法(PSO),灵感来源于鸟群觅食行为 ,通过粒子之间的协作与信息共享来寻找最优解。每个粒子代表解空间中的一个潜在解,它们在解空间中飞行,速度和位置受到自身历史最佳位置(pbest)和群体历
|
1天前
|
数据处理 网络架构 开发者
【复现】含能量路由器的交直流混合配电网潮流计算Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 能量路由器(energy router,ER)作为新兴电力电子设备,可以实现电能在电力系统中的灵活分配.分析ER对系统的影响,研究以ER为配电枢纽的交直流混合配电网潮流计算方法,对实现配电网的优化运行具有重要意义.文中首先基于改进交替迭代法建立ER的稳态潮流模型,并对ER直流端口
|
1天前
|
传感器 算法 安全
【无人机控制】基于S函数和Simulink的6自由度无人机飞行模拟与控制附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 在科技飞速发展的当下,无人机技术凭借其独特优势,在众多领域得到了广泛应用。从农业植保、物流配送,到影视拍摄、测绘勘探,无人机的身影无处不在,为各行业带来了全新的发展机遇与变革。其灵活、高效、低成本的特点,使其成为解决许多复杂任务的得力工具。 然而,无人机飞行控制绝非易事。在三维
|
1天前
|
算法 数据处理 调度
【完全复现】基于改进粒子群算法的微电网多目标优化调度Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 在现有方法均存在光伏消纳量与风电消纳量较低的情况下,提出一种基于改进粒子群算法的微电网多目标优化调度方法.在控制微电网时需要获取各储能装置的剩余容量,最大放电功率以及最大充电功率等数据,基于此对微电网数学模型进行构建.根据构建的微电网数学模型,分别针对微电网的不同状态,包括孤岛状
|
1天前
|
数据处理 开发者
配电网多目标pareto重构+智能算法Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 本文所涉及的程序,主要针对采用智能算法的配电网优化重构及故障重构问题。该程序通过罚函数法保障网络运行过程中无环网、无孤岛现象的发生,但在多目标 Pareto 求解过程中,罚函数法的应用显著降低了程序的实用性,这一问题构成了该领域的核心技术难点。本次将重点阐述多目标重构的编程实现方