ICM20948 DMP代码详解(1)

序言

接触Invensense的芯片这已经是第三次了。2015年在第二空间的时候第一次接触它的芯片,那时候是MPU9250;2021年的时候在智橙动力再一次接触到了MPU6050,那个时候用到了其中的DMP;这次接触的是ICM20948,按目前笔者理解,它是MPU9250的更新换代(不一定准确),也要使用到其DMP功能。

其实在几年前玩MPU6050的时候,就想把其DMP细节研究明白,哪怕是研究其中一部分并形成文档也是好的。但是当时太忙了,实在没有时间付诸实施。现在兜兜转转又回来了,正所谓事不过三,这次一定要留一些东西了。

DMP介绍

1. 什么是DMP?

DMP全称Digital Motion Processor,中文译为数字运动处理器;也有的翻译为Digital Motion Processing,即数字运动处理。DMP是Invensense公司针对其产品推出的软件包,能直接输出四元数,可以减轻外围微处理器的工作负担且避免了繁琐的滤波和数据融合,适用于MPU6050、MPU6500、MPU9150、MPU9250等传感器。

DMP技术的核心在于实现传感器数据的融合,通过算法将不同传感器的输出进行整合,以获取更准确、更稳定的姿态信息。

2. ICM20948中的DMP

ICM20948内置的DMP可以处理来自陀螺仪、加速度计和磁力计的数据,通过卡尔曼滤波或其它优化算法,消除噪声,提高动态性能,实现精确的六自由度姿态估计(俯仰、翻滚和偏航角)。

在ICM20948的芯片手册中,对于DMP做了介绍(参见笔者文章ICM-20948芯片详解(4)_icm20948-CSDN博客):

3. 什么是eMD?

The Embedded Motion Driver(eMD,嵌入式运动驱动程序)是传感器驱动层的嵌入式软件栈,可以轻松配置和利用InvenSense运动跟踪解决方案的许多功能。Invensen发布的eMD实现了多种传感器融合算法,供客户使用,如四元数生成和手势检测。

eMD被设计为一种可以轻松移植到大多数MCU的解决方案。随着eMD 20X48的发布,它包括一个完整的9轴解决方案,包括传感器融合、校准和通用手势检测,所有这些都在DMP上运行。eMD发布包包含一个示例项目,该项目基于ARM M4的裸金属ST Discovery评估板。

更多内容请看下回。

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

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

相关文章

外接串口板,通过串口打开adb模式

一、依赖库 import subprocess import serial from serial.tools import list_ports import logging import time 二、代码 import subprocessimport serial from serial.tools import list_ports import logging import timedef openAdb(com):# com []# for i in list_por…

1、.Net UI框架:Avalonia UI - .Net宣传系列文章

Avalonia UI是一个开源的跨平台UI框架,它允许开发者使用C#和XAML来创建应用程序,这些应用程序可以在多个平台上运行,包括Windows、macOS、Linux、Android和iOS。Avalonia UI的设计目标是提供一个现代化、可移植的UI框架,它具有类似…

如何通过日志或gv$sql_audit,分析OceanBase运行时的异常SQL

本文作者:郑增权,爱可生 DBA 团队成员,OceanBase 和 MySQL 数据库技术爱好者。本文约 2000 字,预计阅读需要 8 分钟。 简介 在 OCP 云平台的 Top SQL 界面中,能观察到异常SQL,但这些SQL并未明确显示具体的…

上手一个RGBD深度相机:从原理到实践--ROS noetic+Astra S(上):解读深度测距原理和内外参推导

前言 最近在做项目的时候,项目组丢给了我一个深度相机,今天我们来尝试上手一个实体深度相机。 本教程设计基础相机的原理,使用,标定,和读取。(注:本教程默认大家有ROS1基础,故不对程序进行详细…

django外键表查询

Django外键(ForeignKey)操作以及related_name的作用-CSDN博客 django模型中外键操作_django的model的contain外键-CSDN博客 通过基本表可以查外键表 删基本表可以删外键表

Java 7.3 - 分布式 id

分布式 ID 介绍 什么是 ID? ID 就是 数据的唯一标识。 什么是分布式 ID? 分布式 ID 是 分布式系统中的 ID,它不存在于现实生活,只存在于分布式系统中。 分库分表: 一个项目,在上线初期使用的是单机 My…

70V耐压可调OVP阈值的过压保护芯-平芯微PW1600

PW1600 具有前端过电压和过温保护功能。支持 3V 到 60V 的宽输入电压工作范围。过压保护阈值可以外部设置。超快的过压保护响应速度能够确保后级电路的安全。集成了超低导通阻抗的 nFET 开关,确保电路系统应用更好的性能。它可以承受峰值 5A 的电流,以及…

IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)

需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 IIS 实现反向代理功能,必须同时安装 URL Rewrite 和 Application Request Routing (ARR) 两个模块,缺一不可。 URL Rewrite 负责:定义反向…

分类预测|基于灰狼GWO优化BP神经网络的数据分类预测Matlab程序GWO-BP 含基础BP对比模型

分类预测|基于灰狼GWO优化BP神经网络的数据分类预测Matlab程序GWO-BP 含基础BP对比模型 文章目录 一、基本原理1. 灰狼优化算法(GWO)简介GWO的基本步骤 2. BP神经网络简介**BP网络的基本结构****训练过程** 3. GWO-BP分类预测的结合**结合流程** 4. GWO-…

如何在算家云搭建模型Stable-diffusion-webUI(AI绘画)

一、Stable Diffusion WebUI简介 Stable Diffusion WebUI 是一个网页版的 AI 绘画工具,基于强大的绘画模型Stable Diffusion ,可以实现文生图、图生图等。 二、模型搭建流程 1.选择主机和镜像 (1)进入算家云的“应用社区”&am…

构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践

在科技日新月异的今天,AR(增强现实)和VR(虚拟现实)技术正以前所未有的速度改变着我们的生活方式和工作模式。而EasyCVR视频汇聚平台,作为一款基于云-边-端一体化架构的视频融合AI智能分析平台,可…

服务器禁用远程(22)

vim /etc/ssh/sshd_config 修改 ListenAddress 0.0.0.0 为ListenAddress localhost

Origin 2024下载安装教程(中文版软件包) 百度网盘分享链接地址

Origin是什么软件? origin主要是绘图、数据分析、数据导入导出的功能。Origin 广泛应用于科学研究、工程技术、数据分析等领域,Origin 是一款功能强大、易于使用的科学绘图和数据分析软件,能够帮助你高效地处理和可视化数据,为你…

【springboot】使用swagger生成接口文档

1. 添加依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency> 这里我老是添加不上这个依赖&#xff0c;搜索了下发现阿里…

重磅活动!南开大学赵宏教授倾情分享AI挑战下的教育教学新理念与新方法

人工智能是科技发展的前沿领域&#xff0c;也是推动新质生产力形成的关键动力。当前&#xff0c;各个高校正积极探索人工智能对高等教育的改革&#xff0c;以培养适应未来社会发展需求的新型人才。 本次活动旨在传播 AI 挑战下的教育教学新理念与新方法&#xff0c;推动人才培养…

【MySQL】深圳大学数据库实验一

目录 一、实验目的 二、实验要求 三、实验设备 四、建议的实验步骤 4.1 使用SQL语句创建如上两张关系表 4.2 EXERCISES. 1 SIMPLE COMMANDS 4.3 EXERCISES 2 JOINS 4.4 EXERCISES 3 FUNCTIONS 4.5 EXERCISES 4 DATES 五、实验总结 5.1 数据库定义语言&#xff08;DDL…

Java健康养老智慧相伴养老护理小程序系统源码代办陪诊陪护更安心

健康养老&#xff0c;智慧相伴 —— 养老护理小程序&#xff0c;代办陪诊陪护更安心 &#x1f308;【开篇&#xff1a;智慧养老&#xff0c;新时代的温馨守护】&#x1f308; 在这个快节奏的时代&#xff0c;我们总希望能给予家人更多的关爱与陪伴&#xff0c;尤其是家中的长…

物联网技术推动灌区智能化管理

物联网技术&#xff0c;作为信息技术革命的重要组成部分&#xff0c;正深刻地改变着传统行业的运作模式&#xff0c;其中在农业灌溉领域的应用尤为显著&#xff0c;为灌区的智能化管理开辟了新径。这一技术通过将传感器、智能网关、大数据分析与云平台紧密融合&#xff0c;实现…

使用uni-app开发微信小程序

一、前提环境 1.1 &#xff1a;uniapp开发文档&#xff1a;https://uniapp.dcloud.net.cn/quickstart-cli.html 细节都在这一页&#xff0c;这里不过多解释 二、开发工具下载 2.1 微信开发者工具 下载链接&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/dev…

【软考】设计模式之代理模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.代理模式&#xff08;Proxy Pattern&#xff09;。2.意图&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。3.通过提供与对象相同的接口来控制对这个对象的访问。4.是设计模…