金愛國(guó) ,金貴陽 ,孫千里 ,胡燕海
(1.寧波職業(yè)技術(shù)學(xué)院智能裝備研究所,浙江 寧波 315800;2.寧波大學(xué)機(jī)械工程與力學(xué)學(xué)院,浙江 寧波 315211)
近年來,智能小車的應(yīng)用范圍越發(fā)廣泛,涉及生活的方方面面,包括無人駕駛、物料搬運(yùn)、自動(dòng)分揀等,大大提高了工作效率與用戶體驗(yàn)感[1-3]。而如何控制智能小車沿著預(yù)定的軌跡穩(wěn)定快速運(yùn)行則是設(shè)計(jì)的難點(diǎn)所在[4-6]。
課題組基于全國(guó)大學(xué)生機(jī)器人大賽Robotac比賽中的障礙挑戰(zhàn)賽項(xiàng)目設(shè)計(jì)了一款基于PID算法的自動(dòng)循跡布障小車。該小車基于模塊化設(shè)計(jì)理念,以STM32F429IGT6為主控核心,通過CAN總線分別對(duì)直流電機(jī)、灰度傳感器、電磁閥等進(jìn)行控制,使小車沿著循跡條快速運(yùn)行,且在預(yù)設(shè)的位置完成布障任務(wù)[7-8]。
為提高自動(dòng)小車運(yùn)行的靈活性,車輪選用麥克納姆輪,以輕易地完成多個(gè)角度的移動(dòng)[9]。通過直流電機(jī)對(duì)麥克納姆輪進(jìn)行控制,每個(gè)電機(jī)設(shè)有獨(dú)立的電機(jī)驅(qū)動(dòng)板。通過改變四個(gè)電機(jī)的轉(zhuǎn)動(dòng)方向,可以實(shí)現(xiàn)前后左右,左前左后,右前右后等旋轉(zhuǎn)動(dòng)作。在自動(dòng)車底盤四周的邊緣處依次安裝四個(gè)8路灰度傳感器模塊,用于不同方向的循線。小車還搭載了兩個(gè)電磁閥依次控制兩個(gè)氣缸運(yùn)動(dòng),實(shí)現(xiàn)布障功能。為了防止車輛跑偏,在主控板上外接JY61陀螺儀模塊,實(shí)時(shí)糾正車輛的方向[10]。各功能模塊并聯(lián)在CAN總線上,與主控板上的微控制器進(jìn)行通信,大大提高了自動(dòng)小車的實(shí)時(shí)性。自動(dòng)小車整體結(jié)構(gòu)設(shè)計(jì)圖如圖1所示。
圖1 自動(dòng)小車整體結(jié)構(gòu)設(shè)計(jì)圖
如上圖所示,將11.1 V鋰電池接到電源板上,通過電源板引電至各個(gè)模塊,分別給主控板、電機(jī)驅(qū)動(dòng)模塊、電磁閥驅(qū)動(dòng)模塊、灰度傳感器模塊同時(shí)供電。主控板通過CAN總線和電機(jī)驅(qū)動(dòng)模塊、電磁閥驅(qū)動(dòng)模塊、灰度傳感器模塊、JY61陀螺儀進(jìn)行通信,傳輸有關(guān)數(shù)據(jù)。
為提高布障效率和運(yùn)行可靠性,該循跡小車硬件部分采用模塊化設(shè)計(jì),包含電源板、主控板、電機(jī)驅(qū)動(dòng)模塊、電磁閥驅(qū)動(dòng)模塊、灰度傳感器模塊。主控板主要包含微控制器芯片STM32F429IGT6、電源轉(zhuǎn)化模塊、液晶顯示模塊、數(shù)據(jù)存儲(chǔ)模塊、CAN收發(fā)模塊、按鍵模塊、指示燈模塊。電機(jī)驅(qū)動(dòng)模塊包含微控制器芯片STM32F103C8T6、指示燈模塊、電壓轉(zhuǎn)換模塊、按鍵模塊、CAN收發(fā)模塊等。電磁閥驅(qū)動(dòng)模塊包含微控制器芯片STM32F103C8T6、電壓轉(zhuǎn)換模塊、氣缸控制模塊、CAN通信模塊、指示燈模塊?;叶葌鞲衅髂K包含微控制器芯片STM32F103C8T6、電源穩(wěn)壓部分、8路循跡光敏模塊、獨(dú)立按鍵、CAN通信模塊、指示燈模塊。電源板外接11.1 V-2 600 mAh鋰電池,設(shè)計(jì)多路接口,分別給主控板、電機(jī)驅(qū)動(dòng)板、電磁閥驅(qū)動(dòng)板供電。電源板單獨(dú)設(shè)計(jì)的目的如下:1)減少其主控板的發(fā)熱量,降低故障率,延長(zhǎng)板子使用壽命;2)方便為后續(xù)新增加的功能模塊提供電源接口。
主控板設(shè)計(jì)框圖如圖2所示。電源轉(zhuǎn)換模塊將11.1 V電壓轉(zhuǎn)換為5 V和3.3 V的電壓,給各部分供電。OLED用于顯示自動(dòng)小車運(yùn)行狀態(tài)。獨(dú)立按鍵一共有五個(gè),KEY1按鍵按下時(shí),開始校驗(yàn)自動(dòng)小車正前方灰度傳感器模塊,校驗(yàn)完畢時(shí)按下KEY5按鍵。類似地,分別按下KEY2、KEY3、KEY4按鍵,依次校驗(yàn)自動(dòng)小車左側(cè)、后方、右側(cè)灰度傳感器模塊,校驗(yàn)完畢時(shí)按下KEY5按鍵。灰度傳感器模塊校驗(yàn)值通過SPI總線保存到數(shù)據(jù)存儲(chǔ)器W25Q64中。通過觀察指示燈的閃爍情況判斷程序是否正常運(yùn)行。微控制器1通過串口1讀取陀螺儀的數(shù)據(jù),從而實(shí)時(shí)修正小車的姿態(tài)。微控制器1通過CAN總線與各功能模塊進(jìn)行數(shù)據(jù)收發(fā)。
圖2 主控板設(shè)計(jì)框圖
電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)框圖如圖3所示。微控制器1通過CAN總線發(fā)送命令給微控制器2,微控制器2通過調(diào)節(jié)PWM占空比的方式,經(jīng)過VNH5019芯片放大工作電流,控制直流電機(jī)的運(yùn)動(dòng)。獨(dú)立按鍵模塊只有一個(gè)按鍵KEY6,按下KEY6按鍵可以設(shè)置驅(qū)動(dòng)板的ID號(hào)。如果是右前方的電機(jī),則需將ID號(hào)設(shè)為1,ID號(hào)沿著逆時(shí)針方向遞增。通過觀察指示燈閃爍次數(shù)可以確定驅(qū)動(dòng)板的ID號(hào),通過觀察指示燈的閃爍情況可以判斷程序是否正常運(yùn)行。
圖3 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)框圖
電磁閥驅(qū)動(dòng)模塊設(shè)計(jì)框圖如圖4所示。微控制器1通過CAN總線發(fā)送命令給微控制器3,微控制器3通過輸出高低電平控制電磁閥的正向或者反向?qū)?,從而控制氣缸的收縮。電磁閥1正向?qū)?,氣?伸出,反向?qū)?,氣?縮回;電磁閥2正向?qū)?,氣?伸出,反向?qū)?,氣?縮回。通過觀察指示燈的閃爍情況判斷電磁閥驅(qū)動(dòng)板程序是否正常運(yùn)行。
圖4 電磁閥驅(qū)動(dòng)模塊設(shè)計(jì)框圖
灰度傳感器模塊設(shè)計(jì)框圖如圖5所示。微控制器4將采集到的循跡光敏模塊的信號(hào)通過CAN總線發(fā)送給微控制器1,判斷小車是否循著白線運(yùn)動(dòng)。如有偏差,微控制器1則發(fā)送控制命令給微控制器2,通過調(diào)節(jié)四個(gè)電機(jī)的轉(zhuǎn)動(dòng)速度和方向來修正小車位置。
圖5 灰度傳感器模塊設(shè)計(jì)框圖
智能小車運(yùn)行場(chǎng)地圖如圖6所示。自動(dòng)小車可以在不同背景色的地面沿著白線行走,為了提高循線的穩(wěn)定性,在首次運(yùn)行之前需要校驗(yàn)灰度傳感器模塊的靈敏度。具體校驗(yàn)方法如下:以循3 cm白線為例,將小車四個(gè)方向上的灰度傳感器模塊依次放到垂直于白線方向上,按下對(duì)應(yīng)的獨(dú)立按鍵,開始校驗(yàn),來回移動(dòng)小車,通過觀察主控板上液晶顯示的UI界面的變化即可完成校驗(yàn)。校驗(yàn)完成之后即可開始循線。運(yùn)行前,小車停放在啟動(dòng)區(qū),觸發(fā)啟動(dòng)按鍵之后,沿著左前方向運(yùn)動(dòng)到A點(diǎn),循到白線之后沿著AB方向快速運(yùn)動(dòng)到B點(diǎn),此時(shí)主控板微控制器1通過CAN總線發(fā)送命令給電磁閥驅(qū)動(dòng)板上的微控制器3,微控制器3接收到命令之后使電磁閥1正向?qū)ǎ瑢飧?推出,從而完成B點(diǎn)的布障,隨后控制 電磁閥1反向?qū)?,將氣?縮回。之后沿著BC方向運(yùn)動(dòng)到C點(diǎn),微控制器1發(fā)送命令給微控制器3,微控制器3收到命令后使電磁閥2正向?qū)?,將氣?推出,從而完成C點(diǎn)的布障,隨后控制電磁閥2反向?qū)?,將氣?縮回。之后沿著CD方向運(yùn)動(dòng)到D點(diǎn),微控制器1發(fā)送命令給微控制器3,微控制器3收到命令之后使電磁閥2正向?qū)?,將氣?推出,從而完成D點(diǎn)的布障,隨后控制電磁閥2反向?qū)ǎ瑢飧?縮回。之后小車沿著DA方向回到A點(diǎn),停止運(yùn)動(dòng)。也可以通過修改程序讓小車循環(huán)往復(fù)地沿著ABCD方向行走。經(jīng)性能測(cè)試,小車布置完所有障礙物只需要10.5 s,且任務(wù)完成度為100%。
圖6 智能小車運(yùn)行場(chǎng)地圖
課題組設(shè)計(jì)了一款基于STM32的自動(dòng)循跡布障小車。在硬件電路設(shè)計(jì)方面,將電源板和主控板單獨(dú)設(shè)計(jì),主要有以下優(yōu)點(diǎn):1)減少主控板的發(fā)熱量,延長(zhǎng)板子使用壽命,降低故障率;2)方便后續(xù)為新增加的功能模塊提供電源接口。同時(shí),為了提高小車與各模塊之間通信的實(shí)時(shí)性,主控模塊與各模塊之間采用CAN總線進(jìn)行數(shù)據(jù)傳輸。經(jīng)測(cè)試,該智能小車具備快速自動(dòng)循白線、推桿布障等功能,通過反復(fù)調(diào)試及算法優(yōu)化,能夠保障小車在10.5 s時(shí)穩(wěn)定地完成所有任務(wù)。