?

一種基于全景視圖的智能物流機器人設計

2023-12-14 07:39冀風州肖廣兵
河北軟件職業技術學院學報 2023年4期
關鍵詞:電路設計全景電路

冀風州,肖廣兵

(南京林業大學 汽車與交通工程學院,南京 210037)

2021 年12 月12 日,國務院印發《“十四五”數字經濟發展規劃》,提出要大力發展智慧物流。智能物流機器人可以說是智慧物流的核心要素?;谝曈X方案的AGV 智能物流機器人,在行業中被廣泛關注。張向鴻等提出了基于模糊控制的單目視覺和激光雷達導引AGV 的運動控制方案,該方案使用單個攝像頭,導致在近距離時會失去圖像信息,需要依靠激光雷達進行定位。[1]本文提出了一種基于圖像拼接技術生成全景圖像的方案,進行物流機器人的循跡與避障。所謂圖像拼接技術就是將單一圖像融合成一幅圖像。借助全景視圖進行全景感知,物流機器人就可以獲得更多的視覺信息,有助于機器人的控制器在循跡過程中做出更準確的響應。

本文以樹莓派為上位機,LPC54606 單片機為運動控制系統,搭建物流機器人的主控電路、電源電路以及驅動電路等。

1 整體設計

物流機器人主要分為硬件系統和軟件系統兩個部分。硬件系統構成了物流機器人的實體部分,承擔著機器人的運動和顯示功能;軟件系統是物流機器人的核心部分,通過圖像拼接算法和運動控制算法對物流機器人進行軌跡控制。

智能物流機器人系統的硬件部分主要由機械結構和電路部分組成,其整體機械結構如圖1 所示。圖中“3”為機械臂,實現物流機器人的貨物抓取功能,“2”為底盤結構,負責機器人的運動功能,兩者共同構成了智能物流機器人的機械系統。底盤結構的框架部分使用3D 打印技術制作,底部安裝了四個如圖2 中的“1”所示的萬向輪,它特有的結構允許智能物流機器人在不改變車體方位的情況下在x 軸和y 軸自由移動,強化了智能物流機器人的靈活性。

圖1 物流機器人機械系統

圖2 MCU 主控芯片電路圖

2 電路系統設計

物流機器人的電路系統由MCU 主控芯片最小系統電路、IMU 慣性單元電路、磁編碼器電路和其他電路系統組成。

2.1 MCU 主控芯片最小系統電路

圖2 為本文設計的LPC54606 芯片的最小系統電路圖。因為單個微控制器無法正常工作,所以外圍電路的存在是必不可少的。智能物流機器人的主控制板搭建如下。

其中,LPC54606 的燒寫調試接口采用SWD(Serial Wire Debug)串行調試,電路接口使用一個4pin(J4)的接口引出,該電路借鑒了STM32 的電路設計,并進行了改進。如圖3 所示。

圖3 調試接口電路

由于在研發階段和實際測試階段都有可能出現程序死機和跑飛的現象,為了防止這類情況的出現,縮短研發和測試時間,需要考慮復位功能的設計。本方案參考芯片電路設計,并進行了微小的改動,設計了復位電路(如圖4 所示),可以在遇到上述情況后快速使系統恢復到初始狀態。

圖4 復位引腳參考電路圖

為了交互方便,本方案選擇了按鍵復位的方式。這樣既能夠避免誤觸,也能夠在意外情況發生時快速響應。為了防止意外復位的情況發生,復位引腳處需要增加一個上拉電阻,避免影響到測試人員的判斷,復位電路如圖5 所示。

圖5 復位電路圖

2.2 IMU 慣性單元電路

智能物流機器人在運動過程中需要獲得自身的位置以及運動狀況,便于進行后續控制。IMU 慣性單元由MPU6050 和AK8975L 三軸磁力計電路共同組成,幫助智能物流機器人獲取轉向角度以及自身的位置,其電路設計如圖6 所示。

圖6 慣性單元電路

2.3 磁編碼器電路

AS5048a 磁感應編碼器芯片設計可應用于本方案,該芯片使用SPI 信號總線與LPC54606 單片機通信。為了防止SPI 總線出現通信出錯的情況,它還額外引出了一根PWM 總線。磁編碼器的電路設計圖見圖7。

圖7 編碼器電路圖

編碼器電路與系統電路集成到了同一塊PCB板上,因此不用考慮安裝時的位置和外形設計,從而大大減輕了工作量。

2.4 其他電路

作為完整的智能物流機器人電路系統,還需要一些輔助電路。其中,電源模塊作為物流機器人系統的核心能源,直接決定著整個電路系統的運行狀態。

電源的種類不一樣,其使用特性也會不同,電源大致可以分為開關電源和線性電源兩類。線性電源的優勢明顯:工藝成熟,工藝制作成本也較低,穩定度特別高,波紋電流很小,能量消耗較少,而且應用比較靈活,既可以降壓也可以升壓?;诖?,本方案的電源電路采用MIC5219_3.3YM5 設計,借鑒了其所提供的電路設計方案。MIC5219 是一款低壓差線性穩壓芯片。具體電路設計如圖8所示。

圖8 LDO 供電電路

通訊電路在機器人系統中也是十分重要的,它承擔著自身傳感器各種數據的傳輸。其中,USB電路(如圖9 所示)主要與PC 端上位機和樹莓派通信,負責在調試階段向上位機發送各種數據,實現數據可視化,方便軟件調試和算法驗證。串口電路(如圖10 所示)一部分主要用于與物流機器人相互之間的通信;另一部分主要用于為物流機器人實時更新參數。負責機器人之間通訊的接口需要使用無線串口模塊進行轉接,因此它的位置需要向外,以免對其他電路造成短路風險。串口電路在設計時考慮從機器人主板上獲取電源,因此,需要一個5V 的電源接口,同時在輸入端放置一個二極管,防止系統芯片因電源反接而損壞。出于安全性考慮將整個電路進行接地,因此采用GND 結構,數據的接收和發送分別需要兩個接口,最終串口電路需要四個接口。

圖9 USB 接口電路

圖10 串口電路

攝像頭選取OpenMV4 plus 攝像頭。該攝像頭具有成品的電路設計,無需進行額外改動,并且支持Python 語言編程,極大地方便了項目開發,只需與單片機和樹莓派進行串口通信即可。

在設計電路系統時還考慮到了一種輔助電路,即指示燈電路,如圖11 所示。該電路不僅在試驗階段對系統調試能夠起到一定的輔助作用,還可以極大地提高智能物流機器人的易用性和人機交互性。指示燈電路是通過使用單片機信號控制MOS 管的連接來控制LED,采用共陽極的三色RGBLED 和N 溝道MOS 管設計。RGBLED 燈可以顯示紅、綠、藍、白、紫、黃六種顏色,這些顏色的出現以及變化情況可以有效地指導系統的運行,在工業場景中,也可以對工人起到預警的作用。

圖11 RGBLED 指示燈電路

3 軟件設計

物流機器人的機械結構和電路設計完成后,最重要的是機器人的嵌入式軟件程序設計。該機器人的程序可分為兩部分,一是機器人運動控制系統;二是機器人全景圖像系統。設計算法程序的主要步驟包括:系統功能需求分析、軟件架構設計、功能模塊設計、模塊功能集成和系統整體測試。

裸機開發的思想十分簡單,只需在開發前規劃好程序的整體系統框架和各功能模塊之間的信息流動路線。智能物流機器人的軟件流程主要是收集信息、處理信息和輸出信息,而這些功能之間需要相互協調,才能保證控制的穩定。

運動控制采取了經典的PID 算法,該算法在工業界被廣泛應用,效果得到了廣泛驗證。但運動控制系統不是本文的研究重點,不做過多闡述。

智能物流機器人的全景圖像系統采用Python語言進行編寫。生成全景圖像的方法有很多,不同的算法,步驟會有一定差異,但大致上相同,主要有圖像預處理、圖像配準和融合圖像三個步驟。

3.1 圖像預處理

圖像預處理包含數字圖像處理的基本操作,如去噪、邊緣提取、直方圖處理等??梢酝ㄟ^OpenCV 快速實現圖像的各種預處理操作。

3.2 圖像配準

圖像拼接中最重要的就是找到相鄰圖像中的重疊部分,然后生成圖像的變換矩陣,這一步驟就是圖像配準。智能物流機器人的前后左右各裝有一個攝像頭,共四個攝像頭,各自拍攝同一場景中不同角度的圖像傳輸給樹莓派進行處理。配準最終就是要找出t 時刻傳回樹莓派的這四張待拼接圖像的最佳變換矩陣。當前常用的一些空間變換模型有平移變換、剛性變換、仿射變換以及投影變換等[2],如圖12 所示。

圖12 常用空間變換模型

用矩陣形式描述如下:

其中,投影變換矩陣中各參數的作用如表1所示。

表1 投影變換矩陣M 中各參數作用

原圖像經過變換矩陣M 就會有不同的呈現,通過變換矩陣中的參數,就可以得到構建全景圖像所需要的新圖像。圖像中的平移關系比較容易檢測和配準,但是旋轉和縮放的檢測是比較困難的。針對這一難題,許多算法提出了不同的解決方案。本文采取了基于特征的圖像配準方法。

基于特征的圖像拼接壓縮了需要使用的圖像信息,利用圖像的明顯特征來估計圖像之間的變換,降低了運算量。

本文選取了基于SIFT 的配準算法。該算法由Lowe 于1999 年提出,2004 年完善總結。[3]該算法利用圖像關鍵點的SIFT 特征向量進行匹配,其步驟如圖13 所示。

圖13 SIFT 步驟

高斯金字塔通過高斯函數進行構建。圖像I(x,y)在不同尺度下的尺度空間可表示為圖像與高斯核的卷積:

其中,G(x,y,σ)=1/(2πσ2)e-(x2+y2)/2σ2)是尺度可變高斯函數;(x,y)是圖像像素位置;σ 為尺度空間因子。

在圖像平面空間和高斯差分金字塔中同時檢測局部極值,可檢測到穩定的特征點。高斯差分函數定義為兩個不同尺度的高斯核的差分:

基于差分高斯金字塔獲得圖像特征后,以歐氏距離作為特征的相似性判定準則,得到滿足要求的匹配特征。SIFT 算法通過匹配特征就可以得到圖像的變換矩陣參數,最后完成全景圖像的生成。部分代碼如下:

# 讀取圖像

imageA=cv2.imread('C:\Users\15114\Desktop\img

\13.jpg')

imageA=cv2.resize(imageA,(720,300),interpolation

=cv2.INTER_AREA)

cv_show("imageA",imageA)

imageB=cv2.imread('C:\Users\15114\Desktop\img

\14.jpg')

imageB=cv2.resize(imageB,(720,300),interpolation

=cv2.INTER_AREA)

cv_show("imageB",imageB)

t1,imageA1=cv2.threshold(imageA,100,255,cv2.

THRESH_TRUNC)

t2,imageB1=cv2.threshold(imageB,100,255,cv2.

THRESH_TRUNC)# 計算SIFT 特征點和特征向量

(kpsA,featuresA)= detectAndCompute(imageA1)

(kpsB,featuresB)= detectAndCompute(imageB1)

# 基于最近鄰和隨機取樣一致性得到一個單應性

矩陣

(M,matches,status)=matchKeyPoints(kpsA,kpsB,

featuresA,featuresB)

# 繪制匹配結果

#drawMatches (imageA,imageB,kpsA,kpsB ,

matches,status)

# 拼接

stich(imageA,imageB,M)

3.3 圖像融合

直接拼接后的圖像由于光照、視角等因素的影響,在圖像拼接后的重疊部分可能會出現重影、模糊、鬼影或者噪點,邊界處也會有明顯的拼接痕跡。圖像融合可以明顯改善拼接質量。

符合本設計需求的算法有加權平均法、基于感興趣區域圖像融合法、對比度調制法和基于顏色變換的融合算法。鑒于智能物流機器人并不需要實現高標準的全景圖像,加權平均法完全可以達到要求。

加權平均法是非常簡單的圖像融合算法。將兩幅圖像分別給予不同的權重系數后再相加就是加權平均法的本質??梢员硎緸椋?/p>

其中,加權系數α 需要滿足0≤α≤1。

本文利用全景圖像系統實現了智能物流機器人的全景感知,能夠有效提升智能物流機器人的循跡與避障功能,滿足了智能物流機器人對于環境信息的輸入要求,彌補了單一攝像頭只能獲取同一場景單一角度環境信息的缺點。鑒于當前物流工廠需要實現多機器人協調工作,因此,基于全景視圖的優勢進行多機器人調度將是下一步的重要研究方向。

猜你喜歡
電路設計全景電路
電路的保護
戴上耳機,享受全景聲 JVC EXOFIELD XP-EXT1
解讀電路
Altium Designer在電路設計中的應用
巧用立創EDA軟件和Altium Designer軟件設計電路
負反饋放大電路設計
基于MATLAB模擬混沌電路
全景敞視主義與偵探小說中的“看”
從5.1到全景聲就這么簡單 FOCAL SIB EVO DOLBY ATMOS
全景搜索
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合