惠州學(xué)院電子信息與電氣工程學(xué)院 黃宏越 姚文樹(shù) 賴(lài)家民 汪成龍
基于北斗自主巡航多功能機(jī)器人設(shè)計(jì)
惠州學(xué)院電子信息與電氣工程學(xué)院 黃宏越 姚文樹(shù) 賴(lài)家民 汪成龍
設(shè)計(jì)一款基于KL26的北斗自主巡航多功能機(jī)器人,該機(jī)器人通過(guò)北斗實(shí)時(shí)定位、WiFi通訊控制、超聲波避障以及陀螺儀確定轉(zhuǎn)向等方式,實(shí)現(xiàn)機(jī)器人按照一定路線(xiàn)自主巡航的功能,同時(shí)設(shè)計(jì)一款遙控APP以控制機(jī)器人。本文先對(duì)機(jī)器人的功能等情況進(jìn)行概述,然后分別系統(tǒng)的介紹硬件設(shè)計(jì)和軟件設(shè)計(jì),最后通過(guò)實(shí)地測(cè)試驗(yàn)證了本設(shè)計(jì)的可行性。本設(shè)計(jì)為安防、運(yùn)輸領(lǐng)域提供智能化的
KL26北斗;WiFi;超聲波;九軸加速度計(jì)陀螺儀
隨著人工智能時(shí)代的來(lái)臨,機(jī)器人的應(yīng)用領(lǐng)域也將越來(lái)越廣泛。本文基于安防領(lǐng)域設(shè)計(jì)了一款能夠通過(guò)北斗定位的自主巡航機(jī)器人。該機(jī)器人以KL26為主控芯片,通過(guò)北斗模塊實(shí)時(shí)定位,通過(guò)WiFi模塊連接手機(jī)APP獲取控制,通過(guò)超聲波模塊避障,通過(guò)九軸加速度計(jì)陀螺儀模塊確定車(chē)轉(zhuǎn)向,從而實(shí)現(xiàn)機(jī)器人按照一定路線(xiàn)自主巡航的功能。同時(shí)在已有24V電源的基礎(chǔ)上,增加備用電源,保證機(jī)器人的可靠運(yùn)行。
本系統(tǒng)硬件以KL26為主控芯片,外圍電路包含:超聲波模塊、北斗模塊、9軸加速度陀螺儀模塊、wif i模塊等。它們分別通過(guò)GPIO、UART0、IIC2和UART2與KL26相連系統(tǒng)。系統(tǒng)硬件框圖如圖1所示:

圖1 硬件框圖
(1)主控芯片:北斗自主巡航多功能機(jī)器人硬件使用KL26單片機(jī)作為核心控制器。KL26是采用Kinetis L系列內(nèi)核,主頻48MHZ,內(nèi)置128K Flash。同時(shí)具有運(yùn)行速度快、功耗低的優(yōu)勢(shì),非常適合作為本設(shè)計(jì)的主控芯片。
(2)超聲波模塊:采用HC-SR04超聲波測(cè)距模塊,其工作原理為:采用IO口TRIG觸發(fā)測(cè)距,提供的高電平信呈最少為10us ;模塊自動(dòng)發(fā)送8個(gè)40kHz的方波測(cè)試信號(hào);有信號(hào)返回,通過(guò)IO口ECHO輸出高電平,高電平持續(xù)的時(shí)間就是超聲波從往返時(shí)間。
(3)北斗模塊:采用雙系統(tǒng)導(dǎo)航/授時(shí)模塊,默認(rèn)波特率為9600bps。使用Unicore協(xié)議,所有消息都以’$’開(kāi)頭,后面跟著消息名,之后為不定數(shù)量的數(shù)據(jù)與參數(shù),以逗號(hào)隔開(kāi),最后的參數(shù)是可選校驗(yàn)和,以’*’隔開(kāi)。輸入消息以’ ’或’ ’結(jié)束,輸出消息以’ ’結(jié)束,每條消息不超過(guò)256個(gè)字節(jié),不區(qū)分大小寫(xiě)[1]。
(4)九軸加速度計(jì)陀螺儀模塊:模塊含有:MPU-6050、傳感器、電子羅盤(pán)。默認(rèn)波特率為115200 bps。模塊發(fā)送至上位機(jī)的每幀數(shù)據(jù)分為3個(gè)數(shù)據(jù)包,分別為加速度包、角速度包和角度包,按照三個(gè)數(shù)據(jù)包順序輸出[2]。
(5)WiFi模塊:本設(shè)計(jì)采用ESP8266串口WiFi模塊,它有3種工作模式。其中,AP模式下模塊相當(dāng)于路由器,只要手機(jī)連接上就能傳送數(shù)據(jù),簡(jiǎn)單快捷,故采用AP 模式。
北斗自主巡航多功能機(jī)器人軟件設(shè)計(jì)分為:機(jī)器人控制系統(tǒng)軟件設(shè)計(jì)和遙控APP設(shè)計(jì)。其中機(jī)器人控制系統(tǒng)軟件設(shè)計(jì)包含:WiFi模塊、超聲波模塊、北斗導(dǎo)航模塊,此外還有KL26及其外設(shè)初始化編程。遙控APP的設(shè)計(jì)實(shí)現(xiàn)了對(duì)機(jī)器人運(yùn)動(dòng)控制。
機(jī)器人控制系統(tǒng)軟件設(shè)計(jì)是基于keil uvision4為編程平臺(tái)。編程過(guò)程中利用主程序調(diào)用子程序的方式,設(shè)置了初始化子程序、運(yùn)動(dòng)控制子程序等。流程圖如圖2所示:
控制軟件設(shè)計(jì)首先對(duì)顯示模塊、九軸加速度計(jì)陀螺儀模塊、WiFi模塊、北斗模塊進(jìn)行初始化。初始化完成后,每隔20ms執(zhí)行一個(gè)任務(wù),每個(gè)模塊對(duì)應(yīng)一個(gè)任務(wù),即每個(gè)時(shí)間段只有一個(gè)模塊在工作。在第一個(gè)20ms時(shí),接收超聲波模塊的外部中斷,開(kāi)啟定時(shí)器,測(cè)車(chē)與障礙物的距離等;在第二個(gè)20ms時(shí),接收北斗的數(shù)據(jù),定位當(dāng)前巡邏車(chē)的位置,判斷有無(wú)越出預(yù)定路徑,運(yùn)算處理各種情況;第三個(gè)20ms時(shí),接收9軸模塊的數(shù)據(jù),確定當(dāng)前巡邏車(chē)的方向,結(jié)合上一個(gè)20ms的定位數(shù)據(jù),確定接下來(lái)巡邏車(chē)的方向。wifi模塊則一直處于監(jiān)聽(tīng)狀態(tài),且優(yōu)先級(jí)最高,一旦切換為手動(dòng)模式,即刻停止。

圖2 程序流程圖
遙控APP設(shè)計(jì)的界面分為:主界面、手動(dòng)模式界面與自動(dòng)模式界面,主界面采用“ip地址+端口號(hào)”的驗(yàn)證方式,如圖3所示:

圖3 主界面
當(dāng)機(jī)器人運(yùn)行時(shí),在主界面輸入WiFi模塊對(duì)應(yīng)的“ip地址+端口號(hào)”就能聯(lián)網(wǎng)成功,并能選擇自動(dòng)模式或手動(dòng)模式。當(dāng)與機(jī)器人聯(lián)網(wǎng)成功后,機(jī)器人接受APP發(fā)送的指令字符串。APP與機(jī)器人使用我們?cè)O(shè)計(jì)的通訊指令表,如表1所示。
調(diào)試過(guò)程分為三個(gè)步驟:測(cè)試各分模塊的功能是否正常,焊接和測(cè)試都分模塊進(jìn)行;硬件和軟件測(cè)試,測(cè)試兩者之間的協(xié)調(diào)性;微調(diào)各種參數(shù),使系統(tǒng)能按預(yù)期運(yùn)行。
完成設(shè)計(jì)之后,讓機(jī)器人按照預(yù)先設(shè)定路線(xiàn)行走。機(jī)器人能夠按照路線(xiàn)到達(dá)每個(gè)定點(diǎn)附近,定點(diǎn)的航線(xiàn)偏差在0-3.5m,符合北斗模塊4m精度。同時(shí)機(jī)器人也能很好避障,接受APP控制。因此本設(shè)計(jì)的測(cè)試結(jié)果滿(mǎn)足設(shè)計(jì)預(yù)期,具有一定的實(shí)用性。

表1 控制指令表
本文基于北斗導(dǎo)航系統(tǒng),設(shè)計(jì)履帶式自主巡航多功能機(jī)器人。經(jīng)過(guò)測(cè)試,該設(shè)計(jì)可以按照既定路線(xiàn)進(jìn)行自主移動(dòng),在偶遇障礙物時(shí)能自動(dòng)避障且逐步回到已設(shè)軌道,同時(shí)可以接受手機(jī)APP遙控,在電池電量不充足的情況下能利用繼電器進(jìn)行電池切換。但由于北斗模塊精度缺陷,有時(shí)存在著偏離路線(xiàn)的現(xiàn)象。因此該多功能機(jī)器人更適合在露天、信號(hào)通暢的場(chǎng)地巡航。
[1]龔江昆,達(dá)風(fēng).BD/GPS雙模衛(wèi)星通用導(dǎo)航模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].四川兵工學(xué)報(bào),2015(06):109-112.
[2]任曉文.船舶搖擺速度對(duì)風(fēng)向風(fēng)速測(cè)量影響的研究[D].大連海事大學(xué),2014.
汪成龍【通訊作者】(1986—),男,湖北人,教師,主要從事機(jī)器視覺(jué)等教學(xué)與科研工作。
黃宏越(1995—),男,廣東揭陽(yáng)人,大學(xué)本科,研究方向:智能控制。
姚文樹(shù)【同為第一作者】(1994—),男,廣東汕頭人,大學(xué)本科,研究方向:智能控制。
賴(lài)家民(1995—),男,廣東茂名人,大學(xué)本科,研究方向:智能控制。