何進松
(上海電子信息職業技術學院通信與信息工程學院 上海 201411)
隨著互聯網信息化的發展,在大數據、深度學習算法等技術的推動下,人工智能技術不斷發展,將對生活服務、醫療、工農業等各個行業產生顛覆性影響。目前,我國正處于中國制造向中國智造邁進的大背景下,機器人產業迎來了全新機遇。借助人工智能技術,可實現機器人領域與醫療領域的深度融合,醫療服務機器人具有廣闊的市場前景[1~2]。
目前各大醫院門診患者流量大,大多數患者缺乏健康認知,對于病癥、醫院科室及檢查位置導航等常見問題,需要導醫指導[3~4]。傳統導診模式工作量大,工作效率低,導醫工作本身也相對枯燥,服務態度有待提高。因此,改善就醫體驗,提高患者滿意度,減輕導醫工作壓力,成為現代化醫院的工作要求。借助智能化導診機器人,采用人機交互方式,根據患者病癥描述,給出就診建議,提高問診質量,是目前互聯網醫療服務領域的主流發展方向[5~6]。
智能導診機器人及其綜合管理平臺,要求能夠對機器人本體進行管理,機器人能夠實現人機語音交流,并且具備連續監聽患者提問的功能[7~8]。管理平臺能夠實時記錄機器人與問詢者的交互記錄,通過管理后臺能對機器人發送相關操作指令,并允許后臺管理人員查看及處理人機對話內容及機器人前端攝像頭采集的畫面。針對患者就醫過程中需要咨詢的問題建立導醫知識庫,形成機器人問答知識庫,方便實現與患者的智能語音交互。機器人能夠實現自我記錄和自我學習,再遇相似問題時機器人可自行回復解決[9~12]。建立導醫地圖,提供地圖導航功能,通過語音交互能力可解決問詢者有關咨詢位置信息相關的問題,并能夠在機器人屏幕上顯示相關地圖信息,進行路線指引。
針對智能導診應用需求,進行智能導診機器人及其綜合管理平臺總體設計。硬件基于軟銀人形機器人“Pepper”作為服務機器人,軟件基于Lab-VIEW Nao SDK工具包進行人機交互程序設計,并將其交叉編譯生成Python代碼,結合前端技術,完成軟件開發。
智能導診機器人及其綜合管理平臺主要包括三個部分功能:機器人平臺、管理后臺及客戶端三部分,功能框圖如圖1所示。

圖1 平臺功能框圖
各部分功能如下。
1)機器人平臺:分為三個功能模塊。實現與患者的智能語音交互,根據診斷情況,提供導診服務;人臉識別功能能夠實現人臉圖像采集,方便下載就診時識別患者身份;定位導航功能可實現點到點自主導航,并進行移動路線指引[13~14]。
2)管理后臺:分為四個功能模塊。機器人管理模塊顯示當前機器人列表,進行機器人狀態控制;導醫工作臺實時記錄機器人與患者的交互記錄;導醫知識庫根據醫院數據模型和知識庫建立,患者咨詢過程中,根據所述疾病,從導醫知識庫中匹配響應的診室和治療醫生,形成導醫結果;數據統計模塊進行用戶統計和問答結果統計。
3)客戶端:分為五個模塊。醫院概述模塊進行醫院、科室和專家的介紹,方便患者查詢;就醫指南介紹就診流程、住院須知和出院流程;導醫地圖模塊,提供地圖導航功能;此外還提供預約掛號和相關診療費用查詢功能模塊。
選擇軟銀人形機器人“Pepper”作為服務機器人。“Pepper”是一款人形機器人,身高120cm,體重28kg,配備10.1英寸觸摸屏,可綜合考慮周圍環境,并積極主動地作出反應。通過機器人頭部的麥克風陣列,機器人可以準確地對場景內的聲源進行定位和識別。機器人配備了語音識別技術,可用表情、動作、語音與人類進行人機交互。智能AI數據庫可實現除人機交互外的天氣查詢、點歌、聊天等功能。底盤雷達掃描,構建地圖,導航避障,可根據需求準確移動到目標位置[15]。為了擴展機器人的應用,Aldebaran Robotics公司也公開發布了SDK,開發者可以根據開發需求對機器人做部署和個性化設定。

圖2 人形機器人“Pepper”
“Pepper”機器人和其本身配有的平板觸摸屏,分別具有獨立的處理器,因此針對機器人本體控制及平板的人機交互界面設計,將軟件分為兩部分,分別運行主程序和前端程序。主程序采用開發和維護速度較快的LabVIEW進行開發,基于NAO SDK for LabVIEW和Voice Cloud工具包,實現機器人管理和語音功能。NAO SDK for LabVIEW基于最新的NAOqi2.1軟件架構編寫而成,基于該開發包,可實現機器人運動控制、語音控制、人臉識別和獲取傳感器數據等。VoiceCloud SDK for LabVIEW工具包基于科大訊飛語音服務功能,能夠完成語音聽寫,語法識別,語音合成等功能。最后利用工具包中自帶的交叉編譯器,將LabVIEW程序編譯成“Pepper”支持的Python語言,下載到機器人內核中。
主程序軟件設計架構采用狀態機結構,設置關鍵變量VIRobotics_Page作為Htm l與LabVIEW溝通的重要標識,根據導診平臺模塊功能,為VIRobotics_Page賦值,也以此作為狀態跳轉的跳轉條件。主程序和前端程序交互時,LabVIEW通過發送JS代碼段,模擬點擊按鈕、網頁跳轉、網頁標簽文字更新等,實現對導診平臺人機交互界面的對應界面的控制。前端程序控制LabVIEW時,用JS修改機器人內存中的關鍵變量VIRobotics_Page,LabVIEW的狀態機中,檢測到該變量的值,則進入不同的狀態分支。主程序流程圖如圖3所示。

圖3 主程序流程圖
主程序執行過程為開機后,首先進行機器人初始化,通過判斷關鍵變量VIRobotics_Page的值,進入對應的狀態分支。當患者選擇醫院概述、就醫指南、導醫地圖和健康宣教功能時,機器人首先進行人臉識別,識別后開始與患者進行語音交流,此時利用本地語音識別功能,根據語音識別結果,響應不同的功能。當患者選擇智能導診時,依據導醫知識庫,通過“病癥特征提取”的方式,模仿問診過程,為患者給出就診建議。如患者選擇智能問答功能,則進入訊飛語音識別。
根據系統設計需求,采用HTML5+CSS編碼技術,結合JavaScript進行人機交互界面程序開發。點擊人機交互界面網頁上對應的功能圖標,JS即修改關鍵變量VIRobotics_Page的值,主程序進行狀態跳轉,網頁上即響應對應的功能。網頁點擊事件框圖如圖4所示。

圖4 網頁點擊事件框圖
本文借助人工智能技術,基于從LabVIEW到python的交叉編譯技術和前端技術,分別從系統總體設計、機器人硬件功能、軟件設計進行闡述,完成了智能導診機器人及其綜合平臺的設計。目前該系統已成功應用于醫療導診中,工作過程中,機器人運行穩定,人機交互性能良好,愉悅患者心情,有效改善了醫院的導診環境。該設計在醫療領域具有較好的應用價值。