OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4098|回复: 8

STM32+MPU6050

[复制链接]

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
发表于 2015-1-6 10:10:08 | 显示全部楼层 |阅读模式
5金钱
我用ARHS程序跑MPU6050,它程序中用陀螺仪加速度计各自计算出重力向量在机体坐标系中映射,然后通过向量叉乘得出夹角误差来修正陀螺仪。我观察陀螺仪单独和四元数积分然后计算出来的重力向量,和加速度计得到重力在三个轴上的分量比较,怎么数值会相差很多?且变化也不一致?

最佳答案

查看完整内容[请看2#楼]

给你说一个思路: 1、程序启动后,先用加速度计计算一个姿态当做初始姿态; 2、用初始姿态和陀螺仪的数据开始四元数更新姿态,这就是陀螺仪独立计算的姿态; 3、同时用加速度计独立计算姿态; 4、两者相比较你就得到你想看的数据了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
114
金钱
114
注册时间
2014-12-25
在线时间
2 小时
发表于 2015-1-6 10:10:09 | 显示全部楼层
给你说一个思路:
1、程序启动后,先用加速度计计算一个姿态当做初始姿态;
2、用初始姿态和陀螺仪的数据开始四元数更新姿态,这就是陀螺仪独立计算的姿态;
3、同时用加速度计独立计算姿态;
4、两者相比较你就得到你想看的数据了。
回复

使用道具 举报

5

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
114
金钱
114
注册时间
2014-12-25
在线时间
2 小时
发表于 2015-1-6 10:10:09 | 显示全部楼层
回复【5楼】851285391@qq.com:
--------------------------------
惯性导航上有,或者网上搜一下。
求姿态矩阵的,已知加速度测到的是机体坐标系中的数据,重力加速度是导航坐标系的数据。然后根据公式可直接计算姿态矩阵。
回复

使用道具 举报

5

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
114
金钱
114
注册时间
2014-12-25
在线时间
2 小时
发表于 2015-1-6 11:02:09 | 显示全部楼层
你描述的不太对,不知道你看的是什么程序。
回复

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
 楼主| 发表于 2015-1-6 11:25:25 | 显示全部楼层
回复【2楼】惯性坐标系:
---------------------------------
就是网上的AHRS姿态程序:
   //Normalise accelerometer measurement
recipNorm=1/sqrt(ax*ax+ay*ay+az*az);
ax*=recipNorm;
ay*=recipNorm;
az*=recipNorm; // 加速度计测量的重力向量在三轴的分量
// Estimated direction of gravity and vector perpendicular to magnetic flux
halfvx=q1*q3-q0*q2;
halfvy=q0*q1+q2*q3;
halfvz=q0*q0-0.5f+q3*q3;// 陀螺仪和四元数计算出来的重力向量在三轴的分量

// Error is sum of cross product between estimated and measured direction of gravity
halfex=(ay*halfvz-az*halfvy);
halfey=(az*halfvx-ax*halfvz);
halfez=(ax*halfvy-ay*halfvx);

是不是这样呢?因为我想观察它们各自计算姿态得出误差比较。
假如用一个三轴加速度计确定俯仰角和横滚角,要怎么做呢?
回复

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
 楼主| 发表于 2015-1-6 11:41:46 | 显示全部楼层
回复【4楼】惯性坐标系:
---------------------------------
思路我懂,主要是用加速度计怎么独立计算姿态?
回复

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
 楼主| 发表于 2015-1-6 14:17:54 | 显示全部楼层
回复【6楼】惯性坐标系:
---------------------------------
阁下一言惊醒梦中人,受教了!再问一句,重力向量在世界坐标系中是沿-Z轴的,而加速度计测量的是沿+Z轴,是不是要把加速度计测量出来的三轴值取反呢?
回复

使用道具 举报

5

主题

68

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
114
金钱
114
注册时间
2014-12-25
在线时间
2 小时
发表于 2015-1-6 16:12:13 | 显示全部楼层
是的,符号根据你定义的正方向为标准。
回复

使用道具 举报

18

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-3-26
在线时间
0 小时
 楼主| 发表于 2015-1-6 17:34:17 | 显示全部楼层
回复【8楼】惯性坐标系:
---------------------------------
你说我一开始的表述有错,请问是哪里描述不当啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-27 06:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表