本站小編為你精心準(zhǔn)備了圖像識別下的智能對弈機器人設(shè)計實現(xiàn)參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要:本文設(shè)計的是一款基于OpenCV圖像識別的智能對弈機器人,我們利用上位的樹莓派進行圖像識別,通過串口控制下位的MK60單片機進行運動控制。采用機器學(xué)習(xí)KNN算法,通過攝像頭完成線條、幾何圖形的識別。采用Alpha-Beta剪枝搜索算法計算AI落子位置,控制機械臂用電磁鐵吸取棋子放到指定位置。經(jīng)多次測試,該系統(tǒng)已具備較高的穩(wěn)定性。
【關(guān)鍵詞】OpenCV;圖像識別;對弈;樹莓派;單片機
機器人技術(shù)是備受當(dāng)今世界關(guān)注的前沿課題。近年來,機器人技術(shù)取得了巨大發(fā)展,已經(jīng)對許多國家的國民經(jīng)濟和人民生活產(chǎn)生了重大影響。很多青少年都有做事精神不集中的問題,而老年人也有記憶力衰退,老年癡呆等問題。而下棋不僅可以提高他們的專注力,在觀察對手狀態(tài)的時候,也能提高記憶力、創(chuàng)造力和邏輯思維能力。因此,本文設(shè)計了一個關(guān)于井字棋的基于圖像識別的智能對弈機器人。
1總體設(shè)計方案
本系統(tǒng)的工作流程為:通過攝像頭拍攝整個棋盤,在樹莓派上使用OpenCV視覺庫對圖像進行處理,識別棋盤中的幾何圖形,運行博弈算法,解算AI落子位置。通過串口將指令發(fā)送給單片機MK60,實現(xiàn)主機與單片機MK60的通信。單片機通過PWM波控制機械臂,用電磁鐵吸取棋子放到指定位置。智能對弈機器人系統(tǒng)結(jié)構(gòu)和整體裝置見圖1和圖2。
2系統(tǒng)實現(xiàn)
2.1電路實現(xiàn)
硬件部分主要由單片機核心電路、舵機驅(qū)動電路、電磁鐵驅(qū)動電路、電源管理電路組成。單片機電源管理電路由電源芯片LM2940-5.0和TPS7333級聯(lián)組成。LM2940-5.0是輸出電壓固定的低壓差三端穩(wěn)壓器,內(nèi)含多種保護電路。TPS7333集成的精密電源電壓監(jiān)控器可對穩(wěn)壓器的輸出電壓進行監(jiān)控,輸出電流最大為500mA。單片機通過周期為20ms的PWM波驅(qū)動舵機轉(zhuǎn)動指定角度。由于舵機的供電電壓變化范圍為4~6.7V,為了使得舵機穩(wěn)定工作,且電源電壓得以統(tǒng)一,共使用兩個LM2576構(gòu)造5V穩(wěn)壓電源給四個舵機供電。LM2576具有完善的保護電路,最大輸出電流為3A。系統(tǒng)采用繼電器控制電磁鐵的開關(guān),實現(xiàn)了對棋子的吸放。為防止電磁鐵的電壓反沖造成單片機的損壞,使用了一塊光耦隔離芯片連接單片機與電磁鐵。
2.2軟件實現(xiàn)
2.2.1圖像采集樹莓派通過usb免驅(qū)動攝像頭采集圖像,搭配Ubuntu操作系統(tǒng)及OpenCV視覺庫對圖像進行處理。OpenCV作為一個開源的計算機視覺開發(fā)包,有400多個免費的圖像處理函數(shù),覆蓋了機器視覺的大多應(yīng)用領(lǐng)域。
2.2.2圖像識別我們運用機器學(xué)習(xí)KNN算法解決方框和棋子外形的識別問題。識別策略為先識別棋盤各個方框,然后再識別所在方框內(nèi)的棋子的幾何圖案,由此得出棋盤布局。該方法在定類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。通過歐氏距離計算對象間距離來作為各個對象之間的非相似性指標(biāo),避免了對象之間的匹配問題。在具體實現(xiàn)上,我們從采集的多個經(jīng)過預(yù)處理的的二值圖像,剪裁成20*20的圖片,每個圖案的樣本數(shù)量為100~200張不等。
2.2.3博弈處理進行圖像識別后,讀出對手棋子位置,并采用博弈樹極大極小值A(chǔ)lpha-Beta剪枝搜索算法計算落子位置。Alpha-Beta剪枝算法是基于極大極小搜索算法的。極大極小搜索策略是考慮雙方對弈若干步之后,從可能的步中選一步相對好的走法來走,在有限的搜索范圍內(nèi)進行求解,可以理解為規(guī)定一個有限的搜索深度。
2.3機械臂實現(xiàn)
機械臂主要由舵機、支架、碳纖桿、電磁鐵組成。先將兩個高壓數(shù)字舵機CLS6036HV搭建為一個云臺,利用碳纖桿連接數(shù)字舵機S-D5,考慮到機械臂的長度和重量,末端使用小型模擬SG90舵機連接電磁鐵。本平臺通過同時控制不同的舵機從而操控機械臂實現(xiàn)物體的搬運。
3結(jié)語
隨著人類生活水平的提高,各種類型的機器人需求隨之出現(xiàn),目前幾乎已經(jīng)滲透到生活的各個方面。本文針對使用在陪護娛樂方面的機器人進行了研究和系統(tǒng)開發(fā),設(shè)計了一個能與孩子或老人對弈,具有陪護、啟發(fā)智商、防止老年癡呆等多種功能的基于OpenCV圖像識別的智能對弈機器人。本文設(shè)計的智能對弈機器人能夠完成自主運行,達到實際控制要求。本方案在圖像信息的處理、機械臂結(jié)構(gòu)和游戲的多樣性有改進和提升的空間,適用與老人與兒童,具有一定的社會經(jīng)濟效益。
參考文獻
[1]王宜懷,吳瑾,蔣銀珍.嵌入式系統(tǒng)原理與實踐:ARMCortex-M4Kinetis微控制器[M].電子工業(yè)出版社,2012.[2]譚浩強.C程序設(shè)計(第四版)[J].計算機教育,2012.
[3]陳勝勇,劉盛.基于OpenCV的計算機視覺技術(shù)實現(xiàn)[M].科學(xué)出版社,2008.
[4]朱福喜,朱三元,伍春香.人工智能基礎(chǔ)教程[M].清華大學(xué)出版社,2006.
[5]蔡自興.機器人學(xué)[M].清華大學(xué)出版社,2000.
作者:周欣欣 燕澤昊 王廣發(fā) 單位:華南師范大學(xué)物理與電信工程學(xué)院