?

拼合式QR地圖及識別車研究與設計

2024-04-06 10:04陳小順魏子韜
電腦知識與技術 2024年3期
關鍵詞:人機交互

陳小順 魏子韜

關鍵詞: 巡線定位;STM32F103;人機交互;QRCode

中圖分類號:TP391 文獻標識碼:A

文章編號:1009-3044(2024)03-0011-04

0 引言

物聯網沙盤可以用來構建樓盤、城市、工廠、農業、交通系統或其他復雜的環境,嵌入傳感器與執行器,通過系統控制交互,模擬真實世界各種情境。通常沙盤平臺的大小比例固定,運行在沙盤道路上的循跡車多以黑白軌跡循跡方式呈現,物聯網系統操作復雜,交互手段單一,缺乏交互性能[1]。循跡車作為傳統單片機項目,隨著單片機性能提升,ROS的發展,以機器視覺為主的循跡車在各個行業扮演著越來越重要的角色,車輛能夠循跡定位的方法眾多。朱林海等人使用光電傳感器檢測道路位置,進而控制小車循跡行進[2]。聶寧等人使用TSL1401線性CCD實時獲取車道線信息,控制車輛循跡[3]。徐鵬飛等人通過機器學習方法,使用Lenet-5神經網絡模型,訓練道路數據,完成循跡功能[4]。楊璞采用基于RGB-SLAM方法對機器人進行室內定位,進而完成循跡與定位控制[5]。黃鳳英采用RFID室內定位技術,通過無源RFID系統與標簽反射鏈路通信過程計算得出具體物體位置,進而控制車輛行進[6]。程智余等人提出基于AprilTag二維碼定位和IMU信息融合的機器人室內定位技術,能夠精準獲取機器人姿態誤差,完成室內定位及軌跡修正[7]。

1 地圖塊與識別車設計

1.1 地圖塊設計

如圖1 所示,一個地圖塊的長寬高為10×10×3.5cm,分為地圖塊蓋板和地圖塊底部兩部分,地圖蓋板厚度為0.5 cm,地圖塊厚度為3 cm,地圖塊蓋板頂部用于噴繪地圖。蓋板底部和地圖塊采用圓形薄片釹磁鐵吸合,地圖塊四周按照N、S磁極順序排列。

根據不同風格主題,設計不同類型地圖塊,將各個地圖塊拼接形成完整的地圖,如表1所示,道路類型編碼預留數量可包含20種,分別為:泥路、水泥路、柏油路、石子路、可行駛草地、水路、橋……

如圖2所示,將地圖塊按照地圖類型吸合成為大型地圖,識別車根據地圖碼運行于地圖塊上。

1.2 QRCode 地圖編碼設計

QRCode即二維碼(如圖3所示),是日常生活中使用最頻繁的編碼類型,在一個矩形平面上通過黑、白像素點在矩陣中的不同行列的分布對信息進行編碼[8]。

選取編碼為170號的道路地圖塊為例,將地圖塊蓋板頂部劃分為5×5網格區域,按照公式1所示內容填充網格區域二維碼數據。

A = a + x*215+ y*212(1)

其中,A為對應網格區域中方格的內部數值及名稱,(x , y)為自右下角起的A方格坐標,a 為表1中該地圖塊類型編碼。

如圖4所示,地圖塊網格右下角顯示地圖塊類型為編號170,自右下角開始,從右向左每列遞增32 768 即 215,從下至上每行遞增4 096 即212。存放在二維碼中供以識別車識別的數據即為圖4中網格數據。

識別車進一步處理數據,將5×5的網格區域數據轉換為18位二進制。如圖5所示,其中每個二進制的低9位為地圖的類型碼,高6位為地圖塊坐標碼,中間為保留字段。識別車將在該地圖塊所識別的編碼與二進制000, 000, 000, 111, 111, 111做與運算,即可得當前地圖塊編號。

如圖5 所示,地圖編碼右移12 位后,與二進制000, 111做與運算,可得所在列坐標,與二進制111,000做與運算可得所在行坐標。

如圖6所示,坐標(2,2)為地圖塊中心,坐標行列中含數字2的點碼組成十字形狀,根據地圖塊的組合,即可形成網狀路徑。識別車可根據掃描識別的坐標值完成巡線與定位。

編碼為170的泥路地圖塊如圖7所示,背景圖片大小與地圖塊蓋板大小一致 (10×10 cm) ,背景圖片劃分5×5 個1×1 cm 的二維碼區域,通過Python qrcode 庫,按照編碼排列公式,批量生成每個地圖塊中的25 個二維碼編碼。

將編碼融合于地圖背景中,每個二維碼編碼由透明背景顏色和編碼顏色兩個部分組成,編碼顏色根據背景圖片設為相近顏色。使用Pillow庫的ImageColor 模塊,將背景圖像轉換為RGB模式。代碼調用getcol?ors()函數計算每個二維碼的1×1cm區域圖像中每個像素的顏色,并對其進行計數,獲取圖像中最多顏色,記作C。在一張RGB圖片,像素值的范圍是0~255,其中0表示最暗,255表示最亮。

如公式(2) 所示,取顏色C三個通道計算C平均值,根據平均值計算二維碼編碼顏色Cnew,使得二維碼顏色與背景顏色形成對比,背景顏色較暗時,二維碼顏色較亮,背景顏色較亮時,二維碼顏色較暗。使用Pillow庫的Image.putalpha()方法,調整二維碼圖像的透明度為65%,背景圖片透明度為0%,使用Image.blend()方法融合二維碼與背景。

如圖8所示,將不同類型的地圖塊吸合在一起組合成一個拔蘿卜的場景地圖。如圖9所示,地圖塊之間依靠磁片吸合,識別車運行于地圖塊上。

1.3 識別車框架設計

硬件總體結構框架如圖10 所示,識別車采用STM32F103 為控制核心,以XM1605CMOS 圖像傳感器、VL6180X光學激光測距傳感器組成點碼采集模塊,用于采集地圖信息??刂破鞲鶕邮盏降男畔?,解碼識別當前地圖塊所含信息,控制執行模塊完成巡線,在OLED顯示屏上顯示地圖信息,通過ASR語音模塊播報當前位置信息。使用者通過ASR語音模塊語音喚醒詞與設備交互。

地圖點碼識別由XM1605 CMOS 圖像傳感器完成,傳感器擁有640×480像素分辨率,通過串行信號控制采集QRCode數據,識別景深4.0~18.0 cm,最小識別10×10 mm二維碼,可接受360°旋轉、傾斜±45°、偏轉±45°解碼識別。主要有VCC(供電3.3V)、RX(串口接收)、TX(串口發送)、DM(USB D-)、DP(USB D+)、TRIG(識別信號觸發)。

VL6180X光學激光測距傳感器,采用時鐘信號控制測量光從物體表面反彈所需時間,進而判斷物體接近程度,測量范圍5~100 mm,使用I2C通信模式。

ASR語音模塊內置FLASH4MB,包含RNN算法,支持完成語音識別、聲紋識別、語音增強、語音檢測、360°拾音等功能。內置39種合成人物語音播報聲,語音識別距離10m,識別響應時間小于0.1s。語音指令分為歡迎詞、喚醒詞、命令詞、回復詞4個部分,外接麥克風、喇叭完成語音控制及反饋。

OLED顯示屏分辨率128×64,使用SSD1306控制芯片,采用I2C通信模式,顯示顏色為藍色。

圖11中識別車頂部通過卡口與螺絲與識別車中部固定連接,頂部前端固定安裝液晶顯示屏和LED燈條。

圖12中,識別車中部與識別車底部通過螺絲固定連接,在識別車中部上端嵌入圖像傳感器用以掃描識別地圖碼,識別車中部上端固定安裝揚聲器、麥克風、集成語音控制模塊。

如圖13所示,識別車底部兩側固定安裝N20電機與車輪,電機中間安裝有VL6180X光學激光測距傳感器,底部后端固定安裝萬向輪,底部上端固定安裝鋰電池與電機驅動模塊,識別車長寬分別為10×10×8 cm。

1.4 識別車功能設計

識別車具有識別地圖塊信息、定位、巡線、語音交互、狀態顯示功能。

識別車CMOS圖像傳感器識別口距離地圖碼高5cm,地圖碼排列密度可保證識別車識別口范圍內至少可以完整顯示一個二維碼。識別車啟動后,當激光測距傳感器檢測車輛已放置平面,啟動圖像傳感器檢測點碼,通過運算得出識別車所在地圖塊類型。通過點碼識別確認當前車輛大致位置,車身原地順時針旋轉,同時開啟圖像傳感器檢測點碼,根據坐標變化確定當前識別車的方位,旋轉并移動識別車,使得車頭朝向正右方,識別口正下方坐標為(1,2)。

表2中記錄人機交互中,語音控制部分的語音指令,通過語音指令控制,可以控制車輛行駛于地圖上。

如圖14所示,識別車打開電源開關,通電啟動。語音模塊播報歡迎信息。點碼采集模塊判斷車輛是否在地圖上,若在地圖上,則順時針旋轉進行位置校正,確定初始位置后,播報并顯示當前地圖信息,否則進行語音提示,告知用戶將車輛放置于地圖上。隨后進入循環,等待用戶語音指令,例如:前進1格、向左轉、向右轉、后退1格等命令,車輛結合當前所在地圖位置完成指令動作,并將執行信息語音播報并實時顯示。

2 結論

在沙盤場景中,靈活性、復用性使得沙盤主題豐富,通過集成語音模塊,車輛依據點碼信息識別所在地圖塊信息后,通過揚聲器播報當前信息,麥克風獲取用戶指令,在液晶屏上顯示文字信息, LED燈條顯示運行狀態,如此整體達到了識別車與用戶交互的功能。通過地圖塊四周按照NS極性順序設置有磁鐵,在需要更換地圖大小形狀時僅需將地圖塊重新排列吸合成所需形狀,地圖蓋板根據新地圖場景重新貼鋪。在需要更換地圖場景時,僅需將已完成的場景蓋板從地圖塊上摘下,從而可回收未損壞的設備材料,進行二次利用,從而節約設備材料資源,當地圖塊蓋板受損需要進行維修時,因設置有磁貼,直接摘下即可更換新的地圖蓋板,如此整體達到便于維修更換主題的優點。通過地圖蓋板已噴繪融合二維碼的地圖信息組成的平臺場景,配以識別車,車輛通過圖像傳感器,依據點碼排列信息識別所在地圖塊信息,包含車輛當前所在地圖塊位置、地圖塊類型信息。通過車輛原地旋轉掃描識別獲取地圖位置信息,進而調整車輛基準方向與位置,如此整體達到識別車與地圖交互的優點。

【通聯編輯:唐一東】

猜你喜歡
人機交互
某型柴油機虛擬維修系統研究
基于虛擬現實技術的九江城市交通事故模擬系統設計
人機交互課程創新實驗
基于任務規劃的家庭仿真服務機器人的研究
多點噪聲遠程自動采集系統設計
基于智能手機的盲人語言應用軟件的設計與開發
基于Intel Realsense技術的感知展示系統的設計與開發
圖像處理耦合模板定位的答題卡識別研究與應用
數字化控制系統人機交互的特征及預防人因失誤策略
基于物聯網家居安防系統的設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合