*▽*喜  大  普  奔 *▽*

经过我们3个月的调试开发,支持PX4固件的外置IMU,终于调试通过。为啥我们费劲心机的换掉了MPU6000这个消费级的IMU!采用了ADXRS620/642/646工业级的陀螺仪和ADXL203工业级别的加速度计组成的外置(SPI接口的)IMU,替换了原本的MPU6000这个IMU。

我们知道一个IMU主要器件里面主要是陀螺仪和加速度计!因为我们要检测飞机的姿态,也就是XYZ轴的角度。飞行器之所以能悬停,是因为MEMS传感器可以检测飞行器在飞行过程中的俯仰角和滚转角变化,在检测到角度变化后,就可以控制电机向相反的方向转动,进而达到稳定的效果。这是一个典型的闭环控制系统。至于用MEMS传感器测量角度变化,一般要选择组合传感器,既不能单纯依赖加速度计,也不能单纯依赖陀螺仪,这是因为每种传感器都有一定的局限性。

陀螺仪输出的是角速度,要通过积分才能获得角度,但即使在零输入状态时,陀螺依然是有输出的,它的输出是白噪声和慢变随机函数的叠加,受此影响,在积分的过程中,必然会引进累计误差,积分时间越长,误差就越大。这就需要加速度计来校正陀螺仪,因为加速度计可以利用力的分解原理,通过重力加速度在不同轴向上的分量来判断倾角。由于没有积分误差,所以加速度计在相对静止的条件下可以校正陀螺仪的误差。但在运动状态下,加速度计输出的可信度就要下降,因为它测量的是重力和外力的合力。较常见的算法就是利用互补滤波,结合加速度计和陀螺仪的输出来算出角度变化。

上面一段话是告诉大家陀螺仪里面很重要一条指标就是陀螺仪零飘,零飘带来的累积误差影响角度的检测。一个优秀的陀螺仪零飘一定要小。

◆ ◆ ◆  ◆ ◆

陀螺仪的理想输出是只响应角速度变化,但实际上受设计和工艺的限制,陀螺仪对加速度也是敏感的,这就是陀螺仪数据手册上常见的deg/sec/g的指标。对于多轴飞行器的应用来说,这个指标尤为重要,因为飞行器中的马达一般会带来较强烈的振动,如果减震控制不好,就会在飞行过程中产生很大的加速度,这势必会带来陀螺输出的变化,进而引起角度变化,马达就会误动作,最后给终端用户的直观感觉就是飞行器并不平稳。除此之外,在某些情况下,如果飞行器突然转弯,可能会造成输入转速超过陀螺仪的测试量程,理想情况下,陀螺仪的输出应该是饱和输出,待转速恢复到陀螺仪量程范围后,陀螺仪再正确反应实时的角速度变化,但有些陀螺仪确不是这样,一旦输入超过量程,陀螺便会产生震荡输出,给出完全错误的角速度。还有某些情况下,飞行器会受到较大的加速度冲击,理想情况陀螺仪要尽量抑制这种冲击。

上面一段话告诉大家陀螺仪受加速度,受震动影响较大。一个优秀的陀螺仪可以抑制加速度和震动的冲击,不能产生振荡输出。

◆ ◆ ◆  ◆ ◆

原版的PIXHAWK这款飞控用的MPU6000这款IMU,是消费级别的IMU,在陀螺仪上零飘和抗冲击性能,以及工作温度范围,只适用于消费级别的产品。我们也认为PIXHAWK原版的飞控在硬件的配置上,紧紧只是航模级别的控制系统。这也是PIXHAWK在工业应用场合,并不能很好胜任的原因之一。

以下是MPU6000的测试数据:

这是加速度噪声,在静止情况下,时间轴长度是5分钟,在这段时间内的突变噪声还是比较大的,甚至到达了0.5。

这是陀螺仪在10分钟内的数据记录,我们可以看到白噪声最大已经是0.17。

这样的原始数据给到姿态估计算法,实际上对姿态估计算法的挑战还是挺大的。

我们的IMU与Xsens MTI-710-G数据实测对比 ▲加速度计动态数据▲

▲陀螺仪动态数据▲

▲加速度计静态数据▲

▲陀螺仪静态数据▲

IMU数据实测对比

我们可以清楚看到我们的IMU(ADXRS620/ADXL642)和Xsens MTi-710这款2万多的IMU相比(橙色为我们的ADXRS620/ADXL642),在白噪声的数据甚至要优于Xsens MTi-710,长时间的数据噪声绝对控制在0.02一下。ADI公司的MEMS传感器的性能在业界也是顶尖水平,其稳定性及可靠性在均可达到工业级别的应用场景。

pixhawk这款飞控采用的传感器都是消费级别的传感器,各种零飘和白噪声都比较大,一致性也不能保证。我们认为不是非常适合用在工业级别的无人机上,特别是一些比较大的和长航时的无人机。

笔者也跟很多行业领域的无人机研发厂商交流,他们会说我们原版的MPU6000飞行也很稳定啊,你看我们调试的参数,飞机飞得也很稳定,大疆的以前的飞机也似MPU6000啊。笔者认为在工业应用场合考验的是各种极端场合情况的表现性能,我们的消费级别的传感器,在普通场合和工业级别的传感器性能可能差异并不大。但是一些偶发和极端场合以及长时间运行,就有明显的差异。其实无人机工作的稳定性的主要衡量指标就是在一些偶发和极端场合。就像陀螺仪这样的传感器,如果长时间使用,白噪声越大,累计误差越大,时间长了性能下降,因为我们的无人机有的时候会长时间运行。尤其在油动飞机场合,长航时和大震动,这些对于IMU都是非常巨大的挑战。

1 此次外置IMU采用SPI高速总线传输,spi最大读取速率5000Hz。内置CPU进行姿态计算,可提供高达1500HZ更新率,支持各种数据预处理:四元数,欧拉角,卡尔曼, mahony互补滤波,其更宽广的工作温度范围(−40°C至+125℃),可应对各种极端气候。

2 角速率传感器采用工业级的ADXRS620/622/623/624/642/646/649/652(可选),该系列传感器其最大的特点是自带有振动抑制(50-5khz,15grms随机震动平均低于0.001(°/s)2/√Hz)和较高抗冲击性能(10000G冲击),更为宽广的工作范围(−40°C至+105°C),±300°/s典型测量范围。

3 加速采用的是ADXL203//212/213/278(可选)两轴加速度计,该系列加速度传感器可同时进行静态和动态加速度计测量,可以定制化的加速度计带宽范围,用以避开因载具不同而造成的共振问题。

4 原始数据采集采用模拟器件,我们采用16位分辨率、无失码AD转换,采样速度可提供高达250kps,后期姿态结算提供更为平滑的原始数据,谐波失真低于-100dB,力求数据转换更为精准。

5 我们深知电源对信号调理的重要性,对此,我们对电源进行了多次的优化处理,为求达到最优的效果,电源精准度提高达到0.0002V(0.02%),外接电源支持范围为提供3.3-5.5V内自适应。

6 启动时间1S,支持RS232,CAN,USB等多种用户定制的数据读取模式和协议,工厂校准的正交和比例因子、温度,温度为5点拟合,-10~60度,可按照用户需求定制更大范围的适配性。

7 此外,由于IMU可插拔,它比传统飞控更加容易校准,更适合在油动飞机上的应用。

我们想强调!无人机是一个整体系统,影响稳定性的因素有很多种,笔者以为一款稳定飞行无人机系统,一定是每个部分的相互配合。IMU,动力系统,主控系统,控制算法的相互配合。每个部分一定要性能都非常好,才可以稳定飞行,任何一个环节稳定性不够,都会直接拉低整个系统的性能。我们不能够说提高了某一部分的性能,比如用了我们最新的ADI的工业级陀螺仪,就可以飞行的很稳定。我们想表述的意思是一款专业的无人机是要采用工业级别的传感器,来保证其稳定性。同时必须提高每一部分的性能,来保证整个系统的性能。

我们的IMU预售说明

此款IMU为预售发布,预售价格为:

ADXR620陀螺仪 + ADXL203加速度计 :1999元

ADXR642陀螺仪 + ADXL203加速度计 :2999元

【此款IMU至少满10单可出】

预售淘宝链接:

电脑版:

https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-14501143820.24.575268a5oAwMTf&id=564447259763

手机版:

【阿木实验室特殊定制外置高精度imu 适用固定翼多旋翼大飞机等】http://m.tb.cn/h.WElhTCR 点击链接,再选择浏览器打开;或复制这条信息¥skVA0qxIkoW¥后打开手淘

说明:该款IMU我们已经写好了PX4的相关驱动,即插即用,使用非常方便。

对该IMU有兴趣的欢迎入此群(adi高端imu预售咨询群)了解:

(因群已满百人,所以大家需要进群的可以加郑老师的微信:muhailiantian,邀请您入群)

添加请备注:加IMU预售群

ADXRS620/642/646发布:在PX4上我们为什么扔掉了MPU6000这个IMU相关推荐

  1. java注解接收上传文件,前台:Input type=file 后台获取文件内容用的是spring注解,当地环境上传图片是好的,发布到服务器上图片读取不到,求大神指点...

    当前位置:我的异常网» Java Web开发 » 前台:Input type="file" 后台获取文件内 前台:Input type="file" 后台获取文 ...

  2. 从0到1,一步步开发React的loading组件,并发布到npm上

    没有发布过npm包的同学,可能会对NPM对开发有一种蜜汁敬畏,觉得这是一个很高大上的东西.甚至有次面试,面试官问我有没有发过npm包,当时只用过还没写过,我想应该挺难的,就小声说了没有,然后就让我回去 ...

  3. html5画布可以p图,HTML5图像适合发布在画布上

    我正在研究HTML5移动应用程序.我正在使用画布元素和文件上传元素. 每当用户从手机上点击这个文件上传元素.他看到两种选择. 1.选择现有的照片 2.拍摄新照片HTML5图像适合发布在画布上 如果他选 ...

  4. 解决用img src=%# Eval(ShowPhoto)%动态绑定图片,发布到IIS上无法显示的问题

    用<img src="<%# Eval("ShowPhoto")%>"动态绑定图片,再本地用VS2008运行时正常 发布到IIS上图片显示不出 ...

  5. 动手开始创建第一个 Angular 应用并通过 gh-pages 发布到 Github 上

    命令行创建: ng new jerryfirstapp 创建完毕: ng serve --open,然后 localhost:4200 能看到如下页面: 创建一个新的 gh-pages 分支: git ...

  6. Vue封装预约日期插件和发布到npm上

    插件代码 <template><div class="subscribe-time" v-show="setting.display"> ...

  7. ASP .NET Core 2.0 MVC 发布到 IIS 上以后 无法下载apk等格式的文件

    ASP .NET Core MVC 发布到  IIS 上以后 无法下载apk等格式的文件 使用.NET Core MVC创建了一个站点,其他文件可以下载,但是后来又需求,就把手机端的apk合适的文件上 ...

  8. The Generalist和Visualize Value在去中心化内容发布平台Mirror上发起众筹

    群体博客The Generalist联合Visualize Value的Jack Butcher在去中心化内容发布平台Mirror上发起众筹,此次众筹目标额度为20 ETH,每人上限为0.25 ETH ...

  9. Log4net日志发布到服务器上日志无法写入

    log4net在本地执行时候,日志正常写入,但是发布到服务器上的时候,日志就无法正常写入 解决方案: 1.文件权限 在发布到服务器上的时候,可能文件没有写入权限,导致日志无法正常写入 打开IIS 找到 ...

  10. 从零开始写项目第八篇【将未完成的项目发布在Tomcat上】

    tags: 从零开发项目, title: 从零开始写项目第八篇[将未完成的项目发布在Tomcat上] 将项目打包成war包 我使用的是Maven来构建项目的,因此打war包也是非常方便的. 参考链接: ...

最新文章

  1. 云栖大会的最后,阿里巴巴数据安全放了个大招!
  2. mysql慢时如何防止重复账户_如何进行mysql数据库的优化? --慢查询定位 --索引详解 -- 定时备份...
  3. Oxite移植到ASP.NET MVC2 BETA 笔记(关于Html.RenderPartialFromSkin)
  4. vmware搭建ubuntu虚拟机(包含安装搜狗输入法和apt,dpkg的使用教程)
  5. GCC编译警告选项的学习
  6. Python+django建站入门篇(2):素数判断
  7. ceph客户端使用_ceph存储之ceph客户端
  8. 继续上一篇剩下的例子
  9. 941. 有效的山脉数组
  10. flash cs4中3D特性之PerspectiveProjection属性设置
  11. .net课堂流水账_20110116
  12. 推荐 浙江省国税vpdn安装正确的方法 如何安装后缀为ocx的控件 由于无法验证发布者 ,所以windows 已经阻止次软件
  13. kettle读取文本文件入库
  14. java面试宝典-抱你过岸
  15. RecyclerView clipToPadding
  16. This application’s application-identifier entitlement does not match that of the installed applicati
  17. Tiled的qbs方式编译记录
  18. 人工智能知识全面讲解:机器学习的类型
  19. 刘墉写给女儿的“考前须知”,送给每个即将上战场的学子
  20. java入门,eclipse,spring boot… 新建springboot starter, 和 启动mnv srping-boot:run

热门文章

  1. 可批量查询企业工商数据信息的API
  2. 天地图三维帮助文档(Cesium)
  3. Python+Matplotlib科研绘图
  4. java弹幕爬取,手把手教你爬取B站弹幕(超详细)!
  5. IT 必备电脑快捷键
  6. AI人工智能知识图谱Neo4j关联查询人物关系cypher查询
  7. 《计算机系统:核心概念及软硬件实现(原书第4版)》——3.1 无符号二进制表示...
  8. LRO -- skb_buff->frags[] skb_buff->frag_list
  9. iOS开发捷径学习(一)
  10. android锁屏壁纸设置,安卓锁屏壁纸怎么换 安卓锁屏壁纸设置教程