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