本發(fā)明涉及一種移動(dòng)機(jī)器人基于姿態(tài)檢測(cè)模塊和特殊地標(biāo)的運(yùn)動(dòng)自矯正方法,該移動(dòng)機(jī)器人可以基于模糊pid控制和姿態(tài)檢測(cè)模塊、特殊地標(biāo)進(jìn)行運(yùn)動(dòng)自矯正。
背景技術(shù):
當(dāng)下移動(dòng)機(jī)器人的應(yīng)用越來(lái)越廣泛,幾乎滲透到了所有領(lǐng)域,尤其是室內(nèi)移動(dòng)機(jī)器人,越來(lái)越能夠取代人們完成一些室內(nèi)的工作。其中移動(dòng)機(jī)器人的定位系統(tǒng),大都采用二維碼作為定位方法,其具體方法是:在移動(dòng)機(jī)器人上面裝有一個(gè)讀取二維碼的模塊,且在地面上設(shè)有很多二維碼作為坐標(biāo),在移動(dòng)機(jī)器人移動(dòng)過(guò)程中讀取二維碼坐標(biāo),然后進(jìn)行路徑規(guī)劃,有的二維碼獲取模塊還帶有拍攝功能,將二維碼拍攝下來(lái),然后用二維碼的對(duì)邊和機(jī)器人的前進(jìn)方向所構(gòu)成的夾角以及夾角的兩條線之間的線性距離作為小車(chē)角度偏離的判別標(biāo)準(zhǔn)。但是上述移動(dòng)機(jī)器人存在的問(wèn)題是:在小車(chē)拍攝二維碼并獲取坐標(biāo)進(jìn)行路徑規(guī)劃選擇的時(shí)候,小車(chē)仍然按照慣性會(huì)向前走一點(diǎn),此時(shí)小車(chē)已經(jīng)偏離出本該走的路徑了,再加上圖像處理速度過(guò)慢等因素,左右拐控制時(shí),機(jī)器人會(huì)偏離軌跡,最終無(wú)法走到下一個(gè)二維碼處。在機(jī)器人偏離出原軌跡后,需要再矯正回正常軌跡以保證能夠讀取到后面的二維碼,保證機(jī)器人運(yùn)動(dòng)過(guò)程的穩(wěn)定,這個(gè)矯正其實(shí)大多是憑借著經(jīng)驗(yàn)法的,因?yàn)橐坏┟撾x了二維碼,這個(gè)矯正是沒(méi)有反饋的,是開(kāi)環(huán)的不知道能否矯正成功,這樣會(huì)給系統(tǒng)帶來(lái)很大的不穩(wěn)定性,產(chǎn)生很大誤差。
綜上所述,目前室內(nèi)移動(dòng)機(jī)器人技術(shù)的問(wèn)題是慣性運(yùn)動(dòng)的矯正難,無(wú)法知道是否矯正成功,無(wú)法保證能否讀取下一個(gè)二維碼。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)市場(chǎng)的需求和現(xiàn)有技術(shù)的不足,提供一種移動(dòng)機(jī)器人基于姿態(tài)檢測(cè)模塊和特殊地標(biāo)的運(yùn)動(dòng)自矯正方法。該移動(dòng)機(jī)器人可基于模糊pid控制和姿態(tài)檢測(cè)以及特殊地標(biāo)的識(shí)別進(jìn)行運(yùn)動(dòng)的自矯正。
本發(fā)明的移動(dòng)機(jī)器人基于姿態(tài)檢測(cè)模塊和特殊地標(biāo)的運(yùn)動(dòng)自矯正方法,包括設(shè)置特殊地標(biāo),并在機(jī)器人本體上設(shè)置包括控制器、姿態(tài)檢測(cè)模塊、特殊地標(biāo)識(shí)別模塊、執(zhí)行電機(jī)、電機(jī)驅(qū)動(dòng)模塊;所述的特殊地標(biāo)包括含有當(dāng)?shù)刈鴺?biāo)信息的二維碼,以及在二維碼四邊中部垂直向外延伸的四條黑色巡跡線;所述的特殊地標(biāo)識(shí)別模塊包括二維碼識(shí)別模塊和光電傳感器,二維碼識(shí)別模塊用于識(shí)別特殊地標(biāo)中的二維碼坐標(biāo),光電傳感器用于讀取巡跡線,當(dāng)機(jī)器人檢測(cè)到特殊地標(biāo)時(shí),利用巡跡線結(jié)合模糊pid控制進(jìn)行位置矯正,當(dāng)機(jī)器人離開(kāi)特殊地標(biāo)后,基于姿態(tài)檢測(cè)模塊結(jié)合常規(guī)pid控制進(jìn)行位置矯正。
上述技術(shù)方案中,所述的移動(dòng)機(jī)器人當(dāng)檢測(cè)到特殊地標(biāo)時(shí),讀取二維碼所含的坐標(biāo)信息,根據(jù)目標(biāo)位置坐標(biāo)進(jìn)行路徑規(guī)劃,路徑規(guī)劃原則以使機(jī)器人轉(zhuǎn)向次數(shù)最小。
所述的特殊地標(biāo)識(shí)別模塊與控制器的串口接受端設(shè)為中斷模式,當(dāng)特殊地標(biāo)識(shí)別模塊檢測(cè)到特殊地標(biāo)時(shí)通過(guò)串口將地標(biāo)數(shù)據(jù)發(fā)送給控制器,進(jìn)入中斷進(jìn)行矯正,否則不進(jìn)入中斷或退出中斷。
所述的模糊pid控制,其輸入為期望光電傳感器檢測(cè)到的巡跡線的位置,將該位置與光電傳感器實(shí)際檢測(cè)的巡跡線位置做偏差,通過(guò)模糊pid控制使得最終偏差為零,使得巡跡線保持在移動(dòng)機(jī)器人前進(jìn)方向的中心位置。
其中路徑規(guī)劃與運(yùn)動(dòng)控制部分:
本移動(dòng)機(jī)器人的定位方法為在經(jīng)過(guò)各個(gè)特殊地標(biāo)時(shí)讀取各個(gè)地標(biāo)中包含的坐標(biāo)信息,在之后本移動(dòng)機(jī)器人進(jìn)行路徑規(guī)劃,并根據(jù)路徑規(guī)劃結(jié)果進(jìn)行運(yùn)動(dòng)控制。其路徑規(guī)劃算法思路如下:設(shè)本移動(dòng)機(jī)器人所在的位置坐標(biāo)為(x0,y0),通過(guò)通訊模塊得知自己的作業(yè)目的地坐標(biāo)為(xd,yd)。則我們?cè)O(shè)定規(guī)則:機(jī)器人優(yōu)先向橫坐標(biāo)靠近再向縱坐標(biāo)靠近,且當(dāng)轉(zhuǎn)向時(shí),只能選擇左轉(zhuǎn)九十度或者右轉(zhuǎn)九十度,在路徑不需要轉(zhuǎn)彎時(shí),移動(dòng)機(jī)器人保持慣性向前。
其過(guò)程如下:移動(dòng)機(jī)器人由(x0,y0)->(xd,y0)->(xd,yd),這樣可以使得轉(zhuǎn)向數(shù)量最小(一般為1-2次),減少矯正的工作,使得機(jī)器人效率高、穩(wěn)定。
如果出現(xiàn)多機(jī)器人的協(xié)作工作下,可以利用通訊模塊使得移動(dòng)機(jī)器人之間互相通訊,互相共享下一個(gè)目的地坐標(biāo),如果出現(xiàn)沖突情況,則其中一個(gè)移動(dòng)機(jī)器人停下等待,避免沖突。
其中移動(dòng)機(jī)器人自矯正控制部分:
在移動(dòng)機(jī)器人運(yùn)動(dòng)過(guò)程中,所以設(shè)計(jì)的自矯正控制系統(tǒng)主要分為兩部分,一部分是利用特殊地標(biāo)的短循跡線進(jìn)行矯正,主要對(duì)移動(dòng)機(jī)器人在特殊地標(biāo)附近時(shí)進(jìn)行位置矯正,另一部分是利用姿態(tài)模塊檢測(cè)的偏航角進(jìn)行矯正,主要用于離開(kāi)地標(biāo)后的慣性運(yùn)動(dòng)下的移動(dòng)機(jī)器人進(jìn)行運(yùn)動(dòng)矯正。
其中在特殊地標(biāo)附近的矯正是基于地標(biāo)短循跡線的,使用模糊pid控制:
本矯正控制系統(tǒng),對(duì)于特殊地標(biāo)附近的矯正:當(dāng)移動(dòng)機(jī)器人通過(guò)光電ccd檢測(cè)模塊檢測(cè)到了特殊地標(biāo)時(shí),開(kāi)始矯正。采用模糊pid進(jìn)行控制,因?yàn)檫@個(gè)過(guò)程里,循跡線很短,需要快速的進(jìn)行控制,且整個(gè)過(guò)程中分多種情況:如轉(zhuǎn)向后的矯正、剛檢測(cè)到特殊地標(biāo)轉(zhuǎn)向前的矯正、檢測(cè)到特殊地標(biāo)不用轉(zhuǎn)向的矯正、各種倉(cāng)庫(kù)干擾情況下的矯正情況。這些情況要想快速的完成矯正,若用常規(guī)的pid控制,就需要不同的p、i、d參數(shù),為了讓控制更精簡(jiǎn)和自適應(yīng)效果好,采用模糊pid控制。
本模糊pid控制系統(tǒng)的輸入是光電傳感器的黑色循跡線期望中心位置,將檢測(cè)到的位置與期望位置的偏差以及其微分輸入到模糊pid控制器中,輸出為驅(qū)動(dòng)輪差速實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng),然后經(jīng)過(guò)執(zhí)行機(jī)構(gòu)(電機(jī))輸出即可。
其中模糊pid控制器結(jié)構(gòu)如圖5所示,其中e為期望中心點(diǎn)位置的偏差,ec為其微分,δv為移動(dòng)機(jī)器人兩輪的差速,整個(gè)控制器包括一個(gè)模糊控制器和一個(gè)pid控制器,模糊控制器輸出δkp,δkd,δki給pid控制器進(jìn)行p、i、d參數(shù)整定,再進(jìn)行控制。其中的pid控制器如圖6,pid得到不同的p,i,d參數(shù),進(jìn)行自適應(yīng)控制。最終將其特殊地標(biāo)的中心保持在機(jī)器人運(yùn)動(dòng)軌跡的中間,保證運(yùn)動(dòng)軌跡正確,如圖7。
其中的模糊控制器設(shè)計(jì)如下:
其中模糊控制器如圖5,將運(yùn)動(dòng)位置與循跡線中心位置的期望偏差和偏差的微分作為輸入,p,i,d參數(shù)的變化量作為輸出。
依據(jù)模糊pid控制器的控制規(guī)律以及經(jīng)典pid的控制方法,同時(shí)兼顧控制精度。我們將輸入的誤差(e)和誤差微分(ec)分為7個(gè)模糊集:nb(負(fù)大),nm(負(fù)中),ns(負(fù)小),zo(零),ps(正小),pm(正中),pb(正大)。即e,ec的模糊子集為{nb,nm,ns,zo,ps,pm,pb}??刂破鲗⑤敵靓膋p,δkd,δki分為7個(gè)模糊集:nb(負(fù)大),nm(負(fù)中),ns(負(fù)小),zo(零),ps(正小),pm(正中),pb(正大)。δkp,δkd,δki的模糊糊子集:{nb,nm,ns,zo,ps,pm,pb}。
考慮到三角形隸屬度函數(shù)的簡(jiǎn)易性,計(jì)算快,對(duì)于e,ec,δkp,δkd,δki的隸屬度函數(shù)都選取三角形隸屬度函數(shù)。本發(fā)明選用mamdani型的模糊推理辦法,且兼顧模糊pid系統(tǒng)的要求,利用重心平均法進(jìn)行解模糊操作。
應(yīng)用模糊合成推理pid參數(shù)的整定算法。第k個(gè)采樣時(shí)間的整定為(式中kpo,kdo,kio為經(jīng)典pid控制器的初始參數(shù)):
kp(k)=kp0+δkp(k)ki(k)=ki0+δki(k)kd(k)=kd0+δkd(k)
為了便于系統(tǒng)輸入,輸出出參數(shù)映射到論域內(nèi)。根據(jù)工程經(jīng)驗(yàn)和相關(guān)文獻(xiàn),確定模糊化因子為:ke,kec;解模糊因子為:k1,k2,k3。(ke,kec,k1,k2,k3也可根據(jù)實(shí)際情況修改,在控制框圖中不單獨(dú)列出)即e和ec分別乘上ke和kec后輸入模糊控制器,而模糊控制器輸出δkp,δkd,δki也經(jīng)過(guò)處理:kp=kp+k1*δkp,kd=kd+k2*δkd,ki=ki+k3*δki后輸入到pid控制器中。
其模糊控制規(guī)則表:
根據(jù)常規(guī)pid控制的運(yùn)動(dòng)經(jīng)驗(yàn)總結(jié)如表1、2、3的模糊規(guī)則:
表1
表2
表3
模糊規(guī)則的設(shè)計(jì)主要根據(jù)控制經(jīng)驗(yàn)以及考慮到以下幾個(gè)原則:
⑴當(dāng)偏差較大時(shí),為了加快系統(tǒng)的響應(yīng)速度,并防止開(kāi)始時(shí)偏差的瞬間變大可能引起的微分過(guò)飽和而使控制作用超出許可范圍,應(yīng)取較大的kp和較小的kd。另外為防止積分飽和,避免系統(tǒng)響應(yīng)較大的超調(diào),ki值要小,一般取ki=0。
⑵當(dāng)偏差和變化率為中等大小時(shí),為了使系統(tǒng)響應(yīng)的超調(diào)量減小和保證一定的響應(yīng)速度,kp應(yīng)取小些。在這種情況下kd的取值對(duì)系統(tǒng)影響很大,應(yīng)取小一些,ki的取值要適當(dāng)。
⑶當(dāng)偏差變化較小時(shí),為了使系統(tǒng)具有較好的穩(wěn)態(tài)性能,應(yīng)增大kp、ki值,同時(shí)為避免輸出響應(yīng)在設(shè)定值附近振蕩,以及考慮系統(tǒng)的抗干擾能力,應(yīng)適當(dāng)選取kd。原則是:當(dāng)偏差變化率較小時(shí),kd取大一些;當(dāng)偏差變化率較大時(shí),kd取較小的值,通常為中等大小。
其中在遠(yuǎn)離特殊地標(biāo)的矯正是基于姿態(tài)檢測(cè)模塊的,使用常規(guī)pid控制:
當(dāng)在第一部分矯正完成后,離開(kāi)特殊地標(biāo)后,移動(dòng)機(jī)器人的慣性運(yùn)動(dòng)矯正則比較簡(jiǎn)單,利用常規(guī)的pid矯正即可,其為當(dāng)下比較常見(jiàn)的控制模型,其控制器結(jié)構(gòu)如圖8:其輸入為當(dāng)下偏航角度與期望偏航角0的偏差,輸出為小車(chē)差速,在運(yùn)動(dòng)控制中,單片機(jī)將信息計(jì)算結(jié)果給驅(qū)動(dòng)模塊,驅(qū)動(dòng)控制電機(jī)進(jìn)行差速運(yùn)動(dòng)控制,通過(guò)控制左右輪轉(zhuǎn)速差來(lái)控制移動(dòng)機(jī)器人的運(yùn)動(dòng),保持運(yùn)動(dòng)偏航角為0,實(shí)現(xiàn)運(yùn)動(dòng)矯正。
本發(fā)明的方法可以精準(zhǔn)地矯正機(jī)器人的運(yùn)動(dòng),且成本低,不會(huì)有慣性誤差。
附圖說(shuō)明
圖1特殊地標(biāo)示意圖;
圖2移動(dòng)機(jī)器人結(jié)構(gòu)示意圖;
圖3自矯正控制系統(tǒng)示意圖;
圖4模糊pid控制系統(tǒng)框圖;
圖5模糊pid控制器內(nèi)部結(jié)構(gòu);
圖6模糊pid控制器中的pid控制器內(nèi)部結(jié)構(gòu);
圖7特殊地標(biāo)部分在機(jī)器人運(yùn)動(dòng)矯正位置示意圖;
圖8pid控制圖。
具體實(shí)施方式
本發(fā)明的移動(dòng)機(jī)器人基于姿態(tài)檢測(cè)模塊和特殊地標(biāo)的運(yùn)動(dòng)自矯正方法,包括設(shè)置特殊地標(biāo),并在機(jī)器人本體上設(shè)置包括控制器單片機(jī)stm32、姿態(tài)檢測(cè)模塊mpu9250ahrs、特殊地標(biāo)識(shí)別模塊、執(zhí)行電機(jī)、電機(jī)驅(qū)動(dòng)模塊;所述的特殊地標(biāo)包括含有當(dāng)?shù)刈鴺?biāo)信息的二維碼,以及在二維碼四邊中部垂直向外延伸的四條黑色巡跡線;所述的特殊地標(biāo)識(shí)別模塊包括二維碼識(shí)別模塊honeywelln5680和光電傳感器光電線性ccd傳感器tsl1401cl模塊,二維碼識(shí)別模塊用于識(shí)別特殊地標(biāo)中的二維碼坐標(biāo),光電傳感器用于讀取巡跡線,當(dāng)機(jī)器人檢測(cè)到特殊地標(biāo)時(shí),利用巡跡線結(jié)合模糊pid控制進(jìn)行位置矯正,當(dāng)機(jī)器人離開(kāi)特殊地標(biāo)后,基于姿態(tài)檢測(cè)模塊結(jié)合常規(guī)pid控制進(jìn)行位置矯正。
其中路徑規(guī)劃與運(yùn)動(dòng)控制部分:
本移動(dòng)機(jī)器人的定位方法為在經(jīng)過(guò)各個(gè)特殊地標(biāo)時(shí)讀取各個(gè)地標(biāo)中包含的坐標(biāo)信息,在之后本移動(dòng)機(jī)器人進(jìn)行路徑規(guī)劃,并根據(jù)路徑規(guī)劃結(jié)果進(jìn)行運(yùn)動(dòng)控制。其路徑規(guī)劃算法思路如下:設(shè)本移動(dòng)機(jī)器人所在的位置坐標(biāo)為(x0,y0),通過(guò)通訊模塊得知自己的作業(yè)目的地坐標(biāo)為(xd,yd)。則我們?cè)O(shè)定規(guī)則:機(jī)器人優(yōu)先向橫坐標(biāo)靠近再向縱坐標(biāo)靠近,且當(dāng)轉(zhuǎn)向時(shí),只能選擇左轉(zhuǎn)九十度或者右轉(zhuǎn)九十度,在路徑不需要轉(zhuǎn)彎時(shí),移動(dòng)機(jī)器人保持慣性向前。
其過(guò)程如下:移動(dòng)機(jī)器人由(x0,y0)->(xd,y0)->(xd,yd),這樣可以使得轉(zhuǎn)向數(shù)量最小(一般為1-2次),減少矯正的工作,使得機(jī)器人效率高、穩(wěn)定。例如:此時(shí)機(jī)器人位置(0,1),目的地坐標(biāo)(3,3),則移動(dòng)機(jī)器人先直走(0,1)->(0,2)->(0,3),再右轉(zhuǎn),繼續(xù)直走(1,3)->(2,3)->(3,3)最終到達(dá)目的地。
如果出現(xiàn)多機(jī)器人的協(xié)作工作下,可以利用通訊模塊使得移動(dòng)機(jī)器人之間互相通訊,互相共享下一個(gè)目的地坐標(biāo),如果出現(xiàn)沖突情況,則其中一個(gè)移動(dòng)機(jī)器人停下等待,避免沖突。
其中移動(dòng)機(jī)器人自矯正控制部分:
在移動(dòng)機(jī)器人運(yùn)動(dòng)過(guò)程中,我們?cè)O(shè)計(jì)的自矯正控制系統(tǒng)主要分為兩部分,一部分是利用特殊地標(biāo)的短循跡線進(jìn)行矯正,主要對(duì)移動(dòng)機(jī)器人在特殊地標(biāo)附近時(shí)進(jìn)行位置矯正,另一部分是利用姿態(tài)模塊檢測(cè)的偏航角進(jìn)行矯正,主要用于離開(kāi)地標(biāo)后的慣性運(yùn)動(dòng)下的移動(dòng)機(jī)器人進(jìn)行運(yùn)動(dòng)矯正。整個(gè)矯正系統(tǒng)示意圖,如圖3。
stm32單片機(jī),將移動(dòng)機(jī)器人的特殊地標(biāo)獲取模塊的串口接受端設(shè)為中斷模式,當(dāng)檢測(cè)到地標(biāo)時(shí)通過(guò)串口將地標(biāo)數(shù)據(jù)發(fā)送給單片機(jī),進(jìn)入中斷進(jìn)行第一部分矯正,通過(guò)模糊pid進(jìn)行矯正控制,檢測(cè)不到則串口里沒(méi)東西,不進(jìn)入中斷或退出中斷。
第一部分矯正控制系統(tǒng),對(duì)于特殊地標(biāo)附近的矯正:當(dāng)移動(dòng)機(jī)器人通過(guò)光電ccd檢測(cè)模塊檢測(cè)到了我們特殊地標(biāo)時(shí),開(kāi)始矯正。本模糊pid控制系統(tǒng)的輸入是光電傳感器的黑色循跡線期望中心位置,以現(xiàn)實(shí)中光電傳感器檢測(cè)結(jié)果為例,其一般是位置在0-125的各點(diǎn)灰度值,其中我們期望粗線中心位置在62處。檢測(cè)的灰度值最大的點(diǎn)就為黑色循跡線,將檢測(cè)到的位置與期望位置的偏差以及其微分輸入到模糊pid控制器中,輸出為驅(qū)動(dòng)輪差速實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng),然后經(jīng)過(guò)執(zhí)行機(jī)構(gòu)(電機(jī))輸出即可。
其中模糊pid控制器結(jié)構(gòu)如圖5所示,其中e為期望中心點(diǎn)位置的偏差,ec為其微分,δv為移動(dòng)機(jī)器人兩輪的差速,整個(gè)控制器包括一個(gè)模糊控制器和一個(gè)pid控制器,模糊控制器輸出δkp,δkd,δki給pid控制器進(jìn)行p、i、d參數(shù)整定,再進(jìn)行控制。其中的pid控制器如圖6,pid得到不同的p,i,d參數(shù),進(jìn)行自適應(yīng)控制。最終將其特殊地標(biāo)的中心保持在機(jī)器人運(yùn)動(dòng)軌跡的中間,保證運(yùn)動(dòng)軌跡正確,如圖7。
其中的模糊控制器設(shè)計(jì)相關(guān):
其中模糊控制器如圖6,將循跡線期望偏差和偏差的微分作為輸入,p,i,d參數(shù)的變化量作為輸出。本控制器為雙輸入、三輸出結(jié)構(gòu):考慮實(shí)際情況和控制經(jīng)驗(yàn),設(shè)計(jì)模糊控制器時(shí),e的論域?yàn)閇-125,125],ec的論域?yàn)閇-125,125],δkp,δkd,δki的論域?yàn)閇-30,30]。
依據(jù)模糊pid控制器的控制規(guī)律以及經(jīng)典pid的控制方法,同時(shí)兼顧控制精度。我們將輸入的誤差(e)和誤差微分(ec)分為7個(gè)模糊集:nb(負(fù)大),nm(負(fù)中),ns(負(fù)小),zo(零),ps(正小),pm(正中),pb(正大)。即e,ec的模糊子集為{nb,nm,ns,zo,ps,pm,pb}。控制器將輸出δkp,δkd,δki分為7個(gè)模糊集:nb(負(fù)大),nm(負(fù)中),ns(負(fù)小),zo(零),ps(正小),pm(正中),pb(正大)。δkp,δkd,δki的模糊糊子集:{nb,nm,ns,zo,ps,pm,pb}。
應(yīng)用模糊合成推理pid參數(shù)的整定算法。第k個(gè)采樣時(shí)間的整定為(式中kpo,kdo,kio為經(jīng)典pid控制器的初始參數(shù)),在實(shí)際問(wèn)題中我們的kpo,kdo,kio可以根據(jù)情況修改:
kp(k)=kp0+δkp(k)
ki(k)=ki0+δki(k)
kd(k)=kd0+δkd(k)
為了便于系統(tǒng)輸入,輸出出參數(shù)映射到論域內(nèi)。根據(jù)工程經(jīng)驗(yàn)和相關(guān)文獻(xiàn),確定模糊化因子為:ke=kec=0.01;解模糊因子為:k1=0.5,k2=k3=0.01。(ke,kec,k1,k2,k3也可根據(jù)實(shí)際情況修改,在控制框圖中不單獨(dú)列出)即e和ec分別乘上ke和kec后輸入模糊控制器,而模糊控制器輸出δkp,δkd,δki也經(jīng)過(guò)處理:kp=kp+k1*δkp,kd=kd+k2*δkd,ki=ki+k3*δki后輸入到pid控制器中。
最后,考慮到三角形隸屬度函數(shù)的簡(jiǎn)易性,計(jì)算快,對(duì)于e,ec,δkp,δkd,δki的隸屬度函數(shù)都選取三角形隸屬度函數(shù)。
權(quán)衡pid控制自身的諸多特點(diǎn)。例如,它的控制規(guī)則形式符合人們的思維和語(yǔ)言表達(dá)的習(xí)慣,控制策略能夠方便地表達(dá),控制算法簡(jiǎn)單等。本處選用的是mamdani型的模糊推理辦法。且兼顧模糊pid系統(tǒng)的要求,此系統(tǒng)利用重心平均法進(jìn)行解模糊操作。
模糊控制規(guī)則表:
根據(jù)常規(guī)pid控制的運(yùn)動(dòng)經(jīng)驗(yàn)總結(jié)如表1、2、3的模糊規(guī)則:
表1
表2
表3
其中在遠(yuǎn)離特殊地標(biāo)的矯正是基于姿態(tài)檢測(cè)模塊的,使用常規(guī)pid控制:
當(dāng)在第一部分矯正完成后,離開(kāi)特殊地標(biāo)后,移動(dòng)機(jī)器人的慣性運(yùn)動(dòng)矯正則比較簡(jiǎn)單,利用常規(guī)的pid矯正即可,其為當(dāng)下比較常見(jiàn)的控制模型,其控制器結(jié)構(gòu)如圖8:其輸入為當(dāng)下偏航角度與期望偏航角0的偏差,輸出為小車(chē)差速,在運(yùn)動(dòng)控制中,單片機(jī)將信息計(jì)算結(jié)果給驅(qū)動(dòng)模塊,驅(qū)動(dòng)控制電機(jī)進(jìn)行差速運(yùn)動(dòng)控制,通過(guò)控制左右輪轉(zhuǎn)速差來(lái)控制移動(dòng)機(jī)器人的運(yùn)動(dòng),保持運(yùn)動(dòng)偏航角為0,實(shí)現(xiàn)運(yùn)動(dòng)矯正。