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

麦昆跟屁虫

迪奥不懒惰 迪奥不懒惰 2020-03-31 14:38:03
6
1
简单

【项目背景】

我有一辆会自动巡线的小车,可以自己沿着黑线行走,还有一台麦昆小车。那能不能做一个跟着小车行走的麦昆呢?就像小鸭子跟着鸭妈妈屁股后面一样。

projectImage

【原理分析】

二哈识图是个功能强大的传感器,我们可以利用颜色识别功能来追踪前一辆小车。我的小车很小,它最显著的特征就是顶上这块绿色的电池了。我们可以追踪这个绿色的电池。

projectImage
材料清单 材料清单
1x
micro:bit 编程入门开发
1x
麦昆CR123A锂电池电源管理模组
1x
麦昆: micro:bit教育机器人 V4.0
1x
Gravity: 二哈识图(HuskyLens)AI 视觉传感器
步骤1 步骤1
架设摄像头

首先我们需要把二哈识图固定到麦昆上。我们先把摄像头安装在配套的支架上。装好以后把麦昆前面万向轮的螺丝拆了,用两根铜柱固定。

projectImage

注意应该先把二哈识图的数据线连上,不然等会儿很难伸进去。

projectImage

接着把装好的支架固定到铜柱上就好了。

projectImage

我们可以看到,装好的情况下很难将二哈识图的数据线接到麦昆的 IIC 接口,实在太窄了。

projectImage

我们把过长的数据线卷起来,放在上层架子上。这样看上去没那么乱。

因为我们这样安装占用了超声波传感器的空间,所以就不能再用超声波了。反正我们暂时用不到超声波传感器。

步骤2 步骤2
引入扩展

打开 Mind+,点击左下角的“扩展”,选择“套件”里的“micro:Maqueen(麦昆)”。

projectImage

接着选择“传感器”下的“HUSKEYLENS AI 摄像头”。

projectImage
步骤3 步骤3
编写代码

查阅文档得知,二哈识图的屏幕坐标体系如下所示:

projectImage

我们可以依据对象方框在屏幕的位置来做一个分类。比如方框的 X 坐标在左侧,说明前方小车在自己左边,需要左转跟上。

projectImage

我们可以把横坐标分为五个区间,如果在中间区域就执行。如果在左边,则视偏离中心的距离进行相应幅度的左转。这样我们就能够实现水平方向的追踪了。如果不在视野范围内,我们就停止。至于麦昆的速度,我们参考前面小车的速度,不要比它快就好了。不然看上去是在顶前面那辆车。具体代码如下:

projectImage
步骤4 步骤4
测试

首先学习前面那辆小车的电池颜色。学习好后就可以调试程序了。我们先准备好巡线地图。

projectImage

将两辆小车都放上去测试。如果速度不理想则修改速度,直到能够顺利追踪为止。

projectImage

演示视频如下:

特别提醒:光线很重要。如果摄像头的阴影遮住了前方小车,就可能识别不出来了。所以一定要光线照射均匀才能够提高识别准确率!

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