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

解魔方競賽機器人設計*

2021-10-25 05:03:54玉健鴻史穎剛
機電工程技術 2021年9期

玉健鴻,李 品,張 帆,史穎剛,劉 利,谷 芳

(西北農林科技大學機械與電子工程學院,陜西咸陽712100)

0 引言

參與學科競賽,可以調動學生學習熱情,系統地理解專業知識體系,提高學生的專業能力、綜合素質、創新精神和動手能力,是提高教學質量、培養創新人才的重要途徑[1]。

魔方是一種智力玩具,采用機器人解魔方的過程具有多變性,需要設計合適的機械架構、電氣系統,并設計對應的控制算法,故解魔方機器人整體架構和控制算法設計是近幾年來的熱點[2]。

解魔方競賽機器人是中國高校智能機器人創意大賽的項目之一,要求機器人采用雙手臂,手指采用二指或五指的形式,手腕容許有轉動和擺動,手臂固定;機器人外廓尺寸不超過480 mm×480 mm×480 mm,總質量不超過20 kg;機器人攝像頭數量不限,允許機器人上增設光源。根據競賽要求,解魔方競賽機器人融合了機器視覺、機器人技術、圖像處理、魔方算法等多學科知識,若想快速、穩定地復原魔方,需要研究解魔方機器人的機械系統、電氣控制系統,開發其控制軟件。

1 機械系統設計

解魔方機器人的機械結構如圖1所示,由2個機械臂和1個底座構成,底座為厚度10 mm的中板鋁材,用于保證機器人的安裝精度和定位精度,提高系統的運行穩定性和精準性。機械臂由57步進電機驅動,通過聯軸器與MK21氣滑環旋轉運動件相連[3-4]。氣滑環上通過訂做的連接件與MHF2-12D型手指氣缸相連。在手指氣缸上安裝夾具,通過驅動手指氣缸實現對放置在固定位置魔方的抓取、固定。

圖1 機械臂三維設計

單只機械手由1個步進電機和1個平動氣缸組成,控制電磁閥開關,就可以控制氣缸的夾緊和放松,實現魔方的夾緊和松開;控制步進電機驅動器,調整步進電機細分數,就能精準控制步進電機旋轉一定角度,實現魔方的翻轉[5]。

2 控制系統設計

機器人左臂手指氣缸打開,右臂氣缸夾緊并旋轉,可使得魔方繞右臂主軸旋轉,同理也可實現魔方繞左臂主軸的旋轉。2個機械臂相互配合可以完成魔方整體順(逆)時針轉任意角度,實現以兩機械手轉動魔方6個面。

設計如圖2所示的解魔方機器人控制系統框架,搭載Linux Ubuntu 16操作系統的工控機和U2801攝像頭構成上位機,通過USB攝像頭采集魔方圖像并識別色塊圖像,處理后在工控機中通過預定程序轉化為可執行的解魔方步驟,并將其發送至下位機主控芯片STM32F103ZET6。下位機主控芯片接收工控機發送的還原魔方的數據指令后,控制氣動執行系統完成供氣、夾緊、旋轉等還原動作[6],完成魔方還原操作。系統控制流程如圖3所示。機器人解魔方程序主要包括魔方識別程序、解魔方程序、上位機和下位機之間的數據通訊程序、機械臂動作[7]。

圖2 雙臂魔方機器人控制系統總體框架 圖3系統控制流程

2.1 圖像采集

采集魔方圖像的4個攝像頭,距離魔方24 cm,如圖4所示,攝像頭1、2分別固定于魔方正上方和正下方,攝像頭3、4固定于魔方側面方向,攝像頭1、2正對魔方的棱邊,拍攝圖片包含有魔方相鄰兩面[8-9]。采用透視變換與圖像拼接的方法,可把4個攝像頭拍攝的6個魔方表面圖片拼接為一張圖片。由于夾持魔方的機械手指遮擋魔方表面的部分色塊,需要旋轉魔方90°,再次拍攝魔方照片,才能實現魔方表面圖像的一次完整采集,圖像采集流程如圖5所示。

圖4 攝像頭與魔方位置

圖5 采集圖像流程

解魔方機器人的啟動鍵后,工控機中的上位機程序接收到開始指令,接通攝像頭,每隔20 ms采集、保存一次魔方圖像。保存攝像頭拍攝圖像后,下位機轉動魔方旋轉90°,并發送動作完成標志給上位機,然后上位機發出第二次采集魔方照片與保存指令[10]。攝像頭采集圖像,完成第二次圖像保存任務后,發出圖像保存完成標志給上位機程序,上位機調用程序進入圖像處理階段。

2.2 色塊顏色識別

魔方表面的色塊顏色識別和自動追蹤色塊位置的程序,采用OpenCV3.4.0計算機視覺庫編寫。魔方與攝像頭之間位置固定不變,圖6所示的攝像頭視野中,魔方表面各個顏色塊所處的坐標位置不變。因此視覺系統直接讀取魔方表面圖像色塊中心點處10個像素點的像素值,然后取平均值,作為識別該色塊顏色的判定值[11]。

圖6 讀取像素區域

基于RGB模型識別魔方表面色塊顏色,無需格式轉換,調試過程中可以直觀觀察到各個色塊的顏色分量,但RGB模型區分顏色正確率相對較低。基于HSV模型識別魔方表面色塊的準確率高,但魔方表面圖像從RGB模型轉換到HSV模型需要1 200 ms,增加了整體運行時間。

普通光照環境下,采用RGB模型和HSV模型識別魔方表面色塊實驗各30次,結果表明,RGB模型成功識別色塊22次,正確率73.3%,HSV模型成功識別色塊29次,準確率96.7%。

若現場有強光直射或者其他顏色的雜光,采用RGB模型和HSV模型識別魔方表面色塊實驗各30次,結果表明,RGB模型成功識別色塊15次,正確率50%,HSV模型成功識別色塊28次,準確率93.3%。

因此,采用HSV模型識別魔方表面色塊顏色[11]。設k1=max(r,g,b)、k2=min(r,g,b),則RGB圖像與HSV圖像的轉換公式為:

聚類分析是在數據中發現數據對象之間的關系,將數據進行分組,組內的相似性越大,組間的差別越大,則聚類效果越好。

魔方表面有6種色塊顏色,同一色塊的不同像素點的顏色值比較相似,而不同色塊像素點的顏色值差距比較大,因此機器人視覺系統讀取同一色塊中的10個像素點的像素值,然后采用K-Means聚類算法識別魔方表面色塊的顏色[12]。

取K-Means算法的輸入樣本集D=54,簇的數目K=6,最大迭代次數100,輸出為簇劃分。具體步驟:首先,為每個聚類選擇一個初始聚類中心;然后,將樣本集按照最小距離原則分配到最鄰近聚類,使用每個聚類的樣本均值更新聚類中心;重復上述步驟,直到聚類中心不再發生變化,輸出最終的聚類中心和K個簇劃分。

魔方色塊識別流程如圖7所示。攝像頭采集魔方圖片時,采用偏振鏡濾除色塊反光,然后,存儲圖片到文件夾,將圖像從RGB顏色空間轉到HSV色彩空間,表1所示為不同閾值區分色塊顏色[7]。采用imread函數讀入圖像,進行同態濾波和降噪處理后,合并成一張包含魔方6個面的待處理圖,采用K-Means聚類算法,判斷圖像顏色的分類結果,是否滿足魔方角塊不同色、棱塊不同色的條件,如果滿足該條件,則魔方可解,則將魔方狀態信息轉換成用“URFLDB”字母表示的一串字符串,傳遞給后續解算程序。

圖7 魔方信息識別流程

表1 色塊顏色區分表

2.4 解魔方程序設計

魔方由27個方塊組成,如圖8所示。每個方塊的1~3個面露在外面,露出1個面的方塊稱為中心方塊,露出2個面的方塊為邊方塊,露出3個面的方塊為角方塊。每個角方塊有8種位置、3個方向,每個邊方塊有12種位置、2個方向,中心方塊不轉動。

圖8 三階魔方結構

魔方的6個面分別被稱作U、D、R,L、F、B。其中前面為F,即front;右面為R,即right;上面為U,即up;后面為B,即back;左面為L,即left;下面為D,即down。由于每個面的擰動方式都有3種,即順時針90°,逆時針90°,旋轉180°,為描述一個擰動動作,還需加上角度。例如U表示向上面順時針轉動90°,U2表示順時針180°轉動,U′表示逆時針90°轉動。本設計中設黃色面為U,白色面為D,藍色面為F,綠色面為B,紅色面為L,橙色面為R。

機器人采用Two-Phase Algorithm算法解魔方,該算法又稱二階段算法,通過降低魔方的混亂程度,達到復原效果[8]。

如果打亂一個標準狀態的魔方而不用到R、R′、L、L′、F、F′、B、B′這些基本操作,那么只會得到魔方所有狀態的一個子集。這個子集被稱作:G1=(U、D、R2、L2、F2、B2)。在這個子集中,角塊或邊塊的朝向在一個特定的位置是不會改變的。而且中間層的4塊總被保持在該層內[10]。

第一階段,算法會尋找一個能將打亂的魔方轉成G1狀態的序列,即角塊和邊塊的朝向將會被限制到符G1,原本中間層的邊塊也會被轉到這一層。在這么一個抽象的空間內,一次移動僅僅是將一個坐標轉換成另一個坐標。G1內所有的狀態都有相同的坐標,這就是一階段算法的目標狀態。要找到這么一個目標狀態,程序使用一個帶有下界的啟發函數H1。該函數為每一個魔方狀態評估要達到目標狀態所需要的步數,利用Cube Explorer存儲的剪枝表,預先采用12步優化。

第二階段,算法將復原在子集G1內的魔方實例,僅僅使用G1規定的基本移動(U、D、R2、L2、F2、B2),將復原的8個角塊排列。這里的啟發函數H2需要估算達到目標狀態所需要的步驟。H2找到一個解后并不馬上停止,而是繼續搜尋更少的轉動步數,這是依靠在第一階段算法得到的次優解的基礎上執行第二階段算法。隨著第一階段序列的長度的增長,第二階段的步數就變短。如果第二階段的步數為0,則得到的解是最優的,算法便停止。

魔方識別程序首先將魔方狀態信息轉化為一串字符串,然后通過API接口將參變量s傳輸給solve函數,調用二階段算法,開始解算并得到還原步驟。例如當的魔方狀態信息為"BDFFUULRFRLRLRUBRDUDDBFBUFUL?DRFDBRLFLUFULDDRBULDBBRLFB",則得到的還原步驟為:U′、B′、D2、R2、D′、F′、D′、B2、L2、B2、R、U、B2、U2、L2、B2、L2、B2、U、R2、U。

2.5 機械臂動作

工控機與STM32之間通過串口通訊方式實現數據通信,主要用于:(1)工控機與STM32電路板按攝像頭識別魔方表面的進程進行數據通信,手眼協調,快速完成魔方翻轉與表面識別;(2)工控機解算得到魔方還原步驟后,以字符串的形式發送給STM32板,控制機械臂按步驟還原魔方。

對解魔方機器人電機采用模糊PID控制算法[12],同時使用節流閥控制氣路氣體流量,調控手指氣缸夾緊力。

STM32控制機械臂按照上位機發送的魔方還原步驟,實時調整魔方位置并轉動魔方,逐步實現魔方還原??刂屏鞒倘鐖D9所示。魔方位置用左、右臂手指氣缸所對魔方面(UDLRFB)共同表示。左、右手指氣缸的開閉,手臂旋轉角度有相應參變量記錄,可減少不必要的操作步驟,優化還原動作。防止還原過程中出現左、右臂手指碰撞。

圖9 魔方還原流程

3 結束語

本文設計了一種魔方機器人,該機器人使用攝像頭模塊采集魔方色塊分布圖像,在工控機中操作系統通過圖像識別程序分析魔方色塊圖像信息,并利用二階段算法獲得還原魔方的步驟,之后將結果轉化為可執行指令并發送至STM32。STM32根據還原步驟控制氣動執行系統進行如翻轉、夾緊等所需的動作,最終將魔方還原到初始狀態。

根據設計搭建編程機器人進行魔方還原實驗,經實物搭建實驗,本文設計的魔方機器人在還原100次隨機打亂的三階魔方過程中,平均耗時19 s,最長不超過25 s,基本實現快速還原三階魔方的設計目的。

主站蜘蛛池模板: 五月激激激综合网色播免费| 免费毛片在线| 亚洲美女高潮久久久久久久| 亚洲色图另类| 日韩免费毛片视频| 欧美中出一区二区| 国产99视频精品免费视频7| 国产黑丝视频在线观看| 狠狠色丁香婷婷| 99这里精品| 午夜国产大片免费观看| 久久久精品无码一区二区三区| 人人爽人人爽人人片| 国产超碰在线观看| 91精品国产一区自在线拍| 中文字幕人妻av一区二区| 免费人成又黄又爽的视频网站| 亚洲一区无码在线| 中文字幕乱妇无码AV在线| 再看日本中文字幕在线观看| 久久久久亚洲精品成人网 | 91丝袜乱伦| 91啪在线| 日本高清在线看免费观看| 美女高潮全身流白浆福利区| 亚洲国产日韩在线成人蜜芽| 激情网址在线观看| 中文无码精品A∨在线观看不卡 | 国产成+人+综合+亚洲欧美| 国产黑丝视频在线观看| 国产精品部在线观看| 成色7777精品在线| 国产成人精品午夜视频'| 在线观看欧美精品二区| 国产免费人成视频网| 99无码熟妇丰满人妻啪啪| 91综合色区亚洲熟妇p| 亚洲综合专区| 亚洲高清国产拍精品26u| 日韩福利视频导航| 激情亚洲天堂| 97精品国产高清久久久久蜜芽| 9999在线视频| 精品一区二区三区视频免费观看| 亚洲精品第一页不卡| 精品少妇人妻av无码久久| 欧美日韩激情在线| 欧美综合一区二区三区| 日韩欧美成人高清在线观看| 国产成人乱无码视频| 日韩在线影院| 欧美精品aⅴ在线视频| 福利在线不卡| 九色91在线视频| 亚洲欧美色中文字幕| 国产精品主播| 成年人国产网站| 亚洲第一极品精品无码| 亚洲成人动漫在线| 国产在线精品香蕉麻豆| 亚洲男人的天堂视频| 久久久久九九精品影院| 麻豆国产精品一二三在线观看| 三上悠亚在线精品二区| 午夜日韩久久影院| 欧美日韩在线第一页| 亚洲中文在线视频| 亚洲午夜福利在线| 国产精品大白天新婚身材| 无码国产偷倩在线播放老年人| 99九九成人免费视频精品| 国产女人喷水视频| 国产在线一区二区视频| 怡红院美国分院一区二区| 国产chinese男男gay视频网| 亚洲高清中文字幕| 国产成人在线小视频| 欧美日一级片| 综合色天天| 日韩欧美中文亚洲高清在线| 久久熟女AV| 成人va亚洲va欧美天堂|