999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的魔方機器人系統設計

2015-05-04 22:06:51張雨田
數字技術與應用 2014年12期

張雨田

摘要:本研究在圖像識別技術的幫助下,讓樂高機器人完成解魔方的過程。在硬件條件受到限制的情況下,通過理論分析和實際測試,盡可能用合理應用函數、調整參數、適當控制外部環境變量的方式使顏色識別的準確性達到一個較高的水平。實驗中,轉魔方用的機械臂、轉盤由Lego Mindstorms NXT的零件組裝而成,魔方各個面的圖像由一個普通攝像頭拍攝,由一臺電腦進行圖像分析和還原步驟的計算。在魔方還原過程中,PC端和NXT端要運行各自的程序,程序均使用LabVIEW編寫。

關鍵詞:LabVIEW 樂高機器人 魔方 模式匹配 圖像分析

中圖分類號:TP242 文獻標識碼:A 文章編號:1007-9416(2014)12-0136-02

隨著科技的進步,越來越多的人試圖用機器人自動復原魔方。本研究參考了網上的魔方機器人的相關資料,實現了一個完整的魔方機器人系統。

1 系統結構

圖1為包括機械部分和所有外部設備在內的完整系統結構。

2 硬件實現

機械部分采用了樂高MindStorms NXT機器人套件,采用2個電機配合完成魔方的翻滾與扭轉,造型仿造了動力老男孩的博客中的魔方機器人[1]。此外,一臺計算機用于分析圖像和計算還原步驟并實時顯示魔方當前狀態,一個攝像頭用于采集圖像。

如圖2所示,攝像頭從魔方上方垂直對著魔方的角度進行拍攝,照明條件良好。使用的魔方為國甲5三階速擰魔方。

3 軟件實現

軟件部分分為PC端程序和NXT端程序兩部分。

3.1 PC端程序

PC端程序功能分為:(1)獲取圖像;(2)分析圖像;(3)查錯;(4)解魔方;(5)傳送指令。

3.1.1 獲取圖像

拍攝魔方6個面的圖像,存入指定目錄下。

3.1.2 分析圖像

分析圖像部分的功能又可以分為四大塊:(1)生成模板:生成6個面中心色塊的模板。使用的模板圖要注意參數選擇。經過理論研究和實驗測試,最后的選擇是:模板圖的類型用HSL(U32),模板的Learn Mode選的是Shift Information[2],模板的Feature Mode選的是Color。(2)生成色塊數組:用模式匹配識別魔方6個面的顏色分布,并將結果轉化為9*6魔方色塊數組。由于區分紅、橙、黃需要較高的色彩精確度,模式匹配函數的Color Sensitivity設為High Sensitivity。由于搜索的色塊間距較近,Search Strategy設為Conservative。(3)顯示魔方初始狀態:用顏色模板拼出6個面。(4)算出魔方初始狀態:查表把色塊數組轉化成規范的初始狀態字符串。

3.1.3 查錯

這部分是PC根據前一部分輸出的色塊數組,判斷該色塊數組是否合理(是否每種顏色各9塊),從而判斷是否繼續進行解魔方的操作。

3.1.4 解魔方

本研究完成的系統中解魔方模塊的采用Thistlethwaite's algorithm[3]算法,該算法和一般解魔方一層一層還原的思想不同。它一步一步減小魔方的打亂程度,使魔方變得能用越來越簡單的步驟還原。群降法的思想復雜,卻是最少步數還原魔方的最佳選擇。算法實現參考了Jaap Scherphuis編寫的[4]C++代碼。輸入魔方初始狀態(每塊的顏色,如:RU LF UB DR DL BL UL FU BD RF BR FD LDF LBD FUL RFD UFR RDB UBL RBU),輸出解魔方步驟([面][旋轉數],如:D1B3F1U3B1L2U3B2D3L2U1R1D1F2D1L2D2B2D3L2D1B2U2L2D2B2U2L2B2R2)。

3.1.5 傳送指令

將解魔方步驟分成一個一個小步,逐步傳給NXT,并在屏幕上顯示魔方當前狀態、變化趨勢、還原步驟。

3.2 NXT端程序

NXT端程序分為:(1)初始化;(2)等待;(3)還原。

3.2.1 初始化

將魔方6個面的坐標數組初始化。坐標數組用于保存魔方每個面中心顏色(ASCII碼形式)的變化。

機器人通過推和轉的動作將要拍的面翻到頂面,然后通知電腦獲取圖像,直到6個面都拍完。

3.2.2 等待

該部分NXT的主要功能就是等待接收PC向它發送的命令。PC端的分析圖像、查錯、解魔方以及一些手動操作都在NXT的等待階段完成。

3.2.3 還原

這一部分是NXT端的核心部分,包括兩類操作:翻面和轉面。翻面和轉面這兩種操作將會不斷交替進行,直到收到PC端的結束信號。

(1)翻面:這一部分,要將需要扭轉的面以最簡單的步驟翻到底面,并更新坐標數組。坐標數組保存的是U、D、L、R、F、B六個位置的面最初所在的位置。翻轉魔方用到機器人的4種操作的結合:(1)機械臂推,(2)底盤順時針轉90度,(3)底盤逆時針轉90度,(4)底盤順時針轉180度。

(2)轉面:這部分程序只需要根據收到的旋轉數1、2、3分別在機械臂卡住魔方上兩層的狀態下讓底盤逆時針轉90度、順時針轉180度、順時針轉90度。

4 實驗結果及流程

這里簡略從用戶角度介紹一下實驗流程。

4.1 模式選擇

打開PC端主程序后選擇要使用的攝像頭和通信方式(USB或藍牙)。

4.2 選擇感興趣區

程序開始運行后,PC和NXT互相配合,采集圖像,然后彈出對話框,讓用戶框出有效區。程序會在有效區中檢測線段,從而找到中心色塊,并生成6個顏色模板。

之后電腦將識別顏色,顯示出魔方的初始狀態,并判斷顏色是否正確識別。假如不正確,用戶可以選擇重新識別。

4.3 進行還原

機器人根據PC端傳來的指令不斷進行各種翻面、轉面的動作直到還原完畢。屏幕上會顯示魔方狀態圖和還原步驟。圖3為狀態圖。

4.4 實驗結束

狀態圖顯示6面同色,步驟顯示欄顯示完成,魔方還原完畢。

5 結語

目前解魔方系統的運行結果受到機械因素的影響較大,除了對于機械的改進之外還可以從改進模式匹配算法、改變顏色識別方式、增加傳感器、增加剩余時間顯示等方面進行改進。

本研究的重點在于對圖像識別技術的應用。雖然魔方機器人屬于娛樂性質,但是通過對圖像識別技術的研究,我們可以了解到機器視覺的性能、受到的限制以及一些彌補的方式,從而將這一技術沿用到更貼近生產、生活的方面。

參考文獻

[1]動力老男孩.魔方機器人.http://www.diy-robots.com/?page_id=46.

[2]National Instruments Corp.,NI Vision for LabVIEW User Manual. www.ni.com/pdf/manuals/371007b.pdf.

[3]Scherphuis, J., Thistlethwaite's 52-move algorithm. http://www.jaapsch.net/puzzles/thistle.htm.

[4]Scherphuis, J., Contest to Find a Short Program to Solve the Cube. http://tomas.rokicki.com/cubecontest/.

主站蜘蛛池模板: 日本精品视频一区二区| 国产国语一级毛片| 青青草国产精品久久久久| 国产成人三级| 国产精品第5页| 中字无码av在线电影| 玩两个丰满老熟女久久网| 一级毛片在线免费看| 国产精品人成在线播放| 亚洲精品高清视频| 精品少妇人妻无码久久| 91视频区| 亚洲熟女中文字幕男人总站| 日韩二区三区| 五月天综合网亚洲综合天堂网| 91免费国产在线观看尤物| 五月天久久婷婷| 欧美日本在线一区二区三区| 亚洲人成在线精品| 九九九精品视频| 国产区在线看| 国产精品一区在线麻豆| 亚洲另类色| 久久这里只有精品国产99| 久久男人视频| 欧美啪啪一区| 久青草网站| 国产欧美视频综合二区| 国产欧美在线观看视频| 亚洲全网成人资源在线观看| 午夜人性色福利无码视频在线观看| 成人午夜精品一级毛片| 国产内射一区亚洲| 国产亚洲欧美在线视频| 免费jjzz在在线播放国产| 国产爽妇精品| 青青草原国产| 国产网友愉拍精品| 国产噜噜在线视频观看| 日韩毛片视频| 亚洲欧州色色免费AV| 97se亚洲综合| 久久久久久久久久国产精品| 色悠久久久| 国产精品999在线| 免费A∨中文乱码专区| 国产精品黄色片| 综合天天色| 亚洲天堂久久| 国产成人乱无码视频| 日本三区视频| 中文字幕人成人乱码亚洲电影| 久久性视频| 欧美午夜在线视频| 亚洲欧洲日产无码AV| 一本大道香蕉中文日本不卡高清二区| 久久久国产精品无码专区| 九九精品在线观看| 亚洲国产成熟视频在线多多 | 亚洲中文字幕精品| 亚洲精品自产拍在线观看APP| 播五月综合| 欧美亚洲一二三区| 午夜啪啪网| 日本亚洲成高清一区二区三区| 久久精品人人做人人综合试看| 久久情精品国产品免费| 影音先锋亚洲无码| 欧美中文字幕在线视频| 久草视频精品| 黄色a一级视频| 国产乱子伦视频三区| 久久精品视频亚洲| 欧美成人综合视频| 久久香蕉国产线看观看精品蕉| 亚洲区欧美区| 亚洲成人在线网| 国产99久久亚洲综合精品西瓜tv| 国产肉感大码AV无码| 国产精品女主播| 亚洲精品麻豆| 无码福利日韩神码福利片|