首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
电源与功率管理
» 具有颜色识别功能的类人机器人设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
具有颜色识别功能的类人机器人设计
发短消息
加为好友
520503
当前离线
UID
872339
帖子
13270
精华
0
积分
6635
阅读权限
90
在线时间
361 小时
注册时间
2012-3-2
最后登录
2016-3-10
论坛元老
UID
872339
1
#
打印
字体大小:
t
T
520503
发表于 2013-9-4 21:34
|
只看该作者
具有颜色识别功能的类人机器人设计
机器人
,
智能
关键字:类人机器人 控制系统 颜色识别 视觉识别
摘要:针对传统
类人机器人
在
控制系统
实时性和视觉识别方面的不足,以S3C6410作为主控芯片,设计了具有视觉识别功能的类人机器人控制系统,通过改进和简化视频识别算法取得了良好的目标识别效果。实验表明,基于本控制系统设计而成的类人机器人实时性好,目标识别准确,通过调整运动路径能够快速找到目标。
智能移动机器人是近年来发展起来的一门综合学科,涉及机械设计、传感检测、人工智能等多方面知识。类人机器人的控制系统分为三个层次:最上层是机器人的策略规划层,利用各种算法实现各部分的功能;中间一层运行各类应用程序的嵌入式实时操作系统;最底层是硬件平台,通过外围接口获得各类数据、信息。
自主机器人利用传感器获取的信息控制机器人的动作。本文根据武术擂台机器人的实际需要,设计了机器人的控制系统,实现摄像头图像采集、处理和舵机控制等功能。
策略规划层中,由于图像信息具有信息丰富、对场景描述完全的特点,主要通过处理摄像头采集的图像信息实现颜色目标定位。这里采用Linux嵌入式操作系统,由于嵌入式系统资源的限制,要求目标识别算法运行效率高,占用内存空间小。硬件平台主要是控制舵机实现机器人的运动控制。
1 系统控制电路与视频识别算法
1.1 机器人整体架构
在武术擂台技术挑战赛中,机器人要采集目标的位置信息。由于I/O、A/D转换的有效检测距离有限,机器人采用摄像头采集场地上的图像信息,根据目标的颜色进行识别、定位。当检测到目标位置以后控制舵机自主运动向目标靠拢,完成自我介绍、抱绣球等动作。所设计的机器人外形如图1所示。
从图中可以看出,机器人头部采用摄像头,通过USB接口与主控板进行连接,用于采集图像信息。机器人腰部、腿部、胳膊各关节利用舵机使其具有一定的自由度,用到的舵机为CDS系列数字舵机。它内部有ATmega8芯片,主控板通过串口与ATmega8通信,就可以实现舵机的控制。针对以上要求,同时考虑系统的实时性,采用S3C6410作为主控芯片。实际控制系统总体框图如图2所示。
1.2 舵机控制系统设计
主控板通过串口1完成与舵机之间的数据通信,舵机控制电路的原理图如图3所示。
由于半双工数据线只有一根,所以必须在电路上实现发送和接收上的分离。这里网络Robotis_UART一端直接接到舵机的信号线上,而另一端经过74HC126的两个缓冲器分别与主控芯片的TXD1和RXD1相连,再通过主控芯片使能的方式来确定是发送还是接收数据。主控芯片可以使NLED1为高而NLED2为低,这时TXD1就取得了线路的控制权,主控芯片就可以发送数据到舵机了。反之,当NLED2为高而NLED1为低时,这时RXD1就取得了线路的控制权,这时舵机可以返回数据。
舵机控制的软件方面,需要完成串口的相关配置,主要包括波特率、起始位数、数据位数、停止位数和流控制模式。这里将其配置为波特率19200、起始位1位、数据位8位、停止位1位和无流控制模式。串口的设置主要是设置struct termios结构体的各成员值,如下所示:
2 图像识别算法
摄像头采集到的图像主要作如下处理:首先对数据解码,利用查表法将RGB空间模型数据转化为HSI空间模型,然后采用类间方差法将图像进行二值化,再利用连通域对目标进行标定,最后对图像进行去噪,从而实现目标的识别和定位。图像处理程序流程图如图4所示。
摄像头采集的图像为RGB格式,但RGB模型中R、G、B值易受光线影响,不适宜进行
颜色识别
;HSI模型中,不同的颜色对应不同的色调参数H,并且H受外界光照影响小,因此采用HSI模型实现颜色识别。因此,要通过某种算法,先将RGB色域空间映射到HSI空间。常用的颜色空间转换算法如下:
实现颜色空间转换以后就要根据不同的H值对图像进行二值化处理。二值化的实质是一分类问题,即把一幅图像所含有的0~255的二进制像素按照某个阈值划分成两类。如果阈值设得太低,结果会引入过多的背景信息,但太高就会导致目标信息的丢失。类间方差法(Otsu)、最大熵方法(KSW)和直方图平衡法(Balanced Histogram Thresholding,BHT)是目前应用较广的自动阈值计算方法。
这里采用类间方差法,它的核心思路就是通过最大化类间方差来寻找最佳阈值。假设某一阈值T将整个二值图像分为C0(1,…,T)和C1(T,…,255)两类,则两类的出现概率可以用下式计算:
如上所述,最佳阈值的判断标准是使得类间方差最大。于是通过遍历每一个灰度值,并计算其划分带来的类间方差,总能找到一个合适的阈值满足条件。由于式(4)计算二阶中心矩计算量较大,考虑到:
显然,式(6)只需要计算类内均值,即一阶矩。于是最大化 就转化为最大化式(6)。
接下来的工作就是对图像进行标定,这里所指的标定就是根据二值化后的图像,计算出目标区域的外接矩形位置。在目标构成比较简单的情况下,投影法是效率最高的方法,而当场景中存在多个目标时,多数情况下需要进行连通域计算。拓扑学中把连通性定义为,区域内任意两点之间存在至少一条曲线可以将两者连接。目前的连通域标记方法主要分两类:扫描法和轮廓跟踪法。扫描法的基本思路是逐个检查每个像素的值和连通性,从而获得所有的连通性描述信息,然后根据每点之间的相互关系计算出最后的区域个数和构成关系。基于扫描的连通标记演示如下(以8连通为例):
首先对二值图像进行行扫描得到线段连通标记,如图5所示。然后检查每行之间线段与上一行线段之间的连通关系,并更改标记。
第1行:线段1创建标记A。
第2行:线段2、1之间连通,线段2标记为A;线段3同理标记为A。
第3行:线段4、2之间连通,线段4标记为A;线段5创建标记为B。
第4行:线段6、4之间连通,线段6标记为A;线段6、5之间连通,将线段5的标记由B变为A。
第5行:线段7创建标记B;线段8、6之间连通,线段8标记为A。结果如图6所示。
将图像标定完毕可以去掉图像中的噪点,并且找到目标的中心,实现目标的定位。
3 实验与结果分析
将控制卡装到机器人上,控制机器人运动,在运动中摄像头采集图像,并且用方框将目标进行标定。利用上述颜色识别算法对图红色绣球进行标定,得到如图7所示的结果。
随着机器人的运动,绣球在图像中的位置发生变化,机器人根据标定结果,就可以得到绣球的位置,根据位置调整自己的运动准确找到绣球。图像采集的速度达到15帧/s,舵机控制准确度达到0.32°,可以圆满完成比赛任务。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议