趙宏偉 徐葉軍

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