所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
“跟屁虫”小车
xujh xujh 2020-07-05 11:32:01
1
2
简单

之所以想到要做这个小车,源于手上的哈士奇。上两周看到二哈的固件更新了,听大家说新固件功能十分强大,我也一直想更新固件玩一玩。终于在周末抽出了一点时间更新了固件,再下载了最新的mind+,v1.64。可是拿着哈士奇能做什么呢?刚好看到之前用laserblock搭建的一辆小车,灵感就来了。

材料清单 材料清单
1x
HUSKYLENS 二哈识图
1x
掌控版
1x
掌控扩展板
2x
电机
1x
laserblock结构件(套)

这个作品比较简单,用到的硬件是哈士奇、掌控板、掌控板扩展板(用的是之前自己淘宝买的扩展板,因为用DF的IO扩展板发现掌控板一直发热,时间原因来不及找原因,就暂时用了另一块代替),电机,以及搭建结构用的laserblock。下面先上图让大家看看。

projectImage

上面这一块是我用到的扩展板,接下来放几个小车的图。

projectImage
projectImage
projectImage
projectImage
projectImage

好了,下面说一下程序的思路,首先来看看主程序。

projectImage

逻辑相当简单,就是通过哈士奇的物体追踪功能,先学习一个物体,然后识别这个物体是否在小车前面,如果识别到物体,就展开“追踪”,识别不到,小车就自动停止。

projectImage

这个是“追踪部分”的函数,通过判断物体在屏幕的左边还是右边,从而改变小车的转向,让小车一直追着物体走。当然,这个算法很简单,虽然小车完成之后只是拿在手上测试过,没落地测试,但是可以预见的是,按照这个算法,小车的行驶一定是不流畅的,容易出现不断摇摆的鬼畜行为,要想小车的追踪更连贯,还需要进一步优化这个算法。优化的思路主要是控制小车的转向速度,物体离中心点越近,转向速度应该越慢,这样小车的运行就会流畅很多,这个有点类似于巡线。

projectImage

这是停止,就不说了,比较简单,当识别不到要追踪的物体,就直接停止,直到要追踪的物体重新出现,要不然一旦找不到追踪的目标就乱撞也不好。

projectImage
最后这个是通过掌控版按键控制哈士奇的学习和遗忘,这是新固件的一个新功能,以前只能够直接按下哈士奇的学习按键去学习,新固件开放了接口,结合新版的mind+就可以通过主控板和传感器控制哈士奇的学习和遗忘了,uno板、掌控版等主控板都可以,这个新功能是非常好的。

最后,老规矩,上一个详细的演示视频,演示视频里面也对作品做了一些介绍。

后记:

这个作品的名字其实也有一段故事,其实一开始的时候没起好名字,后来发出来让大家帮忙取名字,结果很多朋友都给这个小车取了同一个名字:跟屁虫。想了一下这个名字也挺有意思的,就用了这个名字了。

另外搭建结构用到的laserblock也是我很早就接触的,只是之前没想到过可以用laserblock搭建小车,我觉得我以后可以多做一个laserblock的作品,节省材料,功能却一点不缺,非常实用。、

最后,做个小广告,我在b站的名字叫“有意思的小伙子”,大家可以一起交流。

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