引言
在科技飛速發(fā)展的今天,智能移動(dòng)設(shè)備的應(yīng)用越來(lái)越廣泛,其中自動(dòng)跟隨小車憑借其便捷性和高效性,在眾多領(lǐng)域展現(xiàn)出巨大的潛力。為了實(shí)現(xiàn)小車的精準(zhǔn)跟隨功能,超寬帶(Ultra-Wideband, UWB)技術(shù)應(yīng)運(yùn)而生。UWB 技術(shù)以其獨(dú)特的優(yōu)勢(shì),為自動(dòng)跟隨小車的發(fā)展提供了強(qiáng)有力的支持。
一、UWB 技術(shù)概述
(一)UWB 技術(shù)原理
UWB 是一種無(wú)線通信技術(shù),它通過(guò)發(fā)射納秒級(jí)甚至皮秒級(jí)的窄脈沖來(lái)進(jìn)行數(shù)據(jù)傳輸和測(cè)距。與傳統(tǒng)的無(wú)線通信技術(shù)不同,UWB 信號(hào)的帶寬極寬,通常超過(guò) 500MHz,甚至可達(dá)數(shù) GHz。這種寬頻帶特性使得 UWB 在時(shí)間分辨率和距離測(cè)量精度上具有顯著優(yōu)勢(shì)。
UWB 測(cè)距主要基于飛行時(shí)間(Time of Flight, TOF)原理。當(dāng)一個(gè) UWB 設(shè)備發(fā)送信號(hào),另一個(gè)設(shè)備接收該信號(hào)時(shí),通過(guò)測(cè)量信號(hào)從發(fā)送到接收所經(jīng)歷的時(shí)間,再結(jié)合信號(hào)在空氣中的傳播速度(約為光速),就可以精確計(jì)算出兩個(gè)設(shè)備之間的距離。例如,一對(duì) DWM1000 模塊,發(fā)送者發(fā)送信號(hào)并記錄時(shí)刻 t1,接收者收到信號(hào)后延時(shí) t_reply 時(shí)間發(fā)送回復(fù)信號(hào),發(fā)送者收到回復(fù)信號(hào)時(shí)記錄時(shí)刻 t2,那么信號(hào)飛行時(shí)間 TOF=(t2 - t1 - t_reply)/2,根據(jù)公式 d = c × TOF(c 為光速)即可算出距離 d。
(二)UWB 技術(shù)特點(diǎn)
高精度定位:能夠?qū)崿F(xiàn)厘米級(jí)的定位精度,這是傳統(tǒng)無(wú)線技術(shù)如藍(lán)牙、Wi-Fi 等難以企及的。在自動(dòng)跟隨小車的應(yīng)用中,高精度定位確保了小車能夠?qū)崟r(shí)、準(zhǔn)確地感知目標(biāo)位置,實(shí)現(xiàn)穩(wěn)定可靠的跟隨效果,無(wú)論是在復(fù)雜的室內(nèi)環(huán)境還是室外開闊地帶,都能滿足各種場(chǎng)景下的需求。
抗干擾能力強(qiáng):UWB 信號(hào)占用寬的頻譜范圍,且能量分散在短的脈沖內(nèi)。這使得 UWB 雷達(dá)系統(tǒng)對(duì)多徑干擾和窄帶干擾具有較強(qiáng)的抵抗力。在實(shí)際應(yīng)用中,自動(dòng)跟隨小車往往會(huì)面臨各種復(fù)雜的電磁環(huán)境,UWB 的抗干擾特性有效避免了因環(huán)境干擾導(dǎo)致的定位誤差,保證了系統(tǒng)的穩(wěn)定性。
低功耗:UWB 雷達(dá)芯片采用先進(jìn)的低功耗設(shè)計(jì),在保證高精度定位的同時(shí),能夠延長(zhǎng)設(shè)備的續(xù)航時(shí)間。對(duì)于自動(dòng)跟隨小車來(lái)說(shuō),長(zhǎng)時(shí)間運(yùn)行而無(wú)需頻繁充電或更換電池,大大提升了用戶體驗(yàn),也降低了使用成本。
信號(hào)穿透性好:UWB 信號(hào)能夠較好地穿透墻壁、障礙物等,不像一些其他無(wú)線信號(hào)容易受到遮擋而減弱或中斷。這一特性使得在室內(nèi)環(huán)境中,即使目標(biāo)與小車之間存在一定的遮擋物,UWB 仍能保持有效的通信和定位,增強(qiáng)了系統(tǒng)的實(shí)用性。
二、UWB 跟隨小車系統(tǒng)設(shè)計(jì)
(一)系統(tǒng)總體架構(gòu)
UWB 跟隨小車系統(tǒng)主要由三大部分組成:UWB 定位模塊、小車運(yùn)動(dòng)控制模塊以及電源管理模塊。UWB 定位模塊負(fù)責(zé)實(shí)時(shí)獲取目標(biāo)與小車之間的距離和相對(duì)位置信息;小車運(yùn)動(dòng)控制模塊根據(jù)定位信息,通過(guò)電機(jī)驅(qū)動(dòng)等方式控制小車的運(yùn)動(dòng),實(shí)現(xiàn)跟隨功能;電源管理模塊則為整個(gè)系統(tǒng)提供穩(wěn)定的電力供應(yīng),并對(duì)電池電量進(jìn)行監(jiān)測(cè)和管理,確保系統(tǒng)能夠持續(xù)穩(wěn)定運(yùn)行。
(二)硬件設(shè)計(jì)
UWB 模塊:選用性能優(yōu)良的 UWB 模塊,如 Decawave 公司的 DWM1000 模塊。該模塊集成了 UWB 射頻前端、基帶處理器等功能,能夠方便地實(shí)現(xiàn) UWB 信號(hào)的收發(fā)和處理。在小車上安裝多個(gè) UWB 模塊作為基站,一般至少需要三個(gè),按一定的幾何布局(如等邊三角形)固定在小車頂部,這樣可以通過(guò)三角測(cè)量法更精確地確定目標(biāo)的位置。同時(shí),用戶攜帶一個(gè) UWB 模塊作為標(biāo)簽,當(dāng)標(biāo)簽進(jìn)入基站的信號(hào)覆蓋范圍時(shí),基站與標(biāo)簽之間進(jìn)行信號(hào)交互,實(shí)現(xiàn)距離測(cè)量和位置定位。
微控制器:選擇一款高性能、低功耗的微控制器作為小車的主控芯片,如 STM32 系列單片機(jī)。STM32 具有豐富的外設(shè)資源,強(qiáng)大的運(yùn)算能力和較低的功耗,能夠滿足對(duì) UWB 數(shù)據(jù)處理、電機(jī)控制以及其他功能模塊的協(xié)調(diào)管理需求。它通過(guò)串口或 SPI 等通信接口與 UWB 模塊進(jìn)行數(shù)據(jù)通信,接收 UWB 模塊測(cè)量得到的距離信息,并根據(jù)預(yù)設(shè)的算法計(jì)算出目標(biāo)的位置坐標(biāo),進(jìn)而生成相應(yīng)的運(yùn)動(dòng)控制指令。
電機(jī)驅(qū)動(dòng)模塊:為了驅(qū)動(dòng)小車的電機(jī)實(shí)現(xiàn)前進(jìn)、后退、轉(zhuǎn)彎等動(dòng)作,需要使用專門的電機(jī)驅(qū)動(dòng)模塊。常見的電機(jī)驅(qū)動(dòng)芯片如 L298N,它能夠提供足夠的電流來(lái)驅(qū)動(dòng)直流電機(jī)。微控制器通過(guò)控制電機(jī)驅(qū)動(dòng)模塊的輸入引腳電平,來(lái)控制電機(jī)的正反轉(zhuǎn)和轉(zhuǎn)速,從而實(shí)現(xiàn)對(duì)小車運(yùn)動(dòng)狀態(tài)的精確控制。
電源模塊:采用可充電的鋰電池為小車供電,以提供穩(wěn)定的電力來(lái)源。同時(shí)配備電源管理芯片,對(duì)電池進(jìn)行充電管理、過(guò)充過(guò)放保護(hù)以及電壓轉(zhuǎn)換等功能。例如,通過(guò) DC-DC 降壓芯片將鋰電池的電壓轉(zhuǎn)換為適合各個(gè)模塊工作的電壓,如為微控制器提供 3.3V 電壓,為電機(jī)驅(qū)動(dòng)模塊提供合適的工作電壓等。此外,電源模塊還可以實(shí)時(shí)監(jiān)測(cè)電池電量,并將電量信息反饋給微控制器,以便在電量較低時(shí)及時(shí)提醒用戶充電或采取相應(yīng)的節(jié)能措施。
其他輔助模塊:
避障傳感器:為了避免小車在跟隨過(guò)程中碰撞到障礙物,安裝漫反射光電傳感器或超聲波傳感器等避障傳感器。漫反射光電傳感器價(jià)格便宜、控制簡(jiǎn)單,安裝在小車前方,當(dāng)檢測(cè)到前方有障礙物時(shí),傳感器會(huì)輸出信號(hào)給微控制器,微控制器則根據(jù)情況調(diào)整小車的運(yùn)動(dòng)方向或速度,實(shí)現(xiàn)避障功能。不過(guò)漫反射光電傳感器檢測(cè)距離相對(duì)較短,在一些對(duì)避障要求較高的場(chǎng)景中,可以結(jié)合超聲波傳感器,以獲得更遠(yuǎn)距離和更全面的避障檢測(cè)效果。
OLED 顯示模塊:在小車上安裝 OLED 顯示模塊,用于顯示小車的一些運(yùn)行狀態(tài)信息,如電池電量、當(dāng)前速度、與目標(biāo)的距離等。這樣用戶可以直觀地了解小車的工作情況,方便對(duì)小車進(jìn)行監(jiān)控和調(diào)試。OLED 顯示模塊具有功耗低、顯示清晰、體積小等優(yōu)點(diǎn),非常適合應(yīng)用于小型智能設(shè)備中。
通信模塊(可選):如果需要實(shí)現(xiàn)遠(yuǎn)程控制或與其他設(shè)備進(jìn)行數(shù)據(jù)交互,可以添加無(wú)線通信模塊,如 Wi-Fi 模塊或藍(lán)牙模塊。通過(guò) Wi-Fi 模塊,小車可以連接到局域網(wǎng),用戶可以通過(guò)手機(jī) APP 或電腦端軟件對(duì)小車進(jìn)行遠(yuǎn)程控制,同時(shí)小車也可以將采集到的數(shù)據(jù)上傳到服務(wù)器或與其他設(shè)備共享。藍(lán)牙模塊則適用于短距離通信場(chǎng)景,如與用戶的手機(jī)進(jìn)行簡(jiǎn)單的數(shù)據(jù)交互和控制。
(三)軟件設(shè)計(jì)
UWB 數(shù)據(jù)處理算法:
TOF 算法實(shí)現(xiàn):在軟件中實(shí)現(xiàn) TOF 算法,根據(jù) UWB 模塊發(fā)送和接收信號(hào)的時(shí)間戳,精確計(jì)算出標(biāo)簽與各個(gè)基站之間的距離。通過(guò)對(duì)多個(gè)距離測(cè)量值進(jìn)行濾波處理,如采用卡爾曼濾波算法,可以有效去除噪聲干擾,提高距離測(cè)量的準(zhǔn)確性和穩(wěn)定性。
位置解算算法:基于三角測(cè)量法或多邊測(cè)量法,利用多個(gè)基站與標(biāo)簽之間的距離信息,解算出標(biāo)簽(即目標(biāo))在小車坐標(biāo)系中的位置坐標(biāo)。以三角測(cè)量法為例,假設(shè)三個(gè)基站在小車上的位置坐標(biāo)已知,通過(guò)測(cè)量標(biāo)簽到這三個(gè)基站的距離,根據(jù)三角形的幾何關(guān)系,可以通過(guò)解方程組的方式計(jì)算出標(biāo)簽的坐標(biāo)。在實(shí)際應(yīng)用中,為了提高位置解算的精度和可靠性,可以采用加權(quán)最小二乘法等優(yōu)化算法對(duì)解算結(jié)果進(jìn)行進(jìn)一步處理。
運(yùn)動(dòng)控制算法:
路徑規(guī)劃算法:根據(jù)目標(biāo)的位置坐標(biāo)以及小車當(dāng)前的位置和姿態(tài),規(guī)劃出小車的運(yùn)動(dòng)路徑。常見的路徑規(guī)劃算法有 A * 算法、Dijkstra 算法等。在簡(jiǎn)單的跟隨場(chǎng)景中,可以采用基于距離和角度的直接跟隨算法,即根據(jù)目標(biāo)與小車之間的距離和角度偏差,計(jì)算出小車需要前進(jìn)的速度和轉(zhuǎn)彎的角度,使小車能夠沿著最短路徑或最優(yōu)路徑跟隨目標(biāo)。例如,如果目標(biāo)在小車前方且偏離小車當(dāng)前行駛方向一定角度,小車則根據(jù)這個(gè)角度偏差調(diào)整轉(zhuǎn)向電機(jī),同時(shí)根據(jù)距離調(diào)整前進(jìn)速度,使自己逐漸靠近目標(biāo)并保持跟隨狀態(tài)。
PID 控制算法:為了實(shí)現(xiàn)小車運(yùn)動(dòng)的精確控制,采用 PID(比例 - 積分 - 微分)控制算法對(duì)電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向進(jìn)行調(diào)節(jié)。PID 控制器根據(jù)小車當(dāng)前的實(shí)際位置與目標(biāo)位置之間的偏差,通過(guò)調(diào)整比例系數(shù)、積分系數(shù)和微分系數(shù),計(jì)算出合適的控制量,輸出給電機(jī)驅(qū)動(dòng)模塊,從而使小車能夠快速、穩(wěn)定地跟蹤目標(biāo)位置的變化,減少運(yùn)動(dòng)過(guò)程中的振蕩和誤差。在實(shí)際應(yīng)用中,需要根據(jù)小車的具體性能和運(yùn)行環(huán)境,對(duì) PID 參數(shù)進(jìn)行調(diào)試和優(yōu)化,以達(dá)到最佳的控制效果。
系統(tǒng)軟件流程:
系統(tǒng)初始化:在小車啟動(dòng)時(shí),對(duì)各個(gè)硬件模塊進(jìn)行初始化設(shè)置,包括 UWB 模塊、微控制器、電機(jī)驅(qū)動(dòng)模塊、避障傳感器、OLED 顯示模塊等。初始化過(guò)程中,配置各個(gè)模塊的工作參數(shù),如 UWB 模塊的通信頻率、微控制器的時(shí)鐘頻率、電機(jī)驅(qū)動(dòng)模塊的控制模式等,確保各個(gè)模塊能夠正常工作。
UWB 數(shù)據(jù)采集:UWB 模塊持續(xù)發(fā)送和接收信號(hào),采集標(biāo)簽與基站之間的距離數(shù)據(jù),并將這些數(shù)據(jù)通過(guò)通信接口傳輸給微控制器。微控制器對(duì)接收到的數(shù)據(jù)進(jìn)行預(yù)處理,如去除異常值、濾波等,以提高數(shù)據(jù)的可靠性。
位置解算與路徑規(guī)劃:微控制器根據(jù)預(yù)處理后的 UWB 距離數(shù)據(jù),運(yùn)用位置解算算法計(jì)算出目標(biāo)的位置坐標(biāo)。然后結(jié)合小車當(dāng)前的位置和姿態(tài)信息,采用路徑規(guī)劃算法規(guī)劃出小車的運(yùn)動(dòng)路徑,并生成相應(yīng)的運(yùn)動(dòng)控制指令,包括前進(jìn)速度、轉(zhuǎn)彎角度等。
運(yùn)動(dòng)控制與避障:電機(jī)驅(qū)動(dòng)模塊根據(jù)微控制器發(fā)送的運(yùn)動(dòng)控制指令,驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn),使小車按照規(guī)劃的路徑運(yùn)動(dòng)。在小車運(yùn)動(dòng)過(guò)程中,避障傳感器實(shí)時(shí)檢測(cè)前方是否存在障礙物。一旦檢測(cè)到障礙物,避障傳感器立即向微控制器發(fā)送信號(hào),微控制器暫停當(dāng)前的運(yùn)動(dòng)控制指令,啟動(dòng)避障程序,通過(guò)調(diào)整小車的運(yùn)動(dòng)方向或速度,使小車避開障礙物后再恢復(fù)原來(lái)的跟隨路徑。
狀態(tài)顯示與通信(可選):OLED 顯示模塊實(shí)時(shí)顯示小車的運(yùn)行狀態(tài)信息,如電池電量、速度、與目標(biāo)的距離等。如果小車配備了通信模塊,微控制器還可以將小車的運(yùn)行數(shù)據(jù)通過(guò)無(wú)線通信方式發(fā)送給遠(yuǎn)程設(shè)備,同時(shí)接收遠(yuǎn)程設(shè)備發(fā)送的控制指令,實(shí)現(xiàn)遠(yuǎn)程控制功能。