国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于慧魚(yú)模型和LabVIEW的智能五子棋機(jī)器人研究

2018-03-15 09:15:50馬成武
科技視界 2018年35期
關(guān)鍵詞:五子棋人工智能

馬成武

【摘 要】慧魚(yú)模型,是創(chuàng)新性極高的一種教學(xué)工具,可以組成各式各樣的模型機(jī)器人,可以模擬眾多現(xiàn)實(shí)場(chǎng)景。本研究是基于LabVIEW平臺(tái),用慧魚(yú)模型設(shè)計(jì)一個(gè)人工智能五子棋機(jī)器人,最終完成了軟件和硬件的搭建。

【關(guān)鍵詞】慧魚(yú)模型;LabVIEW;人工智能;五子棋

中圖分類(lèi)號(hào): TP18 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)35-0008-002

DOI:10.19694/j.cnki.issn2095-2457.2018.35.004

Research on Intelligent Backgammon Robot Based on Fischer Fish Model and LabVIEW

MA Cheng-wu

(School of Information and Mechanical Engineering, Shanghai Normal University, Shanghai 201418, China)

【Abstract】Fischer model is a kind of teaching tools with extremely high innovation, which is able to make various model robots and simulate many real situations. As for this research project, we design an intelligent gobang playing robot based on LabVIEW with the fischer model, and finally finishboth of the software and the hardware.

【Key words】Fischer model; LabVIEW; Artificial Intelligence; Gobang

0 引言

慧魚(yú)模型是在阿門(mén)·費(fèi)舍爾先生于1964年發(fā)明的“六面可拼接體”的基礎(chǔ)上發(fā)展而成的技術(shù)含量很高的工程技術(shù)類(lèi)智取拼裝模型,適合設(shè)計(jì)方案的探究和論證。Arduino 是一款便捷靈活、方便上手的開(kāi)源電子原型平臺(tái),能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境,從而開(kāi)發(fā)出很多互動(dòng)作品。LabVIEW是一種程序開(kāi)發(fā)環(huán)境,使用的是圖形化編輯語(yǔ)言編寫(xiě)程序,具有強(qiáng)大的信號(hào)處理、分析和連接功能。

本研究課題設(shè)計(jì)了一款基于慧魚(yú)模型和LabVIEW的人工智能五子棋機(jī)器人,基本實(shí)現(xiàn)了人與機(jī)器之間的五子棋對(duì)弈功能。硬件部分利用慧魚(yú)模型組裝和搭建控制系統(tǒng)電路,負(fù)責(zé)采集棋盤(pán)落子信息、準(zhǔn)確完成落子等。軟件部分利用Arduino和LabVIEW開(kāi)發(fā)環(huán)境編寫(xiě)相關(guān)程序,負(fù)責(zé)處理棋盤(pán)落子信息、發(fā)送下一步落子坐標(biāo)、驅(qū)動(dòng)硬件部分完成落子等,結(jié)合各種傳感器的反饋實(shí)現(xiàn)對(duì)慧魚(yú)模型基本的控制,最終實(shí)現(xiàn)機(jī)電一體化的完整設(shè)計(jì)。

1 設(shè)計(jì)內(nèi)容

1.1 硬件部分

智能五子棋機(jī)器人的硬件,主要包括攝像頭、棋盤(pán)、機(jī)械臂(橫軸和豎軸)、直流電機(jī)、電磁鐵、指示燈、小滑輪以及各種用以連接、固定、支撐的部件等。

1.2 軟件部分

LabVIEW控制程序

Labview程序由四個(gè)部分組成:圖像讀取部分,圖像處理部分,五子棋算法部分,串口通信部分。

1.2.1 圖像讀取部分

圖像讀取部分的功能為通過(guò)攝像頭將棋盤(pán)拍攝下來(lái)以便后續(xù)進(jìn)行圖像處理。

首先要用IMAQ Creat函數(shù)創(chuàng)建彩色和灰度圖像的圖像緩存,然后用IMAQdx模塊的一系列函數(shù)配置攝像頭,攝像頭直接采集到的是彩色圖像,利用IMAQ xtarctSingleColorPlane函數(shù)將其轉(zhuǎn)化為灰度圖像,其中Color Plane設(shè)置為Green。之所以轉(zhuǎn)化為灰度圖像,是因?yàn)槲遄悠逯簧婕暗胶凇缀推灞P(pán)底色三種顏色,將圖像黑白化讀取像素值即可,不需要其他復(fù)雜的顏色分析。

1.2.2 圖像處理部分

圖像處理部分是對(duì)之前得到的灰度圖像進(jìn)行處理,將攝像頭拍到的棋盤(pán)轉(zhuǎn)化成數(shù)組,作為五子棋算法程序的輸入。

由于棋盤(pán)的規(guī)格為16×16,所以在前面板創(chuàng)建了一個(gè)16×16的二維數(shù)組,數(shù)組的每一格和棋盤(pán)的每一格對(duì)應(yīng)。該二維數(shù)組用二重循環(huán)寫(xiě)入,循環(huán)參數(shù)為15。在這個(gè)循環(huán)中,第一次讀取圖像上(32,30)點(diǎn)的像素,根據(jù)像素值確定其為黑、白還是空格,黑記為2,白記為1,空記為0,寫(xiě)入數(shù)組的(1,1)格。第二次在(32,30)點(diǎn)的基礎(chǔ)上縱坐標(biāo)加30(棋盤(pán)圖像上每一格的長(zhǎng)寬都是30),得到數(shù)組上(2,1)格的信息。以此類(lèi)推,最終整個(gè)數(shù)組都被寫(xiě)入。

1.2.3 五子棋算法部分

五子棋算法計(jì)算的是機(jī)器落子的位置。輸入為棋盤(pán)數(shù)組,輸出一個(gè)長(zhǎng)度為5的字符串OUTPUT,代表落子位置和是否獲勝。

要實(shí)現(xiàn)五子棋的算法,直接用Labview編寫(xiě)較為繁瑣,因此選擇更為合適的C語(yǔ)言編寫(xiě)程序。Labview的調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)可以調(diào)用dll庫(kù),而dll可以由C程序生成,這樣就可以在Labview里調(diào)用C語(yǔ)言編寫(xiě)的程序, Labview程序框圖如圖3所示。

調(diào)用庫(kù)函數(shù)節(jié)點(diǎn)的輸入為array,即棋盤(pán)數(shù)組;輸出為X,Y,WIN,對(duì)應(yīng)表1的三個(gè)標(biāo)志。確(下轉(zhuǎn)第15頁(yè))(上接第9頁(yè))定好輸入輸出之后,用Visual C++6.0來(lái)生成dll文件。首先創(chuàng)建一個(gè)空的dll工程,然后在工程的source files創(chuàng)建一個(gè).C文件,在工程的header files中創(chuàng)建一個(gè).h文件。

在所創(chuàng)建的頭文件中添加如下代碼:

#ifndef FUNCTIONS_H

#define FUNCTIONS_H

__declspec( dllexport ) int testarray(int *array,int *X,int *Y,int *WIN);

#endif

__declspec( dllexport )不可缺少,它是用來(lái)聲明所創(chuàng)建的dll文件是用來(lái)給外部調(diào)用的。

在所創(chuàng)建的頭文件中添加如下代碼:

1.2.4 串口通信部分

串口通信部分是將OUTPUT發(fā)送到串口,利用Arduino控制電機(jī)的運(yùn)動(dòng)。程序框圖如圖4所示,

2 結(jié)果和結(jié)論

Arduino控制器是一款性能優(yōu)良的控制器,通過(guò)Arduino控制程序,實(shí)現(xiàn)了機(jī)器自動(dòng)識(shí)別,自動(dòng)落子,自動(dòng)判斷勝負(fù),可以實(shí)現(xiàn)人機(jī)博弈,是人機(jī)一體化的設(shè)計(jì)。

【參考文獻(xiàn)】

[1]修金鵬.Arduino與Labview互動(dòng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2014:35-40.

[2]Arduino官網(wǎng),http://arduino.cc/en/Main/arduinoBoardUno.

[3]巴雷特,Arduino高級(jí)開(kāi)發(fā)權(quán)威指南,機(jī)械工業(yè)出版社,2014,20,33-36.

[4]沃倫,亞當(dāng)斯,莫勒,Arduino機(jī)器人權(quán)威指南,電子工業(yè)出版社,2014,24-25.

猜你喜歡
五子棋人工智能
我校新增“人工智能”本科專(zhuān)業(yè)
Sim Sim
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
人工智能與就業(yè)
數(shù)讀人工智能
小康(2017年16期)2017-06-07 09:00:59
下一幕,人工智能!
下一幕,人工智能!
學(xué)下五子棋
90后羅運(yùn)生:五子棋是我生命的一部分
金色年華(2016年8期)2016-02-28 01:40:31
財(cái)政部長(zhǎng)吳波的“五子棋局”
合阳县| 西城区| 南皮县| 广河县| 增城市| 石台县| 开阳县| 蒲城县| 清水河县| 东乡| 龙南县| 明水县| 砚山县| 嘉义县| 肇源县| 嵊泗县| 安义县| 井研县| 潼南县| 黄陵县| 阿坝县| 沂水县| 宝山区| 吴忠市| 凤台县| 太保市| 利辛县| 六盘水市| 通河县| 简阳市| 阳泉市| 文山县| 赣榆县| 郴州市| 青神县| 鄯善县| 荃湾区| 岳普湖县| 定襄县| 乌鲁木齐市| 耒阳市|