基于PDR算法实现行人惯性导航附matlab代码

文章介绍了使用低成本MEMS惯性传感器的行人航位推算(PDR)技术在室内定位中的应用,因GNSS在室内环境的局限性,PDR成为研究热点。文中提供了一段用于地图匹配方向滤波的Matlab代码,通过解缠绕和利用陀螺仪数据以及卡尔曼滤波进行航向角滤波,以提高导航精度。
摘要由CSDN通过智能技术生成

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

室内定位与导航在军事单兵系统,消防定位和大型场馆引导领域都拥有非常大的需求.由于GNSS导航在复杂的室内环境下会出现衰减,多径等问题,因此针对行人的基于低成本MEMS惯性传感器的行人航位推算(Personal Deadreckoning,PDR)导航系统成为该领域的研究热点。

⛄ 部分代码

function [yaw_] = map_aid(ori0,gyr0)

    %%基于地图匹配的方向滤波

    % ori0 = load('ori.txt');

    % gyr0 = load('gyr.txt');

    yaw = ori0(:,1);

    gyr_z = gyr0(:,3);

    th = 1;                 %%设置转角的阈值

    %%解航向角的缠绕

    for i = 1:size(yaw)-1

        if(yaw(i+1) - yaw(i)<-180)

            yaw(i+1) = yaw(i+1) + 360;

        else if(yaw(i+1) - yaw(i)>180)

                yaw(i+1) = yaw(i+1) - 360;  

            end

        end

    end

    % figure

    % plot(yaw)

    %%根据陀螺仪定转角位置

    [ L L0] = corner_detect(gyr_z,th);

    %%利用地图匹配的角度对yaw进行滤波

    yaw_kal = yaw_kal1(yaw,gyr_z,L0);

    yaw_ = yaw_kal;

end

⛄ 运行结果

⛄ 参考文献

[1] 何梦园, 刘小瑜, 刘正熙,等. 基于PDR和蓝牙加权定位的卡尔曼滤波算法.

[2] 贾浩男, 贾瑞才, 王博远. 基于惯性传感器的行人室内定位算法研究[J]. 无线电工程, 2018, v.48;No.351(08):5-9.

[3] 张小红, 罗科干, 陶贤露,等. 一种基于穿戴式MEMS传感器状态识别的多部位PDR算法[J]. 武汉大学学报:信息科学版, 2021, 46(12):12.

[4] 何梦园, 刘小瑜, 刘正熙,等. 基于PDR和蓝牙加权定位的卡尔曼滤波算法[J]. 现代计算机, 2019(10):6.

[5] 鲁  航, 巴  斌, 王朋飞. 一种基于改进PDR与外部位置信息的融合定位算法[J]. Journal of Terahertz Science and Electronic Information Technology, 15(3).

[6] 钱久超. 基于无约束自包含传感器的行人室内定位技术研究[D]. 上海交通大学, 2016.

[7] 张博, 贾浩男, 赵皎. 室内行人自主定位算法的研究[J]. 无线电工程, 2017, 47(8):5.

⛳️ 代码获取关注我

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

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值