一种基于OV7670视觉系统的类人机器人设计

2017-06-16 14:59王小龙黄志强张诗瑶李林张旺
科技创新与应用 2017年17期

王小龙+黄志强+张诗瑶++李林+张旺

摘 要:为解决类人机器人双机械臂抓取目标过程中,存在目标识别不准确、目标识别单一、双机械臂运动不协调等问题,文章设计了一款基于OV7670彩色摄像机视觉系统及高仿真机械臂的類人机器人。通过OV7670和STM32主控模块对图像信息进行采集与处理,使用RGB-SHL颜色空间转换模型提取目标对象的图像特征,产生控制指令,然后将协调控制每一个舵机的运动参数发送给舵机驱动模块,以实现类人机器人识别目标、定位目标、协调运动和精确控制等功能。通过实验验证和参加华北五省(市、自治区)大学生机器人大赛,表明该机器人具有对目标识别准确、协调运动精确可靠的优点。

关键词:类人机器人;识别定位;RGB-SHL颜色空间;彩色摄像机

引言

类人机器人利用传感器获取信息从而控制机器人的动作[1]。目前,简易类人机器人主要是利用红外、超声波、线性CCD等传感器作为识别系统,以完成寻迹、避障、抓取等功能。例如,部分DARwIn系列类人机器人采用红外传感器,此类机器人的识别模式较为单一:红外、超声波只能对物体进行探测且多用于寻迹和避障;线性CCD通过灰度值来检测目标,但是受环境的光照因素影响较大,且图像采集的范围极其有限,不利于机器人在未知环境中感知与行动。本文将介绍一种基于OV7670彩色摄像机视觉系统的类人机器人,该机器人可对目标的颜色、形状进行识别,并可对图像信息进行二次开发,建立以机器人为原点的坐标系,从而得到目标的距离、位置、形状等信息,实现寻迹、避障、抓取等功能。

1 系统总体设计

该设计从底层硬件设计入手:搭建经典的简易类人机器人平台;将其与自主设计的仿人机械手臂融合;在机器人的头部安装OV7670彩色摄像机,用舵机控制其转动;在机器人胸部安装STM32F103ZET6主控板,从而完成硬件设计。进一步是上层的软件设计:以STM32F103ZET6主控板为平台,RGB-SHL颜色空间转换公式为核心,通过对摄像机采集的图像信息进行处理,得出目标的坐标信息,产生控制指令,向舵机驱动模块发送相应的舵机控制参数,以控制机器人协调运动和精确操作。结构框图如图1所示。

图1 系统总体框图

2 硬件系统设计

2.1 类人机器人本体设计

类人机器人本体是机器人的执行机构,主要由头部、身躯、双足、双臂、双爪等机械结构组成。各部分由铝合金散件和双轴数字舵机相互连接构成。

仿生手爪设计:每个都有五根手指,每根手指有三个指节,指节中空,每根手指通过扎带联接固定于一个力矩为15KG的舵机上,通过舵机转动改变扎带的松紧程度,从而使机械手爪自由“松-握”,达到抓放的目的。

2.2 OV7670模块

该机器人由OV7670摄像机和一自由度的伺服单元构成视觉系统,OV7670摄像机的所有图像处理功能过程包括伽马曲线、白平衡、度、色调等都可以通过SCCB接口编程。

2.3 MCU模块

该机器人的决策控制系统由STM32F103ZET6为核心的主控模块构成,主控模块的作用是将视觉系统采集的图像信息进行处理,根据目标的位置及自身的位姿,产生控制指令,通过串口将对应的控制参数传送到舵机驱动模块,控制类人机器人本体执行相应的动作。

2.4 人机交互显示模块

该机器人使用OV7670摄像机的QVGA格式(320*240)输出,与所使用的TFTLCD显示屏的最大分辨率保持一致。采集的图像实时显示在显示屏上,并且可以在显示的图像上标记出被识别的目标。结合独立按键,可以改变图像的白平衡、度、色调,从而可以根据不同的环境选择不同的图像输出模式。

2.5 舵机驱动模块

舵机驱动模块采用32位ARM内核的处理器芯片以及USB和UART通讯接口,通过接收MCU控制信号产生PWM信号驱动各关节舵机,使机器人执行规定动作,电压过低时具有自动断电和报警功能,防止舵机损坏。

3 软件系统设计

本文研究的对象是基于OV7670视觉系统的类人机器人协调运动控制,此处以机器人对投篮项目的实现过程进行算法分析。

3.1 控制策略概述

开启该系统后,系统首先初始化各个模块,然后进入拾球循环。摄像机采集图像数据,经图像处理后得到机器人距篮球的距离和篮球偏离机器人正竖直中垂线的程度,当偏离程度大于规定值时,控制机器人转向减小偏离程度,当距离大于拾球距离时,控制机器人直走减小距离。当到达拾球距离后,控制机器人拾起篮球,然后进入投篮循环。同样摄像机采集图像数据,经图像处理后得到机器人距篮框的距离和篮框偏离机器人正竖直中垂线的程度,当偏离程度大于规定值时,控制机器人转向减小偏离程度,当距离大于投篮距离时,控制机器人直走减小距离。当到达投篮距离后,控制机器人投篮,程序结束。具体的程序流程框图如图2所示。

3.2 颜色空间及其转换

OV7670彩色摄像机输出的图像格式是RGB565,即RGB颜色空间[2]。在该设计的研究制作过程中,发现采用RGB颜色空间识别目标,易受环境如光照的影响,导致目标识别不准确;采用SHL颜色空间[3]则有效的解决了上述问题。以下是RGB-SHL颜色空间转换公式。

3.3 识别算法设计

MCU接收OV7670采集的RGB图像并对该图像的像素点进行逐行扫描,每扫过一个像素点(该机器人采用隔点扫描)都计算出该像素点的SHL值,与预定颜色的SHL值作比较,在允许的误差范围内,即认为该像素点是预定颜色的像素点,对其进行标记,同理可标记出目标的其他像素点,形成颜色域,从而确定目标在机器人整个视野中的位置及形状。通过查询,预定颜色的SHL值:黄色 S:55 H:40 L:52;绿色 S:100 H:120 L:45;品红:S:100 H:339 L:47等。

3.4 定位算法设计

机器人视觉系统所采用的单摄像机只可采集二维平面图像,但是要实现机器人对空间内球体的抓取和投递,必须要判断机器人到空间球体的距离。在已知球体半径R,摄像机安装高度H及摄像机视野俯角α、β,摄像机竖排像素点总数为N,并对球体颜色识别度较高的情况下,球中心距底边为X个像素点,θ为摄像机到球心中点连线的俯角,可通过以下公式计算机器人到空间球体的距离D。

3.5 协调运动算法设计

机器人执行的动作是对环境反映的直接输出结果,步态规划[4]对类人机器人的双臂协调运动十分重要。直线行走,左转20度,右转20度、蹲下、抱球、投球等动作的不同使得每个自由度的运动参数大有不同,但设计中考虑的中心思想是每个动作在执行中与执行后的机器人的重心都要保持在合理的范围内,使其具有良好的稳定性。

类人机器人步态设计、双臂协调运动设计都是通过上位机软件设置与调试的。其中直线行走要确保左右迈出的步伐距离相同。左右转弯有两种转弯方式,即边前进边转弯和原地转弯的方式。由于考虑到机器人对环境扫描做出的反馈的准确性,该机器人采用原地转弯的方式。在设计转弯时,通过改变转弯脚划出的距离大小与其执行时间长短来达到理想的转弯动作。抱球动作的设计主要考虑两点,其一是球位置的不确定性,设计时要尽量扩大抓球的区域面积;其二是球容易滚动,设计时要确保球在机械爪上受力合理。抱球后的行走、转弯类似于没有抱球的情况,需要强调的是由于球和机械手臂前移时使重心整体前移,设计动作时可以后仰以达到抵消重心前移目的。投球要确保双臂对球的作用力大小相近,方向一致,而且执行动作时间要短,动作完成后要稳。

4 实验分析

该机器人设计完成后,参加了华北五省(市、自治区)大学生机器人大赛,验证了该机器人的性能。实践证明,该系统能够准确识别篮球与篮筐、定位篮球与篮筐,从而产生控制指令,控制机器人准确完成任务。

5 结束语

本文设计了基于OV7670视觉系统及仿真机械臂的类人机器人。通过实践,证明该机器人具有目标识别准确、步态稳定性好、操作准确可靠等优势。在对多种不同颜色、形状的目标(篮球和球筐)的识别过程中,该机器人视觉系统都发挥出了其准确的识别性能,配合仿真机械臂精确地完成了抓取投放任务。该机器人在2016年华北五省(市、自治区)大学生机器人大赛天津分赛区获得篮球项目第一名,北京总决赛篮球項目第一名。

参考文献

[1]冯占英,李勇霞,盛洪.自主机器人制定颜色形状属性物体的识别方法[J].北京联合大学学报:自然科学版,2011(3).

[2]蔡咏梅,郭文强,张琳琳,等.RG B空间平均颜色矢量法在颜色识别中的研究[J].计算机应用与软件,2014(5):177-179.DOI:10.3969/j.issn.1000-386x.2014.05.045.

[3]袁奋杰,周晓,丁军,等.基于FPGA的RGB和HSV色空间转换算法实现[J].电子器件,2010,33(4):493-497.DOI:10.3969/j.issn.1005-9490.2010.04.023.

[4]汤中华,刘莉,陈恳,等.类人机器人耦合步态规划与实验研究[J].机械设计与制造,2013(1):52-54.DOI:10.3969/j.issn.1001-3997.201

3.01.019.

作者简介:王小龙(1995-),男,汉族,云南省曲靖市,中国民航大学,本科在读,电气工程及其自动化。