韓雪, 李有為, 張忠, 張朋
(1. 南京工業(yè)大學(xué) 浦江學(xué)院 機(jī)電工程學(xué)院,南京210000;2. 江蘇迪倫智能科技有限公司,南京210000)
傳統(tǒng)變電站電力巡檢一般由人工進(jìn)行巡檢抄表記錄,巡檢效率低,巡檢容易不到位,其巡視結(jié)果也和巡檢人員的個(gè)人經(jīng)驗(yàn)素質(zhì)相關(guān)[1-3]。隨著近幾年移動(dòng)機(jī)器人技術(shù)與自動(dòng)化技術(shù)發(fā)展,很多電站陸續(xù)加入了移動(dòng)機(jī)器人來代替人工進(jìn)行電力巡檢。該類機(jī)器人按照底盤類型可分為兩輪差速移動(dòng)機(jī)器人、四輪差速移動(dòng)機(jī)器人及四輪八驅(qū)全向移動(dòng)機(jī)器人[4-6]。其中四輪八驅(qū)全向移動(dòng)機(jī)器人在整個(gè)機(jī)器人硬件架構(gòu)上也最為復(fù)雜。

圖1 四輪八驅(qū)輪式巡檢機(jī)器人底盤硬件架構(gòu)圖
本文以四輪八驅(qū)全向移動(dòng)機(jī)器人為研究對(duì)象,應(yīng)用ROS 系統(tǒng)的軟件框架結(jié)構(gòu),設(shè)計(jì)其底盤ARM 控制器。
四輪八驅(qū)輪式巡檢機(jī)器人底盤系統(tǒng)架構(gòu)如圖1所示,主要包括:底盤控制單元、行走部件、轉(zhuǎn)向部件、外圍NET通信部件、IO驅(qū)動(dòng)部件、電池系統(tǒng)及IMU系統(tǒng)。
作為機(jī)器人控制大腦,底盤控制單元包括IPC工控機(jī)和ARM控制器。IPC工控機(jī)負(fù)責(zé)頂層邏輯算法,主要包含機(jī)器人定位、建圖、導(dǎo)航等算法,通過串口與ARM控制器通信;ARM控制器負(fù)責(zé)底層傳感器數(shù)據(jù)采集、電動(dòng)機(jī)速度控制、網(wǎng)絡(luò)數(shù)據(jù)交換等功能。行走部件包括4個(gè)Maxson直流無刷電動(dòng)機(jī),配有1600線增量式編碼器和24速比的減速箱;行走驅(qū)動(dòng)組包含4個(gè)EPOS4/5008電動(dòng)機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)之間通過CAN網(wǎng)絡(luò)級(jí)聯(lián)后與ARM控制器通信。轉(zhuǎn)向部件包括4個(gè)大轉(zhuǎn)矩舵機(jī),具有多圈位置記憶功能;轉(zhuǎn)向驅(qū)動(dòng)組集成在舵機(jī)本體上,驅(qū)動(dòng)之間通過CAN網(wǎng)絡(luò)級(jí)聯(lián)后與ARM控制器通信。外圍NET通信部件主要包括無線網(wǎng)橋、激光雷達(dá)、云臺(tái)系統(tǒng)等等,各模塊之間通過內(nèi)部以太網(wǎng)進(jìn)行數(shù)據(jù)通信,各模塊的網(wǎng)線統(tǒng)一接入到ARM控制器內(nèi)部集成的千兆交換機(jī)上。IO驅(qū)動(dòng)部件主要包括三色燈系統(tǒng)、超聲避障傳感器、防跌落傳感器、防碰撞傳感器、自主充電接口等等。驅(qū)動(dòng)部件控制IO口統(tǒng)一接入至ARM控制器中。其他部件系統(tǒng)主要包括電池管理系統(tǒng)、IMU系統(tǒng);ARM控制器通過串口來讀取電池管理信息和IMU實(shí)時(shí)數(shù)據(jù)。
通過底盤硬件架構(gòu)圖可以得到ARM控制器的基本硬件輸入需求,如表1所示。

表1 ARM控制器硬件資源需求表
根據(jù)表1的ARM控制器硬件資源需求表和ARM控制器本身需要具備的硬件功能,可以將ARM控制器具體細(xì)分為主控CPU模塊、傳感器接口模塊、開關(guān)量IO模塊、千兆交換機(jī)模塊、外設(shè)通信模塊、電源模塊等6個(gè)模塊,其PCB-3D視圖如圖2所示。下文對(duì)其中幾個(gè)主要模塊的設(shè)計(jì)做詳細(xì)說明。

圖2 ARM控制器PCB-3D視圖
CPU作為ARM控制器的核心計(jì)算單元,需要滿足表1的硬件資源需求,根據(jù)目前市場上常用的16位和32位單片機(jī),本文選擇32位ARM單片機(jī)STM32F407VET6,該系列單片機(jī)具備高集成度、高性能,提供工作頻率為168 MHz的CortexTM-M4內(nèi)核的性能。根據(jù)硬件功能需求表,對(duì)單片機(jī)外圍IO口進(jìn)行分配設(shè)計(jì),主要分為兩大類:通信IO口和控制IO口設(shè)計(jì)。通信IO口主要包括:2路1 M速率的CAN接口;2路串口232;1路串口485;1路以太網(wǎng)芯片SPI接口;1路II2C存儲(chǔ)器接口;1路單總線溫濕度通信接口。控制IO口主要包括:2路開光量超聲檢測接口;2路模擬量超聲距離檢測接口;三色燈控制接口;系統(tǒng)軟急停檢測接口;充電控制接口;系統(tǒng)開關(guān)機(jī)接口。
傳感器接口模塊主要包括超聲避障檢測電路和防跌落檢測電路。超聲避障檢測分為開關(guān)量檢測和模擬量檢測,其開關(guān)量檢測電路與防跌落開關(guān)量檢測電路一致。開關(guān)量檢測電路的主芯片采用雙通道光耦HCPL0531,模擬量檢測電路的主芯片采用LM258運(yùn)算放大器。
開關(guān)量IO模塊主要包括三色燈驅(qū)動(dòng)電路、IPC開關(guān)機(jī)電路、自主充電繼電器控制電路和系統(tǒng)開關(guān)機(jī)檢測電路。驅(qū)動(dòng)芯片采用貼片N-MOS管,封裝SOP8,體積小,功耗低。其中開機(jī)電路在MOS管后端加入鎖存器電路可實(shí)現(xiàn)系統(tǒng)軟開機(jī)功能。
千兆交換機(jī)用于各模塊之間以太網(wǎng)數(shù)據(jù)通信,選用RTL8370交換機(jī)芯片,該芯片功耗低,集成8端口Giga-PHY,支持1000BASE-T、100BASE-T和10BASE-T,根據(jù)芯片手冊設(shè)計(jì)其外圍電路。
外設(shè)通信模塊主要用于ARM控制器同電池、行走驅(qū)動(dòng)、轉(zhuǎn)向驅(qū)動(dòng)及IMU系統(tǒng)等設(shè)備之間的通信,包含CAN接口電路和232接口電路。CAN接口電路的主芯片選用型號(hào)為SN65HVD230D的CAN收發(fā)器;232接口電路的主芯片選用型號(hào)為MAX3232的雙路串口芯片。
電源模塊的設(shè)計(jì)需根據(jù)實(shí)際外設(shè)的功耗來評(píng)估選型,選用兩個(gè)12 V轉(zhuǎn)3.3 V、3 A電源芯片LM22676ADJ,一片負(fù)責(zé)給單片機(jī)系統(tǒng)供電,另一片負(fù)責(zé)給交換機(jī)系統(tǒng)供電。
將設(shè)計(jì)好的原理圖轉(zhuǎn)化為PCB并打樣焊接,如圖3所示。

圖3 ARM控制器實(shí)物圖

圖4 ROS封裝庫安裝位置

圖5 項(xiàng)目工程界面圖
ARM控制器的ROS接口設(shè)計(jì)的主要工作是讓ARM控制器能夠兼容ROS系統(tǒng),需要將ROS的一部分框架代碼移植到STM32F407內(nèi)核中。利用ROS中封裝的串口,通過Topic話題與IPC工控機(jī)進(jìn)行數(shù)據(jù)的交互。首先需要將ROS封裝庫RosLibs放置到項(xiàng)目工程文件目錄,如圖4所示。在項(xiàng)目工程樹下添加ROS封裝庫,在頭文件目錄下添加ROS封裝庫的路徑。圖5為整個(gè)項(xiàng)目工程界面圖。ARM控制器在ROS框架下主要完成實(shí)時(shí)速度話題、電池話題及IMU話題發(fā)布,速度指令和PID參數(shù)配置指令話題訂閱,如圖6所示。

圖6 話題的發(fā)布和訂閱
1)根據(jù)全向移動(dòng)機(jī)器人底盤硬件架構(gòu)圖得到ARM控制器的硬件資源輸入需求,設(shè)計(jì)ARM控制器各模塊原理圖并焊接制作ARM控制器實(shí)物。2)根據(jù)ROS系統(tǒng)軟件框架需求,將ROS底層封裝庫移植到STM32F407內(nèi)核中,通過話題的訂閱與發(fā)布與頂層IPC工控機(jī)通信。