CN111562844B - 一种全自动博弈中国象棋系统 - Google Patents
一种全自动博弈中国象棋系统 Download PDFInfo
- Publication number
- CN111562844B CN111562844B CN202010364097.XA CN202010364097A CN111562844B CN 111562844 B CN111562844 B CN 111562844B CN 202010364097 A CN202010364097 A CN 202010364097A CN 111562844 B CN111562844 B CN 111562844B
- Authority
- CN
- China
- Prior art keywords
- chess
- playing
- moving
- user
- pieces
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F3/00—Board games; Raffle games
- A63F3/02—Chess; Similar board games
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Toys (AREA)
Abstract
本发明涉及一种全自动博弈中国象棋系统。该系统中人机交互模块用于收录用户的语音信息;对弈决策模块用于根据语音信息得到棋子的移动位置;棋子移动模块用于根据棋子的移动位置确定棋子的移动路径;移动装置中每个棋子底座固定有铁片,所有落点位置中行和列分别对应行继电器和列继电器,落点位置对应电磁铁;列继电器的正极均连接至电源的正极,每个列继电器的负极与对应列的所有电磁铁连接;行继电器的负极均连接至电源的负极,每个行继电器的正极与对应行的所有电磁铁连接;处理器用于控制所有继电器的通断状态,使经过的落点位置电磁铁处于通电状态,不经过电磁铁处于断电状态。本发明可以降低自动博弈的控制复杂性,降低博弈过程的噪声。
Description
技术领域
本发明涉及象棋控制领域,特别是涉及一种全自动博弈中国象棋系统。
背景技术
一套全自动博弈的中国象棋系统主要包括如下三个部分:1、人机交互;2、对弈决策;3、自动走棋。下面从这3个部分对现有技术进行说明。
人机交互需要完成对弈人的指令输入和对弈输入指令到棋子移动指令的转换,以及对每次棋子移动后棋盘内棋子位置的感知。现有的技术都比较依赖复杂的设备。现有的做法有如下几种:1、对弈人直接移动棋子完成对弈指令输入,然后依赖在棋盘或者棋盘与棋子都加装的传感器感应设备,如电磁波或压感实现棋盘上棋子位置的感知;也有依赖摄像头,利用摄像头和图像处理相关算法,完成棋盘上棋子位置的感知。2、依赖手机、电脑等额外设备,将系统与手机或电脑,通过蓝牙或以太网络的方式进行连接,在手机端或电脑端进行下棋操作,完成对弈指令输入后由此额外设备完成输入指令到棋子移动指令的转换,棋盘进行实物的反映;或者通过键盘,直接键盘输入行列坐标确定选棋和移动位置等等,完成对弈指令输入。以上方法无论怎样都需要纷繁复杂的额外装置或者设备,十分影响对弈体验。
对弈决策需要完成对对弈人走棋后,机器走棋对策的产生。对弈决策方面,现有技术通常利用棋谱的方法,预存大量的棋谱,通过Minimax/Alpha-beta剪枝算法等搜索方法,搜索与棋谱中最相近的情况,确定对弈的决策。现有的象棋引擎技术都不具备较高的棋力,无法与高手对弈,并且棋力比较固定。
自动走棋需要完成棋子在象棋棋盘上的自动移动。因此自动走棋部分是全自动博弈的中国象棋系统能够实现全自动人机对弈的关键。棋子移动方面,现有的技术都是通过控制机械臂的方式实现走棋的,通过电机控制,实现在固定导轨上的机械臂的移动,来完成棋子的牵引移动,机械臂的移动需要电机的配合,但是会有噪声较大、同时一次只能移动一个棋子、相应的控制较为复杂、通常机械臂的尺寸比棋盘更大等缺点。
发明内容
本发明的目的是提供一种全自动博弈中国象棋系统,以降低自动博弈的控制复杂性,降低博弈过程的噪声。
为实现上述目的,本发明提供了如下方案:
一种全自动博弈中国象棋系统,包括人机交互模块、对弈决策模块、棋子移动模块和移动装置;
所述人机交互模块用于收录用户的语音信息,并将所述语音信息发送至所述对弈决策模块;
所述对弈决策模块用于根据所述语音信息得到棋子的移动位置,并将所述移动位置输出至所述棋子移动模块;所述棋子的移动位置包括所述棋子的起始位置和目标位置;
所述移动装置包括:棋子、行继电器、列继电器、电磁铁、电源和处理器;每个棋子底座固定有铁片;棋子的落点位置包括对弈区域和弃子区域,棋子的所有落点位置形成多行多列的点阵结构,所述点阵结构的每一行对应一个所述行继电器,所述点阵结构的每一列对应一个所述列继电器,所述点阵结构的每一个落点位置对应一个所述电磁铁;所有列继电器的第一电极均相连并接入所述电源的第一电极,每个列继电器的第二电极与对应列的所有电磁铁的第一端连接;所有行继电器的第二电极均相连并接入所述电源的第二电极,每个行继电器的第一电极与对应行的所有电磁铁的第二端连接;所述第一电极为正极或负极,所述第二电极与所述第一电极为不同的电极;所有列继电器和所有行继电器的控制端均与所述处理器连接;
所述棋子移动模块用于根据所述棋子的移动位置确定所述棋子的移动路径,并将所述移动路径发送至所述移动装置的处理器;所述棋子的移动路径中包括所述棋子移动过程经过的落点位置;
所述处理器用于根据所述移动路径控制所有行继电器和所有列继电器的通断状态,使所述棋子移动过程经过的落点位置对应的电磁铁处于通电状态,所述棋子移动过程不经过的落点位置对应的电磁铁处于断电状态。
可选的,所述人机交互模块还用于判断所述用户的语音信息是否符合象棋走棋规则;当所述用户的语音信息符合象棋走棋规则时,将所述语音信息发送至所述对弈决策模块;当所述用户的语音信息不符合象棋走棋规则时,不响应所述语音信息。
可选的,所述人机交互模块包括:拾音单元和语音识别单元;
所述拾音单元用于收录声音,并将收录的声音转化为电信号输出至所述语音识别单元;
所述语音识别单元用于采用NLP相关算法对所述声音进行识别,得到用户的语音信息;所述语音信息为所述声音对应的信息的字符串。
可选的,所述对弈决策模块采用基于AlphaGo Zero深度学习算法和MCTS算法的对弈引擎根据所述语音信息得到棋子的移动位置;所述对弈引擎包括:第一对弈单元、对弈推测单元和第二对弈单元;
所述第一对弈单元用于根据所述语音信息得到用户棋子的移动坐标组,并将所述用户棋子的移动坐标组输出至所述棋子移动模块;所述用户棋子的移动坐标组包括用户棋子的起始坐标和目标坐标;
所述对弈推测单元用于根据所述用户棋子的移动坐标组判断所述用户棋子的目标位置处是否有对弈方棋子被吃;
所述第二对弈单元用于当所述用户棋子的目标位置处有对弈方棋子被吃时,确定对弈方被吃棋子的移动坐标组,并将所述对弈方被吃棋子的移动坐标组输出至所述棋子移动模块;所述对弈方被吃棋子的移动坐标组包括对弈方被吃棋子的起始坐标和目标坐标;所述对弈方被吃棋子的目标坐标为弃子区域中与所述对弈方被吃棋子的起始坐标最近的空闲落点位置的坐标。
可选的,所述棋子移动模块包括第一移动单元和第二移动单元;
所述第一移动单元用于根据所述用户棋子的移动坐标组生成用户棋子的移动路径;
所述第二移动单元用于根据所述对弈方被吃棋子的移动坐标组生成对弈方被吃棋子的移动路径;所述用户棋子的移动路径和所述对弈方被吃棋子的移动路径之间无交叉。
可选的,所述对弈推测单元还用于当所述移动装置完成用户语音信息对应的棋子移动后,确定对弈方的对弈决策;所述对弈决策为对弈方胜率最高的对弈策略;
所述第一对弈单元还用于根据所述对弈决策得到对弈方棋子的移动坐标组,并将所述对弈方棋子的移动坐标组输出至所述棋子移动模块;所述对弈方棋子的移动坐标组包括对弈方棋子的起始坐标和目标坐标;
所述第二对弈单元还用于当所述对弈方棋子的目标位置处有用户棋子被吃时,确定用户被吃棋子的移动坐标组,并将所述用户被吃棋子的移动坐标组输出至所述棋子移动模块;所述用户被吃棋子的移动坐标组包括用户被吃棋子的起始坐标和目标坐标;所述用户被吃棋子的目标坐标为弃子区域中与所述用户被吃棋子的起始坐标最近的空闲落点位置的坐标。
可选的,所述第一移动单元还用于根据所述对弈方棋子的移动坐标组生成对弈方棋子的移动路径;
所述第二移动单元用于根据所述用户被吃棋子的移动坐标组生成用户被吃棋子的移动路径;所述对弈方棋子移动路径和所述用户被吃棋子移动路径之间无交叉。
可选的,所述移动装置中棋子的所有落点位置包括:每个棋格的四个角点位置、每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
可选的,所述棋子移动模块按照先纵向移动后横向移动的规则确定所述棋子的移动路径,所述棋子的移动路径中除棋子的起始位置和目标位置之外的其他落点位置均为棋格中线上的落点位置;棋格中线上的落点位置包括每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明通过在实物棋盘上自动完成人机双方棋子移动的操作,在现实世界中实现了棋子自行移动,完成人机对弈的科幻场景。本发明的象棋引擎技术利用MCTS搜索算法和深度学习算法,使得棋力可以随着学习网络的训练不断提高。而且,本发明电磁铁点阵的牵引技术中,移动过程不存在巨大的噪音,并且可以同时控制多个电磁铁的通断,实现同时移动多个棋子,控制方面只有简单的通断控制,且电磁点阵是部署于棋盘下方的,不会要求超出棋盘范围的额外空间,因此,克服了基于机械臂移动棋子方式带来的诸多缺点,如噪声较大、单个移动、控制复杂、尺寸要求高等。本发明中采用的设计不会在棋子移动时产生噪声,并且可以多个棋子同时移动,且控制简单,不需要额外交互设备,不需要超出棋盘的额外空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明全自动博弈中国象棋系统的结构示意图;
图2为本发明具体实施例中全自动博弈中国象棋系统的结构示意图;
图3为本发明具体实施例中棋盘坐标示意图;
图4为本发明具体实施例中移动装置的横截面示意图;
图5为本发明具体实施例中电磁铁坐标示意图;
图6为本发明具体实施例中继电器与电磁铁的连接关系示意图;
图7为本发明具体实施例中棋子“马”路径示意图;
图8为本发明具体实施例中棋子“象”路径示意图;
图9为本发明具体实施例中棋子“士”路径示意图;
图10为本发明具体实施例中棋子“炮”路径示意图;
图11为本发明具体实施例中棋子“马”与弃子的路径示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明全自动博弈中国象棋系统的结构示意图。如图1所示,本发明全自动博弈中国象棋系统包括:人机交互模块1、对弈决策模块2、棋子移动模块3和移动装置4。
所述人机交互模块1用于收录用户的语音信息,并将所述语音信息发送至所述对弈决策模块2。具体的,所述人机交互模块1包括:拾音单元和语音识别单元;所述拾音单元用于收录声音,并将收录的声音转化为电信号输出至所述语音识别单元;所述语音识别单元用于采用NLP相关算法对所述声音进行识别,得到用户的语音信息;所述语音信息为所述声音对应的信息的字符串。此外,本发明的人机交互模块还会进一步对识别的用户的语音信息是否符合象棋走棋规则进行判断。当所述用户的语音信息符合象棋走棋规则时,将所述语音信息发送至所述对弈决策模块;当所述用户的语音信息不符合象棋走棋规则时,不响应所述语音信息。
所述对弈决策模块2用于根据所述语音信息得到棋子的移动位置,并将所述移动位置输出至所述棋子移动模块3;所述棋子的移动位置包括所述棋子的起始位置和目标位置。对弈决策模块2采用基于AlphaGo Zero深度学习算法和MCTS算法的对弈引擎得到棋子的移动位置。具体的,所述对弈引擎包括:第一对弈单元、对弈推测单元和第二对弈单元。
对于用户来说,所述第一对弈单元用于根据所述语音信息得到用户棋子的移动坐标组,并将所述用户棋子的移动坐标组输出至所述棋子移动模块;所述用户棋子的移动坐标组包括用户棋子的起始坐标和目标坐标。所述对弈推测单元用于根据所述用户棋子的移动坐标组判断所述用户棋子的目标位置处是否有对弈方棋子被吃。所述第二对弈单元用于当所述用户棋子的目标位置处有对弈方棋子被吃时,确定对弈方被吃棋子的移动坐标组,并将所述对弈方被吃棋子的移动坐标组输出至所述棋子移动模块;所述对弈方被吃棋子的移动坐标组包括对弈方被吃棋子的起始坐标和目标坐标;所述对弈方被吃棋子的目标坐标为弃子区域中与所述对弈方被吃棋子的起始坐标最近的空闲落点位置的坐标。
对于对弈方来说,所述对弈推测单元用于当所述移动装置完成用户语音信息对应的棋子移动后,确定对弈方的对弈决策;所述对弈决策为对弈方胜率最高的对弈策略。所述第一对弈单元还用于根据所述对弈决策得到对弈方棋子的移动坐标组,并将所述对弈方棋子的移动坐标组输出至所述棋子移动模块;所述对弈方棋子的移动坐标组包括对弈方棋子的起始坐标和目标坐标。所述第二对弈单元还用于当所述对弈方棋子的目标位置处有用户棋子被吃时,确定用户被吃棋子的移动坐标组,并将所述用户被吃棋子的移动坐标组输出至所述棋子移动模块;所述用户被吃棋子的移动坐标组包括用户被吃棋子的起始坐标和目标坐标;所述用户被吃棋子的目标坐标为弃子区域中与所述用户被吃棋子的起始坐标最近的空闲落点位置的坐标。
所述移动装置4包括:棋子、行继电器、列继电器、电磁铁、电源和处理器;每个棋子底座固定有铁片;棋子的落点位置包括对弈区域和弃子区域,棋子的所有落点位置形成多行多列的点阵结构,所述点阵结构的每一行对应一个所述行继电器,所述点阵结构的每一列对应一个所述列继电器,所述点阵结构的每一个落点位置对应一个所述电磁铁;所有列继电器的第一电极均相连并接入所述电源的第一电极,每个列继电器的第二电极与对应列的所有电磁铁的第一端连接;所有行继电器的第二电极均相连并接入所述电源的第二电极,每个行继电器的第一电极与对应行的所有电磁铁的第二端连接;所述第一电极为正极或负极,所述第二电极与所述第一电极为不同的电极;所有列继电器和所有行继电器的控制端均与所述处理器连接。所述处理器用于根据棋子移动模块3生成的移动路径控制所有行继电器和所有列继电器的通断状态,使所述棋子移动过程经过的落点位置对应的电磁铁处于通电状态,所述棋子移动过程不经过的落点位置对应的电磁铁处于断电状态。
所述移动装置4中棋子的所有落点位置包括:每个棋格的四个角点位置、每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
所述棋子移动模块3用于根据所述棋子的移动位置确定所述棋子的移动路径,并将所述移动路径发送至所述移动装置4的处理器。所述棋子的移动路径中包括所述棋子移动过程经过的落点位置。所述棋子移动模块3按照先纵向移动后横向移动的规则确定所述棋子的移动路径,所述棋子的移动路径中除棋子的起始位置和目标位置之外的其他落点位置均为棋格中线上的落点位置;棋格中线上的落点位置包括每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
具体的,所述棋子移动模块3包括第一移动单元和第二移动单元。
对于用户来说,所述第一移动单元用于根据所述用户棋子的移动坐标组生成用户棋子的移动路径;所述第二移动单元用于根据所述对弈方被吃棋子的移动坐标组生成对弈方被吃棋子的移动路径;所述用户棋子的移动路径和所述对弈方被吃棋子的移动路径之间无交叉。
对于对弈方来说,所述第一移动单元用于根据所述对弈方棋子的移动坐标组生成对弈方棋子的移动路径;所述第二移动单元用于根据所述用户被吃棋子的移动坐标组生成用户被吃棋子的移动路径;所述对弈方棋子移动路径和所述用户被吃棋子移动路径之间无交叉。
下面结合一个具体实施例进一步说明本发明的方案。
图2为本发明具体实施例中全自动博弈中国象棋系统的结构示意图。如图2所示,本实施例的全自动博弈中国象棋系统包括人机交互模块、对弈决策模块、棋子移动模块和移动装置。硬件包括拾音模块、FPGA嵌入式处理器以及移动装置的各个部件,移动装置的各个部件为:恒定功率电源、继电器组、印刷电路板、电磁铁点阵和棋盘棋子等。
本实施例中人机交互模块采用现有技术,由拾音单元和语音识别单元构成。拾音单元的输入端为拾音器,拾音器由驻极体话筒拾音器和放大电路组成,可以将其周围的声音收录,包括人的语音(例如“炮二平五”),转化为电信号,输出端为3管脚端子并与FPGA嵌入式处理的GPIO接口相连,通过GPIO接口将电信号送至FPGA嵌入式处理器。语音识别单元位于FPGA嵌入式处理器内,其输入端为GPIO接口接收的声音电信号,该单元利用NLP相关算法,识别出对弈人发出的语音指令信息,输出端为语音表示信息(例如“炮二平五”)的字符串,送入对弈决策模块。
本实施例中对弈决策模块的对弈推测采用现有技术,由基于AlphaGo Zero深度学习算法和MCTS算法的中国象棋对弈引擎单元构成,此模块位于FPGA嵌入式处理器内。对弈决策模块的输入端为来自人机交互模块中语音识别单元识别后表示语音信息的字符串,输出为经过对弈决策引擎计算后,得到表示棋盘中棋子要移动的目标路径,该路径是由棋盘上要移动棋子的起止点坐标表示的,如图3所示,图3为本发明具体实施例中棋盘坐标示意图。棋盘线之间相交的交点为落子点,每个落子点的位置由落子点坐标标识。棋盘中棋子要移动的目标路径,以一个棋子的初始位置坐标和目标位置坐标为一组,按组进行输出,服务于移动控制模块。
本发明中对弈引擎对对弈人下棋指令的语音输出转化为棋子移动的坐标组的原则如下。中国象棋棋谱中,对棋子位置的描述规则如下,红棋黑棋以各自棋手为参考,红棋竖线从右到左(以红棋棋手视线方向为参考)依次为一、二、三、四、五、六、七、八、九;黑棋竖线从右到左(以黑棋棋手视线方向为参考)依次为1、2、3、4、5、6、7、8、9。走红棋就以红棋棋手为参考,走黑棋就以黑棋棋手为参考。棋子向前走为进,向后走为退,平着走为平,如果两个子在同一纵线上,就用前、后表示。例如开局红棋右边的炮走到中间就叫“炮二平五”,就是炮从第二根竖线平着走到第五根竖线,在图3所示的棋盘中,左下角的落子点坐标为(0,0),因此“炮二平五”对应的落子点坐标组为(9,2)-(6,2)。
本发明中对被吃棋子坐标组的目标位置坐标生成方式说明如下:如图3所示的棋盘左右两侧各有两列用于放置弃子的位置区域,当对弈引擎判断一个棋子被判断要被吃掉,该被吃棋子目标位置坐标由对弈引擎基于选择离其最近的空着的弃子位置坐标的原则产生,得到该被吃棋子的移动坐标组。
当象棋对弈引擎接收到语音信息的输入,首先会将其转化为对应棋盘位置的坐标组,根据初始位置坐标,通过查询棋盘确定要移动的棋子;再根据目标位置,查询棋盘判断是否符合中国象棋规则。如果不符合则停止决策响应并且不会产生输出;如果符合,则继续判断是否有吃子的情况。如果没有吃子情况,则更新棋盘并将坐标组输出给移动控制部分;如果有吃子情况,则更新棋盘,并同时输出两组坐标组给移动控制模块,一组是输入的落子棋子移动坐标组,另一组是被落子棋子所吃的棋子移动坐标组。
系统在接受对弈人的正确语音指令后先响应出人的下棋行为,并在棋盘上完成棋子移动。在移动装置模块响应对弈人语音输出的下棋行为时,象棋对弈引擎完成对弈推测,通过计算后选择胜率最高的下一步走法,确定对弈方对弈的决策,并更新棋盘。更新方法与上述过程相同,如果没有吃子情况,将产生一个坐标组的输出,如果有吃子的情况将同时输出两个坐标组。在移动装置完成对弈人语音输出的下棋操作后,继续响应对弈引擎产生的对应落棋坐标组,完成对应棋子的操作。该操作完成后,结束人机对弈的一个回合操作。继续等待对弈人的下一步下棋指令,开始下一回合操作。由于中国象棋每次开局时的棋子位置固定,每回合移动棋子时对弈引擎更新棋盘信息,即更新相应棋子位置的变动,就可以保证象棋对弈引擎一直明确所有棋子的位置。
移动装置由恒定功率电源,继电器组,电磁铁点阵,印刷电路板,棋盘棋子构成。本发明中恒定功率电源提给供继电器组和电磁铁点阵合适的电压电流,使得每个继电器和电磁铁都能被正常驱动。棋盘由厚度为1-2mm的普通亚克力板构成,如图4所示,图4为本发明具体实施例中移动装置的横截面示意图。移动装置的棋盘表面印有中国象棋的图案,所有的棋子底部固定有铁质圆片,直径小于棋盘格子边长的1/2。
本实施例中电磁铁点阵共包括475个电磁铁。电磁铁点阵的设计原则为:在每个棋格的四个角点、每两个角点之间的中点位置、以及每两个中点的中心位置(即棋格的中心位置)放置电磁铁,其中电磁铁的直径不大于棋盘格子边长的1/2,且小于棋子的直径,电磁铁点阵采用矩阵排列,其排列图如图5所示,图5为本发明具体实施例中电磁铁坐标示意图。
本实施例中继电器组共有44个继电器,分为25个列继电器,19个行继电器。图6为本发明具体实施例中继电器与电磁铁的连接关系示意图,如图6所示,通过印刷电路板,每个列继电器正极电源端(或负极电源端)与其他列继电器相连并接到电源正极(或电源负极),负极电源端(或正极电源端)与对应的同一列电磁铁阵列相连;每个行继电器负极电源端(或正极电源端)与其他行继电器相连并接到电源负极(或电源正极),正极电源端(或负极电源端(或正极电源端))与对应的同一行电磁铁阵列相连。每个继电器的控制端都与FPGA嵌入式处理器的一个GPIO接口相连,当接收到有效使能信号时使电路通路,接收到无效信号时使电路断路。列继电器从左到右依次记为0,1,2,...,24,行继电器从下到上依次记为0,1,2,...,18。
如图6所示,通过印刷电路板,每一列的各个电磁铁的正极相连,并与该列对应的继电器的负极电源端连接;每一行的各个电磁铁的负极相连,并与该行对应的继电器的正极电源端连接。印刷电路板,预留继电器和电磁铁的位置,在每列各个电磁铁正极之间放置二极管,以防止多个继电器同时通路时电磁铁导通错误,并保护电路。
本发明中对电磁铁点阵中电磁铁通断的控制方法说明如下。每个电磁铁需要该行和该列的两个继电器都是通路时才会导通,只有其中一个继电器通路或没有继电器通路时不会导通,因此可以准确的控制任意电磁铁电路的通断。例如移动控制模块发出第18列继电器和第4行继电器使能有效信号,其余继电器使能无效信号,则坐标为(18,4)的电磁铁导通,其余电磁铁断电。本发明中采用的如图6所示的电路设计,可以实现任意多个电磁铁同时导通而不冲突,因此当出现吃子情况时,可以实现两个电磁铁同时导通。
当电磁铁通电时,底座装有铁片的棋子就会被电磁铁的磁力所吸引进行移动。当电磁铁点阵中的电磁铁随着控制信号,按着移动路径依次通电断电时,棋子在既定的路线上被牵引着移动至目的位置,完成移动。
棋子移动模块,由棋子移动路径规划单元和移动控制单元构成,其实现均位于FPGA嵌入式处理器内,完成对棋子移动控制信号的产生。
棋子移动路径规划单元的输入端为象棋对弈引擎发送的落子点坐标组,输出端为一系列的电磁铁坐标,该坐标是电磁铁点阵的坐标。如图5所示,电磁铁点阵中的每个电磁铁的位置由电磁铁坐标标识。本实施例中通过电磁铁点阵控制棋子移动的方法说明如下:棋子移动路径规划单元根据输入的落子点坐标组,规划出棋子的移动路径,并将该路径上对应的电磁铁的坐标,按移动指向的顺序,依次输出,服务于移动控制模块。如果出现吃子情况,则输入端获得两组坐标组,棋子移动路径规划模块会根据坐标组分别规划出两条路径,并确保路径之间不会相交,再将两条路径上对应的电磁铁坐标分别按移动顺序依次地同时输出,使得移动控制模块可以同时控制两个棋子安装规划路径进行移动。
移动控制单元的输入端为棋子移动路径规划模块产生的电磁铁坐标,输出为坐标对应的继电器的使能信号,通过GPIO接口与继电器组的使能端相连。当输入端接收到电磁铁坐标,移动控制模块将向对应继电器的GPIO接口发送使能有效信号,并保持其余的继电器使能无效,例如接收到上图4中所示的坐标(18,4),则向对应的第18列继电器和第4行继电器发送使能信号。当吃子发生时,输入端会出现同时接受两个坐标的情况,同样的,向对应的多个继电器的GPIO接口发送使能有效信号,并保持其余的继电器使能无效。
考虑到不同棋子有独特的走法,还要将弃子移动至弃子区域,同时避免碰撞。本实施例中对中国象棋所有棋子中:马、象、士、要吃棋子的炮、被吃的弃子,移动路径均采用走中线的方式,即首先移动到棋盘格子中间然后沿着格子中线,以先纵向后横向的原则,移动到目的位置附近,再从棋格中间移动到目的位置,具体棋子的路径规划如图7-图11所示,图7为本发明具体实施例中棋子“马”路径示意图;图8为本发明具体实施例中棋子“象”路径示意图;图9为本发明具体实施例中棋子“士”路径示意图;图10为本发明具体实施例中棋子“炮”路径示意图;图11为本发明具体实施例中棋子“马”与弃子的路径示意图。除上述棋子外,车、卒、将、以及不吃棋子的炮,则直接沿着棋盘的线进行移动。
举例如下:例如“炮二平五”,棋子移动路径规划模块输入为(9,2),(6,2)一组坐标组,此组坐标对应图3中的坐标值。
如图5所示,由棋子移动路径规划模块,经过坐标转换后,依次输出电磁铁坐标(18,4),(17,5),(16,5),(15,5),(14,5),(13,5),(12,4),此坐标为图5中的坐标值。
本实施例具有如下优点:
在实物棋盘上自动完成人机双方棋子移动的操作,在现实世界中实现了棋子自行移动,完成人机对弈的科幻场景。
采用自然语言处理技术,其中话筒内置于棋盘,语音处理集中在嵌入式处理器中;不会需要棋盘外的额外空间,可以与普通的棋盘一般无二,展现出在普通棋盘上与人对弈的相同环境;
象棋引擎技术利用MCTS搜索算法和深度学习算法,使得棋力可以随着学习网络的训练不断提高。
电磁铁点阵的牵引技术中,移动过程不存在巨大的噪音,并且可以同时控制多个电磁铁的通断,实现同时移动多个棋子,控制方面只有简单的通断控制,且电磁点阵是部署于棋盘下方的,不会要求超出棋盘范围的额外空间。克服了基于机械臂移动棋子方式带来的诸多缺点。如噪声较大、单个移动、控制复杂、尺寸要求高等。本发明中采用的设计不会在棋子移动时产生噪声,并且可以多个棋子同时移动,且控制简单,不需要额外交互设备,不需要超出棋盘的额外空间。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种全自动博弈中国象棋系统,其特征在于,包括人机交互模块、对弈决策模块、棋子移动模块和移动装置;
所述人机交互模块用于收录用户的语音信息,并将所述语音信息发送至所述对弈决策模块;
所述对弈决策模块用于根据所述语音信息得到棋子的移动位置,并将所述移动位置输出至所述棋子移动模块;所述棋子的移动位置包括所述棋子的起始位置和目标位置;
所述移动装置包括:棋子、行继电器、列继电器、电磁铁、电源和处理器;每个棋子底座固定有铁片;棋子的落点位置包括对弈区域和弃子区域,棋子的所有落点位置形成多行多列的点阵结构,所述点阵结构的每一行对应一个所述行继电器,所述点阵结构的每一列对应一个所述列继电器,所述点阵结构的每一个落点位置对应一个所述电磁铁;所有列继电器的第一电极均相连并接入所述电源的第一电极,每个列继电器的第二电极与对应列的所有电磁铁的第一端连接;所有行继电器的第二电极均相连并接入所述电源的第二电极,每个行继电器的第一电极与对应行的所有电磁铁的第二端连接;所述第一电极为正极或负极,所述第二电极与所述第一电极为不同的电极;所有列继电器和所有行继电器的控制端均与所述处理器连接;
所述棋子移动模块用于根据所述棋子的移动位置确定所述棋子的移动路径,并将所述移动路径发送至所述移动装置的处理器;所述棋子的移动路径中包括所述棋子移动过程经过的落点位置;
所述处理器用于根据所述移动路径控制所有行继电器和所有列继电器的通断状态,使所述棋子移动过程经过的落点位置对应的电磁铁处于通电状态,所述棋子移动过程不经过的落点位置对应的电磁铁处于断电状态;
所述对弈决策模块采用基于AlphaGoZero深度学习算法和MCTS算法的对弈引擎根据所述语音信息得到棋子的移动位置;所述对弈引擎包括:第一对弈单元、对弈推测单元和第二对弈单元;
所述第一对弈单元用于根据所述语音信息得到用户棋子的移动坐标组,并将所述用户棋子的移动坐标组输出至所述棋子移动模块;所述用户棋子的移动坐标组包括用户棋子的起始坐标和目标坐标;
所述对弈推测单元用于根据所述用户棋子的移动坐标组判断所述用户棋子的目标位置处是否有对弈方棋子被吃;
所述第二对弈单元用于当所述用户棋子的目标位置处有对弈方棋子被吃时,确定对弈方被吃棋子的移动坐标组,并将所述对弈方被吃棋子的移动坐标组输出至所述棋子移动模块;所述对弈方被吃棋子的移动坐标组包括对弈方被吃棋子的起始坐标和目标坐标;所述对弈方被吃棋子的目标坐标为弃子区域中与所述对弈方被吃棋子的起始坐标最近的空闲落点位置的坐标。
2.根据权利要求1所述的全自动博弈中国象棋系统,其特征在于,所述人机交互模块还用于判断所述用户的语音信息是否符合象棋走棋规则;当所述用户的语音信息符合象棋走棋规则时,将所述语音信息发送至所述对弈决策模块;当所述用户的语音信息不符合象棋走棋规则时,不响应所述语音信息。
3.根据权利要求1所述的全自动博弈中国象棋系统,其特征在于,所述人机交互模块包括:拾音单元和语音识别单元;
所述拾音单元用于收录声音,并将收录的声音转化为电信号输出至所述语音识别单元;
所述语音识别单元用于采用NLP相关算法对所述声音进行识别,得到用户的语音信息;所述语音信息为所述声音对应的信息的字符串。
4.根据权利要求1所述的全自动博弈中国象棋系统,其特征在于,所述棋子移动模块包括第一移动单元和第二移动单元;
所述第一移动单元用于根据所述用户棋子的移动坐标组生成用户棋子的移动路径;
所述第二移动单元用于根据所述对弈方被吃棋子的移动坐标组生成对弈方被吃棋子的移动路径;所述用户棋子的移动路径和所述对弈方被吃棋子的移动路径之间无交叉。
5.根据权利要求4所述的全自动博弈中国象棋系统,其特征在于,所述对弈推测单元还用于当所述移动装置完成用户语音信息对应的棋子移动后,确定对弈方的对弈决策;所述对弈决策为对弈方胜率最高的对弈策略;
所述第一对弈单元还用于根据所述对弈决策得到对弈方棋子的移动坐标组,并将所述对弈方棋子的移动坐标组输出至所述棋子移动模块;所述对弈方棋子的移动坐标组包括对弈方棋子的起始坐标和目标坐标;
所述第二对弈单元还用于当所述对弈方棋子的目标位置处有用户棋子被吃时,确定用户被吃棋子的移动坐标组,并将所述用户被吃棋子的移动坐标组输出至所述棋子移动模块;所述用户被吃棋子的移动坐标组包括用户被吃棋子的起始坐标和目标坐标;所述用户被吃棋子的目标坐标为弃子区域中与所述用户被吃棋子的起始坐标最近的空闲落点位置的坐标。
6.根据权利要求5所述的全自动博弈中国象棋系统,其特征在于,所述第一移动单元还用于根据所述对弈方棋子的移动坐标组生成对弈方棋子的移动路径;
所述第二移动单元用于根据所述用户被吃棋子的移动坐标组生成用户被吃棋子的移动路径;所述对弈方棋子移动路径和所述用户被吃棋子移动路径之间无交叉。
7.根据权利要求1所述的全自动博弈中国象棋系统,其特征在于,所述移动装置中棋子的所有落点位置包括:每个棋格的四个角点位置、每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
8.根据权利要求7所述的全自动博弈中国象棋系统,其特征在于,所述棋子移动模块按照先纵向移动后横向移动的规则确定所述棋子的移动路径,所述棋子的移动路径中除棋子的起始位置和目标位置之外的其他落点位置均为棋格中线上的落点位置;棋格中线上的落点位置包括每个棋格上相邻两个角点位置之间的中点位置和每个棋格的中心位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364097.XA CN111562844B (zh) | 2020-04-30 | 2020-04-30 | 一种全自动博弈中国象棋系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010364097.XA CN111562844B (zh) | 2020-04-30 | 2020-04-30 | 一种全自动博弈中国象棋系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111562844A CN111562844A (zh) | 2020-08-21 |
CN111562844B true CN111562844B (zh) | 2023-04-21 |
Family
ID=72074606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010364097.XA Active CN111562844B (zh) | 2020-04-30 | 2020-04-30 | 一种全自动博弈中国象棋系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111562844B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022056574A1 (en) * | 2020-09-17 | 2022-03-24 | Thomson Stephen John | Automated game board apparatus |
CN113617016A (zh) * | 2021-07-08 | 2021-11-09 | 山东师范大学 | 一种基于语音识别的棋子对弈系统及方法 |
CN114417813A (zh) * | 2021-11-26 | 2022-04-29 | 山东师范大学 | 基于中国象棋规则库的盲棋术语解析方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2738159A1 (fr) * | 1995-08-30 | 1997-03-07 | Leroy Christian Maurice Abel | Jeu d'echecs electronique muni d'une imprimante et de pendules a quartz pour l'impression des parties et des cadences |
CN103611290A (zh) * | 2013-11-11 | 2014-03-05 | 常州大学 | 一种基于实物棋盘人机对弈象棋机器人装置 |
CN107376322A (zh) * | 2017-09-21 | 2017-11-24 | 西安文理学院 | 一种基于cpu模块的电子象棋及其使用方法 |
CN107803018A (zh) * | 2017-10-20 | 2018-03-16 | 东华大学 | 基于中国象棋的机器博弈系统 |
CN107875625A (zh) * | 2017-11-23 | 2018-04-06 | 东华大学 | 一种基于语音的象棋对弈装置 |
CN110960848A (zh) * | 2020-02-10 | 2020-04-07 | 潘爱松 | 一种实体电子棋 |
-
2020
- 2020-04-30 CN CN202010364097.XA patent/CN111562844B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2738159A1 (fr) * | 1995-08-30 | 1997-03-07 | Leroy Christian Maurice Abel | Jeu d'echecs electronique muni d'une imprimante et de pendules a quartz pour l'impression des parties et des cadences |
CN103611290A (zh) * | 2013-11-11 | 2014-03-05 | 常州大学 | 一种基于实物棋盘人机对弈象棋机器人装置 |
CN107376322A (zh) * | 2017-09-21 | 2017-11-24 | 西安文理学院 | 一种基于cpu模块的电子象棋及其使用方法 |
CN107803018A (zh) * | 2017-10-20 | 2018-03-16 | 东华大学 | 基于中国象棋的机器博弈系统 |
CN107875625A (zh) * | 2017-11-23 | 2018-04-06 | 东华大学 | 一种基于语音的象棋对弈装置 |
CN110960848A (zh) * | 2020-02-10 | 2020-04-07 | 潘爱松 | 一种实体电子棋 |
Also Published As
Publication number | Publication date |
---|---|
CN111562844A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111562844B (zh) | 一种全自动博弈中国象棋系统 | |
CN107773982B (zh) | 游戏语音交互方法及装置 | |
CN111282279B (zh) | 模型训练的方法、基于交互式应用的对象控制方法及装置 | |
CN107423274A (zh) | 基于人工智能的比赛解说内容生成方法、装置及存储介质 | |
US10569163B2 (en) | Server and method for providing interaction in virtual reality multiplayer board game | |
JP4355982B2 (ja) | 集団キャラクタの移動制御方法、集団キャラクタの移動制御を含む遊戯装置、遊戯成績の演算方法及び記録媒体 | |
CN106310678A (zh) | 智能积木系统及其控制方法 | |
EP1506472A1 (en) | Dialog control for an electric apparatus | |
CN111318019B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
US6973430B2 (en) | Method for outputting voice of object and device used therefor | |
CN112546627A (zh) | 路线指引方法、装置、存储介质及计算机设备 | |
KR101712488B1 (ko) | 로봇, 스마트 블록 완구 및 이를 이용한 로봇 제어 시스템 | |
CN1202889C (zh) | 电磁驱动自动象棋 | |
CN111773669A (zh) | 一种在虚拟环境中生成虚拟对象方法及装置 | |
Zhang et al. | Design and implementation of intelligent chinese chess system device | |
CN114404976A (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
CN115115728A (zh) | 一种对话视频创建方法和相关装置 | |
JP4566038B2 (ja) | ゲーム装置およびゲーム制御方法 | |
CN108127664A (zh) | 互动型游戏npc机器人 | |
CN113476818A (zh) | 智能象棋棋盘及棋子识别方法 | |
CN113332702A (zh) | 基于强化学习的非完备信息博弈的模型决策方法及系统 | |
CN201426965Y (zh) | 一种射击游戏机 | |
CN106512378B (zh) | 具有英文字母的扑克牌及包含有该扑克牌的娱乐装置 | |
CN114425773B (zh) | 基于深度学习及龙芯派的对弈机器人系统及其对弈方法 | |
CN113546413B (zh) | 播放开场镜头的方法、装置、计算机可读存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |