跳到主要内容

KOI扩展

KOI是一款人工智能模块,具有机器学习、人脸检测等多种复合功能。当掌控板遇上KOI,你将多了许多新的玩法。

快速演示


这里是一个基本的机器学习物体分类的项目演示,该程序通过掌控板控制KOI运行分类算法,学习并对笔进行辨别;当KOI识别到目标物体后,将结果返回给掌控板通过if判断在掌控板屏幕显示对应的识别名称。

上面的演示视屏效果中的程序如下,我们通过这个程序让大家清晰了解掌控板配合KOI的编程思路,关注以下几个点:

  1. 掌控板接插方向:如果你使用的是Robotbit扩展板,请参考如图方向,掌控板屏幕朝向Robotbit电池方向,并记得打开电池电源开关

image.png

  1. KOI的接线引脚:KOI与掌控板的通讯采用串口,串口接线是最容易错的,请参照如下图

以这个方向看KOI,从上到下的接口名称依次为KOI的TXRXVCCGND
image.png

如图所示的接线用表格记录为

KOIRobotbit(掌控板端)
TXP2(RX)
RXP1(TX)
VCC5V
GNDGND
危险

P2为什么是掌控板的RX?那是由于串口引脚分为TX和RX,数据从设备A发送到设备B,所以TX需要接RX,反之亦然

  • TX(Transmit):发送数据
  • RX(Receive):接收数据
  1. 编程程序加载KOI扩展:KOI扩展是高级扩展,需要手动添加

image.png
image.png

  1. KOI的初始化:掌控板在与KOI通讯前需要先设置自己的串口引脚,通过第2步中TX、RX的讲解,这里我们可以啪的一下很快将tx和rx的引脚确定下来。image.png

  2. 编写功能程序:根据上面的演示视频,我们将程序拆解为以下2大部分来理解 | 初始化 |
    - 连接KOI时,设置掌控板自身的TX和RX引脚

    blocksSvg-1698760531419.svg
    - 由于方便查看KOI效果,我们将KOI的屏幕方向设置会后置(前置和后置的理解跟手机拍照的理解一样)
    blocksSvg-1698760535867.svg
    - 因为要使用特征分类,需要先初始化特征提取器(能够将已经学习的分类清楚,所以这里叫做`重置特征提取器`)
    blocksSvg-1698760540035.svg

编写功能逻辑
- 掌控板通过什么控制KOI?:
- 我们想通过按键A、B,以及A+B来分别控制KOI执行不同的动作
- 程序要实现什么效果?:
- 通过按键A来让KOI以自身屏幕的画面为素材学习一次,并命名为“pen”(此时镜头要对准笔);
- 通过按键B让KOI对一个没有笔的空背景进行学习,并命名为“nothing”,表示没有
- 此时A和B可能需要分别多运行几次,来收集多一些素材,提升识别成功率(就像人的记忆,多见几次就熟了)
- 通过按键A+B控制一个变量,这个变量在程序中如果为,那么掌控板便会不断发消息让KOI运行分类功能,将KOI识别返回的结果pen或者nothing打印在掌控板的屏幕上。
|

6e20b5f882f906bf7fb71bc146475ca3.png

危险

最后记得将这个程序上传到掌控板,查看运行效果。

FAQ问题解答


Q:KOI不受控?

可能由于串口初始化没有通过,请尝试拔掉USB线、关闭Robotbit电源,让作品完全断电后,重新打开Robotbit电源开关。