本發(fā)明涉及一種多移動機器人協(xié)作系統(tǒng),尤其涉及一種基于模糊算法和二維碼自矯正的室內(nèi)移動機器人協(xié)作系統(tǒng),是基于模糊算法和超聲波模塊進行路徑規(guī)劃,通過二維碼信息進行坐標獲取和根據(jù)對二維碼的圖像處理結(jié)果進行運動位置矯正,根據(jù)陀螺儀模塊和加速度計模塊進行慣性運動矯正的多機器人協(xié)作系統(tǒng)。
背景技術(shù):
當(dāng)下移動機器人的應(yīng)用越來越廣泛,幾乎滲透到了所有領(lǐng)域,尤其是室內(nèi)移動機器人,越來越能夠取代人們完成一些室內(nèi)的工作。其中,當(dāng)面臨復(fù)雜或者工作量龐大的工作任務(wù)時,多機器人協(xié)作系統(tǒng)則更有幫助,也因此受到越來越多的關(guān)注。
但同時,室內(nèi)移動機器人的協(xié)作系統(tǒng)面臨著定位成本高、路徑規(guī)劃難的問題,而當(dāng)下控制方法中,模糊控制可以很方便的解決這一問題。所以本發(fā)明提出了一種可實現(xiàn)低成本定位且高效路徑規(guī)劃的室內(nèi)移動機器人協(xié)作系統(tǒng),該系統(tǒng)是基于模糊算法配合超聲波傳感器進行路徑規(guī)劃,通過二維碼進行低成本坐標獲取,且利用對二維碼的圖像處理結(jié)果進行運動位置矯正,根據(jù)陀螺儀模塊和加速度計模塊進行慣性運動矯正。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于模糊算法和二維碼自矯正的室內(nèi)多移動機器人協(xié)作系統(tǒng),該系統(tǒng)定位成本低,可實現(xiàn)高效路徑規(guī)劃,使得多機器人協(xié)同作業(yè)、避免沖突,工作效率高。
本發(fā)明的基于模糊算法和二維碼自矯正的室內(nèi)多移動機器人協(xié)作系統(tǒng),包括若干機器人本體及分布于室內(nèi)的若干二維碼,每個二維碼內(nèi)含QR編碼,代表在室內(nèi)二維坐標系中各二維碼的位置坐標,在每臺機器人本體上設(shè)有單片機、加速度計模塊、陀螺儀模塊、二維碼識別模塊、通訊模塊以及超聲波傳感器。
在機器人運行平面內(nèi),定義垂直于其行進方向為橫向,加速度計模塊包括加速度計傳感器,用于測量機器人的橫向移動加速度并將測量數(shù)據(jù)傳輸至單片機。
陀螺儀模塊包括陀螺儀傳感器,用于檢測機器人的橫向角速度并將檢測數(shù)據(jù)傳輸至單片機。其中陀螺儀測得移動機器人橫向角速度,并積分得到機器人每時每刻的偏離直線的角度后,結(jié)合此時的橫向移動加速度值,對電機進行控制達到運動路線矯正的目的。
二維碼識別模塊包括二維碼識別裝置、攝像頭、串口裝置,攝像頭用于在二維碼識別裝置識別出二維碼處拍照,并將照片通過串口裝置傳輸至單片機。
通訊模塊用于與其他機器人之間進行互相通訊,傳遞各自下一目的地信息。
超聲波傳感器共三個,分別設(shè)置于機器人正前側(cè)、左側(cè)及右側(cè),用于檢測機器人附近障礙物距離,并傳輸至單片機。
在每個二維碼上設(shè)置三個定位點,所有二維碼定位點一致,當(dāng)單片機獲取二維碼處照片后根據(jù)照片中定位點進行角度矯正。
單片機根據(jù)模糊算法進行路徑規(guī)劃并根據(jù)接收的橫向移動加速度及橫向角速度判斷機器人的移動是否偏離直線慣性運動,若偏離,則通過偏離數(shù)值對機器人的慣性運動路線進行補償矯正,使得機器人的行進路線為直線。
上述技術(shù)方案中,根據(jù)模糊算法進行路徑規(guī)劃的方法具體為:
1)構(gòu)建模糊控制器:將以下因素作為模糊控制器的輸入:超聲波傳感器得到的障礙物的距離位置信息、終點位置坐標、當(dāng)前位置坐標、機器人優(yōu)先級、是否有其他移動機器人下一個目的地坐標一致;以當(dāng)前運動目標方向及左右輪加速度作為模糊控制器的輸出;
2)確定輸入輸出的隸屬度函數(shù),采用三角形隸屬度函數(shù),或者梯形隸屬度函數(shù);
3)建立模糊規(guī)則。
建立用于路徑規(guī)劃的模糊規(guī)則如下:
1.當(dāng)沒有其他機器人下一個目的地坐標與自己一致的時候,且沒有靠近的障礙物時,無論機器人優(yōu)先級,都根據(jù)最終終點坐標和當(dāng)前位置坐標得到此刻的運動目標方向。
2.當(dāng)有靠近的障礙物時,規(guī)則是輸出與輸入的模糊的障礙物方位相反。
3.當(dāng)沒有障礙物,但是有機器人下一個目的地坐標與自己一致的時候,通過模糊控制選擇一個機器人先走,另一個停止,選擇規(guī)則是優(yōu)先級大的先走,左、右輪加速度根據(jù)方向而定,另一個停止等候,左、右輪加速度均為零,直到?jīng)]有機器人下一個目的地坐標與其一致。
本發(fā)明根據(jù)模糊算法配合超聲波傳感器和通訊模塊進行路徑規(guī)劃和運動控制,通過二維碼進行低成本的坐標獲取,且利用對二維碼的圖像處理結(jié)果進行運動位置矯正,根據(jù)陀螺儀模塊和加速度計模塊進行慣性運動路線矯正,該系統(tǒng)實現(xiàn)了低成本定位且高效路徑規(guī)劃,使得多臺機器人之間協(xié)同作業(yè)、避免沖突,提高工作效率。
附圖說明
圖1是本發(fā)明的坐標系構(gòu)件示意圖。
圖2是定位點示意圖。
圖3是超聲波傳感器位置示意圖。
圖4是實例中路徑規(guī)劃的示意圖。
具體實施方式
下面結(jié)合具體實施例對本發(fā)明作進一步說明。
本實施方式中,協(xié)作系統(tǒng)包括若干機器人本體及分布于室內(nèi)的若干二維碼,機器人本體上設(shè)有單片機、加速度計模塊、陀螺儀模塊、二維碼識別模塊、通訊模塊以及超聲波傳感器。單片機使用STM32,加速度計和陀螺儀模塊可以選用:GY-521 MPU6050模塊,二維碼識別模塊為:Honeywell的N5680,其可以獲取二維碼,且擁有一個補光裝置和攝像頭拍照功能。
坐標的獲取:
本系統(tǒng)通過在室內(nèi)特定地點放置特定的二維碼,并在室內(nèi)建立二維坐標系,將室內(nèi)的位置坐標利用QR編碼表示,通過二維碼識別模塊獲取各個位置的坐標實現(xiàn)機器人位置獲取,如圖1所示。
二維碼識別模塊設(shè)置在移動機器人底盤下面,補光裝置,保證二維碼的成功獲取,防止光線暗而導(dǎo)致二維碼獲取不到。利用二維碼周圍的三個定位點作為之后圖像處理所用的特征點(也就是二維碼常用的定位點,如圖2)。在獲得位置信息時,攝像頭進行拍照,并把照片傳給單片機,通過圖像處理的方法,矯正運動位置。比如,在移動機器人行進到二維碼附近,在獲取二維碼信息后,停止行進并拍攝一張二維碼的照片傳給單片機,在單片機進行路徑規(guī)劃后,移動機器人完成左轉(zhuǎn)、右轉(zhuǎn)、直行這三個運動方向切換后,會結(jié)合單片機通過圖像處理的方法進行運動位置矯正,以防止左轉(zhuǎn),右轉(zhuǎn)方向有微小誤差影響后面運動不到二維碼上。如:對圖像先進行灰度值的二值化處理,然后對圖像各個方向進行積分,根據(jù)結(jié)果值大小的結(jié)果來判斷定位點是否在應(yīng)該在的地方(不同情況下,定位點應(yīng)該在不同方向的各絕對坐標處)。當(dāng)要直行時,在移動機器人拍攝的照片中,定位點就應(yīng)該在左上角、右上角、左下角三個絕對位置處,如果不在,則通過計算結(jié)果進行微調(diào)移動機器人的位置。
微調(diào)后,則按照路徑規(guī)劃,沿著慣性直行,直到到達下一個二維碼,再進行路徑規(guī)劃,并根據(jù)路徑規(guī)劃的結(jié)果判斷左拐還是直行還是右拐。當(dāng)左右轉(zhuǎn)或者直行的情況下,移動機器人會選擇向左、右轉(zhuǎn)九十度或者直行后,通過圖像處理的方法判斷定位點是否在該運動方向的特定的位置,并進行判斷和微調(diào),最終實現(xiàn)移動機器人在各個二維碼處運動位置精準,為下次運動做好準備。
路徑規(guī)劃:
機器人裝備有三個超聲波傳感器如圖3,分別為:左方傳感器、正前方傳感器、右方傳感器。超聲波傳感器可以通過這三個超聲波傳感器算出各個障礙物離移動機器人的距離和方位,并將其傳給單片機,單片機在面臨障礙物距離小于一定值如0.5米的時候,判定障礙物方位是否在移動機器人軌道上,如果在軌道上,則返回并等待重新規(guī)劃路徑,以此達到避障的效果。
機器人的下一個目的地是根據(jù)最終目的地和此時所在的二維碼位置按照靠近原則隨機生成的,是路徑規(guī)劃的第一步,此后根據(jù)模糊算法進行運動控制和路徑規(guī)劃。各機器人先根據(jù)最終目的地坐標,比對自己此時所在的二維碼坐標,然后以坐標靠近的原則,隨機生成下一個目的地坐標(可隨機將橫坐標或者縱坐標靠近最終坐標,如最終目的地為(3,3),此時坐標(1,1),則可以隨機生成(1,2)或者(2,1),使得橫坐標或者縱坐標其中之一靠近最終目的地。隨機生成下一個機器人的目的地后,使用模糊算法,進行模糊算法進行路徑規(guī)劃和運動控制。
通訊模塊是用于各機器人之間不斷互相通訊,傳遞各自下一個目的地信息的。當(dāng)兩個移動機器人在通訊過程中,發(fā)現(xiàn)下一個目的地二維碼坐標信息一致的時候,就需要更新路徑規(guī)劃,提高工作效率,防止工作運動沖突。
根據(jù)模糊算法進行路徑規(guī)劃的方法具體為:先確定輸入量和輸出量,模糊控制器的輸入是:最近障礙物的距離位置信息、終點位置坐標、當(dāng)前位置坐標、各機器人優(yōu)先級、是否有其他移動機器人下一個目的地坐標一致。
其輸出是:此刻的運動目標方向和左右輪加速度。
可以使用連續(xù)論域,采用簡單的線性化處理方法將輸入量和輸出量按需求程度劃分。
比如說,一般情況,我們可以將輸入的:障礙物位置信息為{左、前、右}、終點和此時的坐標{包括全部坐標}、是否有機器人下一個目的地一致{是,否},機器人優(yōu)先級{S,M,B}。輸出的運動位置方向的模糊量可劃分為或者{左、前、右、后},左右輪加速度可分為{S,M,B}即可。
然后再確定輸入輸出的隸屬度函數(shù),可以選擇常用的三角形隸屬度函數(shù),或者梯形隸屬度函數(shù)等等。
再建立模糊規(guī)則,建立用于路徑規(guī)劃的模糊規(guī)則基于如下標準:
1.當(dāng)沒有其他移動機器人下一個目的地坐標與自己一致的時候,且沒有靠近的障礙物時,無論機器人優(yōu)先級,都根據(jù)最終終點坐標和此時自己的位置坐標得到此刻的運動目標方向。比如說,終點坐標為(1,2),此時坐標為(0,0),如圖4,此時得到的結(jié)果可以為向右到(1,0),右輪加速度為‘B’,左輪為‘S’,或者向前到(0,1),左右輪加速度都是‘B’,則誕生兩條規(guī)則。
2.當(dāng)有靠近的障礙物時,規(guī)則是輸出與輸入的模糊的障礙物方位相反,如障礙物在前,則輸出向后,如果障礙物在左邊,則輸出向右,左輪加速度S,右輪加速度B,如果障礙物在右邊,則輸出向左,左輪加速度B,右輪加速度S。
3.當(dāng)沒有障礙物,但是有多個移動機器人下一個目的地坐標與其他移動機器人一致的時候,通過模糊控制選擇一個機器人先走,另一個停止,選擇規(guī)則是優(yōu)先級大的先走,左、右輪加速度根據(jù)方向而定。另一個停止等候,左、右輪加速度均為零,直到?jīng)]有了多個移動機器人下一個目的地坐標與其他移動機器人一致的情況。且最終可以采用重心法解模糊,效果比較好,且簡單。
慣性運動路線的矯正:
本發(fā)明通過陀螺儀模塊和加速度模塊實現(xiàn)對慣性運動路線的矯正,加速度計傳感器用于測量各機器人的橫向移動加速度,陀螺儀傳感器用于檢測各機器人的橫向角速度,對橫向角速度進行積分得到偏離角度,結(jié)合加速度數(shù)值輸入單片機,以此來判斷各移動機器人的移動是否偏離直線慣性運動,單片機再利用這些數(shù)據(jù)對各移動機器人的慣性運動路線進行補償矯正,最終實現(xiàn)移動機器人的行進路線為直線,并保持慣性行進。