MPU6050加速度传感器去除重力加速度分量

man1101 2016-12-12 10:50:59
目前我们在做一款产品,需要用到MPU6050这颗芯片,已经获取到的加速度和角速度三个轴上的值, 需要用的是实际的加速度, 是不包含重力加速度在内的!苦于无法去除重力加速度在芯片上的分量,希望有大神前辈能帮助小弟一下!
...全文
4009 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
WHOILDAY 2020-12-17
  • 打赏
  • 举报
回复 2
引用 楼主 man1101 的回复:
目前我们在做一款产品,需要用到MPU6050这颗芯片,已经获取到的加速度和角速度三个轴上的值, 需要用的是实际的加速度, 是不包含重力加速度在内的!苦于无法去除重力加速度在芯片上的分量,希望有大神前辈能帮助小弟一下!
我最近也在调试一款维特的惯导,我对这件事的理解是这样的: 首先,6050有加速度计和陀螺仪,可以得到加速度和角速度,角速度可以用来计算实时姿态; 其次,如果初始时惯导水平放置,那么初始姿态的z轴和重力加速度是共线的,此时的姿态坐标系可以认为是初始坐标系,当姿态发生变化的时候,就发生了坐标变换,产生了当前坐标系,两个坐标系之间通过三个轴的欧拉角计算得到的变换矩阵相互转化;此时会得到三个轴方向的加速度,显然如果此时是静止活着匀速的话,三个加速度都是小于1g的;那么将初始坐标系下的一个加速度矢量1g(方向与初始坐标系下的重力加速度大小相等方向相反),将这个矢量转化到当前坐标系,并向各个轴做分解,然后和当前各个轴的加速度进行矢量求和,那么也就将重力加速度消去了。
CheneyFc 2019-12-06
  • 打赏
  • 举报
回复
需要知道三个轴相对于大地的角度。。然后再通过正余弦关系把重力分量减掉就行
dceacho 2017-10-10
  • 打赏
  • 举报
回复
引用 2 楼 lqn0459 的回复:
[quote=引用 1 楼 wangfan027 的回复:] 如果静止状态下三轴值为a,b,c 则实际运动中把三轴结果都减去a,b,c不就行了么
问题是,位置和角度会变呀。[/quote] 如果需要的结果只是相对于设备本身或者初始状态是静止的,,比如相对于设备,它是向着Z轴做加速运动,或者沿芯片的X轴做加速运动,按我说的减去初始静止值没错的, 原理是基于力的分解,物理书上有 但是 如果设备或芯片本身位置不确定,比如设备是倒着放或者竖着放, 倒着放和2g向下加速对芯片来说是一个效果, 这时候可能需要陀螺仪, 陀螺仪我没用过,你可以网上看下看这玩意怎么用
lqn0459 2017-10-05
  • 打赏
  • 举报
回复
引用 1 楼 wangfan027 的回复:
如果静止状态下三轴值为a,b,c 则实际运动中把三轴结果都减去a,b,c不就行了么
问题是,位置和角度会变呀。
tianxj001 2017-10-05
  • 打赏
  • 举报
回复
任何一款三轴加速度传感器,都具有倾角和重力加速度测量功能,利用静止状态,即可获取设备的已知倾角,算出该设备当前状态下的重力加速度。 用这个作为基准数据,你必须根据设备实际瞬时倾角,按照公式,就可以在各矢量方向减去已知重力加速度值,如果设备高度变化非常大的,最好有获得设备海拔值的传感器,然后,根据海拔和重力加速度关系,进行补偿数据的校正。这样,你就可以获得装备的任意时刻的实际加速度值,当然都是牵涉函数矢量运算,运算量有点大。
dceacho 2016-12-12
  • 打赏
  • 举报
回复
如果静止状态下三轴值为a,b,c 则实际运动中把三轴结果都减去a,b,c不就行了么

27,372

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧