课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 乐高老师 乐高培训师 机器人竞赛教练员 2010年起从事乐高教育行业 喜欢基础学科的乐高老师

  • 课程详情

    欢迎关注公众号:legozql

    很多人对陀螺仪传感器是又(想)爱(拆)又(了)恨(它),我也是。陀螺仪的功能很强大,但是问题也很多。其中最主要的两个问题就是读数漂移跟误差过大。接下来咱们就分享几个简单的解决方法。


    陀螺仪的常见问题

    首先咱们要弄清楚陀螺仪的问题是怎么回事。

    1.数值漂移:

           

    陀螺仪传感器有两个模式,一个是探测角度一个是探测角速度(见上图)。通常情况下,陀螺仪的默认参数是角度。因此我们对角度很熟悉,但是对角速度(速率)了解不多。

    陀螺仪传感器的读数漂移看起来毫无规律。实际上,陀螺仪数值漂移的时候它的角速度的偏移量是固定的。

     

    这个偏移量是由,连接陀螺仪时陀螺仪的晃动造成的。所以,如果出现读数偏移的情况,最直接的方法就是数据线拔下来,让陀螺仪保持平稳,重新插一下。

    陀螺仪数值漂移,在程序上能不能监测出来?漂移的陀螺仪怎么通过程序调节呢?

    不要着急,咱们一会就讲到了

    2.误差过大:

    比如,我们想让陀螺仪控制小车转90度,结果转多了(还有可能是惯性问题影响的哦)。比如,用陀螺仪控制方向,结果转了几次就不准了。等等此类问题。

    这些个问题都是陀螺仪灵敏度不高造成的。EV3的这款陀螺仪传感器能够检测到的最大角速度是440度/秒,90度转动的误差是正负3度。

    如果,机器人(陀螺仪)的转动过快,它就会失灵,读数失准。

    如果,使用陀螺仪连续控制角度变化,误差通过积累也会变大。

    通俗来讲:用陀螺仪控制时,电机功率调小些。每次的侦测距离尽量不要超过90度。这样还是比较精确的。

    尤其是在转动角度很小、主要通过角速度来控制的时候(例如EV3自带搭建图的平衡小子)。陀螺仪会非常精确。

    程序分享

    接下来咱们就来看看,漂移报警程序。以及如何在读数漂移的情况下让陀螺仪正常工作。

    漂移报警程序就是在小车静止不动的时候检测五秒之内,陀螺仪的读数是否会漂移五度以上。如果超过五度,就报警。通过这种方法来检测陀螺仪是否漂移。程序见下图:

    这个程序不但可以检测陀螺仪数值漂移,还能检测出陀螺仪的数据线是不是虚了。可以让孩子在运行主程序之前,先运行这个程序来进行检测。又简单又好用,根治各种马虎

     

    漂移走直线程序的关键就是要设置一个陀螺仪参数修正项。让陀螺仪的读数减去这个参数,从而达到修正陀螺仪参数的目的。

    参数修正项 = 陀螺仪偏移角速度 X 时间

    参数修正项程序如下如:

    最终的程序如下图:

    此程序相对视频中程序进行了细微调整。程序开始增加了等待一秒。并调整了陀螺仪相关程序的位置。最终运行更为稳定。


     

    小结

    以上就是本次的分享。后续我还会分享更多关于乐高的文章。喜欢的朋友可以关注。想要获取程序可以关注公众号(搜索:legozql)回复“陀螺仪”三个字(不带引号)。