宋亞男,陳永安,徐榮華,宋子寅
(廣東工業(yè)大學 自動化學院,廣東 廣州 510006)
課題組結(jié)合本科生的畢業(yè)設(shè)計進行了實驗裝置和項目的開發(fā),此項工作讓參與實驗的學生增長了見識,提高了學習積極性,其相關(guān)的開發(fā)結(jié)果可以提供給以后的學生學習和參考,機器人運動控制系統(tǒng)實驗設(shè)計與實現(xiàn)就是其中一個。文章闡述了機器人運動控制系統(tǒng)的實驗設(shè)計目標、實現(xiàn)過程以及結(jié)果。
基于AVR單片機,結(jié)合機器人運動控制系統(tǒng)需求,以直流伺服電機作為被控對象,推導出其運動學模型,設(shè)計機器人的驅(qū)動和運動控制系統(tǒng)?;谠撗芯拷Y(jié)果構(gòu)建相應(yīng)實驗方案提供本科生學習使用。具體包括下面2個實驗設(shè)計目標:
(1)實現(xiàn)基于AVR單片機完成機器人運動控制系統(tǒng)中直流伺服電機速度/位置控制演示實驗,展示給學生直流伺服電機的控制原理,增強學生的動手興趣。
(2)基于AVR單片機完成機器人運動控制系統(tǒng)的半開放實驗(為了便于學習控制算法在實際系統(tǒng)中應(yīng)用,開放控制器設(shè)計部分和固化硬件電路部分),提供給學生針對機器人運動控制問題,進行改進控制算法的平臺。
在圖1所示平面直角坐標系中,以2個驅(qū)動輪軸心連線的中點Q為機器人的參考點,其廣義坐標向量為q=[xQ,yQ,θQ]T,其中θQ為機器人的航向角,d為2個輪子軸心之間的距離[1]。
機器人的運動學方程為:
圖1 機器人廣義坐標
其中:r為驅(qū)動輪半徑,ωL、ωR分別為左右驅(qū)動輪的轉(zhuǎn)速。
設(shè)機器人的線速度為vQ,角速度為ωQ,轉(zhuǎn)彎半徑為R,則:
課題組自行設(shè)計和制作了機器人系統(tǒng)[2-12],實物圖見圖2,系統(tǒng)結(jié)構(gòu)圖見圖3,硬件電路圖見圖4。
圖2 機器人系統(tǒng)實物圖
圖3 機器人系統(tǒng)硬件結(jié)構(gòu)圖
圖4 機器人系統(tǒng)硬件電路圖
這里主要采用基于PID算法,因為實驗設(shè)計不同,控制器開放程度不一樣,詳見下面兩節(jié)。
2.5.1 實驗目的
認識直流伺服電機控制器,熟悉直流伺服電機控制器命令系統(tǒng),培養(yǎng)控制器設(shè)計的思想和興趣。
2.5.2 伺服控制使用介紹
伺服系統(tǒng)結(jié)見圖5。命令系統(tǒng)如下:
其中,“<>”表示必須輸入項,“[]”表示可選輸入項,“CR”是回車。
M 命令:M<0|1|2|3><CR>
圖5 伺服系統(tǒng)結(jié)構(gòu)框圖
用于切換伺服控制模式,切換后位置寄存器、子命令寄存器清零。
E命令:E<0|1|2><CR>
此命令選擇是否回送輸入的字符,0為禁止,1為開啟,2為不回送任何字符。
P命令:P<參數(shù)號> [參數(shù)值]<CR>
更改或查看伺服參數(shù),參數(shù)號與參數(shù)值用空格隔開。參數(shù)設(shè)置詳解見文獻[2]。
W命令:W<EEPROM區(qū)域><CR>
把伺服參數(shù)保存到EEPROM相應(yīng)的區(qū)域,可以是0,1,2,3,4等。
R命令:R<EEPROM區(qū)域><CR>
從EEPROM相應(yīng)區(qū)域加載伺服參數(shù)。系統(tǒng)復位時,自動加載0區(qū)域的參數(shù)。
L命令:L<CR>
以十進制字符串的格式反饋位置計數(shù)器的值。
S命令:SL/SR/SB[數(shù)值]<CR>
設(shè)置子命令寄存器的值,在模式3下無效。模式0時,控制輸出電壓,輸入-255到+255,電壓輸出為-Vs到+Vs;模式1時,控制輸出力矩,若電機堵轉(zhuǎn),輸入-255到+255,電壓輸出為-Vs到+Vs;模式1時,控制電機轉(zhuǎn)速,輸入值按以下公式設(shè)置:
其中ω為電機轉(zhuǎn)速,單位是r/min;P1為速度環(huán)反饋增益;ER是編碼器分辨率,單位為ppr(單相脈沖數(shù)/轉(zhuǎn));fs為伺服控制頻率。
L、R、B分別表示左電機、右電機和2個電機(下同)。
J命令:JL/JR/JB[數(shù)值]<CR>
設(shè)置位置寄存器的值,只在模式3下有效。位置寄存器是24位有符號整數(shù)。模式3下,控制電機旋轉(zhuǎn)到位置寄存器指向的位置,即保持位置計數(shù)器與位置寄存器的數(shù)值相等。例如,要使電機旋轉(zhuǎn)一圈,輸入值按以下公式計算:
其中L為位置計數(shù)器的值。
此外,“?<CR>”顯示幫助信息,“*<CR>”可使直流伺服電機控制器反饋速度信號1次,“&<CR>”返回伺服模式代號,“#<CR>”返回位置計數(shù)器的值1次,“$1<CR>”以200Hz連續(xù)反饋速度,“$2<CR>”以200Hz連續(xù)反饋位置計數(shù)器的值,“$0<CR>”關(guān)閉反饋。
2.5.3 實驗內(nèi)容和實驗步驟
(1)設(shè)置伺服參數(shù)。用串口把PC機與伺服電機控制器連接;打開超級終端,連接對應(yīng)串口,波特率設(shè)為38 400bit/s,無校驗;輸入E1<CR>使直流伺服電機控制器反送字符,以便看到鍵入的字符;設(shè)置P0為200、P1為1 280、P2為512、P3為16、P4為240、P5為893。
(2)速度控制。輸入M2<CR>切換到速度控制模式;按(1)設(shè)置伺服參數(shù);分別輸入SL 100<CR>,SR 100<CR>,SB 100<CR>;④更改輸入值,對比觀察電機速度。
(3)位置控制。輸入M3<CR>切換到位置控制模式;按(1)設(shè)置伺服參數(shù);分別輸入JL 50000<CR>,JR 50000<CR>,JB 50000<CR>;更改輸入值,讓電機轉(zhuǎn)一圈,測試出電機編碼器的精度。
2.6.1 實驗目的
為了便于學習控制算法在實際系統(tǒng)中的應(yīng)用,開放機器人運動控制器設(shè)計部分和固化硬件電路部分,提供給學生針對機器人運動控制問題,進行改進控制算法的平臺。
2.6.2 實驗內(nèi)容和實驗步驟
按圖2構(gòu)建系統(tǒng):連接串口,給直流伺服電機控制器上電。打開VC解決方案Car_Control.sln。
(1)前進后退。
① 重新創(chuàng)建main.c文件,并編寫主函數(shù)main(),包含頭文件Car_Control.h;
② 在主函數(shù)中一次調(diào)用InitUart1,InitSMC,完成串口和直流伺服電機控制器的初始化;
③ 調(diào)用GoLine,實現(xiàn)前進和后退。
(2)旋轉(zhuǎn)運動控制程序。
① 重新創(chuàng)建main.c文件,并編寫主函數(shù)main(),包含頭文件Car_Control.h;
② 在主函數(shù)中一次調(diào)用InitUart1,InitSMC,完成串口和直流伺服電機控制器的初始化;
③ 調(diào)用GoArc,實現(xiàn)原地旋轉(zhuǎn)和圓弧運動。
(3)添加控制算法。
在上述2個實驗中添加代碼,實現(xiàn)平穩(wěn)啟動和停車。算法自行設(shè)計。
目前,機器人運動控制系統(tǒng)實驗設(shè)計與實現(xiàn)在相關(guān)基金項目的資助下正準備引入本科實驗教學中,已經(jīng)經(jīng)過部分學生和教師的試運行,受到好評。實踐表明:這種引導本科畢業(yè)設(shè)計學生參與實驗室建設(shè)方式,在實驗設(shè)備緊張的情況下,既能讓學生有機會參與具體實踐,同時學生的優(yōu)秀設(shè)計又可以服務(wù)于實驗室建設(shè),為后屆學生提供參考和開設(shè)新的實驗項目,使實驗資源得到充分利用。
感謝:機器人運動控制系統(tǒng)實驗設(shè)計與實現(xiàn)是基于學生陳永安的本科畢業(yè)設(shè)計工作完成的,特此表示感謝。
(References)
[1]徐德,鄒偉.室內(nèi)移動式服務(wù)機器人的感知、定位與控制[M].北京:科學出版社,2008.
[2]陳永安.召喚式撿球機器人的運動控制系統(tǒng)設(shè)計與實現(xiàn)[D].廣州:廣東工業(yè)大學,2011.
[3]ChaN.ELM-DC Servomotor Controller[EB/OL].[2012-03-11].http://elm-chan.org/works/smc/report_e.html.
[4]王兆安,黃俊.電力電子技術(shù)[M].4版.北京:機械工業(yè)出版社,2000.
[5]Yang Jungnin,Kim Jonghwan.Sliding Mode Control for Trajectory Tracking of Nonholonomic Wheeled Mobile Robots [J].IEEE Transactions on Robotics and Automation,1999,15(3):578-587.
[6]Dubins L E.On curves of minimal length with a constraint on average curvature and with prescribed initial and terminal position and tangents[J].American Journal of Mathematics,1957(79):497-516.
[7]Yeol J W,Ryu Y S,Montalvo M A.Shortest Trajectory Planning of Wheeled Mobile Robots with Constraints[J].Proceedings of IEEE Networking,Sensing and Control,Arizona,2005:883-888.
[8]Configuring a Communications Resource[EB/OL].[2012-03-11].http://msdn.microsoft.com/en-us/library/aa363201.aspx.
[9]張東軍,郭文成,劉蓮花.基于紅外超聲光電編碼器的室內(nèi)移動小車定位系統(tǒng)[J].電子工程師,2007,33(3):70-76.
[10]丁偉,孫華,曾建輝.基于多傳感器信息融合的移動機器人導航綜述[J].傳感器與微系統(tǒng),2006,25(7):1-3.
[11]郭彤穎,蔡安勇,鄭舂暉.移動機器人導航與定位研究進展[J].科技廣場,2008(7):229-231.
[12]田國會,李曉磊.家庭服務(wù)機器人智能空間技術(shù)研究與進展[J].山東大學學報:工學版,2007,37(5):53-58.