文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.191263
中文引用格式: 胡春生,,修瑞,,王德. 水泥地面打磨機(jī)器人運動控制系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2020,,46(2):103-108.
英文引用格式: Hu Chunsheng,,Xiu Rui,Wang De. Design of motion control system for cement floor polishing robot[J]. Application of Electronic Technique,,2020,,46(2):103-108.
0 引言
在我國建筑行業(yè)中,,傳統(tǒng)水泥地面打磨主要是由工人手工工作或者配合半自動化機(jī)械產(chǎn)品共同協(xié)作完成,,但是往往造成地面打磨光整度并不是太好,,打磨過程中大量灰塵嚴(yán)重危害了工人健康,對于大面積地面時,,工作效率非常低[1],。水泥地面打磨機(jī)器人可以有效解決上述難題,可極大提高工作效率,,減輕工作人員勞動作業(yè)量,,消除灰塵對工作人員的傷害[2]。而目前比較成熟的產(chǎn)品往往是由人工扶持的半自動產(chǎn)品,,通過對現(xiàn)存的機(jī)器進(jìn)行分析發(fā)現(xiàn)有的機(jī)型太過于笨重,,搬運和更換磨片很費力,有的機(jī)型太輕,,磨削力不足,,效率低,大部分產(chǎn)品依然沒有完成無人自動打磨任務(wù)[3],。針對以上問題,,需研發(fā)出能夠在少人或者無人看守的情況下自動工作的打磨機(jī)器人,它可以依靠自身的激光雷達(dá)構(gòu)建室內(nèi)地圖,,通過運動路徑規(guī)劃,、定位導(dǎo)航、運動控制配合打磨轉(zhuǎn)盤控制,,實現(xiàn)建筑水泥地面的自動打磨,。
本設(shè)計的核心是配合路徑規(guī)劃實現(xiàn)復(fù)雜運動中基本運動的控制,其原因在于每一種復(fù)雜運動都可拆解為前進(jìn),、后退,、左轉(zhuǎn)、右轉(zhuǎn)等基本運動的組合,,所以對基本運動的準(zhǔn)確控制尤為重要,。
在本設(shè)計中首先對所研究的機(jī)器人構(gòu)建運動學(xué)模型,在分析了機(jī)器人四種基本運行方式基礎(chǔ)上,,針對機(jī)器人速度控制問題提出速度控制算法,并通過MATLAB軟件完成算法的仿真,。在水泥地面打磨機(jī)器人基本運動實現(xiàn)過程中是以STM32F103Z為運動控制系統(tǒng)的主控芯片,,通過伺服驅(qū)動器驅(qū)動電機(jī)轉(zhuǎn)動,完成機(jī)器人運動控制系統(tǒng)硬件平臺的搭建,,軟件部分以C語言為編程語言,,在Keil μVision5集成開發(fā)環(huán)境中編程,通過仿真器下載到STM32F103Z芯片,,最后通過機(jī)器人樣機(jī)進(jìn)行實驗,。
1 機(jī)器人運動學(xué)模型建立
為了準(zhǔn)確描述機(jī)器人在運動過程中位姿信息,,對水泥地面打磨機(jī)器人的移動車體結(jié)構(gòu)部分進(jìn)行簡化,構(gòu)建該機(jī)器人的運動學(xué)模型,。
如圖1所示,,水泥地面打磨機(jī)器人可以分為兩大部分,第一部分為功能部分,,主要是打磨盤以及與之相適應(yīng)的驅(qū)動電機(jī),,打磨轉(zhuǎn)盤與電機(jī)之間通過V帶進(jìn)行傳動,在驅(qū)動電機(jī)尾部安裝有編碼器,,通過編碼器獲得驅(qū)動電機(jī)的轉(zhuǎn)速信息,;另一部分是移動機(jī)器人載體,移動機(jī)器人前輪為驅(qū)動輪,,通過控制驅(qū)動輪完成對機(jī)器人運動方式的控制,,兩個后輪是萬向輪,只起到支撐作用,。
將上述水泥地面打磨機(jī)器人結(jié)構(gòu)進(jìn)行簡化,,得到如圖2所示的機(jī)器人運動學(xué)模型。
在圖2中,,Xr,、Yr分別是機(jī)器人局部參考坐標(biāo)系下的橫坐標(biāo)與縱坐標(biāo),X,、Y分別是全局坐標(biāo)系下的橫坐標(biāo)與縱坐標(biāo),,Xr總是與機(jī)器人的運動方向保持一致。O是機(jī)器人車體的中心,,設(shè)差速驅(qū)動機(jī)器人的廣義坐標(biāo)為q=[x,,y,θ],,其中x,、y表示差速驅(qū)動機(jī)器人平臺兩個驅(qū)動輪中心的中點O的橫坐標(biāo)與縱坐標(biāo)。即兩個驅(qū)動輪連線的中點坐標(biāo),。
關(guān)于所有涉及參數(shù)的含義為:νL,、νR、ν分別表示驅(qū)動輪左輪速度,、驅(qū)動輪右輪速度和水泥地面打磨機(jī)器人當(dāng)前速度,;2L表示兩個驅(qū)動輪的間距,近似看做機(jī)器人車寬,;r表示單個驅(qū)動輪的半徑,;θ表示機(jī)器人運動方向與全局坐標(biāo)系X軸之間的夾角。
式(1)中兩個驅(qū)動輪速度υL、υR共同決定了水泥地面打磨機(jī)器人四種運行方式:
(1)當(dāng)υL=υR時,,υL,、υR同時正轉(zhuǎn),地面打磨機(jī)器人向前直線運動,;
(2)當(dāng)υL=υR時,,υL、υR同時反轉(zhuǎn),,地面打磨機(jī)器人向后直線運動,;
(3)當(dāng)υL>υR地面打磨機(jī)器人向右轉(zhuǎn)彎;
(4)當(dāng)υL<υR地面打磨機(jī)器人向左轉(zhuǎn)彎,。
針對水泥地面打磨機(jī)器人的運動,,在坐標(biāo)系Xr-Yr建立運動學(xué)方程:
式(2)表示機(jī)器人運動過程中的當(dāng)前位姿信息。通過對式(2)兩邊進(jìn)行積分化簡,,然后經(jīng)過離散化處理得到機(jī)器人空間位姿變化與機(jī)器人驅(qū)動輪移動距離之間的關(guān)系表達(dá)式:
式(3)表示機(jī)器人在tn+1時刻的瞬時位姿與兩驅(qū)動輪移動距離ΔsL,、ΔsR之間的關(guān)系,xn+1,、yn+1,、θn+1表示在tn+1時刻機(jī)器人的位姿信息,xn,、yn,、θn表示在tn時刻的機(jī)器人位姿,左驅(qū)動輪的移動距離為ΔsL,、右驅(qū)動輪的距離為ΔsR,。
由以上公式推導(dǎo)過程可以得到機(jī)器人在某時刻準(zhǔn)確的位姿信息,在實際控制過程中,,機(jī)器人位姿信息可由機(jī)器人驅(qū)動電機(jī)自帶編碼器的數(shù)據(jù)輸出,,計算出兩個驅(qū)動輪的位移,最終得到該機(jī)器人的實際位姿,。此外,,利用差速驅(qū)動原理[5]改變兩驅(qū)動輪的速度,可以實現(xiàn)機(jī)器人運動方式的控制,,為機(jī)器人運動控制系統(tǒng)的實現(xiàn)提供理論依據(jù),。
2 加減速控制算法
水泥地面打磨機(jī)器人在運動中會產(chǎn)生噪聲以及振動,如果沒有合適的運動控制算法將會導(dǎo)致機(jī)器人穩(wěn)定性降低,,產(chǎn)生的振動也會加速機(jī)器人機(jī)械部件的磨損,,并且會使得機(jī)器人定位產(chǎn)生較大誤差,針對此問題,,本設(shè)計提出基于“S”型曲線的速度控制算法,,該算法能夠有效解決該機(jī)器人在運動控制中穩(wěn)定性低、定位誤差大等問題[6],。
“S”型曲線具有加速度呈現(xiàn)線性,、加速度連續(xù)性、速度平滑過渡的特點,。由于速度曲線的形狀,,這個軌跡稱為雙“S”速度曲線。曲線是由加加速階段,、勻加速階段,、減加速階段、勻速階段,、加減速階段,、勻減速階段和減減速階段這七個階段組成的,因此又叫七段式軌跡[7],,如圖3所示,。
由以上曲線圖可得“S”型速度控制算法數(shù)學(xué)表達(dá)式。
速度計算數(shù)學(xué)表達(dá)式:
在該機(jī)器人速度控制算法中,,設(shè)定地面打磨機(jī)器人最大的運行速度為0.8 m/s,,最大加速度為0.5 m/s,接著對“S”型加減速控制算法在MATLAB進(jìn)行仿真,,仿真結(jié)果如圖4,、圖5所示。
通過圖4可以看出,,機(jī)器人在前2.5 s處于加速狀態(tài),,在2.5 s時完成加速過程,速度到達(dá)最大值80 cm/s,,在加速過程中,,速度曲線光滑連續(xù),沒有尖點,;在減速時,,情況類似,符合水泥地面打磨機(jī)器人速度控制要求,。
通過圖5可以看出,,機(jī)器人在前1 s加速度勻速增加,在1 s時,,加速度到達(dá)最大值50 cm/s,,隨后加速度保持不變,在1.6 s時加速度開始減小,,2.5 s加速度減為零,,機(jī)器人完成加速階段。在加速度減小時,情況類似,;整個加速過程曲線連續(xù),,滿足加速度要求。
通過圖4,、圖5可知:S型曲線在整個速度調(diào)節(jié)過程中平滑過渡,,不存在加速度突變現(xiàn)象,表明水泥地面打磨機(jī)器人運動平穩(wěn),,無較大沖擊,,可以保證機(jī)器人在運動過程中平穩(wěn)運行。
3 運動控制系統(tǒng)硬件設(shè)計
從水泥地面打磨機(jī)器人工作角度考慮,,運動控制系統(tǒng)整體設(shè)計主要包括:車體,、驅(qū)動輪、伺服電機(jī)及伺服驅(qū)動器,、運動控制器,、供電電源、串口通信電路和按鍵模塊,。其中,,STM32F103Z芯片是運動控制器的核心,主要是通過向兩個驅(qū)動器發(fā)送一定的頻率脈沖PWM信號,,協(xié)調(diào)控制機(jī)器人兩驅(qū)動輪的轉(zhuǎn)速和方向,,最終實現(xiàn)對打磨機(jī)器人本體的控制以及打磨盤轉(zhuǎn)速的調(diào)節(jié)[8]。
整個系統(tǒng)的能量來源是48 V鋰電池通過降壓模塊輸出適配各個模塊的電壓要求,,運動控制系統(tǒng)硬件框圖如圖6所示,。
本系統(tǒng)采用STM32F103Z作為控制系統(tǒng)中的控制芯片[9],STM32的I/O模塊連接按鍵通過高低電平的轉(zhuǎn)換,,實現(xiàn)信號的輸入,,完成相應(yīng)的功能。通過STM32的高級定時器TIM8模塊輸出PWM波值到伺服驅(qū)動器,,伺服驅(qū)動器將收到的信號進(jìn)行分析驅(qū)動伺服電機(jī)以及打磨電機(jī)轉(zhuǎn)動,,電機(jī)轉(zhuǎn)動過程中的位置以及速度信息通過編碼器經(jīng)過伺服驅(qū)動器間接傳遞到微控制器中,用于機(jī)器人的位姿計算,。其電路如圖7所示,。
編碼器采集數(shù)據(jù)的反饋電路采用EL357NC光耦芯片,將伺服驅(qū)動器產(chǎn)生的三對互補信號A+A-B+B-Z+Z-通過高速光耦轉(zhuǎn)化為單端信號A+/B+/Z+輸出到控制器STM32,,本設(shè)計的機(jī)器人運動控制系統(tǒng)電路共有左右兩個驅(qū)動輪的數(shù)據(jù)輸出,,該模塊僅以右側(cè)編碼器數(shù)據(jù)采集進(jìn)行介紹,電路原理圖如圖8所示,。
電源模塊主要由鋰電池以及專用電源轉(zhuǎn)換芯片組成,,供電電壓為48 V,,其中打磨電機(jī)、機(jī)器人驅(qū)動電機(jī)采用鋰電池直接供電,,其他電路通過電壓轉(zhuǎn)換模塊將48 V轉(zhuǎn)換為24 V用于吸塵電機(jī)供電,,24 V轉(zhuǎn)5 V用于給編碼器等外圍電路供電,5 V轉(zhuǎn)3.3 V用于給STM32系統(tǒng)供電,。
4 運動控制系統(tǒng)軟件設(shè)計
該控制系統(tǒng)采用C語言進(jìn)行軟件編程,控制系統(tǒng)軟件功能主要是完成控制指令的接收與發(fā)送,、機(jī)器人速度控制算法的解算,、對驅(qū)動輪速度進(jìn)行計算和驅(qū)動以及參數(shù)的存儲。
軟件設(shè)計主要包括以下幾個模塊:程序的初始化,、串口通信模塊,、定時器中斷模塊、伺服電機(jī)驅(qū)動模塊,、打磨盤驅(qū)動模塊以及電源電量顯示模塊等,,運動控制系統(tǒng)軟件的主要工作流程如圖9所示。
在機(jī)器人通電后,,首先對控制系統(tǒng)進(jìn)行初始化,,包括定時器、PWM函數(shù),、串口函數(shù),,接著開啟外部中斷,當(dāng)系統(tǒng)接收按鍵發(fā)出指令時,,STM32F103芯片輸出PWM波值,,程序運行。機(jī)器人開始運動,,同時編碼器對電機(jī)的位置進(jìn)行檢測,,通過定時器計算出當(dāng)前機(jī)器人位置,當(dāng)機(jī)器人系統(tǒng)即將到達(dá)預(yù)設(shè)目標(biāo)值時,,開始調(diào)用“S”曲線速度控制算法進(jìn)行速度控制直至到達(dá)目標(biāo)值保證機(jī)器人的運動精度,。
5 運動誤差測試與分析
水泥地面打磨機(jī)器人實物圖如圖10所示,在測試之前,,先打開強(qiáng)電電源開關(guān)用于給兩個驅(qū)動電機(jī)以及打磨電機(jī)供電,,然后打開弱電控制開關(guān),用于給控制系統(tǒng)供電,。然后通過按鍵控制機(jī)器人的直線行走,、半徑轉(zhuǎn)彎。
5.1 運動誤差測試
本文對機(jī)器人的運動誤差測試主要分為兩部分:直線運行時產(chǎn)生的誤差,、半徑轉(zhuǎn)彎時產(chǎn)生的誤差,。
(1)直線運行時產(chǎn)生的誤差
在機(jī)器人直線運行誤差測試時,,選擇的路程分別為200 cm、400 cm,、600 cm,,在相同的路程以不同的速度進(jìn)行測試,并將設(shè)定的目標(biāo)路程與實際機(jī)器人運行的路程之間的差值記為系統(tǒng)產(chǎn)生的定位誤差,。
整個誤差測試過程:第一步,,通過按鍵發(fā)送指令到控制器,在程序中設(shè)置機(jī)器人的目標(biāo)路程,;第二步,,按下按鍵,機(jī)器人按照設(shè)定的路程行走,;第三步,,通過卷尺對機(jī)器人實際運行的距離進(jìn)行測量,當(dāng)運行距離較小時,,采用游標(biāo)卡尺進(jìn)行輔助測量,;第四步,記錄測試數(shù)據(jù)繪制表格,;直線運行誤差數(shù)據(jù)結(jié)果如表1所示,。
通過表1測試結(jié)果可知,不同的路程或者速度設(shè)置不同時,,均存在一定的誤差,,隨著路程的增加,機(jī)器人所產(chǎn)生的誤差逐漸增加,;速度增加,,機(jī)器人的誤差也呈現(xiàn)增加趨勢。平均誤差范圍在1.0 cm至1.9 cm之間,,最大誤差2.9 cm時,,實驗記錄距離為600 cm。通過最大誤差和標(biāo)準(zhǔn)差可知,,該控制系統(tǒng)在一定程度上保證了直線行駛時的精度,。
(2)轉(zhuǎn)彎運行時產(chǎn)生的誤差
在進(jìn)行機(jī)器人轉(zhuǎn)彎誤差測試時,選擇半徑為400 cm的圓弧線路,,通過設(shè)置不同速度,,測量機(jī)器人轉(zhuǎn)彎運行誤差,為了保證測試更加精確采用卷尺與游標(biāo)卡尺相結(jié)合進(jìn)行測試,。測試過程與直線測試方法相同,,誤差結(jié)果采用平均誤差作為參考值,當(dāng)機(jī)器人在半徑為400 cm運行時,,誤差結(jié)果如表2所示,。
通過表2測試結(jié)果可知:當(dāng)機(jī)器人運轉(zhuǎn)速度逐漸增加時,,機(jī)器人的轉(zhuǎn)彎定位誤差越大;當(dāng)機(jī)器人轉(zhuǎn)彎角度增加時,,機(jī)器人轉(zhuǎn)彎定位誤差也是呈現(xiàn)逐漸增加的趨勢,,平均誤差范圍在1.1 cm至2.0 cm之間,最大誤差3.1 cm時,,速度為70 cm/s,,旋轉(zhuǎn)角度為360°,通過最大誤差與標(biāo)準(zhǔn)差可知,,該控制系統(tǒng)在一定程度保證了轉(zhuǎn)彎運行的精度,。
5.2 誤差分析
通過測試發(fā)現(xiàn)水泥地面打磨機(jī)器人能夠完成設(shè)定的功能,如直行,、半徑轉(zhuǎn)彎、速度控制,,但其中產(chǎn)生誤差的原因可能具有以下原因:
(1)地面打磨機(jī)器人在安裝過程中,,存在安裝誤差。該誤差使得機(jī)器人在執(zhí)行何種類型的動作時, 都會產(chǎn)生偏差,。
(2)控制運動過程中存在輕微抖動現(xiàn)象,,使得機(jī)器人在運行中出現(xiàn)偏差,在消除誤差時候,,需要對控制系統(tǒng)算法進(jìn)一步優(yōu)化,。
(3)地面打磨機(jī)器人測試過程中都在水泥的地面上進(jìn)行,地面的粗糙程度,,在一定程度上導(dǎo)致機(jī)器人在運動動作產(chǎn)生誤差,。
在下一步的研究中,將對機(jī)械結(jié)構(gòu)做優(yōu)化,,并進(jìn)一步對算法進(jìn)行優(yōu)化,,以保證在不同平整度的地面上工作的情況下運動的穩(wěn)定性。
6 結(jié)論
本文開發(fā)設(shè)計了水泥地面打磨機(jī)器人的基本運動控制系統(tǒng),并在實際樣機(jī)中對相關(guān)功能的進(jìn)行驗證,。本文首先針對水泥地面打磨機(jī)器人建立運動學(xué)模型,在該模型的基礎(chǔ)上,,提出了一種差速驅(qū)動轉(zhuǎn)向結(jié)合“S”曲線算法控制水泥地面打磨機(jī)器人的基本運動控制方案,并對該算法進(jìn)行仿真驗證,,接著對機(jī)器人基本運動控制系統(tǒng)進(jìn)行軟硬件設(shè)計,,最后通過樣機(jī)進(jìn)行試驗。該實驗表明本設(shè)計的控制系統(tǒng)在一定程度上保證了機(jī)器人的直線運行和轉(zhuǎn)彎運行精度,,實現(xiàn)了水泥地面打磨機(jī)器人的基本運動控制,,為水泥地面打磨機(jī)器人的進(jìn)一步研發(fā)提供基礎(chǔ)。
參考文獻(xiàn)
[1] 付巍巍.拋光機(jī)器人的力控制研究及應(yīng)用[D].武漢:武漢理工大學(xué),,2017.
[2] 葛君華.建筑施工用打磨機(jī)器人的工作方法:CN108756-177A[P].2018-11-06.
[3] 馮強(qiáng),,葉長汀.全自動地坪拋光研磨機(jī)[J].石材,,2016(9):45-46,54.
[4] 任工昌,,吳夢珂,,朱愛斌,等.帶單節(jié)拖車的機(jī)器人控制系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,,2018,,44(11):41-44,49.
[5] 古順東,,陳紫娟,,陳珂,等.一種差速驅(qū)動的探險救援機(jī)器人研制[J].廣東石油化工學(xué)院學(xué)報,,2018,,28(3):53-57.
[6] 王玉,王旗華,,趙建光,,等.焊接機(jī)器人虛擬樣機(jī)軌跡模擬和運動仿真分析[J].焊接學(xué)報,2012,,33(4):109-112,,118.
[7] 潘海鴻,袁山山,,黃旭豐,,等.全類型非對稱七段式S型曲線加減速控制算法研究[J].機(jī)械科學(xué)與技術(shù),2018,,37(12):1928-1935.
[8] 李玉娟.基于STM32的變電站巡檢機(jī)器人運動控制系統(tǒng)設(shè)計與實現(xiàn)[D].成都:西南交通大學(xué),,2013.
[9] 馬妍,宋愛國.基于STM32的力反饋型康復(fù)機(jī)器人控制系統(tǒng)設(shè)計[J].測控技術(shù),,2014,,33(1):74-78.
作者信息:
胡春生1,修 瑞2,,王 德1
(1.寧夏大學(xué) 機(jī)械工程學(xué)院,,寧夏 銀川750001;2.中國電子科技集團(tuán)公司第二十一研究所,,上海200233)