新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Robei EDA工具的多功能可重構(gòu)機(jī)器人設(shè)計(jì)*

基于Robei EDA工具的多功能可重構(gòu)機(jī)器人設(shè)計(jì)*

作者:?鐘杭,孫浩,龔蓓蕾(南京航空航天大學(xué)電子信息工程學(xué)院,南京211106) 時(shí)間:2023-07-26 來(lái)源:電子產(chǎn)品世界 收藏
編者按:通過(guò)分析智能家居行業(yè)發(fā)現(xiàn),機(jī)器人可分為家務(wù)功能型、娛樂(lè)家用型和助理管家型等,種類(lèi)繁多但功能較為單一。市面上基于單片機(jī)的智能搬運(yùn)機(jī)器人不具有可重構(gòu)性和良好的實(shí)時(shí)性,不能夠滿(mǎn)足靈活多變的機(jī)器人需求。本團(tuán)隊(duì)研究一款采用Robei EDA設(shè)計(jì)的基于FPGA的多功能可重構(gòu)機(jī)器人,具有人為遙控控制與語(yǔ)音控制、自動(dòng)搬運(yùn)物體、感測(cè)周?chē)h(huán)境、發(fā)射電磁炮等功能,可以實(shí)現(xiàn)環(huán)境檢測(cè)及火災(zāi)預(yù)警、智能搬運(yùn)及安保防御等作用,在提供便利服務(wù)的同時(shí),有效保障居家安全。

*本項(xiàng)目獲得“2021全國(guó)大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽”華東賽區(qū)一等獎(jiǎng),全國(guó)總決賽二等獎(jiǎng)。

本文引用地址:http://m.butianyuan.cn/article/202307/448979.htm

0 引言

隨著自動(dòng)化技術(shù)以及計(jì)算機(jī)技術(shù)的發(fā)展,技術(shù)正從傳統(tǒng)的工業(yè)制造領(lǐng)域向醫(yī)療服務(wù)、教育娛樂(lè)、勘探勘測(cè)等領(lǐng)域迅速擴(kuò)展,適應(yīng)不同領(lǐng)域需求的系統(tǒng)不斷深入研究和開(kāi)發(fā)。通過(guò)對(duì)智能家居的分析發(fā)現(xiàn),市面上的可分為代替人類(lèi)完成家務(wù)的功能機(jī)器人、具有娛樂(lè)性的陪伴機(jī)器人和管理智能家電的助理機(jī)器人,種類(lèi)繁多但是功能較為單一;多基于單片機(jī)或基于集成系統(tǒng)設(shè)計(jì),不具有可重構(gòu)性和良好的實(shí)時(shí)性,不能夠滿(mǎn)足靈活多樣的機(jī)器人需求且成本過(guò)高,而可重構(gòu)機(jī)器人則可以根據(jù)任務(wù)需求更新其硬件構(gòu)型[1]。

本團(tuán)隊(duì)旨在通過(guò)一款機(jī)器人實(shí)現(xiàn)環(huán)境監(jiān)測(cè)及災(zāi)難預(yù)警、安保防御及智能搬運(yùn)等多種功能,有效保障居家安全,并提供便利服務(wù)。隨著中國(guó)老齡化的到來(lái),獨(dú)居老人人數(shù)增多,以及當(dāng)今社會(huì)獨(dú)居青年比例越來(lái)越高,對(duì)能保證基本生活環(huán)境的機(jī)器人的需求也會(huì)越來(lái)越多。相比上述市面上的功能型、娛樂(lè)型、助理型的非必需高檔奢侈類(lèi)機(jī)器人,所設(shè)計(jì)的機(jī)器人有更高的市場(chǎng)潛力。

1 架構(gòu)設(shè)計(jì)

本設(shè)計(jì)的架構(gòu)基于 工具設(shè)計(jì)(注:是一款可視化的跨平臺(tái)設(shè)計(jì)工具[2],能夠大大提高 的開(kāi)發(fā)效率),分為中心處理部分、傳感感知部分、電源電路部分、機(jī)械運(yùn)動(dòng)部分、網(wǎng)絡(luò)傳輸部分、上位機(jī)部分、顯示器部分及遙控控制部分。架構(gòu)框圖如圖1 所示。

image.png

圖1 架構(gòu)

邏輯流程圖如圖2 所示,設(shè)計(jì)的機(jī)器人運(yùn)行時(shí)可以進(jìn)入兩種模式(自動(dòng)和遙控)。進(jìn)入系統(tǒng)前首先進(jìn)行指紋識(shí)別,如果指紋正確則進(jìn)入系統(tǒng),如果指紋未錄入指紋傳感器的存儲(chǔ)器則無(wú)法進(jìn)入系統(tǒng),在進(jìn)入系統(tǒng)后可以通過(guò)刷未錄入指紋的手指對(duì)系統(tǒng)上鎖,此時(shí)全機(jī)除顯示屏和指紋以外的模塊全部復(fù)位,待按上正確的指紋時(shí)才進(jìn)行解鎖。

整機(jī)原理圖如圖2 所示。

1690349291675551.png

圖2 整機(jī)原理

2 控制電路

2.1 遙控部分

遙控部分分為手柄遙控和語(yǔ)音控制兩個(gè)部分,分別通過(guò)手柄和語(yǔ)音對(duì)機(jī)器人進(jìn)行實(shí)時(shí)控制。

2.1.1 手柄遙控

本模塊與外部指紋模塊與LCD HMI 串口顯示屏模塊相連,當(dāng)指紋輸入正確時(shí),手柄遙控模塊復(fù)位解除,機(jī)器人所有傳感器均開(kāi)始工作,同時(shí)顯示屏顯示開(kāi)機(jī)動(dòng)畫(huà)進(jìn)入主程序。PS2 手柄以SPI 的通信協(xié)議與 通信,使用者可以通過(guò)手柄按鍵和搖桿控制機(jī)器人移動(dòng)、機(jī)械臂抓取運(yùn)動(dòng)以及對(duì)電磁炮超級(jí)電容進(jìn)行充放電、放電發(fā)射金屬炮彈,其工作流程圖如圖3 所示。

1690349400195944.png

圖3 手柄遙控流程

2.1.2 語(yǔ)音控制

語(yǔ)音控制部分包括串口模塊、電機(jī)驅(qū)動(dòng)模塊、舵機(jī)驅(qū)動(dòng)模塊和電磁炮驅(qū)動(dòng)模塊;該部分的核心傳感器件是LD3320語(yǔ)音傳感器,通過(guò)SPI協(xié)議與通信。其工作流程如圖4 所示。

image.png

圖4 語(yǔ)音遙控部分的流程

2.2 自動(dòng)部分

2.2.1 自主避障模塊

該模塊由4 個(gè)超聲波傳感器控制和8 路PWM 波直流電機(jī)驅(qū)動(dòng)控制組成,4 個(gè)超聲波傳感器分別位于機(jī)器人的前后左右部分,通過(guò)測(cè)量判斷機(jī)器人各個(gè)方向障礙物相對(duì)于機(jī)器人的距離來(lái)控制電機(jī)運(yùn)動(dòng),實(shí)現(xiàn)機(jī)器人的自主避障。

2.2.2 自動(dòng)循跡模塊

該部分由FPGA 對(duì)時(shí)序驅(qū)動(dòng)CCD 傳感器進(jìn)行曝光采集賽道信息,經(jīng)計(jì)算得到賽道中點(diǎn)相對(duì)于機(jī)器人的位置坐標(biāo),將該位置與像素中點(diǎn)相減得到賽道的偏移值,將偏移值代入PID 模塊作為誤差進(jìn)行運(yùn)算,為機(jī)器人輸出PWM 波,控制機(jī)器人的閉環(huán)循跡。

3 機(jī)械結(jié)構(gòu)

本作品的機(jī)械結(jié)構(gòu)主要由以下部分組成:機(jī)械臂部分、機(jī)器人運(yùn)動(dòng)部分、機(jī)器人輪胎和電磁炮部分。

3.1 機(jī)械臂部分

本作品采用三自由度機(jī)械臂,由機(jī)械部件和三個(gè)舵機(jī)組成,舵機(jī)的選型是MG996R,它是一種180° 的數(shù)字舵機(jī)。其特點(diǎn)是便宜、大扭力(最大扭力可達(dá)20 千克力),工作電壓為4.8~6 V。

舵機(jī)的主要控制原理是:輸入1 個(gè)周期為20 ms 的矩形脈沖,根據(jù)其占空比的大小來(lái)決定舵機(jī)輸出的轉(zhuǎn)軸角。

3.2 機(jī)器人運(yùn)動(dòng)部分

該部分由直流電機(jī)、輪胎、電機(jī)驅(qū)動(dòng)模塊組成,其中直流電機(jī)采用4 個(gè)370 直流減速電機(jī),控制電壓為12 V。電機(jī)選取的轉(zhuǎn)速為中等的170 轉(zhuǎn)/min。電機(jī)驅(qū)動(dòng)部分由2 個(gè)電機(jī)驅(qū)動(dòng)模塊組成,其型號(hào)為L(zhǎng)298N,是一種H 橋MOS 管驅(qū)動(dòng)電路,輸出電流大、隔離性強(qiáng)、頻帶寬,能夠輸出4 路信號(hào)控制2 個(gè)電機(jī)。

3.3 機(jī)器人底盤(pán)部分

機(jī)器人輪胎選用麥克納姆輪。由于獨(dú)特的機(jī)械結(jié)構(gòu),4 個(gè)麥克納姆輪通過(guò)矢量相加可實(shí)現(xiàn)機(jī)器人平移、原地旋轉(zhuǎn)等特殊運(yùn)動(dòng)。

3.4 電磁炮部分

該部分主要包含逆變升壓模塊、繼電器模塊、超級(jí)電容模塊和電磁線(xiàn)圈模塊。

首先從繼電器模塊中引出兩根信號(hào)線(xiàn)給FPGA,F(xiàn)PGA 可根據(jù)手柄和語(yǔ)音控制繼電器模塊閉合張開(kāi)以控制12 V 電源,通過(guò)逆變升壓模塊給超級(jí)電容充電,然后控制繼電器將12 V 電源斷開(kāi),此時(shí)電能被存儲(chǔ)在超級(jí)電容之中。然后再次由FPGA 控制電磁線(xiàn)圈閉合,使電能從電容中釋放,此時(shí)變化的電流通過(guò)線(xiàn)圈生成磁場(chǎng)。根據(jù)法拉第電磁感應(yīng)定律和楞次定律,線(xiàn)圈中將產(chǎn)生排斥方向的洛倫茲力帶動(dòng)炮管中的金屬?gòu)椛涑?。為了保護(hù)電路和隔離,使用可控硅和續(xù)流二極管等器件。

4 算法系統(tǒng)

4.1 機(jī)器人運(yùn)動(dòng)算法

本作品設(shè)計(jì)的機(jī)器人運(yùn)動(dòng)部分采用4WD 的麥克納姆輪,每個(gè)麥克納姆輪上有若干傾斜45° 的小輪子,在轉(zhuǎn)動(dòng)時(shí)產(chǎn)生相比機(jī)器人傾斜45° 的摩擦力,4 個(gè)輪胎轉(zhuǎn)動(dòng)配合即可實(shí)現(xiàn)平移、原地旋轉(zhuǎn)等運(yùn)動(dòng)。其運(yùn)動(dòng)原理如圖5所示,其中紅色代表輪子向前轉(zhuǎn),藍(lán)色代表輪子向后轉(zhuǎn)。

image.png

圖5 機(jī)器人運(yùn)動(dòng)算法

4.2 自主避障算法

該部分在機(jī)器人周?chē)O(shè)計(jì)4 個(gè)超聲波傳感器,當(dāng)一方檢測(cè)到障礙物的距離小于15 cm 時(shí),機(jī)器人向逆時(shí)針90°方向平移,即左手定則,如前方檢測(cè)到障礙就向左平移,左邊檢測(cè)到障礙向后平移,以此類(lèi)推。

4.3 自主循跡算法

本作品使用128 路線(xiàn)性CCD 傳感器進(jìn)行循跡,當(dāng)標(biāo)記線(xiàn)位置偏向任意一側(cè),控制機(jī)器人向另一側(cè)偏轉(zhuǎn),使標(biāo)記線(xiàn)始終保持在小車(chē)的中線(xiàn)附近。本作品還設(shè)計(jì)了循跡PID 算法,可實(shí)現(xiàn)平滑轉(zhuǎn)彎。

4.4 濾波算法

機(jī)器人傳感器進(jìn)行數(shù)據(jù)采集可能發(fā)生意外的抖動(dòng),數(shù)據(jù)現(xiàn)在誤差,進(jìn)而影響機(jī)器人的判斷。因此,采用均值濾波和中值濾波算法對(duì)部分傳感器,如超聲波傳感器、角度傳感器、溫度傳感器進(jìn)行一定的濾波,以改善傳感器效果。

5 圖像處理

圖像處理功能由CCD 基于FPGA 實(shí)現(xiàn),主要有兩種功能:軌跡識(shí)別及顯示、復(fù)雜循跡。以下將詳細(xì)介紹各個(gè)功能的實(shí)現(xiàn)。

5.1 軌跡識(shí)別及顯示

傳感系統(tǒng)中的CCD 模塊使用FPGA 實(shí)現(xiàn),本功能基于FPGA 驅(qū)動(dòng)TS1401 線(xiàn)性CCD 采集軌跡信息二值化后輸出至上位機(jī),以顯示軌跡。

5.1.1 灰度值采集

首先,F(xiàn)PGA 驅(qū)動(dòng)CCD 輸出其感光元件采集的線(xiàn)性128 個(gè)像素的模擬電壓,模擬電壓經(jīng)過(guò)AD9226 模塊轉(zhuǎn)換成12 位數(shù)字信號(hào)給FPGA。考慮到AD 模塊采集信號(hào)時(shí)有一定的隨機(jī)誤差,因此在采集時(shí)對(duì)其進(jìn)行均值濾波,即采集7 次AD,然后對(duì)采集的值求平均。由于本作品的AD 轉(zhuǎn)換頻率高達(dá)50 MHz,因此采集更多的次數(shù)也是可以實(shí)現(xiàn)的,通過(guò)多次試驗(yàn)且考慮到毛刺的影響,設(shè)置7 次AD 轉(zhuǎn)換比較合理。

5.1.2 二值化

為了方便FPGA 處理和識(shí)別,需要將采集的12 位數(shù)字電平信號(hào)進(jìn)行二值化操作,由CCD 的感光原理可知,采集像素點(diǎn)的灰度值越大,其模擬輸出的電壓就越大,但是根據(jù)AD9226 的工作原理:

VD=2048-Vi÷5×2048   (1)

其中VD 是數(shù)字轉(zhuǎn)換值,Vi是AD的模擬輸入值。

可知CCD采集的灰度值越大,F(xiàn)PGA收到的12 位數(shù)字值就越小,因此軌跡越黑數(shù)字值越大。根據(jù)設(shè)置閾值則可將軌跡和軌跡外的灰度二值化為0 或1。本作品將黑色軌跡設(shè)置為0,其中閾值的大小由當(dāng)次灰度采樣值的平均值、場(chǎng)地光強(qiáng)和調(diào)試經(jīng)驗(yàn)共同決定[3]

5.1.3 平滑濾波

隨后單次采樣的128 位像素均變?yōu)? 和1 的二值化量。考慮到在采集灰度時(shí)存在一定的毛刺,使采集的數(shù)據(jù)有0 到1 或1 到0 的錯(cuò)誤跳變,本作品對(duì)采集的軌跡進(jìn)行平滑濾波處理。由于軌跡的連續(xù)性灰度信號(hào)不存在突然的跳變,因此在圖像采集時(shí)采集的1 個(gè)、2 個(gè)或3個(gè)孤點(diǎn)都是毛刺產(chǎn)生的,該影響表現(xiàn)效果如圖6 所示。

1690358454877259.png

圖6 未平滑濾波圖像

測(cè)試發(fā)現(xiàn),控制一定的曝光時(shí)間基本上可以將CCD產(chǎn)生的毛刺信號(hào)控制在3 個(gè)以?xún)?nèi)。通過(guò)平滑濾波和調(diào)整曝光時(shí)間,CCD 的采集得到較為完美的圖像,測(cè)試結(jié)果如圖7 所示。

image.png

圖7 調(diào)整完善后CCD的采集圖像

5.2 復(fù)雜循跡

基礎(chǔ)紅外光電傳感器有很大的缺點(diǎn),如由于線(xiàn)路較少,其偏移值過(guò)于離散且數(shù)量小(僅左右2 個(gè)),其測(cè)量的偏差范圍是(-2 ~ 2)。該數(shù)據(jù)基本無(wú)法進(jìn)行PID閉環(huán)控制,由于開(kāi)環(huán)操作使得機(jī)器人循跡時(shí)抖動(dòng)很大,效果不好,而且由于線(xiàn)路少,一路出故障就會(huì)對(duì)整個(gè)系統(tǒng)功能產(chǎn)生很大的影響。為了確保機(jī)器人的性能和穩(wěn)定性,按上一節(jié)采用圖像處理方法實(shí)現(xiàn)機(jī)器人的復(fù)雜循跡,包含基礎(chǔ)連續(xù)軌跡、間斷軌跡和交叉環(huán)島,基于CCD圖像識(shí)別完成機(jī)器人對(duì)其復(fù)雜循跡。

5.2.1連續(xù)軌跡

首先是實(shí)現(xiàn)機(jī)器人的連續(xù)循跡,由上一節(jié)CCD 識(shí)別軌跡可以發(fā)現(xiàn),黑色的軌跡在FPGA 上表現(xiàn)為0,通過(guò)1 次采集的128 個(gè)像素所構(gòu)成的二值化數(shù)組,即可得到軌跡兩邊的邊緣坐標(biāo),根據(jù)邊緣坐標(biāo)即可計(jì)算出軌跡中點(diǎn)坐標(biāo),然后將中心坐標(biāo)與128 的1/2(取整數(shù)63)做差,即可得到機(jī)器人相對(duì)軌跡的偏差。如CCD 得到黑線(xiàn)左邊坐標(biāo)為68,右邊坐標(biāo)為97,經(jīng)計(jì)算得到黑線(xiàn)的中心坐標(biāo)為82,說(shuō)明此時(shí)黑線(xiàn)中點(diǎn)位于小車(chē)右邊19個(gè)坐標(biāo)位置,小車(chē)則需要左移19 個(gè)坐標(biāo)才能實(shí)現(xiàn)軌跡的跟蹤即循跡。為了實(shí)現(xiàn)這一點(diǎn),基于Verilog 實(shí)現(xiàn)的PID 制器將軌跡中點(diǎn)和小車(chē)的偏差作為輸入,輸出為小車(chē)左邊電機(jī)和右邊電機(jī)的PWM 波占空比之差,以此閉環(huán)實(shí)現(xiàn)機(jī)器人的循跡功能。

5.2.2 間斷軌跡

對(duì)于間斷的軌跡而言,機(jī)器人若采取連續(xù)循跡方案很容易沖出賽道,因此在需要一定的判斷,在CCD 采樣前首先存儲(chǔ)一次機(jī)器人上一次采樣的數(shù)據(jù),如果判斷到錯(cuò)誤的軌跡,如左邊坐標(biāo)等于最小值、右邊坐標(biāo)等于最大值以及左邊坐標(biāo)大于右邊坐標(biāo)的情況,即讓上一次正確的采樣值完全替代這次的采樣值。該方法相當(dāng)于一種特殊的卡爾曼濾波法。

5.2.3 交叉環(huán)島

在(2)所提到的算法既可以修正CCD 采集到全0或者是全1 的情況,其中全1 代表間斷軌跡,全0 則代表環(huán)島的交叉點(diǎn),顯然在此算法下機(jī)器人將根據(jù)之前的采樣正確地通過(guò)環(huán)島。

6 系統(tǒng)整合與調(diào)試

6.1 串口模塊

本部分采用UART 協(xié)議結(jié)合藍(lán)牙模塊形成無(wú)線(xiàn)串口,實(shí)現(xiàn)機(jī)器人與PC 端的上位機(jī)的無(wú)線(xiàn)通信,波特率為9 600 bit/s。

6.2 上位機(jī)設(shè)計(jì)

該部分基于PyQt設(shè)計(jì)和機(jī)器人配套的上位機(jī)軟件,在實(shí)現(xiàn)串口收發(fā)的基礎(chǔ)上,針對(duì)機(jī)器人的移動(dòng)和機(jī)械臂的抓取設(shè)計(jì)了獨(dú)立按鍵,用戶(hù)可以通過(guò)點(diǎn)擊鼠標(biāo)按鍵或者綁定的鍵盤(pán)來(lái)控制機(jī)器人運(yùn)動(dòng)和抓取,該部分主要用于調(diào)試機(jī)器人。

6.3 HMI串口屏設(shè)計(jì)

本部分基于FPGA 結(jié)合觸摸電阻屏和串口設(shè)計(jì)一款機(jī)器人顯示端,具有豐富的按鍵和人性化的GUI。用戶(hù)需要解鎖才能使用,可以通過(guò)點(diǎn)擊按鍵來(lái)獲取各類(lèi)信息,當(dāng)觸發(fā)災(zāi)難事件時(shí)會(huì)預(yù)警。本部分是機(jī)器人主要的人機(jī)交互模塊,傳感器的測(cè)試均可在顯示屏的顯示中得到驗(yàn)證。

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

目前市面上少有純粹基于FPGA 設(shè)計(jì)的機(jī)器人,本設(shè)計(jì)的機(jī)器人完全采用FPGA 實(shí)現(xiàn)控制,由于其現(xiàn)場(chǎng)可編程特性以及并列運(yùn)行指令結(jié)構(gòu),具有很好的可重構(gòu)性和實(shí)時(shí)性。因此,基于FPGA 的多功能可重構(gòu)機(jī)器人能夠很好地彌補(bǔ)市場(chǎng)缺口,具有更低的成本。除此以外,隨著FPGA 性能的提升以及集成電路產(chǎn)業(yè)與自動(dòng)控制、計(jì)算機(jī)產(chǎn)業(yè)的互相促進(jìn)融合,基于FPGA 實(shí)現(xiàn)的機(jī)器人不僅能夠作為市場(chǎng)產(chǎn)品的替代,而且能夠?qū)崿F(xiàn)更為復(fù)雜的算法和功能。

參考文獻(xiàn):

[1]李斌,吳鎮(zhèn)煒,談大龍,等.可重構(gòu)機(jī)器人技術(shù)的探討[J].信息與控制,2001,30(0S1):684-688.

[2]吳國(guó)盛.7天搞定FPGA:與Xilinx實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2016.

[3]趙萬(wàn)欣,陳思屹.基于TSL1401線(xiàn)性CCD的智能巡線(xiàn)小車(chē)[J].工業(yè)控制計(jì)算機(jī),2014,27(2):121-122.

(本文來(lái)源于《電子產(chǎn)品世界》雜志2022年1月期)



關(guān)鍵詞: 202201 Robei 機(jī)器人 EDA FPGA

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉