所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
挑战三:秋名山麦昆飙车指南
#嘉诚欧巴# 2019-04-18 10:40:17
9
3
简单
‘逮虾户!’当秋名山的BGM响起,每个男孩心中都想去飚上一把过瘾的漂移。但实际上这种行为十分危险,我们只好让我们手里的麦昆来全力加速啦!本次课适用于学习过巡线车,想要进阶学习更好的运动算法的同学,本次课讲解使用一个标志位变量来让麦昆记住自己偏离轨道的方向,一个小小的改动就能让麦昆运动速度提升一倍。
projectImage
首先,我们知道,巡线车的原理是使用的是两个红外传感器,可以检测路面上的反光情况,从而分辨黑色与白色,那么基础的巡线原理为:向左偏,向右转;向右偏,向左转。这种至少需要两个红外传感器,如果想精度更高,那么就需要更多的传感器,比如三个、五个。更有甚者,使用的是高精度20位的巡线传感器,大多出现在专业的机器人比赛中,我们不在详细展开。那么两个传感器恰好在线上,我们就令麦昆直行。但是,有过自己组装巡线机器人经验的同学都知道,两个传感器之间的距离,是会对巡线效果产生很大影响的。
projectImage
例如,如果我们的赛道都是使用黑色电工胶带贴起来的,两个传感器的距离如果大于胶带纸,那么可以设置两个白色为直行,两个黑色为停止或交叉路口执行其他任务;而如果两个传感器的距离小于或者等于胶带纸的宽度(麦昆正是如此),这时,小车就会一直重复的执行左转右转左转右转程序,就大部分时间在纠正自己的方向,影响小车前进的速度,如果在左右转的子程序上下功夫,是可以调出一个完美的数值来让小车运行的很流畅,如果耐心不足或时间不允许,那么今天教大家一个另类的巡线算法。
一般来讲,巡线车的算法大致解释为:偏离路线则纠正方向,适中让黑线保持在两个传感器中间。我们今天学习的是使用Micro:bit编程中的变量,来让麦昆自己知道自己偏离的方向,而此时并不执行转弯,而是执行前进程序,直到检测到全部白线时,再根据已知的偏离方向进行纠正方向。使用这种算法的好处是:在巡线过程中,绝大部分时间都用来了前进,而只有当全部检测到白色,也就是彻底两个传感器都偏离了赛道,这时才去执行一次纠正回转程序,而只要纠正一点点,只要一边又进入到了黑色赛道中,就继续执行,总结这种算法的思路为:运动过程中始终要有一个传感器在黑色赛道上,当全部偏离时,采取纠正一次方向。

传统巡线方式程序:

projectImage

使用变量标志位的巡线算法

projectImage

最后放出两段运行的视频,大家可以自行比较一下。

最后说明:电池使用的是一个3.7V锂电池,加上一个充电模块,使用热熔胶粘起来了,还挺方便的,供大家参考~~

projectImage

最后最后:本次时间原因只设计了技术与原理部分,没有实际应用在课堂,本课程适用于进阶的学过巡线机器人的学生,可以学习到变量的妙处,可以摆脱传统的巡线方式,对巡线有新的认识。感谢DFRobot。

更:车身贴的是捣鼓车间捣鼓熊,,

Makelog作者原创文章,未经授权禁止转载。
9
3
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]