平板机器人参考设计

英特尔中国研究院基于英特尔实感技术研发了平板机器人参考设计平台,并已对外开放,供开发者和公司能快速搭建机器人原型。包含机器人高级智能库,开源人机交互应用,以及开源硬件平台。
机器人高级智能库
提供SDK/API和sample code。
*Visual-SLAM
基于英特尔实感摄像头,英特尔中国研究院设计了一整套鲁棒的V-SLAM算法,有效地应用于不同的环境。通过深度摄像头与多传感器融合,面对大面积玻璃墙、电视等复杂环境,依然可以有效建立3D地图。最新版本算法可以分区域建图,供用户在较大空间内使用。
Figure 1. Space size: 16 x 8m, complex environment include glass wall, TV sets
*人脸接口
iFace包含与人脸相关的多项技术,具有包括:多姿态人脸检测、人脸识别、人脸属性分析等三项主要功能。具有速度快、准确度高的特点,所有的计算都在本地完成,不需要连接远端的云服务器。
多姿态人脸检测在-60°~60°范围内,检测率高达95%。而且包括高速度、高检测率等多个版本,适合于各个级别的CPU。
人脸识别模块采用了目前世界上最先进的人脸识别算法,对人脸姿态、光照、遮挡等影响非常鲁棒。在-45°~45°范围内,都可以准确的识别出用户。
人脸属性分析,包括微笑检测、眨眼检测、性别和年龄识别。
iFace的接口简单,便于二次开发。利用IFace,开发者可以非常容易实现智能监控、照片检索、机器人找人等多种功能。
Figure 2. 人脸检测,特征点定位和人脸识别
Figure 3. 性别识别和年龄识别 注:图片来自FDDB数据
*360度人体检测
人体检测模块可从RGB-D图像数据中实时检测并定位出人的头肩位置。我们通过一个能够自动学习深度-彩色特征的分类器快速地拒绝掉绝大多数负样本,紧接着我们用一个CNN分类器来验证剩余的结果从而得到最终的人体区域。此功能可从各个角度,正面,侧面,背面检测出人体,而且可以检测存在部分遮挡或者紧挨着的多个人体区域。速度可达到25帧/秒。
*人体/人脸朝向判别
该算法通过人体的头肩检测区域,判断人体的具体朝向。相比传统的基于RGB的方法,此算法采用RGBD信息,不仅可以360度都能得到判断结果,而且达到10ms/frame的速度和98%以上的准确率。当人脸偏转角度较小(<45度)情况下利用人脸的RGBD信息,可以精确估计人脸的偏转的pan 和tilt角度。
Figure 4. Return body orientation, 8 views
*人脸检测及识别
RGB/RGBD视频流中实时人脸检测、跟踪,并识别人物身份。算法鲁棒性很高,对人脸旋转、遮挡、光照变化等复杂情况有很强的适应性。
*人脸属性识别
根据人脸图像准确识别性别、年龄、眨眼和微笑等,陆续增加更多人脸属性和表情识别。
*物体跟踪
基于RGB-D的目标跟踪。选择一帧含有感兴趣的目标的RGB-D图像,用户只需通过接口指定感兴趣目标所在的矩形区域,或通过目标特定的检测器获得其外接矩形框后,该算法可从后续视频流中自动事实预测目标的位置。该算法对光照、深度信息缺失等情况较为稳健。
开源机器人交互应用
提供源代码
*实时视觉定位及导航
给定已创建好的三维地图和realsense实时拍摄的图像,定位算法可以给出机器人在地图中的绝对位置及朝向。该定位算法依赖视觉信息即可完成实时定位,我们通过对当前图像与关键帧进行匹配实现粗定位,然后再通过特征点的匹配关系进行精细定位。该算法对光照和场景的变化有一定的鲁棒性。
定位完成后机器人可自主规划平滑路径并行走到指定位置,完成相应的任务。给定机器人当前位置和目的地坐标,路径规划算法计算出最短路劲,并通过后处理以保证路径的平滑性。
*跟随用户
该模块功能是指从实时获取的RGB-D视频流中稳健、可靠地估计移动的目标(人)的位置和尺度,并驱动机械底盘紧密跟随目标,并与之保持合适距离。
Figure 5. FollowMe
*寻找用户
机器人可以自主调节自身运功,从人群中找出特定的注册用户。使得机器人能够找到用户后,自动定位用户,并且判别用户朝向,并然后运动到用户的正面,最后将自身位置和姿态调整到类似人与人交流的合适位置。
并且这项功能的实现对于用户的角度、姿态并没有特别的要求。
*手势及手指识别
基于RGB/RGB-D实时手型和手势识别,可识别手势上下左右移动和石头剪刀布等简单的手型。在手部检测基础上,可提取出手指指向区域图片,用于后期处理。通过结合RGB和Depth数据,提升了算法速度和鲁棒性。并且算法结构简单,易于延展和二次开发。
Figure 6. Figure recognition
*自动哑铃计数
不使用额外传感器,通过视觉算法统计举哑铃和做仰卧起坐的个数。使用深度信息过滤背景后,调用人脸/人体识别接口,找到人体范围。在人体区域内自动搜索哑铃,并根据使用者身高自动设定运动幅度。
*现实增强教育助手
把投影仪和机器人相结合,在手指指向的单词旁边直接投影出中文翻译,或在数学题后投影出计算结果的正误。
开源移动平台及控制算法
提供原理图及源代码
为适应不同的场景,提供了三种不同的开源运动底盘:麦克纳姆轮,全向轮和双轮差速。底盘采用三相直流无刷电机带动底盘的全向轮(或差速轮)和一个升降杆,以arduino/stm32f103为主控芯片,采用串口通信方式,通过制定的通信协议与上位机进行数据和指令的交互通信。通过对上位机指令的解析,给每一个电机控制板相应的控制信号,来控制电机的转向和转速,完成机器人的前进,转向,旋转,升降杆的升降等运动。
Figure7.平板机器人整体结构
*主控板
底盘控制提供两种不同方案,一种为开源硬件arduino mega2560控制板,一种为自主研发的以STM32F103为核心的控制板,实现对上位机电机控制信号的接收处理和IMU数据的接收处理。
*电机控制
主控芯片输出pwm波,控制集成IGBT驱动器的芯片IR21365S驱动MOS管,实现对电机的控制,通过调节占空比实现电机速度变换。
*传感器数据反馈
底盘安装了超声波传感器,6轴加速度计陀螺仪MPU6050模块和磁强计HMC5883,可以实时反馈底盘姿态。并通过对加速度和角速度的积分实现对底盘的闭环控制。
*上位机接口
上位机接口是在Windows平台使用C++语言实现的一系列底盘控制方法,该接口封装了对下位机的底层控制方法,在最大程度上实现了对底盘控制的抽象,方便上层开发者对机器人底盘的直接控制。
注:速感科技基于硬件开源设计开发了QFS-01 SIRVO 移动开发底盘,淘宝店铺搜索“速感科技”
硬件及系统需求:
Windows 8 or later
RealSense Camera & Driver: https://github.com/IntelRealSense/librealsense/tree/development
USB 3.0
附件下载(解压码:intel) |
||
机器人高级智能库 |
Visual-SLAM |
|
360度人体检测 |
||
人体/人脸朝向判别 |
||
人脸接口 |
||
物体跟踪 |
||
开源机器人交互应用 |
实时视觉定位及导航 |
|
跟随用户 |
暂无 |
|
面对用户 |
暂无 |
|
手势及手指识别 |
暂无 |
|
自动哑铃计数 |
||
现实增强教育助手 |
暂无 |
|
开源移动平台及控制算法 |
主控板 |
|
电机控制 |
||
传感器数据反馈 |
||
上位机接口 |
.