陳磊 王昊 吳永鑫 葛雷雨
摘 要: 機(jī)器人小車是進(jìn)行實(shí)踐性教學(xué)、培養(yǎng)學(xué)生實(shí)踐創(chuàng)新能力的良好實(shí)驗(yàn)平臺(tái),本文利用微控制器作為控制中心,通過陀螺儀和加速度計(jì)監(jiān)測(cè)車身的平衡狀態(tài),根據(jù)平衡位置,通過PID控制原理驅(qū)動(dòng)電動(dòng)機(jī)實(shí)現(xiàn)兩輪小車自主平衡,并通過智能手機(jī)的藍(lán)牙通訊功能,達(dá)到手機(jī)控制小車運(yùn)動(dòng)的目的,實(shí)現(xiàn)控制—反饋的閉環(huán)控制系統(tǒng)。該系統(tǒng)可作為學(xué)生自主學(xué)習(xí)或綜合設(shè)計(jì)的實(shí)驗(yàn)平臺(tái)。
關(guān)鍵詞: 實(shí)踐教學(xué)平臺(tái) 自平衡小車 微控制器
1.機(jī)器人小車的作用
機(jī)器人小車作為實(shí)踐性教學(xué)載體,既可以考查學(xué)生綜合運(yùn)用各門專業(yè)知識(shí)的水平,又可以鍛煉動(dòng)手能力、培養(yǎng)創(chuàng)新能力等。機(jī)器人小車的設(shè)計(jì)涉及傳感器技術(shù)、自動(dòng)控制理論、電機(jī)及電機(jī)驅(qū)動(dòng)技術(shù)、機(jī)械控制、電子技術(shù)等多方面知識(shí),可以作為單片機(jī)、應(yīng)用系統(tǒng)設(shè)計(jì)、控制系統(tǒng)等多門課程的實(shí)驗(yàn)平臺(tái)。實(shí)現(xiàn)機(jī)器人小車特定功能,需要完成硬件設(shè)計(jì)、軟件編程等一系列實(shí)踐過程,最后構(gòu)建出一個(gè)控制—反饋—控制的閉環(huán)系統(tǒng)?;跈C(jī)器人小車的應(yīng)用系統(tǒng),可以聲、光、運(yùn)動(dòng)等方式表現(xiàn)控制效果,一方面可以直接激發(fā)學(xué)生的學(xué)習(xí)興趣,營(yíng)造良好的學(xué)習(xí)氛圍,另一方面可以加強(qiáng)對(duì)各種相關(guān)理論的理解和認(rèn)識(shí)。
四輪機(jī)器人小車靜止時(shí)自身處于平衡狀態(tài),運(yùn)動(dòng)容易控制。兩輪自平衡小車是近幾年出現(xiàn)的一種新型機(jī)器人小車,相對(duì)于四輪機(jī)器人小車,因?yàn)槠渥陨聿环€(wěn)定性和控制的非線性,需要更多控制、反饋信息,可以用于驗(yàn)證相關(guān)控制理論和控制方法[1],并可作為綜合實(shí)驗(yàn)、畢業(yè)設(shè)計(jì)等多門課程知識(shí)綜合運(yùn)用的實(shí)驗(yàn)平臺(tái)。兩輪自平衡車的主要特點(diǎn)是使用兩輪共軸、各自獨(dú)立驅(qū)動(dòng)的工作方式。車身重心位于車輪軸的正上方,靜止時(shí)不能保持平衡站立,只有通過兩個(gè)輪子的前后移動(dòng)保持車身平衡。加入外部控制后,可以在保持動(dòng)態(tài)平衡的基礎(chǔ)上實(shí)現(xiàn)移動(dòng)、轉(zhuǎn)彎、旋轉(zhuǎn)等功能[2][3]。
兩輪機(jī)器人小車的硬件設(shè)計(jì)如圖1所示,其運(yùn)動(dòng)可以通過直流電機(jī)或步進(jìn)電機(jī)控制。直流電機(jī)的驅(qū)動(dòng)電路通常用H橋電路控制其運(yùn)動(dòng)方向,通過脈沖寬度調(diào)制控制電機(jī)的運(yùn)動(dòng)速度。直流電機(jī)轉(zhuǎn)動(dòng)時(shí)為連續(xù)旋轉(zhuǎn),所以直流電機(jī)控制的小車運(yùn)動(dòng)過程平滑。但直流電機(jī)的轉(zhuǎn)動(dòng)距離無法通過驅(qū)動(dòng)電路精確控制,要借助測(cè)速模塊測(cè)量其轉(zhuǎn)動(dòng)角度,反饋給主控制器計(jì)算出小車的運(yùn)動(dòng)距離和運(yùn)動(dòng)速度。步進(jìn)電機(jī)的驅(qū)動(dòng)相對(duì)于直流電機(jī)的優(yōu)點(diǎn)是驅(qū)動(dòng)力矩大,運(yùn)動(dòng)距離控制精確。但步進(jìn)電機(jī)通常使用整步或半步方式轉(zhuǎn)動(dòng),電機(jī)轉(zhuǎn)動(dòng)不是連續(xù)的平滑過程。
兩輪小車的平衡控制需要通過傳感器測(cè)出小車車體的角度和運(yùn)動(dòng)加速度,通過控制器的計(jì)算,反饋給驅(qū)動(dòng)電機(jī)控制小車的運(yùn)動(dòng),實(shí)現(xiàn)小車的動(dòng)態(tài)平衡。目前有專用的運(yùn)動(dòng)姿態(tài)傳感器可以實(shí)現(xiàn)重力加速度和轉(zhuǎn)動(dòng)角速度XYZ三軸分解的測(cè)量。
小車的控制端與主控制器的無線通訊可以采用紅外2.4G無線通訊模塊、ZigBee模塊、藍(lán)牙模塊等。
此外,為實(shí)現(xiàn)小車測(cè)距、辨別聲音、具有機(jī)器視覺等功能,還可以加上超聲傳感器、聲音采集傳感器、攝像頭等。
圖1 系統(tǒng)硬件設(shè)計(jì)框圖
兩輪小車平衡的原理是一個(gè)倒立擺的物理模型。當(dāng)產(chǎn)生傾斜時(shí),車身與重心不在同一直線上,小車控制器將控制電機(jī)轉(zhuǎn)動(dòng)保持小車動(dòng)態(tài)平衡。而當(dāng)小車需要前進(jìn)或者后退時(shí),小車自身的動(dòng)態(tài)平衡將成為其前進(jìn)或者后退的阻力,此時(shí)利用加速度產(chǎn)生的慣性力抵消小車的重力分量,從而使小車前進(jìn)或者后退。
下面以一款手機(jī)藍(lán)牙控制的兩輪機(jī)器人小車為例,說明兩輪機(jī)器人基本功能實(shí)現(xiàn)方法。
兩輪機(jī)器人小車用51單片機(jī)可以實(shí)現(xiàn)簡(jiǎn)單地控制,但小車的自平衡控制需要大量計(jì)算,因而實(shí)例中采用STM32為小車主控制器,控制傳感器采集兩輪小車的角度、運(yùn)動(dòng)加速度和速度,控制電機(jī)驅(qū)動(dòng)模塊實(shí)現(xiàn)小車自主平衡站立。
目前智能手機(jī)和平板電腦中,藍(lán)牙模塊已經(jīng)成為標(biāo)準(zhǔn)配置,因而實(shí)例中使用藍(lán)牙進(jìn)行無線通訊,無需另外設(shè)計(jì)專用控制器。主控制器連接的藍(lán)牙模塊的主要功能是接收智能手機(jī)端發(fā)送的運(yùn)動(dòng)控制指令,控制自平衡小車在動(dòng)態(tài)平衡基礎(chǔ)上移動(dòng)、轉(zhuǎn)彎等功能。
本例中采用姿態(tài)測(cè)量傳感器模塊MPU-6050作為平衡測(cè)量模塊,主控制器通過I/C通信協(xié)議與MPU-6050,即時(shí)接收MPU-6050模塊測(cè)量的陀螺儀、加速度信息,再反饋到運(yùn)動(dòng)控制上。
2.系統(tǒng)軟件設(shè)計(jì)
軟件流程圖如圖2所示。程序啟動(dòng)后首先進(jìn)行系統(tǒng)初始化工作,包括定時(shí)器初始化、外部中斷初始化、I/O初始化、PWM波初始化、陀螺儀初始化等。
圖2 系統(tǒng)總體軟件流程圖
初始化結(jié)束后進(jìn)入主程序運(yùn)行。主程序進(jìn)行藍(lán)牙信號(hào)檢測(cè),如果沒有接收到手機(jī)藍(lán)牙發(fā)送的指令,則小車保持前一個(gè)狀態(tài),直到產(chǎn)生定時(shí)中斷。定時(shí)中斷中進(jìn)行陀螺儀、加速度計(jì)數(shù)據(jù)的采樣讀取,讀取值通過軟件卡爾曼濾波算法進(jìn)行濾波后,通過計(jì)算得到傾斜角度,并通過計(jì)算角度和讀取角速度進(jìn)行PID控制[4],調(diào)整兩輪電機(jī)驅(qū)動(dòng)電流的PWM值,使小車保持車身平衡。進(jìn)行多次角度和角速度調(diào)整控制后,根據(jù)時(shí)間段內(nèi)采集的編碼器脈沖數(shù),計(jì)算得到車身的速度和位移,進(jìn)一步進(jìn)行PID控制驅(qū)動(dòng)電路的PWM值,讓小車靜止。如果檢測(cè)到藍(lán)牙運(yùn)動(dòng)控制信號(hào),則根據(jù)指令進(jìn)行相應(yīng)的數(shù)據(jù)調(diào)整,讓小車在自平衡狀態(tài)下實(shí)現(xiàn)運(yùn)動(dòng)。
3.結(jié)語
機(jī)器人小車是良好的電子設(shè)計(jì)教學(xué)和實(shí)驗(yàn)平臺(tái),通過在小車上加入各種傳感器,以及聲、光效果,可以實(shí)現(xiàn)多種功能。兩輪自平衡小車的研究主要涉及模擬電子、數(shù)字電路、自動(dòng)控制、無線電通信、數(shù)字信號(hào)處理、應(yīng)用系統(tǒng)設(shè)計(jì)等多方面知識(shí),是多門課程知識(shí)的綜合應(yīng)用。作為一個(gè)良好的綜合實(shí)驗(yàn)平臺(tái),可以考查學(xué)生各門課程的知識(shí)掌握情況,鍛煉其硬件設(shè)計(jì)和軟件編程能力。通過這一設(shè)計(jì),鍛煉其自主學(xué)習(xí)能力。學(xué)生可在已實(shí)現(xiàn)的功能基礎(chǔ)上,加入其他擴(kuò)展功能,如圖像采集、循跡、測(cè)距、避障、舵機(jī)控制臂等,使兩輪小車成為一個(gè)多功能實(shí)驗(yàn)平臺(tái)。
參考文獻(xiàn):
[1]袁澤睿.兩輪自平衡機(jī)器人控制算法的研究[M].哈爾濱:哈爾濱工業(yè)大學(xué),2006.06.
[2]賀利樂,鄭建校.以機(jī)器人教學(xué)和實(shí)驗(yàn)平臺(tái)為載體培養(yǎng)大學(xué)生實(shí)踐創(chuàng)新能力[J].裝備制造技術(shù),2014(9).
[3]黃永志,陳衛(wèi)東.兩輪移動(dòng)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)器人,2004(26).
[4]孫炳達(dá).自動(dòng)控制原理(第5版)[M].北京:機(jī)械工業(yè)出版社,2011.05.