劉 凱,陳思敏,陳 斌
(1.廣東機(jī)電職業(yè)技術(shù)學(xué)院電氣技術(shù)學(xué)院,廣州 510550;2.廣州高譜技術(shù)有限公司,廣州 513623)
自動發(fā)藥機(jī)作為藥房的核心設(shè)備,在縮短患者排隊(duì)候藥時間、降低藥師配藥勞動強(qiáng)度、提高藥房自動化程度等方面發(fā)揮了不可替代的作用[1]。目前,盒裝藥品(西藥、中成藥)的自動發(fā)藥機(jī)已比較成熟[2-3],但中藥房的傳統(tǒng)中藥飲片由于形態(tài)各異,較難實(shí)現(xiàn)自動化發(fā)藥。近幾年來,大多數(shù)中醫(yī)類醫(yī)療機(jī)構(gòu)的中藥房普遍采用“中藥飲片+中藥配方顆粒袋”組合的發(fā)藥方式[4]。本研究利用配方顆粒袋尺寸規(guī)格一致這一特點(diǎn)[5],以PLC可編程控制器為控制核心,觸摸屏和組態(tài)軟件為上位機(jī)監(jiān)控系統(tǒng),抓藥機(jī)械手、搬運(yùn)機(jī)械臂和分藥裝袋機(jī)構(gòu)為主體控制對象,進(jìn)行了中藥配方顆粒袋自動發(fā)藥機(jī)控制系統(tǒng)的設(shè)計(jì)與開發(fā),以期為中藥藥房自動化改造提供參考。
本課題組設(shè)計(jì)的中藥配方顆粒袋發(fā)藥機(jī)(發(fā)明專利號:ZL0151701703.1)實(shí)物如圖1所示,其結(jié)構(gòu)如圖2所示。發(fā)藥機(jī)由儲藥架、抓藥機(jī)械手、搬運(yùn)機(jī)械臂和分藥裝袋機(jī)構(gòu)組成。搬運(yùn)機(jī)械臂由1個豎直方向的鏈傳動模組和2個水平方向的同步帶傳動模組組成;分藥裝袋機(jī)構(gòu)由2個輸送帶、1個出藥口和1個分藥裝袋機(jī)器人組成。
發(fā)藥機(jī)的工作流程如下。
(1)確定藥品位置和抓藥路徑。與醫(yī)院信息管理系統(tǒng)(HIS)對接的藥品管理軟件首先確定藥品種類和數(shù)量,然后進(jìn)行路徑優(yōu)化并將結(jié)果信息發(fā)送到PLC控制器。
(2)抓藥。2 個抓藥機(jī)械手在搬運(yùn)機(jī)械臂的帶動下提升至儲藥機(jī)構(gòu)最高一層,抓藥機(jī)械手從上向下按照系統(tǒng)已優(yōu)化的路徑逐層抓取顆粒袋。
(3)分藥裝袋。抓藥機(jī)械手每次從藥盒成功抓取配方顆粒袋后,自動釋放藥品,顆粒袋在重力作用下自行掉落到輸送帶上,藥品集中匯集到出藥口,機(jī)器人自動完成分藥和裝袋動作。
圖1 發(fā)藥機(jī)實(shí)物圖
圖3 所示為控制系統(tǒng)原理圖。觸摸屏和組態(tài)軟件構(gòu)成上位機(jī)監(jiān)控系統(tǒng)軟件。觸摸屏用于本機(jī)調(diào)試、參數(shù)設(shè)定、手動選擇藥劑和狀態(tài)監(jiān)控;組態(tài)軟件用于藥品管理、處方設(shè)定、數(shù)據(jù)庫存儲等。在執(zhí)行部件的控制上,PLC 作為系統(tǒng)的核心控制器,通過I/O控制搬運(yùn)機(jī)械臂、抓藥機(jī)械手和分藥裝袋機(jī)構(gòu)的實(shí)時運(yùn)動。
圖2 發(fā)藥機(jī)結(jié)構(gòu)簡圖
圖3 控制系統(tǒng)原理圖
根據(jù)系統(tǒng)設(shè)計(jì)要求,本系統(tǒng)所選用的主要硬件產(chǎn)品如下。
(1)觸摸屏配置。觸摸屏選用昆侖通泰TP1061TX型,與PLC之間采用串口RS232接口通訊。
(2)組態(tài)軟件配置。組態(tài)軟件選用組態(tài)王6.55 版進(jìn)行圖形界面的設(shè)計(jì)、運(yùn)行和調(diào)試。
(3)PLC 配置??紤]到系統(tǒng)性能要求和現(xiàn)場試驗(yàn)環(huán)境,采用可靠性高、抗干擾能力強(qiáng)、工作穩(wěn)定的三菱FX3U 系列PLC作為核心控制器,共24點(diǎn)輸入,24點(diǎn)輸出,電源輸入為220 V AC,輸出為24 V和+5 V DC。
(4)伺服電機(jī)及驅(qū)動器配置。選用中達(dá)電通產(chǎn)臺達(dá)伺服電機(jī)及驅(qū)動器。鏈傳動模組使用的伺服電機(jī)額定功率為1.5 kW,同步帶傳動模組使用的伺服電機(jī)額定功率為0.4 kW,所有伺服電機(jī)配置減速比為1∶10的行星減速器。
(5)機(jī)器人配置。分藥抓藥機(jī)器人選擇的是ABB IRB 120型工業(yè)機(jī)器人,該款機(jī)器人為6軸通用機(jī)器人,可用于搬運(yùn)、碼垛、焊接等場合,最大負(fù)載為3 kg,工作范圍達(dá)580 mm。
本系統(tǒng)2 個抓藥機(jī)械手初始位置在儲藥架的第一排,抓藥時從上向下協(xié)同配合依次從待抓藥盒中抓取顆粒袋。當(dāng)控制系統(tǒng)獲得發(fā)藥單上待抓藥品的種類和數(shù)量信息后,系統(tǒng)首先要進(jìn)行路徑規(guī)劃,確定每個抓藥機(jī)械手要抓的藥盒和路徑,從而避免發(fā)生抓藥機(jī)械手閑置等待和時間浪費(fèi)的現(xiàn)象。
假設(shè)發(fā)藥單上的待抓藥盒在圖4 中用灰色方框表示,不抓藥品用白色方框表示,借鑒多旅行商問題數(shù)學(xué)模型,提出如下假設(shè):
(1)2個抓藥機(jī)械手為純抓取,不運(yùn)輸顆粒袋;
(2)每個藥盒的抓取只能由一個機(jī)械手完成,且所有藥盒位置都應(yīng)該到達(dá);
(3)機(jī)械手出發(fā)點(diǎn)與藥盒、各藥盒之間的距離已知,要求機(jī)械手一次行走的最大距離要大于其抓取路徑的長度。
圖4 中藥發(fā)藥機(jī)平面圖
設(shè)有K個抓藥機(jī)械手,需要到L個藥盒抓取,di,j(i,j=1,2,…,L),d0j為出發(fā)點(diǎn)到各藥盒的距離,nk為機(jī)械手k 抓取的藥盒總數(shù),當(dāng)nk=0時,表示機(jī)械手沒有抓取任何藥盒;集合Rk為機(jī)械手k抓取的藥盒點(diǎn)集合,其中的元素rki為該藥盒在機(jī)械手k的抓取路線中的順序?yàn)閕,rk0為該機(jī)械手k的出發(fā)點(diǎn)。
抓藥路徑數(shù)學(xué)模型如下:
上述表達(dá)式中,式(1)為目標(biāo)抓取總距離最?。皇剑?)表示每條路徑上藥盒數(shù)量不超過總的藥盒數(shù);式(3)為每個藥盒均得到抓??;式(4)為每條路徑的需求點(diǎn)組成;式(5)為判斷機(jī)械手k是否參與配送。
本文涉及到一種多旅行商問題,其最廣泛的應(yīng)用是車輛路徑調(diào)度問題(VRP 問題),目前已提出了許多求解的算法,大致可分為精確算法和啟發(fā)式算法兩大類。VRP 問題目前較難避免求解過程中計(jì)算量會隨問題規(guī)模的增大呈指數(shù)增長的問題[6-8],因此只適用于小規(guī)模的VRP 問題;而實(shí)際的抓藥過程中,抓藥數(shù)量多,限制了精確算法的應(yīng)用。本文應(yīng)用了啟發(fā)式算法中的差分進(jìn)化算法,該算法具有待定參數(shù)少、較強(qiáng)的群體收縮和協(xié)同收索能力[9-11],通過Matlab仿真驗(yàn)證了該算法可以實(shí)現(xiàn)預(yù)定的功能,在機(jī)器人最優(yōu)軌跡規(guī)劃中具有很強(qiáng)的實(shí)用性和實(shí)時性。
圖5 所示為抓藥機(jī)械手動作過程,機(jī)械手包括水平雙桿氣缸、豎直雙桿氣缸和真空吸嘴組成。水平氣缸用于機(jī)械手的伸出與縮回,豎直氣缸用于機(jī)械手的上升與下降,吸盤用于中藥配方顆粒袋的吸取與釋放。抓取流程如下:首先,真空發(fā)生器啟動,抓藥機(jī)械手水平氣缸伸出,當(dāng)氣嘴接觸到顆粒袋時且真空壓力達(dá)到設(shè)定值后豎直氣缸伸出,在儲藥盒中的顆粒袋被提起,接著水平氣缸縮回,豎直氣缸縮回,真空發(fā)生器停止工作,失去吸力的顆粒袋在重力的作用下掉落,完成一次抓藥和放藥過程。
圖5 抓藥機(jī)械手動作過程
分藥裝袋機(jī)構(gòu)是實(shí)現(xiàn)發(fā)藥機(jī)全自動發(fā)藥的關(guān)鍵機(jī)構(gòu),由于中藥發(fā)藥的特點(diǎn)(同一處方,多副藥劑,每副藥劑藥品種類相同),而抓藥機(jī)械手只能1次抓取1 袋,因此需要對掉落的顆粒袋進(jìn)行分類。本團(tuán)隊(duì)采用5 個分藥盒逐個接取顆粒袋,每次接收成功自動移動1 個分藥盒,模擬人工分藥動作。圖6 所示為分藥裝袋機(jī)構(gòu)控制策略流程,當(dāng)抓藥機(jī)械手掉落的藥袋從出藥口滑出并掉落到1 個分藥盒后,觸發(fā)光電傳感器,分藥盒向右移1 位,移動4 次后開始向左移,以此類推,待所有藥劑收集好后,機(jī)器人整體提升裝袋。
圖6 分藥裝袋控制策略流程圖
根據(jù)發(fā)藥機(jī)的實(shí)際需求,采用“觸摸屏+組態(tài)軟件”組合,開發(fā)了上位機(jī)監(jiān)控系統(tǒng)。
觸摸屏監(jiān)控程序由主菜單、調(diào)試菜單、參數(shù)調(diào)整、取藥界面等界面組成,每幅界面可將相應(yīng)的命令、數(shù)據(jù)輸送給PLC,也從PLC 讀出相應(yīng)參數(shù)或狀態(tài)信息,以此實(shí)現(xiàn)人機(jī)交互。整體程序主要實(shí)現(xiàn)機(jī)械手位置和速度設(shè)定、藥品選擇、整機(jī)調(diào)試和工作狀態(tài)顯示等功能。該系統(tǒng)監(jiān)控畫面簡單、實(shí)時、直觀顯示裝置狀態(tài)參數(shù)和重要的系統(tǒng)信息,便于調(diào)試人員直接操控PLC 控制器,也利于醫(yī)院藥房和藥店的藥師直接選擇藥劑進(jìn)行發(fā)藥。監(jiān)控主要界面如圖7所示。
圖7 主要監(jiān)控界面
藥品管理界面如圖8 所示,該界面在組態(tài)王6.55 版編程環(huán)境下編制,主要通過接口程序與醫(yī)院管理信息系統(tǒng)(HIS)連接,并進(jìn)行藥品的管理(分析藥品的名稱、數(shù)量、路徑等信息)和發(fā)藥機(jī)動作過程監(jiān)控。
圖8 藥品管理界面
系統(tǒng)的工作過程是:首先通過醫(yī)院內(nèi)部局域網(wǎng)將在終端電腦上開出的處方傳至藥品管理系統(tǒng)計(jì)算機(jī);然后由主控計(jì)算機(jī)在查詢藥品數(shù)據(jù)庫的基礎(chǔ)上形成配藥清單并下達(dá)指令給抓藥機(jī),在患者完成付款的前提下開始自動抓藥;同時發(fā)藥系統(tǒng)顯示患者信息,并驅(qū)動打印機(jī)輸出處方的綜合信息,由醫(yī)務(wù)人員將處方綜合信息連同抓藥機(jī)配好的藥品一起交付給患者使用。
本文針對各大醫(yī)院普遍使用的中藥配方顆粒袋,依托PLC、觸摸屏和組態(tài)軟件等通用平臺,開發(fā)了中藥機(jī)全自動發(fā)藥控制系統(tǒng)。通過對抓藥路徑和抓藥機(jī)械手的作業(yè)流程優(yōu)化,實(shí)現(xiàn)了發(fā)藥機(jī)穩(wěn)定、高效地工作,該設(shè)計(jì)方案具有較強(qiáng)的可行性,研究結(jié)果有助于提高中藥配方顆粒袋的發(fā)藥效率,也可為中藥房自動化改造提供參考。