RoboMaster TT | 视觉识别技术

人的视觉是五感之一,我们通过眼睛可以看到不同的物体,也可以识别物体不同的颜色。与此类似,我们上一节中学习到,无人机的视觉传感器就是无人机的“眼睛”,无人机也可以“看到”不同的物体和识别到物体的颜色。这就是无人机的视觉识别。在日常生活中,我们习惯使用手机识别图像、人脸以及二维码等,但这些操作都离不开人的主动参与,而在本文我们将学习如何编写程序控制TT无人机识别指定的图标和二维码并指挥TT做出反应,感受在无人机视觉识别的魅力。
视觉识别编程
在TELLO EDU的介绍中,我们了解到其中的“遥控模块”可以手动控制无人机做出简单的飞行动作。接下来,我们将要介绍其中的“积木模块”,利用“积木模块”中的“影像识别模块”可以完成TT的视觉识别任务。
首先,从主界面进入“积木模块”,我们即可进入TT的编程模式。在TELLO EDU上,对TT编程任务的编写和在mind+中几乎相同,不同模块的分类以及使用也和mind+类似。
不同的是,在TELLO EDU上,增加了“影像识别模块”。通过对该模块的编程,TT可以识别不同颜色的、简单的正方形或者三角形图案。

识别简单图形
我们需要设计程序,把目标影像“红色正方形”放置在TT前方,让TT识别到目标影像后,在LED点阵显示屏上显示“正方形”图案并亮起红色的LED灯。
首先分析,我们需要用到的是TELLO EDU中的“影像辨别模块”与“外部模组模块”。在“影像辨别模块”中,我们首先要设定辨别目标“红色正方形”,然后再启用影像辨别;辨别到之后,再运用“外部模组模块”把目标图案在点阵显示屏上显示“正方形”图案,并运用“灯光积木模块”亮起红色的LED灯。把这些对应的模块进行拼接,即可完成任务。(此处没有识别到目标时,编程设置清除图案与改变灯光颜色是为了使现象更明显)
当无人机启用影像识别模块后,若画面中没有目标图形,则无人机会一直探测,且视觉画面没有变化;当探测到目标影像后,画面中会用橙色圆圈标记辨识目标,并执行下一步操作。

识别二维码信息
我们再设计一个程序,识别含有信息为“123”的二维码(可以使用字符串-二维码转换器生成二维码),当识别到时,我们让TT亮起绿色的LED灯。
此时我们需要用到的是TELLO EDU中“影像辨别模块”的“启用QRCode扫描”,再利用“控制模块”中的“条件模块”以“识别到QRCode信息”为判断条件,满足条件则再运用“灯光积木模块”执行亮起绿色的LED灯的任务。
启用二维码识别后,若TT没有识别到二维码,则在画面中红字显示“Found Nothing”;若识别到二维码,则在画面中红字显示二维码被转换成的字符串信息,且判断若含有我们的目标信息,则执行下一步操作。
