《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 移動(dòng)機(jī)器人無(wú)線實(shí)時(shí)反饋控制系統(tǒng)的設(shè)計(jì)
移動(dòng)機(jī)器人無(wú)線實(shí)時(shí)反饋控制系統(tǒng)的設(shè)計(jì)
王 榮
(華南理工大學(xué) 控制與優(yōu)化中心, 廣東 廣州 510640)
摘要: 由于移動(dòng)機(jī)器人左右兩輪的非線性特征,其反饋調(diào)節(jié)無(wú)法克服這一特性,必須借助PC機(jī)來(lái)進(jìn)行調(diào)節(jié)。為此提出了一種無(wú)線實(shí)時(shí)反饋控制方法,在PC機(jī)上加入PID控制算法,實(shí)現(xiàn)了對(duì)機(jī)器人的無(wú)線實(shí)時(shí)反饋控制。
Abstract:
Key words :

摘   要: 由于移動(dòng)機(jī)器人左右兩輪的非線性特征,其反饋調(diào)節(jié)無(wú)法克服這一特性,必須借助PC機(jī)來(lái)進(jìn)行調(diào)節(jié)。為此提出了一種無(wú)線實(shí)時(shí)反饋控制方法,在PC機(jī)上加入PID控制算法,實(shí)現(xiàn)了對(duì)機(jī)器人的無(wú)線實(shí)時(shí)反饋控制。
關(guān)鍵詞: 反饋控制; PID控制; 無(wú)線控制

    機(jī)器人技術(shù)是當(dāng)今科學(xué)技術(shù)發(fā)展的前沿學(xué)科。移動(dòng)機(jī)器人是機(jī)器人研究領(lǐng)域中的一個(gè)重要分支,它集人工智能、控制理論、信息處理、圖像處理等專業(yè)技術(shù)于一體,跨計(jì)算機(jī)、自動(dòng)控制、通信、機(jī)械、電子等多學(xué)科,成為當(dāng)前智能機(jī)器人研究的重點(diǎn)之一。如何方便、快捷、廉價(jià)地控制移動(dòng)機(jī)器人,己經(jīng)成為機(jī)器人技術(shù)的一個(gè)突出問(wèn)題。在當(dāng)前的控制領(lǐng)域中,無(wú)線控制技術(shù)已經(jīng)成為一種重要而便利的控制技術(shù)。美國(guó)、日本、德國(guó)以及包括中國(guó)在內(nèi)的很多國(guó)家都對(duì)機(jī)器人的無(wú)線控制技術(shù)這一課題進(jìn)行了研究并取得了一定的成果。本文研究的重點(diǎn)是無(wú)線反饋控制系統(tǒng)的設(shè)計(jì),通過(guò)PC機(jī)、無(wú)線通信模塊和機(jī)器人構(gòu)成的反饋系統(tǒng),成功地實(shí)現(xiàn)了PC機(jī)對(duì)機(jī)器人的無(wú)線實(shí)時(shí)反饋控制[1-2]。
1 機(jī)器人平臺(tái)
    本實(shí)驗(yàn)所采用的移動(dòng)機(jī)器人是上海廣茂達(dá)公司生產(chǎn)的AS-U32能力風(fēng)暴機(jī)器人,該機(jī)器人是AS-UⅡ的升級(jí)版,主要升級(jí)部件是微控制器,AS-UⅡ使用的是Motorola公司的單片機(jī)68HC11,而AS-U32使用的是飛利浦公司的RAM7 LPC2103,這使得機(jī)器人有更強(qiáng)大的處理功能。AS-U32有如下特點(diǎn):
 (1)自主輪式移動(dòng)機(jī)器人,是一個(gè)對(duì)外界環(huán)境高度開(kāi)放的智能系統(tǒng)。它采用左右兩輪驅(qū)動(dòng),前后兩輪隨動(dòng)。驅(qū)動(dòng)方式采用的是差動(dòng)驅(qū)動(dòng)方式,即2個(gè)有差異的或獨(dú)立的運(yùn)動(dòng)合成為1個(gè)運(yùn)動(dòng)。當(dāng)把2個(gè)電機(jī)的運(yùn)動(dòng)合成為1個(gè)運(yùn)動(dòng)時(shí),則為差動(dòng)驅(qū)動(dòng)。如讓機(jī)器人走直線,左右兩個(gè)輪的速度必須相等;讓機(jī)器人走弧線時(shí),左右兩個(gè)輪子的速度必須不相等。
 (2)機(jī)器人帶有專用的軟件開(kāi)發(fā)環(huán)境,即圖形化交互式的C語(yǔ)言(簡(jiǎn)稱VJC)。VJC由兩部分組成:編譯環(huán)境(包含交互式命令行編輯和調(diào)試功能)和機(jī)器人操作系統(tǒng)。VJC實(shí)現(xiàn)了C 語(yǔ)言的一個(gè)子集, 它包括控制語(yǔ)句(for,while, if else)局部變量和全局變量、數(shù)組、指針、結(jié)構(gòu)體、16位和32 位整數(shù)、32 位浮點(diǎn)數(shù)。VJC 的一大優(yōu)點(diǎn)是支持多任務(wù)程序的運(yùn)行。
   (3)機(jī)器人配有一定數(shù)量的傳感器,具有一定的感知周?chē)h(huán)境的能力。傳感器包括2支紅外發(fā)射管和1個(gè)紅外接收模塊,2個(gè)光傳感器和4個(gè)碰撞傳感器。另外,還包括旋轉(zhuǎn)角度編碼器和麥克風(fēng)。紅外傳感器可以判斷前方約120°內(nèi)、距離在10~50 cm 范圍內(nèi)的物體;光傳感器可判斷光線的強(qiáng)弱;碰撞傳感器安裝在機(jī)器人外部的碰撞環(huán)上,能感受到8個(gè)方向上的碰撞;麥克風(fēng)沒(méi)有方向性,能感知聲音的強(qiáng)弱;旋轉(zhuǎn)編碼器用來(lái)測(cè)量輪子旋轉(zhuǎn)的角度數(shù)。
   (4)機(jī)器人借助LPC2103來(lái)完成數(shù)據(jù)處理。雖然該處理器具有很強(qiáng)大的處理功能,但用于反饋控制還是不夠的,所以必須由PC機(jī)來(lái)共同完成。機(jī)器人自帶有4針SCI總線,可為機(jī)器人的擴(kuò)展帶來(lái)方便[3]。
2 PC機(jī)與機(jī)器人之間的無(wú)線通信硬件平臺(tái)
2.1 無(wú)線通信模塊

 考慮到自主式移動(dòng)機(jī)器人的特點(diǎn),無(wú)線通信是計(jì)算機(jī)與機(jī)器人通信較為理想的通信方式。實(shí)驗(yàn)中采用的是CC1000單片射頻無(wú)線收發(fā)模塊,該模塊主要性能如下:
 (1)發(fā)射功率為10 mW。
 (2)工作頻率在ISM頻段,無(wú)需申請(qǐng)點(diǎn)。
   (3)干擾能力和誤碼率:基于FSK的調(diào)制方式,采用高效前向糾錯(cuò)信道編碼技術(shù),提高了數(shù)據(jù)抗突發(fā)干擾和隨機(jī)干擾的能力,在信道誤碼率為10~2時(shí),可得到實(shí)際誤碼率為10.5~10.6。
 (4)傳輸距離:在視距情況下,天線高度>3 m,可靠傳輸距離>300 m。
   (5)多信道,多速率:無(wú)線通信模塊標(biāo)準(zhǔn)配置提供8個(gè)信道,可滿足用戶多種通信組合方式;可提供1 200 b/s、2 400 b/s、4 800 b/s、9 600 b/s等多種波特率,并且接口波特率與無(wú)線傳輸波特率一樣,以滿足客戶設(shè)備對(duì)不同波特率的需要。
   (6)雙串口,3種接口方式:無(wú)線通信模塊提供2個(gè)串口、3種接口方式。COM1為T(mén)TL電平UART接口,COM2由用戶自定義為標(biāo)準(zhǔn)的RS-232/RS-485接口??捎糜布渲贸?種不同的信道,選擇不同的接口方式以及不同的校驗(yàn)方式[3]。
2.2 機(jī)器人無(wú)線通信的總體設(shè)計(jì)框架
 基于機(jī)器人與無(wú)線通信模塊的特點(diǎn),設(shè)計(jì)的無(wú)線控制機(jī)器人的總體框架如圖1所示。


3 PC機(jī)與機(jī)器人構(gòu)成的反饋控制系統(tǒng)的設(shè)計(jì)
 本實(shí)驗(yàn)PC機(jī)(上位機(jī))所用的軟件是VC++6.0,用VC做串口通信可以有很多種方法:可以用控件MSComm,也可用Win32的API串行通信函數(shù),本文選擇CSerialPort類(lèi)進(jìn)行串口通信編程(屬于Win32的API串行通信編程)。該編程方法是一個(gè)多線程的串口編程類(lèi),與MSComm控件相比,CSerialPort打包時(shí),不需要加入其他的文件,而且函數(shù)都是開(kāi)放透明的,允許進(jìn)行改造。此外,不需要去理解很難掌握的數(shù)據(jù)類(lèi)型[4]。有關(guān)這方面的詳細(xì)介紹可以參看參考文獻(xiàn)[4]。下面主要介紹反饋控制系統(tǒng)是如何設(shè)計(jì)的。
    對(duì)被控對(duì)象進(jìn)行開(kāi)環(huán)控制達(dá)不到理想的控制效果,所以必須對(duì)機(jī)器人進(jìn)行閉環(huán)控制。整個(gè)反饋控制系統(tǒng)如圖2所示。


 從圖2可以看出,首先必須對(duì)被控對(duì)象進(jìn)行建模,通過(guò)實(shí)驗(yàn)測(cè)得機(jī)器人左右兩電機(jī)的輸入輸出之間的關(guān)系,然后通過(guò)MATLAB進(jìn)行仿真得到如圖3所示的被控對(duì)象的模型圖。


   從圖可以看出,機(jī)器人的左右兩輪都是非線性的特性,電機(jī)的輸入?yún)?shù)大于60時(shí),輸出的實(shí)際速率基本飽和了。所以必須加入PID控制來(lái)克服機(jī)器人這種非線性的特性。
   在連續(xù)控制系統(tǒng)中,PID控制算法的控制規(guī)律可以寫(xiě)成如下的形式:
  
式中,u(t)為PID控制器的輸出,也稱為被控對(duì)象的控制輸入;ε(t)為偏差; Kp為比例系數(shù);Ti為積分時(shí)間常數(shù);Td為微分時(shí)間常數(shù)。為了在數(shù)字控制系統(tǒng)上實(shí)現(xiàn)PID控制,需將連續(xù)PID控制規(guī)律化成離散型的PID控制規(guī)律,即用差分方程表示。為此,取T0為采樣周期。由于采樣周期遠(yuǎn)小于信號(hào)變化的周期,可以用矩陣面積求和的方法近似式(1)中的積分作用,用向后差分的方法近似微分作用,則式(1)可以化為:
  
式(4)稱為PID控制器遞推公式。應(yīng)用(4)式計(jì)算采樣時(shí)刻k的控制器輸出u(k),可以極大地節(jié)省計(jì)算機(jī)內(nèi)存空間和計(jì)算時(shí)間,使實(shí)時(shí)控制成為可能。
    許多控制系統(tǒng)的執(zhí)行機(jī)構(gòu)本身具有記憶功能,例如步進(jìn)電機(jī)作為執(zhí)行元件,具有保持歷史位置的功能,當(dāng)控制器給出1個(gè)增量信號(hào)時(shí),執(zhí)行機(jī)構(gòu)在原來(lái)位置上移動(dòng)某一定位置,達(dá)到新的平衡位置。在這種情況下,需要采用增量型PID控制算法。設(shè)被控對(duì)象的控制輸入增量為Δu(k),即:
    

式(5)稱為增量型PID控制算法。
    增量型PID與位置PID控制算法,本質(zhì)上是一樣的,僅在計(jì)算方法上有所變化。增量式算法一般用于步進(jìn)電機(jī)之類(lèi)的對(duì)象,但由于本文所用到的機(jī)器人的電機(jī)為非步進(jìn)電機(jī),它所輸入的控制量應(yīng)為絕對(duì)數(shù)值。所以本文采用位置式PID算法[5]。
 對(duì)于PID 3個(gè)參數(shù)的調(diào)節(jié)有各種不同方法,在本實(shí)驗(yàn)中主要是試湊法。試湊法也要遵循一定的規(guī)律,一般來(lái)說(shuō),增大比例系數(shù)Kp,將加快系統(tǒng)響應(yīng)速度,減少系統(tǒng)靜態(tài)誤差,但直接影響系統(tǒng)的穩(wěn)定性。增大積分時(shí)間常數(shù)Ti,有利于提高系統(tǒng)的穩(wěn)定性,但同時(shí)也加大了系統(tǒng)消除穩(wěn)態(tài)誤差的調(diào)節(jié)時(shí)間。微分控制作用,將改善系統(tǒng)的動(dòng)態(tài)性能。
 在整個(gè)反饋系統(tǒng)的設(shè)計(jì)中,還有一個(gè)重要問(wèn)題就是系統(tǒng)的采樣時(shí)間T,本系統(tǒng)的采樣時(shí)間不能設(shè)置得太短。由于機(jī)器人的測(cè)速是由光電編碼器來(lái)完成,而實(shí)驗(yàn)中用到的碼盤(pán)條紋只有66等份,時(shí)間太短,測(cè)速不準(zhǔn)確,同時(shí)因微分作用加強(qiáng),使得速度值抖動(dòng)很大。此外,機(jī)器人本身存在非線性特性,這樣就必須選擇一個(gè)合適的采樣時(shí)間。經(jīng)過(guò)實(shí)驗(yàn),當(dāng)采樣時(shí)間≥0.5 s時(shí),機(jī)器人反饋回來(lái)的速度較平穩(wěn),抖動(dòng)明顯減小。整個(gè)反饋控制系統(tǒng)的程序流程圖如圖4所示。

4 仿真結(jié)果分析
    通過(guò)調(diào)節(jié)PID的3個(gè)參數(shù),記錄下機(jī)器人每次輸出的速度值,然后再用MATLAB進(jìn)行仿真,通過(guò)測(cè)得實(shí)際數(shù)據(jù)的仿真圖如圖5所示。


    本文提出的PC機(jī)對(duì)機(jī)器人的無(wú)線實(shí)時(shí)反饋控制,在20 m以內(nèi)的距離都可以實(shí)現(xiàn),且實(shí)時(shí)性良好。對(duì)每一個(gè)采樣時(shí)間內(nèi)反饋回來(lái)的數(shù)據(jù)PC機(jī)都能及時(shí)處理,并把它送回給機(jī)器人,這樣機(jī)器人實(shí)時(shí)地接收數(shù)據(jù)、實(shí)時(shí)地接收PID校正后的運(yùn)動(dòng)狀態(tài),因此機(jī)器人就可以按事先設(shè)定好的狀態(tài)行走,從而達(dá)到了控制的目的。
參考文獻(xiàn)
[1]   白學(xué)普,吳桐,王曉明,等.機(jī)器人在生物工程方面的應(yīng)用現(xiàn)狀[J].機(jī)器人技術(shù)與應(yīng)用,2003(4):16-18.
[2]   李磊,葉濤,譚民.移動(dòng)機(jī)器人技術(shù)研究現(xiàn)狀與未來(lái)機(jī)器人[J]. 機(jī)器人,2002,24(5):474-480.
[3]   上海廣茂達(dá)伙伴機(jī)器人有限公司. 能力風(fēng)暴機(jī)器人AS-U32使用手冊(cè)[M]. 2008:66-68.
[4]   龔建偉, 熊光明.Visual C++/Turbo C 串口通訊編程實(shí)踐[M]. 北京:電子工業(yè)出版社,2004:16-75.
[5]   劉金琨. 先進(jìn)PID控制及其MATLAB仿真[M].北京:電子工業(yè)出版社,2003:1-10.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。