之所以想到要做这个小车,源于手上的哈士奇。上两周看到二哈的固件更新了,听大家说新固件功能十分强大,我也一直想更新固件玩一玩。终于在周末抽出了一点时间更新了固件,再下载了最新的mind+,v1.64。可是拿着哈士奇能做什么呢?刚好看到之前用laserblock搭建的一辆小车,灵感就来了。
这个作品比较简单,用到的硬件是哈士奇、掌控板、掌控板扩展板(用的是之前自己淘宝买的扩展板,因为用DF的IO扩展板发现掌控板一直发热,时间原因来不及找原因,就暂时用了另一块代替),电机,以及搭建结构用的laserblock。下面先上图让大家看看。
上面这一块是我用到的扩展板,接下来放几个小车的图。
好了,下面说一下程序的思路,首先来看看主程序。
逻辑相当简单,就是通过哈士奇的物体追踪功能,先学习一个物体,然后识别这个物体是否在小车前面,如果识别到物体,就展开“追踪”,识别不到,小车就自动停止。
这个是“追踪部分”的函数,通过判断物体在屏幕的左边还是右边,从而改变小车的转向,让小车一直追着物体走。当然,这个算法很简单,虽然小车完成之后只是拿在手上测试过,没落地测试,但是可以预见的是,按照这个算法,小车的行驶一定是不流畅的,容易出现不断摇摆的鬼畜行为,要想小车的追踪更连贯,还需要进一步优化这个算法。优化的思路主要是控制小车的转向速度,物体离中心点越近,转向速度应该越慢,这样小车的运行就会流畅很多,这个有点类似于巡线。
这是停止,就不说了,比较简单,当识别不到要追踪的物体,就直接停止,直到要追踪的物体重新出现,要不然一旦找不到追踪的目标就乱撞也不好。
最后这个是通过掌控版按键控制哈士奇的学习和遗忘,这是新固件的一个新功能,以前只能够直接按下哈士奇的学习按键去学习,新固件开放了接口,结合新版的mind+就可以通过主控板和传感器控制哈士奇的学习和遗忘了,uno板、掌控版等主控板都可以,这个新功能是非常好的。
最后,老规矩,上一个详细的演示视频,演示视频里面也对作品做了一些介绍。
后记:
这个作品的名字其实也有一段故事,其实一开始的时候没起好名字,后来发出来让大家帮忙取名字,结果很多朋友都给这个小车取了同一个名字:跟屁虫。想了一下这个名字也挺有意思的,就用了这个名字了。
另外搭建结构用到的laserblock也是我很早就接触的,只是之前没想到过可以用laserblock搭建小车,我觉得我以后可以多做一个laserblock的作品,节省材料,功能却一点不缺,非常实用。、
最后,做个小广告,我在b站的名字叫“有意思的小伙子”,大家可以一起交流。
嘉一_curvy2020.07.08
这款小车的木板用到的螺丝🔩孔径是多大
xujh2020.07.12
3mm