转载自:https://blog.csdn.net/weixin_41106948/article/details/104273453
PX4飞控导出GPS数据拟合飞行轨迹
置顶 jones5 2020-02-12 13:40:11
收藏 17
分类专栏: PX4飞控GPS数据分析 文章标签: PX4飞控 GPS飞行轨迹拟合
版权
PX4飞控GPS数据分析 专栏收录该内容
0 篇文章 2 订阅
订阅专栏
前言:想要拟合飞行轨迹,百度了一下,高人介绍的都是什么百度地图API,无忧地图,PYTHON;不是不好,是尝试了一下,注册非常麻烦,结果没拟合出想要的轨迹;接着我们分享一下5行代码的MATLAB;
一.先看结果,再看过程
有些帖子看半天,结果发现不是自己想找的答案,给大家节约宝贵时间,点个赞!!!嘻嘻
二维——经纬拟合
![](https://img-blog.csdnimg.cn/20200212130703393.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTEwNjk0OA==,size_16,color_FFFFFF,t_70)
三维——经纬高拟合
![](https://img-blog.csdnimg.cn/20200212131431357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTEwNjk0OA==,size_16,color_FFFFFF,t_70)
二.实现过程
1.下载飞行ulog文件;
2.将ulog文件转成csv:
将ulog文件单独放在一个文件夹中,在当前路径下执行指令:ulog2csv log_××××.ulg
![](https://img-blog.csdnimg.cn/20200212132046103.png)
3.找到需要的log_×××_gps_position_0.csv文件用于matlat分析
4.二维——经纬拟合Matlab代码如下
clear all
% close all
clc
[FileName PathName]=uigetfile({'log_48_2019-11-14-11-19-26_vehicle_gps_position_0.csv'},'');
file=fullfile(PathName,FileName);
fidID = fopen(file);
M=csvread(file,1,0);
x=M(:,3);%lon
y=M(:,1);%alt
z=M(:,4);%lat
%%%-----二维拟合--------%%%
plot(x,z);
5.三维——经和高度先拟合,纬度和高度拟合,再双双拟合,Matlab代码如下
clear all
% close all
clc
[FileName PathName]=uigetfile({'log_48_2019-11-14-11-19-26_vehicle_gps_position_0.csv'},'');
file=fullfile(PathName,FileName);
fidID = fopen(file);
M=csvread(file,1,0);
x=M(:,3);%lon
y=M(:,1);%alt
z=M(:,4);%lat
%%%-----二维拟合--------%%%
%plot(x,z);
%%%-----三维拟合--------%%%
p_yx = polyfit(y,x,4);
x_out = polyval(p_yx, y);
p_yz = polyfit(y,z,4);
z_out = polyval(p_yz, y);
plot3(x_out ,y, z_out, 'r*'); hold on;
% µÃ³öÇúÏߺ¯Êý x_out = f(z_out) z_out = f(y)
p_zx_out = polyfit(z_out,x_out,4);
x_out_f = polyval(p_zx_out,z_out);
plot3(x_out_f,y,z_out,'b*'); hold on;
大图:![](https://img-blog.csdnimg.cn/20200212134121559.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTEwNjk0OA==,size_16,color_FFFFFF,t_70)
gps数据:
![](https://img-blog.csdnimg.cn/20200212134208733.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTEwNjk0OA==,size_16,color_FFFFFF,t_70)
本人原创不多,拿来分享,共同提高,不对请大神们批评指正,不胜感激!(完)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)