機(jī)器人安全新突破:安全氣泡探測器的強大功能
簡介
機(jī)器人的普及程度越來越高,目前正在逐漸提高在各行各業(yè)的效率和生產(chǎn)力。然而,為了確保周邊人員和資產(chǎn)的安全,機(jī)器人必須配備碰撞檢測和停止功能。安全氣泡探測器可以探測指定安全區(qū)域內(nèi)是否存在物體或人員。
本文重點介紹如何使用ADI公司的EVAL-ADTF3175D-NXZ飛行時間(ToF)平臺實現(xiàn)安全氣泡探測器應(yīng)用。ADTF3175D模塊具有75°的視場(FoV)。如需在實際應(yīng)用中覆蓋更寬的視場,則可以組合使用多個傳感器。例如,為了覆蓋270°的視場,則需使用四個模塊。安全氣泡探測算法在EVAL-ADTF3175D-NXZ平臺的i.MX8MP處理器上運行,可以捕獲來自傳感器的深度圖像,并探測安全氣泡半徑內(nèi)的任何物體。為了便于集成到機(jī)器人應(yīng)用中,通常借助機(jī)器人操作系統(tǒng)(ROS)框架來實現(xiàn)安全氣泡探測應(yīng)用。該算法經(jīng)過高度優(yōu)化,在此平臺上實現(xiàn)了30 FPS幀率。安全氣泡探測器是自動導(dǎo)引車(AGV)和自主移動機(jī)器人(AMR)的基本組成部分。相關(guān)安全區(qū)通常用AGV/AMR周圍的虛擬圓形區(qū)域表示,如圖1中的紅色圓圈所示。
圖1 安全氣泡探測器
安全氣泡探測器是AGV/AMR系統(tǒng)必不可少的組成部分。圖2中的安全氣泡探測器由四個EVAL-ADTF3175DNXZ模塊構(gòu)成,覆蓋278°的視場。這些模塊呈水平分布,飛行時間(ToF)模塊之間彼此相隔67.5°,這種配置有助于減少盲點,呈現(xiàn)278°的視場。
為了方便ToF模塊和主機(jī)系統(tǒng)之間的通信,系統(tǒng)采用ROS發(fā)布者-訂閱者模型,如圖3所示。此設(shè)置使用Ethernet over USB進(jìn)行通信,以確保數(shù)據(jù)完整性并提高通信速度。
圖2 水平設(shè)置。(a)頂視圖;(b)前視圖
系統(tǒng)采用安全氣泡探測算法來探測安全氣泡半徑內(nèi)的物體。探測標(biāo)志以ROS 話題(Topic)的形式傳輸,主機(jī)可以訂閱所有模塊的話題,并合并各個探測結(jié)果。此外,這些模塊還可發(fā)布深度圖像、紅外圖像和輸出圖像以供進(jìn)一步分析。ROS提供了有效的可視化工具,例如rviz,它可以將發(fā)布的話題可視化。該應(yīng)用設(shè)計為高度可配置的,將參數(shù)傳遞給ROS節(jié)點即可調(diào)整攝像頭位置、旋轉(zhuǎn)角度和其他配置值。
該應(yīng)用實現(xiàn)了多線程架構(gòu),如圖4所示。輸入、處理、輸出三個線程并行運行。該設(shè)計旨在有效減少延遲,確保持續(xù)對最新可訪問幀運行算法模塊。輸入線程從ToF模塊讀取圖像并更新輸入隊列,而處理線程獲取輸入隊列并運行安全氣泡探測算法,發(fā)布探測到的標(biāo)志并將輸出推送到輸出隊列。輸出線程讀取輸出隊列并發(fā)布話題以實現(xiàn)可視化。在實時場景中,當(dāng)算法模塊的幀速率低于輸入線程時,先前未來得及處理的的幀將被丟棄,從而以最小延遲優(yōu)先處理最新的幀。
圖3 主機(jī)作為訂閱者、ROS節(jié)點作為發(fā)布者的架構(gòu)
圖4 多線程程序
主機(jī)和ToF模塊之間的通信采用TCP/IP協(xié)議,通過ROS發(fā)布者-訂閱者模型進(jìn)行。主機(jī)將來自ROS節(jié)點(ToF模塊)的已發(fā)布輸出圖像合并,并發(fā)布合并后的輸出。
如圖5所示,主機(jī)是NVIDIA? Jetson Xavier NX,利用Ethernet over USB協(xié)議為所有四個ToF模塊供電并與之通信。
安全氣泡的默認(rèn)半徑為一米,這可以在ROS啟動文件中進(jìn)行配置。如果在該區(qū)域內(nèi)探測到物體,則會觸發(fā)設(shè)置中的物體探測標(biāo)志,并通過ROS主題發(fā)送到主機(jī)。主機(jī)訂閱每個ToF模塊的物體探測話題。結(jié)果通過簡單的邏輯工作范圍OR(或)運算合并。如果任何一個傳感器在安全氣泡內(nèi)探測到物體,合并后的結(jié)果就會指示存在物體。
圖5 采用NVIDIA Jetson Xavier NX的水平設(shè)置
為了實現(xiàn)可視化,傳感器將獲取的圖像轉(zhuǎn)換為頂視圖,并根據(jù)物體位于安全氣泡內(nèi)部還是外部,用綠色和紅色像素標(biāo)記物體。各傳感器也會將此圖像作為ROS 話題發(fā)布,隨后主機(jī)將它們合并成組合圖像。圖6為所有已發(fā)布輸出圖像主題的組合圖像。
圖6 四個TOF模塊的組合頂視圖
為了實現(xiàn)可視化,在左上角繪制一個方框來顯示物體探測狀態(tài)(綠色:未探測到物體;紅色:探測到物體)。參見圖7。
這些圖像可以通過ROS工具rviz進(jìn)行可視化。此外,NVIDIA Jetson Xavier NX可以通過HDMI線連接到顯示器,以便查看輸出。為了進(jìn)行分析,我們可以啟用輸入圖像的深度圖像、點云和頂視圖等可視化功能。這些可視化功能為探測到的物體及其空間關(guān)系提供更詳細(xì)的信息和洞察。參見圖8。
圖7 可視化。(a)未探測到物體;(b)探測到物體
圖8 可視化(用于分析的調(diào)試圖像)所用SQA流程
采用標(biāo)準(zhǔn)軟件質(zhì)量保證(SQA)方法來確保軟件的安全性和質(zhì)量。
■ 單元測試:ROS支持多級別的單元測試。
■ 庫單元測試:測試獨立于ROS的庫。
■ ROS節(jié)點單元測試:節(jié)點單元測試啟動節(jié)點及其外部API,即已發(fā)布話題、已訂閱話題和服務(wù)。
■ 代碼覆蓋率:代碼覆蓋率分析由ROS的一個工具包完成,有助于消除從未被執(zhí)行的“死代碼”并提高單元測試質(zhì)量。
■ 文檔:ROS有一個工具包ros_doc_lite,它能為源文件生成doxygen格式的文檔。
■ 使用Clang格式來格式化代碼,并使用Clang-tidy來維護(hù)ROS編碼風(fēng)格指南。
安全氣泡探測器能夠可靠地探測各種形狀、顏色和尺寸的物體,包括厚度僅5毫米的電纜。
算法的延遲非常低,只有30 ms,可確保實時探測物體并作出響應(yīng)。
由于充分利用了ROS框架來構(gòu)建用戶界面和提供可視化功能,該應(yīng)用具有高度可移植性,可兼容任何使用ROS的主機(jī),幫助縮短客戶產(chǎn)品的上市時間。
對于透明和低反射物體,ToF傳感器的準(zhǔn)確度較低。因此,對玻璃瓶和塑料球等物體,會出現(xiàn)探測滯后。例如,圖9顯示了算法探測到物體的距離(安全半徑設(shè)置為100 cm)。y軸代表測試對象。玻璃瓶(12, 7)表示玻璃瓶高12 cm,寬7 cm。如果括號中只有一個參數(shù),則它表示物體的半徑或立方體的邊長。表1總結(jié)了安全氣泡探測器的規(guī)格。
圖9 探測準(zhǔn)確度
表1 安全氣泡探測器規(guī)格
指標(biāo) | 值 | 說明 |
探測延遲 | 30ms | 圖像分辨率:512×512 |
探測區(qū)域 | 可配置面積的圓形/矩形 | 默認(rèn)值:圓形區(qū)域,半徑1米 |
視場 | 75° | 使用1個傳感器 |
結(jié)論
這款由ADTF3175D和EVAL-ADTF3175DNXZ ToF平臺組成的安全氣泡探測器具有許多優(yōu)勢。它針對i.MX8MP平臺進(jìn)行了高度優(yōu)化,實現(xiàn)了30 FPS的流暢性能;而且采用多線程方法來有效減少延遲,確??焖夙憫?yīng);此外還實施了SQA方法來確保軟件安全并維護(hù)質(zhì)量標(biāo)準(zhǔn)。
致謝
感謝ADI-TOF SDK團(tuán)隊的支持。
參考文獻(xiàn)
“工業(yè)視覺技術(shù)”。ADI公司。
“Analog Devices ToF” 。GitHub, Inc.
“Analog Devices 3DToF ADTF31xx”。GitHub, Inc.
“Analog Devices 3DToF Safety Bubble Detector”。GitHub, Inc.
“Analog Devices 3DToF Floor Detector”。GitHub, Inc.
“Analog Devices 3DToF Image Stitching”。GitHub, Inc.
作者簡介
Rajesh Mahapatra擁有超過30年的工作經(jīng)驗,目前就職于班加羅爾ADI公司的軟件和安全部門。他熱衷于使用基于ADI硬件解決方案的算法和嵌入式軟件來幫助客戶解決問題。他與非政府組織密切合作,植樹造林,并為城市里經(jīng)濟(jì)困難的人群提供培訓(xùn),幫助他們謀生。他在系統(tǒng)、圖像處理和計算機(jī)視覺領(lǐng)域擁有5項專利。
Anil Sripadarao于2007年加入ADI公司,目前就職于班加羅爾ADI公司的軟件和安全部門。他感興趣的領(lǐng)域包括音頻/視頻編解碼器、AI/ML、計算機(jī)視覺算法和機(jī)器人技術(shù)。他在圖像處理和計算機(jī)視覺領(lǐng)域擁有6項專利。
Prasanna Bhat是班加羅爾ADI公司軟件和安全部門的嵌入式軟件工程師。他是軟件開發(fā)和前沿技術(shù)交叉領(lǐng)域的專家,工作范圍涉及多個領(lǐng)域,包括機(jī)器人、深度學(xué)習(xí)、嵌入式系統(tǒng)、Python GUI以及飛行時間(ToF)傳感器應(yīng)用的圖像處理算法等。
Colm Prendergast是Analog Garage的高級首席研究科學(xué)家,致力于研究自主機(jī)器人檢測應(yīng)用的算法和系統(tǒng)。Colm于1989年加入ADI公司,在愛爾蘭利默里克擔(dān)任設(shè)計工程師。在ADI公司工作期間,Colm從事和領(lǐng)導(dǎo)了廣泛應(yīng)用領(lǐng)域中的多個項目,包括數(shù)字視頻、音頻、通信、DSP和MEMS。Colm目前是ADI公司物聯(lián)網(wǎng)領(lǐng)域云技術(shù)總監(jiān),負(fù)責(zé)領(lǐng)導(dǎo)云技術(shù)開發(fā)工作,并曾參與開發(fā)ADI公司自動駕駛汽車技術(shù),最近又參與了ADI公司機(jī)器人感知和導(dǎo)航技術(shù)的開發(fā)。
Shane O'Meara是ADI公司工業(yè)自動化事業(yè)部的高級經(jīng)理,常駐愛爾蘭,從事軟件系統(tǒng)設(shè)計工程工作,側(cè)重于為工業(yè)機(jī)器人開發(fā)軟件。他于2011年加入ADI公司,擔(dān)任產(chǎn)品應(yīng)用工程師,致力于推動電機(jī)控制應(yīng)用中精密ADC的技術(shù)發(fā)展。Shane畢業(yè)于利默里克大學(xué),獲工程學(xué)士學(xué)位。加入ADI公司之前,他曾在不同的崗位上負(fù)責(zé)汽車電子和視覺系統(tǒng)領(lǐng)域的工作。
Dara O'Sullivan是ADI公司工業(yè)邊緣、運動和機(jī)器人事業(yè)部的系統(tǒng)應(yīng)用總監(jiān)。他的專長領(lǐng)域是工業(yè)運動控制應(yīng)用的功率轉(zhuǎn)換、控制和監(jiān)測,擁有愛爾蘭科克大學(xué)工程學(xué)士、工程碩士和博士學(xué)位。自2001年起,他便一直從事跟工業(yè)與可再生能源應(yīng)用相關(guān)的研究、咨詢工作。
Anders Frederiksen是ADI公司互連運動和機(jī)器人事業(yè)部機(jī)器人和新興技術(shù)高級戰(zhàn)略營銷經(jīng)理,常駐丹麥。Anders在數(shù)字IC設(shè)計、產(chǎn)品及高級管理方面擁有超過25年的行業(yè)經(jīng)驗,工作足跡遍布全球,曾入職多家半導(dǎo)體和機(jī)器人行業(yè)的跨國公司和初創(chuàng)公司,此外也多次受邀出席各種行業(yè)會議和論壇并發(fā)表演講。他于1998年加入ADI公司,擔(dān)任電力電子和電機(jī)控制系統(tǒng)工程師,在美國馬薩諸塞州諾伍德市工作。他在ADI公司內(nèi)擔(dān)任過多種職務(wù),推動了全球和本地的技術(shù)開發(fā)、市場拓展和銷售戰(zhàn)略實施。Anders畢業(yè)于丹麥技術(shù)大學(xué),獲電氣工程碩士學(xué)位,成績優(yōu)異。加入ADI公司之前,他曾擔(dān)任丹麥技術(shù)大學(xué)助理教授。
Sagar Walishetti是班加羅爾ADI公司軟件和安全部門的軟件工程師。他于2019年加入ADI公司,曾從事嵌入式系統(tǒng)、圖像處理、機(jī)器人和深度學(xué)習(xí)方面的工作。在ADI任職期間,有關(guān)這些領(lǐng)域的整合工作讓他十分興奮。
評論