解魔方機器人顏色識別遇到的問題


一.關於解魔方機器人的步驟(上位機需要做的事)

     1.上位機連接藍牙

     2.下位機通過藍牙,向上位機發送拍照信息

     3.上位機執行拍照,每隔一定時間自動拍照

     4.上位機進行顏色識別,將六個面的顏色匯總並進行算法計算,計算出一個可供下位機解析的公式

二.遇到的問題

     1.顏色識別的坐標找不准。我們顏色識別采用的是java根據圖片坐標讀取RGB,沒有采用opencv數據圖像處理,因此,需要根據坐標識別顏色,在處理中,總是找不准魔方的准確坐標,導致識別有誤

  解決方法:

  將讀取的六張圖片拿到電腦上,打開方式選擇畫圖,發現下面現實的像素是4608×3456,一定要注意這個像素,不同的手機分辨率不一樣,圖片像素也不一樣,一定要放到電腦試一試,之前一直以為是1024×768,

  導致一直讀取不正確。然后,將鼠標分別放在魔方的九個點上,獲取x,y值。

      

 

     

 

     2.找到坐標以后,顏色識別應該沒有什么問題,但是,六次拍照的順序是有要求的,上下,左右,前后,放置時要注意不能放反。如下圖,識別是從1到9的順序識別,但是如果你換個角度放,順序可能是369258147,如果確定了順序,其他面也要如此,不能換角度,識別會出錯(下位機舵機轉動順序的工作,測試時要注意)

     

 

    3.所報的幾種錯。

  Error 1:
       魔方顏色識別錯誤,統計時發現每種顏色計數不止9個,就會報錯Error 1,這個錯誤很多,因為魔方機器人對魔方要求高,最常見的是紅色和橙色傻傻分不清楚,解決方法是換色准高的魔方

  Error 2:

  Not all 12 edges exist exactly once,就像上面我說的,可能順序出現問題

  ERR 3:

       Flip error: One edge has to be flipped ,魔方錯誤,一個棱塊需要被翻轉

       ERR 4:

       Not all corners exist exactly once,魔方錯誤,不是所有的棱塊都出現一次,這種錯誤一般也是顏色識別錯誤。

  ERR 5:

       Twist error: 一個角塊需要被旋轉,一樣是魔方錯了,不過這種情況下,魔方機器人會先去還原,一般都是就可以還原到只剩那個角塊

       ERR6 :

       Parity error: 兩個角塊或者兩個中間的棱塊需要交換,一般不會出現這個錯誤

  借鑒:求助 ev3解魔方老是顏色識別錯誤

三.識別結果

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM