摘 要: 由于移動機器人左右兩輪的非線性特征,,其反饋調(diào)節(jié)無法克服這一特性,必須借助PC機來進行調(diào)節(jié),。為此提出了一種無線實時反饋控制方法,,在PC機上加入PID控制算法,實現(xiàn)了對機器人的無線實時反饋控制,。
關(guān)鍵詞: 反饋控制,; PID控制; 無線控制
機器人技術(shù)是當今科學技術(shù)發(fā)展的前沿學科,。移動機器人是機器人研究領(lǐng)域中的一個重要分支,,它集人工智能、控制理論,、信息處理,、圖像處理等專業(yè)技術(shù)于一體,跨計算機,、自動控制,、通信、機械,、電子等多學科,,成為當前智能機器人研究的重點之一。如何方便,、快捷,、廉價地控制移動機器人,己經(jīng)成為機器人技術(shù)的一個突出問題,。在當前的控制領(lǐng)域中,,無線控制技術(shù)已經(jīng)成為一種重要而便利的控制技術(shù),。美國、日本,、德國以及包括中國在內(nèi)的很多國家都對機器人的無線控制技術(shù)這一課題進行了研究并取得了一定的成果,。本文研究的重點是無線反饋控制系統(tǒng)的設(shè)計,通過PC機,、無線通信模塊和機器人構(gòu)成的反饋系統(tǒng),,成功地實現(xiàn)了PC機對機器人的無線實時反饋控制[1-2]。
1 機器人平臺
本實驗所采用的移動機器人是上海廣茂達公司生產(chǎn)的AS-U32能力風暴機器人,該機器人是AS-UⅡ的升級版,,主要升級部件是微控制器,,AS-UⅡ使用的是Motorola公司的單片機68HC11,而AS-U32使用的是飛利浦公司的RAM7 LPC2103,,這使得機器人有更強大的處理功能,。AS-U32有如下特點:
(1)自主輪式移動機器人,是一個對外界環(huán)境高度開放的智能系統(tǒng),。它采用左右兩輪驅(qū)動,,前后兩輪隨動。驅(qū)動方式采用的是差動驅(qū)動方式,,即2個有差異的或獨立的運動合成為1個運動,。當把2個電機的運動合成為1個運動時,則為差動驅(qū)動,。如讓機器人走直線,,左右兩個輪的速度必須相等;讓機器人走弧線時,,左右兩個輪子的速度必須不相等,。
(2)機器人帶有專用的軟件開發(fā)環(huán)境,,即圖形化交互式的C語言(簡稱VJC),。VJC由兩部分組成:編譯環(huán)境(包含交互式命令行編輯和調(diào)試功能)和機器人操作系統(tǒng)。VJC實現(xiàn)了C 語言的一個子集, 它包括控制語句(for,while, if else)局部變量和全局變量,、數(shù)組,、指針、結(jié)構(gòu)體,、16位和32 位整數(shù),、32 位浮點數(shù)。VJC 的一大優(yōu)點是支持多任務(wù)程序的運行,。
(3)機器人配有一定數(shù)量的傳感器,具有一定的感知周圍環(huán)境的能力,。傳感器包括2支紅外發(fā)射管和1個紅外接收模塊,2個光傳感器和4個碰撞傳感器。另外,還包括旋轉(zhuǎn)角度編碼器和麥克風,。紅外傳感器可以判斷前方約120°內(nèi),、距離在10~50 cm 范圍內(nèi)的物體;光傳感器可判斷光線的強弱;碰撞傳感器安裝在機器人外部的碰撞環(huán)上,能感受到8個方向上的碰撞;麥克風沒有方向性,能感知聲音的強弱;旋轉(zhuǎn)編碼器用來測量輪子旋轉(zhuǎn)的角度數(shù),。
(4)機器人借助LPC2103來完成數(shù)據(jù)處理。雖然該處理器具有很強大的處理功能,,但用于反饋控制還是不夠的,,所以必須由PC機來共同完成。機器人自帶有4針SCI總線,,可為機器人的擴展帶來方便[3],。
2 PC機與機器人之間的無線通信硬件平臺
2.1 無線通信模塊
考慮到自主式移動機器人的特點,無線通信是計算機與機器人通信較為理想的通信方式。實驗中采用的是CC1000單片射頻無線收發(fā)模塊,,該模塊主要性能如下:
(1)發(fā)射功率為10 mW,。
(2)工作頻率在ISM頻段,無需申請點,。
(3)干擾能力和誤碼率:基于FSK的調(diào)制方式,,采用高效前向糾錯信道編碼技術(shù),提高了數(shù)據(jù)抗突發(fā)干擾和隨機干擾的能力,,在信道誤碼率為10~2時,,可得到實際誤碼率為10.5~10.6。
(4)傳輸距離:在視距情況下,,天線高度>3 m,,可靠傳輸距離>300 m。
(5)多信道,,多速率:無線通信模塊標準配置提供8個信道,,可滿足用戶多種通信組合方式;可提供1 200 b/s,、2 400 b/s,、4 800 b/s、9 600 b/s等多種波特率,,并且接口波特率與無線傳輸波特率一樣,,以滿足客戶設(shè)備對不同波特率的需要。
(6)雙串口,,3種接口方式:無線通信模塊提供2個串口,、3種接口方式。COM1為TTL電平UART接口,,COM2由用戶自定義為標準的RS-232/RS-485接口,。可用硬件配置成7種不同的信道,,選擇不同的接口方式以及不同的校驗方式[3],。
2.2 機器人無線通信的總體設(shè)計框架
基于機器人與無線通信模塊的特點,設(shè)計的無線控制機器人的總體框架如圖1所示,。
3 PC機與機器人構(gòu)成的反饋控制系統(tǒng)的設(shè)計
本實驗PC機(上位機)所用的軟件是VC++6.0,,用VC做串口通信可以有很多種方法:可以用控件MSComm,,也可用Win32的API串行通信函數(shù),本文選擇CSerialPort類進行串口通信編程(屬于Win32的API串行通信編程),。該編程方法是一個多線程的串口編程類,,與MSComm控件相比,CSerialPort打包時,,不需要加入其他的文件,,而且函數(shù)都是開放透明的,允許進行改造,。此外,,不需要去理解很難掌握的數(shù)據(jù)類型[4]。有關(guān)這方面的詳細介紹可以參看參考文獻[4],。下面主要介紹反饋控制系統(tǒng)是如何設(shè)計的,。
對被控對象進行開環(huán)控制達不到理想的控制效果,所以必須對機器人進行閉環(huán)控制,。整個反饋控制系統(tǒng)如圖2所示,。
從圖2可以看出,首先必須對被控對象進行建模,,通過實驗測得機器人左右兩電機的輸入輸出之間的關(guān)系,,然后通過MATLAB進行仿真得到如圖3所示的被控對象的模型圖。
從圖可以看出,,機器人的左右兩輪都是非線性的特性,,電機的輸入?yún)?shù)大于60時,輸出的實際速率基本飽和了,。所以必須加入PID控制來克服機器人這種非線性的特性,。
在連續(xù)控制系統(tǒng)中,PID控制算法的控制規(guī)律可以寫成如下的形式:
式中,u(t)為PID控制器的輸出,,也稱為被控對象的控制輸入;ε(t)為偏差; Kp為比例系數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù),。為了在數(shù)字控制系統(tǒng)上實現(xiàn)PID控制,需將連續(xù)PID控制規(guī)律化成離散型的PID控制規(guī)律,,即用差分方程表示,。為此,,取T0為采樣周期,。由于采樣周期遠小于信號變化的周期,可以用矩陣面積求和的方法近似式(1)中的積分作用,,用向后差分的方法近似微分作用,,則式(1)可以化為:
式(4)稱為PID控制器遞推公式。應(yīng)用(4)式計算采樣時刻k的控制器輸出u(k),,可以極大地節(jié)省計算機內(nèi)存空間和計算時間,,使實時控制成為可能,。
許多控制系統(tǒng)的執(zhí)行機構(gòu)本身具有記憶功能,例如步進電機作為執(zhí)行元件,,具有保持歷史位置的功能,,當控制器給出1個增量信號時,執(zhí)行機構(gòu)在原來位置上移動某一定位置,,達到新的平衡位置,。在這種情況下,需要采用增量型PID控制算法,。設(shè)被控對象的控制輸入增量為Δu(k),,即:
式(5)稱為增量型PID控制算法。
增量型PID與位置PID控制算法,,本質(zhì)上是一樣的,,僅在計算方法上有所變化。增量式算法一般用于步進電機之類的對象,,但由于本文所用到的機器人的電機為非步進電機,,它所輸入的控制量應(yīng)為絕對數(shù)值。所以本文采用位置式PID算法[5],。
對于PID 3個參數(shù)的調(diào)節(jié)有各種不同方法,,在本實驗中主要是試湊法。試湊法也要遵循一定的規(guī)律,,一般來說,,增大比例系數(shù)Kp,將加快系統(tǒng)響應(yīng)速度,,減少系統(tǒng)靜態(tài)誤差,,但直接影響系統(tǒng)的穩(wěn)定性。增大積分時間常數(shù)Ti,,有利于提高系統(tǒng)的穩(wěn)定性,,但同時也加大了系統(tǒng)消除穩(wěn)態(tài)誤差的調(diào)節(jié)時間。微分控制作用,,將改善系統(tǒng)的動態(tài)性能,。
在整個反饋系統(tǒng)的設(shè)計中,還有一個重要問題就是系統(tǒng)的采樣時間T,本系統(tǒng)的采樣時間不能設(shè)置得太短,。由于機器人的測速是由光電編碼器來完成,,而實驗中用到的碼盤條紋只有66等份,時間太短,,測速不準確,,同時因微分作用加強,使得速度值抖動很大,。此外,,機器人本身存在非線性特性,,這樣就必須選擇一個合適的采樣時間。經(jīng)過實驗,,當采樣時間≥0.5 s時,,機器人反饋回來的速度較平穩(wěn),抖動明顯減小,。整個反饋控制系統(tǒng)的程序流程圖如圖4所示,。
4 仿真結(jié)果分析
通過調(diào)節(jié)PID的3個參數(shù),記錄下機器人每次輸出的速度值,,然后再用MATLAB進行仿真,,通過測得實際數(shù)據(jù)的仿真圖如圖5所示。
本文提出的PC機對機器人的無線實時反饋控制,,在20 m以內(nèi)的距離都可以實現(xiàn),,且實時性良好。對每一個采樣時間內(nèi)反饋回來的數(shù)據(jù)PC機都能及時處理,,并把它送回給機器人,,這樣機器人實時地接收數(shù)據(jù)、實時地接收PID校正后的運動狀態(tài),,因此機器人就可以按事先設(shè)定好的狀態(tài)行走,,從而達到了控制的目的。
參考文獻
[1] 白學普,吳桐,王曉明,等.機器人在生物工程方面的應(yīng)用現(xiàn)狀[J].機器人技術(shù)與應(yīng)用,2003(4):16-18.
[2] 李磊,葉濤,譚民.移動機器人技術(shù)研究現(xiàn)狀與未來機器人[J]. 機器人,2002,24(5):474-480.
[3] 上海廣茂達伙伴機器人有限公司. 能力風暴機器人AS-U32使用手冊[M]. 2008:66-68.
[4] 龔建偉,, 熊光明.Visual C++/Turbo C 串口通訊編程實踐[M]. 北京:電子工業(yè)出版社,,2004:16-75.
[5] 劉金琨. 先進PID控制及其MATLAB仿真[M].北京:電子工業(yè)出版社,2003:1-10.