💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
采用GPS、里程计和电子罗盘作为定位传感器,结合EKF作为多传感器的融合算法,最终输出目标的滤波位置。在本文中,我们利用iPhone手机上的GPS传感器获取载体的经纬度信息,借助电子罗盘获取航向角数据,利用加速度计积分来计算位移(用加速度计代替里程计功能)。通过EKF算法将这些不同传感器的数据进行融合,得到最终的位置信息。这种方法结合了不同传感器的优势,提高了定位的准确性和稳定性,为实时定位和导航提供了可靠的技术支持。
📚2 运行结果
部分代码:
d=0.1;%标准差
Theta=CreateGauss(0,d,1,sensor_data);%GPS航迹和DR航迹的夹角
ZOUT=zeros(4,outdoor_sensor_data);
ZIN=zeros(4,indoor_sensor_data);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取传感器数据%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fgps=fopen('sensor_data_041518.txt','r');%%%打开文本
for n=1:sensor_data
gpsline=fgetl(fgps);%%%读取文本指针对应的行
if ~ischar(gpsline) break;%%%判断是否结束
end;
%%%%读取室内数据
time=sscanf(gpsline,'[Info] 2016-04-15%s(ViewController.m:%d)-[ViewController outputAccelertion:]:lat:%f;lon:%f;heading:%f;distance:%f;beacon_lat:%f;beacon_lon:%f');
data=sscanf(gpsline,'[Info] 2016-04-15 %*s (ViewController.m:%*d)-[ViewController outputAccelertion:]:lat:%f;lon:%f;heading:%f;distance:%f;beacon_lat:%f;beacon_lon:%f');
if(isempty(data))
break;
end
result=lonLat2Mercator(data(2,1),data(1,1));
gx(n)=result.X;%GPS经过坐标变换后的东向坐标,换算成米数
gy(n)=result.Y;%GPS经过坐标变换后的北向坐标,换算成米数
Phi(n)=(data(3,1)+90)*pi/180;%航向角
dd(n)=data(4,1);%某一周期的位移
ZIN(:,n)=[gx(n),gy(n),Phi(n),dd(n)];
end
fclose(fgps);%%%%%关闭文件指针
% 参数设置
N = 100; %粒子总数
Q = 5; %过程噪声
R = 5; %测量噪声
X = zeros(2, sensor_data); %存储系统状态
Z = zeros(2, sensor_data); %存储系统的观测状态
P = zeros(2, N); %建立粒子群
PCenter = zeros(2, sensor_data); %所有粒子的中心位置
w = zeros(N, 1); %每个粒子的权重
err = zeros(1,sensor_data); %误差
X(:, 1) = [ZIN(1,1); ZIN(2,1)]; %初始系统状态
Z(:, 1) = [ZIN(1,1); ZIN(2,1)] ; %初始系统的观测状态
cordinatex=round(ZIN(1,5));
cordinatey=round(ZIN(2,5));
%初始化粒子群
for i = 1 : N
P(:, i) = [randi([cordinatex-100,cordinatex+200],1);randi([cordinatey-200,cordinatey+100],1)];
dist = norm(P(:, i)-Z(:, 1)); %与测量位置相差的距离
w(i) = (1 / sqrt(R) / sqrt(2 * pi)) * exp(-(dist)^2 / 2 / R); %求权重
end
PCenter(:, 1) = sum(P, 2) / N; %所有粒子的几何中心位置
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]冯刘中.基于多传感器信息融合的移动机器人导航定位技术研究[D].西南交通大学[2024-03-02].DOI:10.7666/d.y1955647.
[2]吴显.基于多传感器信息融合的移动机器人定位方法研究[D].北京交通大学,2016.DOI:CNKI:CDMD:2.1016.059000.
[13]孙鹏飞,刘丽兰,高增桂,等.基于EKF的服务机器人目标跟踪定位研究[J].计量与测试技术, 2019, 46(1):5.DOI:CNKI:SUN:JLYS.0.2019-01-002.