趙宏偉 徐葉軍
摘要:設(shè)計(jì)一種集自主定位導(dǎo)航技術(shù)、數(shù)據(jù)傳輸技術(shù)、智能控制技術(shù)、視頻傳輸技術(shù)等多種技術(shù)為一體的巡邏機(jī)器人。以STM32F407為核心,利用智能控制技術(shù)和ROS開(kāi)發(fā)框架成功地構(gòu)建了一個(gè)自主定位導(dǎo)航行走的巡邏機(jī)器人。本文主要介紹了智能安保巡邏機(jī)器人的軟硬件設(shè)計(jì)和工作原理。
關(guān)鍵字:巡邏機(jī)器人;自主定位導(dǎo)航;智能控制
中圖分類(lèi)號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)21-0198-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 前言
20世紀(jì)60 年代,美國(guó)和蘇聯(lián)開(kāi)始了移動(dòng)機(jī)器人研發(fā)工作,并在不斷的實(shí)踐和應(yīng)用中取得了長(zhǎng)足的進(jìn)步。隨著科技的不斷進(jìn)步與發(fā)展,一系列可以大幅度提高機(jī)器人性能的設(shè)備和元件不斷被開(kāi)發(fā)出來(lái)并應(yīng)用到機(jī)器人技術(shù)上,機(jī)器人技術(shù)已經(jīng)日趨完善和成熟。目前國(guó)內(nèi)外的機(jī)器人主要采用高端器件作為主控器,如ARM、DSP、FPGA等,開(kāi)發(fā)難度和成本相對(duì)比較高。有鑒于此本文介紹以stm32f407為核心芯片開(kāi)發(fā)的智能巡邏機(jī)器人,該機(jī)器人具有自主導(dǎo)航行動(dòng)能力,通過(guò)所搭載的無(wú)線網(wǎng)絡(luò)攝像頭對(duì)樓宇內(nèi)部進(jìn)行實(shí)時(shí)監(jiān)控,提高安保效率,減少安全風(fēng)險(xiǎn)。
2 樓宇巡邏機(jī)器人系統(tǒng)需求分析
2.1 巡邏機(jī)器人控制系統(tǒng)硬件需求
巡邏機(jī)器人硬件搭建的重要模塊有中央控制系統(tǒng)模塊、驅(qū)動(dòng)控制模塊、信息收集處理模塊、電源模塊 、信號(hào)傳輸模塊。
中央控制系統(tǒng)模塊主要是設(shè)計(jì)一塊巡邏機(jī)器人的單片機(jī)芯片,使得機(jī)器人的各個(gè)功能可以得到有效的執(zhí)行,同時(shí)也應(yīng)當(dāng)具有高效,穩(wěn)定,耐干擾,實(shí)用性強(qiáng)等特點(diǎn)。
驅(qū)動(dòng)控制模塊主要是控制巡邏機(jī)器人移動(dòng),包括進(jìn)退,停止,轉(zhuǎn)向等,而這些功能的實(shí)現(xiàn)需要用到控制器 、電機(jī)、里程計(jì)等設(shè)備。
信息收集處理模塊主要是將采集到的圖像信息發(fā)送回主機(jī),主機(jī)完成數(shù)據(jù)處理后將命令反饋給巡邏機(jī)器人,機(jī)器人接收到相應(yīng)命令后開(kāi)始執(zhí)行動(dòng)作。
電源模塊是提供動(dòng)力的元器件,主要包括電池、保護(hù)電路組成,為機(jī)器人的行動(dòng)提供可靠和穩(wěn)定的能量輸入。
2.2 巡邏機(jī)器人控制系統(tǒng)軟件設(shè)計(jì)需求
軟件設(shè)計(jì)分為控制系統(tǒng)程序設(shè)計(jì)、移動(dòng)控制程序設(shè)計(jì)、數(shù)據(jù)通信程序設(shè)計(jì)。
巡邏機(jī)器人控制系統(tǒng)程序主要處理由主機(jī)發(fā)送的指令信號(hào),根據(jù)不同的優(yōu)先級(jí)策略發(fā)起對(duì)應(yīng)指令。
移動(dòng)控制程序是指驅(qū)動(dòng)控制模塊接收到主控機(jī)的指令后,根據(jù)雷達(dá)掃描反饋并處理的信息完成機(jī)器人導(dǎo)航和運(yùn)動(dòng)。
數(shù)據(jù)通信程序主要用于實(shí)現(xiàn)將圖像和雷達(dá)數(shù)據(jù)發(fā)送到控制主機(jī),同時(shí)將主機(jī)的命令反饋至相關(guān)驅(qū)動(dòng)控制器控制機(jī)器人行動(dòng)和決策。
3 硬件電路設(shè)計(jì)
3.1 巡邏機(jī)器人控制系統(tǒng)硬件總體設(shè)計(jì)方案
巡邏機(jī)器人控制系統(tǒng)通過(guò)主機(jī)控制系統(tǒng)與主體控制系統(tǒng)之間的數(shù)據(jù)通信,完成機(jī)器人的行動(dòng),數(shù)據(jù)采集分析和數(shù)據(jù)傳輸功能。
3.2? 巡邏機(jī)器人主體控制系統(tǒng)設(shè)計(jì)
主體控制系統(tǒng)由上位機(jī)和下位機(jī)組成,通過(guò)總線的形式進(jìn)行連接。上位機(jī)通過(guò)數(shù)據(jù)通訊模塊與主機(jī)進(jìn)行數(shù)據(jù)交換,同時(shí)在接收到主機(jī)反饋的命令后對(duì)下位機(jī)進(jìn)行轉(zhuǎn)發(fā),并在下位機(jī)的命令完成執(zhí)行后,將執(zhí)行結(jié)果提交給控制主機(jī),等待主機(jī)的下一個(gè)命令。這種結(jié)構(gòu)能夠充分發(fā)揮出單片機(jī)的高效性和穩(wěn)定性的特點(diǎn),整體提高機(jī)器人的工作效率。
控制系統(tǒng)的總體設(shè)計(jì)方案如圖1所示。
系統(tǒng)采用模塊化設(shè)計(jì),主要分為核心控制板模塊、電源模塊、電機(jī)驅(qū)動(dòng)模塊。
3.2.1 控制電路
控制電路采用STM32F407系列單片機(jī),與控制器通信及系統(tǒng)擴(kuò)展可選用UART、I2C、SPI、I/O、CAN、RS485等接口,STM32F407單片機(jī)的不同的定時(shí)器分別輸出占空比可調(diào)和頻率可調(diào)的PWM信號(hào),用來(lái)控制LED驅(qū)動(dòng)器、直流電機(jī)驅(qū)動(dòng)器和交流電機(jī)驅(qū)動(dòng)器。
3.2.2 電源電路
電源電路使用鋰電池充電電路。鋰電池充電電路中選用TI的BQ24617作為電池充電器。BQ24617最高輸入電壓為26V,最大充電電流可達(dá)10A,最多可以給5節(jié)串聯(lián)的鋰電池充電,而且可以對(duì)電池進(jìn)行多種保護(hù)。
3.2.3 電機(jī)驅(qū)動(dòng)模塊
步進(jìn)電機(jī)驅(qū)動(dòng)器采用TI的DRV8880,DRV8880采用單路PWM控制,輸入電壓范圍是6.5V-45V,輸出電流可達(dá)2A,而且可以根據(jù)電機(jī)驅(qū)動(dòng)電流的大小來(lái)選擇控制DRV8880的輸出電流。電機(jī)驅(qū)動(dòng)回路出現(xiàn)故障時(shí),DRV8880可以把故障信號(hào)傳輸給控制電路用來(lái)保護(hù)整個(gè)回路。
3.4 無(wú)線網(wǎng)絡(luò)攝像機(jī)組件
無(wú)線網(wǎng)絡(luò)攝像機(jī)由鏡頭、圖像傳感器、A/D 轉(zhuǎn)換器控制主板等設(shè)備組成,通過(guò)把物體反射的光用攝像機(jī)鏡頭進(jìn)行收集,再通過(guò)信號(hào)轉(zhuǎn)換設(shè)備將其轉(zhuǎn)化為視頻信號(hào),經(jīng)過(guò)信號(hào)放大處理,最后通過(guò)網(wǎng)絡(luò)傳輸?shù)娇蛻舳?。用戶只需在客戶端設(shè)置完成對(duì)應(yīng)的IP地址,即可接收到實(shí)時(shí)視頻數(shù)據(jù)流,完成對(duì)現(xiàn)場(chǎng)環(huán)境的實(shí)時(shí)監(jiān)控。同時(shí)系統(tǒng)主機(jī)也會(huì)通過(guò)軟件將視頻文件以一定格式進(jìn)行存儲(chǔ),方便用戶后期進(jìn)行調(diào)用。
4 軟件設(shè)計(jì)
4.1 系統(tǒng)軟件
軟件部分是控制巡邏機(jī)器人的核心,軟件部分的主要工作是根據(jù)需要實(shí)現(xiàn)的功能劃分軟件模塊并確定單片機(jī)資源的分配。ROS是一個(gè)開(kāi)源的機(jī)器人操作系統(tǒng)。它可以提供硬件抽象、底層設(shè)備控制、常用功能實(shí)現(xiàn)、進(jìn)程間消息以及數(shù)據(jù)包管理。ROS的獨(dú)特之處還在于能夠支持C++、Python、Octave和LISP等多種語(yǔ)言,這可以簡(jiǎn)化開(kāi)發(fā)者的工作。ROS不是一個(gè)傳統(tǒng)意義上的操作系統(tǒng),而是一個(gè)構(gòu)建在異構(gòu)計(jì)算機(jī)集群和其操作系統(tǒng)之上的一層通訊層和軟件開(kāi)發(fā)框架。
4.2 應(yīng)用軟件所實(shí)現(xiàn)的目標(biāo)
1.實(shí)現(xiàn)上下位機(jī)通訊,取得車(chē)輪反饋信號(hào),里程計(jì)正常;
2.取得雷達(dá)信息,成功創(chuàng)建地圖;
3.實(shí)現(xiàn)路徑規(guī)劃和機(jī)器人自主行走。
系統(tǒng)的整體流程如下:
⑴上位機(jī)發(fā)送命令給單片機(jī)。
⑵單片機(jī)接收到命令后驅(qū)動(dòng)直流電機(jī)。
⑶直流電機(jī)驅(qū)動(dòng)器接收到信號(hào),驅(qū)動(dòng)電機(jī),并反饋給單片機(jī)。單片機(jī)將反饋的信號(hào)傳給上位機(jī)進(jìn)行處理,使其知道機(jī)器人的位置,走了多遠(yuǎn),方向是多少,從而實(shí)現(xiàn)自主導(dǎo)航的功能。
4.3 世界坐標(biāo)到機(jī)器人坐標(biāo)的變換以及到3個(gè)輪子的變換程序片段
通過(guò)車(chē)輪的計(jì)數(shù)器計(jì)算出車(chē)輪轉(zhuǎn)數(shù)并反饋給單片機(jī),得出機(jī)器人實(shí)際走出的距離,從而算出機(jī)器人的坐標(biāo)在實(shí)際世界中的位置,這樣機(jī)器人就知道自己在哪里,走出了多遠(yuǎn),到達(dá)目標(biāo)地點(diǎn)該走多少距離。
部分代碼如下:
5 研制結(jié)果
本系統(tǒng)實(shí)現(xiàn)了機(jī)器人從創(chuàng)建地圖到自主行走巡邏的一系列功能,以黑盒測(cè)試法對(duì)軟件進(jìn)行測(cè)試,得出所研制的機(jī)器人樣機(jī)的基本性能指標(biāo)為:定位誤差在正負(fù)五厘米;定位姿勢(shì)誤差在正負(fù)十度;在機(jī)器人前放置障礙物能提前避障等功能,較好地實(shí)現(xiàn)了自主行走,定位避障和信息收集等功能。本文針對(duì)樓宇內(nèi)部環(huán)境的特點(diǎn),所研究設(shè)計(jì)的試驗(yàn)?zāi)P蛷膶?shí)際測(cè)試和應(yīng)用中驗(yàn)證了自動(dòng)化和智能化的巡邏機(jī)器人確實(shí)能夠大幅提高了樓宇內(nèi)部安保效率,同時(shí)為巡邏機(jī)器人的不斷深入研究提供了一定的參考和基礎(chǔ)。
參考文獻(xiàn):
[1] R.西格沃特.自主移動(dòng)機(jī)器人導(dǎo)論[M].西安:西安交通大學(xué)出版社,2006.
[2] 蔡自興.機(jī)器人學(xué)基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2009.
[3] 陳金寶,等.ROS 開(kāi)源機(jī)器人控制基礎(chǔ)[M].上海:上海交通大學(xué)出版社,2016.
[4] Thrum S.Learning metric-topological maps for indoor mobile robot navigation[J].Artificial Intelligence,1998,99⑴:21-71
[5] 阿尼爾·馬哈塔尼.ROS機(jī)器人高效編程[M].北京:機(jī)械工業(yè)出版社,2017.
【通聯(lián)編輯:光文玲】