国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Dijkstra算法的防塵肺病智能機(jī)器人設(shè)計(jì)

2020-04-27 08:24:16彭子屹
科技傳播 2020年2期
關(guān)鍵詞:塵肺病驅(qū)動(dòng)器上位

彭子屹

肺塵病或塵肺病[1](Pneumoconiosis),又稱黑肺癥(Black Lung)是一種肺部纖維化疾病。當(dāng)長期吸入含有游離的二氧化硅粉塵后,粉塵進(jìn)入肺部,不能及時(shí)被清除,被肺內(nèi)的巨噬細(xì)胞所吞噬,但二氧化硅不能被巨噬細(xì)胞所自行分解,導(dǎo)致巨噬細(xì)胞死亡,釋放所吞噬的粉塵,然后惡性循環(huán),造成更多細(xì)胞受損。作為一種不可逆的疾病,現(xiàn)階段臨床上所有的治療都是在基于緩解癥狀,減輕患者痛苦的基礎(chǔ)上進(jìn)行的對癥治療。一共有五大治療方法,其中最有效、也是最大限度地減輕患者呼吸困難的治療方法就是肺灌洗。其他四種維持治療,包括肺纖維化的治療、合并癥治療、基因治療、肺移植。其中,基因治療是導(dǎo)入靶細(xì)胞,并在一定時(shí)期抑制纖維細(xì)胞因子產(chǎn)生,相關(guān)的實(shí)驗(yàn)研究還在進(jìn)行中;肺移植所需成本極為高昂,器官供體有限,排異可能性大,是挽救晚期病人生命的最后手段。然而,塵肺病患者多是由于經(jīng)濟(jì)窘迫才不得不在粉塵環(huán)境中從事生產(chǎn)活動(dòng),因此通過肺移植治療塵肺病存在悖論,實(shí)際上缺乏可行性。對于確診患者來說,最根本的治療還是立即遠(yuǎn)離高粉塵的工作環(huán)境和空氣污染嚴(yán)重的生活環(huán)境。

為了避免塵肺病的危害,本文裝置設(shè)計(jì)主要從病因出發(fā),減少工人與粉塵的接觸機(jī)會(huì),所以設(shè)計(jì)了一種Dijkstra 算法[2]的防塵肺病智能機(jī)器人,使用SolidWorks 進(jìn)行裝置三維建模,使用Arduino作為控制芯片設(shè)計(jì)了控制系統(tǒng)整體電路,并搭建控制系統(tǒng)硬件平臺,開發(fā)上位機(jī)控制系統(tǒng)軟件,同時(shí)使用增量誤差算法和Dijkstra 算法來優(yōu)化系統(tǒng)的運(yùn)行。最后驗(yàn)證了裝置在減少家裝過程中粉塵的可行性,對有效降低塵肺病患者增長率提供了具有價(jià)值的思路與方法。

1 整體結(jié)構(gòu)設(shè)計(jì)

本文設(shè)計(jì)防塵肺病智能機(jī)器人三維建模如圖1所示,可實(shí)現(xiàn)代替工人工作的基本功能需求,完成粉刷、涂抹的功能,且結(jié)構(gòu)應(yīng)具有很好的穩(wěn)定性。

圖1 防塵肺病智能機(jī)器人三維建模

本文設(shè)計(jì)的防塵肺病智能機(jī)器人如圖1所示,主要包括移動(dòng)機(jī)構(gòu)、垂直運(yùn)動(dòng)機(jī)構(gòu)和水平移動(dòng)機(jī)構(gòu)三大部分。移動(dòng)機(jī)構(gòu)是由行星直流減速電機(jī)驅(qū)動(dòng)后輪運(yùn)動(dòng),采用雙輪差速的原理可控制機(jī)器人的前進(jìn)、后退、轉(zhuǎn)向、速度等,同時(shí)移動(dòng)機(jī)構(gòu)由鋁型材組成立方體,構(gòu)成機(jī)器人整個(gè)底部,內(nèi)部空間可存放電路控制器以及粉刷工具等,具有很好的適用性。機(jī)器人的作業(yè)裝置使用電機(jī)帶動(dòng)的刷子來執(zhí)行墻面的清理,刷子通過皮帶固定在平臺的上側(cè),通過皮帶與皮帶輪的嚙合來控制刷子的水平和垂直方向運(yùn)動(dòng),同時(shí)避免工作時(shí)的抖動(dòng)現(xiàn)象。為了吸收機(jī)器作業(yè)時(shí)造成的粉塵,使用圖中所示的抽氣泵來實(shí)現(xiàn)刷子附近的負(fù)壓環(huán)境,從而實(shí)現(xiàn)粉塵的自動(dòng)吸入。

2 整體系統(tǒng)設(shè)計(jì)

本文設(shè)計(jì)的基于Dijkstra 算法的防塵肺病智能機(jī)器人系統(tǒng)如圖2所示,圖中主要包括上位機(jī)軟件、下位機(jī)軟件和下位機(jī)算法部分。Arduino UNO的片上開發(fā)部分使用C 語言,開發(fā)數(shù)據(jù)采集,數(shù)據(jù)處理,數(shù)據(jù)封包及控制HC-5藍(lán)牙模塊的數(shù)據(jù)傳輸部分。Arduino UNO 首先接受上位機(jī)發(fā)送的數(shù)據(jù),然后使用增量無法算法和Dijkstra 算法進(jìn)行數(shù)據(jù)的處理。得到移動(dòng)數(shù)據(jù),控制器對數(shù)據(jù)進(jìn)行數(shù)據(jù)的封裝,從而實(shí)現(xiàn)實(shí)時(shí)的驅(qū)動(dòng)平臺電機(jī)和作業(yè)刷電機(jī)的運(yùn)動(dòng)。數(shù)據(jù)接收端會(huì)實(shí)時(shí)的檢測接受到的數(shù)據(jù),同時(shí)實(shí)時(shí)的發(fā)送給系統(tǒng),系統(tǒng)如果接受到數(shù)據(jù)會(huì)執(zhí)行相應(yīng)的動(dòng)作。

圖2 防塵肺病智能機(jī)器人系統(tǒng)圖

3 系統(tǒng)硬件設(shè)計(jì)

3.1 Arduino UNO 單片機(jī)

Arduino UNO 是一款可高度可diy 的AVR 單片機(jī)系列。處理器核心是ATmega328,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM 輸出),6路模擬輸入,一個(gè)16MHz 晶體振蕩器,一個(gè)USB 口,一個(gè)電源插座,一個(gè)ICSP header 和一個(gè)復(fù)位按鈕。Arduino UNO 的優(yōu)點(diǎn)在于其小巧而高效,符合多點(diǎn)監(jiān)控系統(tǒng)所要求的,小、精、準(zhǔn)的要求。同時(shí),Arduino 的開發(fā)環(huán)境也較為友好,同時(shí)由于該硬件開源的特性,適配的傳感器和執(zhí)行機(jī)構(gòu)非常豐富,擴(kuò)展性極強(qiáng),便于多種不同類型的傳感器和執(zhí)行機(jī)構(gòu)有機(jī)結(jié)合,在單片機(jī)內(nèi)屬于較合適的選型[3]。

3.2 藍(lán)牙模塊

藍(lán)牙模塊連接在Arduino UNO 開發(fā)板上,作為速度,方向等數(shù)據(jù)等傳輸?shù)绞謾C(jī)等設(shè)備的橋梁,實(shí)現(xiàn)了手機(jī)App 與下位機(jī)處理器的數(shù)據(jù)通信[4],當(dāng)主從模式兩個(gè)藍(lán)牙模塊配對成功后,可以簡單地更改為無線的藍(lán)牙。

3.3 移動(dòng)模塊

防塵肺病智能機(jī)器人的移動(dòng)模塊的實(shí)現(xiàn)是采用雙輪差速驅(qū)動(dòng)[5],具體為類汽車四輪模型,兩后輪差速驅(qū)動(dòng)。驅(qū)動(dòng)電機(jī)為100W 行星減速電機(jī),通過24V 雙通道直流有刷電機(jī)驅(qū)動(dòng)器與Arduino 單片機(jī)相連,直流電機(jī)驅(qū)動(dòng)器引腳圖如圖3所示,圖中右側(cè)引腳為驅(qū)動(dòng)器功率接口,M1與M2的A、B 口分別對應(yīng)行星減速電機(jī)的引腳線,P+與P-口對應(yīng)兩個(gè)電機(jī)的電源正負(fù)極輸入,外接24V 電源。左側(cè)1、6口為VCC,2、7口為PWM 占空比調(diào)速,3、4、8、9為控制邏輯高低電平信號口,5、x 口為隔離電源GND。

圖3 行星減速電機(jī)驅(qū)動(dòng)器引腳圖

3.4 工作執(zhí)行模塊

防塵肺病智能機(jī)器人的工作執(zhí)行模塊動(dòng)力輸出部分為步進(jìn)電機(jī)提供,當(dāng)工作時(shí),步進(jìn)電機(jī)可控制機(jī)器人的垂直、水平運(yùn)動(dòng)機(jī)構(gòu)進(jìn)行相應(yīng)的運(yùn)動(dòng),實(shí)現(xiàn)防塵肺病智能機(jī)器人工作刷子的水平和垂直兩自由度工作,可設(shè)置不同的工作路徑模式。裝置的執(zhí)行模塊控制端主要是步進(jìn)電機(jī)控制作用的體現(xiàn),下面詳細(xì)介紹步進(jìn)電機(jī)。

圖4 步進(jìn)電機(jī)驅(qū)動(dòng)器實(shí)物圖

步進(jìn)電機(jī)是一種感應(yīng)電機(jī),將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件[6]。步進(jìn)電機(jī)需要搭配配套的步進(jìn)電機(jī)驅(qū)動(dòng)器才能使用,如圖4所示為步進(jìn)電機(jī)驅(qū)動(dòng)器實(shí)物圖,是由PWM 脈沖波來控制轉(zhuǎn)速,一般情況下步距角為1.8°,通過驅(qū)動(dòng)器的SW5、SW6、SW7、SW8來進(jìn)行細(xì)分進(jìn)一步調(diào)節(jié)電機(jī)轉(zhuǎn)速,已達(dá)到精確的運(yùn)轉(zhuǎn)速度。驅(qū)動(dòng)器的SW1、SW2、SW3、SW4是用來調(diào)節(jié)步進(jìn)電機(jī)的電流,由于電壓時(shí)一定的,通過調(diào)節(jié)電流可實(shí)現(xiàn)電機(jī)轉(zhuǎn)矩力的大小。驅(qū)動(dòng)器的PUL、DIR、EN 分別對應(yīng)著控制電機(jī)的脈沖、轉(zhuǎn)動(dòng)方向和使能,通過編程代碼可控制電機(jī)的運(yùn)動(dòng)。VCC 和GND 為連接對應(yīng)的24V 電壓。A-、A+和B-、B+分別對應(yīng)步進(jìn)電機(jī)的連線,從而控制步進(jìn)電機(jī)滿足設(shè)計(jì)要求的運(yùn)動(dòng)。

4 系統(tǒng)軟件設(shè)計(jì)

圖5 智能防塵肺病機(jī)器人軟件設(shè)計(jì)流程圖

智能防塵肺病機(jī)器人軟件設(shè)計(jì)流程如圖5所示,圖中詳細(xì)的描述了系統(tǒng)的工作流程,軟件設(shè)計(jì)包含上位機(jī)軟件、下位機(jī)控制程序和算法的編寫。上位機(jī)軟件檢測用戶的輸入,并通過藍(lán)牙把數(shù)據(jù)傳給下位機(jī),下位機(jī)對數(shù)據(jù)進(jìn)行解析,得到需要工作的模式。數(shù)據(jù)接收端使用Arduino UNO 對數(shù)據(jù)進(jìn)行讀取,然后使用相依的算法進(jìn)行計(jì)算。

4.1 上位機(jī)軟件開發(fā)

上位機(jī)手機(jī)App 操作界面如圖6所示,界面邏輯設(shè)計(jì),一款好的APP 應(yīng)該有良好的界面設(shè)計(jì),兼顧重要參數(shù)的顯示,和方便的手動(dòng)操作控制。在App 軟件程序中,主要完成運(yùn)動(dòng)速度和運(yùn)動(dòng)狀態(tài)數(shù)據(jù)的接收和顯示以及提供了一個(gè)手動(dòng)操作的界面,用于使用者完成手動(dòng)操作的要求。上位機(jī)軟件基于安卓系統(tǒng)開發(fā)[7],用戶打開軟件App,首先App 進(jìn)行初始化,之后藍(lán)牙連接,在藍(lán)牙連接成功后,可通過手機(jī)App 遠(yuǎn)程操作控制機(jī)器人,有效避免工人與粉塵的接觸。

圖6 手機(jī)App操作界面圖

4.2 Dijkstra 最短路徑算法

Dijkstra 算法主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止,找到一條從出發(fā)點(diǎn)到終點(diǎn)的最短路徑是一種廣度優(yōu)先的搜索方法。Dijkstra 算法原理:假設(shè)從S →E 存在一條最短路徑SE,且該路徑經(jīng)過點(diǎn)A,那么可以確定SA 子路徑一定是S →A 的最短路徑。證明:反證法。如果子路徑SA 不是最短的,那么就必然存在一條更短的SA,從而SE 路徑也就不是最短,與原假設(shè)矛盾。

如果我們規(guī)定G 為算法所應(yīng)用的圖,s 是源點(diǎn),l(u,v)是從點(diǎn)u 到v 的邊的長度,V 是圖中所有的點(diǎn)的集合,那么Dijkstra 算法的過程則如圖7所示:

圖7 Dijkstra算法偽代碼示意圖

將算法找到的距離記為d(v),從s 到v 的實(shí)際最短距離記為δ(v),若想要證明算法找到的確實(shí)是最短路徑,證明對任意 v ∈V,在當(dāng)前輪遞推結(jié)束時(shí)都有。這等同于證明d(v)=δ(v)。運(yùn)用數(shù)學(xué)歸納法,在假設(shè)當(dāng)上一輪結(jié)束時(shí)如有d(v)=δ(v),則本輪結(jié)束時(shí)d(v)=δ(v)同樣成立。

算法程序?qū)崿F(xiàn)步驟如下:

step1:首先建立兩個(gè)集合S={}:表示已經(jīng)找到最短路徑的結(jié)點(diǎn);U={}:表示尚未找到最短路徑的結(jié)點(diǎn)。

step2:建立一個(gè)數(shù)組dist[i],用于存放起點(diǎn)0到該結(jié)點(diǎn)i 的最短路徑

step3:具體執(zhí)行部分:

A:初始點(diǎn)設(shè)定

B:選取最小dist[i]

C:更新dist[i]

算法程序?qū)崿F(xiàn)如圖8所示:

圖8 Dijkstra最短路徑算法代碼

5 系統(tǒng)測試和結(jié)果分析

5.1 功能測試

圖9防塵肺病實(shí)物效果圖

系統(tǒng)的測試主要包括平臺運(yùn)轉(zhuǎn)的穩(wěn)定性和可靠性測試以及數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性[8]。在測試中首先通過上位機(jī)控制平臺進(jìn)行移動(dòng)作業(yè),同時(shí)控制作業(yè)刷進(jìn)行墻面的清理。然后通過粉塵測試儀來測試環(huán)境中的粉塵數(shù)量。通過每個(gè)環(huán)節(jié)的檢測來評估系統(tǒng)的作業(yè)效果和對粉塵的吸收情況,經(jīng)過約100次的測試,系統(tǒng)有可靠的性能,平臺運(yùn)行穩(wěn)定,吸收灰塵效果較好。

5.2 測試結(jié)果分析

實(shí)際試驗(yàn)結(jié)果表明:

1)下位機(jī)可以準(zhǔn)確的接受上位機(jī)傳輸?shù)臄?shù)據(jù),并進(jìn)行定向移動(dòng)。

2)在路徑的規(guī)劃過程中,可以通過Dijkstra算法實(shí)現(xiàn)最短路徑的計(jì)算。

3)系統(tǒng)有可靠的捕捉性能和傳輸性能,但是需要指出的是,系統(tǒng)在針對房頂?shù)淖鳂I(yè)面積時(shí)存在一定的問題,后期可以通過控制作業(yè)刷轉(zhuǎn)向來解決。

4)系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡單,原理清晰。呈現(xiàn)小型化,智能化,有利于產(chǎn)業(yè)化。

6 總結(jié)與展望

本文設(shè)計(jì)了基于Dijkstra 算法的防塵肺病智能機(jī)器人系統(tǒng),主要完成了以下工作:

1)通過分析當(dāng)前塵肺病的起因和危害,提出相應(yīng)的解決方案,對防塵肺病機(jī)器人進(jìn)行了機(jī)械結(jié)構(gòu)設(shè)計(jì)、繪制三維模型,通過合理的使用皮帶結(jié)構(gòu)實(shí)現(xiàn)平臺的移動(dòng)和作業(yè)刷的靈活移動(dòng)。

2)使用Arduino UNO 作為控制中樞,搭建了控制系統(tǒng),研制了試驗(yàn)樣機(jī)以及開發(fā)了手機(jī)App。

3)對防塵肺病機(jī)器人進(jìn)行了功能測試和分析,基本滿足設(shè)計(jì)要求。

未來將對防塵肺病智能機(jī)器人的實(shí)物裝置進(jìn)行優(yōu)化升級,在現(xiàn)有的控制基礎(chǔ)增加裝置的自主移動(dòng)功能,可減輕工作人員攜帶的困難。

猜你喜歡
塵肺病驅(qū)動(dòng)器上位
國家塵肺病診療中心組建
一例塵肺病患者的呼吸康復(fù)治療體會(huì)
痛瀉要方加味湯治療塵肺病驗(yàn)案2則
藏起驅(qū)動(dòng)器號確保數(shù)據(jù)安全
電腦愛好者(2020年6期)2020-05-26 09:27:33
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
壓電陶瓷驅(qū)動(dòng)器的遲滯特性
以新思路促推現(xiàn)代農(nóng)業(yè)上位
SiC基和Si基永磁同步電動(dòng)機(jī)驅(qū)動(dòng)器的比較
电白县| 淳安县| 嘉善县| 红河县| 金乡县| 高州市| 桓仁| 修文县| 河池市| 漾濞| 溆浦县| 彰化县| 二连浩特市| 铅山县| 中宁县| 靖宇县| 浠水县| 龙岩市| 准格尔旗| 上犹县| 平果县| 云南省| 镇坪县| 宁陵县| 鸡东县| 顺平县| 禄劝| 微山县| 南开区| 喜德县| 龙江县| 桂林市| 崇礼县| 嵊州市| 百色市| 海丰县| 琼结县| 夏河县| 尚义县| 铁力市| 保定市|