树莓派pico mpu6050 一阶互补滤波四元数法 解算姿态角
- micro-python:一阶互补滤波&四元数法 代码
2.系统方案
2.1.组成
本系统由供电部分, 主控部分, 姿态传感器与通信部份组成
2.2.供电部分
电池为一节14500锂电池, 容量1300mAh, 额定电压3.7V. 该电池连接一个AMS1117降压电路, 得到稳定的3V3输出, 为后续系统供电.
2.3.树莓派pico
树莓派Pico是树莓派基金会自主研发的一款双核MCU:RP2040,提供了超低功耗、极低的I/O延迟,可用micro-python或C语言编写程序。
RP2040 芯片是 7×7mm QFN-56 封装的,具体规格参数如下:
- 双核 Arm Cortex-M0 + @ 133MHz
- 芯片内置 264KB SRAM 和 2MB 的板载闪存
- 通过专用 QSPI 总线支持最高 16MB 的片外闪存
- DMA 控制器
- 30 个 GPIO 引脚,其中 4 个可用作模拟输入
- 2 个 UART、2 个 SPI 控制器和 2 个 I2C 控制器
- 16 个 PWM 通道
- USB 1.1 主机和设备支持
- 8 个树莓派可编程 I/O(PIO)状态机,用于自定义外围设备支持
- 支持 UF2 的 USB 大容量存储启动模式,用于拖放式编程
2.4.蓝牙HC05模块
HC05模块是ALIENTEK一款高性能主从一体蓝牙串口模块,支持非常宽的波特率范围:4800~1382400, 可以同各种带蓝牙功能的电脑、蓝牙主机、手机、PDA、PSP等智能终端配对
2.5.姿态传感器mpu6050
InvenSense公司推出的全球首款整合性6轴运动处理组件,输出三轴加速度ax,ay,az和三轴角速度gx,gy,gz,体积4x4x9mm,i2c通信,量程范围角速度±250,±500,±1000,±2000°/sec(dps),加速度±2g,±4g,±8g,±16g
2.6.一阶互补滤波
加速度计的特点是测量比较准确, 但容易受到噪声的影响, 比如附近有电机转动时, 加速度输出值会有剧烈波动; 陀螺仪的特点是不受到高频噪声的影响, 但数值会有漂移, 时间越长, 误差越大.
传感器 | 加速度计 | 陀螺仪 |
---|---|---|
高频振动噪声 | 敏感 | X |
低频姿态漂移 | X | 漂移 |
两个传感器可以弥补相互缺点,单纯以六轴传感器不能得到准确的Yaw角,但在跌倒场景中,Yaw角并不是特别重要.
比如对于pitch角(绕y轴旋转角),由加速度计计算得到的绕y轴角度(x轴转过的角度) angleAy=axay2+az2angleAy=\frac{ax}{\sqrt{ay^2+az^2}}angleAy=ay2+az2ax ,由陀螺仪计算得到的绕y轴角度 angleGy=lastpitch+gy×dtangleGy=last_{pitch}+gy\times dtangleGy=lastpitch+gy×dt
定义k代表加速度计的权重,1-k即陀螺仪的权重,最终得到 pitch=k×angleAy+(1−k)×angleGypitch=k\times angleAy+(1-k)\times angleGypitch=k×angleAy+(1−k)×angleGy
此外还有其他方法可以得到三轴姿态角:
四元数
卡尔曼滤波
数字运动处理器DMP
MPU6050 抄底解读
MPU6050 姿态解算系列一:加速度姿态解算
MPU6050 姿态解算系列二:陀螺仪姿态解算
MPU6050 姿态解算系列三:互补滤波
MPU6050 姿态解算系列四:线性 Kalman 滤波
micropython-mpu6050-esp8266
MPU6050误差分析
树莓派pico mpu6050 一阶互补滤波四元数法 解算姿态角相关推荐
- 四元数解算姿态角解析
本文来自:链接 一.概述 无人机求解姿态角有多种算法,但由于各种算法的自身限制及计算机计算速度的限制,所以我们需要选择一个较佳的求解算法,下面我们先来看看几种求解姿态角的算法: 1. 欧拉角法: 欧拉 ...
- 关于无人机四元数解算姿态角解析你知道吗?
原文链接http://www.elecfans.com/d/705815.html 一.概述 无人机求解姿态角有多种算法,但由于各种算法的自身限制及计算机计算速度的限制,所以我们需要选择一个较佳的求解 ...
- MPU6050卡尔曼滤波解算姿态角
前言 自己在课上吹的牛,课程作业再麻烦也得干.模了好几天鱼,终于在DDL前一天弄完了惯导模块的简单demo,卡尔曼滤波算是我弄的最久的了(大概2-3天),虽然没有彻底弄懂原理(概率论没学,隐马尔可夫链 ...
- STM32F103之实验7一阶互补滤波求解移动机器人的姿态代码
上一篇博客,采用的是DMP解算姿态,且给出了底层硬件配置及驱动方式,此处摒弃DMP直接由单片机自己实现姿态解算,接下来介绍由三轴陀螺仪和加速度计的值来使用四元数软件解算姿态的方法. 我们先来看看如何用 ...
- 【51单片机快速入门指南】4.3.2: MPU6050:一阶互补滤波、二阶互补滤波和卡尔曼滤波获取欧拉角
目录 源码 MPU6050_Filter.c MPU6050_Filter.h 使用方法 测试程序 一阶互补滤波 效果 二阶互补滤波 效果 卡尔曼滤波 效果 总结 普中51-单核-A2 STC89C5 ...
- 三轴磁力计解算姿态(四元数)
原理 根据地磁场向量在水平面上的投影来计算载体的偏航角,类似于加速度计解算姿态,不同在于磁场易受干扰,且只能得到偏航角. 方法 假设导航坐标系为东北天,载体坐标系为右前上. 初始载体坐标系和导航坐标系 ...
- 三轴加速度计解算姿态(四元数)
原理 当传感器载体静止时,加速度计只会输出重力加速度,可以凭此来计算载体的俯仰角和滚转角. 方法 假设导航坐标系为东北天,载体坐标系为右前上. 初始载体坐标系和导航坐标系重合,对应的四元数为q=[1, ...
- 对四元数解算姿态的理解
问题:为什么不用欧拉角来表示旋转而要引入四元数呢??? 前面介绍了什么是欧拉角,而且欧拉角微分方程解算姿态关系简单明了, 概念直观容易理解,那么我们为什么不用欧拉角来表示旋转而要引入四元数呢? 一方面 ...
- 【毕业设计】MPU6050姿态解算 姿态估计 - 物联网 单片机 stm32
文章目录 1 简介 2 MPU6050 3 工作原理 4 单片机与MPU6050通信 4.1 mpu6050 数据格式 4.2 倾角计算方法 5 实现代码 6 最后 1 简介 Hi,大家好,这里是丹成 ...
最新文章
- [微信小程序]实现一个自定义遮罩层组件(完整示例代码附效果图)
- 发起一个ajax请求,发送ajax请求
- Learning Perl 2
- Tomcat的bin文档下startup.bat启动后中文出现乱码
- JavaScript学习(四十一)—字面量形式创建对象的注意事项和不足
- java coap_CoAP协议-以Californium(Java)为例的CoAP初步实现
- hibernate——继承关系以及三个subclass标签的区别
- 解决GREENPLUM某些版本gprecoverseg –r失败后镜像双坏,系统无法启动的问题
- 计算机系外文文献题目,计算机专业外文文献翻译.doc
- NLPCC历年投稿及接收率
- 如何修改图片分辨率为300dpi?怎么样修改照片的分辨率?
- 云聚创新力量 领航数字未来 峯云5G·联通沃云峰会2019成功举行
- Python基于PHP+MySQL的个人网页设计与实现
- 56腾讯搜狐优酷视频,utubu 视频去重去水印去logo字幕工具 搜狐网易爱拍b站视频,今日头条视频...
- 阿里云服务器镜像操作系统如何选择?阿里云镜像注意事项
- 使用爬虫爬取天气历史数据(https://lishi.tianqi.com/)
- yilia-puls美化hexo个人博客
- 李开复写给中国大学生的七封信【1/7】
- 一种自适应的红色章印去除算法
- STM32第一课:STM硬件实物图+功能简介