引言
通過對第七次人口普查數(shù)據(jù)的研究發(fā)現(xiàn)[1],我國60周歲及以上老齡人口截至2021年5月已達到全國總?cè)丝诘?8.7%,其中65周歲及以上人口占比13.5%,僅差0.5%我國就將步入老齡社會,人口老齡化所帶來的關(guān)于養(yǎng)老的眾多問題是我國亟待解決的[2]。目前人工智能技術(shù)已比較成熟,將其應(yīng)用到智能家居養(yǎng)老服務(wù)上是一種當(dāng)下被多方面認可的解決養(yǎng)老問題的方法。
本系統(tǒng)開發(fā)者設(shè)計的機器人結(jié)合了嵌入式人工智能技術(shù),能夠?qū)崟r監(jiān)測老人的身體健康狀態(tài)與居家環(huán)境數(shù)據(jù),同時可以將數(shù)據(jù)上傳到云端平臺進行分析,老人及其監(jiān)護人可以使用移動設(shè)備訪問平臺查看數(shù)據(jù)分析曲線。此外,機器人還可以自主規(guī)劃環(huán)境數(shù)據(jù)監(jiān)測路線,確保對居家環(huán)境全方位監(jiān)測。因此該系統(tǒng)能滿足老人和特殊群體的剛性需求,緩解人口老齡化所帶來的問題,實現(xiàn)智能化的居家養(yǎng)老。
1系統(tǒng)架構(gòu)
小型智能家居養(yǎng)老機器人的總體系統(tǒng)以STM32為主控單元,主要功能模塊包括身體健康監(jiān)測模塊、環(huán)境數(shù)據(jù)監(jiān)測模塊、自主定位導(dǎo)航模塊、數(shù)據(jù)分析與人機交互模塊。STM32與各功能模塊的傳感器進行通信,控制機器人自主移動監(jiān)測老人身體健康參數(shù)與家庭環(huán)境數(shù)據(jù),并將數(shù)據(jù)上傳到物聯(lián)網(wǎng)云平臺進行分析,同時在交互屏幕上顯示,若監(jiān)測數(shù)據(jù)異常,機器人會使用交互模塊進行報警。機器人系統(tǒng)功能架構(gòu)圖如圖1所示。
2系統(tǒng)硬件設(shè)計
機器人系統(tǒng)硬件分為身體健康監(jiān)測手環(huán)和機器人主體兩部分,機器人主體包含環(huán)境監(jiān)測模塊、自主定位導(dǎo)航模塊與人機交互模塊。
圖1機器人系統(tǒng)功能架構(gòu)圖
2.1智能身體健康監(jiān)測手環(huán)
如圖2所示,手環(huán)由MKB0908身體健康檢測模塊與2.4G無線通信模塊組成。MKB0908模塊集成了光學(xué)心率傳感器芯片、自動增益控制芯片、溫度傳感器芯片與心率血壓算法芯片。
圖2智能身體健康監(jiān)測手環(huán)
光學(xué)心率傳感器基于光電容積脈搏波描記算法,使用兩光發(fā)射二極管向皮膚照射,然后通過光敏傳感器接收經(jīng)過血管和組織反射、吸收后的衰減光[3],并將其轉(zhuǎn)換為數(shù)字信號,再由心率血壓算法芯片處理輸出血壓、心率等數(shù)據(jù)。溫度傳感器芯片則是通過鉑熱電阻的阻值變化來反映外部溫度的變化,以此來感知人體溫度,并將其轉(zhuǎn)換為數(shù)字信號輸出。最后通過2.4G無線模塊將MKB0908模塊采集到的心率、血壓、HRV與體溫數(shù)據(jù)透傳到機器人主控。
圖3自主定位導(dǎo)航模塊功能框圖
此外,智能監(jiān)測手環(huán)還能夠識別老人是否佩戴手環(huán),如果沒有佩戴則從監(jiān)測模式切換到休眠模式,減少電能的消耗。
2.2機器人主體
2.2.1環(huán)境監(jiān)測模塊
環(huán)境監(jiān)測模塊安裝在機器人主體上,主要由DHT11溫濕度模塊、CO濃度檢測模塊、MQ135環(huán)境空氣質(zhì)量檢測模塊與光敏電阻組成,可以實時監(jiān)測居家環(huán)境的溫濕度、光照強度、PM2.5濃度及CO濃度等環(huán)境數(shù)據(jù)。當(dāng)室內(nèi)CO濃度超過50ppm時表示老人可能會中毒,此時機器人會利用GSM無線通信模塊將報警短信發(fā)送到老人及其指定監(jiān)護人的手機上[4],給予老人舒適、安全的生活環(huán)境。
2.2.2自主定位導(dǎo)航模塊
自主定位導(dǎo)航模塊功能框圖如圖3所示,機器人可用藍牙定位模塊進行三點定位獲取當(dāng)前坐標,STM32對九軸傳感器輸出的數(shù)據(jù)進行姿態(tài)解算得到機器人相對于地面坐標系各軸的姿態(tài)角,然后使用A-Star算法規(guī)劃出機器人到環(huán)境監(jiān)測目標點的最短路徑,最后利用光電編碼器閉環(huán)控制電機輸出到兩驅(qū)動輪的轉(zhuǎn)速來控制機器人的位移與換向。由于室內(nèi)環(huán)境復(fù)雜多變,機器人移動過程中需使用避障模塊來檢測移動路徑上是否會突然出現(xiàn)障礙物,以避免發(fā)生碰撞。
2.2.3人機交互模塊
人機交互模塊由電阻式串口觸摸顯示屏、MP3功放模塊與GSM無線通信模塊組成。老人可以通過觸摸屏查看監(jiān)測數(shù)據(jù),同時可以觸摸屏幕設(shè)置環(huán)境監(jiān)測點與監(jiān)測模式。MP3功放模塊可以播報老人身體健康狀況、配網(wǎng)狀態(tài)及周圍環(huán)境安全狀態(tài),如果監(jiān)測到CO等有毒易燃氣體濃度超標,會通過功放模塊進行語音報警以及使用GSM模塊發(fā)送報警短信。
3系統(tǒng)軟件設(shè)計
3.1總體軟件設(shè)計
機器人的總體軟件設(shè)計流程如圖4所示。首先初始化STM32主控與各模塊間的控制和通信引腳,然后通過觸摸屏設(shè)置環(huán)境監(jiān)測模式,默認初始化為自動模式,機器人會自動規(guī)劃監(jiān)測點,若設(shè)置為手動模式,則需設(shè)置指定的監(jiān)測點。同時若智能手環(huán)打開且處于非休眠模式,其會自動采集老人的身體健康數(shù)據(jù)并傳輸?shù)綑C器人主控。
主控對老人身體健康與居家環(huán)境數(shù)據(jù)進行處理,并將其顯示在屏幕上,如果數(shù)據(jù)異常則會進行語音報警和發(fā)送警示短信。此外,如果WIFI模塊聯(lián)網(wǎng)失敗,機器人也會進行語音提示,若成功聯(lián)網(wǎng)則將數(shù)據(jù)上傳到云平臺進行可視化顯示與分析。
圖4系統(tǒng)總體軟件設(shè)計流程圖
3.2數(shù)據(jù)讀取與濾波算法設(shè)計
3.2.1身體健康監(jiān)測模塊軟件設(shè)計
在正常佩戴手環(huán)的條件下,身體監(jiān)測模塊會收集老人體溫、心率和血壓等多項數(shù)據(jù),然后通過2.4G無線模塊透傳到機器人主控。主控與2.4G模塊采用SPI協(xié)議進行通信,根據(jù)指定幀頭55AA判斷是否為數(shù)據(jù)傳輸起始幀,并且采用順序循環(huán)隊列接收數(shù)據(jù)包,然后按指定協(xié)議解析得到實際身體健康監(jiān)測數(shù)據(jù)。此外,MKB0908模塊自帶硬件濾波算法,因此無需對數(shù)據(jù)進行軟件濾波處理。
3.2.2居家環(huán)境監(jiān)測模塊軟件設(shè)計
主控芯片采用onewire協(xié)議與DHT11溫濕度模塊交互,完成對室內(nèi)環(huán)境溫度與濕度數(shù)據(jù)的采樣。利用芯片的ADC模塊將光敏電阻、CO檢測模塊、MQ135模塊輸出的模擬電壓轉(zhuǎn)換為數(shù)字信號,然后將其換算成光照強度、CO濃度與PM2.5濃度等數(shù)據(jù)。
實際測量環(huán)境中存在隨機噪聲,測得的數(shù)據(jù)會有不準確的脈沖跳變,對數(shù)據(jù)分析與預(yù)測造成了一定的影響,因此采用單字節(jié)滑動中位值平均濾波算法濾除毛刺[5]。使用順序隊列作為數(shù)據(jù)緩沖,各項環(huán)境監(jiān)測數(shù)據(jù)依次從隊頭進入,然后從隊頭滑走,最后去掉最大值和最小值再對其余數(shù)據(jù)求平均值,即為濾波后的結(jié)果。下面將濾波前后的溫度與濕度數(shù)據(jù)分別進行比較,對比結(jié)果如表1所示。
表1室內(nèi)溫度與濕度采樣數(shù)據(jù)濾波前后對比結(jié)果
根據(jù)表1對比結(jié)果可知,濾波后的溫度與濕度數(shù)據(jù)脈沖噪聲明顯減少,數(shù)據(jù)上下浮動變化值幾乎可忽略不計。由此可知環(huán)境監(jiān)測模塊的準確性與穩(wěn)定性得到了提高,為后續(xù)云端數(shù)據(jù)分析提供了保障。
3.3機器人路徑規(guī)劃算法
3.3.1藍牙三點定位算法
在室內(nèi)以1m為一個單位建立平面笛卡爾坐標系,將藍牙信標分別放置在三個坐標已知的地面上,藍牙信標會自動廣播各自的UUID號與接收信號強度(RSSI)[6]。根據(jù)公式(1)可以通過RSSI信號衰減程度來計算機器人主體上的藍牙模塊與各藍牙信標之間的距離:
其中,A為藍牙發(fā)射端與接收端相距1m時的信號強度,n為環(huán)境衰減因子[7]。n的取值由室內(nèi)環(huán)境決定,主要受室內(nèi)墻體厚度、溫濕度等參數(shù)影響,根據(jù)工程經(jīng)驗及后期調(diào)試,衰減因子n取3.1時與公式擬合度良好。通過藍牙信標廣播的UUID號可知它們各自對應(yīng)的坐
通過藍牙信標廣播的UUID號可知它們各自對應(yīng)的坐標,再根據(jù)RSSI信號強度得出機器人與藍牙信標的直線距離,最后利用畢達哥拉斯定理建立機器人待定位點與藍牙信標所在點的坐標參數(shù)和相互距離的方程組:
其中,(xn,yn)為機器人待定位點坐標參數(shù),(xbn,ybn)為藍牙信標的坐標參數(shù),根據(jù)方程求解出(xn,yn)的值,然后使用加權(quán)質(zhì)心算法即可得出機器人當(dāng)前位置的坐標為((x1+x2+x3)/3,(y1+y2+y3)/3)。
3.3.2A-Star最短路徑搜索算法
機器人每次移動時通過九軸傳感器判斷當(dāng)前相對方位,同時使用避障模塊檢測附近坐標位置是否存在障礙物,若有則將該坐標記為1,反之記為0,然后使用二維數(shù)組將地圖數(shù)據(jù)存到主控芯片F(xiàn)lash中,二維數(shù)組的行、列索引即為地圖的縱、橫坐標。
圖5A-Star算法搜索流程圖
家庭室內(nèi)地圖屬于典型的靜態(tài)環(huán)境,因此使用A-Star算法進行路徑規(guī)劃的效率最高,并將其計算代價的啟發(fā)函數(shù)設(shè)成曼哈頓距離[8],以減少使用歐式距離開方運算時的工作量。A-Star算法搜索過程中需要使用開放線性表與封閉線性表進行記錄,開放線性表用于存儲算完代價但未擴展的節(jié)點,封閉線性表則存儲障礙物節(jié)點或已擴展的節(jié)點。由于當(dāng)前節(jié)點每次都可向周圍相鄰的節(jié)點擴展,所以至多有8個節(jié)點滿足擴展條件(不在封閉線性表中),因此采用八叉樹存儲每次擴展的節(jié)點。算法流程圖如圖5所示。
首先,將機器人當(dāng)前坐標設(shè)為起點,待監(jiān)測環(huán)境點設(shè)為終點,并把它們放到開放線性表中,同時將起點設(shè)為八叉樹的根節(jié)點。然后從樹的當(dāng)前節(jié)點開始向周圍相鄰節(jié)點擴展并計算它們的代價,將滿足擴展條件的節(jié)點入樹,并將它們的父指針指向當(dāng)前節(jié)點,同時把它們加入到開放線性表中,不滿足的則放到封閉線性表中。
而后從開放線性表中取出代價最小的節(jié)點作為樹的當(dāng)前節(jié)點加以擴展,并將其從開放線性表移到封閉線性表中,以此循環(huán)往復(fù)。若開放線性表已為空,則說明未找到終點,結(jié)束循環(huán);若當(dāng)前節(jié)點即為終點,則說明找到終點,結(jié)束循環(huán),然后通過當(dāng)前節(jié)點的父指針回溯到根節(jié)點,即可找到機器人移至待監(jiān)測點的最短路徑。此外,若機器人尋路途中突然檢測到前方存在障礙物,則將其所在的坐標記為障礙物節(jié)點,再使用A-Star算法重新規(guī)劃路徑,以確保機器人在外界干擾下也能準確到達待監(jiān)測環(huán)境點。
3.4機智云物聯(lián)網(wǎng)開發(fā)平臺
主控芯片將監(jiān)測數(shù)據(jù)通過串口協(xié)議發(fā)送到WIFI模塊上,在WIFI模塊成功聯(lián)網(wǎng)的前提下,它會將數(shù)據(jù)按JSON格式打包,然后通過MQTT協(xié)議將數(shù)據(jù)包作為控制報文的有效載荷進行發(fā)布,機智云平臺作為客戶端成功訂閱相應(yīng)的主題后會收到WIFI模塊推送的數(shù)據(jù)。
如圖6所示,老人可以通過機智云APP查看實時監(jiān)測數(shù)據(jù),并且APP可以將數(shù)據(jù)以不同顏色的曲線顯示出來,同時還能對數(shù)據(jù)進行統(tǒng)計分析,便于老人遠程查看,實時了解自己的身體健康和居家環(huán)境狀況。
圖6機智云開發(fā)平臺數(shù)據(jù)分析
3.5人機交互界面設(shè)計
人機交互屏幕采用T5L電阻式串口觸摸屏,其UI界面使用DWINDGUS軟件設(shè)計。在軟件上開發(fā)好界面背景圖片、占位字符等靜態(tài)數(shù)據(jù)并將其存到顯示器的TF卡中,顯示器主控讀取TF卡中的數(shù)據(jù)并將其顯示在液晶屏上。機器人主控可將監(jiān)測數(shù)據(jù)、頁面控件回調(diào)指令等信息通過UART協(xié)議發(fā)送給顯示屏,顯示屏即可動態(tài)顯示參數(shù)和執(zhí)行相應(yīng)操作。屏幕最終顯示效果如圖7所示。
圖7人機交互界面
圖7(a)為身體健康數(shù)據(jù)的顯示界面,屏幕左上方的文字顯示手環(huán)的佩戴狀況,右上方顯示W(wǎng)IFI模塊網(wǎng)絡(luò)的配置狀態(tài),其余部分顯示老人當(dāng)前的體溫、心率、血壓及HRV曲線。圖7(b)為環(huán)境數(shù)據(jù)的顯示界面,展現(xiàn)了當(dāng)前室內(nèi)的溫濕度和光照強度,同時表明CO濃度達標。
4結(jié)語
本文針對人口老齡化所帶來的養(yǎng)老問題,設(shè)計了一款小型智能家居養(yǎng)老機器人系統(tǒng)。它具有身體健康數(shù)據(jù)監(jiān)測與居家環(huán)境數(shù)據(jù)監(jiān)測兩大功能,并且可以將數(shù)據(jù)發(fā)送到顯示屏或機智云平臺供老人查看。在設(shè)計軟件時對環(huán)境數(shù)據(jù)的讀取做了濾波處理,可以很好地克服因偶然因素引起的擾動,同時將A-Star算法應(yīng)用到機器人移至目標環(huán)境監(jiān)測點的最優(yōu)路徑求解中,提高了機器人的靈活性。該系統(tǒng)可以較好地幫助老人進行身體健康和居家安全管理,有助于實現(xiàn)智能化居家養(yǎng)老,繼而緩解老齡化帶來的諸多問題。
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354308
發(fā)布評論請先 登錄
相關(guān)推薦
評論