4.1.1、产品简介
平台包含Jetson Nano边缘计算主板、六自由度机械臂、宽动态AI视觉摄像头、SLAM激光扫描雷达、17.3英寸边缘计算显示单元、无线传感及控制单元,以及机器视觉场景应用资源包。平台可模拟各项人工智能典型应用场景,实现人工智能应用技术教学实验。系统预装Ubuntu18.04操作系统,所有环境代码库文件均已安装,开机即用。
平台基于多维度学习实践平台,由浅入深循序渐进,从基础单独的GPIO扩展,过渡到传感控制实验项目,再进入ROS系统、机器运动学、AI机器视觉,AI自然语音处理等学习,从而学会各项典型的人工智能技术应用开发方法。配套提供的算法源代码(包括⼈脸检测、⻋牌识别、垃圾分类、⽬标检测等项目),兼容 Caffe/TensorFlow/MXNet训练模型和API,可以让学⽣对机器视觉的流程、处理方式等有更好的了解,熟悉相关算法,了解实际应⽤场景,贴近工程化应用。
4.1.2、产品特点
1)平台出厂预装Ubuntu操作系统与深度学习框架
平台出厂预装Ubuntu操作系统与深度学习框架,集成Python3、机器视觉、自然语言、深度学习、ROS系统等开发环境,能满足人工智能相关的学习与开发。。
2)人工智能算法源代码兼容多个训练模型
所提供的算法源代码(包括人脸检测、车牌识别、垃圾分类、目标检测),兼容Caffe/TensorFlow/MXNet训练模型和API,可以让学生对机器视觉的流程、处理方式等有更好的了解,熟悉相关算法,了解实际应用场景,贴近工程化应用。。
3)系统支持多个工业化的应用场景
工业级智能机械手(支持图形化编程)、机器视觉检测技术,提供专属定制的色块模型、柱体模型、商品模型、一维码/二维码模型等应用场景模型,可模拟色块分拣、形状分类、OCR识别、垃圾分类等工业应用场景。包含智能识别、定位、抓取、分拣等功能,可实现机器视觉检测技术的工业化应用。
4)系统支持人工智能核心课程
包含:①Python编程与应用、②机器视觉编程与应用、③深度学习编程与应用、④SLAM定位与建图应用、⑤工业级智能机械手与ROS机器人操控应用、⑥AIOT智能传感器编程与应用、⑦人工智能综合等课程资源与教学资料,包含教学实验指导书、实验案例源码、开发环境及软件工具等。
4.1.3、主要硬件构成
本平台主要由边缘计算平台、机器视觉摄像头、ROS智能机械臂、SLAM激光雷达、AIOT无线网关、AIOT虚实采集控制模块、端感知控制模组等硬件模块构成,介绍如下:
1)Jetson Nano边缘计算平台
NVIDIA Jetson Nano是一个小巧却功能强大的计算机,它可以让你并行运行多个神经网络、对象检测、分割和语音处理等应用程序,Jetson Nano搭载四核cortex-A57处理器,128核MaxwellGPU及4GB LPDDR内存,带来足够的AI计算能力,提供472GFLOP算力,并支持一系列流行的Al框架和算法,比如TensorFlow、Pytorch.caffe/caffe2、Keras、MXNET等
2)机器视觉摄像头
双目深度体感摄像头是VR/AR、机器人和无人驾驶最核心的技术支撑之一,而深度摄像头就是这类硬件的眼睛。只有机器对“看到的”东西,定位定姿精度更高时,才能更好地识别和做出判断,从而提升机器的可用性和产品化速度。利用双目立体视觉成像原理实现三维定位,即可进行手势、肢体动作的综合应用。
使用距离:0.8m至 3.5m之间,视野:58° H, 45 V, 70°D(水平,垂直,对角),传感器:深度,深度影像大小:VGA(640x480) : 30fps,QVGA (320x240): 60fps,接口:USB2.0
3)ROS机器臂
视觉机械臂以Jetson nano为主控,Open Source CV为图像处理库,以主流的Jupyter Lab为开发工具,使用Python3为主要编程语言。通过与机器视觉的联合使用,实现颜色识别追踪与抓取,还能人体特征识别互动,甚至进行垃圾分类模型训练垃圾分拣;通过RO5机器人操控系统,简化了6自由度串行总线舵机复杂运动控制。
4)激光雷达
相较于传统技术,利用红外激光设备可实现超大屏幕的多点触摸,其反应更快、精度更高、抗环境光能力更强。激光雷达作为核心传感器,可快速获得环境轮廓信息,配合SLAMWARE使用,可以帮助机器人实现自主构建地图、实时路径规划与自动避开障碍物。应用领域智能扫地机、家用机器人。
测量半径:12米,测量频率:8000次/秒,扫描频率:5.5HZ,360度扫描测距。
5)无线智能网关
双MCU设计:标配Zigbee无线模块(支持Zigbee、WIFI、蓝牙、Lora等) + Cortex-M3核心;
显示屏:3.5寸TFT触摸显示屏,分辨率480*320,提供良好的人机交互界面。
外围接口:Mini USB接口,JTAG接口可对双MCU核心进行编程调试;
6)虚实结合采集控制端
双MCU设计:无线模块(支持Zigbee、WIFI蓝牙、Lora等)+Cortex-M3核心
3.5寸TFT触摸显示屏,分辨率320*240,提供良好的人机交互界面;
板载功放电路;485、CAN、ADC、IO口、串口接口等。无线模块:单排双列12pin直插接口,支持zigbee,WIFI,蓝牙等无线模块的自由切换;
7)端感知模组
智慧环境感知单元:光照、温湿度、雨雪、风扇、数码管、调色灯
智能安防感知单元:红外对射、烟雾、酒精、蜂鸣器、触摸按键、人体
智能停车感知单元:超声波、电磁锁、继电器、舵机
4.1.4、平台主要功能
(1)计算机视觉基础应用与机械臂的运动控制
视觉定位:放置任意物体在视野中,在图像中将其分割(框出来),并输出中心点坐标;
颜色识别和分选:多种颜色混合放置于视野中,每种颜色各一个,控制手臂挑选出某种颜色,并放置在一侧;
颜色识别和堆叠:多种颜色混合放置于视野中,如两种,每种颜色两个,控制手臂抓取某种颜色并堆叠,或多颜色分别堆叠;
形状识别和分选:多种形状混合放置于视野中,每种形状各个,控制手臂挑选出某种形状,并放置在一侧;
形状识别和堆叠:多种形状混合放置于视野中,如两种,每种形状两个,控制手臂抓取某种形状并堆叠,或将多种形状分别堆叠;
单一形状目标按大小排序:同种形状,放置三种不同尺寸的物体于视野中,控制手臂按照从大到小的顺序依次放置;
多种形状目标同时按形状和大小堆叠:三种形状,每种形状放置三种不同尺寸的物体于视野中,控制手臂按照不同形状、从大到小的顺序分别进行堆叠(即三个堆垛,均为从大到小);
垃圾分类:在目标上贴上不同物体的图案,如白菜、标识为有毒物品的玻璃瓶、纸箱,混合放置于视野中,通过配置,控制机械臂按照厨余垃圾、有害垃圾、可回收垃圾进行分类;
手势交互:比如伸出1、2、3、4个手指,机械臂分别执行向上、向下、向左、向右运动,伸出5个手指,则画一个圆;
目标跟踪:操作者手持一个小球,机械臂识别该小球(形状或颜色),并随着小球的移动而移动;
OCR光学字符识别与排序:目标上贴上字符,乱序摆放(可要求字符必须朝同一个方向,但顺序是乱的),机械臂通过视觉识别,将其按照123456的顺序摆放到指定位置
(2)计算机视觉与人脸识别、车牌识别等应用
人脸识别:事先录入人脸,对新的人脸进行识别,识别成功弹出人员的信息,识别不到则提示该人员不在系统中;
人脸门禁:识别到人脸后,打开门禁系统,同时绿色指示灯亮起,识别不到,黄色指示灯亮起,提示无该人员信息;
人员入侵预警:同上。同一人脸连续识别超过 3 次,且均显示不在系统中,红灯亮起,同时蜂鸣器报警;
车牌识别:事先录入车牌,对新的车牌进行识别,识别成功弹出车主信息,同时绿色指示灯亮起,识别不到则黄色灯亮起,并提示该车辆不在系统中;
车辆入侵预警:同上。同一车牌连续识别超过 3 次,且均显示不在系统中,红灯亮起,同时蜂鸣器报警;
运动目标识别与跟踪:采用视频实时识别的方式,对视野中的一个或多个人员进行识别,框出来,标记识别到的人员数量,并随着人员的移动进行跟踪;
(3)端感知控制
端感知控制主要依赖于AIOT感控场景应用硬件模块进行,配套对应的Ubantu应用软件,主要包含环境监测、安防感知、智能停车三个应用场景。
环境监测:获取当前的温度、湿度、光照、雨雪等环境信息,或控制调光灯、排风扇状态。
安防感知:随时监测当前的红外、烟雾、酒精、触摸按键、人体感应等安防信息,或控制蜂鸣器的状态。
智能停车:及时获取超声波传感的距离数据,或控制电磁锁、继电器、停车杆、数码管的状态信息。
4.1.5、配套课程教学资源
1、《Python基础》实验目录
《Python基础》实验手册目录
1 Python概述、发展与特点
2 开发环境搭建和使用(平台介绍、平台开机、实验操作)
3 Python语法
4 Python缩进
5 Python注释
6 Python变量
7 Python引入外援
8 Python基础数据类型-整型(int)
9 Python基础数据类型-浮点型(float)
10 Python基础数据类型-布尔类型(bool)
11 Python基础数据类型-字符串(String)
12 Python基础数据类型-类型转换
13 Python常用操作符-算术操作符
14 Python常用操作符-比较操作符
15 Python常用操作符-逻辑操作符
16 Python常用操作符-位操作符
17 Python分支与循环
18 Python条件表达式与断言
19 Python程序控制-While循环语句
20 Python程序控制-for循环语句
21 Python程序控制-break语句
22 Python程序控制-continue语句
23 Python高级数据类型-列表(List)
24 Python高级数据类型-元组(Tuple)
25 Python高级数据类型-字符串(String)
26 Python高级数据类型-序列(Sequence)
27 Python高级数据类型-字典(Dictionary)
28 Python高级数据类型-集合(Set)
29 Python函数-创建与调用
30 Python函数-参数与返回值
31 Python函数-变量
32 Python函数-函数式编程
33 Python函数-递归
34 Python存储-文件操作
35 Python存储-文件系统(OS)
36 Python异常处理-except语句
37 Python异常处理-finally语句
38 Python异常处理-raise语句
39 Python类和对象-对象、self、__init__
40 Python类和对象-继承
41 Python类和对象-组合
42 Python类和对象-构造与析构
43 Python模块-创建和使用
44 Python模块-导入模块
45 Python模块-包