摘要
本團(tuán)隊設(shè)計了一種基于Robei EDA工具的自動化倉儲貨物分揀機(jī)器人。利用FPGA進(jìn)行HSV色彩空間變換實現(xiàn)對多貨物的形心定位與追蹤,配合多自由度逆運動學(xué)分解算法控制機(jī)械臂,大幅提高分揀效率。同時利用多傳感器融合算法,使分揀機(jī)器人可以實現(xiàn)貨物條形碼識別;人體與工作異常檢測;負(fù)反饋補(bǔ)光等功能。利用自制的上位機(jī)系統(tǒng)可供工作人員實時遠(yuǎn)程監(jiān)控機(jī)器人工作情況。經(jīng)過系統(tǒng)架構(gòu)設(shè)計與整體調(diào)試,機(jī)器人可以滿足預(yù)期需求,且系統(tǒng)可重構(gòu)性以及算法可移植性強(qiáng),通過改善可適應(yīng)不同的應(yīng)用環(huán)境與需求。
作品實拍
1 項目架構(gòu)
本項目設(shè)計的機(jī)器人主要由兩個部分組成,分別是圖像處理部分與運動控制部分,由于圖像與逆運動學(xué)分解均需要消耗較多的邏輯資源,同時為了模擬實際的工作環(huán)境,當(dāng)系統(tǒng)出現(xiàn)問題時可以便于排查解決,因此兩部分分別用一塊單獨的FPGA進(jìn)行控制。圖像與控制部分之間通過藍(lán)牙進(jìn)行無線數(shù)據(jù)傳輸,當(dāng)圖像處理完成后,將數(shù)據(jù)傳遞給控制部分,傳輸數(shù)據(jù)幀包含貨物顏色、坐標(biāo)信息,控制部分通過解析數(shù)據(jù)幀,來實現(xiàn)對機(jī)械臂的控制,完成貨物的分揀工作。同時系統(tǒng)也包含了較多的傳感器,利用自制的上位機(jī)可供工作人員實時監(jiān)控機(jī)器人工作情況,整體架構(gòu)設(shè)計如下圖所示。
圖像處理部分以及運動控制部分在Robei EDA中的頂層架構(gòu)如下圖所示。
2 算法介紹
2.1 RGB轉(zhuǎn)HSV算法
通常來說,記錄及顯示彩色圖像時,RGB是最常見的一種方案。但是RGB色彩空間注重顏色的合成而將顏色的屬性相混合,在圖像處理中,如果不均勻改變RGB,會改變亮度和飽和度,由此帶來的RGB比例改變甚至?xí)淖兩{(diào),也就是受環(huán)境光強(qiáng)影響較大,容易由于圖像處理部分出錯以導(dǎo)致整個系統(tǒng)崩潰。而HSV(Hue, Saturation, Value)是一種比較直觀的顏色模型,它將顏色的亮度、色調(diào)和飽和度屬性分離,因此采用HSV顏色空間來實現(xiàn)顏色的檢測效果會更好。
實現(xiàn)轉(zhuǎn)換操作最重要的是除法運算,本實例調(diào)用了一個低延遲的移位減法除法器(延遲時間不到兩個像素時鐘)來實現(xiàn)高速除法,得到h、s的值。最后要注意保證h,s,v三個分量的延遲都一致。用Verilog實現(xiàn)RGB轉(zhuǎn)HSV的流程如下圖所示。
根據(jù)HSV空間基于區(qū)域特征也可以實現(xiàn)對多運動目標(biāo)中心的穩(wěn)定定位與追蹤,不需要調(diào)用RAM的IP核進(jìn)行邊緣處理等操作,節(jié)約資源。
2.2 逆運動學(xué)分解算法
在得到了貨物坐標(biāo)后,下一步就是如何控制機(jī)械臂對相應(yīng)坐標(biāo)的貨物進(jìn)行抓取了。由最終計算結(jié)果可知,實現(xiàn)開平方函數(shù)、反正切函數(shù)、反正弦函數(shù)和反余弦函數(shù)再結(jié)合除法器模塊即可實現(xiàn)機(jī)械臂根據(jù)色塊形心坐標(biāo)抓取色塊。所以后面主要對這兩個函數(shù)模塊進(jìn)行介紹。
2.2.1 反三角函數(shù)——基于CORDIC算法的迭代位移算法
CORDIC算法的幾何原理為在XOY坐標(biāo)系中點P1繞原點旋轉(zhuǎn)θ后得到點P2。
在XOY坐標(biāo)系中點P1(x1, y1)繞原點旋轉(zhuǎn)后得到點P2(x2, y2),則P1和P2兩點的坐標(biāo)關(guān)系為:
利用該算法進(jìn)行迭代時,最終的迭代公式為:
設(shè)置迭代次數(shù)為16,人為設(shè)置x0=Πcosθi,y0=0,然后根據(jù)角度θ即可得到cosθ=x16,sinθ=y16,arctanθ=z16。此時已實現(xiàn)反正切函數(shù),再逐次逼近即可得到反正弦、反余弦函數(shù)。經(jīng)過16級迭代,結(jié)果已與真實值非常接近。由此已經(jīng)可以得到反正切值,為了實現(xiàn)輸入正弦值輸出對應(yīng)反正弦值,在0到90°的范圍內(nèi)由低到高遍歷角度計算其正弦值,當(dāng)其正弦值增大至大于等于輸入正弦值時,取此時的角度為反正弦值。同理可以實現(xiàn)輸入余弦值輸出對應(yīng)反余弦值。實驗測試結(jié)果如下:
2.2.2 開平方函數(shù)——逐次逼近算法
首先數(shù)據(jù)輸入data[7:0],接著設(shè)置實驗值D_z[3:0]和確定值D_q[3:0],然后按照從高往低的順序,依次將每一位置1,再將實驗值平方后與輸入數(shù)據(jù)比較,若實驗值的平方大于輸入值,則此位為0,反之此位為1,以此迭代到最后一位。這是一種比較常見的算法,簡單好用。
3 總結(jié)與感悟
通過第五屆全國大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽Robei杯,我們團(tuán)隊每個人都學(xué)到了非常多。在項目初期,我們對Robei杯進(jìn)行了調(diào)研,了解到Robei EDA工具是一種全新的面向?qū)ο蟮目梢暬酒O(shè)計軟件,可以支持基于Verilog語言的集成電路前端設(shè)計與仿真。在以前我們使用的FPGA開發(fā)軟件大多都是Quartus和Vivado,國產(chǎn)EDA軟件少之又少,而且從來沒有接觸過國產(chǎn)相關(guān)的EDA軟件。Robei EDA軟件令我們眼前一亮,非常直觀的UI界面很吸引我們。在FPGA這種非常注重層次架構(gòu)設(shè)計的領(lǐng)域,直觀的模塊設(shè)計、連線對開發(fā)的幫助非常大,其次是在當(dāng)今數(shù)字IC設(shè)計EDA軟件被國外壟斷的情況下,國產(chǎn)Robei EDA軟件的出現(xiàn),為中國數(shù)字IC設(shè)計貢獻(xiàn)出了非常大的一份力,我們非常的敬佩,因此毅然決定選擇Robei杯。
項目進(jìn)行的過程中遇到過不少問題,在項目初期的時侯FIFO模塊始終無法正常運行,最后我們通過使用Robei中的仿真功能,對讀寫時序一點點地進(jìn)行查看,一點點地解決時序錯誤的問題,最后終于實現(xiàn)利用FIFO對SDRAM進(jìn)行讀寫的功能。在此之后我們也深刻認(rèn)識到Robei杯賽是非常注重底層協(xié)議開發(fā)的。(畢竟用不了IP核)
中后期階段,為了進(jìn)一步優(yōu)化系統(tǒng),提高作品的水平,我們?nèi)パ芯苛藱C(jī)械臂的逆運動學(xué),希望可以做到能讓機(jī)械臂對任意位置的貨物進(jìn)行抓取。開發(fā)過程非常的艱辛,因為傳統(tǒng)的逆運動學(xué)分析需要進(jìn)行大量的浮點運算,多使用嵌入式設(shè)備進(jìn)行,基本很難查到使用FPGA進(jìn)行逆運動學(xué)分解控制機(jī)械臂的資料,所以我們通過分析傳統(tǒng)逆運動學(xué)分析的C語言代碼,一步一步利用Verilog語言進(jìn)行編寫,并利用Robei EDA的仿真功能對每一步轉(zhuǎn)換出的數(shù)據(jù)進(jìn)行分析,自己編寫并調(diào)用了很多三角運算與除法運算模塊,最后終于實現(xiàn)逆運動學(xué)分解算法,使機(jī)械臂可以抓取范圍內(nèi)任意坐標(biāo)的貨物。
最后非常感謝小組的每個成員,為了完成這次比賽大家都花了非常多的時間與心血,當(dāng)看到整個系統(tǒng)能按照預(yù)期運轉(zhuǎn),我們真的都非常欣慰。這是一次難忘的經(jīng)歷,感謝Robei,感謝指導(dǎo)老師,也感謝每一個為之付出過努力的成員們,受益頗多!
寫給想要參加下一年Robei杯的同學(xué)
Robei杯與其他的杯賽有個很大的區(qū)別,相信認(rèn)真審過題目的同學(xué)就會知道,他不允許使用任何的軟硬核,相當(dāng)于你的所有工作,都是必須要在Robei EDA上用純Verliog獨立編寫完成。這個規(guī)則說好也好,說不好也不好,看你如何去理解了。
禁用這些軟硬核,最實質(zhì)的感受是,開發(fā)變麻煩了,但是也非常鍛煉你的底層開發(fā)能力...涉及圖像處理的話,免不了要對DDR或者SDRAM進(jìn)行讀寫,F(xiàn)IFO的IP核不能調(diào)用怎么辦?RAM的IP核不能調(diào)用怎么辦?PS端繞不過去怎么辦?只能自己想辦法,或者自己去寫。但是從另一個角度想,這種規(guī)則其實會限定一個比賽的上限,也就是能實現(xiàn)的功能是有天花板的,只要你能無限接近這個天花板,并且設(shè)計的機(jī)器人功能、前景足夠新穎,你的成績就一定不會差。加油!
審核編輯 :李倩
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29435瀏覽量
211393 -
遠(yuǎn)程監(jiān)控
+關(guān)注
關(guān)注
2文章
1424瀏覽量
30860 -
自動化
+關(guān)注
關(guān)注
29文章
5737瀏覽量
81530
原文標(biāo)題:【2021集創(chuàng)賽作品分享】第十三期 | 基于Robei EDA工具的倉儲貨物分揀機(jī)器人設(shè)計
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
機(jī)器人和自動化的未來(2)

料箱機(jī)器人遠(yuǎn)程監(jiān)控物聯(lián)網(wǎng)解決方案
全鏈路智能追蹤:AMR 機(jī)器人+RFID技術(shù)助力部隊倉儲信息化手段建設(shè)

Robei EDA設(shè)計工具全新升級

ALVA Systems盤點機(jī)器人助力企業(yè)物流倉儲智能化升級
自動化設(shè)備裝車機(jī)器人給飼料行業(yè)帶來哪些優(yōu)勢

背景抑制光電開關(guān)的設(shè)計及應(yīng)用
接近感應(yīng)單片機(jī)在背景抑制光電開關(guān)上的應(yīng)用
復(fù)合機(jī)器人正逐漸在倉儲物流領(lǐng)域發(fā)揮重要作用

轉(zhuǎn)運機(jī)器人價格市場分析

愛普生SG-8101CA可編程晶振應(yīng)用在工業(yè)自動化機(jī)器人

關(guān)于全自動裝車機(jī)器人的詳細(xì)介紹
自動化焊接機(jī)器人:引領(lǐng)制造業(yè)未來的高效工具

評論