針對(duì)低算力嵌入式平臺(tái)特性,
掃地機(jī)器人關(guān)鍵算法輕量化遵循降維簡(jiǎn)化、增量計(jì)算、精度折中、資源復(fù)用四大原則,避免無(wú)意義的高精度運(yùn)算與冗余計(jì)算,先通過(guò)基礎(chǔ)手段削減底層算力消耗,再針對(duì)各算法特性做專項(xiàng)優(yōu)化。
數(shù)據(jù)精度量化優(yōu)化
低算力平臺(tái)對(duì)浮點(diǎn)型數(shù)據(jù)運(yùn)算效率較低,通過(guò)數(shù)據(jù)精度量化,將高精度浮點(diǎn)數(shù)據(jù)轉(zhuǎn)換為低精度整型數(shù)據(jù),可大幅提升運(yùn)算速度、降低內(nèi)存占用。將算法中的坐標(biāo)值、距離參數(shù)、特征權(quán)重等數(shù)據(jù),從32位浮點(diǎn)型(FP32)轉(zhuǎn)換為16位整型(INT16)甚至8位整型(INT8),同時(shí)建立數(shù)據(jù)映射關(guān)系,補(bǔ)償精度損失;對(duì)于地圖柵格、傳感器采樣值等離散數(shù)據(jù),采用定點(diǎn)數(shù)運(yùn)算替代浮點(diǎn)運(yùn)算,減少主控浮點(diǎn)運(yùn)算單元的壓力,適配低算力平臺(tái)的運(yùn)算特性。
冗余計(jì)算與參數(shù)裁剪
梳理算法中的冗余邏輯參數(shù),剔除對(duì)結(jié)果影響較小的計(jì)算環(huán)節(jié):刪減算法迭代過(guò)程中的重復(fù)校驗(yàn)步驟,合并關(guān)聯(lián)性強(qiáng)的計(jì)算流程;降低高頻更新參數(shù)的采樣頻率,根據(jù)機(jī)器人運(yùn)行速度調(diào)整計(jì)算周期;去除復(fù)雜的修正項(xiàng)與補(bǔ)償項(xiàng),保留核心運(yùn)算邏輯,減少單次迭代的計(jì)算量。同時(shí),壓縮算法參數(shù)數(shù)量,采用稀疏存儲(chǔ)方式存儲(chǔ)參數(shù)矩陣,降低Flash與RAM的占用空間。
內(nèi)存復(fù)用與數(shù)據(jù)調(diào)度優(yōu)化
針對(duì)小內(nèi)存特性,采用內(nèi)存動(dòng)態(tài)復(fù)用機(jī)制,避免內(nèi)存碎片化與重復(fù)占用:為算法中間變量分配固定內(nèi)存塊,運(yùn)算完成后立即釋放,供其他模塊復(fù)用;采用流式數(shù)據(jù)處理模式,邊采集數(shù)據(jù)邊運(yùn)算,無(wú)需緩存全部原始數(shù)據(jù);拆分大規(guī)模計(jì)算任務(wù)為多個(gè)小任務(wù),分批次執(zhí)行,減少單次內(nèi)存占用峰值。同時(shí),優(yōu)化數(shù)據(jù)調(diào)度順序,將高頻訪問(wèn)數(shù)據(jù)存入高速緩存,降低數(shù)據(jù)讀取耗時(shí)。
激光SLAM定位建圖算法輕量化
激光SLAM是
掃地機(jī)器人定位導(dǎo)航的核心,原生GMapping、Cartographer等算法算力消耗高,需從點(diǎn)云處理、地圖構(gòu)建、回環(huán)檢測(cè)三方面優(yōu)化:
點(diǎn)云數(shù)據(jù)降采樣簡(jiǎn)化:激光雷達(dá)原始點(diǎn)云數(shù)據(jù)量大,采用體素格降采樣與距離篩選,剔除遠(yuǎn)距離無(wú)效點(diǎn)與冗余點(diǎn),保留關(guān)鍵輪廓點(diǎn),將單幀點(diǎn)云數(shù)量削減60%以上,減少點(diǎn)云匹配運(yùn)算量。
柵格地圖分辨率自適應(yīng):根據(jù)清掃場(chǎng)景調(diào)整地圖柵格尺寸,大面積空曠區(qū)域采用大柵格(10cm-15cm),狹小區(qū)域采用小柵格(5cm),降低地圖數(shù)據(jù)量與更新頻率;采用增量式地圖更新,僅修改機(jī)器人周邊柵格狀態(tài),無(wú)需全量重建地圖。
簡(jiǎn)化回環(huán)檢測(cè)機(jī)制:摒棄復(fù)雜的特征匹配回環(huán),采用基于里程計(jì)與地圖相似度的簡(jiǎn)易回環(huán)策略,降低回環(huán)檢測(cè)的計(jì)算頻率,僅在機(jī)器人返回關(guān)鍵區(qū)域時(shí)執(zhí)行回環(huán)校驗(yàn),減少算力浪費(fèi)。
位姿估計(jì)優(yōu)化:采用迭代誤差更小的高斯牛頓法簡(jiǎn)化版,減少迭代次數(shù),將位姿優(yōu)化的計(jì)算量控制在低算力平臺(tái)可承受范圍,同時(shí)保證定位誤差滿足清掃需求。
全覆蓋路徑規(guī)劃算法輕量化
全覆蓋路徑規(guī)劃需保證清掃無(wú)死角,同時(shí)簡(jiǎn)化尋路邏輯,兼顧覆蓋率與算力消耗:
混合式路徑規(guī)劃簡(jiǎn)化:摒棄計(jì)算復(fù)雜的全局智能尋路算法,采用“弓字形主路徑+局部繞行”的混合方案,主路徑采用固定模式遍歷,僅在遇到障礙物時(shí)執(zhí)行局部避障,大幅減少路徑計(jì)算量。
柵格地圖分區(qū)管理:將全局地圖劃分為多個(gè)獨(dú)立子區(qū)域,按區(qū)域依次清掃,每次僅需計(jì)算單個(gè)子區(qū)域的路徑,降低單次尋路的地圖遍歷范圍;記錄已清掃區(qū)域標(biāo)記,避免重復(fù)路徑計(jì)算。
動(dòng)態(tài)路徑閾值簡(jiǎn)化:設(shè)置障礙物距離閾值與轉(zhuǎn)向角度閾值,采用查表法替代實(shí)時(shí)計(jì)算,根據(jù)障礙物位置直接調(diào)用預(yù)設(shè)路徑參數(shù),減少?zèng)Q策運(yùn)算時(shí)間。
障礙物識(shí)別算法輕量化
低算力平臺(tái)無(wú)AI加速單元,視覺(jué)障礙物識(shí)別需摒棄深度學(xué)習(xí),采用輕量化傳統(tǒng)視覺(jué)算法與傳感融合方案:
簡(jiǎn)易特征提取替代復(fù)雜卷積:采用邊緣檢測(cè)、顏色閾值分割、輪廓匹配等傳統(tǒng)視覺(jué)方法,提取障礙物的形狀、大小等簡(jiǎn)易特征,替代深度學(xué)習(xí)的卷積特征提取,降低運(yùn)算復(fù)雜度。
多傳感數(shù)據(jù)融合校驗(yàn):結(jié)合激光雷達(dá)點(diǎn)云距離、紅外傳感信號(hào)與視覺(jué)特征,通過(guò)閾值判斷識(shí)別障礙物類型,無(wú)需復(fù)雜分類運(yùn)算,提升識(shí)別效率。
圖像降分辨率處理:將采集的圖像分辨率壓縮至低尺寸,減少像素處理量,同時(shí)裁剪無(wú)關(guān)背景區(qū)域,僅保留機(jī)器人前方關(guān)鍵區(qū)域進(jìn)行識(shí)別。