“战无不胜”的AI猜拳机器人
图片来自网络

       大家还记得日本东京大学研制的猜拳机器人吗?机器人在玩经典的游戏石头剪刀布时,战无不胜,打败了所有的人类挑战者。

       通过Mind+和百度AI图像识别模块,我们也能制作一个类似的机器人。不过,由于采用的是先识别后判断再出拳的方式,加上需要通过网络处理信息,注定这个机器人的反应会比较迟钝,让人感觉“作弊”。其实,是真的作弊啊!但是,这恰恰证明里面有一定的人工智能因素了。我们就当和一个3岁的小宝宝在玩游戏吧。

功能与原理

        随着“石头-剪刀-布”的口令,游戏者随便出一种手势,机器人通过摄像头记录下游戏者的手势并进行识别判断。当游戏者出“石头”(拳头)时,系统会控制其中装有手势“布”的舵机转动到一定的位置,等待2秒后复位;当游戏者出“剪刀”(2个手指)时,系统会控制其中装有手势“石头”的舵机转动到一定的位置,等待2秒后复位;当游戏者出“布”(5个手指)时,系统会控制其中装有手势“剪刀”的舵机转动到一定的位置,等待2秒后复位。

演示视频

步骤1  准备器材
材料清单 
1电脑(安装好Mind+)
1USB摄像头
1micro:bit
1 DF micro:bit电机驱动扩展板
3180°舵机

重要提示:在Mind+的实时模式下,要使用舵机模块,目前只有使用micro:bit主控和上图这块电机驱动扩展板的方案。

步骤2  硬件连接

micro:bit插进扩展板插槽,正面朝外;

3个舵机分别接到引脚S1、S3、S5。

步骤3  编写程序

【01】打开Mind+ 软件

 

【02】切换到“实时模式”

【03】单击左下方“扩展”按钮

在弹出的窗口中,选择“主控板”下的“micro:bit”

【04】继续添加“扩展板”下的“motor:bit”程序包

左下方会出现“micro:bit”和“扩展板”标签

控制舵机的积木在“扩展板”标签下

【05】添加“功能模块”下的“文字朗读”程序包

【06】添加“网络服务”下的“AI图像识别”程序包

【07】为默认角色“Mind+”编写程序,程序如下:

【08】添加一个角色“石头”,为其编写程序,程序如下:

 

【09】添加一个角色“剪刀”,为其编写程序,程序如下:

【10】添加一个角色“布”,为其编写程序,程序如下:

 
步骤4  调试程序

反复调试程序,修改相关参数,以达到最佳效果。

调试好后,需要拔下舵机的连接线,待与外型结合。

步骤5   制作外型、装配
 

【01】用一个纸盒和一个超声波传感器制作头部

【02】用一个小纸盒作脖子、一个大纸盒做身体

将三个盒子粘贴在一起

【03】裁切5片纸板制作手臂,固定在身体上

【04】将摄像头固定在手臂内

【05】将刻有手势图案的木板件安装到舵机上

连接线不够时,要进行延长

【06】将舵机安装到手臂内

【07】粘上手臂的最后一块纸板

【08】将舵机连接线和摄像头的线穿过纸板。

舵机的连接线在身体内重新连上S1\S3\S5。

摄像头的线、扩展板供电线、micro:bit数据线

从身体背部穿出,以连接电脑和电源。

    好了,插上电源,接上电脑,玩起来吧!