中英文文献翻译一个低成本的象棋机器人.doc
- 文档编号:709024
- 上传时间:2023-04-29
- 格式:DOC
- 页数:30
- 大小:602.50KB
中英文文献翻译一个低成本的象棋机器人.doc
《中英文文献翻译一个低成本的象棋机器人.doc》由会员分享,可在线阅读,更多相关《中英文文献翻译一个低成本的象棋机器人.doc(30页珍藏版)》请在冰点文库上搜索。
MarineBlue:
一个低成本的象棋机器人
DavidURTINGandYolandeBERBERS
{David.Urting,Yolande.Berbers}@cs.kuleuven.ac.be
KULeuven,DepartmentofComputerScience
Celestijnenlaan200A,B-3001LEUVEN
Belgium
摘要
本文介绍了开发一个博弈机器人被称为marineblue。
该机器人由三组成:
一个计算机视觉的部件识别国际象棋棋盘的情况,一个国际象棋引擎组件计算新的移动以及一个由机器人手臂执行这些行动的机器人控制组件。
在本文中,我们侧重于算法,这已被用于实现计算机视觉和机器人控制组成部分。
marineblue是完全自主的机器人,在这个意义上,它可以识别一个用户动作,计算一个动作以响应用户的动作并且控制一个机械臂执行此计算移动。
本机器人,是用于开发marineblue是一种低成本,教育机器人,一个具有成本效益和紧凑的对弈机器人。
关键词:
多媒体技术,计算机,象棋机器人,视觉,娱乐和游戏
1.简介
本文介绍了一个国际象棋机器人–marineblue1的开发,它由一个机器人手臂和一个数字照相机组成。
主要目的是开发一个紧凑低成本的用于教育和娱乐的机器人。
本文将侧重于它的机器和视觉部分以及这两部分的一体化。
国际象棋算法原理将不在本文中讨论。
在过去几个世纪,很多人都迷上了建构自主博弈机。
在过去几十年中,研究领域中的人工智能一直致力于广泛的国际象棋的算法:
1950艾伦·图灵写的第一个国际象棋程序,由于有限的计算能力所以只能利用简单的规则。
在1957第一个功能齐全的国际象棋程序被开发出来,虽然它最初太弱以至于不能战胜一个人类对手。
但直到1996–当的深蓝击败国际象棋大师卡斯帕罗夫,围棋算法才被认为是优于人类国际象棋玩家的。
除了人工智能世界中关注算法的国际象棋游戏,也有人致力于开发机械下棋机。
第一个机器是‘Turk’在1769由WolfgangvonKempelen制造,使幻想成真,(虽然它实际上是由人控制的)。
随着计算机的出现,制造自主象棋机器人成为可能。
不过,大多数国际象棋机器人都是昂贵的,而且他们的行动功能和自由是受限制的。
2.marineblue组件
本节描述的组件,用于组建国际象棋机器人。
marineblue由4个基本部分组成:
棋盘和棋子,所相机,机器人手臂及电脑国际象棋。
机器人手臂是一个RobixRc-6[1],这是一个小配置的机器人,是用于娱乐教育目的。
2.1棋盘和棋子
为了最大限度实现marineblue的可用性,使用一个共同的标准木制棋盘和圆筒状的棋子显然是最好的。
至于棋子,可能会收到些约束。
首先,统一所有的可能性棋子,它是更容易移动的。
最后,然而,似乎一个改装的夹具将是最好的解决方案。
棋盘也必须修改。
然而,一个标准棋盘格子边长为40到50毫米。
这意味着,一侧的总长度至少为32厘米的棋盘,最大40厘米。
机器人手臂的范围是不够的这样一个范围的。
为解决这个问题,一个正方形截面降低到30毫米,结合机器人手臂的略微扩展。
棋盘的第二部分的修改涉及到棋各的颜色。
由于视觉算法检测器需要检测哪部分被占哪部分没有被占,棋格的颜色和棋子就发挥着重要作用。
为了保证强大的算法,我们选择了分离性颜色。
2.2照相机
相机是用的是索尼dfw-vl500[2],一高质量的相机。
这是重要的,因为记录图像的质量在很大程度上决定着视觉应用的质量。
摄像机安装棋盘上方1米,以尽量减少透视影响。
相机符合1394[3]标准,发送图像解压缩到国际象棋电脑,在那里他们被处理。
由于连续流图像是没有必要为这个国际象棋应用,在单帧模式下使用相机。
间隔两帧拍摄之间选择足够小,以保持低的响应时间。
然后分析这些帧以此检测棋盘形势的变化。
2.3机器人
机器人是用的是一个robixrc-6[3],这是一个用于娱乐教育目的的小且可配置的机器人。
这种机器人在精确度和功率方面并不表现得最好,但能够很容易的改装和低廉的价格使这一机器人成为优秀的选择。
该robix机器人是由一组独立的部分组成,这种独立的分部可以连接起来。
这些分部可以通过伺服电机控制相互的移动。
此外,夹具可以附加到最后一段。
这些伺服电机由一个控制器控制,它可以连接到计算机象棋的并行端口。
伺服命令通过一个robix-dependent脚本语言发送。
2.3.1半径
一个有关机器人手臂的长度就是其有限半径的问题的经验,告诉我们事实上并非所有棋盘的角落都可以达到。
这一问题已经得到了解决,如前所述,通过创建一个较小的棋盘和延长机器人的一些部分。
然而,延伸段也导致它所能到达的极限范围的不准确。
这一问题已通过使用修改器(见部分2.3.2)处理。
三个部分是用于移动手臂平行于板,和第四部分在第三段上做垂直移动。
手爪安装于第四段。
在图1侧视图中显示此配置。
以上述观点是在图2。
实际长度,毫米。
图1:
从侧面看机器人结构
图2:
鉴于机器人配置从上面
2.3.2夹持器
为提高精度的机器人手臂(和减少摆动问题)手爪做的更轻并且删除一个自由度:
由于圆筒形式的棋子,有可能取消伺服电机去旋转夹具。
夹具的形式也为这种特定的棋子的应用做了修改。
首先,夹持器做的更长时间由于当拾起一个特别的棋子时可能会与其他棋子发生碰撞。
其次,一个半球形的形式被用在这样一个方式里,它可以修正一些小的误差。
还有其他办法提高准确度机器人:
棋盘可以比它现在小得多,我们也可以切换到一个更准确的和更昂贵的机器人,或者我们可以从相机里用一些反馈机制用于机器人控制器。
2.4电脑国际象棋
整个应用程序分析了棋盘的情况,计算了移动和执行,运行在标准视窗2000与1394适配器。
该软件的开发中使用了MSVisualStudioc/c++。
3.算法
本节描述的算法,方法和技术,用于软件的开发。
如前所述,此应用程序包括三个计算机科学的重要领域,特别是:
计算机视觉,人工智能和机器人。
用于第一和第三个领域的重要的算法将在下面的小节进行更详细的叙述。
3.1比赛情况的检测
一个重要的应用是通过照相机的图像分析棋盘。
首先,它必须检测棋盘的位置和方向,其次必须能确定各个小框内是否有棋子以及是什么样的棋子。
此功能已被细分为三层:
n像素分类层提取特征摄像机拍摄的照片
n板层通过在上一层所检测到的特征确定的棋盘和棋盘上棋子的位置。
n棋盘层确定当前的棋盘游戏的情况,并从板层得到其输入。
3.1.1像素分类层
作为输入,这层从背后的摄像头驱动程序接收三原色(红,绿,蓝)位图。
必要的特征从图像中提取,然后可以的在下一层认识棋盘与棋子时使用。
我们对三个不同的选择(见[4])进行了调查:
边缘检测,模板匹配和像素分类。
最终选择像素分类,因为这是一个简单的和强有力的识别棋盘情况的方法。
像素分类的尝试着通过这些像素的特征(颜色)去识别哪些像素各属于什么。
在能分类像素之前,需要执行一个校准步骤为每一个类计算色域。
在这个校准步骤之后,我们就可以分类图像中的所有像素。
四个等级的定义:
亮区,暗区,部分亮和部分暗。
当使用RGB色彩空间时似乎光块和光片是重叠的,因此它是不可能的执行一个准确的像素分类。
由一个例子可以看出,在左边看到棋盘图3。
为了解决这个问题,我们切换到一个模式(色调,饱和度,亮度)色彩空间,从而解决了重叠问题。
这是显示在右边棋盘在图3。
图3:
左图是由于红绿蓝像素分类。
光片的一些像素归属于光广场。
上图右边是HBS分类的结果。
大多数像素已经被正确分类。
3.1.2板层
输入这一层是一个矩阵,规定了每个像素属于哪一类。
从这个信息,这将是试图
(1)从图像中确定棋盘和棋子的位置
(2)确定哪些方块被占领或者没有被占领。
关于第一个功能,我们使用一个具有相同的颜色的参考框架,如黑正方形。
首先,该算法执行搜索的角参考框架通过在图像的末端搜索黑色方块所属的像素类。
其次,通过插值方法计算每块的位置。
这是相对简单,因为所有的块是相同大小的,每边有8个正方形。
此结果计算表明图4。
图4:
板和块的位置
下一步,该算法确定
(1)哪些块被占
(2)每一块的颜色。
这可以通过计算属于亮片和暗片的像素的数量。
如果这个数超过阈值,那么算法决定在这个块上面的棋子。
阈值值是依赖于表面面积,一个块占的正方形面积的比例。
3.1.3棋盘层
作为输入,这层得到一个所有块被各自占领的特定的颜色的列表。
这一层还记得以前的情况的棋盘(这也可以视为输入)。
通过这信息,该算法将确定的在新的棋盘中每个棋子的确切位置。
由于相机安装在棋盘的上方,每个棋子都有一个圆形的形式,从这一点看,单靠这个信息来确定每个棋子这看似是不可能的。
这问题是可以简单的解决通过检索之前的棋盘的情况。
通过这些信息(其中的确切位置和类型的每个棋子移动之前已知)和新的信息(这是已知的块在移动后被占领后),它始终是可能的确定的移动的棋子。
游戏开始时最初的棋盘的情况是已知的,由于国际象棋规则股规定了这个棋盘的放置,所以没有必要在比赛开始之前进行配置。
该算法可以检测所有有效的棋子的移动,甚至王车易位(其中包括一个位移的国王和车),给用户以下棋的比赛规则。
一些作弊的行为,如交换两个颜色相同的棋子,该算法不会注意到,因为它没有发现任何棋盘的变化。
这样的原因是板层只承认颜色而不认形状。
3.2国际象棋算法
我们没有开发这个应用程序的这个部分。
相反的,使用现有算法来实现,用更专业的GNUGPLChessterfield实现(见[5])。
因为一个通用的接口与算法用于替代方案可以集成相对简单。
3.3机器人控制
最重要的问题,遇到开发marineblue应用有关的机器人控制。
这些问题,特别是由于能力有限的硬件。
本节将重点放在算法,用于控制机器人的手臂。
功能旨在是转换高层算法的发展命令(移动件从板坐标(2,2)板坐标(2,3))到低级别的命令用于机器人的伺服系统。
3.3.1运动层
本部分着重逆运动学部分,计算了不同角度的伺服系统在特定的配置和请求下的机器人手爪的位置。
为建立这一逆运动学算法,进行一定的简化,删除了一些没有用的计算。
上面提到的问题简化片段3和4。
最初它是说,4段是连接到夹持器,它可以在3段上进行垂直动作。
1,2段和3在一个平面上移动,与棋盘水平。
我们现在假设的3和4之间的角度为零,这样它现在可以考虑一个新的延伸段“34”。
这一段的总长度的总和构成段的长度。
图5说明了什么需要计算:
给定一个请求的位置(250,2,70)的角度θ1,θ2和θ3需要知道。
夹具的位置通过角度γ和最后部分的水平轴确定。
由于标准的国际象棋件圆柱,这个角度在抓手抓取棋子的角度看是不重要的。
不过。
这个角度会在计算中保留,描述如下。
图5:
逆运动学(从上述观点)
解决逆运动学问题一般是相当复杂的以及密集计算功率。
例如,它是不可能解决六个或更多个段的分析。
大多数的机器人手臂尽可能的简化,使他便于分析。
结果就是假设上述4段一直以3段在一条线上,计算就简化在一个棋盘平面上进行。
这个公式可以这样开始:
γ=θ1+θ2+θ33.1
P=a1+a2+a3
第二个公式可以改写为3.2:
x=a1c1+a2c12+a3c1233.2
y=a1s1+a2s12+a3s123
和
c1=cos(θ1)s1=sin(θ1)
c12=cos(θ1+θ2)s12=sin(θ1+θ2)
c123=cos(θ1+θ2+θ3)s123=sin(θ1+θ1+θ1)
鉴于要求手爪位置(x,y,γ),其意图是现在解决上述方程的三个未知数θ1,θ2和θ3。
用3.1替代3.2给公式3.3:
x–a3cγ=a1c1+a2c123.3
y–a3sγ=a1s1+a2s12
在这一点上,两个已知(θ1和θ2)保持。
平方总结两个方程消除θ1:
(x–a3cγ)2+(y–a3sγ)2=a12+a22+2a1a2c2
这样的结果是解决θ2:
θ2=+/-arctan(s2/c2)
确定一个可以替代1θθ2代入3.3。
这也会产生两个结果(根据实际情况取θ2):
θ1=arctan(s1/c1)
最后,通过使用3.1个也有可能确定θ3:
θ3=γ-θ1-θ2
如果请求的位置(,,γ)能通过机器人手臂达到,则为达到那个位置就存在两种可能性。
鉴于角γ是不重要的,它可以说,有一个无限多的解决方案。
该方法是用在这里是增加角γ与小增量(例如增量5degrees)并计算相应的解决方案这γ,如果这些解存在。
当所有的解决方案计算出来,选择一个最好的。
一个典型的解决方案,选择最可能的手臂运动。
这个缺点方法是,角之间的部分的臂成为依赖于以往的运动。
这是指一个特定的块可以通过手臂的两套不同的伺服位置达到,作为一个结果,夹持器的偏差也会改变。
为了避免这个问题,marineblue将选择集伺服位置是最接近理想的位置臂。
理想的情况是,每个伺服位置位于中间的范围。
这一战略确保伺服很少会为达到特定块占用极端位置。
直到现在,一直是假定第四段是第三段的延伸,这样,它总是在水平面上移动。
然而,当一个棋子是被拾起,第四部分的移动垂直,因此最初的假设是不正确的。
图6表明,它不仅是第四段已移动,而是的原本的第四部分也有移动,为了保持夹持中心在棋子的上面。
这是必要的;否则,夹具可能与其他棋子碰撞(或相邻的棋子。
)
图6:
第四段水平位移段向上、向下移动时
因此,我们可以不再认为34段的长度等于实际3段和4段的长度和。
这个长度需要计算。
从图7它变得清楚,这可以从以下公式:
l=l3+l4.cos(α)+h.sin(α)
34段的长度总是这样计算。
这种方法简化–计算逆矩阵运动学–可以保留。
拿起一个棋子,爪会向下移动呈一个开放的状态。
第四段的起端同时向左移动(如图)。
夹持器关闭并扣合棋子。
下一步,夹钳向上移动,第四段的起端部分向右移动。
这是图6所示为水平位移。
这个水平位移时向上和向下确保夹具的中心保持在棋子上方。
图7:
计算34段的长度(长)。
3.3.2命令层
指挥层位于逆运动层的右上方。
它是负责转化高层机器人的命令序列(如“打开夹钳',“关闭夹钳'和'移动到')为robix脚本命令。
这一层利用逆运动学为棋盘坐标变换成控制伺服电机的角度。
3.3.3机器人的校准
机器人手臂的校准有三个部分:
(1)各段的长度测量,
(2)为每个伺服映射之间作出角(度)和相应的伺服位置,(3)机器人手臂知道象棋机器人在棋盘中的位置坐标。
为了完成这最后的校准步骤,机器人手臂的“trained”4:
用户表示的通过移动机器人手臂四个角棋盘的四个角。
在每一个块的位置可以很容易由插值计算确定。
4软件架构
高层建筑的marineblue软件由三个算法模块(视觉,国际象棋的算法模块引擎和机器人控制),应用层和图形用户界面。
图8给出了一个原理概述架构。
应用层负责控制整个棋局,相当于
(1)捕获和分析图像,
(2)计算的新举措(如果人类对手已经完成一招),最后(3)转换的计算机的高级指令使机器人手臂运动。
这一过程重演,直到游戏结束。
图形用户界面层是一个marineblue的W indows前端,其中包含必要的校准功能视觉和机器人模块。
图8:
marineblue软件架构
5.结论
本文概述了高层次的设计实施一个自治的国际象棋机器人的实施,其中主要包括三个功能:
识别象棋板的情况下,计算的新行动和通过一个机器人手臂执行这些举措。
象棋机器人可用于教育娱乐用途,因为它已经建立相对简单的部件。
由于基本软件架构包含三个独立的模块,它有相对容易改变算法或依赖性的硬件模块。
参考文献
[1]RobixRCS-6,
[2]SonyDFW-VL500,
[3]FireWireIEEE1394,
[4]SergiosTheodoridis,KonstantinosKoutroumbas,“Pattern
Recognition”,AcademicpressSanDiego,1999
[5]MatthiasLüscher,GNUChessterfield
[6]JohnJ.Craig,“IntroductiontoRobotics,Mechanicsand
Control”,Addison-Wesley,1986
theirownconditionstodevelopthecorrectroad,themaximumtoavoidinvestmentrisk,gainprofit.(three)vigorouslypromotethebrand.Toestablishbrandawareness,awarenessoftheuseofbrand,brandvalue,brandacquisitionperformance,enhancethecompetitivestrength.Concentratedmanpower,carefulplanning,packagingandpublicityofanumberofunique,marketinfluenceandcoverageofthebrand,theimplementationofkeybreakthroughs,toenhancethecompetitivestrength,walkingbusinessroadthecompetitionofalienationandcharacteristics,thepursuitofstabilityanddevelopmentofthemarket.(four)topromotetheintegrationofresources.Tofurtherbroadentheirhorizons,effectiveintegrationofresourceswithinthegroup,thecityresources,otherindustriesandregionalresources,mutualtrust,mutualbenefit,seekingwin-winprinciple,intheframeworkofnationalpoliciesandregulations,strictinspectionandargumentation,legalconsultation,examinationandapprovalprocedures,strictregulationofeconomicactivities,attractinjectionthesocialinvestmenttotheindustrygroup,toachieveleveragingthedevelopment,ensurethatthevalueofstate-ownedassets.(five)tostrengthentheconstructionmanagementpersonnel.Strengthenthemanagementofeducationandtrainingofcadresandworkersoftheexistingbusiness,firmlyestablishtheconceptofthemarket,enhancethesenseofcrisistoadapttomarketcompetition,thesenseofurgency,improvetheabilitytorespondtomarketcompetition,improvemanagementandoperationofthemarket.Atthesametime,accordingtotheneedofindustrialdevelopment,vigorouslytheintroductionofhigh-qualitymanagementmanagementpersonnel,andstrivetobuildahigh-qualityprofessionalmanagementteam,hardwork,andpromotetheentireworkforceknowledgestructure,agestructure,structureoptimizationandupgradingability,enhancecorecompetitiveness,adapttotheneedofmarketcompetition.(six)seriouslystudythepolicyforpolicy.SeriousresearchaboutsocialsupportthedevelopmentofculturalundertakingsinthecountryandtheXXpolicy,especiallythepolicyofindustrialdevelopment,financialinvestmentpolicy,financialpolicyandtaxpolicy,andactivelyseekpolicy,projectsandfunds,enterpriseandindustrygroupmissiontopromoteleapfrogdevelopment.
MarineBlue:
ALow-CostChessRobot
DavidURTINGandYolandeBERBERS
{David.Urting,Yolande.Berbers}@cs.kuleuven.ac.be
KULeuven,DepartmentofComputerScience
Celestijnenlaan200A,B-3001LEUVEN
Belgium
ABSTRACT
Thispaperdescribesthedevelopmentofachess-playing
robotcalledMarineBlue.Thisrobotconsistsofthree
components:
acomputervisioncomponenttorecognize
chessboardsituations,ac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中英文 文献 翻译 一个 低成本 象棋 机器人