文獻(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)