關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 機(jī)器人下象棋,強(qiáng)大的對(duì)弈系統(tǒng)如何實(shí)現(xiàn)?

機(jī)器人下象棋,強(qiáng)大的對(duì)弈系統(tǒng)如何實(shí)現(xiàn)?

作者: 時(shí)間:2017-06-08 來(lái)源:網(wǎng)絡(luò) 收藏

一、項(xiàng)目概述

本文引用地址:http://www.butianyuan.cn/article/201706/352389.htm

1.1 項(xiàng)目摘要

技術(shù)是綜合了計(jì)算機(jī)、控制論、結(jié)構(gòu)學(xué)、信息與傳感技術(shù)、仿生學(xué)及人工智能等多學(xué)科的一門(mén)高新技術(shù)。目前的人機(jī)對(duì)弈軟件不直觀、缺乏真正的對(duì)弈環(huán)境,而人機(jī)正是針對(duì)這些不足而設(shè)計(jì)的。

對(duì)弈系統(tǒng)以單片機(jī)芯片為核心,利用PWM調(diào)制技術(shù)控制機(jī)械手的運(yùn)動(dòng),從而實(shí)現(xiàn)對(duì)棋子的控制;以電腦為上位機(jī),使整個(gè)系統(tǒng)的動(dòng)作協(xié)調(diào)一致;棋盤(pán)由數(shù)據(jù)采集、數(shù)據(jù)處理模塊及信息傳輸模塊組成。本系統(tǒng)的難點(diǎn)在于各棋子位置的檢測(cè)與控制及中國(guó)象棋算法的實(shí)現(xiàn)。

本機(jī)器人對(duì)弈系統(tǒng)的硬件部分由棋盤(pán)裝置、控制系統(tǒng)、機(jī)械手三部分組成。其中控制系統(tǒng)包括:電機(jī)驅(qū)動(dòng)模塊、數(shù)據(jù)發(fā)送與接收模塊等;軟件部分基于VB平臺(tái),包括中國(guó)象棋算法模塊與串口通信模塊實(shí)現(xiàn)對(duì)棋子的邏輯控制并通過(guò)串口把命令發(fā)送到機(jī)械手的控制系統(tǒng)。

本系統(tǒng)屬于娛樂(lè)機(jī)器人,實(shí)現(xiàn)人與機(jī)器人的直接對(duì)弈,既可以培養(yǎng)人們對(duì)中國(guó)象棋的興趣,又可以弘揚(yáng)我國(guó)的傳統(tǒng)文化。

1.2 項(xiàng)目背景/選題動(dòng)機(jī)

中國(guó)象棋是一中華民族優(yōu)秀而且獨(dú)一無(wú)二的傳統(tǒng)文化,也是普遍的娛樂(lè)方式,即可為老年人排遣孤獨(dú)感,又可以跟兒童下棋,做到開(kāi)發(fā)智力,鍛煉兒童的思維能力。

目前中國(guó)象棋博弈軟件己經(jīng)得到了一定的發(fā)展,像著名的“齊天大圣”博弈軟件,己經(jīng)具有了中國(guó)象棋大師的水準(zhǔn),但就人機(jī)博弈的應(yīng)用來(lái)說(shuō),單單博弈軟件還有其不足之處,比如:計(jì)算機(jī)博弈軟件不直觀生動(dòng),缺乏觀賞性,并不具備真正的對(duì)弈環(huán)境,讓對(duì)弈者找不到對(duì)弈的感覺(jué),而且長(zhǎng)時(shí)間對(duì)著計(jì)算機(jī)屏幕冷冰冰的面孔也容易產(chǎn)生枯燥乏味的感覺(jué);計(jì)算機(jī)博弈軟件對(duì)于老年博弈愛(ài)好者來(lái)說(shuō)難以適應(yīng),一是因?yàn)榕c計(jì)算機(jī)對(duì)弈需要掌握一定的計(jì)算機(jī)基礎(chǔ)才能操作,而老年博弈愛(ài)好者普遍不具備這些知識(shí),二是因?yàn)殚L(zhǎng)期坐在計(jì)算機(jī)前對(duì)老年人的身體健康很不利,因此給計(jì)算機(jī)博弈軟件在老年人中的推廣帶來(lái)困難。

國(guó)外在博弈機(jī)器人方面的研究主要集中在美國(guó)的IBM公司。IBM公司從1958年就開(kāi)始了博弈系統(tǒng)的研究,可謂開(kāi)辟了博弈系統(tǒng)研究的先河,并在此基礎(chǔ)上,不斷取得進(jìn)展,直到1997年“深藍(lán)”戰(zhàn)勝國(guó)際象棋大師卡氏帕羅夫而引起全世界各國(guó)學(xué)者的關(guān)注,而這件事不僅成為了人工智能領(lǐng)域的里程碑,也更加是博弈機(jī)器人系統(tǒng)研究領(lǐng)域的里程碑。但由于中國(guó)象棋是我國(guó)獨(dú)有的傳統(tǒng)文化,國(guó)外還沒(méi)有對(duì)中國(guó)象棋博弈系統(tǒng)的研究。

而從國(guó)內(nèi)的研究現(xiàn)狀來(lái)看,研究的參與者有高校和研究所,比如上海交大,東北大學(xué),香港理工大學(xué),鄭州機(jī)械研究所,還有企業(yè),如首鋼,再有就是由老師帶領(lǐng)的中學(xué)生機(jī)器人愛(ài)好者們。從研究的棋的種類來(lái)看,有一部分是研究中國(guó)象棋博弈系統(tǒng)的,也有研究國(guó)際象棋和其他棋類系統(tǒng)的。總體來(lái)說(shuō)他們的研究各具特色,比如研究中國(guó)象棋機(jī)器人博弈系統(tǒng)的的大多采用了開(kāi)放式機(jī)器人控制器,如首鋼是在Motorman機(jī)器人基礎(chǔ)上開(kāi)發(fā)了中國(guó)象棋機(jī)器人,上交大的機(jī)器人是國(guó)內(nèi)利用開(kāi)放式控制器開(kāi)發(fā)成功的第一臺(tái),具有較高的開(kāi)放性;博弈機(jī)器人“猜想”能完成看棋、算棋、取子下棋全過(guò)程,可以與人面對(duì)面下棋,是一臺(tái)功能較完備的博弈機(jī)器人系統(tǒng)。而最近鄭州機(jī)械研究所研制的中國(guó)象棋機(jī)器人更是智能程度和功能都比較完備。開(kāi)局前,機(jī)器人自動(dòng)擺放棋子,用普通話向?qū)Ψ浇榻B規(guī)則和注意事項(xiàng)。而且看棋、走棋,機(jī)器人30秒內(nèi)就能搞定??偟膩?lái)看,在棋局的識(shí)別方面,他們大都采用了機(jī)器視覺(jué)技術(shù),采用視覺(jué)傳感器結(jié)合圖像處理技術(shù)來(lái)識(shí)別棋盤(pán)和棋子。但同時(shí)他們也各有其不足之處:

像個(gè)頭龐大,不利于搬運(yùn)和進(jìn)入家庭;

由于機(jī)器與人下棋大而帶來(lái)的安全性等問(wèn)題;

由于采用了現(xiàn)成的開(kāi)放式機(jī)器人控制器,從而帶來(lái)的開(kāi)發(fā)成本過(guò)高的問(wèn)題;

由于采用了視覺(jué)傳感器結(jié)合圖像處理技術(shù)方案而帶來(lái)的軟件復(fù)雜程度提高,從而影響了系統(tǒng)整體處理速度。

為解決上述問(wèn)題,我們希望研究出的是一種小巧的、實(shí)用的、安全可靠的、智能化的中國(guó)象棋對(duì)弈機(jī)器人。

二、需求分析

2.1 功能要求

要求機(jī)器人對(duì)弈系統(tǒng)能夠獨(dú)立完成看棋、算棋和取子下棋的全過(guò)程。

2.2 性能標(biāo)準(zhǔn)

1、能夠進(jìn)行棋盤(pán)定位、棋子識(shí)別、棋局判斷

2、能根據(jù)程序指令從儲(chǔ)子裝置中取出圓形棋子并放置到程序指定位置

三、方案設(shè)計(jì)

3.1 系統(tǒng)功能實(shí)現(xiàn)原理

機(jī)器人對(duì)弈系統(tǒng)采用的是一種結(jié)構(gòu)簡(jiǎn)單、可行的基于的機(jī)械臂設(shè)計(jì)方案。是平面關(guān)節(jié)型機(jī)器人,在此方案中把器械臂分為若干個(gè)關(guān)節(jié)進(jìn)行移動(dòng),從而實(shí)現(xiàn)平面內(nèi)定位和定向。

硬件架構(gòu)圖

本機(jī)器人對(duì)弈系統(tǒng)以單片機(jī)芯片為核心,利用PWM調(diào)制技術(shù)控制機(jī)械手的運(yùn)動(dòng),從而實(shí)現(xiàn)對(duì)棋子的控制;以電腦為上位機(jī),使整個(gè)系統(tǒng)的動(dòng)作協(xié)調(diào)一致;棋盤(pán)由數(shù)據(jù)采集、數(shù)據(jù)處理模塊及信息傳輸模塊組成。

  • 棋盤(pán)特殊設(shè)計(jì)用來(lái)檢測(cè)每個(gè)格點(diǎn)的信息來(lái)確定棋子的位置和類別;

  • 棋盤(pán)和機(jī)械手使用一個(gè)微控制器,通過(guò)模數(shù)轉(zhuǎn)換器把棋盤(pán)每行、列的信號(hào)轉(zhuǎn)化為數(shù)字量傳到單片機(jī)進(jìn)行分析;

  • 分析棋局,然后根據(jù)人機(jī)對(duì)弈的程序算法選擇合適的棋子,進(jìn)行棋局判斷,同時(shí)產(chǎn)生控制信號(hào),并把控制信號(hào)傳回單片機(jī),由單片機(jī)控制舵機(jī)驅(qū)動(dòng)電路,指揮機(jī)械手實(shí)現(xiàn)對(duì)棋子的高速、準(zhǔn)確操作;

  • 棋術(shù)分析紀(jì)錄軟件用VB編寫(xiě),VB可視化、面向?qū)ο缶幊痰奶攸c(diǎn)以及豐富的應(yīng)用模塊,對(duì)中國(guó)象棋算法的編寫(xiě)特別有利。

系統(tǒng)硬件結(jié)構(gòu)框圖如下圖所示:

系統(tǒng)硬件結(jié)構(gòu)框圖

3.2 硬件資源配置

1、用開(kāi)發(fā)套件進(jìn)行棋盤(pán)定位、棋子識(shí)別以及放置棋子

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.開(kāi)機(jī)上電后,棋局開(kāi)始,掃描棋盤(pán)并保存棋盤(pán)數(shù)據(jù)。

2.判斷誰(shuí)為先手

3.判斷是否落子,并把棋子信息發(fā)送至上位機(jī)

4.上位機(jī)根據(jù)落子信息分析棋局,判斷棋局是否有誰(shuí)勝出,如果沒(méi)有則根據(jù)人機(jī)對(duì)弈的程序算法選擇合適的走棋方式;如果有誰(shuí)勝出則結(jié)束程序,棋局結(jié)束。

5.上位機(jī)處理完成,生成的走棋信息傳回主控

6.主控控制舵機(jī)進(jìn)行相應(yīng)的落子操作

7.再返回步驟3直至棋局結(jié)束。

程序運(yùn)行流程圖



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉