?

基于物聯網的疫情防控免接觸智能配送車、柜設計

2024-04-14 09:55謝雨欣左安峰葛賓韓祥森
現代信息科技 2024年2期
關鍵詞:串口通信樹莓派

謝雨欣 左安峰 葛賓 韓祥森

DOI:10.19850/j.cnki.2096-4706.2024.02.035

收稿日期:2023-05-30

基金項目:2022年山東省大學生創新創業訓練項目(S202213857005)

摘? 要:針對疫情防控期間快遞配送中人與人接觸感染以及快遞丟失、收取快遞時間沖突等問題,設計了一套基于物聯網技術的疫情防控免接觸智能配送車、柜系統,打破了“人+車”的傳統配送方式,能夠實現快遞車自動檢測并將物品配送到快遞柜中的功能??爝f柜配備與快遞車相對應的串口通信指令,可以達到自動開關門效果。通過對樹莓派和主控機的深度學習,配送體系達到了自動化、智能化的效果,此外還搭載了深度相機和雷達檢測模塊,可對周圍環境進行分析建圖,并通過建圖模型實現全自動導航運輸,有效解決了收取快遞時間沖突問題。

關鍵詞:樹莓派;配送車;雷達檢測;串口通信

中圖分類號:TN929.5;TP391.4 文獻標識碼:A 文章編號:2096-4706(2024)02-0162-06

Design of Contactless Intelligent Delivery Vehicles and Cabinets for Epidemic Prevention and Control Based on the Internet of Things

XIE Yuxin, ZUO Anfeng, GE Bin, HAN Xiangsen

(Shandong Huayu University of Technology, Dezhou? 253034, China)

Abstract: A contactless intelligent delivery vehicle and cabinet system for epidemic prevention and control, based on Internet of Things technology, has been designed to address issues such as human to human contact infections, delivery loss, and conflicting delivery times during the epidemic prevention and control period. This system breaks the traditional delivery method of“person+vehicle”and can automatically detect and deliver items to the delivery cabinet. The express cabinet is equipped with serial communication commands corresponding to the delivery vehicle, which can achieve automatic door opening and closing effects. Through deep learning of Raspberry Pi and the main control computer, the delivery system has achieved automation and intelligence. In addition, it is equipped with a depth camera and radar detection module, which can analyze and map the surrounding environment. Through the map building model, fully automatic navigation and transportation are achieved, effectively solving the problem of conflicting delivery time.

Keywords: Raspberry Pi; delivery vehicle; radar detection; serial port communication

0? 引? 言

近年來,互聯網已經成為人們生活中不可或缺的一部分,網購、外賣、代買等已經成為一種火熱的趨勢。然而日益增長的快遞量亟待有更大的技術突破來提高配送效率,尤其是像社區、大學校園等集中居住的場所。一款智能型的配送和接收工具往往能推動該領域的發展。在物流行業已經出現了快遞人員送貨和客戶收貨時間沖突、快遞員追求速度而引發交通事故、春節期間的用工荒導致無人運送快遞等制約其進一步發展的關鍵問題[1]。作者基于我校山東省大學生創新創業訓練項目提出一種基于物聯網的疫情防控免接觸智能配送車、柜,旨在解決上述問題,真正實現快遞配送對自動化、智能化的要求。

1? 系統總體設計方案

該項目的主要功能是實現快遞“最后一公里”智能配送,通過智能快遞車和快遞柜結合,擬設計一種無須排隊等待取件的免接觸智能配送系統,其主要由云平臺、智能控制系統、無線感應式通信技術、自動追光系統等組成,系統整體框圖如圖1所示。

首先在需要快遞車??康恼军c(公寓樓、寫字樓等)設立快遞柜,按照行列對每個柜門進行編碼。使用Android Studio設計一款供用戶使用微信或者QQ登錄的小程序,快遞入柜掃描過程中可以向客戶發送信息;同時客戶也可以通過其下單、預約寄送快遞,完成支付,安全、便捷。其次,本項目使用串口通信技術精準投遞應用于快遞車內的傳送履帶與快遞柜門的感應式開關。另外,通過監控系統采集道路環境信息,如路線、障礙等影響小車自動行駛的因素,反饋給云平臺,由控制模塊綜合相關信息控制小車雷達建圖、自動避障,確保其順利到達各個站點完成配送[2]。通信模塊會在快遞車將快遞放在快遞柜中,自動給用戶發送短信密碼,用戶可通過在快遞柜觸摸屏上輸入密碼,取快遞。最后,我們還設置了自動追光系統,使小車在行進的過程中通過光電傳感器檢測到光源信號,將信號傳送回中央控制系統,標記光源地點,尋找光源進行太陽能充電。

2? 理論分析與計算

2.1? 自動追光系統

以東西向平單軸跟蹤器為例,太陽能跟蹤系統的轉軸系南北方向布設,然后根據太陽方位角的變化使光伏組件繞轉軸做旋轉轉動,跟蹤器上的組件朝向根據陽光照射情況進行調整,減少光伏組件法線與太陽直射光之間的夾角,組件表面太陽輻照增加,可有效提高發電量。

2.2? 基于Gmapping算法SLAM建圖

Gmapping是一個基于2D激光雷達使用RBPF算法完成二維柵格地圖構建的SLAM算法[3]。Gmapping算法主要是依據RBPF粒子濾波器,在給使用者手動給的任意位置為初始位置,構建地圖[4]。輸入t-1時刻的里程計信息ut-1粒子的集合st-1和t時刻的觀測值,通過判斷-()≤-()和-()、- ()關系,運用高斯分布依據:

P(zt | mt - 1(i),xj),P(xt | xt-1(i),ut-1)

計算出其數據的平均值和方差矩陣,從而得到在t時刻快遞小車的位置。

2.3? 蒙特卡羅定位算法

蒙特卡羅定位算法是一種思想或方法。在智能車定位方面,我們使用粒子,哪里的粒子多,就代表機器人在哪里的可能性大[5]。算法步驟如下:

Algorithm MCL(xt-1, ut,, zt |, m):

= xt = θ

for m = 1 to M do

= sample_motion_model(ut,, )

= measurement_model(zt,, , m)

endfor

for m = 1 to M do

draw i with probability ∝

add? to Xt

endfor

return Xt

通過把合適的概率運動和感知模型代入到粒子濾波算法中得到,使用M個粒子的集合 表示置信度bel(xt)初始置信度由先驗分布隨機產生的M個這樣的粒子得到。算法第4行使用運動模型采樣,以當前置信度為起點使用粒子,第5行使用測量模型以確定粒子的重要性權值,通過增加粒子總數M能提高定位的近似精度。

2.4? 定位與建圖的相關研究

定位與建圖依靠智能車的傳感裝置,目前常用的傳感器有激光雷達、毫米波雷達、GPS、攝像頭、陀螺儀等。按照獲取的信息的類型,可以分為內部傳感器和外部傳感器,內部傳感器獲取車輛自身的狀態、參數,例如IMU獲取自身加速度和偏航角;外部傳感器獲取周圍環境信息,例如激光雷達或攝像頭[6]。

為完成定位與建圖,在有了傳感器之后,還需要對傳感器取得的數據進行處理??梢酝ㄟ^運算實現,如里程計技術,通過對速度、角速度進行積分,計算當前位置,但會存在累積誤差;也可通過雷達、攝像頭等傳感器得到的數據進行實時定位。而實際應用中,都是多種傳感器共同使用,如何融合數據便成為一個關鍵。

在相關研究中,即時定位與地圖構建(Simultaneous Localization and Mapping, SLAM)技術可以很精確地實現定位和建圖。SLAM技術可以分為激光SLAM和視覺SLAM,激光SLAM采用的傳感器為激光雷達,而視覺SLAM則采用深度攝像頭[7]。

目前,激光SLAM較為成熟,定位更加精確。在硬件方面,采用以激光雷達為主的傳感器。在軟件方面,以Gmapping地圖構建算法為核心。Gmapping由Giorgio Grisetti和Cyrill Stachniss等在2007年以Fast-SLAM方案為基本原理提出,是一種基于Rao-Blackwellized粒子濾波的二維激光SLAM方法,目前在機器人定位導航方面應用廣泛[8]。

3? 硬件電路與軟件設計

3.1? 硬件電路設計

在ROS自動駕駛小車的硬件設計中,需要考慮以下幾點:

1)傳感器選擇:激光雷達、攝像頭和IMU(慣性測量單元)等傳感器可以用來獲取車輛周圍的環境信息,確定車輛的位置、速度和方向[9]。

2)控制器選型:ROS自動駕駛小車的控制器可以是微控制器或工業計算機。常用的控制器包括Arduino、Raspberry Pi和Nvidia Jetson等。

3)執行器選擇:電機和舵機是常用的執行器類型,用于控制小車的速度和方向。為了實現更精確的控制,可以選擇帶有編碼器的直流電機和舵機,以實現準確的位置或速度控制。

4)嵌入式計算機:嵌入式計算機用于處理傳感器數據、執行控制算法和規劃決策。常用的嵌入式計算機有Jetson Xavier和Raspberry Pi[10]。

快遞柜硬件電路設計如圖2所示。

3.2? 硬件電路設計工作流

在硬件電路的設計中,需要遵循以下工作流程:

1)功能塊劃分:將系統劃分為更小的功能塊,例如傳感器、控制器、執行器和嵌入式計算機。

2)選定硬件:根據系統需求選擇適當的硬件,并考慮價格、性能和可靠性等因素。

3)設計接口:設計接口以便各個硬件模塊之間進行通信,并選擇適當的連接方式,如USB、CAN、GPIO和I2C等。

4)電路布局:將組件放置在適當的位置并使用電路板設計軟件完成電路設計。

5)調試和驗證:將硬件測試到需要的精度,并使用模擬器或實際汽車進行測試驗證。

3.3? ROS硬件電路設計實例

以下是我們設計的智能配送車、柜的硬件電路設計方案。

1)傳感器:使用3D激光雷達、攝像頭和IMU等傳感器。激光雷達用于測量汽車周圍的距離和形狀,攝像頭用于識別道路標志和其他道路用戶,IMU用于確定汽車的方向和速度。

2)控制器:使用Raspberry Pi 4B作為主控制器,其具有高性能和低功耗的特點。

3)執行器:使用帶有編碼器的直流電機和舵機作為執行器,以實現準確的位置或速度控制。

4)嵌入式計算機:使用樹莓派作為嵌入式計算機,其具有強大的計算能力,可以支持大規模任務以及圖像和視頻的處理。

4? 系統軟件設計

系統程序開始后,啟動系統中的光電傳感器、雷達監測、控制系統,將收集到的數據傳輸到云平臺中進行分析處理,進行路線規劃,獲取超聲波測距數據后進行輔助定位。當控制系統檢測到云平臺發來的運行指令后,會根據指令包中的功能標志字符來實現自動避障,精準投遞等功能的執行。期間快遞柜也會通過串口通信給用戶發送信息,控制自動開關門接收系統,安卓軟件界面如圖3所示。Gmapping算法實現效果圖如圖4所示。

4.1? 得到小車速度和舵機轉角程序

1. ros::init(argc, argv, "art_driver");

2. ros::NodeHandle n;

3. ros::Subscriber sub = n.subscribe("/car/cmd_vel",

1,TwistCallback);

4.2? PWM轉換給單片機

1. void TwistCallback(const geometry_msgs::Twist& twist)

2. {

3. double angle;

4. angle = 2500.0 - twist.angular.z * 2000.0 / 180.0;

5. send_cmd(uint16_t(twist.linear.x),uint16_t(angle));

6. }

4.3? 樹莓派控制激光雷達

樹莓派控制激光雷達的程序通常需要使用到GPIO(General Purpose Input/Output,通用輸入/輸出)接口來控制激光雷達的轉動??梢酝ㄟ^樹莓派的GPIO接口來控制激光雷達的轉動:

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(18, GPIO.OUT) # GPIO 18用于控制轉動電機

try:

while True:

# 控制激光雷達轉動

GPIO.output(18, GPIO.HIGH)

time.sleep(0.5)

GPIO.output(18, GPIO.LOW)

time.sleep(0.5)

except KeyboardInterrupt:

GPIO.cleanup()

上述代碼中,我們使用RPi.GPIO庫來控制樹莓派上面的GPIO接口。首先,我們需要將GPIO設定為BCM模式(Broadcom SOC Channel),這是一種通用的GPIO編號模式。然后,通過GPIO.setup()方法來設置GPIO口為輸出模式,這里我們使用GPIO 18來控制激光雷達的轉動。接著,我們在try塊中實現輪詢功能,不斷循環地控制GPIO口將激光雷達轉動,并使程序等待一段時間再次控制停止。最后,當通過鍵盤終止程序時清除GPIO狀態,以釋放樹莓派上的GPIO接口。

需要特別注意的是,因為激光雷達連接的是高壓電源,其涉及的安全問題比較重要,需要加以注意。在實際開發中,還需要將該程序與激光雷達的驅動程序相結合,實現對激光雷達的控制。

4.4? 樹莓派控制深度相機成像

樹莓派控制深度相機成像需要使用到樹莓派的小型計算和IO處理能力,以及深度相機的API函數庫,可以通過樹莓派控制深度相機進行成像:

import pyrealsense2 as rs

import numpy as np

import cv2

import time

pipeline = rs.pipeline()

config = rs.config()

config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)

pipeline.start(config)

try:

while True:

frames = pipeline.wait_for_frames()

depth_frame = frames.get_depth_frame()

if not depth_frame:

continue

depth_image = np.asanyarray(depth_frame.get_data())

# 保存深度圖像

cv2.imwrite("depth_image.jpg", depth_image)

# 停止程序

break

finally:

pipeline.stop()

上述代碼中,我們使用了Pyrealsense2庫來實現對深度相機API函數的調用。程序首先啟動了一個管道pipeline,然后使用設定對象config來設定捕獲深度圖像的參數,設置分辨率為640×480并以每秒30幀的速度捕獲深度圖像。接著,我們進入主循環,通過pipeline.wait_for_frames()方法進行等待,等待深度相機產生圖像幀。如果得到深度幀圖像,則執行depth_frame.get_data()方法獲取深度數據,并將其轉換為numpy數組depth_image,這里我們將深度圖像保存為文件depth_image.jpg。最后,當程序完成任務或通過其他方式結束程序時,停止pipeline以釋放資源。

需要特別說明的是,代碼中的函數庫Pyrealsense2可以方便實現對Intel的RealSense深度相機進行調用,而調用不同廠家的深度相機,需要按照其官方API自行調整。此外,在實際應用中,我們還可以根據需要自定義深度相機的設置參數,如自定義分辨率、采集速度等,以適應不同場景下的應用需求。

5? 實驗測試與分析

最終本系統包括硬件與軟件APP,該系統供電后開始運行,雷達會處于檢測狀態,對周圍環境進行檢測反饋到樹莓派,利用Gmapping算法進行建圖,在建好整個地圖后,快遞車利用機械臂拿起快遞實行多點循環導航,串口通信會在快遞車和快遞柜接近時打開,此時柜子里面的推桿將柜子門推開,快遞車進行快遞放置。當快遞車遠離柜子后,柜子中的推桿收回,自動關門器利用拉力把柜門關閉,此時柜子里面的GSM模塊向用戶手機發送信息,用戶獲取信息后,在柜子的觸摸屏上輸入密碼,取走快遞,

在對該系統的配送成本、配送環節、配送時間、時間沖突以及投訴率測試情況下,我們進行了與傳統配送方式的對比,我們選取了甲(假期期間)、乙(人流密集)、丙(人流稀松平常,工作日)三處實驗場地及時間,采用Ⅰ組和Ⅱ組。Ⅰ組為傳統配送方式,Ⅱ組為新型配送車、柜。兩組同時配送100件貨物,最后得到如表1至表3測試數據。

從實驗數據來看,Ⅱ組(新型配送車、柜)在配送成本、配送環節、配送時間及時間沖突以及投訴率上面的表現遠遠超過傳統配送,且在疫情條件下,打破了人與人直接配送的束縛,達到了預期效果。

6? 結? 論

該項目對基于智能配送系統進行研究,設計了一款以電能為動力,并且未來有可能取代人力,可以廣泛應用于城市中集中居住區的免接觸智能配送車、柜,突破了“人+車”的快遞配送方式的局限,旨在解決集中取件導致的快遞站人員擁堵、排隊等候影響交通和浪費時間,以及快遞長期滯留在快遞站占用公共資源的情況?;谖锫摼W深度集成,以單片機為控制核心,協調和操控各個運行模塊,使用云平臺對小車進行實時跟蹤和控制,另外小程序的開發為用戶提供更好的使用體驗。同時利用光電傳感器標記光點,使光能轉化為電能,節約資源。

參考文獻:

[1] 楊冰杰.新型無人駕駛快遞投遞小車的設計與實現 [D].上海:上海交通大學,2019.

[2] 王宇嵐.夜間無人駕駛智能車的信息感知與駕駛行為規劃研究 [D].上海:東華大學,2020.

[3] 張賀堯,韋國軒,吳沁芯.基于LiDAR技術的智能尋路小車設計與實現 [J].集成電路應用,2022,39(3):1-3.

[4] 王超,楊???基于自主導航與避障系統的智能小車設計 [J].信息技術與信息化,2022(8):217-220.

[5] 姜小玉.基于蒙特卡羅的移動無線傳感器節點定位算法的改進研究 [D].南寧:廣西大學,2020.

[6] 黃琦.履帶式無人車輛的路徑規劃方法研究 [D].武漢:武漢大學,2018.

[7] 潘文釗.室內動態場景下的RGB-D SLAM研究 [D].廣州:華南理工大學,2021.

[8] 龐辰耀,吳平,翁德華,等.基于ROS與激光SLAM自主導航與避障系統的設計 [J].數字技術與應用,2021,39(11):214-218.

[9] 張燕詠,張莎,張昱,等.基于多模態融合的自動駕駛感知及計算 [J].計算機研究與發展,2020,57(9):1781-1799.

[10] 宋雪.基于單目視覺導航的多旋翼飛行器設計 [D].哈爾濱:哈爾濱理工大學,2019.

作者簡介:謝雨欣(2001—),女,漢族,河南濮陽人,本科在讀,研究方向:軟件工程;左安峰(2002—),男,漢族,山東日照人,本科在讀,研究方向:電子信息;葛賓(1981—),男,漢族,山東德州人,副教授,碩士研究生,研究方向:思想政治教育;韓祥森(1994—),男,漢族,山東淄博人,講師,本科,研究方向:電子與通信技術、智能控制。

猜你喜歡
串口通信樹莓派
基于微信端的智能家居監控系統的設計與實現
基于Qt和Flash的嵌入式Linux軟件架構設計
串口通信在智能家居監控系統中的應用
智能安全防盜探測小車
基于OpenCV的室內照明智能控制系統設計與實現
基于樹莓派的高清視頻播放器的設計與實現
基于MSP430單片機的窄帶無線數據傳輸模塊的設計
基于嵌入式技術的農村醫療系統設計
便攜式數傳電臺測試系統的設計與實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合