1.等待AI时间模块切换完成(无)

等待AI时间模块切换完成(无).png
(1)功能:等待AI模块切换至指定识别模式(AI硬件需连接在控制器串口,E6为P8,M6为P5)
(2)参数:可选模式如下

  • 颜色检测
  • 二维码识别
  • 小球识别
  • 道路识别
  • 人脸检测
  • 图像分类
  • 标签码识别
  • 颜色识别学习
  • 人脸识别学习
  • 手势识别
  • 图像分类学习
  • 交通标志识别

范例:等待切换模式
等待切换至颜色检测模式
1.等待.png

  1. import rcu
  2. def task1():
  3. rcu.SetWaitForAICamData(2,0) #第二个参数为预留参数
  4. rcu.SetDisplayString(1,"颜色检测已开启",0xFFE0,0x0000)
  5. task1()

2.设置AI视觉模块(无)

设置AI视觉模块(无).png
(1)功能:设置AI模块切换至指定识别模式,为非阻塞型不影响其下方程序运行(AI硬件需连接在控制器串口,E6为P8,M6为P5)
(2)参数:

  • 颜色检测
  • 二维码识别
  • 小球识别
  • 道路识别
  • 人脸检测
  • 图像分类
  • 标签码识别
  • 颜色识别学习
  • 人脸识别学习
  • 手势识别
  • 图像分类学习
  • 交通标志识别

范例:设置识别模式
设置识别模式时,不影响下方程序运行
2.设置.png

  1. import rcu
  2. VAR_i = 0
  3. def task1():
  4. global VAR_i
  5. VAR_i = 0
  6. rcu.SetAICamData(3,0)
  7. while True:
  8. rcu.SetDisplayVar(1,VAR_i,0xFFE0,0x0000)
  9. VAR_i += 1
  10. task1()

3.AI颜色检测(红色)数量

AI颜色检查(红色)数量.png
(1)功能:获取识别到的颜色块数量
(2)参数:“红色”“绿色”“蓝色”“黄色”,选择需要识别的颜色
(3)返回值:对应色块的数量
范例:显示色块数量
显示检测到的红色块数量
3.检测颜色数量.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(2,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  9. task1()

4.AI二维码识别(数值)

AI二维码识别(数值).png
(1)功能:识别的二维码数据
(2)参数:“数值”“X坐标”“Y坐标”“大小”,选择需要返回的识别内容
(3)返回值:数值(0-255),0表示无数据;X坐标(0-240);Y坐标(0-240);大小(0-240)
范例:识别二维码
显示二维码识别数据
4.显示二维码数值.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(3,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  9. task1()

5.AI小球识别(x坐标)

AI小球识别(x坐标).png
(1)功能:读取小球在画面中数据,默认识别红色的小球
(2)参数:“X坐标”“Y坐标”
(3)返回值:X(0-240),Y(0-240),对应AI模块240240的画面,正中间坐标为(120,120)
*范例:追球机器人

根据小球X坐标控制机器人前后移动
5.追球示例.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(4,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  9. if (VAR_返回值 > 100):
  10. rcu.SetMotor(1,30)
  11. rcu.SetMotor(2,30)
  12. else:
  13. if (VAR_返回值 < 100):
  14. rcu.SetMotor(1,-30)
  15. rcu.SetMotor(2,-30)
  16. else:
  17. rcu.SetMotor(1,0)
  18. rcu.SetMotor(2,0)
  19. task1()

6.AI道路识别(偏移值)

AI道路识别(偏移值).png
(1)功能:读取黑色道路与画面中间位置的差值
(2)返回值:0-240,数值从右往左逐步增加,道路在画面最左侧为240
范例:AI巡线
根据偏移值巡线移动
6.AI巡线.png

  1. 机器人
  2. import rcu
  3. VAR_返回值 = 0
  4. def task1():
  5. global VAR_返回值
  6. rcu.SetWaitForAICamData(5,0)
  7. while True:
  8. VAR_返回值 = rcu.GetAICamData(1)
  9. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  10. if (VAR_返回值 > 110):
  11. rcu.SetMotor(1,30)
  12. rcu.SetMotor(2,10)
  13. if (VAR_返回值 < 130):
  14. rcu.SetMotor(1,10)
  15. rcu.SetMotor(2,30)
  16. task1()

7.AI人脸检测(X坐标)

AI人脸检测(X坐标).png
(1)功能:读取检测人脸在画面中的坐标位置
(2)参数:“X坐标”“Y坐标”“大小”
(3)返回值:X坐标(0-240);Y坐标(0-240);大小(0-240)
范例:人脸贴近
人脸太远时,控制马达往前移动
7.人脸贴近.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(6,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(3)
  8. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  9. if (VAR_返回值 < 60):
  10. rcu.SetMotor(1,50)
  11. rcu.SetMotor(2,50)
  12. else:
  13. rcu.SetMotor(1,0)
  14. rcu.SetMotor(2,0)
  15. task1()

8.AI图像分类ID

AI图像分类ID.png

(1)功能:读取内置学习的3种图片类型
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-4)表示“未检测”“食品图片”“快递图片”“收件人图片”;X、Y坐标(0-240);大小(0-240)。
范例:显示分类ID
显示图像分类的ID
8.显示分类ID.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(7,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  9. if (not((VAR_返回值 == 0))):
  10. if (VAR_返回值 == 1):
  11. rcu.SetDisplayString(1,"食品",0xFFE0,0x0000)
  12. else:
  13. if (VAR_返回值 == 2):
  14. rcu.SetDisplayString(1,"快递",0xFFE0,0x0000)
  15. else:
  16. rcu.SetDisplayString(1,"收件",0xFFE0,0x0000)
  17. task1()

9.AI标签码识别ID

AI标签码识别ID.png
(1)功能:读取简易QrCode的ID数值
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-255),X、Y坐标(0-240),大小(0-240)
范例:ID控制马达旋转
识别ID值控制马达转动时间
9.标签码控制旋转时间.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(8,0)
  6. while True:
  7. rcu.SetMotor(1,0)
  8. VAR_返回值 = rcu.GetAICamData(1)
  9. rcu.SetDisplayVar(1,VAR_返回值,0xFFE0,0x0000)
  10. if (VAR_返回值 == 1):
  11. rcu.SetMotor(1,50)
  12. rcu.SetWaitForTime(1)
  13. if (VAR_返回值 == 2):
  14. rcu.SetMotor(1,50)
  15. rcu.SetWaitForTime(2)
  16. task1()

10.AI手势识别ID

AI手势识别ID.png
(1)功能:读取内置学习的3种手势识别结果
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-3),对应为“未识别”、“布”、“石头”、“剪刀”
范例:显示拳型
显示识别到的拳型
10.显示识别到的拳型.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(11,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetLCDClear(0x0000)
  9. if (VAR_返回值 == 0):
  10. rcu.SetDisplayString(1,"请出拳",0xFFE0,0x0000)
  11. else:
  12. if (VAR_返回值 == 1):
  13. rcu.SetDisplayString(1,"你出的是布",0xFFE0,0x0000)
  14. if (VAR_返回值 == 2):
  15. rcu.SetDisplayString(1,"你出的是石头",0xFFE0,0x0000)
  16. if (VAR_返回值 == 3):
  17. rcu.SetDisplayString(1,"你出的是剪刀",0xFFE0,0x0000)
  18. rcu.SetWaitForTime(1)
  19. task1()

11.AI交通标志识别ID

AI交通标志识别ID.png
(1)功能:读取交通标志识别结果
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-6),分别是未识别、前进、后退、左转、右转、停止;X、Y坐标(0-240);大小(0-240)
范例:识别交通标识控制马达
交通标识值控制马达正/反转
11.交通标识控制马达.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(13,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. if (VAR_返回值 == 1):
  9. rcu.SetMotor(1,50)
  10. rcu.SetMotor(2,50)
  11. if (VAR_返回值 == 2):
  12. rcu.SetMotor(1,-50)
  13. rcu.SetMotor(2,-50)
  14. task1()

12.AI颜色识别学习ID1

AI颜色识别学习ID1.png
(1)功能:判断画面是否有对应ID颜色,程序运行时需要操作AI模块拨轮对颜色进行拍摄学习
(2)参数:“ID1”“ID2”“ID3”“ID4”
(3)返回值:1/0,为布尔类型,1表示识别到,0表示未识别
范例:是否识别到已学习的颜色
显示已学习颜色的布尔值
12.AI颜色学习.png

  1. import rcu
  2. def task1():
  3. rcu.SetWaitForAICamData(9,0)
  4. while True:
  5. rcu.SetDisplayString(1,str(rcu.GetAICamData(1)),0xFFE0,0x0000)
  6. rcu.SetDisplayString(2,str(rcu.GetAICamData(2)),0xFFE0,0x0000)
  7. rcu.SetDisplayString(3,str(rcu.GetAICamData(3)),0xFFE0,0x0000)
  8. rcu.SetDisplayString(4,str(rcu.GetAICamData(4)),0xFFE0,0x0000)
  9. task1()

13.AI人脸识别学习ID

AI人脸识别学习ID.png
(1)功能:当画面中有学习过的图像时,返回对应ID,程序运行时需要操作AI模块拨轮对人脸进行拍摄学习
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-10),未识别人脸或无学习人脸时返回值为0;X、Y坐标(0-240);大小(0-240)
范例:欢迎指定人脸
识别到ID值为3的人脸时,显示欢迎字样
13.AI人脸学习.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(10,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. if (VAR_返回值 == 3):
  9. rcu.SetDisplayString(1,"欢迎你!",0xFFE0,0x0000)
  10. else:
  11. rcu.SetDisplayString(2,"未识别",0xFFE0,0x0000)
  12. task1()

14.AI图像分类学习ID

AI图像分类学习ID.png
(1)功能:当画面中有学习过的图像时,返回对应ID,程序运行时需要操作AI模块拨轮对颜色进行拍摄学习。
(2)参数:“ID”“X坐标”“Y坐标”“大小”
(3)返回值:ID(0-4),未识别或无学习时返回值为0;X、Y坐标(0-240);大小(0-240)
范例:显示图像分类学习的数值
显示四种参数返回的值
14.AI图像分类学习.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(12,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayString(1,str(rcu.GetAICamData(1)),0xFFE0,0x0000)
  9. rcu.SetDisplayString(2,str(rcu.GetAICamData(2)),0xFFE0,0x0000)
  10. rcu.SetDisplayString(3,str(rcu.GetAICamData(3)),0xFFE0,0x0000)
  11. rcu.SetDisplayString(4,str(rcu.GetAICamData(4)),0xFFE0,0x0000)
  12. task1()

15.AI视觉模块数据(1)

AI视觉模块数据(1).png
(1)功能:读取AI视觉模块中对应14位返回数据信息
(2)参数:1-13,参考下列表格,如识别模式为“颜色检测”时,AI视觉模块数据1为红色物体数量,AI视觉模块数据2为绿色物体数量
(3)返回值:参见下表
范例:显示红色块数量
显示识别到的红色块数量
15.AI视觉模块.png

  1. import rcu
  2. VAR_返回值 = 0
  3. def task1():
  4. global VAR_返回值
  5. rcu.SetWaitForAICamData(2,0)
  6. while True:
  7. VAR_返回值 = rcu.GetAICamData(1)
  8. rcu.SetDisplayString(1,str(rcu.GetAICamData(1)),0xFFE0,0x0000)
  9. task1()

不同识别模式下,数据应用的意义有所不同

序号 识别模式 第1位数据 第2位数据 第3位数据 第4位数据
1
2 颜色检测 红色物体数量 绿色物体数量 蓝色物体数量 黄色物体数量
3 二维码识别 数值
4 小球识别 x坐标 y坐标
5 道路识别 偏移值
6 人脸检测 x坐标 y坐标 人脸大小
7 图像分类 ID
8 标签码识别 ID
9 颜色识别学习 是否识别到颜色1 是否识别颜色2 是否识别颜色3 是否识别颜色4
10 人脸识别学习 ID
11 手势识别 ID
12 图像分类学习 ID
13 交通标志识别 ID

16.获取AI视觉模块语音识别指令(AI精灵)

获取AI视觉模块语音识别指令(AI精灵).png
(1)功能:AI模块是否识别对应的语音指令
(2)参数:具体指令参数如下表
(3)返回值:0/1,布尔类型
范例:语音控制灯
语音控制彩灯颜色切换
16.语音控制.png

  1. import rcu
  2. def task1():
  3. rcu.SetWaitForAICamData(1,0)
  4. while True:
  5. if rcu.GetAICamVoice(1077):
  6. rcu.Set3CLed(1,4)
  7. if rcu.GetAICamVoice(1078):
  8. rcu.Set3CLed(1,2)
  9. task1()

image.png