張可征,方武,2,李晨曦
(1.蘇州經貿職業技術學院信息技術學院,蘇州215009;2.江蘇省智能服務工程技術研究開發中心,蘇州215009)
聯合國人口老齡化和可持續發展報告指出,全球在未來十年將加速老齡化進程。由于疾病人群對醫療服務需求的增加,機器人便被提出作為一種輔助工具提供醫療服務以彌合日益擴大的需求,緩解醫療人員和資源短缺。機器人產品分為工業機器人和服務機器人,而護理機器人便是服務機器人的一種。本文提出了一款基于VR(Virtual Reality)的雙臂機器人,可以為老年人和殘障人士帶來便捷的家庭護理服務。
目前護理機器人產品主要有:中國臺灣交大研究團隊研發完成居家照護智能機器人——ROLA;中國浙江大學軟件學院“大三合創業團隊”發明的智能衛生護理機器人;日本的RI-MAN機器人等。老年人和殘疾人實際使用的機器人數量并沒有達到人們預期的目標,導致用戶使用量較少。現階段護理機器人存在的主要存在價格問題和用戶體驗不佳。而我國服務機器人起步比較晚,但發展迅猛,加上巨大的需求,將會成為全球最大的潛在市場。本項目采用開源平臺開發可有效降低研發成本,基于VR人機交互技術提升用戶體驗,幫助老年人和殘疾人體會高科技帶來的便捷,解決生活當中的實際問題,帶來更好的生活服務。
如圖1所示,系統結構可以分為兩部分,一部分由樹莓派結合機器視覺攝像頭操控機器人自動搜尋目標物品并實現目標物品的抓取,另一部分由Arduino平臺結合機械骨骼控制端實現機器人的運轉;操作者可通過VR設備獲取目標物品,從而實現目標物品的抓取。
系統硬件部分包括:機械臂模塊:采用六自由度機械臂;底盤運動模塊,主要通過Arduino控制;轉接板模塊:STM32F103VCT6;樹莓派主板模塊:Raspberry PI 3B+。機器視覺攝像頭模塊;FPV攝像頭模塊;VR眼鏡模塊;機械骨骼模塊。

圖1系統組成圖
(1)機械臂模塊
如圖2所示,多自由度機械臂的主控芯片為STM32F103VCT6,驅動方式有自動和手動:自動由樹莓派發送的運動指令驅動該機械臂;手動由姿態傳感器發送運動指令,STM32F103VCT6通過藍牙接收指令信息驅動該機械臂。

圖2多自由度機械臂
(2)底盤運動模塊
如圖3所示,底盤集成了Arduino Mega2560核心電路板,底盤接收到來自樹莓派或手柄的運動指令,通過引腳發送控制指令 25、26、47、48、55、56、78、79、80、83、92、93控制六個35電機運轉,從而驅動整體進行運動。

圖3底盤運動模塊電路圖
(3)轉接板模塊
如圖4所示,VR機器人通信轉接板采用STM32F103VCT6作為主控制器供電電壓為12V通信接口包涵Uart4、IICX2、無線接口音頻接口。

圖4 VR機器人通信轉接板
(4)樹莓派模塊
如圖5所示,視覺處理模塊采用的Raspberry PI 3B+,搭載了Broadcom BCM2837,集成藍牙和Wi-Fi模塊,5V電壓,同時擁有 40 個引腳、USB、RJ-45、HDMI、音頻、SPI等接口。

圖5 U5NBCM2837B電路原理圖
(5)攝像頭模塊
如圖6所示,攝像頭擁有500w分辨率,CCD尺寸為1/4inch,3.6mm可調光圈,60°視場角。

圖6紅外夜視攝像頭
(6)FPV攝像頭模塊
如圖7所示,Crazepony的FPV攝像頭采用按鈕式調頻,廣角170°帶攝麥克風,分辨率可達1280×960,焦距為1.8mm。

圖7 FPV攝像頭
(7)VR眼鏡模塊
如圖8所示,VR眼鏡采用LCD屏,屏幕尺寸為4.3寸,分辨率可 480×270px,電壓 7.4V。

圖8 VR眼鏡
(8)機械骨骼模塊
如圖9所示,可穿戴式機械骨骼搭載STM32F103VCT6的MCU通過藍牙來發送傳感器的命令,以此控制機器人完成一系列操作指令。

圖9可穿戴式機械骨骼
系統底盤控制軟件采用C語言進行開發,應用軟件部分采用Python結合OpenCV庫進行運動控制和物品識別。系統軟件流程如圖10所示。

圖10程序流程圖
程序具體步驟如下:
機器人進入運行狀態;設定紅色閾HSV顏色模型值;設定尺寸;打開攝像頭;等待兩秒;獲得手動抓物體大小的標定值;初始化串口;打開串口;執行程序;檢測攝像頭;若未檢測到攝像頭輸出No Camera返回;檢測到攝像頭,轉到白色的HSV空間;紅點標出圖像的中心坐標;根據閾值構建蒙版掩膜腐蝕操作,去除噪點輪廓檢測;給小車一個初始速度V1,左轉搜尋物體,如果存在物體輪廓找到面積最大的輪廓——目標物體,停止轉動調整角度,調整機器人與目標物品間距至合適位置;抓取物品;放置物品,機械臂回到初始位置,結束程序。

表1主函數

表2系統配置
系統配置將可見光攝像頭插入樹莓派的SPI接口之后,在樹莓派中啟用攝像頭模塊。在終端中輸入sudo raspi-config,進入系統設置。

圖11系統設置界面
圖11系統設置界面選擇5 Inerfacing Options,選擇P1 Camera,然后選擇Yes,回到系統設置界面選擇7 Advanced Options,選擇SPI然后啟用SPI。最后重啟樹莓派,至此攝像頭模塊和GPIO口以可以使用了。
(1)串口配置搭建樹莓派串口通信開發環境
①安裝Python:sudo apt-get update;sudo apt-get install python。
②安裝Python的GPIO模塊,用于控制LED、電機等:
wget https://sourceforge.net/projects/raspberry-gpiopython/files/RPi.GPIO-0.6.2.tar.gz;(下載GPIO庫,因為更新,具體參考官網網址變動)
tar xvzf RPi.GPIO-0.6.2.tar.gz;(tar解壓)
cdRPi.GPIO-0.6.2;(進入解壓后的文件夾)
sudo python setup.py install;(安裝GPIO庫文件)
③安裝serial,用于串口通信及USB通信:
sudo apt-get install python-serial
④檢驗前三步環境安裝是否正確:
用nano編輯器編輯一個test文件;
sudo nano test.py
在test.py文件中寫入下面兩行代碼:
import serial;
import RPi.GPIO
運行python test.py語句,如果沒有報錯說明樹莓派開發環境搭建正確。
修改樹莓派配置文件:
●修改cmdline.txt
sudo nano/boot/cmdline.txt看到dwc_otg.lpm_enable=0 console=ttyAMA0,115200kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait把console=ttyAMA0,115200 kgdboc=ttyAMA0,115200刪除變成這樣dwc_otg.lpm_enable=0 console=tty1root=/dev/mmcblk0p2rootfstype=ext4 elevator=deadlinerootwait Ctrl+X按Y按Enter保存退出
●修改inittab然后禁止掉從串口登錄的功能
sudo nano/etc/inittab注 釋 掉 T0:23:respawn:/sbin/getty-L ttyAMA0 115200 vt100變成#T0:23:respawn:/sbin/getty-L ttyAMA0 115200 vt100 Ctrl+X按Y按Enter保存退出sudo reboot之后樹莓派的pin8(GPIO14)pin10(GPIO15)這兩個口就可以當成普通的串口來用了現在你可以像使用一個普通串口那樣使用/dev/ttyAMA0了。
(2)開機自啟動配置執行mkdir.config/autostartsudonano~/.config/autostart/run.desktop輸入以下內容:[DesktopEntry]Type=ApplicationExec=python/home/pi/pi_robot_red.py重新啟動sudo reboot now啟動后可以自動執行程序,設置成功。5.2調試機器人運行步驟:檢查線路連接是否正常檢查電源供電是否正常將待抓取物品放置適當位置打開電源等待機器運行完畢關閉電源要實現成功抓取;光照條件足夠;物體垂直于地面擺放;無障礙物遮擋;電池電量充足;小車零部件無故障;連接線正確且牢固連接。
實驗采用Arduino Mega2560核心板,STM32F103VCT6 MCU核心板,Raspberry Pi 3B+系統。系統調試結果如圖11、12所示,圖中顯示的是自動抓取過程和遙控機械臂抓取過程。

圖12樹莓派自動抓取

圖13 VR+機械骨骼抓取

圖14機械骨骼操控圖
服務機器人目前存在造價高、靈巧性不足、安全性待提高及應用中的人性倫理等問題,致使大部分機器人在家庭推廣中存在困難。針對以上問題,本文提出了一種基于VR的雙臂機器人。項目采用開源平臺開發可有效降低研發成本,基于VR人機交互技術提升用戶體驗,幫助老年人和殘疾人體會高科技帶來的便捷,解決生活當中的實際問題,帶來更好的生活服務。后續工作會重點觀察機器人在參與家庭護理服務中存在問題并結合人工智能技術發展趨勢深入研究,開發出令用戶滿意的服務機器人。