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