无名创新开源飞控利用GPS数据航向对准开源代码

2024-06-21 12:18

本文主要是介绍无名创新开源飞控利用GPS数据航向对准开源代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无名创新开源飞控利用GPS数据航向对准开源代码:

#define acc_sync_cnt 5
void GPS_Azimuth_Update_Method1(uint8_t flag)
{
    if(flag==0) return;
    //下面利用到角公式求解误差方位角,先方位角误差正切值
    float x1=0,y1=0,x2=0,y2=0,molecule=0,denominator=0;
    WP_Sensor.azimuth_err_ang_his=WP_Sensor.azimuth_err_ang;//航向角误差历史值
    x1=GPS_Vel_Div.E;
    y1=GPS_Vel_Div.N;
    x2=NamelessQuad.Acce_History[_PITCH][acc_sync_cnt];//Origion_NamelessQuad.Acceleration[_PITCH];
    y2=NamelessQuad.Acce_History[_ROLL][acc_sync_cnt];//Origion_NamelessQuad.Acceleration[_ROLL];
    WP_Sensor.azimuth_k_ins=y2/x2;
    WP_Sensor.azimuth_k_gps=y1/x1;
    
    //ins加速度向量到gps加速度向量的夹角正切值
    molecule=WP_Sensor.azimuth_k_gps-WP_Sensor.azimuth_k_ins;//分子
    denominator=1+WP_Sensor.azimuth_k_gps*WP_Sensor.azimuth_k_ins;//分母
    if(denominator==0)//剔除分母为0,到角度为90度情况
    {
      //存在垂直的情况时,保持上次的航向角误差
      WP_Sensor.azimuth_err_ang=WP_Sensor.azimuth_err_ang_his;
        return ;
    }
    WP_Sensor.azimuth_err_tan=molecule/denominator;
    WP_Sensor.azimuth_err_ang=atan(WP_Sensor.azimuth_err_tan)*RAD2DEG;//角度范围为(-90,90)
    //到角的范围为0-180度,将经过反正切后求得的到角量化到0-180
    if(WP_Sensor.azimuth_err_ang<0) WP_Sensor.azimuth_err_ang+=180;//到角为顿角
    
    //1、到角锐角时,存在两种情况
    if(WP_Sensor.azimuth_err_ang>0&&WP_Sensor.azimuth_err_ang<90)//然后根据平面向量夹角为钝角时的条件,A*B<0,即x1*x2+y1+y2<0条件,将角度误差扩展到(-180,180)
    {
        if(x1*x2+y1*y2<0)//顿角
        WP_Sensor.azimuth_err_ang=-180+WP_Sensor.azimuth_err_ang;
    }
    //2、到角顿角时,存在两种情况
    if(WP_Sensor.azimuth_err_ang>90&&WP_Sensor.azimuth_err_ang<180)//然后根据平面向量夹角为钝角时的条件,A*B<0,即x1*x2+y1+y2<0条件,将角度误差扩展到(-180,180)
    {
        if(x1*x2+y1*y2>0)//锐角
        WP_Sensor.azimuth_err_ang=-180+WP_Sensor.azimuth_err_ang;
    }                
    WP_Sensor.azimuth_err_ang=constrain_float(WP_Sensor.azimuth_err_ang,-90.0f,90.0f);
    
    Sensor_State.Azimuth_Health=TRUE;
}

这篇关于无名创新开源飞控利用GPS数据航向对准开源代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081204

相关文章

创新、引领、发展——SAMPE中国2024年会在京盛大开幕

绿树阴浓夏日长,在这个色彩缤纷的季节,SAMPE中国2024年会暨第十九届国际先进复合材料制品原材料、工装及工程应用展览会在中国国际展览中心(北京朝阳馆)隆重开幕。新老朋友共聚一堂,把酒话桑麻。 为期4天的国际学术会议以“先进复合材料,引领产业创新与可持续化发展”为主题,设立了34个主题分会场,其中包括了可持续化会场、国际大学生会场、中法复合材料制造技术峰会三个国际会场和女科技工作者委员会沙龙,

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要

如何在Java中处理JSON数据?

如何在Java中处理JSON数据? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Java中如何处理JSON数据。JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,在现代应用程序中被广泛使用。Java通过多种库和API提供了处理JSON的能力,我们将深入了解其用法和最佳

两个基因相关性CPTAC蛋白组数据

目录 蛋白数据下载 ①蛋白数据下载 1,TCGA-选择泛癌数据  2,TCGA-TCPA 3,CPTAC(非TCGA) ②蛋白相关性分析 1,数据整理 2,蛋白相关性分析 PCAS在线分析 蛋白数据下载 CPTAC蛋白组学数据库介绍及数据下载分析 – 王进的个人网站 (jingege.wang) ①蛋白数据下载 可以下载泛癌蛋白数据:UCSC Xena (xena

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

【计算机网络篇】数据链路层(12)交换机式以太网___以太网交换机

文章目录 🍔交换式以太网🛸以太网交换机 🍔交换式以太网 仅使用交换机(不使用集线器)的以太网就是交换式以太网 🛸以太网交换机 以太网交换机本质上就是一个多接口的网桥: 交换机的每个接口考研连接计算机,也可以理解集线器或另一个交换机 当交换机的接口与计算机或交换机连接时,可以工作在全双工方式,并能在自身内部同时连通多对接口,使每一对相互通信的计算机都能像