回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

自动驾驶的麦昆 简单

头像 小汤一号迷弟 2020.03.30 1198 3

【项目背景】

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

【原理分析】

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

project-image

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

材料清单

  • micro:bit 编程入门开发 X1 链接
  • 麦昆: micro:bit教育机器人 V4.0 X1 链接
  • 麦昆CR123A锂电池电源管理模组 X1 链接
  • Gravity: 二哈识图(HuskyLens)AI 视觉传感器 X1 链接
  • M3*30六角铜柱 X2 链接

步骤1 器材组装

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

project-image

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

project-image

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

project-image

步骤2 加载扩展

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

project-image
project-image

步骤3 编写代码

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

project-image

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

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

步骤4 测试运行

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

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

project-image

运行效果请看视频:

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

project-image

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

评论

user-avatar
  • 大漠孤烟hua

    大漠孤烟hua2022.06.08

    将固件版本升级到5.1的版本,就会有“物体分类”,物体分类功能可以实现你想要的效果,或者直接换成二哈教育版的

    0
    • DFHJM_IpFmV

      DFHJM_IpFmV2020.05.03

      你难道不能用标签识别吗?

      1
      • 汤果

        汤果2020.06.10

        但是用标签就有点不直观,可以考虑在标志旁边打印一个二维码。