所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

自动驾驶的麦昆

小汤一号迷弟 小汤一号迷弟 2020-03-30 14:43:27
3
2
简单

【项目背景】

二哈识图据说是个功能强大的视觉传感器,我想跟麦昆结合,做一个无人驾驶小车。我希望麦昆在哈士奇的加持下能够识别不同的交通标志,实现自动驾驶。

【原理分析】

因为交通标志实际上有很多,所以需要选择一种能够学习多个物体的模式。首先考虑【物体追踪】,然而尝试后发现只能学习一个标志,不能学习多个。那就换成【物体识别】吧。结果交通标志识别成瓶子之类的其他物品。额,难道没有一个能学习自定义物体的模式吗?希望二哈识图的产品经理看到了请考虑一下我们的用户需求。

projectImage

我画了三个交通标志:左转、禁止通行、右转。想来想去我估计只能用【颜色识别】来实现我的项目了。然后这样的话就浪费了一个标志,白画了╮(╯▽╰)╭

材料清单 材料清单
1x
micro:bit 编程入门开发
1x
麦昆: micro:bit教育机器人 V4.0
1x
麦昆CR123A锂电池电源管理模组
1x
Gravity: 二哈识图(HuskyLens)AI 视觉传感器
2x
M3*30六角铜柱
步骤1 步骤1
器材组装

因为用到的东西少,组装起来很简单。把二哈识图装到麦昆上就好了。但有个问题,哈士奇随机附带的支架好像装不上去呀!后来我想了个办法,用铜柱固定到麦昆屁股的金手指开孔处。

projectImage

可是这样电源管理模组上的开关就被挡住了,很难开关了。不过样子看上去还可以。

projectImage

将二哈识图的连接线接到麦昆超声波传感器后面的 IIC 接口就好了,注意线的颜色,不要插错了。

projectImage
步骤2 步骤2
加载扩展

首先打开 Mind+,加载麦昆和二哈识图。

projectImage
projectImage
步骤3 步骤3
编写代码

整体思路是:二哈识图一直检测摄像头前方的颜色。如果看到了红色(禁止通行),那么立刻停止。如果看到了蓝色(左转弯),那么立刻左转。其他情况下直行。

projectImage

这里 ID1 代表红色,ID2 代表蓝色。有人可能会问了,蓝色不是左转吗?为什么代码里是前进?这说来话长。我买的麦昆左右轮子转速不一致,直行的时候会自己左转!!!我先联系了售后,已经返厂维修了。寄回来之前还给我发了调试视频,可以走直线,还可以在地图上巡线。然而,当我拿回来以后,发现还是会左转。额,我只好凑合用了。这里通过等待时间控制转弯角度。

特别提醒:千万不要忘了高亮的【请求一次数据存入结果】。一开始我没有这句代码,然后下面代码通通无法执行。我还以为我的二哈坏了。但仔细一想,不对啊,为啥 micro:bit 可以用,麦昆不能用呢?仔细调试,检查代码后,才发现忘了这句话。

步骤4 步骤4
测试运行

首先利用二哈识图学习交通标志的颜色。先学习红色,再学习蓝色。具体过程很简单,就不说了。但是需要注意光线,不然换了个位置,反光或者逆光的情况下,就算学习过,也认不出来。

学习好后架设场地。这里就放两个标志,一个左转,一个停止。

projectImage

运行效果请看视频:

麦昆能很好的识别出交通标志的颜色,执行对应的指令。

projectImage

可能是因祸得福吧。用了颜色识别后,只要发现交通标志的颜色就可以执行对应操作了,响应速度很快。如果真的可以识别交通标志的话,那就需要好好调整摄像头角度和交通标志的高度了。

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