開源分享 | 基于機(jī)器視覺的移動(dòng)消防機(jī)器人(二)
本文素材來源于北方民族大學(xué) 機(jī)電工程學(xué)院
作者:牟義達(dá)、黃瑞翔、李濤
指導(dǎo)老師:田國禾、張春濤
一、軟件設(shè)計(jì)
1. 總系統(tǒng)軟件流程圖
? ? ? ?為了實(shí)現(xiàn)消防功能,對軟件進(jìn)行系統(tǒng)設(shè)計(jì)。根據(jù)機(jī)器人要實(shí)現(xiàn)的功能進(jìn)行逐一設(shè)計(jì),設(shè)計(jì)完之后再將其整合到一起,整合之后的就是總的設(shè)計(jì),下面就是總設(shè)計(jì)的流程圖??偭鞒虉D如下:

? ? ? ?小車的整個(gè)功能流程如上圖所示。小車先前行一段距離,之后停下來檢測火源,若檢測到火源,則記下火源的位置,然后命令滅火裝置抵達(dá)火源處進(jìn)行消防作業(yè)。火滅之后小車再度前行,之后再循環(huán)前面操作。
2. 各個(gè)功能的流程圖
(1)機(jī)器人自主行走的流程

? ? ? ?自主行走功能的實(shí)現(xiàn)主要是驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng),電機(jī)附于控制板。當(dāng)控制板控制電機(jī)的兩個(gè)引腳電壓不同且電壓差達(dá)到電機(jī)的工作電壓時(shí),電機(jī)就朝一個(gè)方向轉(zhuǎn)動(dòng),從而達(dá)到驅(qū)動(dòng)機(jī)器人小車的目的??刂瓶刂瓢鍖?yīng)電機(jī)的引腳電壓的流程圖如上,即開始時(shí)讓引腳有個(gè)電壓差,0.5秒后讓引腳電壓持平(電機(jī)停止轉(zhuǎn)動(dòng)),這時(shí)看檢測模塊的狀態(tài),若火已被檢測到,則引腳電壓繼續(xù)持平,若火已滅則引腳會(huì)有電壓差。
(2)檢測功能的流程
檢測的流程為:舵機(jī)1先定于水平位置,驅(qū)動(dòng)輪驅(qū)動(dòng)小車前行,小車停下時(shí)舵機(jī)1、2開始范圍內(nèi)擺動(dòng)。因?yàn)閭鞲衅靼惭b于舵機(jī)1、2控制的桿上,所以當(dāng)舵機(jī)1、2范圍內(nèi)擺動(dòng)時(shí)傳感器可以在該范圍內(nèi)進(jìn)行火源檢測。若在該范圍內(nèi)檢測到火時(shí),則舵機(jī)1、2擺動(dòng)完成之后會(huì)定位到火源的位置,此時(shí)滅火裝置開啟;滅火裝置工作一段時(shí)間后再進(jìn)行檢測,若還能檢測到火源,則舵機(jī)1、2還是保持原位并開啟滅火裝置提供的滅火功能。若未檢測到火源,則舵機(jī)循環(huán)開始的行程。


(3)滅火功能流程

? ? ? ?消防機(jī)器人小車的滅火流程不是很復(fù)雜,滅火裝置就是由小馬達(dá)和風(fēng)扇葉組合而成的,當(dāng)馬達(dá)轉(zhuǎn)動(dòng)時(shí)風(fēng)扇開啟,所以只需控制馬達(dá)的轉(zhuǎn)動(dòng)就能控制滅火裝置的滅火功能。當(dāng)檢測到火時(shí)控制馬達(dá)轉(zhuǎn)動(dòng),當(dāng)檢測不到火時(shí)控制馬達(dá)停止,這也就能達(dá)到控制滅火功能的要求。
二、實(shí)驗(yàn)驗(yàn)證
1. 自主行走功能驗(yàn)證
實(shí)驗(yàn)?zāi)康?/strong>:讓機(jī)器人小車行駛500ms后停500ms,循環(huán)重復(fù)。
實(shí)驗(yàn)器材:計(jì)算機(jī)、消防機(jī)器人小車。
實(shí)驗(yàn)步驟:設(shè)計(jì)自主行走功能檢驗(yàn)程序;將雙軸驅(qū)動(dòng)直流電機(jī)連接于控制板上9、10引腳上;編譯、燒錄控制程序;鋰電池插再控制板上給其供電;打開控制板電源開關(guān);觀察小車驅(qū)動(dòng)輪的狀態(tài)。
實(shí)驗(yàn)結(jié)果:小車驅(qū)動(dòng)輪在控制板電源開啟時(shí)轉(zhuǎn)動(dòng),轉(zhuǎn)動(dòng)500ms后停下,之后往復(fù)循環(huán)。
實(shí)驗(yàn)結(jié)論:小車能按照指定功能執(zhí)行操作,具備自主行走能力。


2. 火源檢測功能驗(yàn)證
實(shí)驗(yàn)?zāi)康?/strong>:讓機(jī)器人小車檢測火源并使機(jī)器人滅火裝置定位至火源處。
實(shí)驗(yàn)器材:計(jì)算機(jī)、消防機(jī)器人小車、打火機(jī)、蠟燭一根。
實(shí)驗(yàn)步驟:設(shè)計(jì)火源檢測功能檢驗(yàn)程序;將舵機(jī)1、2分別連接于控制板的3、8引腳上;編譯、燒錄驗(yàn)證程序;控制板連接鋰電池;在光照度不強(qiáng)的場地點(diǎn)燃蠟燭并將蠟燭固定擺放;將消防機(jī)器人小車與距蠟燭保持合適距離(因光照強(qiáng)度的不同傳感器的有效觸發(fā)距離不同),可以不斷改變蠟燭的擺放位置;打開控制板開關(guān);觀察小車檢測裝置的運(yùn)行狀態(tài)。
實(shí)驗(yàn)結(jié)論:小車的檢測裝置在一定范圍內(nèi)檢測,范圍內(nèi)檢測完成之后若中途檢測到火源則會(huì)定位到火源處。消防機(jī)器人小車具備檢測火源的功能。


3. 滅火功能驗(yàn)證
實(shí)驗(yàn)?zāi)康?/strong>:使滅火裝置對準(zhǔn)火源,開啟滅火裝置,檢驗(yàn)是否能完成滅火工作。
實(shí)驗(yàn)器材:計(jì)算機(jī)、消防機(jī)器人小車、蠟燭一根、打火機(jī)。
實(shí)驗(yàn)步驟:設(shè)計(jì)滅火功能檢驗(yàn)程序;將滅火裝置連接于控制板上;編譯、燒錄檢驗(yàn)程序;連接鋰電池于控制板上;點(diǎn)燃蠟燭并固定擺放;使滅火裝置對準(zhǔn)火源并保持合適距離;打開控制板電源;觀察蠟燭是否被吹滅。
實(shí)驗(yàn)結(jié)論:滅火裝置開啟時(shí)蠟燭很快被吹滅,消防小車滅火裝置具備滅火功能。

4. 消防機(jī)器人小車功能整體驗(yàn)證
實(shí)驗(yàn)?zāi)康模?/strong>檢測消防小車能否按照所設(shè)計(jì)的消防程序進(jìn)行消防作業(yè)。
實(shí)驗(yàn)器材:計(jì)算機(jī)、消防機(jī)器人小車、蠟燭一根、打火機(jī)一個(gè)。
實(shí)驗(yàn)步驟:將設(shè)計(jì)好的總程序編譯、燒錄至控制板;將驅(qū)動(dòng)直流電機(jī)、兩個(gè)舵機(jī)、滅火裝置分別接線于控制板;點(diǎn)燃蠟燭并固定擺放于合適位置;將消防機(jī)器人小車放置距離蠟燭1m處,開啟控制板電源;觀察消防機(jī)器人的運(yùn)行狀態(tài)。
實(shí)驗(yàn)結(jié)論:消防機(jī)器人小車能完成消防作業(yè),程序設(shè)計(jì)合理。
三、程序代碼
1.消防機(jī)器人控制程序
2. 小車自主行走功能驗(yàn)證程序代碼
3. 滅火功能驗(yàn)證程序代碼
基于機(jī)器視覺的移動(dòng)消防機(jī)器人的完整內(nèi)容詳見?https://www.robotway.com/h-col-165.html
-------------------------------------------------------完結(jié)---------------------------------------------------