任工昌,張 冉,劉 朋,尚亞東
(陜西科技大學(xué)機(jī)電工程學(xué)院,陜西 西安 710021)
在疫情的催化之下以及近幾年機(jī)器人產(chǎn)業(yè)的持續(xù)高速增長的基礎(chǔ)上,中國服務(wù)機(jī)器人產(chǎn)業(yè)未來將迅速擴(kuò)張且潛力巨大[1]。同時(shí)疫情也刺激了智能配送機(jī)器人的市場需求,加速了配送機(jī)器人應(yīng)用的落地[2]。
醫(yī)用配送機(jī)器人可在醫(yī)院、隔離區(qū)等多場景開展物資配送工作,可減少醫(yī)護(hù)人員交叉感染的風(fēng)險(xiǎn),提高醫(yī)護(hù)人員工作效率,降低勞動(dòng)強(qiáng)度。目前,配送機(jī)器人大都采用移動(dòng)底盤加車廂的方式,需要人工將物品從藥箱取出或放置,無法完全避免與人接觸[3]。
本文在拖車式移動(dòng)底盤的結(jié)構(gòu)上,優(yōu)化確定了機(jī)械臂和攝像頭的安裝位置,設(shè)計(jì)了一種循環(huán)式車廂搭配機(jī)械臂,通過對視覺識(shí)別與定位、機(jī)械臂軌跡規(guī)劃等關(guān)鍵技術(shù)的研究,完成機(jī)器人自主抓取的任務(wù)。同時(shí)將導(dǎo)航功能與自主抓取功能相結(jié)合,實(shí)現(xiàn)了配送過程全程無人化。
醫(yī)用配送機(jī)器人自主配送分為自主導(dǎo)航和自主抓取兩大功能,導(dǎo)航功能利用移動(dòng)平臺(tái)實(shí)現(xiàn),自主抓取采用機(jī)械臂加深度攝像頭來完成[4],總體方案的示意圖如圖1所示,總體方案框架如圖2所示。
圖1 總體方案示意圖
圖2 總體方案框架圖
圖3 循環(huán)式車廂
循環(huán)式車廂采用鏈輪帶動(dòng)鏈條傳動(dòng),如圖3所示。利用平行四桿機(jī)構(gòu)的原理,配合平衡機(jī)構(gòu),保證了循環(huán)機(jī)構(gòu)在運(yùn)行中不會(huì)產(chǎn)生過大的晃動(dòng),提高了運(yùn)行的平穩(wěn)性。同時(shí)每個(gè)存儲(chǔ)箱循環(huán)運(yùn)動(dòng),存儲(chǔ)箱到達(dá)位置相同,相較于傳統(tǒng)車廂,箱門開口朝上方便攝像頭的識(shí)別與定位,簡化了機(jī)械臂的抓取軌跡,大大提升了機(jī)械臂抓取的成功率。
由于機(jī)器人移動(dòng)底盤為拖車型,機(jī)械臂的安裝位置可選擇牽引車頭或車廂上,車箱安裝在拖車型移動(dòng)底盤上,機(jī)械臂安裝在循環(huán)車箱的前側(cè),如圖4(b)方案所示,將機(jī)械臂的位置安裝在車廂前側(cè),其機(jī)械臂的基坐標(biāo)系難以確定,因?yàn)橥宪囆鸵苿?dòng)底盤的動(dòng)力源在牽引車頭上,拖車坐標(biāo)是根據(jù)牽引車坐標(biāo)系和編碼器側(cè)的角度轉(zhuǎn)換得到,存在誤差。安裝在車廂上影響機(jī)械臂抓取的成功率。將機(jī)械臂安裝在牽引車車頭更加容易確定機(jī)械臂的基坐標(biāo)系,對抓取成功率的影響較小,且隨著車廂的更換而機(jī)械臂無需拆裝,故最終選擇方案(a)。最終確定機(jī)器人整體結(jié)構(gòu)方案如圖5所示。
圖4 機(jī)械臂安裝示意圖
圖5 整體結(jié)構(gòu)示意圖
醫(yī)用配送機(jī)器人采用上、下位機(jī)的結(jié)構(gòu),上位機(jī)采用ROS系統(tǒng)(機(jī)器人操作系統(tǒng))實(shí)現(xiàn)對傳感器信息的處理和機(jī)械臂抓取軌跡的規(guī)劃。下位機(jī)采用STM32F103和Arduino將雷達(dá)、攝像頭等傳感器的信息發(fā)送給上位機(jī),并接收上位機(jī)的指令,分別驅(qū)動(dòng)移動(dòng)底盤和機(jī)械臂運(yùn)動(dòng)??刂葡到y(tǒng)框架如圖6所示。
圖6 控制系統(tǒng)總體框架
在Ubuntu16.04中安裝Kinetic版本的ROS系統(tǒng),作為操作系統(tǒng)層的核心,安裝各種需要的功能包,其中,move_base包根據(jù)傳感器反饋的信息進(jìn)行路徑規(guī)劃,amcl包在已知地圖中進(jìn)行自主定位與導(dǎo)航,Cartographer包實(shí)現(xiàn)建圖功能[5-6],find_object_2d功能包是實(shí)現(xiàn)攝像頭目標(biāo)識(shí)別,camera_calibration功能包和easy_handeye實(shí)現(xiàn)對相機(jī)的內(nèi)外參的標(biāo)定以及各種依賴的功能包等,快速的完成上位機(jī)ROS系統(tǒng)框架搭建。
MoveIt!含有開源運(yùn)動(dòng)規(guī)劃庫OMPL(Open Motion Planning Library),RRT算法是其中比較經(jīng)典的算法[7]。在使用MoveIt!配置機(jī)械臂時(shí),從OMPL庫中選擇合適的算法,RRT算法不需要對空間進(jìn)行建模,搜索效率高,選擇RRT算法對三維空間中的機(jī)械臂進(jìn)行路徑規(guī)劃。
在二維平面上RRT算法基本思路:
圖7 RRT基本原理圖
1)從初始位置Pinit開始,以樹的形式進(jìn)行探索;
2)生成隨機(jī)采樣節(jié)點(diǎn)Prandom;
3)Pnearest是最接近該隨機(jī)生成的節(jié)點(diǎn),將兩點(diǎn)相連判斷否滿足障礙物約束;
4)如果滿足障礙物約束,則判斷兩點(diǎn)間距與q搜索步長的大小關(guān)系,小于q,則Prandom作為新的節(jié)點(diǎn);
5)兩點(diǎn)間距如果大于q,在Pnearest和Prandom連接線上選擇距離Pnearest距離為q的點(diǎn)作為新節(jié)點(diǎn)Pnew,如此往復(fù)進(jìn)行,如圖8所示。
在二維空間中隨機(jī)采樣,對路徑進(jìn)行隨機(jī)擴(kuò)展,直到“樹枝”覆蓋目標(biāo)區(qū)域,選取一條路徑作為最終結(jié)果。
ROS有大量可以在應(yīng)用程序中重用的軟件包。find_object_2d包是一種基于模板匹配的物體識(shí)別和檢測的功能包。通過它提供的GUI,可以標(biāo)記待檢測的物體,建立模板庫后可用來進(jìn)行特征檢測。功能包提供的檢測器節(jié)點(diǎn)可檢測攝像頭圖像中的物體,并通過ROS話題、服務(wù)通信機(jī)制發(fā)布物體的位置消息,還可通過深度攝像頭估計(jì)物體的深度信息和姿態(tài)信息,機(jī)器臂通過訂閱該功能包發(fā)布的位姿消息實(shí)現(xiàn)對物體的抓取。
在ROS系統(tǒng)中對Kinect V2進(jìn)行標(biāo)定,采用camera_calibration功能包,基本原理為張正友標(biāo)定法,獲取攝像頭的內(nèi)參和外參矩陣,消除圖像畸變[8]。標(biāo)定過程如圖8。
圖8 相機(jī)標(biāo)定過程
采用基于模板匹配的find_object算法功能包對目標(biāo)進(jìn)行識(shí)別,該算法首先建立模板,提取待測物品的特征點(diǎn),通過與攝像頭傳回的圖像對比識(shí)別待測物品,以三維空間坐標(biāo)和四元數(shù)的方式輸出目標(biāo)的位置和姿態(tài)信息。識(shí)別效果如圖9所示。
圖9 視覺識(shí)別效果圖
安裝有ROS系統(tǒng)的Mini PC固定在醫(yī)用配送機(jī)器人牽引車車頭上,與遠(yuǎn)程計(jì)算機(jī)連接在同一WIFI下,遠(yuǎn)程計(jì)算機(jī)通過ssh方式訪問Mini PC實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。啟動(dòng)KinectV2相機(jī)和find_object_3d識(shí)別算法,物品被Kinect V2識(shí)別和定位成功后,可在rviz中看到待抓物品相對于Kinect V2的坐標(biāo),機(jī)械臂需要讓夾爪中心到達(dá)該位置夾取物體,通過TF坐標(biāo)變換和ROS通信機(jī)制,將待抓物品位姿信息發(fā)布并使機(jī)械臂訂閱到位姿信息,調(diào)用OMPL庫的RRT算法自主規(guī)劃從初始位姿到目標(biāo)位姿的多組關(guān)節(jié)位置,再通過ros_lib和arduino通信,使機(jī)械臂末端執(zhí)行機(jī)構(gòu)到達(dá)抓取目標(biāo)物的最終姿態(tài),抓取過程如圖10中(a)至(d)所示。
圖10 機(jī)械臂抓取過程圖
本文在拖車式移動(dòng)底盤的結(jié)構(gòu)上,優(yōu)化確定了機(jī)械臂和攝像頭的安裝位置,設(shè)計(jì)了一種循環(huán)式車廂搭配機(jī)械臂,搭建了配送機(jī)器人的控制框架。同時(shí)對視覺識(shí)別與定位、機(jī)械臂軌跡規(guī)劃等關(guān)鍵技術(shù)的研究,將移動(dòng)機(jī)器人定位、導(dǎo)航功能與自主抓取功能相結(jié)合,實(shí)驗(yàn)驗(yàn)證實(shí)現(xiàn)了移動(dòng)機(jī)器人自主抓取及配送過程全程無人化。