機器人下象棋,強大的對弈系統(tǒng)如何實現(xiàn)?
一、項目概述
本文引用地址:http://m.butianyuan.cn/article/201706/352389.htm1.1 項目摘要
機器人技術(shù)是綜合了計算機、控制論、結(jié)構(gòu)學(xué)、信息與傳感技術(shù)、仿生學(xué)及人工智能等多學(xué)科的一門高新技術(shù)。目前的人機對弈軟件不直觀、缺乏真正的對弈環(huán)境,而人機對弈機器人正是針對這些不足而設(shè)計的。
本機器人對弈系統(tǒng)以單片機芯片為核心,利用PWM調(diào)制技術(shù)控制機械手的運動,從而實現(xiàn)對棋子的控制;以電腦為上位機,使整個系統(tǒng)的動作協(xié)調(diào)一致;棋盤由數(shù)據(jù)采集、數(shù)據(jù)處理模塊及信息傳輸模塊組成。本系統(tǒng)的難點在于各棋子位置的檢測與控制及中國象棋算法的實現(xiàn)。
本機器人對弈系統(tǒng)的硬件部分由棋盤裝置、控制系統(tǒng)、機械手三部分組成。其中控制系統(tǒng)包括:電機驅(qū)動模塊、數(shù)據(jù)發(fā)送與接收模塊等;軟件部分基于VB平臺,包括中國象棋算法模塊與串口通信模塊實現(xiàn)對棋子的邏輯控制并通過串口把命令發(fā)送到機械手的控制系統(tǒng)。
本系統(tǒng)屬于娛樂機器人,實現(xiàn)人與機器人的直接對弈,既可以培養(yǎng)人們對中國象棋的興趣,又可以弘揚我國的傳統(tǒng)文化。
1.2 項目背景/選題動機
中國象棋是一中華民族優(yōu)秀而且獨一無二的傳統(tǒng)文化,也是普遍的娛樂方式,即可為老年人排遣孤獨感,又可以跟兒童下棋,做到開發(fā)智力,鍛煉兒童的思維能力。
目前中國象棋博弈軟件己經(jīng)得到了一定的發(fā)展,像著名的“齊天大圣”博弈軟件,己經(jīng)具有了中國象棋大師的水準,但就人機博弈的應(yīng)用來說,單單博弈軟件還有其不足之處,比如:計算機博弈軟件不直觀生動,缺乏觀賞性,并不具備真正的對弈環(huán)境,讓對弈者找不到對弈的感覺,而且長時間對著計算機屏幕冷冰冰的面孔也容易產(chǎn)生枯燥乏味的感覺;計算機博弈軟件對于老年博弈愛好者來說難以適應(yīng),一是因為與計算機對弈需要掌握一定的計算機基礎(chǔ)才能操作,而老年博弈愛好者普遍不具備這些知識,二是因為長期坐在計算機前對老年人的身體健康很不利,因此給計算機博弈軟件在老年人中的推廣帶來困難。
國外在博弈機器人方面的研究主要集中在美國的IBM公司。IBM公司從1958年就開始了博弈系統(tǒng)的研究,可謂開辟了博弈系統(tǒng)研究的先河,并在此基礎(chǔ)上,不斷取得進展,直到1997年“深藍”戰(zhàn)勝國際象棋大師卡氏帕羅夫而引起全世界各國學(xué)者的關(guān)注,而這件事不僅成為了人工智能領(lǐng)域的里程碑,也更加是博弈機器人系統(tǒng)研究領(lǐng)域的里程碑。但由于中國象棋是我國獨有的傳統(tǒng)文化,國外還沒有對中國象棋博弈系統(tǒng)的研究。
而從國內(nèi)對弈機器人的研究現(xiàn)狀來看,研究的參與者有高校和研究所,比如上海交大,東北大學(xué),香港理工大學(xué),鄭州機械研究所,還有企業(yè),如首鋼,再有就是由老師帶領(lǐng)的中學(xué)生機器人愛好者們。從研究的棋的種類來看,有一部分是研究中國象棋博弈系統(tǒng)的,也有研究國際象棋和其他棋類系統(tǒng)的??傮w來說他們的研究各具特色,比如研究中國象棋機器人博弈系統(tǒng)的的大多采用了開放式機器人控制器,如首鋼是在Motorman機器人基礎(chǔ)上開發(fā)了中國象棋機器人,上交大的機器人是國內(nèi)利用開放式控制器開發(fā)成功的第一臺對弈機器人,具有較高的開放性;博弈機器人“猜想”能完成看棋、算棋、取子下棋全過程,可以與人面對面下棋,是一臺功能較完備的博弈機器人系統(tǒng)。而最近鄭州機械研究所研制的中國象棋機器人更是智能程度和功能都比較完備。開局前,機器人自動擺放棋子,用普通話向?qū)Ψ浇榻B規(guī)則和注意事項。而且看棋、走棋,機器人30秒內(nèi)就能搞定??偟膩砜?,在棋局的識別方面,他們大都采用了機器視覺技術(shù),采用視覺傳感器結(jié)合圖像處理技術(shù)來識別棋盤和棋子。但同時他們也各有其不足之處:
像個頭龐大,不利于搬運和進入家庭;
由于機器與人下棋大而帶來的安全性等問題;
由于采用了現(xiàn)成的開放式機器人控制器,從而帶來的開發(fā)成本過高的問題;
由于采用了視覺傳感器結(jié)合圖像處理技術(shù)方案而帶來的軟件復(fù)雜程度提高,從而影響了系統(tǒng)整體處理速度。
為解決上述問題,我們希望研究出的是一種小巧的、實用的、安全可靠的、智能化的中國象棋對弈機器人。
二、需求分析
2.1 功能要求
要求機器人對弈系統(tǒng)能夠獨立完成看棋、算棋和取子下棋的全過程。
2.2 性能標準
1、能夠進行棋盤定位、棋子識別、棋局判斷
2、能根據(jù)程序指令從儲子裝置中取出圓形棋子并放置到程序指定位置
三、方案設(shè)計
3.1 系統(tǒng)功能實現(xiàn)原理
機器人對弈系統(tǒng)采用的是一種結(jié)構(gòu)簡單、可行的基于SCARA型機器人的機械臂設(shè)計方案。SCARA型機器人是平面關(guān)節(jié)型機器人,在此方案中把器械臂分為若干個關(guān)節(jié)進行移動,從而實現(xiàn)平面內(nèi)定位和定向。
硬件架構(gòu)圖
本機器人對弈系統(tǒng)以單片機芯片為核心,利用PWM調(diào)制技術(shù)控制機械手的運動,從而實現(xiàn)對棋子的控制;以電腦為上位機,使整個系統(tǒng)的動作協(xié)調(diào)一致;棋盤由數(shù)據(jù)采集、數(shù)據(jù)處理模塊及信息傳輸模塊組成。
棋盤特殊設(shè)計用來檢測每個格點的信息來確定棋子的位置和類別;
棋盤和機械手使用一個微控制器,通過模數(shù)轉(zhuǎn)換器把棋盤每行、列的信號轉(zhuǎn)化為數(shù)字量傳到單片機進行分析;
分析棋局,然后根據(jù)人機對弈的程序算法選擇合適的棋子,進行棋局判斷,同時產(chǎn)生控制信號,并把控制信號傳回單片機,由單片機控制舵機驅(qū)動電路,指揮機械手實現(xiàn)對棋子的高速、準確操作;
棋術(shù)分析紀錄軟件用VB編寫,VB可視化、面向?qū)ο缶幊痰奶攸c以及豐富的應(yīng)用模塊,對中國象棋算法的編寫特別有利。
系統(tǒng)硬件結(jié)構(gòu)框圖如下圖所示:
系統(tǒng)硬件結(jié)構(gòu)框圖
3.2 硬件資源配置
1、用STEVAL-MKI062V2開發(fā)套件進行棋盤定位、棋子識別以及放置棋子
2、用LM317、LM7805、變壓器等制作穩(wěn)壓電源,為系統(tǒng)提供所需的電源
3、用舵機進行棋子的抓取、移動、放置操作
3.3系統(tǒng)軟件架構(gòu)
軟件架構(gòu)圖
3.4 系統(tǒng)軟件流程
1.開機上電后,棋局開始,掃描棋盤并保存棋盤數(shù)據(jù)。
2.判斷誰為先手
3.判斷是否落子,并把棋子信息發(fā)送至上位機
4.上位機根據(jù)落子信息分析棋局,判斷棋局是否有誰勝出,如果沒有則根據(jù)人機對弈的程序算法選擇合適的走棋方式;如果有誰勝出則結(jié)束程序,棋局結(jié)束。
5.上位機處理完成,生成的走棋信息傳回主控
6.主控控制舵機進行相應(yīng)的落子操作
7.再返回步驟3直至棋局結(jié)束。
程序運行流程圖
評論