人机对弈平台开发毕业论文_第1页
人机对弈平台开发毕业论文_第2页
人机对弈平台开发毕业论文_第3页
人机对弈平台开发毕业论文_第4页
人机对弈平台开发毕业论文_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川工程职业技术学院毕业综合实践人机对弈平台开发学生姓名学生学号学生班级指导教师完成时间人机对弈平台开发摘要1997年世界首席国际象棋大师卡斯帕罗夫与IBM公司生产的计算机“更深的蓝”经过几轮角逐,“深蓝”终以21战胜了卡斯帕罗夫。这是人机博弈史上最伟大的一次较量,自此人机对弈的研究与发展风靡全球。本文所选取的是以井字棋游戏为实例,阐述了如何以单片机、PLC、关节机器人、以及触摸屏开发出的一个人机对弈平台。首先本文运用极值法、剪枝法以及博弈树理论建立起六轴机器人核心的回棋运算规则并通过STC单片机设计出了回棋程序;然后使用汇编语言编写出关节机器人的基本运动程序使机器人做到了推棋、下棋、收棋等动作。其次经过MODBUSTCP协议以及以太网的通信方式将汇川PLC设置为系统主站,其他系统为从站,建立起的一个整个平台的信息通讯,并运用PLC的梯形图方式编写出了各个系统之间相互协调的控制程序。最后运用INOTOUCHEDITOR软件绘制出游戏的主界面、先手选取、棋盘落子、获胜情况以及游戏结束等界面并通过连接触摸屏可以进行实时的人机对弈。关键词PLC单片机关节机器人触摸屏以太网极值法DEVELOPMENTOFHUMANCOMPUTERGAMEPLATFORMABSTRACTIN1997,THEWORLDSCHIEFCHESSPLAYERKASPAROVANDIBMPRODUCEDTHECOMPUTER“DEEPERBLUE“AFTERSEVERALROUNDSOFCOMPETITION,AND“DEEPBLUE“DEFEATEDKASPAROVBY21THISISTHEGREATESTCONTESTINTHEHISTORYOFHUMANCOMPUTERGAME,ANDTHERESEARCHANDDEVELOPMENTOFTHEMANMACHINEGAMEHASBEENPOPULARALLOVERTHEWORLDINTHISPAPER,WETAKEWELLPLAYCHESSASANEXAMPLETOEXPLAINHOWTODEVELOPAPERSONALGAMEPLATFORMBASEDONMCU,PLC,JOINTROBOTANDTOUCHSCREENBASEDONTHEEXTREMUMMETHODANDTREEPRUNINGMETHODANDTHEGAMETHEORYTOESTABLISHSIXAXISROBOTCOREOFTHESAMEOPERATIONRULESANDTHROUGHTHESTCMICROCONTROLLERDESIGNEDTHESAMEPROGRAMTHENUSINGASSEMBLYLANGUAGEBASICMOTIONPROGRAMJOINTROBOTMAKEROBOTSDOCHESS,CHESS,CHESSPUSHCLOSEACTIONSECONDLY,THROUGHTHEMODBUSTCPPROTOCOLANDTHECOMMUNICATIONMODEOFETHERNETWILLHUICHUANPLCISSETTOTHEMASTERSYSTEM,OTHERSYSTEMSFROMTHESTATION,COMMUNICATIONOFINFORMATIONTOESTABLISHAWHOLEPLATFORM,ANDUSETHEPLCLADDERWAYTOWRITEAPROGRAMTOCONTROLTHECOORDINATIONBETWEENTHEVARIOUSSYSTEMSFINALLY,DRAWTHEMAININTERFACE,THEGAMEPLAYERSELECTION,THEBOARDANDTHEENDOFTHEGAME,WINNINGTHELAZIINTERFACEANDCONNECTEDTHROUGHTHETOUCHSCREENCANBEREALTIMEMANMACHINECHESSBYUSINGINOTOUCHEDITORSOFTWAREKEYWORDSPLCSINGLECHIPJOINTROBOTHMIETHERNETEXTREMUMMETHOD四川工程职业技术学院毕业综合实践论文1序言人工智能的出现绝非偶然,而人机对弈早在人工智能发展初期的20世纪50年代,来自IBM工程研究组的SAMUEL就开发出了跳棋程序,它具有初步的学习能力,可以在与人对弈的过程中不断地积累经验,提高自己的棋艺。并在1959年,这个程序战胜了其设计者本人。经过50余年的研究与发展,在2016年3月发生了一场风靡整个围棋界和人工智能领域的一件大事。来自谷歌的阿尔法(ALPHAGO)与围棋世界冠军韩国九段棋手李世石进行了一场人机大战,在历时一周的对弈后终于有了结果ALPHAGO执白中盘战胜李世石。这样的结果令世人震惊。使人不经想起,人工智能经过几十年的发展,究竟到了何种地步真的可以取代人类智能,达到一个令人类遥不可及的境界了吗2016年末17年初,该程序在中国棋类网站上以“大师”(MASTER)为注册帐号与中日韩数十位围棋高手进行快棋对决,连续60局无一败绩,由此可见通过机器学习人类的棋类游戏并与人类对弈,一直是人工智能应用中经久不衰的话题。而人机对弈的精髓博弈论以及人工智能也很自然地引深并应用到政治、经济、军事、外交等各个领域。四川工程职业技术学院毕业综合实践论文2一、设计内容与目的11设计内容本次设计选取的是经典的井字棋为实例进行人机对弈,需对整个游戏平台进行分析与研究。其中触摸屏必须能实时反映整个对弈的过程(包括游戏开始,先手选取,棋盘落子以及获胜情况与游戏结束等)以及人落子的基本操控;为安全起见在对弈的过程中人的落子将由汇川的四轴机器人来代替完成,而埃夫特的六轴机器人落子则由单片机的运算得出(需设计出六轴机器人回棋的规则并编写书出单片机程序);汇川PLC需完成各个系统之间的信息通讯。12设计目的本次毕业设计的目的不仅是对以前所学过的知识与技能进行温习还要对其做到精益求精综合运用的程度;在设计的过程中将接触到一些高端产品即汇川机器人、埃夫特机器人等,需提升自我学习能力,以及完成一个完整项目的全局掌控能力同时也是自我提升的一次绝佳机会。二、项目硬件选型及设计21硬件选型211触摸屏的选型四川工程职业技术学院毕业综合实践论文3触摸屏是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。本文所选用的是汇川IT6070E型号的触摸屏,它可提供USB、以太网、RS422/RS485等多项通讯连接方式可以较好的与各种设备进行连接使用,除此之外它还支持市场上绝大多数的PLC和控制器、伺服、变频器、温控表等,也可以为您特殊的控制器开发驱动程序,并支持离线仿真和在线仿真功能,极大的方便了程序的调试。下图为该产品的端口接线图图21四川工程职业技术学院毕业综合实践论文4212单片机的选择作为机器人运算的核心产品,它所具备的性能需要严格把关。本此设计是在九宫格内下棋,所需的运算复杂度并不算是太高,因此我所选择的单片机是是STC公司生产的STC15W4K32S4型单时钟周期(1T)的8位单片机(见图22),宽电压/高速/低功耗的增强型8051,内置8路10位的PWM,6路15位的专业PWM,8路10位的高速ADC(30万次/秒),4KRAM,32K的ROM,4路串口,7个定时计数器,4个外部中断,内置时钟电路,工作频率5MHZ30MHZ,是普通8051的530倍,完全能够胜任此次的设计任务。图22213PLC的选型可编程逻辑控制器(PLC)是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、四川工程职业技术学院毕业综合实践论文5顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。本文所选用的H3U系列PLC是汇川技术开发的的第三代高性能小型PLC。得益于新一代工业级CPU与FPGA硬件架构,以及自主知识产权工业强度嵌入式软件设计,使得产品在性能以及容量上都有了巨大的提升。另外还开发了专门针对脉冲型3轴运动控制机型,其采用了逐脉冲调制专利技术,使得在加减速时每一个脉冲都有频率的调制变化,最大优化电机的稳定性。下表为H3U系列产品的产品基本信息H3U通用机型H3U运动控制机型程序容量64K64K指令速度100NS100NS高速输入200K8200K3高速输出200K5500K3通信RS4851、RS4221、USB、ETHERNET、CANRS4851、RS4221、USB、ETHERNET、CAN扩展模块AM600扩展模块,CANLINK远程模块,AM600远程模块AM600扩展模块,CANLINK远程模块,AM600远程模块表21214关节机器人的选型关节机器人也称关节手臂机器人或关节机械手臂,是当今工业领域中最常见的工业机器人的形态之一,适合用于诸多工业领域的机械自动化作业。从关节机器人的构造大致可分为托盘关节机器人四川工程职业技术学院毕业综合实践论文6(四轴)与五轴和六轴关节机器人。本次设计我所使用到的机器人如下(1)四轴机器的选择为安全起见在人机的对弈过程中,我选择使用一个机器人来代表人下棋。四轴机器人以快速,高效率以及执行力强而著称,因此我所选择的是汇川技术所生产的型号为IRB100340Z15TS3UNIT四轴机器人,此四轴SCARA机器人(以下简称四轴机器人)四轴机器人是特别为高速取放作业而设计的,四轴机器人又称SCARA机械臂,机器人具有以下特点分布式控制系统免费开源代码无控制箱的机器人,结构简单低成本、高可靠目的旨在提供一种低成本,易安装维护,可操作性强的四轴SCARA型机器人。(2)六轴机器人的选择对于机器人下棋来说,由于每一个棋子的大小以及所处的位置是不固定的所以需要一个非常灵活的手臂来完成这项较为困难的任务,六轴机器人拥有六个旋转轴,类似于人类的手四川工程职业技术学院毕业综合实践论文7臂具有高度的灵活性和通用性。因此我所采用的是安徽埃夫特智能装备公司所生产的六轴机器人,其型号为ER3AC60的六轴机器人(见图11),其中ER为该公司代码,3表示机器人末端最大负载为3KG,C60为机器人的控制系统代号。拥有六个轴的它同时还具备多种坐标系以及可变换的末端夹具可以高效快速的完成推棋、放棋以及收棋等多项不同的功能。在工业生产中他可以装备自动夹取器或自动工具切换器以此执行多种操作,如对产品进行装卸、检查和贴商标,然后再将其放入包装中。同时六轴机器人拥有ACS、KCS、WCS、TCS、PCS等多种坐标系若建立不同的坐标系进行相互搭配使用更可以使六轴机器人应付多种大小和形状的产品,以及抓取不同方向不同角度的任意物品,此外如装配视觉检测系统和输送带跟踪系统可选配件,还能进一步通过机器人的能力。最后还需提出的是机器人的远程控制功能。若提前设计出工业生产中所需要的项目功能并给机器人编译好对应的运动控制程序则可以通过以太网、RS485/RS422、USB等多项通信功能进行远程控制。四川工程职业技术学院毕业综合实践论文822项目系统框图本文所设计出的人机对弈平台经过系统结构化大致可分为独立的五个系统即触摸屏、PLC、四轴机器人(代表人)、六轴机器人、单片机,而这五个系统均以PLC为信息传递的终端则可绘制出人机对弈平台的系统框图。六轴机器人四轴机器人触摸屏PLC单片机计算机图23系统框图注释(1)触摸屏人机交互界面用于显示整个对弈的过程与状态,并为选手提供下棋的触摸功能。(2)PLC用于触摸屏、单片机、四轴机器人、六轴机器人的信息交互以及整个系统的协调。(3)四轴机器人代替选手与机器进行对弈具有推棋、下棋、四川工程职业技术学院毕业综合实践论文9收棋的功能。(4)六轴机器人代表机器与人对弈具有智能推棋、下棋与收棋等功能。(5)单片机用于计算机器人下棋或回棋的位置。(6)计算机利用PLC进行远程监控整个系统。23平台的搭建231机器人支架平台的搭建(1)机器人支架平台主要由四个组件构成,分别是6MM槽宽工业铝型材,角件,T型螺母及专用螺栓,包角件,如表所示机器人支架平台尺寸为2000MM1000MM1200MM,其组件由密度为27G/CM3的铝制成,表面采用阳极氧化,耐高温、抗腐蚀。具有质量轻,高硬度的特点,采用M6X16高强度专用螺栓内部连接方式。组件名称组件图机器人支架平台总图6MM槽宽工业铝型材角件四川工程职业技术学院毕业综合实践论文10T型螺母及专用螺栓包角件表22(2)机器人支架平台搭建流程第一步第二步第三步6MM槽宽工业铝型材角件T型螺母及专用螺栓支架6MM槽宽工业铝型材包角件平台机器人支架平台总成表23232棋盒平台的搭建棋盒平台的搭建用了一根25CM高的6MM槽宽工业铝型材和一根30CM高的6MM槽宽工业铝型材(如图所示)作为底座,采用日光灯铝盒(如图所示)作为滑槽,滑槽驾于两根6MM槽宽工业铝型材之间,因为两根6MM槽宽工业铝型材具有高度差,棋盒便有15度倾斜角。由于棋盒具有15度倾斜角,由乒乓球代替的棋子便可自由滑落至取球点,但一次只能取一颗棋子,所以在球盒底部采四川工程职业技术学院毕业综合实践论文11用橡皮筋作为格挡,每次取棋前用机器人将棋子推落至取棋点,这样就不会出现一次有多个棋子滑落至取棋点的情况。棋盒便搭建完成(如图所示)。图24233棋盘的搭建最初的棋盘采用一张15CM15CM规格模板作为底板,四张15CM2CM规格模板作为围挡,12张5CM2CM规格模板作为内部格挡,再填充泡沫在每个棋格中作缓冲,模板件缝隙用强力粘胶粘合。但由于各棋格间间距太短,会导致放棋时将其他棋子撞落,所以便被淘汰。之后采用30CM30CM3CM泡沫,在泡沫上每间隔8CM挖出棋格,便做成了最终的棋盘。使用泡沫作为棋盘不仅减少了加工的步骤。而且还具有更大的缓冲力,可以有效防止机器人落棋时与棋盘支撑架发生碰撞,提高了安全性能。棋盘的制作过程如下图2524电气原理图四川工程职业技术学院毕业综合实践论文12在此次的设计中,各个系统之间均有相互的外部电路连接进行信息传递,总的系统电气原理图如下图26三、项目功能设计与实现31通讯方式本文主要所运用的是建立以太网进行各个系统之间的信息交互。以太网是一种基带局域网技术,各系统之间的通信是使用一种同轴电缆作为网络媒体,采用载波多路访问和冲突检测机制的通信方式,四川工程职业技术学院毕业综合实践论文13数据传输速率达到1GBIT/S,可满足非持续性网络数据传输的需要。311以PLC为主站建立以太网通信在PLC中经过MODBUSTCP协议以及以太网所建立起的信息交互模式的具体过程如下(1)将PLC设置为主站通过以太网配置将PLC设置为主站的过程如下图31图中的IP地址192168110即为PLC的地址,之后再设置出其他从站的IP地址以及所需要传递的信息即可进行各个系统之间的信息传递。(2)将其他设备配置为从站在PLC中通过右键点击以太网可以进行选择以太网配置,具体可配置的信息如下图四川工程职业技术学院毕业综合实践论文14图32其中各列首的具体意义如下设备名称是可以自定义的设备名称即辅助信息。从站IP地址即根据设备实际地址进行设置。双击空白处可以弹出已有IP地址,或者新建IP地址并且允许一个IP地址进行多条配置。通信方式中“循环方式”表示循环访问从站,“触发方式”配合后面的触发元件使用,当元件为ON时访问从站,完成访问后自动置为OFF。功能一栏是PLC对从站可以使用的权限包括读线圈,写线圈、读寄存器、写寄存器等功能。触发条件可以设置为非特殊的M或者S元件。从站寄存器地址是PLC要访问从站线圈或者数据寄存器的地址数据长度即PLC要访问从站寄存器的数据长度。如需要访问从机的M0M10,则为11个元件,故填11。主站缓冲区地址主站缓冲区起始地址。如上图第一条配置,本机读取从机的数据,将读取到的数据存放到D100。此时用户程四川工程职业技术学院毕业综合实践论文15序中可以访问D100。如上图第二条配置,本机将D200起始的100个元件值写入到从站设备的0地址起始的100个寄存器。端口号默认502,MODBUSTCP规定端口,一般无需修改。站号是针对一些以太网转串口设备,指定分发的串口号。默认255,一般无需修改。312PLC与触摸屏的通信触摸屏接口产品外壳背面具有USB的端口USBCLIENT(TYPEB)接口,用于与PC连接,进行上载/下载用户组态程序和设置HMI系统参数,可以通过一条通用的USB通讯电缆和PC机连接;USBHOST(TYPEA)接口,用于与U盘、USB鼠标、USB键盘及USB打印机等设备连接,即插即用。以太网连接产品外壳背面的以太网接口为10M/100M自适应以太网端口。可以通过以太网口与PC机通讯。这个端口可以通过一根双机互联网线(RJ45交叉线)直接与PC的以太网口连接。在本次项目设计中触摸屏和PLC采取的是以太网通讯,设置过程如下(1)在本地设备ETHERNET中添加设备四川工程职业技术学院毕业综合实践论文16图33(2)注意设备型号选择和触摸屏使用数据地址类型一样才能通讯且PLC地址设置正确,才可以下载通讯。图34313PLC与单片机的通信采用STC15W4K32S4单片机,专用于机器人下棋的棋位计算,PLC将选手下棋的棋位和谁先手的数据发个单片机,单片机通过相应的AI算法计算机器人下棋的棋位,再通过RS485通信将下棋的数据在传给PLC。具体信息的传递过程如下图四川工程职业技术学院毕业综合实践论文17直流电源单片机RS485通信电路PLC主机图35314PLC与四轴机器人的通信四轴机器人有两种通讯方式,对应的控制器上有两个网口ETHERNET1与ETHERNET2。ETHERNET1为默认动态IP网口,对应远程连接方式;ETHERNET2为静态IP网口,对应直接连接方式。远程连接机器人控制器通过ETHERNET1接入互联网,示教软件只需在IP地址栏填入动态IP即可通过互联网访问控制器。直接连接示教器通过网线直接连接到控制器的ETHERNET2,控制器IP地址固定为1921682325,将此数据填入“IP地址”栏。IP地址栏下方会显示当前链接控制所使用的端口。对于示教盒版,一般采用直接连接的方式,即可直接使用。所配置的信息交互具体如图四川工程职业技术学院毕业综合实践论文18图36315PLC与六轴机器人的通信将六轴机器人与PLC使用电缆进行连接,并在PLC中通过以太网从站配置将六轴机器人设置为从站再填写出所需交互的信息即可完成设备之间的沟通,具体的配置信息如下图图37其中编号14的设备名称的具体意义分别为将六轴将要走棋的位置传递给六轴;PLC控制六轴机器人启动;防止六轴机器人重复走上一步(PLC接收到后将对机器人走棋的寄存器进行清零处理);最后PLC控制六轴机器人停止的信号。其次它们的通讯均是循环进行读取,所采用的协议是MODBUS四川工程职业技术学院毕业综合实践论文19TCP协议,对从站寄存器的读取以及写去均以十进制为准。最后六轴机器人的IP地址为192168116,两个系统之间寄存器的关系如图不再叙述,所设置的站号为1。32功能设计321触摸屏的功能设计作为人机的交互系统触摸屏需具备以下功能(1)触摸屏需要介绍人机对弈主题(2)触摸屏需要判断出下棋时人下手和机器先手的判断(4)触摸屏需要实现人机对弈中传递下棋信号的写入和回棋信号读取(5)触摸屏需给出下完棋的结果(6)触摸屏需要“返回”按钮,给予误操作的修改322PLC的功能设计作为整个系统的主站,PLC将完成以下的功能设计(1)建立信息通道使各个系统之间能够进行信息交互。(2)理清各个系统之间的相互关系并设计出协调关系。(3)实现对各个设备的远程监控功能四川工程职业技术学院毕业综合实践论文20323单片机的功能设计对于机器人下棋的核心大脑,单片机的程序开发需考虑到以下因素(1)准确接收PLC每一次传递过来的信息。(2)对信息分析的精准度以及历史信息的保存。(3)能够较好的运算出每一步回棋(4)设计出一套完善的算法。324四轴机器人的功能设计在代表人下棋的汇川四轴机器人系统上,需完成以下功能设计(1)熟悉示教器的功能。(2)学习用示教器编写四轴机器人程序。(3)学习编程所需部分指令实现对弈程序的具体编写。(4)完成机器人的各种下棋动作。(5)实现机器人与PLC的通信。325六轴机器人的功能设计在高灵活的六轴机器人系统上,需完成以下功能设计(1)设计机器人运动时的急停以及气爪夹(放)球的功能。四川工程职业技术学院毕业综合实践论文21(2)完成机器人的系统标定(原点、棋盘点以及推球,夹球点)。(3)设计机器人的运动控制程序,实现六轴机器人的远程运动控制功能。(4)完成机器人精准的推棋,走棋,收棋等运动动作。33功能实现331触摸屏的功能实现为能实时的反映出整个游戏的过程我使用触摸屏的附带软件INOTOUCHEDITOR绘制了人机的交互界面。最终绘制出的人机交互界面有游戏主界面、先手选取、棋盘落子界面以及三种获胜界面(见附录一),其中在所运用到的功能键、多状态灯以及位状态指示灯的具体信息见下表控件类型地址功能FK0到FK7功能键切换页面WSS0多状态设置汇川H3UMODBUSTCPD80写入48,表示人先手WSS1多状态设置汇川H3UMODBUSTCPD81写入88,表示机器先手BLO位状态指示灯汇川H3UMODBUSTCPM11指示人下棋状态BL1位状态指示灯汇川H3UMODBUSTCPM12指示人下棋状态WS0多状态设置汇川H3UMODBUSTCPD90写入人下棋数据状态WS1多状态设置汇川H3UMODBUSTCPD91写入人下棋数据状态WS2多状态设置汇川H3UMODBUSTCPD92写入人下棋数据状态WS3多状态设置汇川H3UMODBUSTCPD93写入人下棋数据状态四川工程职业技术学院毕业综合实践论文22WS4多状态设置汇川H3UMODBUSTCPD94写入人下棋数据状态WS5多状态设置汇川H3UMODBUSTCPD95写入人下棋数据状态WS6多状态设置汇川H3UMODBUSTCPD96写入人下棋数据状态WS7多状态设置汇川H3UMODBUSTCPD97写入人下棋数据状态WS8多状态设置汇川H3UMODBUSTCPD98写入人下棋数据状态WL0多状态指示灯汇川H3UMODBUSTCPD90显示棋子三种状态WL1多状态指示灯汇川H3UMODBUSTCPD91显示棋子三种状态WL2多状态指示灯汇川H3UMODBUSTCPD92显示棋子三种状态WL3多状态指示灯汇川H3UMODBUSTCPD93显示棋子三种状态WL4多状态指示灯汇川H3UMODBUSTCPD94显示棋子三种状态WL5多状态指示灯汇川H3UMODBUSTCPD95显示棋子三种状态WL6多状态指示灯汇川H3UMODBUSTCPD96显示棋子三种状态WL7多状态指示灯汇川H3UMODBUSTCPD97显示棋子三种状态WL8多状态指示灯汇川H3UMODBUSTCPD98显示棋子三种状态DR0间接窗口汇川H3UMODBUSTCPM27显示人赢结果DR1间接窗口汇川H3UMODBUSTCPM28显示机器赢结果DR2间接窗口汇川H3UMODBUSTCPM29显示平局结果BL2位状态开关汇川H3UMODBUSTCPM30清除触摸屏数据表31332PLC的功能实现在PLC上所建立的信息交互模式前文已有所讲述,此处便不在重述,而对于它将各个系统之间的关系所设计出的协调程序将详细讲解。汇川PLC所提供的编程方式有梯形图、程序指令以及功能块图等,我所采用的是比较直观的梯形图进行编写,首先PLC所接收到的信息应是从触摸屏所传递过来的信息,则PLC也应传递相应的信号回去表示回应,其次经过PLC对信息处理完会选择是去控制四轴四川工程职业技术学院毕业综合实践论文23机器人进行运动还是将信息传递给单片机运算出六轴所要完成的动作再传递回来,最后经过相应的信息交互过后PLC将完成对各个系统的控制与协调,最后编写出梯形图的程序(见附录二),程序流程图如下机人开始人机谁先手调用四轴子程序调用单片机子程序调用六轴子程序调用单片机子程序调用六轴子程序调用四轴子程序图38333单片机的功能实现棋类游戏通常包含三大要素棋盘,棋子,游戏规则,我们对棋盘、棋子和游戏规则等因素进行建立相应的理论模型。因此需要设计一个AI算法。由于计算机不能像人一样对棋局的“形”与“势”进行判断,只能利用计算机强大的计算和数据处理能力。因此需引入四川工程职业技术学院毕业综合实践论文24一种搜索方法,而博弈树理论是各种棋类游戏人工智算法的核心。根据当前棋局建立博弈树,再利用启发式搜索算法对博弈树进行搜索,找出最优的棋位。(1)博弈树建模在博弈的过程中,任何一方都希望自己获得胜利,当某一方当前有多个选择时,总是选择最优的下棋位置。假设两个棋手机器人与选手。选手和机器人每选择一次抉择方案就就会触发产一种新的状态,最终这些状态就会形成一个状态树,这附加了机器人与选手的决策过程信息的状态树也就是博弈树。博弈树的根就是搜索开始时的棋盘状态,每个子节点就是选手每种决策产生的棋局状态(局面),而这些子节点的子节点就是机器人每种决策可能产生的棋局状态。这棵树的叶子节点就是最总棋局,结果无非三种机器人获胜、选手获胜、平局。模型如下四川工程职业技术学院毕业综合实践论文25图39(2)评估函数的建立对于很多启发式搜索算法,其“智力”的高低基本上是由评估函数所决定,棋类游戏的博弈树也不例外。博弈树搜索算法就是利用计算机强大的数据处理和计算能力进行蛮力计算,只有在棋局评估时才能体现出一点点的“智力”,这就是评估函数的价值。(程序见附录三),评估模型如下图310四川工程职业技术学院毕业综合实践论文26(3)极值搜索算法的设计博弈树搜索是各类棋类游戏AI算法的基础,极值(MAXMIN搜索算法是各种博弈树搜索算法中最基础的搜索算法,在双方博弈的时候总是选择最小化对手的最大利益,极大极小值搜索算法由此得名。(程序见附录三),极值模型如下图311(4)极值搜索算法的优化博弈树搜索算法比较简单,但是需要搜索的状态相当多。设井字棋博弈树搜索深度为2层,不带任何优化的极大极小值算法确定一个落子的点需要搜索72个状态,这搜索过程对51单片机来说也许会有点吃力,因此需要对搜索算法进行优化。“剪枝”是搜索算法中最常见的优化方法,通过减除一些明显不可能得到正确解的状四川工程职业技术学院毕业综合实践论文27态,避免对这些状态的搜索,可以提高搜索算法的效率。下面引出一种可应用于极大极小值算法的剪枝算法“”剪枝算法。设为极小值节点的下界;为极大值节点的上界。在深度为两层的博弈树种,站在MAX的立场上,只需要减除极大值节点,因此是需要利用“”剪枝。“”剪枝原理当搜索极小值节点(第二层)时,若发现极小值节点的么某一个评价值比极大值节点(第一层)的最大评价值小,则停止搜索当前极大值节点的分支。“”剪枝后的博弈树部分过程如下图所示图312(5)最后可设计出单片机主程序(见附录三),主程序流程图四川工程职业技术学院毕业综合实践论文28如下图313334四轴机器人的功能实现用四轴机器人代替“人机对弈”中的“人”,四轴机器人需去夹取乒乓球放于事先做好的棋盘上,以此模拟人的下棋过程。具体四川工程职业技术学院毕业综合实践论文29过程需使用四轴机器人示教器以及通过运动轨迹的程序设计来完成。(1)机器人的急停功能以及气爪的夹放。由于机器人末端的工件是气动式的,因此配置了一个IRLINKRTU,后接两个DLRB0808ETNDIO扩展模块,使用了中间继电器外接第二个DLRB0808ETNDIO扩展模块输出端口OUT8来间接通过控制继电器输出控制气阀的开关,实现气爪的夹取和松放。又为避免机器人在高速运动过程中与其他物品发生相撞的可能性特设计了外部急停按钮。(2)操纵机器人移动在编辑/运行、监控、设置的大多数面板,右下角有一个操作机器人移动的手柄图形按钮,用来控制机器人移动。有软件操作和摇杆操作两种方式可供选择。软件操作根据根据当前选用的坐标系,能使得机器人在沿该坐标系的坐标轴移动。(3)示教器的使用在示教前,需要进行相关设置,做好准备工作。一般情况下,若不更换机器人匹配,则今后无需重设这些参数。工作原点、坐标系的设置则根据用户需求自由安排。设置完某项参数后,需注意使用右上角的保存按钮及时保存。四川工程职业技术学院毕业综合实践论文30(4)机器指令的使用及说明程序最多容纳2000行指令。程序名由字母、数字、下划线组成,只能字母开头,不超过32位。下表为所使用到的指令格式及说明指令及格式说明HOME原点号,V回工作原点,存在三个工作原点,取。V为可选参数,代表速度的百分比,0100。WAITINPOS等待执行完成。DELAYT程序延时,时间由T参数控制。JUMP跳跃指令,形成“门”字形轨迹。MOVL直线插补,从一个位置直线运动到另一个位置。INCR数值变量数值变量的自增。L标号不能重复GOTOL标签号L用于设置程序标签,常与跳转指令GOTO配合使用,完成跳转动作。IF语句1;ELSE语句2;ENDIF条件判断,如满足条件则执行语句1,否则执行语句2。GETMODBUSREG参数1,参数2,参数3读取MODBUS从站寄存器的值。SETMODBUSREG参数1,参数2,参数3设置MODBUS从站寄存器的值。表32(5)机器人运动轨迹的程序设计四轴机器人代替“人”来下棋,需要完整的执行出人落棋的四川工程职业技术学院毕业综合实践论文31整个过程。并且在走完每一步棋之后都要向PLC传递信息使PLC清楚自己所处的状态。由此可编写出机器语言的指令代码(见附录五)主程序流程图如下四川工程职业技术学院毕业综合实践论文32NNYY开始回到HOME点运行状态(R2)置位,推球计数变量(R5)、走棋变量(R1)清零判断走棋变量(R1)0运行状态复、推球并计数、抓球根据走棋变量选择所走棋位(19)接收所下过棋的位置回到HOME点运行状态置位结束游戏收棋结束游戏图314四川工程职业技术学院毕业综合实践论文33335六轴机器人的功能实现(1)机器人的急停与夹(放)球由于机器人的末端是使用气压进行夹取物件,因此我运用中间继电器进行信号的传递则在机器人的IO端口接上了气爪的外部电路;又为避免机器人在高速运动过程中与其他物品发生相撞的可能性特设计了外部急停按钮。(2)坐标系的种类及原理为能准确无误的使机器人运动至不同方向以及不同角度的位置,因此在对机器人的系统位置定点时需要建立不同的坐标系进行位置标定。本文所使用的六轴机器人拥有关节坐标系(ACS)、机器人坐标系(KCS)、工具坐标系(TCS)、世界坐标系(WCS)以及工件坐标系1PCS1与工件坐标系2(PCS2)。为节省篇幅本文只讲述所使用到的ACS、TCS以及PCS。关节坐标系(ACS)是以各轴机械零点为原点是建立的纯旋转坐标系。机器人的各个关节可以独立旋转也可以一起联动。工具坐标系(TCS)把机器人腕部法兰盘所持工具的有效方向作为Z轴,并把工具坐标系的原点定义在工具的尖端点(或中心点)TCP(TOOLCENTERPOINT)。当机器人没有安装工具的时候,工四川工程职业技术学院毕业综合实践论文34具坐标系建立在机器人法兰盘端面中心点上,Z轴方向垂直于法兰盘端面指向法兰面的前方。当机器人运动时,随着工具尖端点TCP的运动,工具坐标系也随之运动。下图为机器人的工具坐标系示意图图315工件坐标系PCS1是建立在世界坐标系(WCS)下的一个笛卡尔坐标系。工件坐标系主要是方便用户在一个应用中切换世界坐标系WCS下的多个相同的工件。另外,示教工件坐标系后,机器人工具末端TCP在工件坐标系下的移动运动和旋转运动能够减轻示教工作的难度。图316四川工程职业技术学院毕业综合实践论文35(3)坐标系的标定方法及使用坐标系标定主要采用三点法来标定,通过标定不在同一直线上的三个点,即可示教出工件坐标系PCS和世界坐标系WCS。工具坐标系TCS可以使用三点法、四点法、六点法三种不同的方法来示教工具坐标系,也可以手动输入工具坐标系的值。下例所使用的是三点法进行坐标系的标定第一种方法示教三个点为原点P1,X轴(Y轴或Z轴)正轴方向上的一点P2,XY平面(YZ平面或ZX平面)上的一点P3。用这种方法示教的坐标系的原点位于P1点,X轴(Y轴或Z轴)的正方向从P1点指向P2点,P3点位于Y轴(Z轴或X轴)正方向一侧。(4)机器语言指令的功能及使用说明六轴机器人的运动不仅可以使用手持示教器进行操作还可以设计出机器语言使机器人能够按照预先所制定好的轨迹进行运动以及接受远程所传递过来的不同驱动信号进行相应的运动。下表为所运用到的机器语言指令的功能以及使用范例指令功能说明使用举例DOUTIO输出点复位或者置位DOUT,DO06,VALUE0将输出点06复位四川工程职业技术学院毕业综合实践论文36CALL调用子程序指令CALL,PROGTUIQIU调用推球子程序TIMER延时子程序TIMER,T3000,MS延时3秒IFELSE判断语句IF,I1,EQ,VALUE1,THENCALL,PROGTUIQIUELSEENDIF如果寄存器1的值等于1,则调用推球子程序,否则不执行语句WHILE条件满足的情况下,进入循环,条件不满足时退出循环WHILE,I2,EQ,VALUE0,DOENDWHILE如果寄存器2的值等于0则开始游戏,不等于则跳出游戏MOVJ关节插补方式移动至目标位置MOVJ,P1,V20,BL0,VBL0,POSE0关节插补方式移动至1点MOVL直线插补方式移动至目标位置MOVL,P1,V20,BL0,VBL0,POSE0直线插补方式运动至P1点COORDNUM选择坐标系号可以操作WCS、TCS、PCS1、PCS2COORD_NUMCOORTCSNUM13工具坐标系选择13号坐标系INC把指定变量值加1INC,I34把整形变量34加1,结果存放在变量34中SET把数据2赋值给数据1SET,I33,VALUE1把整数1赋给整形变量34表33(5)机器人运动轨迹的程序设计作为一个执行机构,六轴机器人需要不断的接收从PLC传递过来的信息,然后对其进行分析做出相应的运动,当执行完所有动作回到初始位置时六轴机器人需向PLC传递一个信号过去,表示自己已经走完所有的动作,然后再进入循环的运行状态,等待下一次PLC传递过来的信息。由此将设计并编写出关于六轴机器人的程序四川工程职业技术学院毕业综合实践论文37代码(见附录六),主程序流程图如下四川工程职业技术学院毕业综合实践论文38YNYNNNYY等待指令是否启动游戏走棋寄存器I119运行状态(I33)、推球寄存器计数(I34)、走棋寄存器(I1)、启动(I2)初始化调用推棋子程序调用对应(I1值)走棋子程序运行状态复位运行状态置位运行状态复位是否下完本局结束游戏推球状态复位、调用收棋子程序是否结束游戏图317四川工程职业技术学院毕业综合实践论文39四、结论在历时近五周的研究和奋斗之余终于传来了令人期盼已久的凯旋之音,即此次人机对弈平台的开发顺利告捷。无论是对旧知识的熟悉还是对新事物的接触我均已能快速高效的掌握。但在此过程中亦有使我耳目一新的地方,让我对一些虽已知晓的事物有了新的认知。其中尤其对人机对弈的含义有了更深的见解,它不单单是我以前所认为的纯粹的人与机器下棋,而是蕴含了人类智慧的结晶在其中,是人与“人”的挑战亦是人与智慧的挑战,这也将成为人类不可磨灭的发展洪流。在本次的毕业设计中有值得令人欣喜的一面,亦有留下点滴遗憾之处欣喜的是能够顺利并较好的完成设计任务,遗憾的是未能向更高级的棋类游戏发起冲击,但我相信在不久的未来我仍然能够战胜不同的棋局以及设计出更优秀的项目。最后,对于现今世界所设计出的最高级的人工智能ALPHAGO不再与人类进行对弈的告知表示令人遗憾。因为唯有不断的挑战自我,战胜自我才能开辟出一道新的科技之门。签名参考文献【1】ER3AC60系列机器人编程手册20150701V11【2】ER3AC60电气维护手册2015623V11【3】ER3AC60型工业机器人机械使用维护手册【4】H3U系列可编程逻辑控制器指令及编程手册【5】IT6000系列人机界面用户手册【6】栋梁DLRB系列机器人控制系统编程手册【7】汇川技术有限公司官网HTTP/WWWINOVANCECN/【8】安徽埃夫特智能设备有限公司官网HTTP/WWWEFORTHRJCWCOM/【9】STC宏晶科技官网HTTP/WWWSTCMCUCOM/【10】百度人工智能开放平台HTTPS/AIBAIDUCOM/后记终于这令我遐想过无数次的一刻悄然踏至,在近三年的光阴之中我从一个对大学充满无限向往的新生步至了最后一个阶段毕业季。从大学这一路走来我亦非一无所获,我找到了属于自己的人生之路,我完成了早在踏入门口就以定下的目标,我也结交到了很多志同道合的朋友。在这最美好的年纪我做了自己最喜欢做的事情,为了自己的理想拼尽了所有的余力,曾经数次三天三夜的拼搏犹如昨日之事令我终生难忘,那是我未来最美好的回忆而在未来亦有更多的机会与挑战等待着我的整装出发。在大学这渺渺的岁月之中,我感谢曾经帮助过激励过我的每一位老师与同学,亦要感谢盛维涛老师在生活中,学习中的帮助,照顾与支持,以及余立勤导师曾在思想上的引导以及就业方面的指导。最后感谢任彦仰以及郭欣老师在此次毕业设计中的悉心指导与讲解,使我能顺利的完成大学的最后一关。在步入下一新的人生阶段我将调整出最佳状态向其发起发起冲击。附录附录一触摸屏画面游戏主界面先手选取棋盘落子界面获胜情况1获胜情况2获胜情况3附录二PLC指令程序主程序LDX0ORM251ANDX1ANDX2OUTM251/网络2注释D30选下棋地址(19)0X30表示无线地址D40机器人下棋地址(19)0X58表示无效地址D70棋盘的棋子数D2010六轴使能伺服;1六轴禁止伺服LDM251MPSANIM27ANIM28ANIM28OUT250MPPLDT100ANDK1D350ORPM251ANBMPSMEPMOVH30D30MRDMEPMOVH58D40MRDMEPMOVK0D70MRDMEPMOVK0D201MRDMEPMOVK0D310MRDMEPMOVK0D200MRDMEPMOVK0D10MRDMEPMOVK0D81MRDMEPMOVK0D80MRDMEPMOVK0D41MRDMEPBMOVD80D90K14MRDMEPMOVK0D350MPPMEPMOVK0D203/网络3功能从触摸屏对应的地址中获取谁先手的数据30H人先手58H机器人先手LDM250MPSANDK0D80OUTM201ANDPM201MPSANDH30D80MOVH30D50MPPMODBUSH106K0K1D50MPPANDK0D81OUTM202ANDPM202MPSANDH58D81MOVH58D50MPPMODBUSH106K0K1D50/网络4功能人下棋LDM201ANDK0D202LDM250LDM204ORM209ANBANDK0D202ORBMPSANDH30D30MPSOUTT200K200MEPMOVD30D310ADDK1D10D10MRDOUTM207MRDANDT200MEPMPSANDD10K4MODBUSH103K1K1D41MPPMOVK0D310MPPMEPMODBUSH106K1K1D30MRDOUTM209MRDLDT200ORM206ANBOUTM206MRDMEPMOVK0D200MPPANIM207ANIM206ANDM8011CALLPSBR_TOUCH_SCREEEN/网络5功能机器人下棋LDM202ANDD301K1LDM250LDM206ORM205ANBANDD301K1ORBMPSOUTT201K100OUTM205MRDANDT201MEPANDD40H58MODBUSH103K0K1D40MRDANDH58D40MPSMOVD40D200MEPCALLPSBR_TOUCH_SCREEENMRDMEPADDK1D10D10MRDOUTT202K200MPPANDT202MOVH58D40MOVH0D200MEPANDD10K4MODBUSH103K1K1D41MRDLDT202ORM204ANBOUTM204MRDMEPMOVK0D310MPPMEPMOVH30D30/网络6功能当棋盘的棋子数大于4是开始判断棋局的输赢状态LDM251MPSANDK0D202ANDD301K1ANDK48D41OUTM27MRDANDK0D202ANDD301K1ANDK88D41OUTM28MPPANDK0D202ANDD301K1ANDK9D41OUTM29/网络7LDM251LDM27ORM28ORM29ANBMPSANDK1D210MOVK1D350OUTT100K20MPPMOVK1D203/网络8LDM251MPSANDK1D202ANDD301K1OUTM11MPPANDD301K0ANDK0D202OUTM12PLC子程序/网络1LDM8000MPSANDH3D90MEPMOVH1D30MRDANDH3D91MEPMOVH2D30MRDANDH3D102MEPMOVH3D30MRDANDH3D103MEPMOVH4D30MRDANDH3D94MEPMOVH5D30MRDANDH3D95MEPMOVH6D30MRDANDH3D96MEPMOVH7D30MRDANDH3D97MEPMOVH8D30MPPANDH3D98MEPMOVH9D30/网络2LDM8000MPSANDK1D40MOVK2D90MRDANDK2D40MOVK2D91MRDANDK3D40MOVK2D102MRDANDK4D40MOVK2D103MRDANDK5D40MOVK2D94MRDANDK6D40MOVK2D95MRDANDK7D40MOVK2D96MRDANDK8D40MOVK2D97MPPANDK9D40MOVK2D98/网络3LDM8000SSRET附录三单片机程序评估法程序INTACCESSMENTUCHART13UCHART2,UCHARADDR,UCHARI,UCHARJUCHARK0INTVALUE0,Z0FORK0K0接收并判断下棋信号INCRR5推球计数WAITINPOSR20SETMODBUSREG65200,R2,1机器人离开零点标志位WAITINPOSJUMPP10,V30,Z0,LH20,MH20,RH20运动到推球起点SWITCHR5判断推球位置CASE1MOVLP11,V20,Z0推出第一个球BREAKCASE2MOVLP12,V30,Z0推出第二个球BREACASE3MOVLP13,V30,Z0推出第三个球BREAKCASE4MOVLP14,V30,Z0推出第四个球BREAKCASE5MOVLP15,V30,Z0推出第五个球BREAKENDSWITCHJUMPP0,V30,Z0,LH15,MH20,RH15运动到拿球点DELAYT03SETOUT8,ON气爪夹球JUMPP20,V30,Z0,LH40,MH10,RH0运动到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论