謝作如 王海濤



問(wèn)題提出
智慧交通是人工智能應(yīng)用的一個(gè)重要場(chǎng)景,無(wú)人駕駛則是一種利用各種傳感器、控制系統(tǒng)和人工智能算法實(shí)現(xiàn)對(duì)汽車(chē)自主控制的技術(shù),是智慧交通的核心技術(shù)。在中小學(xué)開(kāi)設(shè)無(wú)人駕駛課程,讓機(jī)械結(jié)構(gòu)、智能控制和深度學(xué)習(xí)等技術(shù)融合起來(lái),是一門(mén)很有價(jià)值的跨學(xué)科課程。但無(wú)人駕駛課程開(kāi)設(shè)難度較大,除了對(duì)授課教師要求較高外,還需要一系列硬件支持,比如內(nèi)置支持模型推理能力芯片的小車(chē)價(jià)格往往達(dá)數(shù)千元。
考慮到大部分中小學(xué)校的創(chuàng)客空間或機(jī)器人實(shí)驗(yàn)室有現(xiàn)成的可編程機(jī)器人小車(chē),而這些小車(chē)一般都能支持2.4G、藍(lán)牙和Wi-Fi 等遙控。那么,能否給小車(chē)配上無(wú)線(xiàn)攝像頭增加視覺(jué)能力,用較低的成本開(kāi)展無(wú)人駕駛課程呢?
技術(shù)分析:無(wú)人駕駛的實(shí)現(xiàn)
常見(jiàn)無(wú)人駕駛小車(chē)功能分析
據(jù)不完全調(diào)查,為中小學(xué)開(kāi)發(fā)無(wú)人駕駛課程核心器材(小車(chē))的企業(yè)不多。筆者從轉(zhuǎn)向、感知、控制等角度對(duì)中小學(xué)無(wú)人駕駛小車(chē)的技術(shù)進(jìn)行了分析。最常見(jiàn)的轉(zhuǎn)向方式是兩輪差速和麥克納姆輪,部分高端的小車(chē)會(huì)采用阿克曼轉(zhuǎn)向,即類(lèi)似真實(shí)汽車(chē),用方向盤(pán)(舵機(jī)控制)形式轉(zhuǎn)向。攝像頭是必備的感知設(shè)備,外加一些紅外避障傳感器,高端的小車(chē)還會(huì)配置激光雷達(dá),使用SLAM 技術(shù)。高端小車(chē)會(huì)使用ROS 控制系統(tǒng),而對(duì)于低齡段學(xué)生,用Python 結(jié)合GPIO 或pinpong 庫(kù),也是常見(jiàn)的選擇。一般都會(huì)使用具備一定算力的主板,以樹(shù)莓派和Jetson Nano 為主,有的會(huì)用高端國(guó)產(chǎn)芯片;相對(duì)低端的產(chǎn)品會(huì)使用Arduino、ESP32 類(lèi)主板,使用智能攝像頭推理,但大家一般也不會(huì)把這些小車(chē)看作無(wú)人駕駛小車(chē)。
無(wú)人駕駛的低門(mén)檻實(shí)現(xiàn)
從任務(wù)執(zhí)行角度看,無(wú)人駕駛小車(chē)的控制主要包括車(chē)速、方向和車(chē)燈(有些會(huì)加鳴笛)。而環(huán)境感知部分除去高端SLAM 建圖(需要激光雷達(dá)),僅需對(duì)車(chē)道、交通標(biāo)志和行人進(jìn)行識(shí)別。正是這些識(shí)別功能對(duì)小車(chē)主板提出了較高的要求,如果對(duì)小車(chē)實(shí)時(shí)反饋要求不高,則可用遠(yuǎn)程推理結(jié)合遙控方式實(shí)現(xiàn),可顯著降低“無(wú)人駕駛”的門(mén)檻。其中,遠(yuǎn)程推理是指用電腦(服務(wù)器)對(duì)攝像頭畫(huà)面進(jìn)行推理。如圖1 所示,可以選擇無(wú)線(xiàn)攝像頭將畫(huà)面?zhèn)鬏數(shù)狡胀娔X,根據(jù)推理結(jié)果以無(wú)線(xiàn)方式發(fā)送控制信號(hào),無(wú)線(xiàn)攝像頭既可以裝在小車(chē)上,也可以裝在小車(chē)運(yùn)動(dòng)的場(chǎng)地上方。如裝在小車(chē)上,可以做第一視角的無(wú)人車(chē),跟現(xiàn)有的無(wú)人車(chē)功能非常類(lèi)似;如裝在小車(chē)運(yùn)動(dòng)場(chǎng)地上方,則可返回小車(chē)的位置信息。當(dāng)然,兩種方式也可同時(shí)存在。
項(xiàng)目測(cè)試:做一輛無(wú)人駕駛小車(chē)
筆者在學(xué)校創(chuàng)客空間選擇了一款現(xiàn)有的小車(chē)進(jìn)行測(cè)試。其中,小車(chē)用“麥昆”,無(wú)線(xiàn)攝像頭選擇了ESP32-CAM。
可編程遙控小車(chē)的選擇
麥昆小車(chē)套件僅僅提供了底盤(pán), 控制板可采用micro:bit 和掌控板,性?xún)r(jià)比高。其中,micro:bit 支持2.4G的控制,可以與其他micro:bit 板子通訊。掌控板則支持Wi-Fi,可采用MQTT、HTTP 或Socket 通訊,使用更加靈活。
ESP32-CAM 是基于ESP32芯片設(shè)計(jì)的一款開(kāi)源硬件,價(jià)格不到30 元,融合了Wi-Fi 和藍(lán)牙通訊功能,適用于需要拍照、錄像、圖像處理等應(yīng)用場(chǎng)景。筆者還特意刷寫(xiě)了1 個(gè)固件,能通過(guò)串口配置ESP32-CAM 的Wi-Fi 信息,然后以HTTP 方式就能獲取攝像頭的畫(huà)面信息。
無(wú)人駕駛技術(shù)實(shí)現(xiàn)
為了用最簡(jiǎn)潔的方式控制小車(chē),筆者放棄了常見(jiàn)的MQTT 協(xié)議,選擇了Socket,因?yàn)镸QTT 還需單獨(dú)部署MQTT 服務(wù)器。具體的工作流程如圖2 所示,電腦端借助OpenCV 獲取ESP32-CAM 的畫(huà)面,經(jīng)過(guò)XEduhub 模型推理后,借助XEduGPIO 庫(kù)發(fā)送指令給掌控板,掌控板再驅(qū)動(dòng)小車(chē),麥昆小車(chē)就成了一輛擁有強(qiáng)悍算力的智能小車(chē)。
流程圖中的XEduGPIO 庫(kù)是為活動(dòng)專(zhuān)門(mén)編寫(xiě)的,內(nèi)置了Socket 連接的各種協(xié)議。核心類(lèi)CarComm 提供了speed、servo、led 和stop 這 4 種最基本的方法,分別用于驅(qū)動(dòng)小車(chē)前進(jìn)、舵機(jī)轉(zhuǎn)動(dòng)、改變Led 狀態(tài)和停止運(yùn)動(dòng)。在XEduGPIO 庫(kù)的支持下,4 行代碼即可實(shí)現(xiàn)小車(chē)的驅(qū)動(dòng)。當(dāng)然,掌控板也需進(jìn)行相應(yīng)的Socket 編程,寫(xiě)好相應(yīng)的固件,刷入即可運(yùn)行。
在電腦端讀取ESP32-CAM 畫(huà)面需要用OpenCV,參考代碼如下。畫(huà)面推理則需先訓(xùn)練模型,再借助XEduHub推理。因MMEdu 從數(shù)據(jù)標(biāo)注到模型訓(xùn)練已經(jīng)提供了完整的操作流程,這里不再展開(kāi),請(qǐng)參考XEdu 文檔。
活動(dòng)設(shè)計(jì):從人車(chē)合一到無(wú)人駕駛
2024 年1 月,全國(guó)青少年人工智能創(chuàng)新實(shí)踐活動(dòng)在上海南洋中學(xué)舉辦,以上述無(wú)人駕駛小車(chē)為基礎(chǔ),設(shè)計(jì)了1個(gè)線(xiàn)下活動(dòng)——八段錦巡線(xiàn)推物挑戰(zhàn)賽。參加活動(dòng)的學(xué)生需獨(dú)立完成小車(chē)的機(jī)械拼裝、配置Wi-Fi 信息,然后測(cè)試“人車(chē)合一”任務(wù),再挑戰(zhàn)“無(wú)人駕駛”任務(wù)。小車(chē)活動(dòng)地圖如圖3 所示。
“人車(chē)合一”任務(wù)指學(xué)生在電腦攝像頭前,通過(guò)自己的人體姿態(tài)控制小車(chē)移動(dòng)和鏟子起落,按跑道軌跡將物體分別移至3 個(gè)目的地。“無(wú)人駕駛”任務(wù)則要求使用電腦讀取小車(chē)上的攝像頭畫(huà)面,根據(jù)推理結(jié)果控制小車(chē)自主完成八段錦姿態(tài)分類(lèi)任務(wù),小車(chē)能合理規(guī)劃路徑,完成尋找地圖中與目標(biāo)八段錦姿態(tài)相同的立牌(豎立呈現(xiàn)的圖片)并轉(zhuǎn)動(dòng)鏟子。活動(dòng)現(xiàn)場(chǎng)如圖4 所示。
總結(jié)與反思
50 多名來(lái)自全國(guó)各地的學(xué)生參加了上述活動(dòng),他們中大部分是第一次接觸無(wú)人駕駛,表現(xiàn)出了巨大的熱情,邊學(xué)習(xí)邊探究,收獲頗豐。一些現(xiàn)場(chǎng)觀(guān)摩的教師也頗為驚喜,他們沒(méi)有想到無(wú)人駕駛還可以用這種低成本的方式實(shí)現(xiàn),并表示要盡快實(shí)施并設(shè)計(jì)一套完整的人工智能課程。實(shí)際上,這套低成本方案不僅可用于無(wú)人駕駛,還可用于無(wú)人機(jī)的智能巡檢、智慧農(nóng)場(chǎng)的蟲(chóng)害監(jiān)測(cè)、保護(hù)區(qū)的生態(tài)監(jiān)測(cè)等有趣的課程內(nèi)容。