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