李 森 ,潘小琴 ,欽盼琛 ,張 普 ,閆 琦
(1.西南科技大學 智能機器人創(chuàng)新實踐班,綿陽 621010;2.西南科技大學 工程技術(shù)中心,綿陽 621010)
安防產(chǎn)業(yè)在保障公共安全方面起著舉足輕重的作用,傳統(tǒng)安防分為人防措施和視頻監(jiān)控兩大類。人防措施存在監(jiān)守自盜、玩忽職守、防盜值班和危險環(huán)境巡邏時人身安全風險高等隱患[1];視頻監(jiān)控則因其固定安裝,存在死角,易于遭受破壞,且采用有線方式傳輸致使視頻圖像布線復雜,后期維護成本高。
雙輪機器人屬于輪式移動機器人WMR(wheeled mobile robot),具有體積小、行動靈活、結(jié)構(gòu)簡單、適應性強等特點[2],在短途代步、軍事、環(huán)境偵察、安防等領(lǐng)域有著廣泛的應用[3]。針對傳統(tǒng)安防的不足,將雙輪機器人應用于安防系統(tǒng),值班人員可以使用智能手機或者電腦等終端設(shè)備,通過無線方式控制機器人在工廠車間、倉儲庫房、危險環(huán)境和家庭空間等區(qū)域活動,監(jiān)視設(shè)備運行、環(huán)境變化、人員活動等情況,及時發(fā)現(xiàn)設(shè)備故障、火災警情、煤氣泄漏及非法入侵等安全隱患。同時,值班人員通過遠程操控機器人,可避免進入危險環(huán)境作業(yè),保障自身安全。
安防機器人系統(tǒng),采用STM32系列芯片作為雙輪機器人的處理器,控制各模塊之間的相互配合,實現(xiàn)機器人對現(xiàn)場狀況的采集和自動報警。值班人員通過登錄遠程服務(wù)器實時獲取現(xiàn)場情況的視頻和感知數(shù)據(jù),同時可以控制機器人抵近觀察并主動介入。
安防機器人系統(tǒng),采用客戶端/服務(wù)器(C/S)結(jié)構(gòu),以雙輪機器人作為服務(wù)器,智能終端設(shè)備作為客戶端,系統(tǒng)結(jié)構(gòu)示意如圖1所示。機器人使用攝像頭采集視頻圖像,通過各種傳感器采集環(huán)境數(shù)據(jù),值班人員通過智能手機或者電腦等終端設(shè)備自帶的WiFi技術(shù)接入Internet網(wǎng)絡(luò),使用域名訪問服務(wù)器,可查看機器人傳輸?shù)囊曨l圖像及數(shù)據(jù),同時可以通過網(wǎng)頁中的控件控制機器人的行動,進行重點觀察。為了實現(xiàn)該雙輪機器人遠程監(jiān)控等功能,機器人需要實現(xiàn)車體平衡控制、視頻采集、傳感器控制等功能。
圖1 系統(tǒng)結(jié)構(gòu)示意Fig.1 System structure diagram
安防機器人主控制器選用STM32F103系列芯片,外接電源模塊、電機驅(qū)動模塊、編碼器、溫濕度傳感器、煙霧傳感器、熱釋傳感器、六軸運動處理組件及視頻采集模塊等,硬件結(jié)構(gòu)如圖2所示。
圖2 安防機器人硬件結(jié)構(gòu)Fig.2 Security robot hardware structure
主控制器為STM32F103系列芯片,連接各子模塊,對各子模塊采集的數(shù)據(jù)進行運算和處理,產(chǎn)生控制信號。利用MPU6050六軸運動處理組件采集姿態(tài)信息,計算出當前傾斜角度,結(jié)合編碼器獲取的當前速度,產(chǎn)生相應的脈沖寬度調(diào)制PWM波,實現(xiàn)雙路電機正反轉(zhuǎn),最終實現(xiàn)小車的平衡直立、前進、后退、左轉(zhuǎn)及右轉(zhuǎn)等動作。
機器人搭載有多種傳感器功能模塊,用于檢測環(huán)境參數(shù),預報警情。其中,溫濕度傳感器DHT11可以檢測當前環(huán)境的溫、濕度,濕度測量誤差為5%,溫度測量誤差為2℃;煙霧傳感器MQ-2可以監(jiān)測是否有火災發(fā)生,標準環(huán)境下靈敏度S≥5,設(shè)置相對濃度超過100%時觸發(fā)報警;HC-SR501人體熱釋傳感器用于夜間巡邏時檢測是否有人闖入,感應距離3~7 m可調(diào);HC-SR04超聲測距模塊用于非接觸式距離感測,測量距離為2~400 cm,防止人為操作失誤導致機器人碰撞事件的發(fā)生。
視頻采集通過羅技C270網(wǎng)絡(luò)攝像頭實現(xiàn),采用了MT7620N主控芯片運行網(wǎng)絡(luò)視頻服務(wù)器MJPG-streamer[4-5],MT7620N和STM32之間通過串口通信,視頻服務(wù)器可以實現(xiàn)智能手機或PC端遠程登錄,查看視頻信息及發(fā)送控制命令。
安防機器人系統(tǒng)的軟件工作流程如圖3所示。服務(wù)器程序啟動后,首先進行初始化,完成后即開始自檢,如果檢測到有模塊未正常工作則進行錯誤提示并報警。自檢結(jié)束后等待終端連接,若入網(wǎng)失敗則進行錯誤提示并報警,若超時或入網(wǎng)成功則進行視頻傳輸、PID控制及各傳感器模塊的信息采集??蛻舳顺绦虼蜷_后,輸入服務(wù)器的IP地址,登錄連接到服務(wù)器,獲取服務(wù)器拍攝的實時視頻圖像和其他傳感器檢測數(shù)據(jù),并可以通過點擊控件遠程控制機器人的運動。
圖3 安防機器人系統(tǒng)軟件控制流程Fig.3 Security robot system software control flow chart
安防機器人采用兩輪行進,因此準確的姿態(tài)采集決定了機器人是否能平穩(wěn)運行。系統(tǒng)采用MPU6050檢測車體姿態(tài),其內(nèi)部集成了陀螺儀和加速度計組合的捷聯(lián)式慣導系統(tǒng)。加速度計無累計誤差,可長時間穩(wěn)定運行,但是對振動非常敏感;陀螺儀受機器人振動影響較小,但其自身及放大電路有溫漂,同時積分電路會產(chǎn)生累積誤差[6-7],因此需要進行濾波和去除噪聲處理。
本系統(tǒng)采用Kalman[8-9]濾波算法,對加速度計和陀螺儀的測量信號進行融合。Kalman濾波器作為一種有效的遞歸濾波器,通過預測某個值并評估預測值的不確定性,計算預測值與測量值的加權(quán)平均值,產(chǎn)生測量數(shù)據(jù)真值的估計值及其關(guān)聯(lián)計算值。最大的權(quán)重給予不確定性最小的值。其輸出的估計值與原始數(shù)據(jù)相比,更接近真值。此外,與批處理的濾波技術(shù)相比,Kalman濾波不需要歷史的估計值和觀測數(shù)據(jù),能較好地用低成本主控芯片實現(xiàn)。
機器人是本質(zhì)不穩(wěn)定系統(tǒng),平衡問題對機器人至關(guān)重要。要使得系統(tǒng)穩(wěn)定,必須采用適當?shù)目刂撇呗???刂品譃殪o平衡和動平衡兩方面,由PID控制器實現(xiàn)。
機器人的實物屬性和外界環(huán)境變化使其姿態(tài)采集的信號不可避免的存在噪聲信號,這些噪聲經(jīng)過積分環(huán)節(jié)會不斷地積累,使得積分器失去消除靜差的功能并產(chǎn)生控制誤差,故采用PD控制器。
傳統(tǒng)線性PD控制器存在控制裕度小、魯棒性低、易出現(xiàn)平衡點自激振蕩等問題,因此最終構(gòu)建了用于雙輪機器人自平衡的非線性PD控制器,其表達式為
動平衡控制包括了對前進、后退和左右轉(zhuǎn)向的控制。對于前進和后退的控制,即雙輪機器人的速度控制,利用編碼器檢測到電機當前轉(zhuǎn)速和給定速度,比較兩者的差值信號,構(gòu)建PI控制器得到輸出信號為
左右轉(zhuǎn)向控制需要兩輪的差速實現(xiàn),對響應要求較低。為降低成本,簡化程序,采用P控制。以垂直地面豎直向上建立轉(zhuǎn)軸z,通過計算機器人繞z軸的角速度和預設(shè)值的偏差,改變轉(zhuǎn)角。其表達式為
然而,雙輪機器人的靜平衡和動平衡存在著矛盾:系統(tǒng)需要控制機器人的行動,而行進和轉(zhuǎn)彎使得機器人處于不平衡狀態(tài),為使機器人平衡而不得不減緩機器人的運動,因此必須設(shè)置相應的調(diào)節(jié)機理,如圖4所示。
圖4 串級PID控制Fig.4 Cascade PID controller block diagram
為了保證直立控制的優(yōu)先級最高,把速度控制放在直立控制之前,將速度控制的輸出作為直立控制的輸入,直立控制的輸出作為整個系統(tǒng)的輸出。然后,在機器人能夠平衡和行進的基礎(chǔ)上,加入轉(zhuǎn)向控制,即整個系統(tǒng)滿足:
通過不斷調(diào)試PID參數(shù),最終得到一組較優(yōu)的參數(shù):
MJPG-streamer是一款視頻流應用軟件,用于從單一的輸入端獲取圖像并轉(zhuǎn)發(fā)到多個輸出端,利用網(wǎng)絡(luò)攝像頭的硬件壓縮功能進行圖像處理,可有效減少CPU的負荷。處理器將攝像頭采集到的圖像存入緩存中,當PC或手機終端向視頻Web服務(wù)器發(fā)出訪問申請時,服務(wù)器會將緩存中的圖像數(shù)據(jù)連續(xù)發(fā)送給視頻監(jiān)控終端,形成視頻流。
輸入輸出過程的數(shù)據(jù)通過Web服務(wù)器進行傳輸。使用lighttped,PHP建立Web服務(wù)器,運用PHP調(diào)用shell命令對串口數(shù)據(jù)進行收發(fā),完成控制信息由服務(wù)器的接收端到串口緩沖區(qū)的傳遞。同時,將視頻流的數(shù)據(jù)從MJPG-streamer的接收內(nèi)嵌到用戶的操作界面,保證在用戶進行操作的同時可以實時查看視頻畫面,完成實時控制。在網(wǎng)頁上通過調(diào)用已封裝函數(shù) Forward(),Backward(),TurnLeft(),TurnRight(),Stop()這 5 個函數(shù)來控制機器人的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止。調(diào)用已封裝的傳感器函數(shù)獲取當前環(huán)境信息的數(shù)據(jù)。
雙輪機器人的運動是建立在其姿態(tài)準確的基礎(chǔ)上,通過上位機得到經(jīng)Kalman濾波后的角度基本穩(wěn)定在0°上。機器人實物如圖5所示。
圖5 機器人實物Fig.5 Physical robot
通過手機或PC端瀏覽器登錄服務(wù)器端網(wǎng)址(http://192.168.8.1:81), 即可獲取機器人實時視頻傳輸圖像。登錄界面如圖6所示,輸入正確賬號密碼信息即可登錄。監(jiān)控界面實時傳輸當前視頻和各種環(huán)境信息,如圖7所示。該視頻圖像清晰、無失真和抖動現(xiàn)象;觸摸或點擊相應按鈕即可控制機器人前進、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止。
圖6 終端登錄界面Fig.6 Terminal login interface
圖7 手機和PC端監(jiān)控界面Fig.7 Mobile phone and PC monitoring interface
本文針對傳統(tǒng)安防系統(tǒng)的不足,提出了一種用于安防的雙輪機器人系統(tǒng)。系統(tǒng)采用客戶端/服務(wù)器(C/S)結(jié)構(gòu),以 STM32F103為主控,采用 MPU6050對機器人姿態(tài)的采集并由Kalman濾波來得到最優(yōu)測量角度,結(jié)合串級PID控制器優(yōu)化策略,快速實現(xiàn)機器人的靜平衡和動平衡控制。利用MJPG-streamer構(gòu)建網(wǎng)絡(luò)服務(wù)器,值班人員可以通過智能手機或PC終端遠程實時查看視頻和環(huán)境參數(shù)并控制機器人。試驗結(jié)果表明,該系統(tǒng)穩(wěn)定性好、可靠性高、拓展性強,有著廣泛的應用前景。
[1]梅濤,陳劍,陳宏炬,等.安防機器人關(guān)鍵技術(shù)與產(chǎn)業(yè)化前景[J].高科技與產(chǎn)業(yè)化,2016,23(5):51-55.
[2]王利清.基于終端滑??刂频膬奢喴苿訖C器人自平衡實現(xiàn)方法研究[J].制造業(yè)自動化,2015,37(13):16-18,30.
[3]梁文宇,周惠興,曹榮敏,等.雙輪載人自平衡控制系統(tǒng)研究綜述[J].控制工程,2010,17(S2):139-144,190.
[4]陳恒鑫,林威,張欽宇.基于Mjpg-streamer的移動視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機測量與控制,2014,22(11):3597-3599,3608.
[5]肖兒良,毛海軍,鞠軍平,等.基于開源軟件MJPG_Streamer的智能視頻監(jiān)控系統(tǒng)設(shè)計[J].微電子學與計算機,2013,30(6):84-87.
[6]姜香菊,劉二林.兩輪自平衡機器人角度檢測數(shù)據(jù)融合算法[J].計算機工程與應用,2013,49(8):203-205.
[7]馮智勇,曾瀚,張力,等.基于陀螺儀及加速度計信號融合的姿態(tài)角度測量[J].西南師范大學學報:自然科學版,2011,36(4):137-141.
[8]吳友強,紀浩,鄒力涵.基于卡爾曼濾波的四旋翼飛行器懸??刂蒲芯縖J].自動化與儀表,2013,42(11):1-5.
[9]Liu Kun,Bai Ming,Ni Yuhua.Two-wheel self-balanced carbased on Kalman filtering and PID algorithm[C]//Industrial Engineering and Engineering Management(IE&EM)2011 IEEE 18th International Conference,Part 1,2011:281-285.