ardupilot开发 --- EKF篇

状态估计的算法发展

在这里插入图片描述

参数调试

AHRS_EKF_USE: set to “1” to use the EKF, “0” to use DCM for attitude control and inertial nav (Copter-3.2.1) or ahrs dead reckoning (Plane) for position control. In Copter-3.3 (and higher) this parameter is forced to “1” and cannot be changed.

AHRS_EKF_TYPE: set to “2” to use EKF2 for attitude and position estimation, “3” for EKF3.

EK2_ENABLE, EK3_ENABLE: set to “1” to enable the EKF2 and/or EKF3 respectively.

EK2_IMU_MASK, EK3_IMU_MASK: a bitmask specifying which IMUs (i.e. accelerometer/gyro) to use. An EKF “core” (i.e. a single EKF instance) will be started for each IMU specified.

  • 1: starts a single EKF core using the first IMU

  • 2: starts a single EKF core using only the second IMU

  • 3: starts two separate EKF cores using the first and second IMUs respectively

EK3_PRIMARY: selects which “core” or “lane” is used as the primary. A value of 0 selects the first IMU lane in the EK3_IMU_MASK, 1 the second, etc. Be sure that the selected primary lane exists. See Affinity and Lane Switching below.

其他常用参数

EK2_ALT_SOURCE which sensor to use as the primary altitude source

0 : use barometer (default)

1 : use range finder. Do not use this option unless the vehicle is being flown indoors where the ground is flat. For terrain following please see copter and plane specific terrain following instructions which do not require changing this parameter.

2 : use GPS. Useful when GPS quality is very good and barometer drift could be a problem. For example if the vehicle will perform long distance missions with altitude changes of >100m.

EK2_ALT_M_NSE: Default is “1.0”. Lower number reduces reliance on accelerometers, increases reliance on barometer.

EK2_GPS_TYPE: Controls how GPS is used.

0 : use 3D velocity & 2D position from GPS

1 : use 2D velocity & 2D position (GPS velocity does not contribute to altitude estimate)

2: use 2D position

3 : no GPS (will use optical flow only if available)

EK2_YAW_M_NSE: Controls the weighting between GPS and Compass when calculating the heading. Default is “0.5”, lower values will cause the compass to be trusted more (i.e. higher weighting to the compass)

亲和度、EKF lanes切换

有的飞控有冗余的IMU,每个IMU运行一个EKF3实例(线程,成为lane),但只有一个主lane作为AHRS的来源,某个IMU发生故障时可切换主lane.

参考

https://ardupilot.org/copter/docs/common-apm-navigation-extended-kalman-filter-overview.html
https://ardupilot.org/copter/docs/common-ek3-affinity-lane-switching.html
https://ardupilot.org/copter/docs/common-ekf-sources.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/57167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建 Gitlab

当设置和配置 GitLab 实例并执行诸如创建群组、项目、用户和上传代码等操作时,涉及到多个步骤,每个步骤都有特定的目的。让我们逐步解释每个步骤并说明其背后的原因: 安装必需的软件: yum install -y curl policycoreutils-python…

“超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据,ChatGLM-v2、中文Bloom、Dolly_v2_3b助您实现更智能的应用!”

“超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据,ChatGLM-v2、中文Bloom、Dolly_v2_3b助您实现更智能的应用!” 1.简介 目标:基于pytorch、transformers做中文领域的nlp开箱即用…

前端面试:【实际项目经验】团队协作、代码管理和Git命令梳理

在现代软件开发中,团队协作、代码管理和版本控制是至关重要的方面。本文将分享一些实际项目经验,重点关注团队协作、代码管理,以及Git版本控制的关键命令和最佳实践。 团队协作: 明确角色和责任: 在项目开始阶段&#…

网络地址转换NAT-动态NAT的使用范围和配置-思科EI,华为数通

网络地址转换NAT-动态NAT的使用范围和配置 什么是动态NAT? 使用公有地址池,并以先到先得的原则分配这些地址。当具有私有 IP 地址的主机请求访问 Internet 时,动态 NAT 从地址池中选择一个未被其它主机占用的 IP 地址一对一的转化。当数据会话…

torch.cuda常见相关

文章目录 cuda常见用法场景问题什么是cuda?cuda下载链接 cuda常见用法 torch.cuda.is_available() # 查看是否有可用GPU torch.cuda.device_count() # 查看GPU数量 torch.cuda.get_device_capability(device) # 查看指定GPU容量 torch.cuda.get_device_name(device…

Java源码分析(二)Double

本篇是源码分析的第二篇,上篇我们一起分析了Integer类的源码,本篇一起学习下Double类的源码,看下其实现。 一、Double类图 首先,相比Integer,Double类的源码只有1000行代码。如下是Integer及其关联类/接口的类图&#…

内存泄漏定位工具

1、原理 在编写复杂代码的时候,有时一大意就会忘了释放申请的内存;或是调试前人代码时,发现有内存泄漏,这些情况排查起来相当麻烦。这里基于RT-Thread写了一个内存泄漏定位工具(实际和RTT无关,什么系统都可…

四种常见的数据模型

为什么要进行数仓建模? 性能:良好的数据模型能帮助我们快速查询需要的数据,减少数据I/O吞吐 成本:减少数据冗余、计算结果复用、从而减低存储和计算成本 效率:改善用户使用数据的体验,提高使用数据的效率 改…

移动APP、WEB端和PC端测试的区别

移动APP、WEB端和PC端的测试区别主要体现在以下几个方面: 1. 平台和环境 移动APP是在移动设备上运行的应用程序,测试需要考虑不同的操作系统(如iOS、Android等)、不同的设备型号和屏幕分辨率。WEB端是在浏览器上运行的应用程序&am…

ssm+vue中国咖啡文化宣传网站源码和论文

ssmvue中国咖啡文化宣传网站源码和论文078 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 课题背景 随着时代的发展和人们生活理念的进一步改变,咖啡业已经成为了全球经济中发展最迅猛的产业之一。…

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性…

几个nlp的小任务(多选问答)

@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t

探究代理技术在网络安全、爬虫与HTTP通信中的多重应用

在当今高度互联的世界中,代理技术在网络安全、爬虫开发以及HTTP通信中扮演着举足轻重的角色。本文将深入探讨Socks5代理、IP代理以及HTTP代理在这些领域中的多重应用,探索其如何为我们创造更安全、高效的网络环境。 1. Socks5代理:构建安全通…

启动程序结束程序打开指定网页

import subprocess subprocess.Popen(r"C:\\Program Files\\5EClient\\5EClient.exe") # 打开指定程序 import os os.system(TASKKILL /F /IM notepad.exe) # 结束指定程序 import webbrowser webbrowser.open_new_tab(https://www.baidu.com) # 打开指定网页

MySQL对小数进行四舍五入等操作

数学函数是MySQL中常用的一类函数。其主要用于处理数字,包括整型和浮点数等等。 MySQL常用的四舍五入函数: 函数说明 FLOOR(X) 返回不大于X的最大整数。CEIL(X)、CEILING(X) 返回不小于X的最小整数。 ROUND(X) 返回离X最近的整数,截断时要进行…

8月28日,每日信息差

1、欧拉汽车第40万台整车下线。据介绍品牌与用户共创的最新成果2023款好猫&好猫GT木兰版尊荣型也在同一时间上市,限时12.98万起 2、马克古尔曼:M3款苹果MacBook最早今年10月发布 3、大麦成立“艺展鸿图”展览厂牌。专注于高品质艺术展览、授权等业…

事务特性 - 达梦数据库

达梦数据库事务特性 1 事务特性1.1 原子性1.2 一致性1.3 隔离性1.4 持久性 1 事务特性 事务必须具备什么属性才是一个有效的事务呢?一个逻辑工作单元必须表现出四种属性,即原子性、一致性、隔离性和持久性,这样才能成为一个有效的事务。DM 数…

基于SSM+vue框架的个人博客网站源码和论文

基于SSMvue框架的个人博客网站源码和论文061 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm (设计)研究背景与意义 关于博客的未来:在创办了博客中国(blogchina)、被誉为“…

2023最新任务悬赏平台源码uniapp+Thinkphp新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机

新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机制 后端是:thinkphpFastAdmin 前端是:uniapp 1.优化首页推荐店铺模块如有则会显示此模块没有则隐藏。 2修复首页公告,更改首页公告逻辑。(后台添加有公…

C# 学习笔记--个人学习使用 <1>

C# 学习笔记 Chapter 1 C# 比较软的基础部分Section 1 类与命名空间Part 1 命名空间 NameSpacePart 2 类 Class Section 2 基本元素Section 3 数据类型Part 1 什么是类型?Part 2 类型在 C Sharp 中的作用Part 3 C Sharp 中的数据类型 Section 4 变量、对象与内存Par…