搜索高级搜索
机器人网互动社区技术讨论专区机器视觉具有颜色识别功能的类人机器人设计
机器视觉使机器人具有视觉感知功能的系统,是机器人系统组成的重要部分之一。
大家在做什么
发表新主题  收藏 打印 推荐 
作者 问题:

具有颜色识别功能的类人机器人设计

发布时间: 2014-9-23 上午8:56

作者: 绾绾兮兮

等级: 学有小成

积分: 561 分

发帖数: 112 次

网站总积分: 561 分

经验值: 36.0

查看用户的所有发言

查看用户的个人主页

    智能移动机器人是近年来发展起来的一门综合学科,涉及机械设计、传感检测、人工智能等多方面知识。类人机器人的控制系统分为三个层次:最上层是 机器人的策略规划层,利用各种算法实现各部分的功能;中间一层运行各类应用程序的嵌入式实时操作系统;最底层是硬件平台,通过外围接口获得各类数据、信息。
 
  自主机器人利用传感器获取的信息控制机器人的动作。本文根据武术擂台机器人的实际需要,设计了机器人的控制系统,实现摄像头图像采集、处理和舵机控制等功能。
 
  策略规划层中,由于图像信息具有信息丰富、对场景描述完全的特点,主要通过处理摄像头采集的图像信息实现颜色目标定位。这里采用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为低时,这时 RX D1就取得了线路的控制权,这时舵机可以返回数据。
舵机控制的软件方面,需要完成串口的相关配置,主要包括波特率、起始位数、数据位数、停止位数和流控制模式。这里将其配置为波特率19 200、起始位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°,可以圆满完成比赛任务。
 
  结语
 
  本文以S3C6410作为主控芯片,设计了具有视觉识别功能的类人机器人控制系统。改进的颜色识别算法利用查表法、类间方差法、连通域等方 法对图像进行处理,取得了良好的视频识别效果。实践证明,由该控制系统的设计方案制作而成的类人机器人,具有良好的自主控制稳定性和较好的视觉识别能力, 能够较出色地完成比赛。
引用 回复 鲜花 ( 1) 臭鸡蛋 ( 0) 有新回复时发送邮件通知
机器人网互动社区34岁大男孩工程师DIY的迷你BB-8机器人
第 1 楼

回复主题:具有颜色识别功能的类人机器人设计

发布时间: 2014-9-23 上午10:24

作者: 无线GBIT通信

等级: 学有小成

积分: 531 分

发帖数: 101 次

网站总积分: 531 分

经验值: 23.0

查看用户的所有发言

查看用户的个人主页

从技术的角度,机器人对颜色和位置的识别是目前需要解决的主要问题。位置信息的处理和采集。
这次终于有人讲清楚了人工智能和量子计算的关系了 虚拟现实技术及应用 (下载 29 次)
美的收购库卡或流产:欧盟专员反对关键技术外流 手把手教你一个简易的"平衡机器人" (下载 66 次)
小米无人机再现“价格屠夫”本色:2499远低市场预期 【极客装备】教你DIY私人无人机 (下载 89 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
机器人网互动社区“小”外骨骼的“大梦想”:给孩子一个自由的童年
第 2 楼 回复主题:具有颜色识别功能的类人机器人设计 发布时间: 2014-10-11 上午11:00

作者: xuzhouqxy

等级: 初入江湖

积分: 91 分

发帖数: 40 次

网站总积分: 92 分

经验值: 1.0

查看用户的所有发言

查看用户的个人主页

好东西,收下了谢谢
ZUKEN CR5000 BD VIEWER V13 (下载 67 次)
《机器人制作宝典》 (下载 356 次)
基于ARM9的智能机器人控制系统的设计 (下载 131 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)

与  嵌入式实时操作系统 , 类人机器人 , 颜色识别 , 机器视觉  相关的话题
快速回复
用户名: 
美国的游客       (您将以游客身份发表,请登录 | 注册 )  
标题: * 你还可以输入80
评论: * 你还可以输入20000
分享到: 新浪微博   qq空间   qq微博   人人网   百度搜藏  
验证码:  * 
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回机器视觉 | 返回技术讨论专区
本论坛仅陈述专家或个人观点,并不代表机器人网网站立场。
返回论坛页首