張建新 焦帥峰 范雄 陳奎 賈子偉
【摘 要】 近年來,智能機器人逐漸走進人類的日常生產(chǎn)生活,而解魔方機器人因為其無與倫比的趣味性和炫酷的交互性,正成為人工智能的研究熱點。本解魔方機器人采用了最為簡單的機械結構,通過SVM分類器實現(xiàn)對魔方色塊顏色的精準識別,通過機械步驟解算方案將解算步驟轉(zhuǎn)換成機器人可以直接執(zhí)行的機械步驟,最終完成了一個快速且穩(wěn)定的雙臂二指解魔方機器人。
【關鍵詞】 機械結構 SVM分類訓練 步驟解算 控制方案 雙臂二指
1 機械結構設計
1.1 機器人總體框架的設計
考慮到機器人要能夠?qū)崿F(xiàn)雙臂的高速旋轉(zhuǎn),框架的設計上為確保魔方機器人的平穩(wěn)運行,整體框架采用全金屬的鋁型材搭建,再則考慮到控制器模塊、電源模塊、穩(wěn)壓模塊、繼電器模塊、高頻氣閥開關、氣缸的位置擺放,使用了輕質(zhì)的木料,以此作為各個模塊結構的支撐平臺;將兩個攝像頭放置在效果最佳位置處,減少圖像識別所需的機械步驟,避免攝像頭的冗余。3D圖如圖1,實物圖如圖2。
1.2 機械臂結構
機械臂由高精確度高轉(zhuǎn)速的伺服電機、高轉(zhuǎn)速的滑環(huán)以及平行滑軌組成,兩個機械臂固定在具有45°斜角的鋁型材上,為消除電機轉(zhuǎn)軸與滑環(huán)徑向不共軸的影響,在它們之間采用彈性聯(lián)軸器,滑環(huán)定子部分固定在鋁型材上,平行滑軌與滑環(huán)轉(zhuǎn)子相連接。
1.3機械抓手
抓手是通過solid works繪制圖形,使用強度高的ABS材料進行3D打印,經(jīng)過了多次設計比較嘗試后,最終選擇了如下圖3所示的組件構成抓手。
1.4氣源支架
因氣源重量大,為使氣源容易取出,如上圖4所示,根據(jù)抽屜的工作原理,在平臺上設計了一個可以來回推動的氣源支架,當需要充氣時,可以將支架抽出,正常工作時,將氣源放于支架上,然后推入。在規(guī)定范圍內(nèi),這種設計,不僅穩(wěn)固,且方便氣源的取放。
1.5 雙攝像頭最佳擺放方案
在頂面和底面各放置一個攝像頭,一次性采集4個面的顏色(F、B、U和D),隨后只需左手帶動魔方整體轉(zhuǎn)動90度,就能采集另外兩個面的色塊信息(R和L)。通過這種方法,只需要電機轉(zhuǎn)動一次就可以將所有的色塊信息全部采集完成,減少了圖像處理的時間。
2 控制系統(tǒng)設計
采用PC作為上位機,用于控制攝像頭,將圖像處理所得信息通過串口發(fā)送給下位機;采用STM32F407主控板作為下位機,用于控制電機驅(qū)動器進而驅(qū)動伺服電機,控制繼電器進一步控制高頻電磁閥,進而控制氣動導軌,最終實現(xiàn)解魔方的功能。整體控制體系如圖5所示。
2.1控制部分軟件設計
使用通用定時器產(chǎn)生一定頻率的脈沖信號(PWM波占空比固定),再使用另一定時器對脈沖進行計數(shù)。通過伺服電機的細分數(shù)計算電機轉(zhuǎn)動90度、180度所需要的脈沖個數(shù),進而控制手臂轉(zhuǎn)動相應的角度。抓手部分使用I/O口產(chǎn)生高低電平,分別控制抓手的開閉??刂撇糠殖绦蛄鞒倘缬覉D6所示。
2.2解算步驟轉(zhuǎn)換成機械步驟
上位機產(chǎn)生解算步驟后,需要將解算步驟轉(zhuǎn)化成機械手能執(zhí)行的機械步驟,本魔方機器人有兩個操作面,規(guī)定初始時刻‘D在左手操作面,‘B在右手操作面,每一次轉(zhuǎn)動完成之后,機械手的狀態(tài)(末態(tài))組合只有三種(左右手在初位置;左手在初位置,右手不在;左手不在初位置,右手在初位置),下一次轉(zhuǎn)動從上一次機械手的末態(tài)開始,這樣就有效的減少了冗余動作。魔方之間的坐標變換如表1:
規(guī)定初始時刻魔方各個面所在的位置為參考坐標,如上圖7所示。上位機的解算步驟執(zhí)行一步,魔方各個面的位置就會在參考坐標上變換一次。每執(zhí)行一次上位機的步驟就實時更新魔方面的坐標,再配合機械手的三種末態(tài),完成上位機的步驟到機械手步驟之間的轉(zhuǎn)換。
3 基于SVM分類訓練的顏色識別方案
使用 SVM 分類器,實現(xiàn)魔方 54 個色塊的識別。首先,在正式開始識別之前, 使用攝像頭獲取魔方的 6 種色塊的在不同位置的多個樣本,將這些樣本保存在一個文件夾中, 如圖 8。 然后獲取樣本中每個像素點的 BGR 值,將這些 BGR 值作為樣本數(shù)據(jù)開始訓練,并為每種顏色的訓練數(shù)據(jù)設定相應的標簽。測試時,通過攝像頭拍攝6個面的圖片,共4張,將圖片保存在同一個文件夾中, 隨后調(diào)用照片,通過設定每個色塊的坐標,提取相應坐標的 BGR 值與實現(xiàn)訓練的6種顏色類型進行匹配,進而獲得魔方 54 個色塊的顏色。原圖如圖 9,顏色識別的效果圖如圖 10。
4 結束語
通過巧妙地機械結構設計,實現(xiàn)了整體結構的極簡性。采用SVM分類訓練使得機器人在不同的外界環(huán)境下也可以完美的識別色塊顏色,實現(xiàn)了穩(wěn)定性。通過步驟結算方案,實現(xiàn)了將解算步驟轉(zhuǎn)化為步驟最少的機械步驟,實現(xiàn)了快速性。
【參考文獻】
[1] 毛星云等編著.Opencv3編程入門[M].北京:電子工業(yè)出版社,2015.
[2] 譚浩強編著.C++面向?qū)ο蟪绦蛟O計[M].北京:清華大學出版社,2006.
[3] 白志剛編著.自動控制系統(tǒng)解析與PID整定[M].北京:化學工業(yè)出版社,2012.
[4] 代勇等編著.Visual C++網(wǎng)絡通信編程技術詳解[M].北京:機械工業(yè)出版社,2011.
[5] 謝鈞,謝希仁編著.計算機網(wǎng)絡教程:微課版[M].北京:人民郵電出版社,2018.