亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的智能魔方還原機(jī)器人設(shè)計(jì)

        2023-01-10 03:25:52翟東麗杜青松何兆豐
        機(jī)電工程技術(shù) 2022年12期
        關(guān)鍵詞:下位魔方上位

        翟東麗,杜青松,程 偉,何兆豐

        (1.廣東省機(jī)械研究所有限公司,廣州 510700;2.廣州華立學(xué)院,廣州 511325)

        0 引言

        魔方作為一個(gè)智力開(kāi)發(fā)訓(xùn)練玩具在生活中廣泛被人們使用。魔方中最為常見(jiàn)的是三階魔方,其結(jié)構(gòu)簡(jiǎn)單但還原過(guò)程復(fù)雜。目前設(shè)計(jì)的常見(jiàn)魔方還原機(jī)器人有六臂旋轉(zhuǎn)型(如美國(guó)MIT設(shè)計(jì)的和德國(guó)Sub1Reloaded設(shè)計(jì)的)和底面翻滾型(如LEGO的EV3),然而前者直接將魔方的中心塊位置與電機(jī)軸剛性連接,每個(gè)電機(jī)都控制一個(gè)面,標(biāo)準(zhǔn)三階魔方的中心塊需要進(jìn)行改造。然而這種形式的解魔方機(jī)器人破壞了魔方的完整性,而且魔方安裝到機(jī)器人上后不可拆卸,無(wú)法和人做互動(dòng)[1]。后者機(jī)械結(jié)構(gòu)穩(wěn)定性差,解算成功率不高。因此綜合利用機(jī)械、電子、計(jì)算機(jī)等多學(xué)科知識(shí)交叉應(yīng)用,設(shè)計(jì)一種高速、高成功率、可交互的解魔方機(jī)器人將會(huì)受到人們迫切的期待。

        本魔方機(jī)器人系統(tǒng)采用了STM32f103處理器為平臺(tái),承擔(dān)魔方還原控制功能和驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)還原魔方的作用。上下位機(jī)互相通信轉(zhuǎn)換算法采用定長(zhǎng)度數(shù)據(jù)包。設(shè)計(jì)自適應(yīng)補(bǔ)光視覺(jué)系統(tǒng)獲取魔方各個(gè)面的圖像、然后進(jìn)行圖像處理和顏色識(shí)別,圖像處理過(guò)程采用k-means聚類算法進(jìn)行聚類與分割獲取魔方狀態(tài),通過(guò)二階段算法運(yùn)算后得到魔方還原路徑。采用sin函數(shù)曲線的1/4周期作為解魔方機(jī)器人機(jī)械臂驅(qū)動(dòng)電機(jī)的加減速曲線,精確控制電機(jī)及末端執(zhí)行器抓取魔方進(jìn)行轉(zhuǎn)動(dòng),實(shí)現(xiàn)魔方還原功能。

        1 總體設(shè)計(jì)

        本次設(shè)計(jì)的魔方還原機(jī)器人采用一種二臂二指型鎖臂環(huán)結(jié)構(gòu),機(jī)器人有兩個(gè)手臂,每個(gè)手臂有兩個(gè)自由度。一個(gè)是由步進(jìn)電機(jī)驅(qū)動(dòng)的手腕轉(zhuǎn)動(dòng)自由度,另一個(gè)是由氣缸驅(qū)動(dòng)的手指開(kāi)合自由度。機(jī)器人結(jié)構(gòu)整體采用鋁合金框架結(jié)構(gòu),連接處采用鑄鐵和碳纖維板。在手腕處,采用氣電滑環(huán)防止線路纏繞[2]。如圖1所示??刂葡到y(tǒng)中,下位機(jī)采用STM32f103控制板,負(fù)責(zé)與上位機(jī)通訊以及控制步進(jìn)電機(jī)和氣缸。上位機(jī)程序采用C#編寫,負(fù)責(zé)與下位機(jī)進(jìn)行串口通訊,以及統(tǒng)籌協(xié)調(diào)攝像頭處理程序和算法程序??刂扑惴ㄉ喜捎昧薍erbert Kociemba的Two-Phase-Algorithm算法,該算法又稱二階段算法[3],通過(guò)降低魔方的混亂程度,達(dá)到復(fù)原效果。魔方狀態(tài)圖像采集采用4個(gè)fpv攝像頭,分別固定于魔方上、下、左、右4個(gè)方向,圖像采集經(jīng)emguCV濾波處理后,采用k-means聚類算法進(jìn)行聚類與分割。

        圖1 魔方機(jī)器人整體結(jié)構(gòu)

        2 硬件設(shè)計(jì)

        2.1 接口通訊

        上位機(jī)使用C#語(yǔ)言編程環(huán)境的Windows系統(tǒng)個(gè)人計(jì)算機(jī),串口通訊采用了自帶的SerialPort控件,下位機(jī)使用STM32f103c8t6的硬件串口USART1。上下位機(jī)通訊的協(xié)議[4]如下。

        上下位機(jī)互相通信的內(nèi)容總共有3種:上位機(jī)發(fā)送第二次采集圖像指令;下位機(jī)發(fā)送第二次采集圖像完成指令;上位機(jī)發(fā)送動(dòng)作序列指令。上位機(jī)發(fā)送第二次采集圖像指令和下位機(jī)發(fā)送第二次采集完成指令僅是一個(gè)觸發(fā)信號(hào),不需要大量數(shù)據(jù)傳輸。因此數(shù)據(jù)包大小取決于上位機(jī)發(fā)送動(dòng)作序列指令的大小??紤]到信息傳輸量小,信息傳輸時(shí)間對(duì)整體解魔方時(shí)間影響小,因此采用定長(zhǎng)度數(shù)據(jù)包。

        2.2 驅(qū)動(dòng)電機(jī)速度控制

        魔方機(jī)械臂動(dòng)作采用步進(jìn)電機(jī)來(lái)驅(qū)動(dòng)。在正常工作狀態(tài)下,步進(jìn)電機(jī)位移輸出與數(shù)字脈沖嚴(yán)格同步。在實(shí)際使用中,若步進(jìn)電機(jī)在加速與減速過(guò)程中脈沖頻率變化不合理,步進(jìn)電機(jī)會(huì)產(chǎn)生抖動(dòng)現(xiàn)象,極大地降低了系統(tǒng)的穩(wěn)定性。同時(shí),若步進(jìn)電機(jī)加速或者減速過(guò)猛,魔方會(huì)因轉(zhuǎn)動(dòng)過(guò)程中受力不均勻而產(chǎn)生局部錯(cuò)位,長(zhǎng)期使用會(huì)導(dǎo)致魔方崩裂。因此,必須合理設(shè)置步進(jìn)電機(jī)的加減速運(yùn)行曲線,在保證運(yùn)行穩(wěn)定性的前提下盡可能提高速度。

        考慮到梯形曲線的加減速過(guò)程不能光滑過(guò)渡,而S型曲線的加減速調(diào)參過(guò)程較為復(fù)雜,本設(shè)計(jì)采用sin函數(shù)曲線的1/4周期作為解魔方機(jī)器人機(jī)械臂驅(qū)動(dòng)電機(jī)的加減速曲線[6]。圖2所示為魔方機(jī)器人機(jī)器臂驅(qū)動(dòng)電機(jī)sin加速過(guò)程,用sin函數(shù)曲線對(duì)步進(jìn)電機(jī)進(jìn)行加速控制,設(shè)目標(biāo)速度為A,可以通過(guò)控制脈沖數(shù)目來(lái)控制步進(jìn)電機(jī)角位移。

        圖2 魔方機(jī)器人執(zhí)行電機(jī)加減速曲線

        2.3 視覺(jué)系統(tǒng)

        魔方狀態(tài)圖像采集采用4個(gè)fpv攝像頭,分別固定于魔方上、下、左、右4個(gè)方向,圖像采集經(jīng)emguCV濾波處理后,采用k-means聚類算法進(jìn)行聚類與分割[7-8]。采用透視變換與圖像拼接的方法,可把4個(gè)攝像頭拍攝的6個(gè)魔方表面圖片拼接為一張圖片。

        2.3.1 顏色空間的坐標(biāo)變換

        視覺(jué)系統(tǒng)未標(biāo)定前的圖像采集數(shù)據(jù)點(diǎn)是沿著(0,0,0)到(255,255,255)方向成帶狀分布的數(shù)據(jù)。而正常的同一類數(shù)據(jù)點(diǎn),應(yīng)該是在一個(gè)不太大的球體中均勻分布。因此一個(gè)顯然的解決辦法是將數(shù)據(jù)整體沿著向量(1,1,1)方向壓縮,直到帶狀分布變?yōu)榍驙罘植肌?/p>

        2.3.2 自適應(yīng)補(bǔ)光系統(tǒng)設(shè)計(jì)

        由于解魔方機(jī)器人主要的傳感設(shè)備為攝像頭,而視覺(jué)設(shè)備對(duì)于外界光照環(huán)境的敏感度非常大,因此一個(gè)好的視覺(jué)環(huán)境對(duì)于顏色識(shí)別極為重要。若魔方處于強(qiáng)光直射條件下,或者光源以魔方表面為鏡面反射到攝像頭上,則在視野中會(huì)出現(xiàn)局部高光[9]。高光現(xiàn)象對(duì)于顏色識(shí)別算法是致命的,一旦出現(xiàn)將會(huì)無(wú)法正確識(shí)別。

        對(duì)于魔方上面的白色塊圖像,在暗色光照條件下,略微發(fā)藍(lán),在一定程度上會(huì)影響視覺(jué)系統(tǒng)對(duì)魔方顏色的識(shí)別,如圖3所示。

        圖3 暗色光照條件下魔方白色塊圖

        為解決上述光照條件問(wèn)題,魔方還原機(jī)器人的視覺(jué)系統(tǒng)采用自適應(yīng)LED補(bǔ)光燈進(jìn)行補(bǔ)光。通過(guò)脈寬調(diào)制信號(hào)(PWM)控制的可控亮度LED補(bǔ)光電路[11]如圖4所示,其中PWM信號(hào)由下位機(jī)STM32產(chǎn)生。

        圖4 視覺(jué)系統(tǒng)LED補(bǔ)光電路

        3 軟件設(shè)計(jì)

        一個(gè)完整魔方還原計(jì)算求解過(guò)程總得來(lái)說(shuō)分為兩大模塊,一個(gè)模塊是負(fù)責(zé)人機(jī)交互、統(tǒng)籌全過(guò)程的上位機(jī)主控程序,其邏輯流程[3]如圖5所示。另一模塊是各個(gè)流程環(huán)節(jié)的功能模塊,包括圖像采集、下位機(jī)、圖像處理、算法轉(zhuǎn)換等模塊。

        圖5 魔方機(jī)器人主控程序流程

        上下位機(jī)互相通信轉(zhuǎn)換算法采用定長(zhǎng)度數(shù)據(jù)包,通過(guò)測(cè)試得出的動(dòng)作序列中動(dòng)作步驟數(shù)目平均值為75,取二倍余量,數(shù)據(jù)包的長(zhǎng)度為150個(gè)無(wú)符號(hào)8位整型數(shù)。定義第1個(gè)數(shù)據(jù)為包頭,為固定值0XAA,定義最后一個(gè)數(shù)據(jù)為包尾,為固定值0XBB。中間148個(gè)無(wú)符號(hào)8位整型數(shù)為數(shù)據(jù)段。下面將逐個(gè)描述3種指令的數(shù)據(jù)段格式。若指令為上位機(jī)發(fā)送第二次采集圖像指令,則數(shù)據(jù)段148個(gè)字節(jié)據(jù)皆為0XFF;若指令為下位機(jī)發(fā)送第二次采集完成指令,則數(shù)據(jù)段148個(gè)字節(jié)據(jù)皆為0XEE;若指令為上位機(jī)發(fā)送動(dòng)作序列指令,從數(shù)據(jù)包第2字節(jié),即數(shù)據(jù)段第一字節(jié)開(kāi)始,每一個(gè)字節(jié)都代表一個(gè)動(dòng)作步驟,其余字節(jié)以0XBB填充[5]。

        表1 上下位機(jī)互相通信協(xié)議內(nèi)容

        視覺(jué)系統(tǒng)自適應(yīng)補(bǔ)光算法程序結(jié)構(gòu)由4部分組成:上位機(jī)控制程序、下位機(jī)補(bǔ)光程序、聚類算法程序和圖像采集程序。上位機(jī)控制程序負(fù)責(zé)總體的統(tǒng)籌兼顧,下位機(jī)補(bǔ)光程序負(fù)責(zé)按照上位機(jī)控制程序的要求點(diǎn)亮不同亮度的LED,圖像采集程序負(fù)責(zé)采集圖像,聚類算法負(fù)責(zé)給出某一亮度下聚類可區(qū)分度[10]。

        由于聚類可區(qū)分度越大,聚類效果越好。因此需要遍歷所有256個(gè)光照強(qiáng)度等級(jí),找到使得區(qū)分度最大的光照強(qiáng)度。當(dāng)機(jī)器人被搬動(dòng)或者所處環(huán)境光照條件有較大變化時(shí),調(diào)用自適應(yīng)補(bǔ)光算法對(duì)各個(gè)補(bǔ)光燈的亮度重新調(diào)整。

        4 測(cè)試驗(yàn)證與結(jié)果分析

        根據(jù)以上軟硬件設(shè)計(jì),制作安裝魔方還原機(jī)器人整體實(shí)物結(jié)構(gòu)如圖6所示。通過(guò)編程程序測(cè)試機(jī)器人進(jìn)行魔方還原實(shí)驗(yàn),本設(shè)計(jì)魔方還原機(jī)器人經(jīng)歷20次將隨機(jī)打亂的三階魔方還原實(shí)驗(yàn)中,平均耗時(shí)21 s。算法轉(zhuǎn)換采用的帶剪枝的深度搜索算法平均機(jī)械步驟78步,用時(shí)約300 ms。還原過(guò)程中Kociemba算法運(yùn)行平均人工步驟20步,用時(shí)約800 ms。傳統(tǒng)的層先法雖然思想簡(jiǎn)單,但是平均需要大約150步,步數(shù)稍微短一點(diǎn)的CFOP算法也要在100步左右。結(jié)果顯示本魔方還原機(jī)器人明顯優(yōu)于其他結(jié)構(gòu)和傳統(tǒng)算法魔方還原機(jī)器人。

        圖6 魔方還原機(jī)器人整體實(shí)物

        5 結(jié)束語(yǔ)

        本魔方機(jī)器人系統(tǒng)采用了STM32f103處理器為平臺(tái),上下位機(jī)采用定長(zhǎng)度數(shù)據(jù)包進(jìn)行通信,設(shè)計(jì)了自適應(yīng)補(bǔ)光視覺(jué)系統(tǒng)獲取魔方各個(gè)面的圖像進(jìn)行處理和識(shí)別,通過(guò)二階段算法運(yùn)算后得到魔方還原路徑。采用加減速曲線精確控制步進(jìn)電機(jī)及末端執(zhí)行器抓取魔方進(jìn)行轉(zhuǎn)動(dòng)實(shí)現(xiàn)魔方還原功能。通過(guò)多次實(shí)驗(yàn)驗(yàn)證,本次設(shè)計(jì)的智能魔方還原機(jī)器人平均耗時(shí)21 s,可實(shí)現(xiàn)對(duì)任意打亂魔方狀態(tài)進(jìn)行還原。還原過(guò)程深度搜索算法平均機(jī)械步驟78步,用時(shí)約300 ms。Kociemba算法運(yùn)行平均人工步驟20步,用時(shí)約800 ms。體現(xiàn)了本設(shè)計(jì)智能魔方還原機(jī)器人良好的可靠性、快速性和交互性[12-13]。

        猜你喜歡
        下位魔方上位
        發(fā)明魔方的人
        創(chuàng)意無(wú)限翻翻翻
        魔方廖
        發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        小魔方
        景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        国产女在线| 风情韵味人妻hd| 亚洲男人天堂一区二区| 国产伦精品一区二区三区妓女| 免费人妻无码不卡中文字幕18禁| 99久久精品免费看国产情侣 | 午夜成人理论无码电影在线播放| 国产精品区一区二区三在线播放| 国产成人久久精品流白浆| 日本中文字幕有码在线播放| 国产综合精品久久99之一| 亚洲欧美一区二区成人片| 国产麻无矿码直接观看| 一区二区三区国产高潮| 国产一区二区三区的区| 国产激情无码一区二区三区| 免费一级特黄欧美大片久久网| 911国产在线观看精品| 日本国产一区二区在线观看| 国产亚洲精品美女久久久m| 国产高潮国产高潮久久久| 国产精品99久久久精品免费观看| 日本女优一区二区在线免费观看| 黄色国产一区二区99| 果冻传媒2021精品一区| 欧美a在线播放| 国产免费人成视频在线观看播放| 在线天堂av一区二区| 97se亚洲国产综合在线| 欧美精品免费观看二区| 国产69精品一区二区三区| 91久久精品美女高潮喷白浆| 亚洲国产精品成人av网| 国产又黄又爽又色的免费| 国产a级精精彩大片免费看 | 日韩成人精品日本亚洲| 亚洲日本高清一区二区| 亚洲一区二区三区av无码| 日产无人区一线二线三线新版 | 日本一区二区三区专区 | 亚洲熟女av一区少妇|