劉玉叢
(德州職業(yè)技術(shù)學院電氣工程系 山東省德州市 253034)
據(jù)第七次人口普查,60 歲以上老年人口占到總?cè)丝诘?8.70%,老年人口基數(shù)大,本文以老年人服藥為切入點,設計一款智能取藥機器人,服務于老年人服藥。普通藥盒在健忘的老年患者手里,方便了服藥的同時,也難免會給老年患者帶來了“不遵醫(yī)囑服藥”的隱患。存在不按時吃藥、重復吃藥、種類繁多吃錯藥的擔憂,基于以上考慮,本文將人工智能技術(shù)應用到藥盒中,智能取藥機器人將貼心為老年人制定“分憂”計劃,保證每一頓按時按量服藥,保證每一頓服藥準確。據(jù)此,對人機交互系統(tǒng)的取藥機器人設計進行研究分析,將有著一定實際應用意義。
基于人機交互系統(tǒng)的取藥機器人以單片機控制板為核心,可以按鍵、語音、手機APP 三種方式控制,整個過程通過軟件編程控制,自動完成。主要研究內(nèi)容包括項目外觀結(jié)構(gòu)設計研究、取藥機器人的動作控制設計研究、語音模塊控制設計研究、視覺判斷模塊設計研究、手機APP 控制模塊的設計研究。需要解決的關(guān)鍵問題為語音模塊、視覺模塊與機械臂的通訊、機器人可行走結(jié)構(gòu)的設計與控制。具體的設計方案如圖1 所示。
在圖1 所示方案中,外形設計包括機械臂取藥部分與行走機構(gòu)部分,另外還要將機械臂取藥部分與行走機構(gòu)部分有機結(jié)合在一起,做成一個可以靈活移動的取藥機器人。硬件設計包括視覺模塊、語音模塊、手機控制模塊、按鍵模塊、機械臂取藥模塊、行走模塊[1],其中視覺模塊、語音模塊、手機控制模塊、按鍵模塊要與機械臂取藥模塊進行通訊連接。行走部分需要控制好運行速度。通過軟件編程,軟硬件聯(lián)調(diào)實現(xiàn)取藥機器人設計功能。
圖1:基于人機交互系統(tǒng)的取藥機器人方案設計框圖
(1)語音按鍵(APP)多功能控制:可以通過語音、按鍵、手機遠程控制取藥機械手臂動作,控制方式簡單靈活,顯示模塊顯示設定的用藥時間。
(2)實現(xiàn)遠程實時監(jiān)測用藥信息:用藥信息和用藥時的視頻圖像通過GPRS 通信或者WLAN 網(wǎng)絡形式與手機APP 進行實時通信,并對藥盒進行遠程的查看、設定與控制,實現(xiàn)遠程監(jiān)測病人用藥情況,達到遠程照顧病人的目的。
(3)視覺判斷防止吃錯藥:機器人視覺模塊安裝在機械臂末端工具上方,機械臂取藥前必須先要經(jīng)過視覺判斷,老年人的吃藥信息需要提前通過圖像采集系統(tǒng)采集,視覺判斷無誤后,機械臂才能取藥,否則藥盒原路退回,并將錯誤信息反饋到手機端。
(4)親情語音提示:可以輸入親情語音提醒,如果提醒吃藥后沒有取藥,藥盒會在接下來的一個半小時之內(nèi)重復提醒五次。到了下一個吃藥的時間后還沒取藥的話,未取的藥會被替換成下個時間段該服的藥,智能化管理,避免重復服藥。
(5)外形設計:早中晚分時段放藥,合理分配空間,每次用藥時段區(qū)分明確,漏吃少吃一目了然。整個外形結(jié)構(gòu)占地空間小,移動靈活。
(6)可行走機構(gòu)助力移動服務:增加了可行走機構(gòu),在行走機構(gòu)前面增加了前置攝像頭,前置攝像頭實時提供前方路線,手機遠程控制機器人移動到服務位置,移動服務更貼心。
結(jié)合設計方案及功能分析,取藥機器人外形結(jié)構(gòu)設計如圖2 所示,圖中,1 為藥點提醒器,2 為氣泵,3 為藥盒抽屜,4 為核心控制模板,5 為減速電機,6 為按鈕,7 為機械臂正視圖,8 為機械臂左視圖,9 為機械臂俯視圖,10 為行走輪子,11 為水杯,12 為行走機構(gòu)電機,行走機構(gòu)電機為直流電機。另外機器人及行走部分均采用鋰電池供電,所以要充分考慮鋰電池的容量。
圖2:基于人機交互系統(tǒng)的取藥機器人外形結(jié)構(gòu)設計示意圖
機械臂氣泵來控制機械臂末端吸盤吸氣還是呼氣,從而決定將藥盒吸取還是放下。但是特別注意選取氣泵時,注意選取噪音小的氣泵,以免噪音太大,影響老年人休息。早中晚三個藥盒靠三個減速電機帶動,采用減速電機可以有效的控制啟動和停止時的運行速度,運行比較平穩(wěn)。當減速電機正轉(zhuǎn)時,藥盒被推出,減速電機反轉(zhuǎn)時,藥盒退回原位。小車行走機構(gòu)靠小車下面的核心控制模塊控制,另外小車前面安裝前置攝像頭,用于實時提供小車行走路線。本設計結(jié)構(gòu)中將機械臂,藥盒,行走機構(gòu)靈活整合在一起,結(jié)構(gòu)簡單,控制靈活。如果用于市場投入,還應該考慮取藥機器人的外觀美觀程度,將其產(chǎn)品化,這需要進一步完善改造。
本設計采用的單片機為Arduino Mega 2560,控制板的工作電壓為5V,有54 路數(shù)字輸入輸出通道,其中15 個可以作為PWM 輸出,16 路模擬量輸入端口,每個I/O 口的直流電流為40mA,晶振為16MHz。為了便于控制,采用拓展口把語音、視覺、機械臂的控制口連接起來。
采用LD3320 語音模塊, 本語音模塊集成了精度很高的A/D 與D/A 轉(zhuǎn)換口,不用外接其它輔助設備,結(jié)合取藥機器人控制功能,在編寫程序時,將“早晨用藥”、“中午用藥”、“晚上用藥”三個關(guān)鍵詞寫入到模塊中,模塊就可以識別這三個特定的關(guān)鍵詞。例如,當早晨該吃藥時,用戶對著語音模塊說出“早晨用藥”,模塊識別后與三個關(guān)鍵詞匹配,與提前寫入的“早晨用藥”關(guān)鍵詞匹配成功,模塊將發(fā)出信號驅(qū)動帶動早晨藥盒的減速電機正轉(zhuǎn),送出藥盒,同時機械臂收到信號,取走藥盒。同樣,當語音模塊接收到“中午用藥”或者“晚上用藥”關(guān)鍵詞時,與提前寫入的三個關(guān)鍵詞匹配,匹配成功后,語音模塊發(fā)出信號驅(qū)動帶動中午或者晚上藥盒的減速電機正轉(zhuǎn),送出藥盒,同時機械臂收到信號,運行到相應位置取走藥盒。當藥盒取走后,減速電機反轉(zhuǎn),藥盒退回原位置。
機器人視覺模塊采用Pixy2 視覺識別模塊,將Pixy2 視覺識別模塊連接到Arduino Mega 2560 控制芯片的拓展口上,為了方便控制,也可以專門設置一個拓展板,在拓展板上留出需要連接的視覺、語音、機械臂等外部設備的拓展口。
Pixy2 視覺識別模塊主要是通過識別顏色來識別物體,最多可以識別7 種顏色,在取藥機器人設計中,分別用藍、紅、黑三種顏色的藥盒裝早、中、晚三頓該吃的藥片,在使用前,需要完成三步操作,第一步,將藍、紅、黑三種顏色學習到Pixy2 視覺識別模塊中;第二步,為了保證視覺模塊識別到藥盒后,機器人能準確抓取藥盒,還必須進行視覺標定,通過視覺標定會對三種顏色的藥盒產(chǎn)生標定坐標;第三步,機械臂標定,通過第二步視覺模塊已經(jīng)生成了標定坐標,如果不進行機械臂標定,會出現(xiàn)手眼不一致,抓取精度不高的現(xiàn)象,通過機械臂標定,把視覺模塊產(chǎn)生的標定坐標,轉(zhuǎn)換成機械臂實際應該運動的坐標,確保抓取藥盒準確。通過以上操作,在取藥機器人設計中,當取相應的藥盒時,視覺模塊會對顏色進行匹配,如果成功則給控制板信號,機械臂抓取藥盒,否則藥盒原路退回。例如,應該取早晨藥盒時,如果是藍色藥盒,視覺模塊識別后能匹配成功,則正常取藥,否則如果是其他顏色藥盒,則藥盒退回,這樣有效的防止吃錯藥的情況發(fā)生。
手機控制模塊的核心元件手機Wi‐Fi 模塊,通過手機Wi‐Fi 模塊將早、中、晚三頓取藥做成三個虛擬開關(guān),直接操作手機界面的早、中、晚取藥按鈕,相應的藥盒推出,視覺模塊識別無誤后,機械臂準確抓取藥盒。另外小車前方安置攝像頭,與手機Wi‐Fi 模塊連接,將小車前進、后退、左拐、右拐等做成虛擬按鈕,這樣可以通過攝像頭提供的實時路線,操縱小車到達服務點,方便行動不便的老年人取藥。另外子女也可以通過手機端查看老人吃藥的情況,及時提醒老人吃藥。有效的實現(xiàn)了手機物聯(lián)網(wǎng)的功能。
按鍵操作是最傳統(tǒng)的操作方式,采用紅、綠、藍三個按鍵分別控制早、中、晚三個取藥點,制作三個傳統(tǒng)按鍵取藥的目的是為了服務于對手機使用不熟練或者說話聲音不清楚的老年人。當按下早晨取藥按鍵時,早晨藥盒被推出,視覺模塊識別無誤后,機械臂抓取藥盒送到服務位置,如果視覺識別藥盒顏色有錯誤,藥盒被原路退回。當按下中午或者晚上按鍵時,相應的藥盒推出,機器人取藥。按鍵操作是最簡單的操作方式,這種傳統(tǒng)的操作方式不可以省略去掉,這是最基本的控制方式。
通過以上各硬件模塊的分析,結(jié)合控制要求,基于人機交互系統(tǒng)的取藥機器人原理分析如圖3 所示,本設計以Arduino Mega 2560 控制板為核心,可以輸入親情語音提醒到藥點提醒器。當藥點提醒模塊發(fā)出吃藥提醒時,例如,“您好!您的早晨吃藥時間到了。”或者“老爸,您的早晨吃藥時間到了?!笨梢酝ㄟ^手機端控制機器人行走到服務位置,當控制中心收到按鍵、語音、手機APP 三種任意一種控制信號輸入時,發(fā)出輸出控制信號,減速電機正轉(zhuǎn),拉出早晨藥盒,視覺模塊判斷藥品無誤后,機械臂動作取藥到指定位置,減速電機反轉(zhuǎn),送回藥盒。如果視覺模塊判斷藥盒顏色錯誤,則藥盒退回,并將吃藥情況反饋到子女手機,及時更換藥盒,有效防止吃錯藥的現(xiàn)象出現(xiàn)。三種控制方式靈活方便,便于實現(xiàn)。
圖3:基于人機交互系統(tǒng)的取藥機器人原理分析圖
經(jīng)過以上硬件模塊與原理分析,基于人機交互系統(tǒng)的取藥機器人程序編寫流程圖如圖4 所示,本文用到的單片機為Arduino Mega 2560,因此編程采用Arduino 編程軟件。在取藥機器人的整個控制過程中,行走部分的控制和取藥部分控制是分開控制的,當收到吃藥提醒時,需要操縱手機端,將機器人移動到服務位置,到達位置之后需要老人通過語音、手機APP、按鍵三種方式中的任何一種來使機器人動作取藥。還沒有完全做到機器人到達服務位置后自動取藥這一功能,這需要進一步研究。
圖4:基于人機交互系統(tǒng)的取藥機器人程序編寫流程圖
在取藥機器人的編程控制中,通訊是難點,在程序編寫時,需要將機械臂模塊、語音模塊、視覺模塊三部分用到的庫函數(shù)加載到Arduino 編程軟件中,否則無法實現(xiàn)控制。另外機械臂的運動軌跡要多次調(diào)試,找到合適的運動軌跡[2],保證能抓到藥盒,而且還不會碰撞其他部件,將找到的合適軌跡坐標編寫到程序中,實現(xiàn)運動控制目標。機器人行走部分控制要考慮電機的帶載能力,保證能帶動機器人所有部件,另外要通過多次調(diào)試找到合適的運動速度,通過軟件編程實現(xiàn)PWM 調(diào)速,速度過快或者過慢都不能滿足服務要求。由于單片機工作電壓為5V,控制的直流電機一般都超過5V,所以還需要設置驅(qū)動電路,才能實現(xiàn)行走部分的有效控制。
軟件編寫完之后需要反復調(diào)試,在調(diào)試過程中出現(xiàn)視覺標定不準確的問題,經(jīng)過反復研究,當視覺標定時保證周圍環(huán)境不能過亮或者過暗,通過調(diào)節(jié)環(huán)境亮度有效的解決了標定不準確的問題;機械臂運動過程中發(fā)現(xiàn)吸盤沒有落到藥盒中心,在機械臂標定時,需要移動機械臂吸盤落到藥盒中心位置,確定準確的吸取點。另外在調(diào)試過程中,優(yōu)化機械臂的運動軌跡,防止碰撞到機器人其他部件。一次調(diào)試成功之后需要機器人多次運行來觀察多次運行之后機器人的運動偏差,確保機器人的運行穩(wěn)定。
綜上所述,為了解決老年人漏吃少吃藥問題,本文提出一種基于人機交互系統(tǒng)的取藥機器人設計方案,此設計方案主要分為外形設計、硬件設計和軟件編程三部分內(nèi)容,在設計過程中,語音、視覺、手機APP 與機械臂的通訊問題是控制的核心,項目調(diào)試完成后,多次調(diào)試按鍵、語音、手機APP 的不同控制方式,模擬視覺判斷模式,保證機器人工作的準確定與穩(wěn)定性。另外為了便于服務行動不便的老年人,行走機構(gòu)的設計也是重點。經(jīng)過反復調(diào)試,與多次實際應用,本設計可以實現(xiàn)老年人用藥的服務,結(jié)合以上分析,本設計研究的智能助老取藥機器人將有很大的應用前景,適用于家庭、養(yǎng)老服務、醫(yī)院等醫(yī)養(yǎng)體系,可以有效解決老人忘記吃藥、重復吃藥、吃錯藥的問題。雖然,在設計過程中在外形美觀,產(chǎn)品化等方面存在不足之處,但該設計方案仍然可以作為后續(xù)取藥機器人設計的參考。