1、10申请公布号CN102008816A43申请公布日20110413CN102008816ACN102008816A21申请号200910189886822申请日20090907A63F3/0220060171申请人周四红地址518028广东省深圳市福田区百花四路8号5栋A80972发明人周四红54发明名称一种电子棋盘装置及自动行棋方法57摘要本发明公开了一种电子棋盘装置及自动行棋方法,所述电子棋盘装置包括电子棋盘和行棋装置,所述行棋装置与所述电子棋盘通信连接;其中,电子棋盘,用于获取行棋命令,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;行棋装置,用于接收所述电子棋盘发送的行棋控制指
2、令,并根据所述行棋控制指令完成行棋过程。采用本发明设计的电子棋盘装置及自动行棋方法进行人机对弈或网络对弈时,由行棋装置代替对方在棋盘上完成行棋,而不再由本地棋手代替对方完成行棋,这样可以极大地提高棋手的真实下棋体验。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书10页附图4页CN102008816A1/2页21一种电子棋盘装置,包括电子棋盘,其特征在于,所述电子棋盘装置还包括行棋装置,所述行棋装置与所述电子棋盘通信连接;其中,电子棋盘,用于获取行棋命令,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;行棋装置,用于接收所述电子棋盘发送的行棋控制指令,并
3、根据所述行棋控制指令完成行棋过程。2根据权利要求1所述的电子棋盘装置,其特征在于,所述电子棋盘具体包括行棋命令获取单元,用于获取行棋命令;行棋控制指令发送单元,用于在所述行棋命令符合行棋规则的条件下,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;所述行棋装置具体包括行棋控制指令接收单元,用于接收所述电子棋盘发送的行棋控制指令;行棋控制单元,用于根据所述行棋控制指令进行行棋控制。3根据权利要求2所述的电子棋盘装置,其特征在于,所述电子棋盘还包括行棋检查单元,用于检测所述行棋命令是否符合行棋规则和检测所述行棋命令是否存在“吃子”行为。4根据权利要求2所述的电子棋盘装置,其特征在于,所述电子
4、棋盘还包括人工智能单元,用于计算行棋位置,发送相应的行棋命令给所述行棋命令获取单元。5根据权利要求2所述的电子棋盘装置,其特征在于,所述行棋装置还包括查询单元,用于根据所述接收的行棋控制指令查询对应的棋子物理坐标;所述行棋控制单元用于根据所述行棋控制指令以及所述物理坐标进行行棋控制。6根据权利要求2所述的电子棋盘装置,其特征在于,所述行棋装置还包括行棋反馈单元,用于完成行棋后,向所述电子棋盘发送行棋完成反馈消息;所述电子棋盘在接收到所述行棋完成反馈消息后,根据当前棋盘上的棋子状态确认是否真正完成行棋过程。7根据权利要求1或2所述的电子棋盘装置,其特征在于,所述电子棋盘获取行棋命令具体为获取与电
5、子棋盘通信连接的网络侧发送的行棋命令;或获取与电子棋盘通信连接的本地电脑通过人工智能计算出的行棋命令;或获取电子棋盘通过人工智能计算出的行棋命令。8根据权利要求16任一项所述的电子棋盘装置,其特征在于,所述行棋装置为一个或多个机械臂。9一种自动行棋方法,其特征在于,所述方法运用于电子棋盘以及与所述电子棋盘通信连接的行棋装置中,其中,所述方法包括电子棋盘获取行棋命令,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;行棋装置接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制指令完成行棋过程。权利要求书CN102008816A2/2页310根据权利要求9所述的自动行棋方法,其特征在于,所述
6、方法具体包括电子棋盘获取行棋命令,检测所述行棋命令是否符合行棋规则;在所述行棋命令符合行棋规则的条件下,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;行棋装置接收所述电子棋盘发送的行棋控制指令;并根据所述行棋控制指令进行行棋控制。11根据权利要求9所述的自动行棋方法,其特征在于,所述电子棋盘获取行棋命令的步骤具体为获取与电子棋盘通信连接的网络侧发送的行棋命令;或获取与电子棋盘通信连接的本地电脑通过人工智能计算出的行棋命令;或电子棋盘通过自行计算行棋位置来获取行棋命令。12根据权利要求9所述的自动行棋方法,其特征在于,所述方法还包括在电子棋盘与行棋装置建立通信连接后,电子棋盘立即向行棋装
7、置发送一条数据指示消息,所述数据指示消息携带关键参数;行棋装置接收所述数据指示消息并获得关键参数,并根据其定位原点的设置以及所述关键参数计算和存储电子棋盘盘面上每个棋位相对于定位原点的坐标。13根据权利要求12所述的自动行棋方法,其特征在于,所述行棋装置接收行棋控制指令并进行行棋控制的步骤具体包括行棋装置根据所述接收的行棋控制指令以及所述存储的每个棋位相对于定位原点的坐标来查询对应的棋子物理坐标,并根据所述行棋控制指令以及所述物理坐标进行行棋控制。14根据权利要求12所述的自动行棋方法,其特征在于,所述方法具体包括电子棋盘获取行棋命令,检测所述行棋命令是否符合行棋规则;如果不符合规则,则反馈出
8、错信息;如果符合规则,则根据所述行棋命令和当前电子棋盘上的棋子状态进一步判断是否有被吃棋子;如果有,则在行棋控制指令中指示本次行棋信息和被吃棋子信息;如果没有,则在行棋控制指令中指示行棋信息;行棋装置收到行棋控制指令后,根据行棋信息以及所述存储的每个棋位相对于定位原点的坐标来查询相关棋位的物理坐标,并根据所述行棋控制指令以及所述物理坐标进行行棋控制。15根据权利要求9所述的自动行棋方法,其特征在于,所述方法还包括行棋装置完成行棋后,向所述电子棋盘发送行棋完成反馈消息;所述电子棋盘接收到所述行棋完成反馈消息后,根据当前棋盘上的棋子状态确认是否真正完成行棋过程。权利要求书CN102008816A1
9、/10页4一种电子棋盘装置及自动行棋方法技术领域0001本发明涉及电子技术,特别涉及一种电子棋盘装置及自动行棋方法。背景技术0002个人电脑和国际互联网的普及,为棋类爱好者提供了更多的下棋方式,例如,可以在个人电脑中安装棋类对弈软件进行人机对弈,或者通过国际互联网与其他棋手进行网络对弈,但是这两种方式都要求棋手在整个对弈过程中注视电脑屏幕,长时间注视电脑屏幕会严重影响视力导致近视,尤其是青少年和儿童。0003专利申请CN101332357A设计了一种电子围棋棋盘,专利申请2008102166913设计了一种电子象棋棋盘,而专利申请CN101380515A设计了一种电子棋类棋盘与电脑系统进行交互
10、的方法。当所设计的电子棋盘与外部电脑系统相连,并采用专利申请CN101380515A所设计的交互方法交换行棋命令和数据时,电子棋盘与电脑系统组成一个电子棋盘对弈系统,该电子棋盘对弈系统可以运行在5种对弈模式下,这些对弈模式的详细描述,请参见专利申请CN101380515A。采用这种电子棋盘对弈系统,棋手可以进行人机对弈和网络对弈,而由于这两种电子棋盘都使用了真实的棋盘和棋子,且在对弈过程中不需要注视电脑屏幕,因此保护了视力的同时还获得真实的下棋体验。0004专利申请CN101332357A所设计的电子棋盘有一个特点,就是在电子棋盘上设置有行棋位置指示灯阵列,用于指示行棋位置对于围棋,行棋位置是
11、指某一特定的棋位,对于象棋,行棋位置是指一特定行棋路径,即源行棋位置和目标行棋位置,例如在人机对弈模式下,这些行棋位置指示灯用于指出电脑系统的行棋位置;在棋谱演示模式下,这些行棋位置指示灯用于指出每一步演示行棋的行棋位置;在网络对弈模式下,这些行棋位置指示灯用于指示网络对端棋手的行棋位置。行棋位置指示灯指出行棋位置后,需要棋手代替对方在棋盘上完成行棋。0005上述电子棋盘的主要缺点是在人机对弈模式和网络对弈模式下,本地棋手必须根据行棋位置指示灯所指示的行棋位置,代替对方在电子棋盘上完成行棋,即帮助对方在棋盘上操纵棋子这导致棋手产生“左手跟右手对弈”的感觉,从而降低了真实下棋的体验。发明内容00
12、06为解决现有技术的以上问题,本发明提供一种电子棋盘装置及自动行棋方法,用于在采用电子棋盘进行对弈活动时提高棋手的真实下棋体验。0007为达到上述目的,本发明提供的一种电子棋盘装置包括电子棋盘,所述电子棋盘装置还包括行棋装置,所述行棋装置与所述电子棋盘通信连接;其中,0008电子棋盘,用于获取行棋命令,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;0009行棋装置,用于接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制说明书CN102008816A2/10页5指令完成行棋过程。0010本发明还提供了一种自动行棋方法,所述方法运用于电子棋盘以及与所述电子棋盘通信连接的行棋装置中,其中
13、,所述方法包括0011电子棋盘获取行棋命令,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令;0012行棋装置接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制指令完成行棋过程。0013采用本发明设计的电子棋盘装置及方法进行人机对弈或网络对弈时,由行棋装置代替对方在棋盘上完成行棋,而不再由本地棋手代替对方完成行棋,这样极大地提高了对弈活动的真实体验。附图说明0014图1为本发明实施例一种电子棋盘装置的结构示意图;0015图2为本发明实施例一种电子棋盘装置的逻辑结构示意图;0016图3为本发明实施例一种电子中国象棋棋盘与机械臂的安装示意图;0017图4为本发明实施例一种电子国际象棋棋盘与
14、机械臂的安装示意图;0018图5为本发明实施例一种电子围棋棋盘与机械臂的安装示意图;0019图6为本发明实施例一种电子棋盘与机械臂建立通信连接的流程图;0020图7为本发明实施例一种电子棋盘对弈系统示意图;具体实施方式0021本发明实施例提供一种可自动行棋的电子棋盘装置,使得在使用电子棋盘进行对弈活动时,棋手只需要完成自己的行棋,无须代替对方在电子棋盘上行棋,这样可以使棋手获得更加真实的下棋体验。0022如图1所示,所述电子棋盘装置,包括电子棋盘,所述电子棋盘装置还包括行棋装置,所述行棋装置与所述电子棋盘通信连接;其中,0023电子棋盘,用于获取行棋命令,根据所述行棋命令向所述行棋装置发送相应
15、的行棋控制指令;0024行棋装置,用于接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制指令完成行棋过程。0025在电子棋盘外部配备一个行棋装置,在对弈过程中,由该行棋装置代替对方在电子棋盘上完成行棋。电子棋盘通过通信接口与行棋装置连接,并使用该通信接口向行棋装置提供数据和命令,由行棋装置在电子棋盘上执行行棋。行棋装置与电子棋盘通过一个通信接口连接。通信接口可采用有线方式的直连接口,例如串行接口、并行接口、USB接口或其他特定物理接口,也可以采用无线连接接口,例如红外线接口和无线电接口。当采用有线方式的直连接口时,行棋装置与电子棋盘通过物理连接线连接,例如串行连接线、并行连接线或USB连接
16、线,此时,电子棋盘上还设置有连接插口,且电子棋盘和行棋装置都设置有相应的接口电路,例如RS232串口电路、USB接口电路或并行接口电路,这些接口电路属于现有成熟技术,本发明实施例不再详细描述。说明书CN102008816A3/10页60026如图2所示,电子棋盘主要用于获取行棋命令,根据所述行棋命令和当前电子棋盘上的棋子状态向所述行棋装置发送相应的行棋控制指令,具体包括0027行棋命令获取单元,用于获取行棋命令;0028行棋控制指令发送单元,用于在所述行棋命令符合行棋规则的条件下,根据所述行棋命令向所述行棋装置发送相应的行棋控制指令。0029可选地,所述电子棋盘还包括行棋检查单元,用于检测所述
17、行棋命令获取单元获取的行棋命令是否符合行棋规则。0030可选地,电子棋盘还可以包括人工智能单元,指示灯状态控制、按键状态检测等其他辅助功能。如果电子棋盘不包括人工智能单元,则需通过接收与电子棋盘通信连接的网络侧发送的对弈方的行棋命令,或者通过接收与电子棋盘通信连接的本地电脑通过人工智能计算出的行棋命令等方式来获取行棋命令,此时,所述电子棋盘的行棋检查单元也可以在与电子棋盘通信连接的网络侧或本地电脑上实现。如果电子棋盘包括人工智能单元,即内置有高性能CPU,则通过执行人工智能软件直接计算行棋位置、向行棋装置发送行棋命令。指示灯状态控制、按键状态检测等功能可参见申请人申请的专利CN10133235
18、7A。0031所述行棋装置主要用于接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制指令完成行棋过程,具体包括0032行棋控制指令接收单元,用于接收所述电子棋盘发送的行棋控制指令;0033行棋控制单元,用于根据所述行棋控制指令进行行棋控制。0034可选地,行棋装置还可以包括查询单元,用于根据所述接收的行棋控制指令查询对应的棋子物理坐标,具体为根据预先计算和存储的每个棋位相对于行棋装置定位原点的相对位置来查询具体行棋棋子的物理坐标。后面的实施例对“如何预先计算和存储每个棋位相对于行棋装置定位原点的相对位置”等内容进行了详细描述。0035可选地,行棋装置还可以包括行棋反馈单元,用于完成行棋后,
19、向所述电子棋盘发送行棋完成反馈消息。0036行棋装置每次完成行棋后,可以向电子棋盘发送一个行棋完成消息,以便电子棋盘判断行棋装置的控制是否出现故障,例如,电子棋盘收到行棋装置发送来的行棋完成消息,但是电子棋盘检测当前棋子状态发现并未真正完成行棋,此时则说明行棋装置的控制出现了故障或偏差,电子棋盘可以产生告警信息,比如发出告警声音等,以便棋手及时作出处理,比如复位机械臂或取走机械臂。0037行棋装置可以具有不同的物理形态,机械臂是其中的一种形态,本领域的技术人员完全可以采用能够完成接收行棋控制指令和进行行棋控制的其他行棋装置来实现。0038下面对行棋装置的一种形态机械臂的物理结构进行详细描述,一
20、种具有多自由度的机械臂,能够完成类似人类手臂的各种动作,它通常不具备人工智能和感官系统,例如视觉系统、听觉系统和触觉系统,因此机械臂的实现简单,成本低廉,适合商业应用。机械臂的主要功能,是根据电子棋盘的命令在电子棋盘上完成行棋,即执行放入棋子、取走棋子和移动棋子等动作。为了使产品具有更好用户体验,也可以将机械臂设计成类似机器人的外观和形状。另外,机械臂也可以被机器人取代,此时,机器人不需要执行行棋计算和人工智能,也可以不设置视觉系统和位置检测系统即它是一个说明书CN102008816A4/10页7功能简化的机器人。0039机械臂一般由电源、控制系统、驱动系统、机械结构和棋子抓取装置等组成,其中
21、控制系统就是机械臂的控制电路系统,它通常由各种传感器、信号处理电路、中央处理单元CPU和存储单元RAM等组成,控制系统通过传感器和外部接口收集各种信号和命令,CPU执行各种控制计算,最终将控制命令输出到驱动系统,由驱动系统驱动机械结构完成指定的动作,例如将位于机械臂末端的棋子抓取装置移动到指定坐标位置处;驱动系统,通常由一些微型动力设备组成,例如微型电机以及相应的减速机构,它们为机械臂的各种动作提供动力和方向控制;机械结构,是机械臂的结构部件,包括底座、立柱、臂杆等,也包括连接这些部件的中间部件,例如螺钉和螺拴;棋子抓取装置是机械臂的一个关键部件,它用于在电子棋盘上完成棋子的抓取、放置和移动等
22、操作,因此通常被安装在机械臂的末端。例如,在棋子中嵌入磁性材料或铁片,在机械臂末端安装一个自由垂直的圆柱体,圆柱体中设置一个电磁线圈,当机械臂末端的圆柱体到达指定棋子位置后,控制电磁线圈通电,使电磁线圈产生磁力而将棋子吸附,然后可以移动棋子,当棋子被移动到指定棋位处后,再控制电磁线圈断电,由于电磁线圈不再产生磁力而使棋子自动放置在指定棋位处,从而完成棋子的抓取、移动和放置。0040机械臂控制棋子抓取装置移动时,必须先准确计算起点位置和终点位置的坐标,甚至要求计算出移动的轨迹,这样,机械臂的控制系统才能根据起点位置和终点位置的坐标,计算出控制驱动系统的控制命令和数据,例如控制各电机转动的方向和圈
23、数。0041下面对电子棋盘和行棋装置以机械臂为例的定位安装等进行相关说明。0042图3描述了电子中国象棋棋盘与机械臂的安装位置,图4描述了电子国际象棋棋盘与机械臂的安装位置,图5描述了电子围棋棋盘与机械臂的安装位置。机械臂可以安装在电子棋盘的X轴所在一侧,本发明实施例称之为BBOTTOM侧,也可以安装在另一侧,本发明实施例称之为TTOP侧,甚至还可以安装在其他两侧,本发明实施例仅以B侧和T侧为例进行描述。0043机械臂要控制棋子抓取装置的运动轨迹,它必须设置有自己的坐标系统,例如图3中的“XY”坐标系统,而该坐标系统的原点,本发明实施例称之为机械臂的定位原点。本发明实施例假定机械臂的定位原点位
24、于机械臂底座的中心点处,而实际产品中,定位原点的位置与机械臂的产品设计相关。如图3、4和5所示,安装机械臂时,要求机械臂的定位原点与电子棋盘的轴对称线对齐。为实现各种行棋计算,电子棋盘都设置有坐标系统,坐标系统的设置请参见本申请人的其他专利申请CN101332357A和专利申请2008102166913的描述,这些坐标系统是电子棋盘为了计算行棋位置而设置的虚拟坐标系统,在电子棋盘盘面上并没有绘制出这样的坐标系统。电子棋盘盘面上,每相邻4个棋位所组成的方格的宽度为“棋格宽度”;在B侧和T侧,最外边的棋位到棋盘边缘的距离为“棋盘边距”。0044为了使机械臂的安装位置与电子棋盘的轴对称线对齐,在电子
25、棋盘和机械臂的底座上需要设置用于安装的定位孔,或者采取其他方式实现定位,例如,一种简单方便的安装定位方法,就是在棋盘边缘和机械臂底座的边缘的固定位置处设置磁性材料,如图3所示,这样当需要使用机械臂时,只要将机械臂的底座靠近电子棋盘B侧或T侧的中说明书CN102008816A5/10页8心位置处的棋盘边缘,磁性材料将吸附在一起,自动完成安装和定位,而不再使用机械臂时,只要用力拉开机械臂即可将机械臂从电子棋盘处分离。0045如图6所示,电子棋盘与机械臂除了必须完成物理连接外,两者还必须完成通信连接。电子棋盘上电启动后,周期地向通信接口发送连接请求消息,直至收到连接响应消息。而机械臂每次收到连接请求
26、消息后,立即应答一条连接响应消息。这样,一旦机械臂接入电子棋盘,很快便收到连接请求消息,而应答连接响应消息后,双方就建立了通信连接关系。当然,电子棋盘与机械臂之间还可以采用其他方法来建立通信连接,例如,由机械臂周期地发送连接请求消息,而由电子棋盘应答连接响应消息。0046下面对如何预先计算和存储每个棋位相对于行棋装置以机械臂为例定位原点的相对位置进行相关说明。0047机械臂要在电子棋盘上完成行棋,必须准确计算出每个棋位相对于机械臂定位原点的相对位置,并存储这些相对位置信息。即需要计算出每个棋位在机械臂“XY”坐标系统中的坐标,并存储这些坐标,这样,机械臂才能准确控制棋子抓取装置的移动行程和位置
27、。0048一种可行的方法是,在机械臂安装完成并完成与电子棋盘的通信连接后,电子棋盘向机械臂提供关键数据,由机械臂计算并在内存中存储每个棋位相对于定位原点的位置坐标。注对于不同的机械臂,它们的安装底座可能具有不同的尺寸,而且它们的定位原点也可能不同,因此,最佳地是由机械臂根据自身的尺寸和定位原点的位置,来计算电子棋盘上各棋位相对于定位原点的位置坐标。0049其具体过程如下电子棋盘与机械臂建立通信连接后,电子棋盘立即向机械臂发送一条数据指示消息,消息中携带以下参数0050MSGTYPE1字节消息类型。该参数指出消息数据的所携带的消息类型,即“数据指示”。POS1字节安装位置。该参数指出机械臂安装在
28、电子棋盘的B侧还是T侧,例如,0表示B侧、1表示T侧。电子棋盘上可以设置自动检测装置,例如,在电子棋盘的B侧和T侧中间位置设置一个光敏元件,安装机械臂后,机械臂会遮挡住该光敏元件,电子棋盘向机械臂提供关键数据之前,可以通过两侧的光敏元件检测机械臂位于B侧还是T侧。机械臂位于电子棋盘的不同侧边,其计算棋位的坐标的算法略有不同。BOARDTYPE1字节棋盘类型。该参数指出电子棋盘是围棋棋盘、中国象棋棋盘还是国际象棋棋盘,例如,1表示围棋、2表示中国象棋、3表示国际象棋。LINES1字节棋盘规格。该参数指出围棋棋盘的规格大小,即规格线数例如19行、19列,对于其他类型的电子棋盘,该参数无效。GRID
29、2字节棋格宽度。该参数指出棋盘上相邻4个棋位所组成的方格的宽度,单位为毫米MM。MARGIN2字节棋盘边距。该参数指出最外侧棋位到棋盘外边缘的距离,单位为毫米MM。BOARDHEIGHT2字节棋盘高度。该参数指出棋盘盘面的高度或者棋盘的厚度,单位为毫米MM。注通常,棋盘的底面与机械臂基座的底面处于同一平面。QIZIHEIGHT2字节棋子高度。该参数指出棋子上表面到下表面的距离或者棋子的厚度,单位为毫米MM。00510052机械臂获得上述关键数据后,根据其定位原点的设置,可以计算出电子棋盘盘面上每个棋位相对于定位原点的坐标,例如图3中,机械臂定位原点到电子棋盘边缘的距离为K,那么机械臂收到上述数
30、据指示消息后,可立即按照下列计算式计算出电子棋说明书CN102008816A6/10页9盘上每个棋位相对于定位原点的坐标值,并存储在内存数组中0053XYXX4GRID0054XYYKMARGINYGRID0055其中,0X8、0X9。34X,表示棋位坐标为3,4的棋位在XY坐标系统中的横坐标值,34Y,表示棋位坐标为3,4的棋位在XY坐标系统中的纵坐标值,如图3所示。如果机械臂安装在T侧,则采用另外一种计算式,这里不再描述。0056机械臂完成上述坐标计算后,进一步判断棋位的坐标是否超出机械臂的行程范围,如果超出行程范围,会导致机械臂无法对超出行程范围的棋子进行操控,因此,机械臂应进行声、光提
31、示,以提醒用户更换合适的机械臂。0057机械臂在收到行棋指令后,可以根据行棋指令指示的行棋棋位查询棋位的物理坐标,然后再根据这些物理坐标计算出控制驱动系统的控制命令和数据,例如各电机转动的方向和圈数,这样,就可以控制机械臂上配备的棋子抓取装置,进行取走棋子、放下棋子和移动棋子的操作。0058上述实施例是由机械臂获得关键参数后计算每个棋位相对于定位原点的位置坐标,当然,也可以在机械臂安装完成并完成与电子棋盘的通信连接后,由电子棋盘来自动计算每个棋位相对于定位原点的位置坐标,这种情况下,将由机械臂向电子棋盘发送数据指示消息,并提供相应的关键数据,电子棋盘发送的行棋控制指令中将直接携带行棋棋位的物理
32、坐标。0059若对弈过程中机械臂与电子棋盘的通信中断,只要通信连接被再次建立,电子棋盘将再次向机械臂提供上述关键数据。因此,在对弈过程,用户可以随时接入任何一种能够提供行棋功能的机械臂,机械臂接入后,立即处于工作状态。0060本领域的技术人员可以想到,以上所述机械臂的数量可以为一个,也可以为多个,为了提高机械臂行棋的效率,可以设置两个或多个机械臂,特别在有“吃子”对方棋子被吃掉,需拿走的情况下,多个机械臂可以同时动作,达到提高效率的目的。其连接和定位方式,与一个机械臂类似,只是程序实现稍有差异,在此不详细赘述。0061另外,本发明实施例提供了一种自动行棋方法,运用于与行棋装置通信连接的电子棋盘
33、中,具体包括0062电子棋盘获取行棋命令,根据所述行棋命令和当前电子棋盘上的棋子状态向所述行棋装置发送相应的行棋控制指令;0063行棋装置接收所述电子棋盘发送的行棋控制指令,并根据所述行棋控制指令完成行棋过程。0064一局对弈过程,就是对弈双方交替行棋的过程。电子棋盘会根据对弈模式、当前行棋方棋子颜色和本地棋手的棋子颜色,判断当前由哪方棋手行棋,例如围棋对弈中,在网络对弈模式下,若本地棋手使用黑色棋子,而当前由白方棋子行棋,则电子棋盘就可以判断当前应由网络对端的棋手行棋,即由对方行棋。当对方棋手行棋完毕后,其行棋的位置信息将通过网络传递到本地棋手的电子棋盘,电子棋盘接收对方的行棋信息对于围棋,
34、就是行棋位置和被吃棋子信息,对于象棋,就是行棋路径,也就是行棋命令后,电子棋盘向行棋装置发送行棋控制指令,命令行棋装置代替对方在电子棋盘上行棋。说明书CN102008816A7/10页100065所述自动行棋方法具体包括电子棋盘获取行棋命令,检测所述行棋命令是否符合行棋规则;如果不符合规则,则反馈出错信息,此时电子棋盘继续等待接收下一条行棋命令,不发送行棋控制指令给行棋装置;如果符合规则,则根据所述行棋命令和当前电子棋盘上的棋子状态进一步判断是否有被吃棋子;如果有,则在行棋控制指令中指示本次行棋信息和被吃棋子信息,;如果没有,则在行棋控制指令中指示行棋信息;然后根据上述判断和计算结果,向机械臂
35、发送相应的行棋控制指令指示行棋装置进行行棋。0066行棋装置收到行棋控制指令后,根据行棋信息以及所述存储的每个棋位相对于定位原点的坐标来查询相关棋位的物理坐标,并根据所述行棋控制指令以及所述物理坐标进行行棋控制。0067例如对于围棋,每次行棋都要放入当前行棋方的一个棋子,根据围棋的行棋规则,若有棋子被吃,所有被吃棋子需要从棋盘盘面上取走,因此,所述行棋控制指令可以携带以下参数0068MSGTYPE1字节消息类型。该参数指出消息数据的所携带的消息类型,即“行棋命令”。POSX1字节棋位横坐标。该参数指出行棋棋子的横坐标。POSY1字节棋位纵坐标。该参数指出行棋棋子的纵坐标。EATEDNUM1字节
36、被吃棋子数量。该参数指出本次行棋中被吃棋子的数量。本次行棋没有棋子被吃时,该参数的值为0。EATEDINFO可变字节被吃棋子信息。该参数指出所有被吃棋子的坐标信息,每个被吃棋子的坐标包括横坐标和纵坐标,例如奇数字节记录的是横坐标,偶数字节记录的是纵坐标。0069对于象棋,每次行棋都要移动当前行棋方的一个棋子,根据象棋的行棋规则,若有棋子被吃,被吃棋子需要从电子棋盘上取走,而且被吃棋子总是位于行棋棋子被移动后的目标棋位处因此,所述行棋控制指令可以携带以下参数0070MSGTYPE1字节消息类型。该参数指出消息数据的所携带的消息类型,0071消息参数长度描述消息参数长度描述消息参数长度描述即“行棋
37、命令”。POSX11字节横坐标1。该参数指出行棋棋子的源棋位的横坐标。POSY11字节纵坐标1。该参数指出行棋棋子的源棋位的纵坐标。POSX21字节横坐标2。该参数指出行棋棋子的目标棋位的横坐标。POSY21字节纵坐标2。该参数指出行棋棋子的目标棋位的纵坐标。EATEDIND1字节吃子行棋指示。该参数指出本次行棋中是否有棋子被吃,例如,1表示本次行棋中有棋子被吃,0表示无棋子被吃。说明书CN102008816A8/10页110072所述行棋装置,例如机械臂,收到行棋控制指令后,根据消息指示的棋位坐标,例如图3中的棋位3,4,在上述“预先计算和存储每个棋位相对于行棋装置定位原点的相对位置”中叙述
38、的已存储的坐标对应关系中查出该棋位相对于定位原点的坐标值,然后控制机械臂执行行棋操作。0073对于围棋,机械臂将从固定位置的棋盒中取出一个棋子并放入指定的行棋位置,若是吃子行棋,机械臂将所有被吃棋子从棋盘上取走,并放入固定位置的棋盒中;0074对于象棋,如果“吃子行棋指示”指示本次行棋有棋子被吃,机械臂先将被吃棋子即位于目标棋位处的棋子取走并放入固定位置的棋盒中,然后将行棋棋子从源棋位移动到目标棋位;0075至于机械臂如何根据棋位的物理坐标控制棋子抓取装置完成行棋操作,属于控制领域的现有技术,在此不再赘述。0076如果对弈活动过程中机械臂失效,例如不能完成行棋或者行棋错误,棋手可以立即中断电子
39、棋盘与机械臂的连接,例如拔掉机械臂与电子棋盘的通信连接线,然后由自己代替对方完成行棋。因此,本发明实施例中,当机械臂失效时,不会导致本局对弈活动无法继续进行。0077下面以一种电子棋盘对弈系统作为一种具体实施例来对以上方法进行详细说明,如图7所示,所述对弈系统是由电脑系统、电子棋盘以及机械臂组成的。0078人机对弈时,通常棋手执红色棋子先行棋,电脑系统执黑色棋子后行棋,当然棋手也可以使用黑色棋子,例如在启动人机对弈之前,棋手可以通过电子棋盘上的按键或者电脑系统提供的人机界面,为自己选择黑色棋子,此时则由电脑系统先行棋。00791安装、启动对弈系统0080棋手按图7连接电脑系统、电子棋盘和机械臂
40、,然后上电启动这些设备。电脑系统与电子棋盘、电子棋盘与机械臂将自动建立通信连接。电子棋盘与机械臂建立通信连接后,立即向机械臂发送数据指示消息,将关键数据提供给机械臂。机械臂根据这些关键数据和自身的设计参数,计算电子棋盘上每个棋位相对于机械臂的定位原点的物理坐标,并将计算出的坐标结果存储在一个二纬数组中,以便后续行棋控制时查询指定棋位的物理坐标。00812启动人机对弈0082棋手通过电子棋盘上的按键或者电脑系统提供的人机界面,将对弈模式设置为人机对弈模式,并设置人工智能的级别。通常电子棋盘上设置有“开始对弈”按键,按下这个按键后,即启动了人机对弈活动。00833棋手行棋过程0084对弈活动启动后
41、,电脑系统判断当前应由黑方首先行棋,因此向电子棋盘发送状态更新消息,消息中指出当前行棋方为红方,电子棋盘收到状态更新消息后,点亮电子棋盘上的状态指示灯,指示棋手行棋。0085棋手在电子棋盘上移动自己的棋子,完成行棋,例如将棋位1,2处的红色“炮”移动到棋位1,4。电子棋盘将自动检测到棋手已经完成行棋,并计算出行棋棋子移动的路径,包括源棋位的棋位坐标和目标棋位的棋位坐标,例如1,2、1,4,然后,电子棋盘向电脑系统发送行棋指示消息,消息中指出棋手的行棋信息。电脑系统说明书CN102008816A9/10页12中,行棋检查单元将根据行棋信息,判断棋手的行棋符合规则,还进一步判断本次行棋无棋子被吃,
42、最后,电脑系统刷新内部存储的棋子状态信息,并将该棋子状态发送给电子棋盘,然后切换到由另一方行棋的状态,即由电脑系统行棋的状态。电子棋盘收到所述棋子状态后,记录该棋子状态,用于下一步行棋的检测。00864电脑行棋过程0087由电脑系统行棋时,电脑系统首先向电子棋盘发送状态更新消息,指出当前行棋方为黑方,电子棋盘收到状态更新消息后,点亮电子棋盘上的状态指示灯,指示当前由电脑系统行棋。0088发送完状态更新消息后,电脑系统将执行人工智能单元,计算最佳的行棋位置,例如如图3所示,计算出的最佳行棋是黑色“马”从棋位3,4移动到棋位5,5。同样地,行棋检查单元判断人工智能单元计算出的行棋符合规则,且进一步
43、判断本次行棋中有棋子被吃,例如红色“炮”被吃。电脑系统向电子棋盘发送行棋控制指令,消息中指出电脑系统的行棋路径为3,4至5,5,且当前有棋子被吃。0089电子棋盘收到行棋控制指令后,由于当前由电脑系统行棋,因此电子棋盘向机械臂发送行棋控制指令,消息中同样指出行棋路径为3,4至5,5,且当前有棋子被吃。电子棋盘向机械臂发送完行棋控制指令后,开始实时检测电子棋盘上的棋子状态变化,以判断机械臂是否完成行棋。而机械臂收到行棋控制指令后,将根据消息中携带的棋位坐标,在上述二维数组中查找棋位3,4和5,5所对应的物理坐标。0090由于当前有棋子被吃,因此机械臂控制棋子抓取装置移动到棋位5,5处,将该位置处
44、的红色“炮”吸起,然后将其移动到固定位置的棋盒处,放下红色“炮”这个棋子到棋盒中。然后,机械臂再次控制棋子抓取装置移动到棋位3,4处,吸起该棋位处的黑色“马”,并移动到棋位5,5的位置,放下黑色棋子“马”。然后,机械臂将棋子抓取装置移动到初始位置,以便准备下一次行棋。0091此时,电子棋盘将立即检测到电子棋盘上的棋子状态已经发生变化,且机械臂已经代替电脑系统在电子棋盘上完成了行棋,于是,电子棋盘向电脑系统发送行棋完成消息,指出电脑系统的行棋已经完成。电脑系统刷新内部存储的棋子状态信息,并将该棋子状态发送给电子棋盘,然后切换到由另一方行棋的状态,即由棋手行棋的状态。电子棋盘收到所述棋子状态后,记
45、录该棋子状态,用于下一步行棋的检测。0092后续的处理过程,就是不断重复步骤3和4的过程,直到对弈活动结束。对弈活动是否结束,通常由电脑系统根据特殊的判决算法来判断,如何实现算法已经超出本发明实施例的范围。0093本实施例中,步骤4中移动黑色“马”吃掉红色“炮”是一个假想的行棋步骤,在实际对弈时,第二步行棋通常不会出现“马”吃“炮”的情况,除非是残局对弈。0094可见,采用本发明实施例后,机械臂可以代替电脑系统在电子棋盘上完成行棋,而无须棋手去帮电脑系统在电子棋盘上行棋,这样棋手可以获得更好的、真实的下棋体验。0095对于网络对弈,其行棋控制过程与人机对弈类似,差别仅仅在于人机对弈时,棋手的对
46、手是电脑系统,因此对手的行棋是电脑系统通过执行人工智能而计算出来说明书CN102008816A10/10页13的;网络对弈时,棋手的对手是网络对端的棋手,因此对手的行棋是对方棋手思考后完成的行棋。网络对弈时,对方棋手完成自己的行棋后,其电脑系统将通过互联网将行棋信息发送到本地棋手所使用的电脑系统。行棋信息如何在互联网上传递,通常采用IP技术,且属于现有技术,因此这里不再描述。0096可选地机械臂每次完成行棋后,可以向电子棋盘发送一个行棋完成消息,以便电子棋盘判断机械臂的控制是否出现故障,例如,电子棋盘收到机械臂发送来的行棋完成消息,但是电子棋盘检测棋子状态发现并未真正完成行棋,此时则说明机械臂
47、的控制出现了故障或偏差,电子棋盘可以产生告警信息,比如发出告警声音。0097上述实施例是以图7所示的连接方式为基础,描述人机对弈的处理过程。电脑系统、电子棋盘和机械臂之间还有一种连接方式,即电脑系统与电子棋盘连接、电脑系统与机械臂连接。这种连接方式下,机械臂不再连接电子棋盘,因此,机械臂的控制命令来自电脑系统。对于这种连接方式,电子棋盘与电脑系统建立通信连接后,需要上报电子棋盘的关键参数,机械臂与电脑系统建立通信连接后,也需要上报机械臂的关键参数,而由电脑系统根据所述关键参数计算和存储电子棋盘盘面上每个棋位相对于机械臂定位原点的坐标。对于这种连接方式下的行棋处理与上述实施例类似,因此不再详细描述。0098采用本发明实施例设计的电子棋盘装置进行人机对弈或网络对弈时,由行棋装置代替对方在棋盘上完成行棋,而不再由本地棋手代替对方完成行棋,这样可以极大地提高对弈活动的真实体验,不再有“左手跟右手对弈”的感觉。行棋装置作为电子棋盘的外部辅助设备,用户可以根据自己的需要,随时使用或终止使用行棋装置,而不影响对弈活动的正常进行这使得行棋装置的使用更加灵活方便。说明书CN102008816A1/4页14图1图2说明书附图CN102008816A2/4页15图3说明书附图CN102008816A3/4页16图4说明书附图CN102008816A4/4页17图5图6图7说明书附图
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1