徐能文,黃繼霆,田順,王棋,劉芯洋,孫浩松,唐攀,李欽林
(電子科技大學 成都學院 工學院,四川成都, 611731)
由世界高層建筑與都市人居學會(CTBUH)發(fā)布的《2020 高層建筑年度回顧》,2020 年中國共完成56 座200m 以上的高層建筑,總量達到823 座,位列全球首位。高層建筑數(shù)量的增加催生大量建筑外墻安全檢測的需求[1]。例如:高樓外墻瓷磚脫落、高層建筑墻體滲水問題、全球暖帶來極端天氣造成的墻體鼓包問題。如今,通過引入先進的技術,如通訊技術、物聯(lián)網(wǎng)、人工智能和混合云,智能巡檢機器人不僅可以大幅降低人力消耗和技術難題,而且能夠提供準確的檢測精度,已經(jīng)成為一種可靠的巡檢方式。這些技術的應用為高樓外墻巡檢機器人的發(fā)展提供了強有力的技術支持[2]。
高樓外墻巡檢機器是一個對高樓外墻進行飛行巡檢的一個智能機器人,由:激光測距模塊、攝像頭模塊、接收機、電機、飛控、GPS 模塊、控制器模塊、數(shù)傳模塊組成。飛控控制電機轉動使無人機進行高空飛行;連接接收機使地面人員可以有效地控制機器人的空中運動,GPS 模塊實時發(fā)送位置信號給飛控,再把信號傳輸給控制器模塊;控制器模塊對激光測距模塊和攝像頭控制,以及把信息傳輸回地面[3]。總體設計如圖1 所示。

圖1 總體設計圖
本設計以無人機為載體,Pixhawk 作為飛行主控,通過Pixhawk 控制電機旋轉實行飛行,GPS 實時傳回坐標給Pixhawk[4]。本設計采用STM32F103C8T6 芯片的最小系統(tǒng)模塊作為控制器,主要用于收集各個系統(tǒng)傳回的數(shù)據(jù),通過數(shù)傳模塊傳回地面站[5]。電路接線圖如圖2 所示。

圖2 電路接線圖
攝像頭模塊是包含攝像頭以及相應處理芯片的模塊,包括K210 主控芯片,攝像頭。攝像頭模塊與STM32F03CT6最小系統(tǒng)模塊連接接線圖如圖3 所示。用于采集視頻圖像、圖像處理。攝像頭工作流程如圖4 所示,攝像頭模塊的攝像頭負責采集該發(fā)明當前所處巡檢區(qū)域實時圖像,將采集的圖像信息傳送到K210 主控芯片進行信息處理。主控芯片采用K210 芯片對采集的圖像數(shù)據(jù)進行分析以及進一步指令操作。根據(jù)訓練的模型計算當前權重值,實現(xiàn)識別效果并將識別到的圖像用框線框出,通過I2C 通信方式返回識別到墻體鼓包、可能脫落的瓷磚等具有安全隱患的結果以特定數(shù)據(jù)的形式傳送到控制器模塊的STM32F103C8T6 芯片中,同時主控芯片將認定為存在危險隱患的圖片中心坐標在下一幀數(shù)據(jù)中發(fā)送到STM32F103C8T6 芯片中。

圖3 攝像頭模塊接線

圖4 攝像頭工作流程圖
1.2.1 YOLOV2 神經(jīng)網(wǎng)絡算法
YOLOV2 相比YOLOV1 算法,具有預測更準確,識別速度更快,識別對象更多的優(yōu)點。由于YOLOV2 算法能識別對象擴展到9000 個,該算法也被稱為YOLO9000。YOLOv2 在采用 224*224 圖像進行分類模型預訓練后,再采用 448*448 高分辨率樣本對分類模型進行微調(10 個epoch),使網(wǎng)絡特征逐漸適應 448*448 的分辨率。然后再使用 448*448 的檢測樣本進行訓練,緩解了分辨率突然切換造成的影響,最終通過使用高分辨率,mAP 提升了4%。
YOLO 算法的核心思想就是將識別圖像作為網(wǎng)絡的輸入,在輸出層回歸識別對象的位置和所屬類別。
1.2.2 YOLOV2 神經(jīng)網(wǎng)絡算法實現(xiàn)方法
將一個輸入網(wǎng)絡的圖像分為n*n 的網(wǎng)格,如果某個識別對象的中心落在網(wǎng)格中,則該網(wǎng)格負責預測這個識別對象。每個網(wǎng)格要預測x 個識別對象,每個識別對象除了要返回自身位置之外,還要附加預測的C 值。這個C 值代表了所預測的網(wǎng)格中含有的識別對象的置信度和這個網(wǎng)格預測的準確度這兩重信息,其計算公式如下:
該表達式表示:如果有識別對象落在一個網(wǎng)格中,則第一項等于1,否則等于0。第二項是預測識別對象和實際的IOU 值。
YOLO 在對不同大小的網(wǎng)格預測中具有一定的偏差值,為了緩和這個問題YOLO 算法作者使用了一個取巧的辦法,就是將識別塊的長度和寬度去平方根代替原來的長寬。YOLO 算法的損失函數(shù)如下所示:
在YOLO 的損失函數(shù)中,只有當某個網(wǎng)格中有檢測目標的時候才會對classification error 進行懲罰。
VL53L0 激光測距模塊中VL53L0 是新一代飛行時間(ToF)激光測距模塊,采用市場上最小封裝,無論目標的反射率高低,都能提供精確的距離測量且可測量2m 的絕對距離[6]。激光接線圖,如圖5 所示。

圖5 激光接線圖
1.3.1 激光模塊的程序實現(xiàn)
方案一串口通信:采用中斷接收數(shù)據(jù),VL53L0 激光測距模塊傳回一次數(shù)據(jù)就接收一次數(shù)據(jù),傳回來的數(shù)據(jù)為十進制的數(shù)字(注意:這里得到的距離數(shù)據(jù)已經(jīng)是模塊內部濾波后的數(shù)據(jù),這種得到的數(shù)值比較平滑,不用進行過多處理),單位:mm;再對兩個VL53L0 激光測距模塊的數(shù)據(jù)和觸桿長度進行比較。
方案二I2C 通信:I2C 協(xié)議發(fā)送地址后立即讀取數(shù)據(jù),本次采用的VL53L0 激光測距模塊只需要讀出數(shù)據(jù),傳輸過程如圖6 所示:

圖6 激光數(shù)據(jù)流程圖
(1)起始信號S
(2)發(fā)送7 位從機地址+傳輸方向位,1 讀
(3)SCL 拉高,判斷ACK,再拉低SCL
(4)讀取第1 個字節(jié),寄存器地址
(5)發(fā)送應答ACK
(6)讀取第2 個字節(jié),VL53L0 激光測距模塊傳送回來的數(shù)據(jù)
(7)發(fā)送應答ACK,或者不應答NACK
(8)繼續(xù)傳輸數(shù)[8]
1.3.2 激光模塊工作過程
激光測距采用兩個VL53L0 激光測距模塊用于保證觸桿是正對(垂直于)墻面,且當觸桿觸碰鼓包時,提供距離,防止機身與墻面相撞。兩個VL53L0 激光測距模塊測量出的距離相等,確定觸桿垂直于墻面;通過距離和已知觸桿的長度比較,判斷是否和墻面接觸,防止觸桿和墻硬接觸。如果左邊距離x1>x2 則需要控制無人機往左飛行移動,反之則往右飛行移動,直到x1=x2;直線向前飛行利用觸桿觸碰目標,設置閾值比觸桿的長度短3~5cm,當兩個VL53L0 激光測距模塊測量出的距離都等于這個閾值則停止飛行。激光工作圖如圖7 所示。

圖7 激光工
穩(wěn)定性是衡量一個小型無人機能完成多少工作的重要指標,為了能有更穩(wěn)定的飛行效果,全機采用3K碳纖維材料,兼顧了硬度與輕量化。觸碰彈簧系統(tǒng)(接觸的一瞬間對觸桿所受的力進行緩沖,降低對無人機穩(wěn)定性的影響)[8],實物結構如圖8 所示。

圖8 實物結構圖
開啟控制器和飛控電源。飛控啟動,GPS 啟動,實時發(fā)送坐標給飛控,飛控通過數(shù)傳模塊1 發(fā)送,數(shù)傳模塊2接收到,然后傳回地面站。QGC 地面站通過數(shù)傳模塊連接飛控,設置航線定點飛行,飛控接收到無線信號,使飛控輸出PWM 控制電機轉動進而控制無人機飛行;遙控器輔助飛行,遙控器給接收機PPM 信號,接收機接收到信號后以PWM 信號傳遞給飛控。控制器啟動,控制器進而開啟攝像頭和激光測距模塊,攝像頭和激光測距模塊實時傳回數(shù)據(jù)給控制器,識別到裂縫,墻皮和墻磚會脫落的區(qū)域或者識別到不確定區(qū)域,如:墻皮鼓包,瓷磚松動。攝像頭通過I2C 通信發(fā)送坐標字符給STM32F103C8T6 芯片,接著芯片通過串口傳輸坐標數(shù)據(jù)到數(shù)傳模塊,數(shù)傳模塊通過無線信號傳回地面站。當識別到不確定的區(qū)域需用觸桿去觸碰時,地面站停止航線飛行,遙控器控制無人機向墻面飛近,激光測量到的距離達到設定的距離閾值時,STM32F103C8T6 回傳一個報警信號,遙控器控制無人機停止靠近墻面。巡檢完成后,返航地面,關閉電源。信號傳輸,如圖9 所示[9]。

圖9 信號傳輸圖
地面工作人員在QGC 地面站設置飛行高度和航行路線。無人機飛向樓頂,此時激光測距模塊測距,檢測距離傳回地面站,當離墻兩米的時候,對比兩束激光測出的距離,通過控制無人機左右轉動,通過遙控器使它正面垂直與墻面,然后開始掃描。圖像識別為一個方形區(qū)域,邊緣檢測誤差比較大,在下一次檢測的時候,對邊緣側重復檢測,以減小誤差;巡檢路徑采用蛇形巡檢,極大地提高效率,且減小漏檢的可能性,巡檢路徑為1-9。當攝像頭識別到裂縫、墻皮和墻磚會脫落的區(qū)域時,攝像頭回傳一個坐標。當出現(xiàn)鼓包或者出現(xiàn)可能脫落的瓷磚時,攝像頭傳回一個坐標和字符1,代表需要用觸桿觸碰的字符,此時觀察地面站GPS 傳回的坐標,在坐標指引下,在地面上放置收納盒收集掉落下來的墻皮、瓷磚,或者設置安全區(qū)域,防止掉落的墻皮、瓷磚造成安全事故;然后地面人員根據(jù)這個坐標使用遙控器控制無人機移動和地面站實時顯示坐標的協(xié)助前往需要觸碰的區(qū)域,到達區(qū)域,控制無人機靠近,用觸桿接觸墻面,激光實時測距,達到設定的距離閾值時,傳回一個字符stop 代表報警信號提示工作人員停止向前飛行;當巡檢到工作人員可視范圍的時,可結束工作,返回地面,無人機停止飛行,關閉電源。GPS 產(chǎn)生的坐標只是一個無人機所在的坐標,然而目標可能在掃描方形區(qū)域的邊緣,攝像頭傳回來的坐標是這個方形里面的坐標,所以收集到的坐標數(shù)據(jù)=識別到有隱患時GPS 發(fā)出來的坐標+攝像頭傳回來的坐標,使工作人員能準確地找到隱患的區(qū)域。巡檢流程如圖10 所示。

圖10 巡檢流程圖
12V 的鋰電池給電調供電,主線上自帶一個分壓接線分5V 給飛控、視覺和STM32F103C8T6 最小系統(tǒng)模塊供電。電源供給如圖11 所示。

圖11 電源供給圖
此次進行了飛行、圖像識別、觸碰等三個測試。飛行測試:選擇了空曠的場地進行飛行,無人機在空中穩(wěn)定飛行,受工作人員控制且GPS 實時傳回了坐標;打開激光,靠近墻面2m、3m、5m、10m 處進行測試,實時返回了距離數(shù)據(jù)2m 處的五次平均測試距離為1.99m;3m 處的五次平均測試距離為2.98m;5m 處的五次平均測試距離為4.98m;10m 處的五次平均測試距離為9.95m;誤差約為0.1%。
圖像識別測試:用攝像頭對準有隱患的墻面,對50 個目標進行多次檢測。測出攝像頭識別的面積為5m2且傳回了隱患坐標。
觸碰測試:對含鼓包的墻面測試,觸桿進行觸碰,戳破了鼓包和碰掉了瓷磚,無人機仍然穩(wěn)定飛行。
總體測試:無人機飛到了準備好的墻面,激光實時測距,傳回地面站的兩個距離數(shù)據(jù)distance,接著進行蛇形巡檢,得到了含有安全隱患區(qū)域坐標(x,y) 45 個,識別到鼓包或者懸掛的瓷磚時,含有鼓包傳回了0 數(shù)字,用觸桿去觸碰,觸碰掉隱患,無安全隱患傳回1。本次測試一共測試了20 次,誤差低于1%。實物圖如圖12 所示,截取了一段傳回的數(shù)據(jù),如圖13 所示。

圖12 實物圖

圖13 數(shù)據(jù)傳回圖
面對當今社會高樓外墻安全隱患的排查,高樓外墻巡檢機器人以無人機主控為載體,解決了人工難以對高樓外墻檢查的難題,降低勞動成本;搭配激光測距系統(tǒng)和圖像識別系統(tǒng)對墻體進行精確檢查,提高巡檢效率和準確率;觸桿對鼓包的觸碰使墻皮提前掉落,防止維修前脫落造成安全事故。因此,高樓外墻巡檢機器人不僅降低了人力的消耗和解決了技術的問題,且能準確地提供檢測精度,已成為社會最可靠的一種巡檢方式。