本發(fā)明涉及機(jī)器人控制領(lǐng)域,具體而言,涉及一種機(jī)器人導(dǎo)航控制方法和裝置。
背景技術(shù):
智能移動(dòng)機(jī)器人是一類能夠通過(guò)傳感器感知環(huán)境和自身狀態(tài),實(shí)現(xiàn)在有障礙物的環(huán)境中面向目標(biāo)的自主導(dǎo)航運(yùn)動(dòng),從而完成預(yù)定任務(wù)的機(jī)器人系統(tǒng)。要實(shí)現(xiàn)機(jī)器人自主導(dǎo)航運(yùn)動(dòng),必須要解決環(huán)境建模、實(shí)時(shí)定位、路徑規(guī)劃、運(yùn)動(dòng)控制等一系列問(wèn)題。
其中,移動(dòng)機(jī)器人的運(yùn)動(dòng)控制根據(jù)控制目標(biāo)的不同,可以分為軌跡跟蹤、道路跟隨和點(diǎn)鎮(zhèn)定三類問(wèn)題。道路跟隨問(wèn)題是指在慣性坐標(biāo)系中,機(jī)器人從給定的初始狀態(tài)出發(fā),到達(dá)并跟隨指定的幾何路徑。
在已知環(huán)境導(dǎo)航任務(wù)中,通過(guò)全局路徑規(guī)劃可以確定機(jī)器人期望的移動(dòng)路徑;在未知環(huán)境中,移動(dòng)機(jī)器人通過(guò)傳感器獲取環(huán)境信息建立環(huán)境模型,基于環(huán)境模型進(jìn)行路徑規(guī)劃,確定期望的移動(dòng)路徑?;诼窂揭?guī)劃得到的期望軌跡一般表示為全局坐標(biāo)系中的一系列路標(biāo)點(diǎn)?,F(xiàn)有技術(shù)中的路徑跟隨控制算法不能確保機(jī)器人準(zhǔn)確的跟隨期望路徑,機(jī)器人會(huì)和期望路徑發(fā)生較大偏差。
針對(duì)現(xiàn)有技術(shù)中機(jī)器人無(wú)法準(zhǔn)確跟隨期望路徑的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種機(jī)器人導(dǎo)航控制方法和裝置,以至少解決現(xiàn)有技術(shù)中機(jī)器人無(wú)法準(zhǔn)確跟隨期望路徑的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種機(jī)器人導(dǎo)航控制方法,包括:
在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,確定機(jī)器人與期望路徑的側(cè)向偏差;
根據(jù)機(jī)器人的航向、側(cè)向偏差以及側(cè)向偏差比例系數(shù),確定機(jī)器人的航向偏差;
根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,并生成左右電機(jī)控制指令發(fā)送給左右電機(jī)。
進(jìn)一步地,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括:
確定機(jī)器人是否到達(dá)期望路徑的終點(diǎn);
在機(jī)器人到達(dá)期望路徑的終點(diǎn)的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
進(jìn)一步地,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括:
確定機(jī)器人前方是否有障礙;
在機(jī)器人前方有障礙的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
進(jìn)一步地,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括:
確定機(jī)器人是否接收到外界的遙控指令;
在機(jī)器人接收到外界的遙控指令的情況下,按照遙控指令進(jìn)行移動(dòng)。
進(jìn)一步地,確定機(jī)器人是否到達(dá)期望路徑的終點(diǎn)的步驟包括:
根據(jù)機(jī)器人的當(dāng)前位置確定機(jī)器人的目標(biāo)路徑節(jié)點(diǎn),其中,期望路徑包括多個(gè)路徑節(jié)點(diǎn),每一個(gè)路徑節(jié)點(diǎn)都有一個(gè)序號(hào),且相鄰的路徑節(jié)點(diǎn)的序號(hào)相差為一,目標(biāo)路徑節(jié)點(diǎn)為多個(gè)路徑節(jié)點(diǎn)之一;
確定目標(biāo)路徑節(jié)點(diǎn)的序號(hào)是否為多個(gè)路徑節(jié)點(diǎn)中最后一個(gè)路徑節(jié)點(diǎn)的序號(hào)加一;若是,則確定機(jī)器人到達(dá)期望路徑的終點(diǎn),否則,確定機(jī)器人還未到達(dá)期望路徑的終點(diǎn)。
進(jìn)一步地,根據(jù)機(jī)器人的當(dāng)前位置確定機(jī)器人的目標(biāo)路徑節(jié)點(diǎn)的步驟包括:
從多個(gè)路徑節(jié)點(diǎn)的第一個(gè)路徑節(jié)點(diǎn)開(kāi)始,依次計(jì)算機(jī)器人當(dāng)前位置與每一個(gè)路徑節(jié)點(diǎn)的距離;
若存在與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn),則選取第一個(gè)與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),并終止計(jì)算機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)中剩余路徑節(jié)點(diǎn)的距離;
若機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)的距離均大于門限值,則選取與機(jī)器人當(dāng)前位置距離為最小時(shí)對(duì)應(yīng)的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn)。
進(jìn)一步地,根據(jù)機(jī)器人的當(dāng)前位置確定機(jī)器人的目標(biāo)路徑節(jié)點(diǎn)的步驟之后包括:
確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離;
在機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離小于等于門限值的情況下,確認(rèn)機(jī)器人到達(dá)目標(biāo)路徑節(jié)點(diǎn),將目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為新的目標(biāo)路徑節(jié)點(diǎn)。
進(jìn)一步地,確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離的步驟包括:
按照預(yù)設(shè)位置判斷周期確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離。
進(jìn)一步地,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,確定機(jī)器人與期望路徑的側(cè)向偏差的步驟包括:
在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,按照預(yù)設(shè)航向調(diào)整周期確定機(jī)器人與期望路徑的側(cè)向偏差。
進(jìn)一步地,確定機(jī)器人與期望路徑的側(cè)向偏差的步驟包括:
其中,pl_dist表示機(jī)器人與期望路徑的側(cè)向偏差,x和y分別表示機(jī)器人當(dāng)前位置的橫坐標(biāo)和縱坐標(biāo),X1和Y1分別表示機(jī)器人在當(dāng)前位置時(shí)的目標(biāo)路徑節(jié)點(diǎn)的上一個(gè)路徑節(jié)點(diǎn)的橫坐標(biāo)和縱坐標(biāo),X2和Y2分別表示機(jī)器人在當(dāng)前位置時(shí)的目標(biāo)路徑節(jié)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
進(jìn)一步地,根據(jù)機(jī)器人的航向、側(cè)向偏差以及側(cè)向偏差比例系數(shù),確定機(jī)器人的航向偏差的步驟包括:
其中,Corner表示機(jī)器人的航向偏差,Head表示機(jī)器人的航向,Kd_P表示側(cè)向偏差比例系數(shù)。
進(jìn)一步地,根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量的步驟包括:
根據(jù)機(jī)器人的航向偏差確定航向PI調(diào)整參數(shù);
根據(jù)航向PI調(diào)整參數(shù)確定左右電機(jī)控制量。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種機(jī)器人導(dǎo)航控制裝置,包括:
第一確定模塊,用于在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,確定機(jī)器人與期望路徑的側(cè)向偏差;
第二控制模塊,用于根據(jù)機(jī)器人的航向、側(cè)向偏差以及側(cè)向偏差比例系數(shù),確定機(jī)器人的航向偏差;
第三控制模塊,用于根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,并生成左右電機(jī)控制指令發(fā)送給左右電機(jī)。
在本發(fā)明實(shí)施例中,采用雙閉環(huán)道路跟隨控制算法,通過(guò)先確定機(jī)器人與期望路徑的側(cè)向偏差,根據(jù)側(cè)向偏差確定機(jī)器人的航向偏差,再根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,通過(guò)左右電機(jī)控制量生成的左右電機(jī)控制指令來(lái)控制左右電機(jī),達(dá)到了確保機(jī)器人準(zhǔn)確跟隨期望路徑的目的,從而實(shí)現(xiàn)了機(jī)器人平穩(wěn)、連貫按照期望路徑運(yùn)動(dòng)的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中機(jī)器人無(wú)法準(zhǔn)確跟隨期望路徑的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例1的一種可選的機(jī)器人導(dǎo)航控制的方法示意圖一;
圖2是根據(jù)本發(fā)明實(shí)施例1的一種可選的機(jī)器人導(dǎo)航控制的方法示意圖二;
圖3是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖一;
圖4是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖二;
圖5是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖三;
圖6是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖四;
圖7是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖五;
圖8是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖六;
圖9是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖七;以及
圖10是根據(jù)本發(fā)明實(shí)施例2的一種可選的機(jī)器人導(dǎo)航控制的裝置結(jié)構(gòu)圖八。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種機(jī)器人導(dǎo)航控制的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例1的一種可選的機(jī)器人導(dǎo)航控制的方法示意圖一,如圖1所示,該方法包括如下步驟:
步驟S102,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,確定機(jī)器人與期望路徑的側(cè)向偏差。
具體的,在已知環(huán)境導(dǎo)航任務(wù)中,通過(guò)全局路徑規(guī)劃可以確定機(jī)器人期望的移動(dòng)路徑,也就是本發(fā)明中所說(shuō)的期望路徑;在未知環(huán)境中,機(jī)器人可以通過(guò)傳感器來(lái)獲取環(huán)境信息從而建立環(huán)境模型,基于環(huán)境模型進(jìn)行路徑規(guī)劃,最終得到期望路徑。通常情況下,期望路徑一般表示為全局坐標(biāo)系中的一系列路徑節(jié)點(diǎn)。期望路徑會(huì)被保存在機(jī)器人中的硬盤中,通??梢酝ㄟ^(guò)交互流程將期望路徑寫入硬盤中,因此,在啟動(dòng)機(jī)器人后,或者在向機(jī)器人發(fā)送按照期望路徑移動(dòng)的指令后,機(jī)器人需要首先從硬盤中讀取有關(guān)期望路徑的數(shù)據(jù),然后才能沿著期望路徑進(jìn)行移動(dòng),并且為了確定機(jī)器人與期望路徑的航向偏差,本發(fā)明采用通過(guò)機(jī)器人與期望路徑的側(cè)向偏差來(lái)確定航向偏差的方式,因此需要首先確定機(jī)器人與期望路徑的側(cè)向偏差。
步驟S104,根據(jù)機(jī)器人的航向、側(cè)向偏差以及側(cè)向偏差比例系數(shù),確定機(jī)器人的航向偏差。
具體的,在確定了機(jī)器人與期望路徑的側(cè)向偏差后,可以根據(jù)機(jī)器人的航向、側(cè)向偏差和側(cè)向偏差比例系數(shù)來(lái)確定機(jī)器人的航向偏差。
需要說(shuō)明的是,機(jī)器人的航向是實(shí)時(shí)測(cè)量的,側(cè)向偏差比例系數(shù)是預(yù)先設(shè)置好的。
步驟S106,根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,并生成左右電機(jī)控制指令發(fā)送給左右電機(jī)。
具體的,機(jī)器人中設(shè)置有左右電機(jī),包括左電機(jī)和右電機(jī),左右電機(jī)控制機(jī)器人的運(yùn)動(dòng),包括機(jī)器人的運(yùn)動(dòng)速度、方向等,因此在機(jī)器人與期望路徑發(fā)生偏差的時(shí)候,最終需要通過(guò)調(diào)節(jié)左右電機(jī)來(lái)使機(jī)器人重新回到期望路徑上,因此在確定了機(jī)器人與期望路徑的航向偏差后,需要根據(jù)航向偏差最終得到左右電機(jī)控制量,包括左電機(jī)控制量和右電機(jī)控制量,根據(jù)左右電機(jī)控制量生成具體的左右電機(jī)控制指令,包括左電機(jī)控制指令和右電機(jī)控制指令,并將左電機(jī)控制指令發(fā)送給左電機(jī),將右電機(jī)控制指令發(fā)送給右電機(jī),實(shí)現(xiàn)對(duì)左電機(jī)和右電機(jī)的分別控制,從而調(diào)整機(jī)器人的航向,使機(jī)器人準(zhǔn)確跟隨期望路徑。
通過(guò)上述步驟S102-步驟S106,本發(fā)明采用雙閉環(huán)道路跟隨控制算法,通過(guò)先確定機(jī)器人與期望路徑的側(cè)向偏差,根據(jù)側(cè)向偏差確定機(jī)器人的航向偏差,再根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,通過(guò)左右電機(jī)控制量生成的左右電機(jī)控制指令來(lái)控制左右電機(jī),達(dá)到了確保機(jī)器人準(zhǔn)確跟隨期望路徑的目的,從而實(shí)現(xiàn)了機(jī)器人平穩(wěn)、連貫按照期望路徑運(yùn)動(dòng)的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中機(jī)器人無(wú)法準(zhǔn)確跟隨期望路徑的技術(shù)問(wèn)題。本發(fā)明的機(jī)器人導(dǎo)航控制方法和裝置應(yīng)用在機(jī)器人控制領(lǐng)域,尤其適用于地面移動(dòng)機(jī)器人在室內(nèi)環(huán)境中的導(dǎo)航控制。
在一種可選的實(shí)施例中,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括步驟S200:確定機(jī)器人是否到達(dá)期望路徑的終點(diǎn);在機(jī)器人到達(dá)期望路徑的終點(diǎn)的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
具體的,如果機(jī)器人到達(dá)期望路徑的終點(diǎn),則自動(dòng)生成停車指令,并將停車指令發(fā)送給機(jī)器人中相應(yīng)的控制部件,由相應(yīng)的控制部件控制機(jī)器人停止移動(dòng),如果機(jī)器人沒(méi)有到達(dá)期望路徑的終點(diǎn),則控制機(jī)器人繼續(xù)沿著期望路徑移動(dòng)。
需要說(shuō)明的是,本發(fā)明中確定機(jī)器人是否到達(dá)期望路徑的終點(diǎn)時(shí),并沒(méi)有限定是確定機(jī)器人是否第一次到達(dá)期望路徑的終點(diǎn),本發(fā)明中對(duì)機(jī)器人的控制命令可以是機(jī)器人第一次到達(dá)期望路徑的終點(diǎn)時(shí),就生成停車指令,也可以在機(jī)器人第一次到達(dá)期望路徑的終點(diǎn)后,沿著期望路徑進(jìn)行循環(huán)運(yùn)動(dòng),直至某一次到達(dá)期望路徑的終點(diǎn)時(shí),再生成停車指令控制機(jī)器人停止運(yùn)動(dòng),具體循環(huán)的次數(shù),可以由機(jī)器人控制者自行設(shè)置。
在一種可選的實(shí)施例中,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括步驟S300:確定機(jī)器人前方是否有障礙;在機(jī)器人前方有障礙的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
具體的,如果機(jī)器人在移動(dòng)的過(guò)程中,前方出現(xiàn)障礙物,則自動(dòng)生成停車指令,并將停車指令發(fā)送給機(jī)器人中相應(yīng)的控制部件,由相應(yīng)的控制部件控制機(jī)器人停止移動(dòng),其中,可以通過(guò)安裝在機(jī)器人上的傳感器或者攝像裝置等來(lái)識(shí)別障礙物,或者通過(guò)其他現(xiàn)有技術(shù)來(lái)識(shí)別前方是否出現(xiàn)障礙物,本發(fā)明中對(duì)此不作贅述。
需要說(shuō)明的是,在障礙物被移除前,機(jī)器人不能按照最先的控制指令繼續(xù)沿著期望路徑移動(dòng),但是可以重新接收其他的一些控制指令,例如繞開(kāi)障礙物等,可以在繞開(kāi)障礙物后,接收繼續(xù)沿著期望路徑進(jìn)行移動(dòng)的控制指令,繼續(xù)沿著期望路徑移動(dòng);同樣的,在障礙物被移除后,也可以接收繼續(xù)沿著期望路徑進(jìn)行移動(dòng)的控制指令,繼續(xù)沿著期望路徑移動(dòng)。
在一種可選的實(shí)施例中,在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,還包括步驟S400:確定機(jī)器人是否接收到外界的遙控指令;在機(jī)器人接收到外界的遙控指令的情況下,按照遙控指令進(jìn)行移動(dòng)。
具體的,如果機(jī)器人在沿著期望路徑移動(dòng)的過(guò)程中,接收到了其他的遙控指令,來(lái)命令機(jī)器人執(zhí)行其他動(dòng)作,則機(jī)器人放棄當(dāng)前的移動(dòng)命令,優(yōu)先執(zhí)行新接收到的遙控指令。
需要說(shuō)明的是,在執(zhí)行完遙控指令后,可以提供給機(jī)器人控制者不再執(zhí)行接收到遙控指令時(shí)正在執(zhí)行的控制指令的選項(xiàng)和繼續(xù)執(zhí)行接收到遙控指令時(shí)正在執(zhí)行的控制指令的選項(xiàng)。
可選的,發(fā)送給機(jī)器人的遙控指令可以是控制機(jī)器人的專用的遙控裝置發(fā)出的,也可以是智能移動(dòng)設(shè)備發(fā)出的,智能移動(dòng)設(shè)備可以是手機(jī)、電腦或穿戴式設(shè)備如智能手表等。
在一種可選的實(shí)施例中,步驟S200包括:
步驟S202,根據(jù)機(jī)器人的當(dāng)前位置確定機(jī)器人的目標(biāo)路徑節(jié)點(diǎn),其中,期望路徑包括多個(gè)路徑節(jié)點(diǎn),每一個(gè)路徑節(jié)點(diǎn)都有一個(gè)序號(hào),且相鄰的路徑節(jié)點(diǎn)的序號(hào)相差為一,目標(biāo)路徑節(jié)點(diǎn)為多個(gè)路徑節(jié)點(diǎn)之一。
步驟S204,確定目標(biāo)路徑節(jié)點(diǎn)的序號(hào)是否為多個(gè)路徑節(jié)點(diǎn)中最后一個(gè)路徑節(jié)點(diǎn)的序號(hào)加一;若是,則確定機(jī)器人到達(dá)期望路徑的終點(diǎn),否則,確定機(jī)器人還未到達(dá)期望路徑的終點(diǎn)。
具體的,由于期望路徑一般表示為全局坐標(biāo)系中的一系列路徑節(jié)點(diǎn),按照順序給每一個(gè)路徑節(jié)點(diǎn)進(jìn)行編號(hào),每一個(gè)路徑節(jié)點(diǎn)都有一個(gè)序號(hào),本發(fā)明首先確定機(jī)器人將要移向的路徑節(jié)點(diǎn),也就是目標(biāo)路徑節(jié)點(diǎn),如果目標(biāo)路徑節(jié)點(diǎn)的序號(hào)是最后一個(gè)路徑節(jié)點(diǎn)的序號(hào)加一,就說(shuō)明機(jī)器人已經(jīng)到達(dá)了最后一個(gè)路徑節(jié)點(diǎn),也就是機(jī)器人已經(jīng)到達(dá)了期望路徑的終點(diǎn)。
在一個(gè)可選的實(shí)施例中,例如假設(shè)期望路徑上有PNum+1個(gè)路徑節(jié)點(diǎn),序號(hào)分別是0、1、2、…、PNum,用R_Num表示目標(biāo)路徑節(jié)點(diǎn)的序號(hào),如果R_Num=PNum+1,也就是說(shuō)明機(jī)器人已經(jīng)到達(dá)了期望路徑的終點(diǎn)。
在一種可選的實(shí)施例中,步驟S202包括:
步驟S206,從多個(gè)路徑節(jié)點(diǎn)的第一個(gè)路徑節(jié)點(diǎn)開(kāi)始,依次計(jì)算機(jī)器人當(dāng)前位置與每一個(gè)路徑節(jié)點(diǎn)的距離;若存在與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn),則選取第一個(gè)與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),并終止計(jì)算機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)中剩余路徑節(jié)點(diǎn)的距離;若機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)的距離均大于門限值,則選取與機(jī)器人當(dāng)前位置距離為最小時(shí)對(duì)應(yīng)的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn)。
具體的,為了確定機(jī)器人在當(dāng)前位置使的目標(biāo)路徑節(jié)點(diǎn),首先需要從第一路徑節(jié)點(diǎn)開(kāi)始計(jì)算與機(jī)器人當(dāng)前位置的距離,并設(shè)置了一個(gè)門限值,比較計(jì)算出來(lái)的距離與門限值的大小,如果出現(xiàn)距離小于等于門限值的路徑節(jié)點(diǎn),則將該路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),并且假設(shè)該路徑節(jié)點(diǎn)不是最后一個(gè)路徑節(jié)點(diǎn),剩余的路徑節(jié)點(diǎn)與機(jī)器人當(dāng)前位置的距離就不再計(jì)算了;如果所有路徑節(jié)點(diǎn)與機(jī)器人當(dāng)前位置的距離都不能滿足小于等于門限值,說(shuō)明機(jī)器人當(dāng)前位置距離所有的路徑節(jié)點(diǎn)都較遠(yuǎn),則選擇一個(gè)相對(duì)較近的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),也就是選擇與機(jī)器人當(dāng)前位置距離最小的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn)。
在一個(gè)可選的實(shí)施例中,例如假設(shè)期望路徑上有PNum+1個(gè)路徑節(jié)點(diǎn),序號(hào)分別是0、1、2、…、PNum,PNum+1個(gè)路徑節(jié)點(diǎn)的XY坐標(biāo)分別是(Route[0][0],Route[0][1])、(Route[1][0],Route[1][1])、…、(Route[PNum][0],Route[PNum][1]),其中(Route[i][0],Route[i][1])表示序號(hào)為i的路徑節(jié)點(diǎn)也就是第i+1個(gè)路徑節(jié)點(diǎn)的XY坐標(biāo),機(jī)器人當(dāng)前位置的坐標(biāo)為(x,y),則機(jī)器人當(dāng)前位置與序號(hào)為i的路徑節(jié)點(diǎn)的距離的計(jì)算公式如下:
其中,distN[i]表示機(jī)器人當(dāng)前位置與序號(hào)為i的路徑節(jié)點(diǎn)的距離,若序號(hào)為l的路徑節(jié)點(diǎn)為第一個(gè)與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn),也就是滿足distN[l]≤P_Gate,其中P_Gate表示門限值,則將序號(hào)為l+1的路徑節(jié)點(diǎn)也就是第l+2個(gè)路徑節(jié)點(diǎn)作為機(jī)器人在當(dāng)前位置的目標(biāo)路徑節(jié)點(diǎn),即R_Num=l+1,其中R_Num表示目標(biāo)路徑節(jié)點(diǎn)的序號(hào)。如果機(jī)器人當(dāng)前位置與所有路徑節(jié)點(diǎn)的距離均大于門限值,則選取與機(jī)器人當(dāng)前位置距離為最小時(shí)對(duì)應(yīng)的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),用計(jì)算公式表示即:
其中,nmin表示與機(jī)器人當(dāng)前位置距離為最小時(shí)對(duì)應(yīng)的路徑節(jié)點(diǎn)的序號(hào),distN[nmin]表示與機(jī)器人當(dāng)前位置的最小距離。此時(shí),R_Num=nmin。
需要說(shuō)明的是,門限值的大小可以根據(jù)機(jī)器人的實(shí)際應(yīng)用場(chǎng)景或者其他因素進(jìn)行具體設(shè)置,本發(fā)明對(duì)門限值的大小并不做限定。
在一種可選的實(shí)施例中,在計(jì)算目標(biāo)路徑節(jié)點(diǎn)時(shí),如果計(jì)算出的目標(biāo)路徑節(jié)點(diǎn)的序號(hào)與上一次計(jì)算目標(biāo)路徑算法時(shí)計(jì)算的結(jié)果相同,則說(shuō)明該目標(biāo)路徑節(jié)點(diǎn)已經(jīng)走過(guò),因此將計(jì)算出的目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn)。
在一種可選的實(shí)施例中,步驟S202之后包括:
步驟S208:確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離;在機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離小于等于門限值的情況下,確認(rèn)機(jī)器人到達(dá)目標(biāo)路徑節(jié)點(diǎn),將目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為新的目標(biāo)路徑節(jié)點(diǎn)。
在一種可選的實(shí)施例中,步驟S208具體為:按照預(yù)設(shè)位置判斷周期確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離。
具體的,機(jī)器人并不是不間斷的判斷其與目標(biāo)路徑節(jié)點(diǎn)的距離,而是按照一定的位置判斷周期進(jìn)行判斷的,預(yù)設(shè)的位置判斷周期可以根據(jù)具體情況進(jìn)行設(shè)置,本發(fā)明對(duì)預(yù)設(shè)位置判斷周期的具體數(shù)值不做限定。
在一種可選的實(shí)施例中,步驟S102具體為:在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,按照預(yù)設(shè)航向調(diào)整周期確定機(jī)器人與期望路徑的側(cè)向偏差。
具體的,機(jī)器人并不是不間斷的確定其與期望路徑的側(cè)向偏差,而是按照一定的航向調(diào)整周期進(jìn)行確定的,只有到達(dá)預(yù)設(shè)的航向調(diào)整周期,才開(kāi)始進(jìn)行機(jī)器人與期望路線的側(cè)向偏差的確定;預(yù)設(shè)的航向調(diào)整周期可以根據(jù)具體情況進(jìn)行設(shè)置,本發(fā)明對(duì)預(yù)設(shè)航向調(diào)整周期的具體數(shù)值不做限定。
在一種可選的實(shí)施例中,步驟S102中確定側(cè)向偏差使用的公式如下所示:
其中,pl_dist表示機(jī)器人與期望路徑的側(cè)向偏差,x和y分別表示機(jī)器人當(dāng)前位置的橫坐標(biāo)和縱坐標(biāo),X1和Y1分別表示機(jī)器人在當(dāng)前位置時(shí)的目標(biāo)路徑節(jié)點(diǎn)的上一個(gè)路徑節(jié)點(diǎn)的橫坐標(biāo)和縱坐標(biāo),X2和Y2分別表示機(jī)器人在當(dāng)前位置時(shí)的目標(biāo)路徑節(jié)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。
在一種可選的實(shí)施例中,步驟S104中確定側(cè)向偏差使用的公式如下所示:
其中,Corner表示機(jī)器人的航向偏差,Head表示機(jī)器人的航向,Kd_P表示側(cè)向偏差比例系數(shù)。
具體的,機(jī)器人的航向可以通過(guò)羅盤測(cè)得,通過(guò)羅盤測(cè)得的航向可以調(diào)整到超寬帶定位系統(tǒng)坐標(biāo)系下,需要說(shuō)明的是,計(jì)算出的航向偏差需要調(diào)整到0度至360度范圍內(nèi)。
在一種可選的實(shí)施例中,步驟S106包括:
步驟S502:根據(jù)機(jī)器人的航向偏差確定航向PI調(diào)整參數(shù);
步驟S503:根據(jù)航向PI調(diào)整參數(shù)確定左右電機(jī)控制量。
在一種可選的實(shí)施例中,根據(jù)機(jī)器人的航向偏差確定航向PI調(diào)整參數(shù)可以用Xh表示,航向PI調(diào)整參數(shù)的計(jì)算公式如下所示:
Xh=Xh_I+Xh_P
其中,其中航向PI調(diào)整參數(shù)的積分項(xiàng)為Xh_I,航向PI調(diào)整參數(shù)的比例項(xiàng)為Xh_P,Xh_I=∑Kh_I·Corner,Xh_P=Kh_P·Corner,Kh_I和Kh_P分別表示積分系數(shù)和比例系數(shù)。
在一種可選的實(shí)施例中,根據(jù)航向PI調(diào)整參數(shù)確定左右電機(jī)控制量具體包括:根據(jù)航向PI調(diào)整參數(shù)分別確定左電機(jī)控制量和右電機(jī)控制量,用TL和TR分別表示左電機(jī)控制量和右電機(jī)控制量,左電機(jī)控制量TL為在原先的基礎(chǔ)上減少Xh/2,右電機(jī)控制量TR為在原先的基礎(chǔ)上增加X(jué)h/2。
在一種可選的實(shí)施例中,需要對(duì)左電機(jī)控制量和右電機(jī)控制量進(jìn)行限幅,之后發(fā)送給驅(qū)動(dòng)器,根據(jù)左右電機(jī)控制量進(jìn)一步生成左右電機(jī)控制指令,發(fā)送給左右電機(jī),左右電機(jī)根據(jù)左右電機(jī)控制指令來(lái)對(duì)機(jī)器人的航向進(jìn)行調(diào)整。
在一種優(yōu)選的實(shí)施例中,如圖2所示,在機(jī)器人啟動(dòng)或者接收到沿著期望路徑進(jìn)行移動(dòng)的控制命令后,首先讀取期望路徑,然后根據(jù)機(jī)器人的當(dāng)前位置確定目標(biāo)路徑節(jié)點(diǎn)R_Num,通過(guò)R_Num=PNum+1來(lái)判斷機(jī)器人是否到達(dá)期望路徑的終點(diǎn),其中PNum表示期望路徑上最后一個(gè)路徑節(jié)點(diǎn)的序號(hào),如果機(jī)器人到達(dá)期望路徑的終點(diǎn),則生成停車指令,并結(jié)束當(dāng)前跟隨期望路徑的流程,即路徑跟隨流程結(jié)束,如果機(jī)器人沒(méi)有到達(dá)期望路徑的終點(diǎn),則判斷機(jī)器人的前方是否有障礙,如果有,則生成停車指令,并結(jié)束當(dāng)前跟隨期望路徑的流程,即路徑跟隨流程結(jié)束,如果機(jī)器人的前方?jīng)]有障礙,則判斷機(jī)器人是否接收到遙控指令,如果接收到,則結(jié)束當(dāng)前跟隨期望路徑的流程,即路徑跟隨流程結(jié)束,如果沒(méi)有,則判斷是否到達(dá)位置判斷周期,如果到達(dá)位置判斷周期,則計(jì)算機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離Dist,并判斷Dist與門限值P_Gate的大小,如果Dist小于等于門限值P_Gate,則確定機(jī)器人到達(dá)目標(biāo)路徑節(jié)點(diǎn),其中圖2中R_Num++表示將當(dāng)前位置的目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)的序號(hào)賦予目標(biāo)路徑節(jié)點(diǎn),也就是將當(dāng)前目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為新的目標(biāo)路徑節(jié)點(diǎn);如果沒(méi)有到達(dá)位置判斷周期,以及如果Dist大于門限值P_Gate,以及在確定了新的目標(biāo)路徑節(jié)點(diǎn)后,則進(jìn)入判斷是否到達(dá)航向調(diào)整周期的判斷,如果沒(méi)有到達(dá)航向調(diào)整周期,則返回判斷機(jī)器人是否到達(dá)期望路徑的終點(diǎn)的步驟,如果到達(dá)航向調(diào)整周期,則首先計(jì)算側(cè)向偏差pl_dist,然后根據(jù)側(cè)向偏差pl_dist計(jì)算航向偏差Corner,接著根據(jù)航向偏差Corner計(jì)算PI調(diào)整參數(shù)Xh,根據(jù)PI調(diào)整參數(shù)Xh計(jì)算左右電機(jī)控制量TR和TL,接著發(fā)送左右電機(jī)控制指令,之后返回判斷機(jī)器人是否到達(dá)期望路徑的終點(diǎn)的步驟。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,提供了一種機(jī)器人導(dǎo)航控制的產(chǎn)品實(shí)施例,圖3是根據(jù)本發(fā)明實(shí)施例的機(jī)器人導(dǎo)航控制裝置,如圖3所示,包括第一確定模塊101、第二確定模塊103和第三確定模塊105。
其中,第一確定模塊101,用于在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,確定機(jī)器人與期望路徑的側(cè)向偏差。
第二控制模塊103,用于根據(jù)機(jī)器人的航向、側(cè)向偏差以及側(cè)向偏差比例系數(shù),確定機(jī)器人的航向偏差。
第三控制模塊105,用于根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,并生成左右電機(jī)控制指令發(fā)送給左右電機(jī)。
通過(guò)上述模塊,本發(fā)明采用雙閉環(huán)道路跟隨控制算法,通過(guò)第一確定模塊101先確定機(jī)器人與期望路徑的側(cè)向偏差,通過(guò)第二控制模塊103根據(jù)側(cè)向偏差確定機(jī)器人的航向偏差,再通過(guò)第三控制模塊105根據(jù)機(jī)器人的航向偏差確定左右電機(jī)控制量,通過(guò)左右電機(jī)控制量生成的左右電機(jī)控制指令來(lái)控制左右電機(jī),達(dá)到了確保機(jī)器人準(zhǔn)確跟隨期望路徑的目的,從而實(shí)現(xiàn)了機(jī)器人平穩(wěn)、連貫按照期望路徑運(yùn)動(dòng)的技術(shù)效果,進(jìn)而解決了現(xiàn)有技術(shù)中機(jī)器人無(wú)法準(zhǔn)確跟隨期望路徑的技術(shù)問(wèn)題。
在一種可選的實(shí)施例中,如圖4所示,本發(fā)明的裝置還包括終點(diǎn)確定模塊201,用于確定機(jī)器人是否到達(dá)期望路徑的終點(diǎn);在機(jī)器人到達(dá)期望路徑的終點(diǎn)的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
在一種可選的實(shí)施例中,如圖5所示,本發(fā)明的裝置還包括障礙確定模塊301,用于確定機(jī)器人前方是否有障礙;在機(jī)器人前方有障礙的情況下,生成停車指令,并按照停車指令停止移動(dòng)。
在一種可選的實(shí)施例中,如圖6所示,本發(fā)明的裝置還包括遙控指令確定模塊401,用于確定機(jī)器人是否接收到外界的遙控指令;在機(jī)器人接收到外界的遙控指令的情況下,按照遙控指令進(jìn)行移動(dòng)。
在一種可選的實(shí)施例中,如圖7所示,終點(diǎn)確定模塊201包括目標(biāo)路徑節(jié)點(diǎn)確定模塊203和終點(diǎn)判斷模塊205。
其中,目標(biāo)路徑節(jié)點(diǎn)確定模塊203用于根據(jù)機(jī)器人的當(dāng)前位置確定機(jī)器人的目標(biāo)路徑節(jié)點(diǎn),其中,期望路徑包括多個(gè)路徑節(jié)點(diǎn),每一個(gè)路徑節(jié)點(diǎn)都有一個(gè)序號(hào),且相鄰的路徑節(jié)點(diǎn)的序號(hào)相差為一,目標(biāo)路徑節(jié)點(diǎn)為多個(gè)路徑節(jié)點(diǎn)之一。
終點(diǎn)判斷模塊205用于確定目標(biāo)路徑節(jié)點(diǎn)的序號(hào)是否為多個(gè)路徑節(jié)點(diǎn)中最后一個(gè)路徑節(jié)點(diǎn)的序號(hào)加一;若是,則確定機(jī)器人到達(dá)期望路徑的終點(diǎn),否則,確定機(jī)器人還未到達(dá)期望路徑的終點(diǎn)。
在一種可選的實(shí)施例中,如圖8所示,目標(biāo)路徑節(jié)點(diǎn)確定模塊203包括距離計(jì)算模塊207,用于從多個(gè)路徑節(jié)點(diǎn)的第一個(gè)路徑節(jié)點(diǎn)開(kāi)始,依次計(jì)算機(jī)器人當(dāng)前位置與每一個(gè)路徑節(jié)點(diǎn)的距離;若存在與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn),則選取第一個(gè)與機(jī)器人當(dāng)前位置的距離小于等于門限值的路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn),并終止計(jì)算機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)中剩余路徑節(jié)點(diǎn)的距離;若機(jī)器人當(dāng)前位置與多個(gè)路徑節(jié)點(diǎn)的距離均大于門限值,則選取與機(jī)器人當(dāng)前位置距離為最小時(shí)對(duì)應(yīng)的路徑節(jié)點(diǎn)作為目標(biāo)路徑節(jié)點(diǎn)。
在一種可選的實(shí)施例中,如圖9所示,終點(diǎn)確定模塊201還包括距離確定模塊209,距離確定模塊209分別與目標(biāo)路徑節(jié)點(diǎn)確定模塊203和終點(diǎn)判斷模塊205連接,用于確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離;在機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離小于等于門限值的情況下,確認(rèn)機(jī)器人到達(dá)目標(biāo)路徑節(jié)點(diǎn),將目標(biāo)路徑節(jié)點(diǎn)的下一個(gè)路徑節(jié)點(diǎn)作為新的目標(biāo)路徑節(jié)點(diǎn)。
在一種可選的實(shí)施例中,距離確定模塊209的具體實(shí)施包括:按照預(yù)設(shè)位置判斷周期確定機(jī)器人當(dāng)前位置與目標(biāo)路徑節(jié)點(diǎn)的距離。
在一種可選的實(shí)施例中,第一確定模塊101的具體實(shí)施包括:在機(jī)器人沿著預(yù)先寫入的期望路徑移動(dòng)過(guò)程中,按照預(yù)設(shè)航向調(diào)整周期確定機(jī)器人與期望路徑的側(cè)向偏差。
在一種可選的實(shí)施例中,如圖10所示,第三確定模塊105包括參數(shù)確定模塊501和控制量確定模塊503。
其中,參數(shù)確定模塊501用于根據(jù)機(jī)器人的航向偏差確定航向PI調(diào)整參數(shù)。
控制量確定模塊503用于根據(jù)航向PI調(diào)整參數(shù)確定左右電機(jī)控制量。
其中側(cè)向偏差、航向偏差、航向PI調(diào)整參數(shù)以及左右電機(jī)控制量的計(jì)算公式在方法部分已經(jīng)進(jìn)行了詳細(xì)的論述,此處不再贅述。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。