打造機(jī)器人安全新維度,詳析實(shí)時(shí)安全氣泡探測(cè)架構(gòu)
機(jī)器人的普及程度越來(lái)越高,目前正在逐漸提高在各行各業(yè)的效率和生產(chǎn)力。然而,為了確保周邊人員和資產(chǎn)的安全,機(jī)器人必須配備碰撞檢測(cè)和停止功能,安全氣泡探測(cè)器可以探測(cè)指定安全區(qū)域內(nèi)是否存在物體或人員。
本文引用地址:http://2s4d.com/article/202504/469880.htm本文重點(diǎn)介紹如何使用ADI公司的EVAL-ADTF3175D-NXZ飛行時(shí)間(ToF)平臺(tái)實(shí)現(xiàn)安全氣泡探測(cè)器應(yīng)用。ADTF3175模塊具有75°的視場(chǎng)(FoV)。如需在實(shí)際應(yīng)用中覆蓋更寬的視場(chǎng),則可以組合使用多個(gè)傳感器。例如,為了覆蓋270°的視場(chǎng),則需使用四個(gè)模塊。安全氣泡探測(cè)算法在EVAL-ADTF3175D-NXZ平臺(tái)的i.MX8MP處理器上運(yùn)行,可以捕獲來(lái)自傳感器的深度圖像,并探測(cè)安全氣泡半徑內(nèi)的任何物體。為了便于集成到機(jī)器人應(yīng)用中,通常借助機(jī)器人操作系統(tǒng)(ROS)框架來(lái)實(shí)現(xiàn)安全氣泡探測(cè)應(yīng)用。該算法經(jīng)過(guò)高度優(yōu)化,在此平臺(tái)上實(shí)現(xiàn)了30 FPS幀率。安全氣泡探測(cè)器是自動(dòng)導(dǎo)引車(AGV)和自主移動(dòng)機(jī)器人(AMR)的基本組成部分。相關(guān)安全區(qū)通常用AGV/AMR周圍的虛擬圓形區(qū)域表示,如圖1中的紅色圓圈所示。
圖1. 安全氣泡探測(cè)器
安全氣泡探測(cè)器是AGV/AMR系統(tǒng)必不可少的組成部分。圖2中的安全氣泡探測(cè)器由四個(gè)EVAL-ADTF3175DNXZ模塊構(gòu)成,覆蓋278°的視場(chǎng)。這些模塊呈水平分布,飛行時(shí)間(ToF)模塊之間彼此相隔67.5°,這種配置有助于減少盲點(diǎn),呈現(xiàn)278°的視場(chǎng)。
圖2. 水平設(shè)置。(a)頂視圖;(b)前視圖
為了方便ToF模塊和主機(jī)系統(tǒng)之間的通信,系統(tǒng)采用ROS發(fā)布者訂閱者模型,如圖3所示。此設(shè)置使用Ethernet over USB進(jìn)行通信,以確保數(shù)據(jù)完整性并提高通信速度。
圖3. 主機(jī)作為訂閱者、ROS 節(jié)點(diǎn) 作為發(fā)布者的架構(gòu)
系統(tǒng)采用安全氣泡探測(cè)算法來(lái)探測(cè)安全氣泡半徑內(nèi)的物體。探測(cè)標(biāo)志以ROS 話題(Topic)的形式傳輸,主機(jī)可以訂閱所有模塊的話題,并合并各個(gè)探測(cè)結(jié)果。此外,這些模塊還可發(fā)布深度圖像、紅外圖像和輸出圖像以供進(jìn)一步分析。ROS提供了有效的可視化工具,例如rviz,它可以將發(fā)布的話題可視化。該應(yīng)用設(shè)計(jì)為高度可配置的,將參數(shù)傳遞給ROS節(jié)點(diǎn)即可調(diào)整攝像頭位置、旋轉(zhuǎn)角度和其他配置值。
該應(yīng)用實(shí)現(xiàn)了多線程架構(gòu),如圖4所示。輸入、處理、輸出三個(gè)線程并行運(yùn)行。該設(shè)計(jì)旨在有效減少延遲,確保持續(xù)對(duì)最新可訪問(wèn)幀運(yùn)行算法模塊。輸入線程從ToF模塊讀取圖像并更新輸入隊(duì)列,而處理線程獲取輸入隊(duì)列并運(yùn)行安全氣泡探測(cè)算法,發(fā)布探測(cè)到的標(biāo)志并將輸出推送到輸出隊(duì)列。輸出線程讀取輸出隊(duì)列并發(fā)布話題以實(shí)現(xiàn)可視化。在實(shí)時(shí)場(chǎng)景中,當(dāng)算法模塊的幀速率低于輸入線程時(shí),先前未來(lái)得及處理的的幀將被丟棄,從而以最小延遲優(yōu)先處理最新的幀。
圖4. 多線程程序
主機(jī)和ToF模塊之間的通信采用TCP/IP協(xié)議,通過(guò)ROS發(fā)布者-訂閱者模型進(jìn)行。主機(jī)將來(lái)自ROS節(jié)點(diǎn)(ToF模塊)的已發(fā)布輸出圖像合并,并發(fā)布合并后的輸出。
如圖5所示,主機(jī)是NVIDIA ? Jetson Xavier NX,利用Ethernet over USB協(xié)議為所有四個(gè)ToF模塊供電并與之通信。安全氣泡的默認(rèn)半徑為一米,這可以在ROS啟動(dòng)文件中進(jìn)行配置。如果在該區(qū)域內(nèi)探測(cè)到物體,則會(huì)觸發(fā)設(shè)置中的物體探測(cè)標(biāo)志,并通過(guò)ROS主題發(fā)送到主機(jī)。主機(jī)訂閱每個(gè)ToF模塊的物體探測(cè)話題。結(jié)果通過(guò)簡(jiǎn)單的邏輯工作范圍OR(或)運(yùn)算合并。如果任何一個(gè)傳感器在安全氣泡內(nèi)探測(cè)到物體,合并后的結(jié)果就會(huì)指示存在物體。
圖5. 采用NVIDIA Jetson Xavier NX的水平設(shè)置
為了實(shí)現(xiàn)可視化,傳感器將獲取的圖像轉(zhuǎn)換為頂視圖,并根據(jù)物體位于安全氣泡內(nèi)部還是外部,用綠色和紅色像素標(biāo)記物體。各傳感器也會(huì)將此圖像作為ROS話題發(fā)布,隨后主機(jī)將它們合并成組合圖像。圖6為所有已發(fā)布輸出圖像主題的組合圖像。
圖6. 四個(gè)TOF模塊的組合頂視圖
為了實(shí)現(xiàn)可視化,在左上角繪制一個(gè)方框來(lái)顯示物體探測(cè)狀態(tài)(綠色:未探測(cè)到物體;紅色:探測(cè)到物體)。參見(jiàn)圖7。
圖7. 可視化。(a)未探測(cè)到物體;(b)探測(cè)到物體
這些圖像可以通過(guò)ROS工具rviz進(jìn)行可視化。此外,NVIDIA Jetson Xavier NX可以通過(guò)HDMI線連接到顯示器,以便查看輸出。為了進(jìn)行分析,我們可以啟用輸入圖像的深度圖像、點(diǎn)云和頂視圖等可視化功能。這些可視化功能為探測(cè)到的物體及其空間關(guān)系提供更詳細(xì)的信息和洞察。參見(jiàn)圖8。
圖8. 可視化(用于分析的調(diào)試圖像)
所用SQA流程
采用標(biāo)準(zhǔn)軟件質(zhì)量保證(SQA)方法來(lái)確保軟件的安全性和質(zhì)量。
單元測(cè)試:ROS支持多級(jí)別的單元測(cè)試。
庫(kù)單元測(cè)試:測(cè)試獨(dú)立于ROS的庫(kù)。
ROS節(jié)點(diǎn)單元測(cè)試:節(jié)點(diǎn)單元測(cè)試啟動(dòng)節(jié)點(diǎn)及其外部API,即已發(fā)布話題、已訂閱話題和服務(wù)。
代碼覆蓋率:代碼覆蓋率分析由ROS的一個(gè)工具包完成,有助于消除從未被執(zhí)行的“死代碼”并提高單元測(cè)試質(zhì)量。
文檔:ROS有一個(gè)工具包ros_doc_lite,它能為源文件生成doxygen格式的文檔。
使用Clang格式來(lái)格式化代碼,并使用Clang-tidy來(lái)維護(hù)ROS編碼風(fēng)格指南。
安全氣泡探測(cè)器能夠可靠地探測(cè)各種形狀、顏色和尺寸的物體,包括厚度僅5毫米的電纜。
算法的延遲非常低,只有30 ms,可確保實(shí)時(shí)探測(cè)物體并作出響應(yīng)。
由于充分利用了ROS框架來(lái)構(gòu)建用戶界面和提供可視化功能,該應(yīng)用具有高度可移植性,可兼容任何使用ROS的主機(jī),幫助縮短客戶產(chǎn)品的上市時(shí)間。
對(duì)于透明和低反射物體,ToF傳感器的準(zhǔn)確度較低。因此,對(duì)玻璃瓶和塑料球等物體,會(huì)出現(xiàn)探測(cè)滯后。例如,圖9顯示了算法探測(cè)到物體的距離(安全半徑設(shè)置為100 cm)。y軸代表測(cè)試對(duì)象。玻璃瓶(12, 7)表示玻璃瓶高12 cm,寬7 cm。如果括號(hào)中只有一個(gè)參數(shù),則它表示物體的半徑或立方體的邊長(zhǎng)。表1總結(jié)了安全氣泡探測(cè)器的規(guī)格。
圖9. 探測(cè)準(zhǔn)確度
表1. 安全氣泡探測(cè)器規(guī)格
結(jié)論
這款由ADTF3175D和EVAL-ADTF3175DNXZ ToF平臺(tái)組成的安全氣泡探測(cè)器具有許多優(yōu)勢(shì)。它針對(duì)i.MX8MP平臺(tái)進(jìn)行了高度優(yōu)化,實(shí)現(xiàn)了30 FPS的流暢性能;而且采用多線程方法來(lái)有效減少延遲,確??焖夙憫?yīng);此外還實(shí)施了SQA方法來(lái)確保軟件安全并維護(hù)質(zhì)量標(biāo)準(zhǔn)。
評(píng)論