概述
QUAN AI Robot使用基于华为Atlas200的迷你开发板(QUAN AI BOX)的外接摄像头获取的视频数据作为输入,监测视频中的行人,基于AI算法实时检测人体关键节点,并获取关节的角度。通过通信模块将检测数据发送至机器人,由机器人完成对人体动作的模仿功能。
原理
Camera模块与Camera驱动交互,从摄像头获取YUV420SP格式的视频数据。
PoseDetectionInference对输入图片进行预处理,加载已训练好的人体动作模型,对图片做推理,并将图片转化为JPEG格式。
PoseDetectionPost 负责处理推理结果并与机器人控制板通讯,主要分为四步。
- 用非极大值抑制法获取可能的人体关键点(如眼、耳、鼻、四肢等)。
- 通过采样法以一定的阈值连接图像中同属一个人的关键节点。
- 根据节点坐标及连接情况计算肩、肘等关节的角度。
- 通过通讯模块将角度发送至机器人控制板。
Robot控制:
- 通过PWM转换角度,控制舵机动作。
- 通过读取运动处理组件反应的机器人状态,控制机器人做跌倒爬起等动作。
- 通过硬件电路实现过流保护。
附原理图
技术
- 华为基于Ascend310 AI处理器。
- 使用Matrix提供的模型管家接口将Caffe框架下训练的模型转换为Ascend 310 AI处理器支持的模型。
硬件
- 开发板:基于华为昇腾Atlas200模块开发板(QUAN AI BOX)
- 摄像头:4k*2
- 机器人系统:17自由度机器人本体,电机控制板、电池
- 通信模块:LoRa模块/蓝牙模块(二选一)
- 传感器模块:MPU6050
亮点
- 开发板:具有超小体积、多种扩展接口、支持电池供电等特性,可供广大开发者用于无人系统的开发及验证。
- 算法优化:人体关键节点的实时检测和识别,并在多人场景种锁定最符合条件的人体进行模仿。
- 机器人技术:机器人实时模仿人体动作,附加摔倒后自动爬起并继续模仿的功能。