摘要
本團(tuán)隊(duì)設(shè)計(jì)了一種基于RobeiEDA東西的自動(dòng)化倉(cāng)儲(chǔ)貨品分揀機(jī)器人。運(yùn)用FPGA舉行HSV顏色空間變更實(shí)現(xiàn)對(duì)多貨品的形心定位取追蹤,合營(yíng)多自由度逆運(yùn)動(dòng)學(xué)剖析算法節(jié)制機(jī)器臂,大幅進(jìn)步分揀效力。與此同時(shí)運(yùn)用多傳感器交融算法,使分揀機(jī)器人能夠?qū)崿F(xiàn)貨品條形碼辨認(rèn);人體取事情非常檢驗(yàn);負(fù)反饋補(bǔ)光等功能。運(yùn)用自制的上位機(jī)體系可供事情員實(shí)時(shí)長(zhǎng)途監(jiān)控機(jī)器人事情情況。顛末體系架構(gòu)設(shè)計(jì)取團(tuán)體調(diào)試,機(jī)器人能夠知足預(yù)期需求,且體系可重構(gòu)性和算法可移植性強(qiáng),根據(jù)改進(jìn)可順應(yīng)分歧的運(yùn)用環(huán)境取需求。
作品實(shí)拍
分揀機(jī)器人系統(tǒng)組成1項(xiàng)目架構(gòu)
本項(xiàng)目設(shè)計(jì)的機(jī)器人主要由兩個(gè)局部構(gòu)成,分別是圖象處置懲罰局部取活動(dòng)節(jié)制局部,因?yàn)閳D象取逆活動(dòng)學(xué)合成均需求損耗較多的邏輯資源,與此同時(shí)為了摹擬事實(shí)的事情環(huán)境,當(dāng)體系出現(xiàn)問(wèn)題時(shí)能夠便于排查辦理,是以?xún)删植糠謩e用一塊零丁的FPGA開(kāi)展節(jié)制。圖象取節(jié)制局部之間經(jīng)過(guò)藍(lán)牙開(kāi)展無(wú)線數(shù)據(jù)傳輸,當(dāng)圖象處置懲罰完成后,將數(shù)據(jù)傳遞給節(jié)制局部,傳輸數(shù)據(jù)幀包羅貨色色彩、坐標(biāo)信息,節(jié)制局部經(jīng)過(guò)剖析數(shù)據(jù)幀,來(lái)實(shí)現(xiàn)對(duì)機(jī)器臂的節(jié)制,完成貨色的分揀事情。與此同時(shí)體系還包羅了較多的傳感器,應(yīng)用自制的上位機(jī)可供事情員實(shí)時(shí)監(jiān)控機(jī)器人事情情況,團(tuán)體架構(gòu)設(shè)計(jì)如下圖所示。
圖象處置一些和活動(dòng)掌握一些在RobeiEDA中的頂層架構(gòu)如下圖所示。
2算法引見(jiàn)
2.1RGB轉(zhuǎn)HSV算法
省食品分揀機(jī)器人平常而言,記載及表現(xiàn)彩色圖象時(shí),RGB是最普遍的一種計(jì)劃。可是RGB色彩空間重視色彩的分解而將色彩的屬性相夾雜,正在圖象處置中,若是不均勻轉(zhuǎn)變RGB,會(huì)轉(zhuǎn)變亮度和飽和度,由此帶來(lái)的RGB比例轉(zhuǎn)變甚至?xí)D(zhuǎn)變色調(diào),還便是受環(huán)境光強(qiáng)危害較大,簡(jiǎn)單因?yàn)閳D象處置部門(mén)失足以招致全部體系潰逃。而HSV(Hue,Saturation,Value)是一種比力直觀的色彩模子,它將色彩的亮度、色和諧飽和度屬性別離,因而采取HSV色彩空間來(lái)實(shí)現(xiàn)色彩的檢驗(yàn)結(jié)果會(huì)更好。
實(shí)現(xiàn)轉(zhuǎn)換操縱最主要的是除法運(yùn)算,本實(shí)例調(diào)用了一個(gè)低延遲的移位減法除法器來(lái)實(shí)現(xiàn)高速除法,獲得h、s的值。末了要注意包管h,s,v三個(gè)重量的延遲皆同等。用Verilog實(shí)現(xiàn)RGB轉(zhuǎn)HSV的步驟如下圖所示。
憑據(jù)HSV空間基于地區(qū)特點(diǎn)還能夠?qū)崿F(xiàn)對(duì)多活動(dòng)目的中央的穩(wěn)固定位取追蹤,不需要挪用RAM的IP核舉行邊沿處置等操縱,節(jié)省資源。
2.2逆運(yùn)動(dòng)學(xué)剖析算法
正在得到了貨品坐標(biāo)后,下一步便是若何操縱機(jī)器臂對(duì)相應(yīng)坐標(biāo)的貨品舉行抓取了。由終極計(jì)算結(jié)果可知,實(shí)現(xiàn)開(kāi)平方函數(shù)、反正切函數(shù)、反正弦函數(shù)和反余弦函數(shù)再連系除法器模塊便可實(shí)現(xiàn)機(jī)器臂按照色塊形心坐標(biāo)抓取色塊。所以背面主要對(duì)這兩個(gè)函數(shù)模塊舉行先容。
2.2.1反三角函數(shù)——基于CORDIC算法的迭代位移算法
京東貨物分揀機(jī)器人CORDIC算法的多少道理為正在XOY坐標(biāo)系中點(diǎn)P1繞原點(diǎn)扭轉(zhuǎn)θ后得到點(diǎn)P2。
正在XOY坐標(biāo)系中點(diǎn)P1(x1,y1)繞原點(diǎn)扭轉(zhuǎn)后得到點(diǎn)P2(x2,y2),則P1和P2兩點(diǎn)的坐標(biāo)閉系為:
操縱該算法舉行迭代時(shí),終極的迭代公式為:
設(shè)置迭代次數(shù)為16,人為設(shè)置x0=Πcosθi,y0=0,然后憑據(jù)角度θ便可獲得cosθ=x16,sinθ=y16,arctanθ=z16。此時(shí)已實(shí)現(xiàn)反正切函數(shù),再逐次迫臨便可獲得反正弦、反余弦函數(shù)。顛末16級(jí)迭代,后果已與實(shí)正在值很是靠近。由此已能夠獲得反正切值,為了實(shí)現(xiàn)輸入正弦值輸出對(duì)應(yīng)反正弦值,正在0到90°的范圍內(nèi)由低到高遍歷角度較量爭(zhēng)論其正弦值,當(dāng)其正弦值變大至大于即是輸入正弦值時(shí),與此時(shí)的角度為反正弦值。同理能夠?qū)崿F(xiàn)輸入余弦值輸出對(duì)應(yīng)反余弦值。實(shí)驗(yàn)測(cè)試后果如下:
2.2.2開(kāi)平方函數(shù)——逐次切近親近算法
首先數(shù)據(jù)輸入data[7:0],接著設(shè)置實(shí)驗(yàn)值D_z[3:0]和肯定值D_q[3:0],然后依照從高往低的挨次,順次將每位置1,再將實(shí)驗(yàn)值平方后取輸入數(shù)據(jù)比擬,若實(shí)驗(yàn)值的平方大于輸入值,則此位為0,反之此位為1,以此迭代到最后一名。這是一種比擬普遍的算法,簡(jiǎn)樸好用。
3總結(jié)取感悟
經(jīng)過(guò)第五屆全國(guó)大學(xué)生集成電路立異創(chuàng)業(yè)大賽Robei杯,我們團(tuán)隊(duì)每個(gè)人皆學(xué)到了極度多。正在項(xiàng)目早期,我們對(duì)Robei杯進(jìn)行了調(diào)研,掌握到RobeiEDA東西是一種全新的面向工具的可視化芯片設(shè)計(jì)軟件,能夠支撐基于Verilog言語(yǔ)的集成電路前端設(shè)計(jì)取仿真。正在從前我們運(yùn)用的FPGA開(kāi)辟軟件大多數(shù)全是Quartus和Vivado,國(guó)產(chǎn)EDA軟件少之又少,并且從來(lái)沒(méi)有接觸過(guò)國(guó)產(chǎn)相干的EDA軟件。RobeiEDA軟件令我們眼前一亮,極度直觀的UI界面很吸引我們。正在FPGA這類(lèi)極度重視條理架構(gòu)設(shè)計(jì)的范疇,直觀的模塊設(shè)計(jì)、連線對(duì)開(kāi)辟的資助極度大,其次是正在現(xiàn)今數(shù)字IC設(shè)計(jì)EDA軟件被外洋把持的情況下,國(guó)產(chǎn)RobeiEDA軟件的發(fā)生,為中國(guó)數(shù)字IC設(shè)計(jì)進(jìn)獻(xiàn)出了極度大的一份力,我們極度的敬仰,因而毅然決定挑選Robei杯。
項(xiàng)目開(kāi)展的過(guò)程中遇到過(guò)不少題目,正在項(xiàng)目早期的時(shí)侯FIFO模塊始終沒(méi)法一般運(yùn)轉(zhuǎn),最終我們根據(jù)哄騙Robei中的仿真功用,對(duì)讀寫(xiě)時(shí)序一點(diǎn)點(diǎn)地開(kāi)展檢察,一點(diǎn)點(diǎn)地處理時(shí)序毛病的題目,最終終究實(shí)現(xiàn)哄騙FIFO對(duì)SDRAM開(kāi)展讀寫(xiě)的功用。正在此之后我們還深刻認(rèn)識(shí)到Robei杯賽是特別很是重視底層協(xié)定開(kāi)辟的。
中后期階段,為了進(jìn)一步優(yōu)化體系,進(jìn)步作品的程度,我們往研討了機(jī)器臂的逆運(yùn)動(dòng)學(xué),想要能夠保證能讓機(jī)器臂對(duì)隨意率性位置的貨品開(kāi)展抓取。開(kāi)辟歷程十分的艱苦,由于傳統(tǒng)的逆運(yùn)動(dòng)學(xué)闡發(fā)需求開(kāi)展大批的浮點(diǎn)運(yùn)算,多利用嵌入式設(shè)備開(kāi)展,根基很難查到利用FPGA開(kāi)展逆運(yùn)動(dòng)學(xué)合成節(jié)制機(jī)器臂的材料,所以我們經(jīng)過(guò)闡發(fā)傳統(tǒng)逆運(yùn)動(dòng)學(xué)闡發(fā)的C言語(yǔ)代碼,一步一步操縱Verilog言語(yǔ)開(kāi)展編寫(xiě),并操縱RobeiEDA的仿真功能對(duì)每一步轉(zhuǎn)換出的數(shù)據(jù)開(kāi)展闡發(fā),本身編寫(xiě)并調(diào)用了良多三角運(yùn)算取除法運(yùn)算模塊,末了終究實(shí)現(xiàn)逆運(yùn)動(dòng)學(xué)合成算法,使機(jī)器臂能夠抓取范圍內(nèi)隨意率性坐標(biāo)的貨品。
最終十分謝謝小組的每個(gè)成員,為了完成此次競(jìng)賽各人皆花了十分多的時(shí)候取血汗,當(dāng)看到全部體系能依照預(yù)期運(yùn)轉(zhuǎn),我們真的皆十分欣喜。這是一次難忘的履歷,謝謝Robei,謝謝指導(dǎo)老師,還謝謝每個(gè)為之付出過(guò)勉力的成員們,受益頗多!
分揀機(jī)器人排行榜寫(xiě)給想要列入下一年Robei杯的同窗
Robei杯取其他的杯賽有個(gè)很大的區(qū)分,信賴(lài)認(rèn)真審過(guò)題目標(biāo)同窗就會(huì)了解,他不允許利用任何的軟硬核,相當(dāng)于您的全部事情,全是必需要在RobeiEDA上用純Verliog自力編寫(xiě)完成。這個(gè)法則說(shuō)好還好,說(shuō)欠好還欠好,看您若何往理解了。
禁用這一些軟硬核,最本質(zhì)的感覺(jué)是,開(kāi)辟變麻煩了,然則還特別很是錘煉您的底層開(kāi)辟本領(lǐng)...觸及圖象處置懲罰的話(huà),免不了要對(duì)DDR大概SDRAM開(kāi)展讀寫(xiě),F(xiàn)IFO的IP核不克不及挪用怎么辦?RAM的IP核不克不及挪用怎么辦?PS端繞不過(guò)往怎么辦?只會(huì)本人想辦法,大概本人往寫(xiě)。然則由另一個(gè)角度想,這類(lèi)劃定規(guī)矩實(shí)際會(huì)限制一個(gè)角逐的上限,還便是能實(shí)現(xiàn)的功效是有天花板的,只要您能無(wú)限靠近這個(gè)天花板,而且設(shè)計(jì)的機(jī)器人功效、遠(yuǎn)景充足新奇,您的成就就必定不容易差。加油!審核
閃兔分揀機(jī)器人智能全自動(dòng)分揀機(jī)器人落地式分揀機(jī)器人