分享好友 最新动态首页 最新动态分类 切换频道
【滤波跟踪】不变扩展卡尔曼滤波器对装有惯性导航系统和全球定位系统IMU+GPS进行滤波跟踪【含Matlab源码 2232期】
2024-12-25 16:09

🚅座右铭:行百里者,半于九十。

🏆代码获取方式
CSDN Matlab武动乾坤—代码获取方式

更多Matlab信号处理仿真内容点击👇
①Matlab信号处理(进阶版

⛳️关注CSDN Matlab武动乾坤,更多资源等你来

针对室内定位中的非视距(Non-Line-of-Sight,NLOS)现象,提出一个新型算法进行识别,同时有效缓解其影响.主要通过超宽带(Ultra-Wideband,UWB)定位系统与惯性导航系统(Inertial Navigation System,INS)的信息修正非视距误差,获得较高的定位精度.首先,在离线阶段获得不同障碍物下的NLOS误差概率分布曲线;其次,利用惯性测量单元(Inertial Measurement Unit,IMU)的预测位置及NLOS误差概率曲线修正测量距离;最后,利用卡尔曼滤波(Kalman Filtering,KF)融合步行者航迹推算(Pedestrian Dead Reckoning,PDR)的INS位置和经过改进最小二乘法(Least Square,LS)处理后UWB定位系统的位置,并更新NLOS误差获得更准确的位置估计.通过仿真和实验证实了提出的定位算法可以有效缓解NLOS误差,提升定位性能,实现在NLOS影响下的高精度定位.

clear; close all;
addpath(‘filters’);
addpath(‘helper’);
addpath(‘thirdparty/shadedErrorBar’);

% Load / process data
[T_X, omega, accel, accel_b, T_GPS, XYZ_GPS] = loadPoseGPS();
test_N = length(omega); % Sets the number of IMU readings

meas_used = T_GPS <= t_x(end);
t_gps = T_GPS(meas_used,:);
xyz_gps = XYZ_GPS(meas_used,:);

% -------------------------------------------------------------------------
% Initialize filter

skew = @(u) [0 -u(3) u(2);
u(3) 0 -u(1);
-u(2) u(1) 0];

ekf = EKF();
inekf = LIEKF();

% Get first observation that happens after a prediction
obsid = 1;
while(t_gps(obsid) < t_x(1))
obsid = obsid + 1;
end

for i = 2:test_N
if i == 1
dt = t_x;
else
dt = t_x(i) - t_x(i - 1);

 

end

meas_used = T_GPS <= t_x(end);

% load gt
[~, ~, ~, ~, ~, x_gt, ~, y_gt, ~, z_gt] = loadGroundTruthAGL();
x_gt = x_gt - x_gt(1); y_gt = y_gt - y_gt(1); z_gt = z_gt - z_gt(1);
t_gt = linspace(0,T_X(end),length(x_gt));

% -------------------------------------------------------------------------
% traj plot
figure(‘DefaultAxesFontSize’,14)
hold on;
plot3(XYZ_GPS(:,1), XYZ_GPS(:,2), XYZ_GPS(:,3),‘b’,‘LineWidth’, 2);
plot3(x_gt, y_gt, z_gt,‘–k’,‘LineWidth’, 4);
plot3(pos_ekf(1,:), pos_ekf(2,:), pos_ekf(3,:),‘g’,‘LineWidth’, 2);
plot3(pos_inekf(1,:), pos_inekf(2,:), pos_inekf(3,:),‘r’,‘LineWidth’, 2);
legend(‘gps’, ‘gt’, ‘EKF’, ‘InEKF’, ‘location’, ‘southeast’)
hold off;
axis equal;

figure(‘DefaultAxesFontSize’,14)
hold on;
plot3(XYZ_GPS(:,1), XYZ_GPS(:,2), XYZ_GPS(:,3),‘b’,‘LineWidth’, 2);
plot3(x_gt, y_gt, z_gt,‘–k’,‘LineWidth’, 4);
plot3(pos_inekf(1,:), pos_inekf(2,:), pos_inekf(3,:),‘r’,‘LineWidth’, 2);
legend(‘gps’, ‘gt’, ‘InEKF’, ‘location’, ‘southeast’)
hold off;
axis equal;

% -------------------------------------------------------------------------
% axis plot
figure;
subplot(3,1,1);
hold on;
plot(t_gps, XYZ_GPS(meas_used,1), ‘b’, ‘LineWidth’, 1);
plot(t_gt, x_gt, ‘k–’, ‘LineWidth’, 2);
shadedErrorBar(T_X(1:test_N), pos_ekf(1,:), 3std_ekf(1,:), ‘lineProps’, {‘g’, ‘LineWidth’, 1})
shadedErrorBar(T_X(1:test_N), pos_inekf(1,:), 3
std_inekf(1,:), ‘lineProps’, {‘r’, ‘LineWidth’, 1})
legend(‘X_{GPS}’,‘X_{GT}’,‘X_{EKF}’, ‘X_{InEKF}’, ‘Location’, ‘eastoutside’);
axis([0,T_X(test_N),-200,200])
%
subplot(3,1,2);
hold on;
plot(t_gps, XYZ_GPS(meas_used,2), ‘b’, ‘LineWidth’, 1);
plot(t_gt, y_gt, ‘k–’, ‘LineWidth’, 2);
shadedErrorBar(T_X(1:test_N), pos_ekf(2,:), 3std_ekf(2,:), ‘lineProps’, {‘g’, ‘LineWidth’, 1})
shadedErrorBar(T_X(1:test_N), pos_inekf(2,:), 3
std_inekf(2,:), ‘lineProps’, {‘r’, ‘LineWidth’, 1})
legend(‘Y_{GPS}’,‘Y_{GT}’,‘Y_{EKF}’, ‘Y_{InEKF}’, ‘Location’, ‘eastoutside’);
axis([0,T_X(test_N),-250,350])
%
subplot(3,1,3);
hold on;
plot(t_gps, XYZ_GPS(meas_used,3), ‘b’, ‘LineWidth’, 1);
plot(t_gt, z_gt, ‘k–’, ‘LineWidth’, 2);
shadedErrorBar(T_X(1:test_N), pos_ekf(3,:), 3std_ekf(3,:), ‘lineProps’, {‘g’, ‘LineWidth’, 1})
shadedErrorBar(T_X(1:test_N), pos_inekf(3,:), 3
std_inekf(3,:), ‘lineProps’, {‘r’, ‘LineWidth’, 1})
legend(‘Z_{GPS}’,‘Z_{GT}’,‘Z_{EKF}’, ‘Z_{InEKF}’, ‘Location’, ‘eastoutside’);
axis([0,T_X(test_N),-30,60])

function u = unskew(ux)
u(1,1) = -ux(2,3);
u(2,1) = ux(1,3);
u(3,1) = -ux(1,2);
end

function w = Log®
w = unskew(logm®);
end

1 matlab版本
2014a

2 参考文献
[1] 周军,魏国亮,田昕,王甘楠,融合UWB和IMU数据的新型室内定位算法[J].小型微型计算机系统. 2021,42(08)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

最新文章
百度市值突破850亿美金,差一点点点重回巅峰
十一假期,美国资本市场没有休息。百度距离自己的巅峰时刻,只差一点点点。自AI开发者大会举办的7月5日之后,百度便迎来了连续上涨。至10月2日,这波涨势迎来最高点250.57美元,而距离上市以来的历史最高纪录:251.99美元,仅一步之遥。(
谷歌要设计_今日谷歌要怎么才能使用设计教程
摘要:谷歌要设计,今日谷歌要怎么才能使用设计教程,新片场素材小编阮安文谷歌要设计,今日谷歌要怎么才能使用设计教程相关内容整理,如果您对谷歌要设计,今日谷歌要怎么才能使用设计教程感兴趣欢迎访问免费阅读。谷歌要设计,今日谷歌要怎么
一加Ace3大幅降价600元,拿下性价比之王的绝佳机会!
#双12年终好物节# 随着科技进步,智能手机市场持续演变,一加品牌在其中不断寻求突破。近日,备受瞩目的一加Ace3进行了一次惊人的降价,让许多消费者感受到了这款中端旗舰手机的超高性价比。伴随着新款一加Ace5的即将发布,一加决定给现有
华为手机底部返回键怎么设置出来
要在华为手机底部设置返回键,可以按照以下步骤进行操作:3、进入“系统”页面后,点击“系统导航方式”。4、在“系统导航方式”菜单中,找到并选中“屏幕内三键导航”。5、选中完毕后,点击下方的“更多设置”。6、在“屏幕内三键导航”的
每周游戏时长3小时以上的未成年人占比较2021年下降37.2%
  2024年12月12日,在中国游戏产业年会上,中国音像与数字出版协会副秘书长、游戏工委秘书长、电竞工委主任委员唐贾军,正式发布了由中国音像与数字出版协会游戏工作委员会、伽马数据(CNG)共同编制的《2024中国游戏产业未成年人保护报告
Python的pyhanlp库使用(自然语言识别、姓名)
中文分词词性标注关键词提取文本摘要依存句法分析短语提取 离线安装 pyhanlp所依赖的包:data和jar包  将下载的data和jar放入Libsite-packagespyhanlp-0.1.78pyhanlpstatic下将hanlp.properties中root的路径改为离线安装包路径D:xxx
百度还收录吗 百度持续收录新动态,内容营销新机遇
百度还收录吗?深度解析与优化策略在当今这个信息爆炸的时代,网站被搜索引擎收录并排名靠前,对于任何一家企业或个人而言,都是至关重要的尤其是百度,作为中国最大的搜索引擎,其收录情况直接影响到网站的流量和曝光度那么,面对不断变化
Tair的桶分布策略介绍及新的机器级位置安全优先策略实现
  Tair在其intro wiki 上介绍了其现有的桶分布策略:  程序提供了两种生成分配表的策略, 一种叫做负载均衡优先, 一种叫做位置安全优先。  负载均衡优先  当采用负载优先策略的时候, config server会尽量的把桶均匀的分布到各个data
UI最新版设计趋势及革新实践探索
摘要:关于UI最新版、设计趋势与革新实践的内容,本文主要介绍了用户界面(UI)的最新版本设计,探讨了当前的设计趋势,包括用户体验优化、交互设计的创新等。本文还强调了革新实践的重要性,包括采用新技术、新材料和新的设计理念来推动UI
相关文章
推荐文章
发表评论
0评