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