極小點,從而避免傳統(tǒng)人工勢場法出現(xiàn)的局部極小 點的出現(xiàn);其二,由于引入局部目標點后將路徑規(guī)劃為折線,路徑雖為最優(yōu)路徑,但是不適 用于機器人控制,通過時間虛擬驅(qū)動力可增加路徑平滑度,解決機器人在行進過程中的控 制量突變的情況,從而實現(xiàn)機器人的平穩(wěn)行進。
[0096] 加入了局部目標點后,可W將機器人的路徑規(guī)劃任務劃分為很多子任務,只需控 制每個子任務的路徑都是最優(yōu)、且最利于機器人行進控制,那么,整體的路徑就可W呈現(xiàn)最 優(yōu)的狀態(tài)。加入局部目標點后,就可W主動避免上述第二種出現(xiàn)局部極小點的情景,而無需 增加額外的判斷和計算,因此提高效率。
[0097] 本發(fā)明的其他優(yōu)點、目標和特征在某種程度上將在隨后的說明書中進行闡述,并 且在某種程度上,基于對下文的考察研究對本領(lǐng)域技術(shù)人員而言將是顯而易見的,或者可 W從本發(fā)明的實踐中得到教導。本發(fā)明的目標和其他優(yōu)點可W通過下面的說明書和權(quán)利要 求書來實現(xiàn)和獲得。
【附圖說明】
[009引本發(fā)明的【附圖說明】如下。
[0099] 圖la為本實施例提供的機器人陷入局部最小值的第一種常見情況(目標在障礙物 與機器人之間)。
[0100] 圖化為本實施例提供的機器人陷入局部最小值的第二種常見情況(障礙物在目標 與機器人之間)。
[0101] 圖Ic為本實施例提供的機器人陷入局部最小值的第Ξ種常見情況(障礙物群與目 標構(gòu)成的合力為零)。
[0102] 圖2為本實施例提供的在激光雷達可視范圍內(nèi)一個障礙物時局部目標點的安全距 離示意圖。
[0103] 圖3為本實施例提供的在激光雷達可視范圍內(nèi)一個障礙物時局部目標點的安全距 離示意圖。
[0104] 圖4為本實施例提供的改進型人工勢場法總體流程圖。
[0105] 圖5為本實施例提供的局部目標點選取流程圖。
[0106] 圖6為本實施例提供的改進型人工勢場法系統(tǒng)原理框圖。
【具體實施方式】
[0107] 下面結(jié)合附圖和實施例對本發(fā)明作進一步說明。
[010引實施例1
[0109] 本實施例提供的基于改進型人工勢場法的機器人路徑規(guī)劃方法,
[0110] 本實施例提供了一種基于改進型人工勢場法的機器人路徑規(guī)劃方法,包括W下步 驟:
[0111] SI:獲取機器人的初始化狀態(tài)參數(shù)、環(huán)境信息和最終目標點;
[0112] S2:獲取機器人當前坐標位置和局部目標點;
[0113] S3:建立基于時間虛擬驅(qū)動力的人工勢場法生成機器人當前坐標位置和局部目標 點之間的可達路徑;
[0114] S4:控制機器人沿可達路徑行進;
[0115] S5:在激光雷達可視范圍內(nèi)檢測機器人當前坐標位置是否達到局部目標點,如果 沒有達到,則返回步驟S4繼續(xù)控制驅(qū)動機器人行進;
[0116] S6:如果達到局部目標點,則檢測機器人是否達到最終目標點,如果沒有達到,貝U 返回步驟S2;
[0117] S7:如果達到最終目標點,則結(jié)束機器人的行進。
[0118] 所述局部目標點的確定,具體包括W下步驟:
[0119] S21:檢測最終目標點和當前坐標位置之間可通過的直線路徑下有無障礙物,如果 沒有障礙物,則設(shè)置最終目標點作為局部目標點;
[0120] S22:如果有障礙物,則判斷障礙物的個數(shù)是否小于兩個,如果否,則設(shè)置離此障礙 物充分安全距離的任一點最為新坐標點作為局部目標點;
[0121 ] S23:如果是,則建立離最終目標點最近的兩個障礙物呈現(xiàn)的斥力勢場,并構(gòu)建試 探點尋找斥力場合力零的坐標作為局部目標點。
[0122] 所述試探點尋找斥力場合力零的坐標具體按照W下步驟來實現(xiàn):
[0123] S231:按照W下斥力勢函數(shù)建立障礙物對機器人造成的人工斥力勢場模型;
[0124]
[0125] 式中;
[0126] δ :相應的正比例位置增益系數(shù);
[0127] Ρ0:正常數(shù),表示障礙物區(qū)域可對機器人的運動產(chǎn)生影響的最大距離;
[012引 p(q):某一障礙物區(qū)域Cobs到位置q的最小距離,對于所有的q/ eC0bs,P(q)=min| q-q' Μ;
[0129] S232:根據(jù)斥力勢函數(shù)按照W下公式確定機器人所受的排斥力:
[0130]
[0131] 式中,用qc表示障礙物區(qū)域Cobs上距離q最近的位置點;
[013。 p(q) = I I q-qc I I ;
[0133] 是由qc指向q的單位向量,
[0134] S233:選取距離全局目標點距離最近的障礙物,并獲取障礙物在平面上呈現(xiàn)的斥 力勢場,
[0135] S234:根據(jù)斥力勢場計算排斥力,選取排斥力合力為零的點作為局部目標點。
[0136] 所述機器人在達到局部目標點之前還包括W下步驟來實現(xiàn):
[0137] S31:建立機器人與障礙物之間的斥力勢函數(shù)并計算斥力:
[0138] S32:建立機器人與局部目標點之間的引力勢函數(shù);
[0139]
[0140] 式中;
[0141] ε :人工勢場法引力勢場增益參數(shù);
[0142] 化(q):機器人當前位置距離局部目標點的歐氏距離;
[0143] S33:按照W下公式計算局部目標點對機器人的引力:
[0144]
[0145] S34:通過W下公式來計算機器人的引力和斥力的合力為零時確定局部極小點;
[0146]
[0147] S35:按照W下公式計算時間虛擬驅(qū)動力的大?。?br>[014 引
[0149] 式中;
[0150] 丫 :調(diào)節(jié)Ftime的常數(shù)。
[0151] 本實施例還提供了一種基于改進型人工勢場法的機器人路徑規(guī)劃系統(tǒng),包括機器 人參數(shù)信息采集單元、機器人位置采集單元、局部目標點生成單元、可達路徑生成單元、進 行控制單元、局部目標點判斷單元和最終目標點判斷單元;
[0152] 所述機器人參數(shù)信息采集單元,用于獲取機器人的初始化狀態(tài)參數(shù)、環(huán)境信息和 最終目標點;
[0153] 所述機器人位置采集單元,用于獲取機器人當前坐標位置;
[0154] 所述局部目標點生成單元,用于確定機器人行進中的局部目標點;
[0155] 所述可達路徑生成單元,用于計算機器人當前位置和局部目標點之間的可達路 徑;
[0156] 所述進行控制單元,用于控制、驅(qū)動機器人沿可達路徑行進;
[0157] 所述局部目標點判斷單元,用于計算并判斷機器人當前坐標位置是否達到局部目 標點;
[0158] 所述最終目標點判斷單元,用于計算并判斷機器人是否達到最終目標點;
[0159] 所述機器人參數(shù)信息采集單元和機器人位置采集單元分別與局部目標點生成單 元連接;所述機器人位置采集單元與可達路徑生成單元連接;所述可達路徑生成單元與進 行控制單元連接;所述局部目標點判斷單元和最終目標點判斷單元分別與行進控制單元連 接。
[0160] 所述局部目標點生成單元是按照W下步驟來進行的:
[0161] S11:檢測最終目標點和當前坐標位置之間可通過的直線路徑下有無障礙物,如果 沒有障礙物,則設(shè)置最終目標點作為局部目標點;
[0162] S12:如果有障礙物,則判斷障礙物的個數(shù)是否小于兩個,如果否,則設(shè)置離此障礙 物充分安全距離的任一點最為新坐標點作為局部目標點;
[0163] S13:如果是,則建立離最終目標點最近的兩個障礙物呈現(xiàn)的斥力勢場,并構(gòu)建試 探點尋找斥力場合力零的坐標作為局部目標點;
[0164] 所述試探點尋找斥力場合力零的坐標具體按照W下步驟來實現(xiàn):
[0165] S14:按照W下斥力勢函數(shù)建立障礙物對機器人造成的人工斥力勢場模型;
[0166]
[0167] 式中;
[0168] δ :相應的正比例位置增益系數(shù);
[0169] Ρ0:正常數(shù),表示障礙物區(qū)域可對機器人的運動產(chǎn)生影響的最大距離;
[0170] P(q):某一障礙物區(qū)域Cobs到位置q的最小距離,對于所有的q/ eC〇bs,P(q)=min| q-q' Μ;
[0171] S15:根據(jù)斥力勢函數(shù)按照w下公式確定機器人所受的排斥力:
[0172]
[0173] 式中,用qc表示障礙物區(qū)域Cobs上距離q最近的位置點;
[0174] p(q)= I |q-qd | ;
[0175] 是由qc指向q的單位向量:
[0176] S16:選取距離全局目標點距離最近的障礙物,并獲取障礙物在平面上呈現(xiàn)的斥力 勢場,
[0177] S17:根據(jù)斥力勢場計算排斥力,選取排斥力合力為零的點作為局部目標點。
[0178] 還包括與進行控制單元連接的時間虛擬驅(qū)動力單元;所述時間虛擬驅(qū)動力單元機 是通過W下步驟來實現(xiàn):
[0179] S41:建立機器人與障礙物之間的斥力勢函數(shù)并計算斥力:
[0180] S42:建立機器人與局部目標點之間的引力勢函數(shù);
[0181]
[0182] 式中;
[0183] ε:人工勢場法引力勢場增益參數(shù);
[0184] 化(q):機器人當前位置距離局部目標點的歐氏距離;
[0185] S43:按照W下公式計算局部目標點對機器人的引力:
[0186]
[0187] S44:通過W下公式來計算機器人的引力和斥力的合力為零時確定局部極小點;
[018 引
[0189] S45:按照W下公式計算時間虛擬驅(qū)動力的大?。?br>[0190]
[0191] 式中:
[0192] 丫 :調(diào)節(jié)Ftime的常數(shù)。
[0193] 實施例2
[0194] 基于人工勢場法的機器人路徑規(guī)劃會出現(xiàn)局部最小的情景有Ξ種:圖la-c為本實 施例提供的基于人工勢場法的機器人路徑規(guī)劃會出現(xiàn)局部最小情景示意圖;圖la為本實施 例提供的機器人陷入局部最小值的第一種常見情況(目標在障礙物與機器人之間);圖中方 框表示障礙物影響范圍,方框中的圓點表示目標,方框外部圓圈為機器人;圖化為本實施例 提供的機器人陷入局部最小值的第二種常見情況(障礙物在目標與機器人之間);圖中方框 表示障礙物影響范圍,方框上方的圓點表示目標,方框外部圓圈為機器人;圖Ic為本實施例 提供的機器人陷入局部最小值的第Ξ種常見情況(障礙物群與目標