本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及控制技術(shù)領(lǐng)域,尤其涉及用于無(wú)人搬運(yùn)車(chē)的控制方法和裝置。
背景技術(shù):
無(wú)人搬運(yùn)車(chē)(Automated Guided Vehicle,AGV),也稱自動(dòng)導(dǎo)引運(yùn)輸車(chē),指裝備有電磁或光學(xué)等自動(dòng)導(dǎo)引裝置,能夠沿規(guī)定的導(dǎo)引路徑行駛,具有安全保護(hù)以及各種移載功能的運(yùn)輸車(chē)。通常,需要對(duì)無(wú)人搬運(yùn)車(chē)進(jìn)行直行控制,以使無(wú)人搬運(yùn)車(chē)行駛至指定的位置。
現(xiàn)有的控制方式通常是基于慣性導(dǎo)航技術(shù)、曲線擬合方式等對(duì)車(chē)體的位姿進(jìn)行測(cè)量和調(diào)整。然而,基于慣性導(dǎo)航技術(shù)的控制方法需要使用慣性導(dǎo)航系統(tǒng),導(dǎo)致無(wú)人搬運(yùn)車(chē)的成本較高;基于曲線擬合方式的控制方法,受地面平整度、車(chē)速等情況影響較大。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的在于提出一種改進(jìn)的無(wú)人搬運(yùn)車(chē)的控制方法和裝置,來(lái)解決以上背景技術(shù)部分提到的技術(shù)問(wèn)題。
第一方面,本申請(qǐng)實(shí)施例提供了一種無(wú)人搬運(yùn)車(chē)的控制方法,該方法包括:響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,并執(zhí)行如下控制步驟:獲取目標(biāo)時(shí)間段內(nèi)的無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離;基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量;基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域;響應(yīng)于確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域,將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟。
在一些實(shí)施例中,無(wú)人搬運(yùn)車(chē)安裝有拍攝裝置;以及基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息,包括:基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,基于圖像和圖像中呈現(xiàn)的二維碼,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息,其中,二維碼用于記錄二維碼所在位置的坐標(biāo)。
在一些實(shí)施例中,確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,基于圖像和所圖像中呈現(xiàn)的二維碼,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息,包括:確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,提取圖像中呈現(xiàn)的二維碼所記錄的坐標(biāo),并確定圖像中呈現(xiàn)的二維碼在圖像中的位置和角度;基于所提取的坐標(biāo)、位置和角度,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息。
在一些實(shí)施例中,初始位姿信息包括初始偏移距離和初始偏移角度,當(dāng)前位姿信息包括當(dāng)前偏移距離和當(dāng)前偏移角度,無(wú)人搬運(yùn)車(chē)的驅(qū)動(dòng)輪包括左驅(qū)動(dòng)輪和右驅(qū)動(dòng)輪;以及基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息,包括:基于初始偏移角度、左驅(qū)動(dòng)輪的行駛距離、右驅(qū)動(dòng)輪的行駛距離和車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移角度;基于初始偏移距離、當(dāng)前偏移角度、左驅(qū)動(dòng)輪的行駛距離和右驅(qū)動(dòng)輪的行駛距離,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移距離。
在一些實(shí)施例中,在基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息之后,控制步驟還包括:將所獲取的左驅(qū)動(dòng)輪的行駛距離與目標(biāo)時(shí)間段所對(duì)應(yīng)的時(shí)長(zhǎng)的比值確定為左驅(qū)動(dòng)輪的初始速度,并將所獲取的右驅(qū)動(dòng)輪的行駛距離與時(shí)長(zhǎng)的比值確定為右驅(qū)動(dòng)輪的初始速度;將左驅(qū)動(dòng)輪的初始速度和右驅(qū)動(dòng)輪的初始速度的平均值確定為無(wú)人搬運(yùn)車(chē)的初始行駛速度。
在一些實(shí)施例中,位姿控制系數(shù)包括速度控制系數(shù)、偏移距離控制系數(shù)和偏移角度控制系數(shù);以及基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量,包括:基于當(dāng)前偏移角度、當(dāng)前偏移距離、速度控制系數(shù)、偏移距離控制系數(shù)、偏移角度控制系數(shù)和初始行駛速度,確定無(wú)人搬運(yùn)車(chē)的差速控制量。
在一些實(shí)施例中,基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,包括:確定所述無(wú)人搬運(yùn)車(chē)在所述目標(biāo)時(shí)間段內(nèi)的規(guī)劃速度;將規(guī)劃速度與差速控制量的和確定為左驅(qū)動(dòng)輪的目標(biāo)速度,并將規(guī)劃速度與差速控制量的差確定為右驅(qū)動(dòng)輪的目標(biāo)速度;控制左驅(qū)動(dòng)輪按照所確定的左驅(qū)動(dòng)輪的目標(biāo)速度行駛,并控制右驅(qū)動(dòng)輪按照所確定的右驅(qū)動(dòng)輪的目標(biāo)速度行駛。
第二方面,本申請(qǐng)實(shí)施例提供了一種無(wú)人搬運(yùn)車(chē)的控制裝置,該裝置包括:控制單元,配置用于響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,并執(zhí)行如下控制步驟:獲取目標(biāo)時(shí)間段內(nèi)的無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離;基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量;基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域;執(zhí)行單元,配置用于響應(yīng)于確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域,將當(dāng)前位姿信息作為初始位姿信息,使控制單元繼續(xù)執(zhí)行控制步驟。
在一些實(shí)施例中,無(wú)人搬運(yùn)車(chē)安裝有拍攝裝置;以及控制單元進(jìn)一步配置用于:基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,基于圖像和圖像中呈現(xiàn)的二維碼,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息,其中,二維碼用于記錄二維碼所在位置的坐標(biāo)。
在一些實(shí)施例中,控制單元進(jìn)一步配置用于:確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,提取圖像中呈現(xiàn)的二維碼所記錄的坐標(biāo),并確定圖像中呈現(xiàn)的二維碼在圖像中的位置和角度;基于所提取的坐標(biāo)、位置和角度,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息。
在一些實(shí)施例中,初始位姿信息包括初始偏移距離和初始偏移角度,當(dāng)前位姿信息包括當(dāng)前偏移距離和當(dāng)前偏移角度,無(wú)人搬運(yùn)車(chē)的驅(qū)動(dòng)輪包括左驅(qū)動(dòng)輪和右驅(qū)動(dòng)輪;以及控制單元進(jìn)一步配置用于:基于初始偏移角度、左驅(qū)動(dòng)輪的行駛距離、右驅(qū)動(dòng)輪的行駛距離和車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移角度;基于初始偏移距離、當(dāng)前偏移角度、左驅(qū)動(dòng)輪的行駛距離和右驅(qū)動(dòng)輪的行駛距離,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移距離。
在一些實(shí)施例中,控制單元進(jìn)一步配置用于:將所獲取的左驅(qū)動(dòng)輪的行駛距離與目標(biāo)時(shí)間段所對(duì)應(yīng)的時(shí)長(zhǎng)的比值確定為左驅(qū)動(dòng)輪的初始速度,并將所獲取的右驅(qū)動(dòng)輪的行駛距離與時(shí)長(zhǎng)的比值確定為右驅(qū)動(dòng)輪的初始速度;將左驅(qū)動(dòng)輪的初始速度和右驅(qū)動(dòng)輪的初始速度的平均值確定為無(wú)人搬運(yùn)車(chē)的初始行駛速度。
在一些實(shí)施例中,位姿控制系數(shù)包括速度控制系數(shù)、偏移距離控制系數(shù)和偏移角度控制系數(shù);以及控制單元進(jìn)一步配置用于:基于當(dāng)前偏移角度、當(dāng)前偏移距離、速度控制系數(shù)、偏移距離控制系數(shù)、偏移角度控制系數(shù)和初始行駛速度,確定無(wú)人搬運(yùn)車(chē)的差速控制量。
在一些實(shí)施例中,控制單元進(jìn)一步配置用于:確定所述無(wú)人搬運(yùn)車(chē)在所述目標(biāo)時(shí)間段內(nèi)的規(guī)劃速度;將規(guī)劃速度與差速控制量的和確定為左驅(qū)動(dòng)輪的目標(biāo)速度,并將規(guī)劃速度與差速控制量的差確定為右驅(qū)動(dòng)輪的目標(biāo)速度;控制左驅(qū)動(dòng)輪按照所確定的左驅(qū)動(dòng)輪的目標(biāo)速度行駛,并控制右驅(qū)動(dòng)輪按照所確定的右驅(qū)動(dòng)輪的目標(biāo)速度行駛。
本申請(qǐng)實(shí)施例提供的無(wú)人搬運(yùn)車(chē)的控制方法和裝置,響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,確定初始位姿信息并執(zhí)行控制步驟,在控制步驟中首先獲取各個(gè)驅(qū)動(dòng)輪的行駛距離,而后基于所獲取的初始位姿信息、行駛距離和車(chē)軸長(zhǎng)度確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息,然后基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù)確定無(wú)人搬運(yùn)車(chē)的差速控制量,最后基于差速控制量對(duì)無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度進(jìn)行控制,并在確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域時(shí),將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟。從而,可以在不使用裝慣性導(dǎo)航系統(tǒng)的情況下對(duì)無(wú)人搬運(yùn)車(chē)進(jìn)行直行控制,降低了控制無(wú)人搬運(yùn)車(chē)的成本;另外,對(duì)地面平整度、車(chē)速等條件適應(yīng)性較強(qiáng),提高了控制的靈活性。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制方法的一個(gè)實(shí)施例的流程圖;
圖3是對(duì)圖2的流程圖中的控制步驟的分解流程圖;
圖4是根據(jù)本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制方法的一個(gè)應(yīng)用場(chǎng)景的示意圖;
圖5是根據(jù)本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制方法的又一個(gè)實(shí)施例的流程圖;
圖6是對(duì)圖5的流程圖中的控制步驟的分解流程圖;
圖7是根據(jù)本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖8是適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的車(chē)載智能設(shè)備的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制方法或無(wú)人搬運(yùn)車(chē)的控制裝置的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括系統(tǒng)架構(gòu)100可以包括無(wú)人搬運(yùn)車(chē)101、網(wǎng)絡(luò)102和對(duì)無(wú)人搬運(yùn)車(chē)101提供支持的服務(wù)器103。無(wú)人搬運(yùn)車(chē)101中可以設(shè)置有車(chē)載智能設(shè)備104。網(wǎng)絡(luò)102用以在終端設(shè)備101和服務(wù)器103之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可以包括各種連接類型,例如有線、無(wú)線通信鏈路或者光纖電纜等等。
車(chē)載智能設(shè)備104上安裝有無(wú)人搬運(yùn)車(chē)101的控制系統(tǒng),其可以對(duì)無(wú)人搬運(yùn)車(chē)101的運(yùn)動(dòng)方式進(jìn)行控制(例如直行控制、轉(zhuǎn)向控制等)。車(chē)載智能設(shè)備104也可以通過(guò)網(wǎng)絡(luò)102與服務(wù)器103交互,以接收控制指令(例如直行控制指令)等信息。
無(wú)人搬運(yùn)車(chē)101還可以安裝有各種傳感器,例如障礙物傳感器、攝像裝置、陀螺儀、加速計(jì)等。在各驅(qū)動(dòng)輪中可以安裝有用于測(cè)量角位移的數(shù)字編碼器,數(shù)字編碼器可以確定出驅(qū)動(dòng)輪的行駛距離。此處,無(wú)人搬運(yùn)車(chē)101的驅(qū)動(dòng)方式可以是兩輪差動(dòng)驅(qū)動(dòng)的方式。需要說(shuō)明的是,無(wú)人搬運(yùn)車(chē)101可以安裝有除上述列舉外的各種類型和功能的傳感器,在此不再贅述。
服務(wù)器103可以是提供各種服務(wù)的服務(wù)器,例如對(duì)無(wú)人搬運(yùn)車(chē)101進(jìn)行管理并分配任務(wù)的管理服務(wù)器,管理服務(wù)器可以向車(chē)載智能設(shè)備104發(fā)送直行控制指令等信息,以使車(chē)載智能設(shè)備104對(duì)無(wú)人搬運(yùn)車(chē)101進(jìn)行控制。
需要指出的是,上述直行控制指令也可以在無(wú)人搬運(yùn)車(chē)101所安裝的傳感器檢測(cè)到某一信息時(shí)自動(dòng)觸發(fā),此時(shí),上述系統(tǒng)架構(gòu)100可以不存在網(wǎng)絡(luò)102和服務(wù)器103。
需要說(shuō)明的是,本申請(qǐng)實(shí)施例所提供的無(wú)人搬運(yùn)車(chē)的控制方法一般由車(chē)載智能設(shè)備104執(zhí)行,相應(yīng)地,無(wú)人搬運(yùn)車(chē)的控制裝置一般設(shè)置于車(chē)載智能設(shè)備104中。
應(yīng)該理解,圖1中的無(wú)人搬運(yùn)車(chē)、車(chē)載智能設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的無(wú)人搬運(yùn)車(chē)、車(chē)載智能設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的無(wú)人搬運(yùn)車(chē)的控制方法的一個(gè)實(shí)施例的流程200。所述的無(wú)人搬運(yùn)車(chē)的控制方法,包括以下步驟:
步驟201,響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,并執(zhí)行如下控制步驟:獲取目標(biāo)時(shí)間段內(nèi)的無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離;基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量;基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。
在本實(shí)施例中,無(wú)人搬運(yùn)車(chē)的控制方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的車(chē)載智能設(shè)備104)可以通過(guò)有線連接方式或者無(wú)線連接方式從服務(wù)器(例如圖1所示的服務(wù)器103)接收對(duì)無(wú)人搬運(yùn)車(chē)(例如圖1所示的無(wú)人搬運(yùn)車(chē)101)的直行控制指令,其中,上述直行控制指令可以用于指示上述電子設(shè)備控制上述無(wú)人搬運(yùn)車(chē)按照預(yù)設(shè)的目標(biāo)方向直行。實(shí)踐中,上述無(wú)人搬運(yùn)車(chē)在上述電子設(shè)備接收到上述直行控制指令前,可以靜止在任意預(yù)設(shè)的位置(例如地面中預(yù)先繪制的某個(gè)二維碼圖像的正上方)。并且,上述電子設(shè)備可以預(yù)先獲取上述無(wú)人搬運(yùn)車(chē)靜止在該位置時(shí)的位姿信息。需要指出的是,上述無(wú)線連接方式可以包括但不限于3G/4G連接、WiFi連接、藍(lán)牙連接、WiMAX連接、Zigbee連接、UWB(ultra wideband)連接、以及其他現(xiàn)在已知或?qū)?lái)開(kāi)發(fā)的無(wú)線連接方式。
在本實(shí)施例中,位姿信息可以是用于描述上述無(wú)人搬運(yùn)車(chē)的行駛方向和位置的信息。例如,位姿信息可以包括以下至少一項(xiàng):無(wú)人搬運(yùn)車(chē)在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)、無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度、無(wú)人搬運(yùn)車(chē)偏離預(yù)設(shè)直線的最短距離。需要說(shuō)明的是,上述位姿信息不限于以上列舉。實(shí)踐中,上述預(yù)設(shè)坐標(biāo)系可以是以地面為平面、以接收到上述直行控制指令之前上述無(wú)人搬運(yùn)車(chē)所靜止的位置為原點(diǎn)、以上述目標(biāo)方向?yàn)榈谝蛔鴺?biāo)軸(即x軸或橫軸)、以上述第一坐標(biāo)軸逆時(shí)針旋轉(zhuǎn)90°的方向?yàn)榈诙鴺?biāo)軸(即y軸或縱軸)而預(yù)先建立的直角坐標(biāo)系。另外,上述預(yù)設(shè)直線可以是上述第一坐標(biāo)軸對(duì)應(yīng)的直線,當(dāng)上述無(wú)人搬運(yùn)車(chē)位于上述預(yù)設(shè)坐標(biāo)系的第一、二象限時(shí),上述無(wú)人搬運(yùn)車(chē)偏離預(yù)設(shè)直線的最短距離為正,當(dāng)上述無(wú)人搬運(yùn)車(chē)位于上述預(yù)設(shè)坐標(biāo)系的第三、四象限時(shí),上述無(wú)人搬運(yùn)車(chē)偏離預(yù)設(shè)直線的最短距離為負(fù)。
在本實(shí)施例中,上述電子設(shè)備在接收到上述直行控制指令后,可以將預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,同時(shí)啟動(dòng)上述無(wú)人搬運(yùn)車(chē)使其行駛,并執(zhí)行控制步驟。
在本實(shí)施例中,進(jìn)一步參考圖3,圖3是對(duì)上述步驟201中的控制步驟的分解流程圖。在圖3中,將上述控制步驟分解成如下的4個(gè)子步驟,即:步驟2011、步驟2012、步驟2013和步驟2014。
步驟2011,獲取目標(biāo)時(shí)間段內(nèi)的無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離。
在本實(shí)施例中,上述無(wú)人搬運(yùn)車(chē)的各驅(qū)動(dòng)輪中可以預(yù)先安裝有用于測(cè)量角位移的數(shù)字編碼器,數(shù)字編碼器可以基于測(cè)量到的角位移,確定出所安裝于其上的驅(qū)動(dòng)輪的在預(yù)設(shè)的每個(gè)時(shí)間周期(例如以50毫秒為一個(gè)時(shí)間周期)內(nèi)的行駛距離,并將所確定的行駛距離發(fā)送至上述電子設(shè)備。上述電子設(shè)備可以獲取目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離。需要說(shuō)明的是,上述目標(biāo)時(shí)間段可以是最新的時(shí)間周期所對(duì)應(yīng)的時(shí)間段,目標(biāo)時(shí)間段的時(shí)長(zhǎng)為上述每個(gè)時(shí)間周期的時(shí)長(zhǎng)。需要指出的是,上述控制步驟可以在時(shí)間周期結(jié)束時(shí)執(zhí)行,例如,若時(shí)間周期為50毫秒,則可以以接收到上述直行控制指令的時(shí)刻作為起始時(shí)刻,在接收到上述直行控制指令后的第50毫秒、第100毫秒的時(shí)刻執(zhí)行上述控制步驟。當(dāng)上述控制步驟是在接收到上述直行控制指令后的第50毫秒執(zhí)行時(shí),則上述目標(biāo)時(shí)間段為0毫秒至50毫秒所經(jīng)歷的時(shí)長(zhǎng),當(dāng)上述控制步驟是在接收到上述直行控制指令后的第100毫秒執(zhí)行時(shí),則上述目標(biāo)時(shí)間段為第50毫秒至第100毫秒所經(jīng)歷的時(shí)長(zhǎng)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述無(wú)人搬運(yùn)車(chē)的驅(qū)動(dòng)方式可以是兩輪差動(dòng)驅(qū)動(dòng)的方式,此時(shí),上述無(wú)人搬運(yùn)車(chē)可以具有兩個(gè)驅(qū)動(dòng)輪,即左驅(qū)動(dòng)輪和右驅(qū)動(dòng)輪。上述電子設(shè)備可以獲取上述目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的左驅(qū)動(dòng)輪的行駛距離和右驅(qū)動(dòng)輪的行駛距離。
需要說(shuō)明的是,上述電子設(shè)備在接收到上述執(zhí)行控制指令后,可以基于預(yù)設(shè)的初始規(guī)劃速度(例如,可以是基于預(yù)設(shè)的加速度、無(wú)人搬運(yùn)車(chē)的載重等情況而預(yù)先設(shè)置的速度)啟動(dòng)上述無(wú)人搬運(yùn)車(chē)使其行駛。實(shí)踐中,在無(wú)人搬運(yùn)車(chē)從啟動(dòng)至到達(dá)預(yù)設(shè)區(qū)域的行駛過(guò)程中,每個(gè)目標(biāo)時(shí)間段可以與一個(gè)規(guī)劃速度相對(duì)應(yīng)(與每一個(gè)目標(biāo)時(shí)間段對(duì)應(yīng)的預(yù)設(shè)的規(guī)劃速度可以是預(yù)設(shè)的數(shù)值,也可以是基于該時(shí)間段內(nèi)的加速度、載重、無(wú)人搬運(yùn)車(chē)的位置等情況按照預(yù)設(shè)的公式計(jì)算得出)。由于輪系誤差、地面平整情況等因素,無(wú)人搬運(yùn)車(chē)的實(shí)際的行駛速度與規(guī)劃速度通常存在差異,導(dǎo)致無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向。基于安裝在各個(gè)驅(qū)動(dòng)輪中的數(shù)字編碼器,可以確定出所安裝于其上的驅(qū)動(dòng)輪的在每個(gè)時(shí)間段的行駛距離,該行駛距離為無(wú)人搬運(yùn)車(chē)實(shí)際的行駛距離。
步驟2012,基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息。
在本實(shí)施例中,上述電子設(shè)備中可以預(yù)先存儲(chǔ)有用于表征初始位姿信息、各個(gè)驅(qū)動(dòng)輪的行駛距離、車(chē)抽長(zhǎng)度與當(dāng)前位姿信息的數(shù)值關(guān)系的計(jì)算公式。上述電子設(shè)備可以基于上述初始位姿信息、所獲取的各個(gè)驅(qū)動(dòng)輪的行駛距離和預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,利用上述計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,位姿信息可以由無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度和無(wú)人搬運(yùn)車(chē)距預(yù)設(shè)直線的最短距離組成。上述電子設(shè)備可以將上述初始位姿信息中的、上述無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度確定為初始偏移角度,將上述初始位姿信息中的、上述無(wú)人搬運(yùn)車(chē)距上述預(yù)設(shè)直線的最短距離確定為初始偏移距離。同時(shí),可以將當(dāng)前上述無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度確定為當(dāng)前偏移角度,將當(dāng)前上述無(wú)人搬運(yùn)車(chē)距上述預(yù)設(shè)直線的最短距離確定為初始偏移距離,將上述當(dāng)前偏移角度和上述當(dāng)前偏移距離組成當(dāng)前位姿信息。在獲取上述目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的左驅(qū)動(dòng)輪的行駛距離和右驅(qū)動(dòng)輪的行駛距離后,上述電子設(shè)備可以首先基于上述初始偏移角度、上述左驅(qū)動(dòng)輪的行駛距離、上述右驅(qū)動(dòng)輪的行駛距離和上述車(chē)軸長(zhǎng)度,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移角度;之后,可以基于上述初始偏移距離、上述當(dāng)前偏移角度、上述左驅(qū)動(dòng)輪的行駛距離和上述右驅(qū)動(dòng)輪的行駛距離,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移距離,以實(shí)現(xiàn)當(dāng)前位姿信息的確定。具體的,上述電子設(shè)備可以使用如下公式確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息:
其中,y1為上述當(dāng)前偏移距離,y0為上述初始偏移距離,ΔSL為上述左驅(qū)動(dòng)輪的行駛距離,ΔSR為上述右驅(qū)動(dòng)輪的行駛距離,θ1為上述當(dāng)前偏移角度,θ0為上述初始偏移角度,L為上述車(chē)軸長(zhǎng)度。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,位姿信息可以包括無(wú)人搬運(yùn)車(chē)在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)和無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度。上述電子設(shè)備可以將上述初始位姿信息中的、上述無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度確定為初始偏移角度,將上述初始位姿信息中的、上述無(wú)人搬運(yùn)車(chē)在上述預(yù)設(shè)坐標(biāo)系中的坐標(biāo)確定為初始坐標(biāo)。同時(shí),上述電子設(shè)備可以將當(dāng)前上述無(wú)人搬運(yùn)車(chē)偏離上述目標(biāo)方向的角度確定為當(dāng)前偏移角度,將當(dāng)前上述無(wú)人搬運(yùn)車(chē)在上述預(yù)設(shè)坐標(biāo)系中的坐標(biāo)確定為當(dāng)前坐標(biāo),將上述當(dāng)前偏移角度和上述當(dāng)前坐標(biāo)組成當(dāng)前位姿信息。在獲取上述目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的左驅(qū)動(dòng)輪的行駛距離和右驅(qū)動(dòng)輪的行駛距離后,上述電子設(shè)備可以首先基于上述初始偏移角度、上述左驅(qū)動(dòng)輪的行駛距離、上述右驅(qū)動(dòng)輪的行駛距離和上述車(chē)軸長(zhǎng)度,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移角度;之后,可以基于上述初始坐標(biāo)、上述當(dāng)前偏移角度、上述左驅(qū)動(dòng)輪的行駛距離和上述右驅(qū)動(dòng)輪的行駛距離,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前坐標(biāo),以實(shí)現(xiàn)當(dāng)前位姿信息的確定。具體的,上述電子設(shè)備可以使用如下公式確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息:
其中,x3為上述當(dāng)前坐標(biāo)在上述x軸對(duì)應(yīng)的數(shù)值,y3為上述當(dāng)前坐標(biāo)在上述y軸對(duì)應(yīng)的數(shù)值,(x3,y3)為上述當(dāng)前坐標(biāo),x2為上述初始坐標(biāo)在上述x軸對(duì)應(yīng)的數(shù)值,y2為上述初始坐標(biāo)在上述y軸對(duì)應(yīng)的數(shù)值。需要說(shuō)明的是,由于上述預(yù)設(shè)直線是上述第一坐標(biāo)軸對(duì)應(yīng)的直線,因而,y3=y(tǒng)1且y2=y(tǒng)0。
步驟2013,基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量。
在本實(shí)施例中,上述電子設(shè)備中可以預(yù)先存儲(chǔ)有用于表征當(dāng)前位姿信息、位姿控制系數(shù)和差速控制量的數(shù)值關(guān)系的計(jì)算公式。上述電子設(shè)備可以基于步驟2012確定的當(dāng)前位姿信息和上述位姿控制系數(shù),利用該計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的差速控制量。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述位姿控制系數(shù)可以包括速度控制系數(shù)、偏移距離控制系數(shù)和偏移角度控制系數(shù)。上述電子設(shè)備可以首先將所獲取的左驅(qū)動(dòng)輪的行駛距離與上述目標(biāo)時(shí)間段所對(duì)應(yīng)的時(shí)長(zhǎng)的比值確定為上述左驅(qū)動(dòng)輪的初始速度,并將所獲取的右驅(qū)動(dòng)輪的行駛距離與上述時(shí)長(zhǎng)的比值確定為上述右驅(qū)動(dòng)輪的初始速度。而后,可以將上述左驅(qū)動(dòng)輪的初始速度和上述右驅(qū)動(dòng)輪的初始速度的平均值確定為上述無(wú)人搬運(yùn)車(chē)的初始行駛速度。之后,上述電子設(shè)備可以基于上述當(dāng)前位姿信息、上述速度控制系數(shù)、上述偏移距離控制系數(shù)、上述偏移角度控制系數(shù)和上述初始行駛速度,確定上述無(wú)人搬運(yùn)車(chē)的差速控制量。具體的,上述電子設(shè)備可以使用如下公式確定上述無(wú)人搬運(yùn)車(chē)的差速控制量:
vdiff=k1×v×(k2×y1+k3×θ1)
其中,vdiff為上述差速控制量,k1為上述速度控制系數(shù),k2為上述偏移距離控制系數(shù),k3為上述偏移角度控制系數(shù),v為上述初始行駛速度。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述速度控制系數(shù)、偏移距離控制系數(shù)和上述偏移角度控制系數(shù)可以是預(yù)先設(shè)定的相同或不同的固定值。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述偏移距離控制系數(shù)和上述偏移角度控制系數(shù)可以是預(yù)先設(shè)定的相同或不同的固定值。上述速度控制系數(shù)可以基于上述初始行駛速度的大小而分段設(shè)定。作為示例,當(dāng)上述初始行駛速度大于零且不大于第一預(yù)設(shè)數(shù)值時(shí),將上述速度控制系數(shù)取第一預(yù)設(shè)速度控制系數(shù);當(dāng)上述初始行駛速度大于上述第一預(yù)設(shè)數(shù)值且不大于第二預(yù)設(shè)數(shù)值時(shí),將上述速度控制系數(shù)確定為第二預(yù)設(shè)速度控制系數(shù);當(dāng)上述初始行駛速度大于上述第二預(yù)設(shè)數(shù)值時(shí),將上述速度控制系數(shù)確定為第三預(yù)設(shè)速度控制系數(shù)。需要說(shuō)明的是,上述第一預(yù)設(shè)數(shù)值小于上述第二預(yù)設(shè)數(shù)值,且上述第一預(yù)設(shè)數(shù)值和上述第二預(yù)設(shè)數(shù)值均為正數(shù)。同時(shí),上述第一預(yù)設(shè)速度控制系數(shù)大于上述第二預(yù)設(shè)速度控制系數(shù),上述第二預(yù)設(shè)速度控制系數(shù)大于上述第三預(yù)設(shè)速度控制系數(shù),且上述第一預(yù)設(shè)速度控制系數(shù)、上述第二預(yù)設(shè)速度控制系數(shù)和上述第三預(yù)設(shè)速度控制系數(shù)均為正數(shù)。
需要說(shuō)明的是,用于表征當(dāng)前位姿信息、位姿控制系數(shù)和差速控制量的數(shù)值關(guān)系的計(jì)算公式不限于上述公式,還可以是在上述公式的基礎(chǔ)上增加其他控制系數(shù)構(gòu)成的公式,或者其他公式,在此不再贅述。
步驟2014,基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。
在本實(shí)施例中,上述電子設(shè)備可以基于步驟2013確定的差速控制量控制上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。響應(yīng)于確定上述無(wú)人搬運(yùn)車(chē)位于上述預(yù)設(shè)區(qū)域,上述電子設(shè)備可以不再對(duì)上述無(wú)人搬運(yùn)車(chē)的進(jìn)行上述直行控制指令所指示的控制,此時(shí),可以確定上述無(wú)人搬運(yùn)車(chē)直行控制成功。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述電子設(shè)備可以首先確定上述無(wú)人搬運(yùn)車(chē)在上述目標(biāo)時(shí)間段內(nèi)的規(guī)劃速度。其中,該規(guī)劃速度可以是預(yù)設(shè)的數(shù)值,也可以是基于該時(shí)間段內(nèi)的加速度、載重、無(wú)人搬運(yùn)車(chē)的位置等情況按照預(yù)設(shè)的公式計(jì)算得出的數(shù)值。之后,上述電子設(shè)備可以基于該規(guī)劃速度和上述差速控制量,控制上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述電子設(shè)備可以將上述規(guī)劃速度與上述差速控制量的和確定為上述左驅(qū)動(dòng)輪的目標(biāo)速度,并控制上述左驅(qū)動(dòng)輪按照所確定的左驅(qū)動(dòng)輪的目標(biāo)速度行駛。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述電子設(shè)備可以將上述規(guī)劃速度與上述差速控制量的差確定為上述右驅(qū)動(dòng)輪的目標(biāo)速度,并控制上述右驅(qū)動(dòng)輪按照所確定的右驅(qū)動(dòng)輪的目標(biāo)速度行駛。
步驟202,響應(yīng)于確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域,將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟。
在本實(shí)施例中,響應(yīng)于步驟2014確定上述無(wú)人搬運(yùn)車(chē)沒(méi)有位于上述預(yù)設(shè)區(qū)域,上述電子設(shè)備可以將步驟2012確定的當(dāng)前位姿信息確定為初始位姿信息,繼續(xù)執(zhí)行上述控制步驟。實(shí)踐中,上述電子設(shè)備可以在下一時(shí)間周期結(jié)束時(shí)開(kāi)始繼續(xù)執(zhí)行上述控制步驟。作為示例,時(shí)間周期為50毫秒,以接收到上述直行控制指令的時(shí)刻作為起始時(shí)刻,在接收到上述直行控制指令后的第50毫秒時(shí)上述的電子設(shè)備開(kāi)始執(zhí)行上述步驟2011;在步驟2014確定上述無(wú)人搬運(yùn)車(chē)沒(méi)有位于上述預(yù)設(shè)區(qū)域,則上述電子設(shè)備下一個(gè)時(shí)間周期結(jié)束的時(shí)刻,即在第100毫秒的時(shí)刻繼續(xù)執(zhí)行上述控制步驟,而此時(shí)的目標(biāo)時(shí)間段為第50毫秒至第100毫秒所經(jīng)歷的時(shí)長(zhǎng)。
繼續(xù)參見(jiàn)圖4,圖4是根據(jù)本實(shí)施例的無(wú)人搬運(yùn)車(chē)的控制方法的應(yīng)用場(chǎng)景的一個(gè)示意圖。在圖4的應(yīng)用場(chǎng)景中,無(wú)人搬運(yùn)車(chē)401所安裝的車(chē)載智能設(shè)備響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)401的直行控制指令402,將預(yù)先獲取的位姿信息確定初始位姿信息403并執(zhí)行控制步驟,在控制步驟中首先獲取各個(gè)驅(qū)動(dòng)輪的行駛距離404;而后基于所獲取的初始位姿信息403、行駛距離404和車(chē)軸長(zhǎng)度405確定無(wú)人搬運(yùn)車(chē)401的當(dāng)前位姿信息406;然后基于當(dāng)前位姿信息406和預(yù)設(shè)的位姿控制系數(shù)407確定無(wú)人搬運(yùn)車(chē)401的差速控制量408;最后基于差速控制量408對(duì)無(wú)人搬運(yùn)車(chē)401的各個(gè)驅(qū)動(dòng)輪的速度進(jìn)行控制,并在確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域時(shí),將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟,直至無(wú)人搬運(yùn)車(chē)401位于預(yù)設(shè)區(qū)域。
本申請(qǐng)的上述實(shí)施例提供的方法,響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,確定初始位姿信息并執(zhí)行控制步驟,在控制步驟中確定當(dāng)前位姿信息和差速控制量以便基于差速控制量控制驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域,若否,將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟,直至無(wú)人搬運(yùn)車(chē)位于預(yù)設(shè)區(qū)域。從而,可以在不使用裝慣性導(dǎo)航系統(tǒng)的情況下對(duì)無(wú)人搬運(yùn)車(chē)進(jìn)行直行控制,降低了控制無(wú)人搬運(yùn)車(chē)的成本;另外,對(duì)地面平整度、車(chē)速等條件適應(yīng)性較強(qiáng),在簡(jiǎn)化了控制計(jì)算量的同時(shí),提高了控制的靈活性。
進(jìn)一步參考圖5,其示出了無(wú)人搬運(yùn)車(chē)的控制方法的又一個(gè)實(shí)施例的流程500。該無(wú)人搬運(yùn)車(chē)的控制方法的流程500,包括以下步驟:
步驟501,響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,并執(zhí)行控制步驟。
在本實(shí)施例中,無(wú)人搬運(yùn)車(chē)的控制方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的車(chē)載智能設(shè)備104)可以從服務(wù)器(例如圖1所示的服務(wù)器103)接收對(duì)無(wú)人搬運(yùn)車(chē)(例如圖1所示的無(wú)人搬運(yùn)車(chē)101)的直行控制指令,其中,上述直行控制指令可以用于指示上述電子設(shè)備控制上述無(wú)人搬運(yùn)車(chē)按照預(yù)設(shè)的目標(biāo)方向直行。實(shí)踐中,上述無(wú)人搬運(yùn)車(chē)在上述電子設(shè)備接收到上述直行控制指令前,可以靜止在地面中預(yù)先繪制的指定二維碼圖像的正上方。上述電子設(shè)備在接收到上述直行控制指令后,可以將預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,同時(shí)啟動(dòng)上述無(wú)人搬運(yùn)車(chē)使其行駛,并執(zhí)行控制步驟。
在本實(shí)施例中,進(jìn)一步參考圖6,圖6是對(duì)上述步驟501中的控制步驟的分解流程圖。在圖6中,將上述控制步驟分解成如下的5個(gè)子步驟,即:步驟5011、步驟5012、步驟5013、步驟5014和步驟5015。
步驟5011,獲取目標(biāo)時(shí)間段內(nèi)的無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離。
在本實(shí)施例中,上述電子設(shè)備可以基于上述無(wú)人搬運(yùn)車(chē)的各驅(qū)動(dòng)輪中所預(yù)先安裝的用于測(cè)量角位移的數(shù)字編碼器,確定左驅(qū)動(dòng)輪和有驅(qū)動(dòng)輪在目標(biāo)時(shí)間段內(nèi)的行駛距離。另外,上述無(wú)人搬運(yùn)車(chē)還可以安裝有拍攝裝置,上述拍攝裝置可以對(duì)地面上預(yù)先繪制的二維碼進(jìn)行拍攝和識(shí)別。其中,每一個(gè)二維碼可以用于記錄該二維碼所在位置的坐標(biāo)。
步驟5012,基于初始位姿信息、所獲取的行駛距離和預(yù)先獲取的無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息。
在本實(shí)施例中,上述電子設(shè)備中可以預(yù)先存儲(chǔ)有用于表征初始位姿信息、各個(gè)驅(qū)動(dòng)輪的行駛距離、車(chē)抽長(zhǎng)度與當(dāng)前位姿信息的數(shù)值關(guān)系的計(jì)算公式。上述電子設(shè)備可以基于上述初始位姿信息、所獲取的各個(gè)驅(qū)動(dòng)輪的行駛距離和預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,利用上述計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息,其中,上述初始位姿信息可以包括初始偏移距離和初始偏移角度,上述當(dāng)前位姿信息包括當(dāng)前偏移距離和當(dāng)前偏移角度。實(shí)踐中,上述預(yù)設(shè)坐標(biāo)系可以是以地面為平面、以接收到上述直行控制指令之前上述無(wú)人搬運(yùn)車(chē)所靜止的位置為原點(diǎn)、以上述目標(biāo)方向?yàn)閤軸、以上述第一坐標(biāo)軸逆時(shí)針旋轉(zhuǎn)90°的方向?yàn)閥軸而預(yù)先建立的直角坐標(biāo)系。上述初始偏移距離為上述無(wú)人搬運(yùn)車(chē)在預(yù)設(shè)坐標(biāo)系中的初始坐標(biāo)所對(duì)應(yīng)的y軸的數(shù)值,上述當(dāng)前偏移距離為上述無(wú)人搬運(yùn)車(chē)在上述預(yù)設(shè)坐標(biāo)系中的當(dāng)前坐標(biāo)所對(duì)應(yīng)的y軸的距離。
步驟5013,確定拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,基于該圖像和該圖像中呈現(xiàn)的二維碼,確定無(wú)人搬運(yùn)車(chē)的位姿信息,并將當(dāng)前位姿信息替換為所確定的位姿信息。
在本實(shí)施例中,上述電子設(shè)備中可以確定上述拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,可以基于該圖像和該圖像中呈現(xiàn)的二維碼,確定上述無(wú)人搬運(yùn)車(chē)的位姿信息,并將步驟5012所確定的當(dāng)前位姿信息替換為所確定的位姿信息,并執(zhí)行步驟5014。若否,可以直接執(zhí)行步驟5014。
在本實(shí)施例中,基于該圖像和該圖像中呈現(xiàn)的二維碼,確定上述無(wú)人搬運(yùn)車(chē)的位姿信息,可以按照如下步驟執(zhí)行:首先,可以確定上述拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,則提取上述圖像中呈現(xiàn)的二維碼所記錄的坐標(biāo),并確定上述圖像中呈現(xiàn)的二維碼在上述圖像中的位置和角度。需要說(shuō)明的是,每一個(gè)二維碼所記錄的坐標(biāo)為該二維碼所在位置在上述預(yù)設(shè)坐標(biāo)系中的坐標(biāo)。通常,控制上述無(wú)人搬運(yùn)車(chē)按上述目標(biāo)方向行駛的過(guò)程中,將拍攝到多個(gè)二維碼,上述多個(gè)二維碼是沿上述目標(biāo)方向預(yù)先繪制于地面上的,因而,上述多個(gè)二維碼中的各個(gè)二維碼所記錄的坐標(biāo)所對(duì)應(yīng)的y軸的數(shù)值為零。同時(shí),上個(gè)多個(gè)二維碼與上述目標(biāo)方向的角度為零。之后,上述電子設(shè)備可以基于所提取的坐標(biāo)、上述圖像中呈現(xiàn)的二維碼在上述圖像中的位置和角度,確定上述無(wú)人搬運(yùn)車(chē)的位姿信息,并將上述當(dāng)前位姿信息替換為所確定的位姿信息。
步驟5014,基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定無(wú)人搬運(yùn)車(chē)的差速控制量。
在本實(shí)施例中,上述電子設(shè)備中可以預(yù)先存儲(chǔ)有用于表征當(dāng)前位姿信息、位姿控制系數(shù)和差速控制量的數(shù)值關(guān)系的計(jì)算公式。上述電子設(shè)備可以基于所確定的當(dāng)前位姿信息和上述位姿控制系數(shù),利用該計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的差速控制量。
步驟5015,基于差速控制量控制無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。
在本實(shí)施例中,上述電子設(shè)備可以基于步驟5014確定的差速控制量控制上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。響應(yīng)于確定上述無(wú)人搬運(yùn)車(chē)位于上述預(yù)設(shè)區(qū)域,上述電子設(shè)備可以不再對(duì)上述無(wú)人搬運(yùn)車(chē)的進(jìn)行上述直行控制指令所指示的控制,此時(shí),可以確定上述無(wú)人搬運(yùn)車(chē)直行控制成功。
在本實(shí)施例中,上述電子設(shè)備可以按照如下方式控制各個(gè)驅(qū)動(dòng)輪的速度:首先,可以確定上述無(wú)人搬運(yùn)車(chē)在上述目標(biāo)時(shí)間段的規(guī)劃速度,將上述規(guī)劃速度與上述差速控制量的和確定為上述左驅(qū)動(dòng)輪的目標(biāo)速度,并將上述規(guī)劃速度與上述差速控制量的差確定為上述右驅(qū)動(dòng)輪的目標(biāo)速度;之后,可以控制上述左驅(qū)動(dòng)輪按照所確定的左驅(qū)動(dòng)輪的目標(biāo)速度行駛,并控制上述右驅(qū)動(dòng)輪按照所確定的右驅(qū)動(dòng)輪的目標(biāo)速度行駛。
步驟502,響應(yīng)于確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域,將當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行控制步驟。
在本實(shí)施例中,響應(yīng)于步驟5015確定上述無(wú)人搬運(yùn)車(chē)沒(méi)有位于上述預(yù)設(shè)區(qū)域,上述電子設(shè)備可以將所確定的當(dāng)前位姿信息確定為初始位姿信息,繼續(xù)執(zhí)行上述控制步驟。
從圖5中可以看出,與圖2對(duì)應(yīng)的實(shí)施例相比,本實(shí)施例中的無(wú)人搬運(yùn)車(chē)的控制方法的流程500突出了對(duì)拍攝裝置拍攝到呈現(xiàn)有二維碼的圖像后的處理步驟。由此,本實(shí)施例描述的方案可以結(jié)合二維碼進(jìn)行定位和當(dāng)前姿態(tài)信息的確定,在降低了控制無(wú)人搬運(yùn)車(chē)的成本、簡(jiǎn)化了控制計(jì)算量的同時(shí)、提高了控制的靈活性的同時(shí),提高了控制的準(zhǔn)確性。
進(jìn)一步參考圖7,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N無(wú)人搬運(yùn)車(chē)的控制裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖7所示,本實(shí)施例上述的無(wú)人搬運(yùn)車(chē)的控制裝置700包括:控制單元701,配置用于響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,并執(zhí)行如下控制步驟:獲取目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離;基于上述初始位姿信息、所獲取的行駛距離和預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;基于上述當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定上述無(wú)人搬運(yùn)車(chē)的差速控制量;基于上述差速控制量控制上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定上述無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域;執(zhí)行單元702,配置用于響應(yīng)于確定上述無(wú)人搬運(yùn)車(chē)不位于上述預(yù)設(shè)區(qū)域,將上述當(dāng)前位姿信息作為初始位姿信息,使上述控制單元繼續(xù)執(zhí)行上述控制步驟。
在本實(shí)施例中,上述控制單元701可以從服務(wù)器(例如圖1所示的服務(wù)器103)接收對(duì)無(wú)人搬運(yùn)車(chē)(例如圖1所示的無(wú)人搬運(yùn)車(chē)101)的直行控制指令,其中,上述直行控制指令可以用于指示上述控制單元701控制上述無(wú)人搬運(yùn)車(chē)按照預(yù)設(shè)的目標(biāo)方向直行。在接收到上述直行控制指令后,可以將預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,同時(shí)啟動(dòng)上述無(wú)人搬運(yùn)車(chē)使其行駛,并執(zhí)行控制步驟。
在本實(shí)施例中,上述控制單元701可以獲取目標(biāo)時(shí)間段內(nèi)的上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離。
在本實(shí)施例中,上述控制單元701中可以預(yù)先存儲(chǔ)有用于表征初始位姿信息、各個(gè)驅(qū)動(dòng)輪的行駛距離、車(chē)抽長(zhǎng)度與當(dāng)前位姿信息的數(shù)值關(guān)系的計(jì)算公式。上述控制單元701可以基于上述初始位姿信息、所獲取的各個(gè)驅(qū)動(dòng)輪的行駛距離和預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,利用上述計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息。
在本實(shí)施例中,上述控制單元701中可以預(yù)先存儲(chǔ)有用于表征當(dāng)前位姿信息、位姿控制系數(shù)和差速控制量的數(shù)值關(guān)系的計(jì)算公式。上述控制單元701可以基于上述當(dāng)前位姿信息和上述位姿控制系數(shù),利用該計(jì)算公式確定上述無(wú)人搬運(yùn)車(chē)的差速控制量。
在本實(shí)施例中,上述控制單元701可以基于上述差速控制量控制上述無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域。響應(yīng)于確定上述無(wú)人搬運(yùn)車(chē)位于上述預(yù)設(shè)區(qū)域,上述控制單元701可以不再對(duì)上述無(wú)人搬運(yùn)車(chē)的進(jìn)行上述直行控制指令所指示的控制,此時(shí),可以確定上述無(wú)人搬運(yùn)車(chē)直行控制成功。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述無(wú)人搬運(yùn)車(chē)可以安裝有拍攝裝置;上述控制單元701可以進(jìn)一步配置用于基于上述初始位姿信息、所獲取的行駛距離和預(yù)先獲取的上述無(wú)人搬運(yùn)車(chē)的車(chē)軸長(zhǎng)度,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息;確定上述拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,基于上述圖像和上述圖像中呈現(xiàn)的二維碼,確定上述無(wú)人搬運(yùn)車(chē)的位姿信息,并將上述當(dāng)前位姿信息替換為所確定的位姿信息,其中,二維碼用于記錄二維碼所在位置的坐標(biāo)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述控制單元701可以進(jìn)一步配置用于確定上述拍攝裝置是否拍攝到呈現(xiàn)有二維碼的圖像,若是,提取上述圖像中呈現(xiàn)的二維碼所記錄的坐標(biāo),并確定上述圖像中呈現(xiàn)的二維碼在上述圖像中的位置和角度;基于所提取的坐標(biāo)、上述位置和上述角度,確定上述無(wú)人搬運(yùn)車(chē)的位姿信息,并將上述當(dāng)前位姿信息替換為所確定的位姿信息。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述初始位姿信息可以包括初始偏移距離和初始偏移角度,上述當(dāng)前位姿信息可以包括當(dāng)前偏移距離和當(dāng)前偏移角度,上述無(wú)人搬運(yùn)車(chē)的驅(qū)動(dòng)輪可以包括左驅(qū)動(dòng)輪和右驅(qū)動(dòng)輪;上述控制單元701可以進(jìn)一步配置用于基于上述初始偏移角度、上述左驅(qū)動(dòng)輪的行駛距離、上述右驅(qū)動(dòng)輪的行駛距離和上述車(chē)軸長(zhǎng)度,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移角度;基于上述初始偏移距離、上述當(dāng)前偏移角度、上述左驅(qū)動(dòng)輪的行駛距離和上述右驅(qū)動(dòng)輪的行駛距離,確定上述無(wú)人搬運(yùn)車(chē)的當(dāng)前偏移距離。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述控制單元701可以進(jìn)一步配置用于將所獲取的左驅(qū)動(dòng)輪的行駛距離與上述目標(biāo)時(shí)間段所對(duì)應(yīng)的時(shí)長(zhǎng)的比值確定為上述左驅(qū)動(dòng)輪的初始速度,并將所獲取的右驅(qū)動(dòng)輪的行駛距離與上述時(shí)長(zhǎng)的比值確定為上述右驅(qū)動(dòng)輪的初始速度;將上述左驅(qū)動(dòng)輪的初始速度和上述右驅(qū)動(dòng)輪的初始速度的平均值確定為上述無(wú)人搬運(yùn)車(chē)的初始行駛速度。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述位姿控制系數(shù)可以包括速度控制系數(shù)、偏移距離控制系數(shù)和偏移角度控制系數(shù);上述控制單元701可以進(jìn)一步配置用于基于上述當(dāng)前偏移角度、上述當(dāng)前偏移距離、上述速度控制系數(shù)、上述偏移距離控制系數(shù)、上述偏移角度控制系數(shù)和上述初始行駛速度,確定上述無(wú)人搬運(yùn)車(chē)的差速控制量。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述控制單元701可以進(jìn)一步配置用于確定上述無(wú)人搬運(yùn)車(chē)在上述目標(biāo)時(shí)間段內(nèi)的規(guī)劃速度;將上述規(guī)劃速度與上述差速控制量的和確定為上述左驅(qū)動(dòng)輪的目標(biāo)速度,并將上述規(guī)劃速度與上述差速控制量的差確定為上述右驅(qū)動(dòng)輪的目標(biāo)速度;控制上述左驅(qū)動(dòng)輪按照所確定的左驅(qū)動(dòng)輪的目標(biāo)速度行駛,并控制上述右驅(qū)動(dòng)輪按照所確定的右驅(qū)動(dòng)輪的目標(biāo)速度行駛。
在本實(shí)施例中,響應(yīng)于確定上述無(wú)人搬運(yùn)車(chē)沒(méi)有位于上述預(yù)設(shè)區(qū)域,上述執(zhí)行單元702可以將上述當(dāng)前位姿信息確定為初始位姿信息,以使上述控制單元701繼續(xù)執(zhí)行上述控制步驟。
本申請(qǐng)的上述實(shí)施例提供的裝置,響應(yīng)于控制單元701接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,確定初始位姿信息并執(zhí)行控制步驟,在控制步驟中首先獲取各個(gè)驅(qū)動(dòng)輪的行駛距離,而后基于所獲取的初始位姿信息、行駛距離和車(chē)軸長(zhǎng)度確定無(wú)人搬運(yùn)車(chē)的當(dāng)前位姿信息,然后基于當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù)確定無(wú)人搬運(yùn)車(chē)的差速控制量,最后基于差速控制量對(duì)無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度進(jìn)行控制,在確定無(wú)人搬運(yùn)車(chē)不位于預(yù)設(shè)區(qū)域時(shí),執(zhí)行單元702將當(dāng)前位姿信息作為初始位姿信息,使控制單元701繼續(xù)執(zhí)行控制步驟。從而,可以在不使用裝慣性導(dǎo)航系統(tǒng)的情況下對(duì)無(wú)人搬運(yùn)車(chē)進(jìn)行直行控制,降低了控制無(wú)人搬運(yùn)車(chē)的成本;另外,對(duì)地面平整度、車(chē)速等條件適應(yīng)性較強(qiáng),提高了控制的靈活性。
下面參考圖8,其示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的車(chē)載智能設(shè)備的計(jì)算機(jī)系統(tǒng)800的結(jié)構(gòu)示意圖。圖8示出的車(chē)載智能設(shè)備僅僅是一個(gè)示例,不應(yīng)對(duì)本申請(qǐng)實(shí)施例的功能和使用范圍帶來(lái)任何限制。
如圖8所示,計(jì)算機(jī)系統(tǒng)800包括中央處理單元(CPU)801,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)802中的程序或者從存儲(chǔ)部分808加載到隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)803中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在RAM 803中,還存儲(chǔ)有系統(tǒng)800操作所需的各種程序和數(shù)據(jù)。CPU 801、ROM 802以及RAM 803通過(guò)總線804彼此相連。輸入/輸出(I/O)接口805也連接至總線804。
以下部件連接至I/O接口805:包括鍵盤(pán)、鼠標(biāo)等的輸入部分806;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分807;包括硬盤(pán)等的存儲(chǔ)部分808;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分809。通信部分809經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器810也根據(jù)需要連接至I/O接口805??刹鹦督橘|(zhì)811,諸如磁盤(pán)、光盤(pán)、磁光盤(pán)、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器810上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分808。
特別地,根據(jù)本公開(kāi)的實(shí)施例,上文參考流程圖描述的過(guò)程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開(kāi)的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括承載在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過(guò)通信部分809從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)811被安裝。在該計(jì)算機(jī)程序被中央處理單元(CPU)801執(zhí)行時(shí),執(zhí)行本申請(qǐng)的方法中限定的上述功能。需要說(shuō)明的是,本申請(qǐng)所述的計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或者是上述兩者的任意組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子可以包括但不限于:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、光纖、便攜式緊湊磁盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本申請(qǐng)中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本申請(qǐng)中,計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無(wú)線、電線、光纜、RF等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過(guò)軟件的方式實(shí)現(xiàn),也可以通過(guò)硬件的方式來(lái)實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括控制單元和執(zhí)行單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,控制單元還可以被描述為“接收直行控制指令的單元”。
作為另一方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以是上述實(shí)施例中描述的裝置中所包含的;也可以是單獨(dú)存在,而未裝配入該裝置中。上述計(jì)算機(jī)可讀介質(zhì)承載有一個(gè)或者多個(gè)程序,當(dāng)上述一個(gè)或者多個(gè)程序被該裝置執(zhí)行時(shí),使得該裝置:響應(yīng)于接收到對(duì)無(wú)人搬運(yùn)車(chē)的直行控制指令,將預(yù)先獲取的該無(wú)人搬運(yùn)車(chē)的位姿信息確定為初始位姿信息,執(zhí)行如下控制步驟:獲取目標(biāo)時(shí)間段內(nèi)的該無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的行駛距離;基于該初始位姿信息、所獲取的行駛距離和預(yù)先獲取的車(chē)軸長(zhǎng)度,確定當(dāng)前位姿信息;基于該當(dāng)前位姿信息和預(yù)設(shè)的位姿控制系數(shù),確定差速控制量;基于該差速控制量控制該無(wú)人搬運(yùn)車(chē)的各個(gè)驅(qū)動(dòng)輪的速度,并確定該無(wú)人搬運(yùn)車(chē)是否位于預(yù)設(shè)區(qū)域;響應(yīng)于確定不位于該預(yù)設(shè)區(qū)域,將該當(dāng)前位姿信息作為初始位姿信息,繼續(xù)執(zhí)行該控制步驟。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說(shuō)明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離上述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開(kāi)的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。