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