本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及控制技術(shù)領(lǐng)域,尤其涉及無人搬運(yùn)車的控制方法和裝置。
背景技術(shù):
無人搬運(yùn)車(automatedguidedvehicle,agv),也稱自動導(dǎo)引運(yùn)輸車,指裝備有電磁或光學(xué)等自動導(dǎo)引裝置,能夠沿規(guī)定的導(dǎo)引路徑行駛,具有安全保護(hù)以及各種移載功能的運(yùn)輸車。無人搬運(yùn)車不需要駕駛員,一般可透過電腦來控制其行進(jìn)路線以及行為。
然而,無人搬運(yùn)車在行駛過程中經(jīng)常出現(xiàn)偏離預(yù)先設(shè)定的行進(jìn)路線的情況。因此,如何在無人搬運(yùn)車偏離行進(jìn)路線的情況下控制無人搬運(yùn)車重新行駛到行進(jìn)路線上就變得至關(guān)重要。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例的目的在于提出一種改進(jìn)的無人搬運(yùn)車的控制方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請實(shí)施例提供了一種無人搬運(yùn)車的控制方法,該方法包括:響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息;基于當(dāng)前位姿信息,確定目標(biāo)位姿信息;基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡,其中,運(yùn)動軌跡以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn);執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;響應(yīng)于確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟。
在一些實(shí)施例中,獲取無人搬運(yùn)車的當(dāng)前位姿信息,包括:采集無人搬運(yùn)車當(dāng)前所經(jīng)過地面的圖像,其中,圖像包含無人搬運(yùn)車當(dāng)前所經(jīng)過二維碼的圖像;對圖像和圖像中所呈現(xiàn)的二維碼進(jìn)行分析,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在一些實(shí)施例中,對圖像和圖像中所呈現(xiàn)的二維碼進(jìn)行分析,確定無人搬運(yùn)車的當(dāng)前位姿信息,包括:獲取圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和圖像中所呈現(xiàn)的二維碼在圖像中的位置和角度,其中,二維碼用于記錄二維碼所在位置的坐標(biāo);基于所獲取的坐標(biāo)、位置和角度,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在一些實(shí)施例中,基于當(dāng)前位姿信息,確定目標(biāo)位姿信息,包括:基于圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和相鄰二維碼之間的距離,確定目標(biāo)位姿信息。
在一些實(shí)施例中,基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡,包括:基于當(dāng)前位姿信息和目標(biāo)位姿信息,構(gòu)造三次埃爾米特曲線,并將三次埃爾米特曲線作為無人搬運(yùn)車的運(yùn)動軌跡。
在一些實(shí)施例中,驅(qū)動輪包括安裝在無人搬運(yùn)車行駛方向左側(cè)的左驅(qū)動輪和安裝在無人搬運(yùn)車行駛方向右側(cè)的右驅(qū)動輪;以及基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,包括:獲取三次埃爾米特曲線上的所預(yù)測的位姿信息所指示的點(diǎn)的曲率半徑;基于曲率半徑、左驅(qū)動輪和右驅(qū)動輪的直徑、左驅(qū)動輪與右驅(qū)動輪之間的距離,確定與左驅(qū)動輪對應(yīng)的交叉耦合增益和與右驅(qū)動輪對應(yīng)的交叉耦合增益。
在一些實(shí)施例中,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,包括:基于與左驅(qū)動輪對應(yīng)的交叉耦合增益控制左驅(qū)動輪的速度;基于與右驅(qū)動輪對應(yīng)的交叉耦合增益控制右驅(qū)動輪的速度。
第二方面,本申請實(shí)施例提供了一種無人搬運(yùn)車的控制裝置,該裝置包括:獲取單元,配置用于響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息;位姿信息確定單元,配置用于基于當(dāng)前位姿信息,確定目標(biāo)位姿信息;運(yùn)動軌跡確定單元,配置用于基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡,其中,運(yùn)動軌跡以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn);控制單元,配置用于執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;執(zhí)行單元,配置用于響應(yīng)于確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟。
在一些實(shí)施例中,獲取單元,包括:采集子單元,配置用于采集無人搬運(yùn)車當(dāng)前所經(jīng)過地面的圖像,其中,圖像包含無人搬運(yùn)車當(dāng)前所經(jīng)過二維碼的圖像;分析子單元,配置用于對圖像和圖像中所呈現(xiàn)的二維碼進(jìn)行分析,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在一些實(shí)施例中,分析子單元,包括:獲取模塊,配置用于獲取圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和圖像中所呈現(xiàn)的二維碼在圖像中的位置和角度,其中,二維碼用于記錄二維碼所在位置的坐標(biāo);確定模塊,配置用于基于所獲取的坐標(biāo)、位置和角度,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在一些實(shí)施例中,位姿信息確定單元進(jìn)一步配置用于:基于圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和相鄰二維碼之間的距離,確定目標(biāo)位姿信息。
在一些實(shí)施例中,控制單元進(jìn)一步配置用于:基于當(dāng)前位姿信息和目標(biāo)位姿信息,構(gòu)造三次埃爾米特曲線,并將三次埃爾米特曲線作為無人搬運(yùn)車的運(yùn)動軌跡。
在一些實(shí)施例中,所述驅(qū)動輪包括安裝在所述無人搬運(yùn)車行駛方向左側(cè)的左驅(qū)動輪和安裝在所述無人搬運(yùn)車行駛方向右側(cè)的右驅(qū)動輪;以及控制單元進(jìn)一步配置用于:獲取三次埃爾米特曲線上的所預(yù)測的位姿信息所指示的點(diǎn)的曲率半徑;基于曲率半徑、左驅(qū)動輪和右驅(qū)動輪的直徑、左驅(qū)動輪與右驅(qū)動輪之間的距離,確定與左驅(qū)動輪對應(yīng)的交叉耦合增益和與右驅(qū)動輪對應(yīng)的交叉耦合增益。
在一些實(shí)施例中,控制單元進(jìn)一步配置用于:基于與左驅(qū)動輪對應(yīng)的交叉耦合增益控制左驅(qū)動輪的速度;基于與右驅(qū)動輪對應(yīng)的交叉耦合增益控制右驅(qū)動輪的速度。
第三方面,本申請實(shí)施例提供了一種車載智能設(shè)備,該車載智能設(shè)備包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序;當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
第四方面,本申請實(shí)施例提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
本申請實(shí)施例提供的無人搬運(yùn)車的控制方法和裝置,在接收到直行控制指令的情況下,首先,通過獲取無人搬運(yùn)車的當(dāng)前位姿信息確定出目標(biāo)位姿信息;而后,基于當(dāng)前位姿信息和目標(biāo)位姿信息確定出無人搬運(yùn)車的運(yùn)動軌跡;然后,執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;最后,若確定所預(yù)測的位姿信息是目標(biāo)位姿信息,則說明無人搬運(yùn)車已經(jīng)重新行駛到行進(jìn)路線上,并結(jié)束此次對無人搬運(yùn)車的控制;若確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,則將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟,直至無人搬運(yùn)車重新行駛到行進(jìn)路線上為止。從而實(shí)現(xiàn)了在無人搬運(yùn)車偏離行進(jìn)路線的情況下控制無人搬運(yùn)車重新行駛到行進(jìn)路線上。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本申請的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請的無人搬運(yùn)車的控制方法的一個實(shí)施例的流程圖;
圖3是根據(jù)本申請的無人搬運(yùn)車的控制方法的一個應(yīng)用場景的示意圖;
圖4是根據(jù)本申請的無人搬運(yùn)車的控制方法的又一個實(shí)施例的流程圖;
圖5是根據(jù)本申請的無人搬運(yùn)車的示例性驅(qū)動輪分布圖;
圖6是根據(jù)本申請的無人搬運(yùn)車的控制裝置的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖7是適于用來實(shí)現(xiàn)本申請實(shí)施例的車載智能設(shè)備的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對本申請作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請。
圖1示出了可以應(yīng)用本申請的無人搬運(yùn)車的控制方法或無人搬運(yùn)車的控制裝置的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括無人搬運(yùn)車101、網(wǎng)絡(luò)102和對無人搬運(yùn)車101提供支持的服務(wù)器103。無人搬運(yùn)車101中可以設(shè)置有車載智能設(shè)備104。網(wǎng)絡(luò)102用以在車載智能設(shè)備104和服務(wù)器103之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
車載智能設(shè)備104上安裝有對無人搬運(yùn)車101進(jìn)行控制的控制器。該控制器可以對無人搬運(yùn)車101的運(yùn)動方式進(jìn)行控制(例如直行控制、轉(zhuǎn)向控制等)。作為示例,該控制器可以是基于交叉耦合的速度控制器。車載智能設(shè)備104可以通過網(wǎng)絡(luò)102與服務(wù)器103交互,以接收直行控制指令等信息。
無人搬運(yùn)車101還可以安裝有其他設(shè)備,例如,用于拍攝地面圖像的拍攝裝置、用于檢測地面圖像上的二維碼的二維碼傳感器、用于驅(qū)動無人搬運(yùn)車前進(jìn)、后退或轉(zhuǎn)向的驅(qū)動輪等等。
服務(wù)器103可以是提供各種服務(wù)的服務(wù)器,例如對無人搬運(yùn)車101進(jìn)行管理并分配任務(wù)的管理服務(wù)器,管理服務(wù)器可以向車載智能設(shè)備104發(fā)送直行控制指令等信息,以使車載智能設(shè)備104對無人搬運(yùn)車101進(jìn)行控制。
需要指出的是,直行控制指令也可以在無人搬運(yùn)車101所安裝的二維碼傳感器檢測到某一信息時自動觸發(fā),此時,系統(tǒng)架構(gòu)100可以不設(shè)置網(wǎng)絡(luò)102和服務(wù)器103。
需要說明的是,本申請實(shí)施例所提供的無人搬運(yùn)車的控制方法一般由車載智能設(shè)備104執(zhí)行,相應(yīng)地,無人搬運(yùn)車的控制裝置一般設(shè)置于車載智能設(shè)備104中。
應(yīng)該理解,圖1中的無人搬運(yùn)車、車載智能設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的無人搬運(yùn)車、車載智能設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,其示出了根據(jù)本申請的無人搬運(yùn)車的控制方法的一個實(shí)施例的流程200。該無人搬運(yùn)車的控制方法,包括以下步驟:
步驟201,響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息。
在本實(shí)施例中,無人搬運(yùn)車的控制方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的車載智能設(shè)備104)可以通過有線連接方式或者無線連接方式從服務(wù)器(例如圖1所示的服務(wù)器103)接收對無人搬運(yùn)車(例如圖1所示的無人搬運(yùn)車101)的直行控制指令,并在接收到直行控制指令的情況下,獲取無人搬運(yùn)車的當(dāng)前位姿信息。其中,直行控制指令可以是用于指示電子設(shè)備控制無人搬運(yùn)車按照預(yù)設(shè)的行進(jìn)路線直行的指令。這里,行進(jìn)路線通常為直線。位姿信息可以是用于描述無人搬運(yùn)車的位置和行駛方向的信息。例如,位姿信息可以包括無人搬運(yùn)車在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)和無人搬運(yùn)車偏離行進(jìn)路線的角度。這里,預(yù)設(shè)坐標(biāo)系可以是以地面為平面、以行進(jìn)路線上的任意一點(diǎn)為原點(diǎn)、以行進(jìn)路線為x軸(即橫軸)、以x軸逆時針旋轉(zhuǎn)90°的方向?yàn)閥軸(即縱軸)而預(yù)先建立的直角坐標(biāo)系。作為示例,電子設(shè)備可以首先獲取預(yù)設(shè)坐標(biāo)系中無人搬運(yùn)車的當(dāng)前所在位置的坐標(biāo)(x1,y1),并獲取預(yù)設(shè)坐標(biāo)系中無人搬運(yùn)車的當(dāng)前行駛方向與x軸正方向(行進(jìn)路線)之間的夾角θ1;然后將(x1,y1,θ1)作為無人搬運(yùn)車的當(dāng)前位姿信息。
需要指出的是,電子設(shè)備還可以在無人搬運(yùn)車行駛過程中周期性地獲取無人搬運(yùn)車的當(dāng)前位姿信息(x1,y1,θ1),若所獲取的當(dāng)前位姿信息中的y1不等于0,則說明無人搬運(yùn)車已經(jīng)偏離了行進(jìn)路線,此時也可以認(rèn)為電子設(shè)備接收到了直行控制指令,并自動觸發(fā)對無人搬運(yùn)車的控制。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以首先采集無人搬運(yùn)車當(dāng)前所經(jīng)過地面的圖像;然后對圖像和圖像中所呈現(xiàn)的二維碼進(jìn)行分析,確定無人搬運(yùn)車的當(dāng)前位姿信息。其中,圖像可以包含無人搬運(yùn)車當(dāng)前所經(jīng)過二維碼的圖像。這里,無人搬運(yùn)車的行進(jìn)路線上被預(yù)先繪制了多個二維碼,相鄰兩個二維碼之間間隔一定的距離。作為示例,行進(jìn)路線上可以每隔1m(米)繪制一個二維碼。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以首先獲取圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和圖像中所呈現(xiàn)的二維碼在圖像中的位置和角度;然后基于所獲取的坐標(biāo)、位置和角度,確定無人搬運(yùn)車的當(dāng)前位姿信息。其中,二維碼可以用于記錄二維碼所在位置的坐標(biāo)。為了便于計(jì)算,預(yù)設(shè)坐標(biāo)系通常以地面為平面、以當(dāng)前所經(jīng)過的二維碼為原點(diǎn)、以行進(jìn)路線為x軸、以x軸逆時針旋轉(zhuǎn)90°的方向?yàn)閥軸。這里,二維碼記錄的是二維碼所在位置的坐標(biāo),則行進(jìn)路線上的各個二維碼所記錄的坐標(biāo)所對應(yīng)的y軸的數(shù)值應(yīng)均為零。
步驟202,基于當(dāng)前位姿信息,確定目標(biāo)位姿信息。
在本實(shí)施例中,基于步驟201中所獲取的當(dāng)前位姿信息,電子設(shè)備可以確定出目標(biāo)位姿信息。其中,目標(biāo)位姿信息可以是用于描述無人搬運(yùn)車的目標(biāo)行駛方向和目標(biāo)位置的信息。這里,目標(biāo)位姿信息所指示的點(diǎn)可以是行進(jìn)路線上的任意一點(diǎn),目標(biāo)位姿信息所指示的偏離行進(jìn)路線的角度可以為零,這樣,當(dāng)無人搬運(yùn)車行駛至目標(biāo)位姿信息所指示的位置和角度時,說明無人搬運(yùn)車已經(jīng)重新行駛至行進(jìn)路線上。作為示例,電子設(shè)備可以首先在行進(jìn)路線上任意選取一點(diǎn),并獲取該點(diǎn)在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)(x0,y0);然后獲取無人搬運(yùn)車的目標(biāo)行駛方向與x軸正方向(行進(jìn)路線)之間的夾角θ0;最后將(x0,y0,θ0)作為無人搬運(yùn)車的目標(biāo)位姿信息。其中,y0=0,θ0=0。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以從無人搬運(yùn)車尚未經(jīng)過的行進(jìn)路線上任意選取一點(diǎn)作為目標(biāo)位姿信息所指示的點(diǎn)。其中,行進(jìn)路線可以包括無人搬運(yùn)車已經(jīng)經(jīng)過的行進(jìn)路線和無人搬運(yùn)車尚未經(jīng)過的行進(jìn)路線。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以基于圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和相鄰二維碼之間的距離,確定目標(biāo)位姿信息。作為示例,若預(yù)設(shè)坐標(biāo)系以地面為平面、以圖像中所呈現(xiàn)的二維碼為原點(diǎn)、以行進(jìn)路線為x軸、以x軸逆時針旋轉(zhuǎn)90°的方向?yàn)閥軸,相鄰二維碼之間的距離是1,則電子設(shè)備可以將無人搬運(yùn)車尚未經(jīng)過的行進(jìn)路線上與圖像中所呈現(xiàn)的二維碼距離最近的二維碼的坐標(biāo)(1,0)作為目標(biāo)位姿信息所指示的點(diǎn)的坐標(biāo),此時,目標(biāo)位姿信息可以是(1,0,0)。
步驟203,基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡。
在本實(shí)施例中,基于步驟201中所獲取的當(dāng)前位姿信息和步驟202中所確定的目標(biāo)位姿信息,電子設(shè)備可以確定出無人搬運(yùn)車的運(yùn)動軌跡。其中,運(yùn)動軌跡可以是預(yù)設(shè)坐標(biāo)系中的平滑曲線,并且以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn)。同時,運(yùn)動軌跡在起點(diǎn)處的切線斜率等于當(dāng)前位姿信息所指示的角度的正切值,在終點(diǎn)處的切線斜率等于目標(biāo)位姿信息所指示的角度的正切值。作為示例,在預(yù)設(shè)坐標(biāo)系中,若當(dāng)前位姿信息為(x1,y1,θ1),目標(biāo)位姿信息為(x0,y0,θ0),則運(yùn)動軌跡在起點(diǎn)處的切線斜率等于θ1的正切值,在終點(diǎn)處的切線斜率等于θ0的正切值。
步驟204,基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。
在本實(shí)施例中,基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,電子設(shè)備可以預(yù)測出無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。作為示例,在預(yù)設(shè)坐標(biāo)系中,若無人搬運(yùn)車的當(dāng)前位姿信息是(x1,y1,θ1),電子設(shè)備可以首先利用無人搬運(yùn)車的速度乘以預(yù)設(shè)時間段即可預(yù)測出無人搬運(yùn)車在預(yù)設(shè)時間段后所行駛的距離s;之后,將s乘以θ1的余弦值近似作為無人搬運(yùn)車在x軸方向上所行駛的距離;而后,將無人搬運(yùn)車在x軸方向上所行駛的距離與x1相加即可得到無人搬運(yùn)車在預(yù)設(shè)時間段后在x軸方向上的橫坐標(biāo)x2;然后,將x2對應(yīng)到運(yùn)動軌跡曲線上即可獲得無人搬運(yùn)車在預(yù)設(shè)時間段后在y軸方向上的縱坐標(biāo)y2;最后,獲取運(yùn)動軌跡曲線在點(diǎn)(x2,y2)處的切線與x軸正方向之間的夾角θ2,并將(x2,y2,θ2)作為無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。
步驟205,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益。
在本實(shí)施例中,基于步驟204中所預(yù)測的位姿信息,電子設(shè)備可以確定出無人搬運(yùn)車的交叉耦合增益。這里,電子設(shè)備可以對當(dāng)前位姿信息和所預(yù)測的位姿信息進(jìn)行分析,預(yù)測出無人搬運(yùn)車從當(dāng)前位姿信息行駛至所預(yù)測的位姿信息無人搬運(yùn)車的驅(qū)動輪的速度,并利用交叉耦合增益與驅(qū)動輪的速度之間的對應(yīng)關(guān)系,根據(jù)所預(yù)測的驅(qū)動輪的速度確定出交叉耦合增益。其中,交叉耦合增益又可以叫做速度補(bǔ)償增益,其與驅(qū)動輪的速度之間存在一定的對應(yīng)關(guān)系。
步驟206,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度。
在本實(shí)施例中,基于步驟205中所確定的交叉耦合增益,電子設(shè)備可以控制無人搬運(yùn)車的驅(qū)動輪的速度。這里,電子設(shè)備上可以安裝有基于交叉耦合的速度控制器,將與所確定的交叉耦合增益相對應(yīng)的速度控制指令輸入到基于交叉耦合的速度控制器中?;诮徊骜詈系乃俣瓤刂破骺梢钥刂乞?qū)動輪以與交叉耦合增益成對應(yīng)關(guān)系的速度轉(zhuǎn)動,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn)。
步驟207,確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息。
在本實(shí)施例中,在無人搬運(yùn)車行駛至所預(yù)測的位姿信息所指示的點(diǎn)后,電子設(shè)備可以將所預(yù)測的位姿信息與目標(biāo)位姿信息進(jìn)行比較,若所預(yù)測的位姿信息與目標(biāo)位姿信息相同,則說明無人搬運(yùn)車已經(jīng)重新行駛到行進(jìn)路線上,并繼續(xù)執(zhí)行步驟208;若所預(yù)測的位姿信息與目標(biāo)位姿信息不同,則說明無人搬運(yùn)車尚未行駛到行進(jìn)路線上,并繼續(xù)執(zhí)行步驟209。
步驟208,結(jié)束。
步驟209,將所預(yù)測的位姿信息作為當(dāng)前位姿信息。
在本實(shí)施例中,在無人搬運(yùn)車尚未行駛到行進(jìn)路線上的情況下,電子設(shè)備可以將所預(yù)測的位姿信息作為當(dāng)前位姿信息,并返回繼續(xù)執(zhí)行步驟204,直至無人搬運(yùn)車重新行駛到行進(jìn)路線上為止。
繼續(xù)參見圖3,圖3是根據(jù)本實(shí)施例的無人搬運(yùn)車的控制方法的應(yīng)用場景的一個示意圖。在圖3的應(yīng)用場景中,在無人搬運(yùn)車301的車載智能設(shè)備302接收到直行控制指令303的情況下,首先,車載智能設(shè)備302獲取無人搬運(yùn)車301的當(dāng)前位姿信息304;之后,車載智能設(shè)備302基于當(dāng)前位姿信息304確定出目標(biāo)位姿信息305;而后,車載智能設(shè)備302基于當(dāng)前位姿信息304和目標(biāo)位姿信息305確定出無人搬運(yùn)車301的運(yùn)動軌跡306;然后,車載智能設(shè)備302執(zhí)行以下控制步驟:基于當(dāng)前位姿信息304、無人搬運(yùn)車的速度307和運(yùn)動軌跡306,預(yù)測無人搬運(yùn)車301在預(yù)設(shè)時間段后的位姿信息308,基于所預(yù)測的位姿信息308,確定無人搬運(yùn)車301的交叉耦合增益309,基于交叉耦合增益309控制無人搬運(yùn)車301的驅(qū)動輪的速度,以使無人搬運(yùn)車301沿運(yùn)動軌跡306由當(dāng)前位姿信息304所指示的點(diǎn)行駛至所預(yù)測的位姿信息308所指示的點(diǎn),并確定所預(yù)測的位姿信息308是否是目標(biāo)位姿信息305;最后,在確定所預(yù)測的位姿信息308是目標(biāo)位姿信息305的情況下結(jié)束本次對無人搬運(yùn)車301的控制;在確定所預(yù)測的位姿信息308不是目標(biāo)位姿信息305的情況下,車載智能設(shè)備302繼續(xù)執(zhí)行控制步驟,直至無人搬運(yùn)車301重新行駛到行進(jìn)路線上為止。
本申請實(shí)施例提供的無人搬運(yùn)車的控制方法,在接收到直行控制指令的情況下,首先,通過獲取無人搬運(yùn)車的當(dāng)前位姿信息確定出目標(biāo)位姿信息;而后,基于當(dāng)前位姿信息和目標(biāo)位姿信息確定出無人搬運(yùn)車的運(yùn)動軌跡;然后,執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;最后,若確定所預(yù)測的位姿信息是目標(biāo)位姿信息,則說明無人搬運(yùn)車已經(jīng)重新行駛到行進(jìn)路線上,并結(jié)束此次對無人搬運(yùn)車的控制;若確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,則將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟,直至無人搬運(yùn)車重新行駛到行進(jìn)路線上為止。從而實(shí)現(xiàn)了在無人搬運(yùn)車偏離行進(jìn)路線的情況下控制無人搬運(yùn)車重新行駛到行進(jìn)路線上。
進(jìn)一步參考圖4,其示出了無人搬運(yùn)車的控制方法的又一個實(shí)施例的流程400。該無人搬運(yùn)車的控制方法的流程400,包括以下步驟:
步驟401,響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息。
在本實(shí)施例中,無人搬運(yùn)車的控制方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的車載智能設(shè)備104)可以通過有線連接方式或者無線連接方式從服務(wù)器(例如圖1所示的服務(wù)器103)接收對無人搬運(yùn)車(例如圖1所示的無人搬運(yùn)車101)的直行控制指令,并在接收到直行控制指令的情況下,獲取無人搬運(yùn)車的當(dāng)前位姿信息。其中,直行控制指令可以是用于指示電子設(shè)備控制無人搬運(yùn)車按照預(yù)設(shè)的行進(jìn)路線直行的指令。這里,行進(jìn)路線通常為直線。位姿信息可以是用于描述無人搬運(yùn)車的位置和行駛方向的信息。例如,位姿信息可以包括無人搬運(yùn)車在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)和無人搬運(yùn)車偏離行進(jìn)路線的角度。這里,預(yù)設(shè)坐標(biāo)系可以是以地面為平面、以行進(jìn)路線上的任意一點(diǎn)為原點(diǎn)、以行進(jìn)路線為x軸(即橫軸)、以x軸逆時針旋轉(zhuǎn)90°的方向?yàn)閥軸(即縱軸)而預(yù)先建立的直角坐標(biāo)系。作為示例,電子設(shè)備可以首先獲取預(yù)設(shè)坐標(biāo)系中無人搬運(yùn)車的當(dāng)前所在位置的坐標(biāo)(x1,y1),并獲取預(yù)設(shè)坐標(biāo)系中無人搬運(yùn)車的當(dāng)前行駛方向與x軸正方向(行進(jìn)路線)之間的夾角θ1;然后將(x1,y1,θ1)作為無人搬運(yùn)車的當(dāng)前位姿信息。
步驟402,基于當(dāng)前位姿信息,確定目標(biāo)位姿信息。
在本實(shí)施例中,基于步驟401中所獲取的當(dāng)前位姿信息,電子設(shè)備可以確定出目標(biāo)位姿信息。其中,目標(biāo)位姿信息可以是用于描述無人搬運(yùn)車的目標(biāo)行駛方向和目標(biāo)位置的信息。這里,目標(biāo)位姿信息所指示的點(diǎn)可以是行進(jìn)路線上的任意一點(diǎn),目標(biāo)位姿信息所指示的偏離行進(jìn)路線的角度可以為零,這樣,當(dāng)無人搬運(yùn)車行駛至目標(biāo)位姿信息所指示的位置和角度時,說明無人搬運(yùn)車已經(jīng)重新行駛至行進(jìn)路線上。作為示例,電子設(shè)備可以首先在行進(jìn)路線上任意選取一點(diǎn),并獲取該點(diǎn)在預(yù)設(shè)坐標(biāo)系中的坐標(biāo)(x0,y0);然后獲取無人搬運(yùn)車的目標(biāo)行駛方向與x軸正方向(行進(jìn)路線)之間的夾角θ0;最后將(x0,y0,θ0)作為無人搬運(yùn)車的目標(biāo)位姿信息。其中,y0=0,θ0=0。
步驟403,基于當(dāng)前位姿信息和目標(biāo)位姿信息,構(gòu)造三次埃爾米特曲線,并將三次埃爾米特曲線作為無人搬運(yùn)車的運(yùn)動軌跡。
在本實(shí)施例中,基于步驟401中所獲取的當(dāng)前位姿信息和步驟402中所確定的目標(biāo)位姿信息,電子設(shè)備可以構(gòu)造三次埃爾米特(hermite)曲線,并將三次埃爾米特曲線作為無人搬運(yùn)車的運(yùn)動軌跡。其中,三次埃爾米特曲線以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn)。同時,三次埃爾米特曲線在起點(diǎn)處的切線斜率等于當(dāng)前位姿信息所指示的角度的正切值,在終點(diǎn)處的切線斜率等于目標(biāo)位姿信息所指示的角度的正切值。這里,三次埃爾米特曲線是一個沿x軸單調(diào)遞增的曲線,這樣就剛好滿足無人搬運(yùn)車沿行進(jìn)路線(x軸)行駛的要求。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,在預(yù)設(shè)坐標(biāo)系中,若當(dāng)前位姿信息為(x1,y1,θ1),目標(biāo)位姿信息為(x0,y0,θ0),則電子設(shè)備可以利用如下公式構(gòu)造三次埃爾米特曲線:
其中,x為三次埃爾米特曲線上的點(diǎn)在x軸方向上的橫坐標(biāo),y為三次埃爾米特曲線上的點(diǎn)在y軸方向上的縱坐標(biāo),(x,y)為三次埃爾米特曲線上的點(diǎn)的坐標(biāo),x1為當(dāng)前位姿信息(x1,y1,θ1)所指示的點(diǎn)在x軸方向上的橫坐標(biāo),f(x1)為當(dāng)前位姿信息(x1,y1,θ1)所指示的點(diǎn)在y軸方向上的縱坐標(biāo)(即f(x1)=y(tǒng)1),(x1,y1)為當(dāng)前位姿信息(x1,y1,θ1)所指示的點(diǎn)的坐標(biāo),f'(x1)為當(dāng)前位姿信息(x1,y1,θ1)所指示的角度的正切值(即f'(x1)=tanθ1),x0為目標(biāo)位姿信息(x0,y0,θ0)所指示的點(diǎn)在x軸方向上的橫坐標(biāo),f(x0)為目標(biāo)位姿信息(x0,y0,θ0)所指示的點(diǎn)在y軸方向上的縱坐標(biāo)(即f(x0)=y(tǒng)0),(x0,y0)為目標(biāo)位姿信息(x0,y0,θ0)所指示的點(diǎn)的坐標(biāo),f'(x0)為目標(biāo)位姿信息(x0,y0,θ0)所指示的角度的正切值(即f'(x0)=tanθ0)。
步驟404,基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。
在本實(shí)施例中,基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,電子設(shè)備可以預(yù)測出無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。作為示例,在預(yù)設(shè)坐標(biāo)系中,若無人搬運(yùn)車的當(dāng)前位姿信息是(x1,y1,θ1),電子設(shè)備可以首先利用無人搬運(yùn)車的速度乘以預(yù)設(shè)時間段即可預(yù)測出無人搬運(yùn)車在預(yù)設(shè)時間段后所行駛的距離s;之后,將s乘以θ1的余弦值近似作為無人搬運(yùn)車在x軸方向上所行駛的距離;而后,將無人搬運(yùn)車在x軸方向上所行駛的距離與x1相加即可得到無人搬運(yùn)車在預(yù)設(shè)時間段后在x軸方向上的橫坐標(biāo)x2;然后,將x2對應(yīng)到三次埃爾米特曲線上即可獲得無人搬運(yùn)車在預(yù)設(shè)時間段后在y軸方向上的縱坐標(biāo)y2;最后,獲取三次埃爾米特曲線在點(diǎn)(x2,y2)處的切線與x軸正方向之間的夾角θ2,并將(x2,y2,θ2)作為無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息。
步驟405,獲取三次埃爾米特曲線上的所預(yù)測的位姿信息所指示的點(diǎn)的曲率半徑。
在本實(shí)施例中,基于步驟403所構(gòu)造的三次埃爾米特曲線和步驟404所預(yù)測的位姿信息,電子設(shè)備可以獲取三次埃爾米特曲線上的所預(yù)測的位姿信息所指示的點(diǎn)的曲率半徑。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以利用如下公式獲取三次埃爾米特曲線上的點(diǎn)的曲率半徑r:
其中,x為三次埃爾米特曲線上的點(diǎn)在x軸方向上的橫坐標(biāo),y為三次埃爾米特曲線上的點(diǎn)在y軸方向上的縱坐標(biāo),
作為示例,所預(yù)測的位姿信息(x2,y2,θ2)所指示的點(diǎn)的曲率半徑r2為:
步驟406,基于曲率半徑、左驅(qū)動輪和右驅(qū)動輪的直徑、左驅(qū)動輪與右驅(qū)動輪之間的距離,確定與左驅(qū)動輪對應(yīng)的交叉耦合增益和與右驅(qū)動輪對應(yīng)的交叉耦合增益。
在本實(shí)施例中,基于所獲取的曲率半徑、左驅(qū)動輪和右驅(qū)動輪的直徑、左驅(qū)動輪與右驅(qū)動輪之間的距離,電子設(shè)備可以分別確定出與左驅(qū)動輪對應(yīng)的交叉耦合增益和與右驅(qū)動輪對應(yīng)的交叉耦合增益。
在本實(shí)施例中,驅(qū)動輪可以包括安裝在無人搬運(yùn)車行駛方向左側(cè)的左驅(qū)動輪和安裝在無人搬運(yùn)車行駛方向右側(cè)的右驅(qū)動輪。驅(qū)動輪分布可以如圖5所示,無人搬運(yùn)車底盤501上設(shè)置有兩個驅(qū)動輪5021、5022和四個從動萬向輪5031、5032、5033、5034。其中,驅(qū)動輪5021為左驅(qū)動輪,用于驅(qū)動從動萬向輪5031、5032。驅(qū)動輪5022為右驅(qū)動輪,用于驅(qū)動從動萬向輪5033、5034。這里,無人搬運(yùn)車可以采用差動控制,即直行時左驅(qū)動輪和右驅(qū)動輪的速度大小相同,轉(zhuǎn)動方向相同,原地轉(zhuǎn)向時左驅(qū)動輪和右驅(qū)動輪速度大小相同,轉(zhuǎn)動方向相反。
在本實(shí)施例中,電子設(shè)備可以對所獲取的曲率半徑和左驅(qū)動輪與右驅(qū)動輪之間的距離進(jìn)行分析,預(yù)測出從當(dāng)前位姿信息行駛至所預(yù)測的位姿信息無人搬運(yùn)車的驅(qū)動輪的速度,并利用交叉耦合增益與驅(qū)動輪的速度之間的對應(yīng)關(guān)系,根據(jù)所預(yù)測的驅(qū)動輪的速度確定出交叉耦合增益。其中,交叉耦合增益又可以叫做速度補(bǔ)償增益,其與驅(qū)動輪的速度之間存在一定的對應(yīng)關(guān)系。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以利用如下公式預(yù)測出左驅(qū)動輪的速度vl和右驅(qū)動輪的速度vr:
其中,l為左驅(qū)動輪和右驅(qū)動輪之間的距離,r為三次埃爾米特曲線上的點(diǎn)的曲率半徑,v為無人搬運(yùn)車的速度。
根據(jù)交叉耦合增益與驅(qū)動輪的速度之間的關(guān)系,可知左驅(qū)動輪的交叉耦合增益cl=1,右驅(qū)動輪的交叉耦合增益
其中,dl為左驅(qū)動輪的直徑,dr為右驅(qū)動輪的直徑,通常情況下,dl=dr。
步驟407,基于與左驅(qū)動輪對應(yīng)的交叉耦合增益控制左驅(qū)動輪的速度;基于與右驅(qū)動輪對應(yīng)的交叉耦合增益控制右驅(qū)動輪的速度。
在本實(shí)施例中,基于步驟406所確定的左驅(qū)動輪的交叉耦合增益和右驅(qū)動輪的交叉耦合增益,電子設(shè)備可以分別控制無人搬運(yùn)車的左驅(qū)動輪和右驅(qū)動輪的速度。這里,電子設(shè)備上可以安裝有基于交叉耦合的速度控制器,將與左驅(qū)動輪的交叉耦合增益和右驅(qū)動輪的交叉耦合增益相對應(yīng)的速度控制指令輸入到基于交叉耦合的速度控制器中,基于交叉耦合的速度控制器可以控制左驅(qū)動輪以與左驅(qū)動輪的交叉耦合增益成對應(yīng)關(guān)系的速度轉(zhuǎn)動,右驅(qū)動輪以與右驅(qū)動輪的交叉耦合增益成對應(yīng)關(guān)系的速度轉(zhuǎn)動,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn)。
步驟408,確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息。
在本實(shí)施例中,在無人搬運(yùn)車行駛至所預(yù)測的位姿信息所指示的點(diǎn)后,電子設(shè)備可以將所預(yù)測的位姿信息與目標(biāo)位姿信息進(jìn)行比較,若所預(yù)測的位姿信息與目標(biāo)位姿信息相同,則說明無人搬運(yùn)車已經(jīng)重新行駛至行進(jìn)路線上,并繼續(xù)執(zhí)行步驟409;若所預(yù)測的位姿信息與目標(biāo)位姿信息不同,則說明無人搬運(yùn)車尚未行駛到行進(jìn)路線上,并繼續(xù)執(zhí)行步驟410。
步驟409,結(jié)束。
步驟410,將所預(yù)測的位姿信息作為當(dāng)前位姿信息。
在本實(shí)施例中,在無人搬運(yùn)車尚未行駛到行進(jìn)路線上的情況下,電子設(shè)備可以將所預(yù)測的位姿信息作為當(dāng)前位姿信息,并返回繼續(xù)執(zhí)行步驟404,直至無人搬運(yùn)車重新行駛到行進(jìn)路線上為止。
從圖4中可以看出,與圖2對應(yīng)的實(shí)施例相比,本實(shí)施例中的無人搬運(yùn)車的控制方法的流程400突出了構(gòu)造三次埃爾米特曲線作為運(yùn)動軌跡的步驟。由此,本實(shí)施例描述的方案中利用三次埃爾米特曲線作為運(yùn)動軌跡,使運(yùn)動軌跡沿行進(jìn)路線(x軸)單調(diào)遞增,從而使無人搬運(yùn)車快速地、平滑地重新行駛到行進(jìn)路線上。
進(jìn)一步參考圖6,作為對上述各圖所示方法的實(shí)現(xiàn),本申請?zhí)峁┝艘环N無人搬運(yùn)車的控制裝置的一個實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖6所示,本實(shí)施例的無人搬運(yùn)車的控制裝置600可以包括:獲取單元601、位姿信息確定單元602、運(yùn)動軌跡確定單元603、控制單元604和執(zhí)行單元605。其中,獲取單元601,配置用于響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息;位姿信息確定單元602,配置用于基于當(dāng)前位姿信息,確定目標(biāo)位姿信息;運(yùn)動軌跡確定單元603,配置用于基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡,其中,運(yùn)動軌跡以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn);控制單元604,配置用于執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;執(zhí)行單元605,配置用于響應(yīng)于確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟。
在本實(shí)施例中,無人搬運(yùn)車的控制裝置600中:獲取單元601、位姿信息確定單元602、運(yùn)動軌跡確定單元603、控制單元604、執(zhí)行單元605的具體處理及其所帶來的技術(shù)效果可分別參考圖2對應(yīng)實(shí)施例中的步驟201、步驟202、步驟203、步驟204-208和步驟209的相關(guān)說明,在此不再贅述。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,獲取單元601可以包括:采集子單元(圖中未示出),配置用于采集無人搬運(yùn)車當(dāng)前所經(jīng)過地面的圖像,其中,圖像包含無人搬運(yùn)車當(dāng)前所經(jīng)過二維碼的圖像;分析子單元(圖中未示出),配置用于對圖像和圖像中所呈現(xiàn)的二維碼進(jìn)行分析,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,分析子單元(圖中未示出)可以包括:獲取模塊(圖中未示出),配置用于獲取圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和圖像中所呈現(xiàn)的二維碼在圖像中的位置和角度,其中,二維碼用于記錄二維碼所在位置的坐標(biāo);確定模塊(圖中未示出),配置用于基于所獲取的坐標(biāo)、位置和角度,確定無人搬運(yùn)車的當(dāng)前位姿信息。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,位姿信息確定單元602進(jìn)一步配置用于:基于圖像中所呈現(xiàn)的二維碼所記錄的坐標(biāo)和相鄰二維碼之間的距離,確定目標(biāo)位姿信息。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,控制單元604進(jìn)一步配置用于:基于當(dāng)前位姿信息和目標(biāo)位姿信息,構(gòu)造三次埃爾米特曲線,并將三次埃爾米特曲線作為無人搬運(yùn)車的運(yùn)動軌跡。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,所述驅(qū)動輪可以包括安裝在所述無人搬運(yùn)車行駛方向左側(cè)的左驅(qū)動輪和安裝在所述無人搬運(yùn)車行駛方向右側(cè)的右驅(qū)動輪;以及控制單元604進(jìn)一步配置用于:獲取三次埃爾米特曲線上的所預(yù)測的位姿信息所指示的點(diǎn)的曲率半徑;基于曲率半徑、左驅(qū)動輪和右驅(qū)動輪的直徑、左驅(qū)動輪與右驅(qū)動輪之間的距離,確定與左驅(qū)動輪對應(yīng)的交叉耦合增益和與右驅(qū)動輪對應(yīng)的交叉耦合增益。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,控制單元604進(jìn)一步配置用于:基于與左驅(qū)動輪對應(yīng)的交叉耦合增益控制左驅(qū)動輪的速度;基于與右驅(qū)動輪對應(yīng)的交叉耦合增益控制右驅(qū)動輪的速度。
下面參考圖7,其示出了適于用來實(shí)現(xiàn)本申請實(shí)施例的車載智能設(shè)備的計(jì)算機(jī)系統(tǒng)700的結(jié)構(gòu)示意圖。圖7示出的車載智能設(shè)備僅僅是一個示例,不應(yīng)對本申請實(shí)施例的功能和使用范圍帶來任何限制。
如圖7所示,計(jì)算機(jī)系統(tǒng)700包括中央處理單元(cpu)701,其可以根據(jù)存儲在只讀存儲器(rom)702中的程序或者從存儲部分708加載到隨機(jī)訪問存儲器(ram)703中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚怼T趓am703中,還存儲有系統(tǒng)700操作所需的各種程序和數(shù)據(jù)。cpu701、rom702以及ram703通過總線704彼此相連。輸入/輸出(i/o)接口705也連接至總線704。
以下部件連接至i/o接口705:包括鍵盤、鼠標(biāo)、觸摸屏等的輸入部分706;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分707;包括硬盤等的存儲部分708;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分709。通信部分709經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器710也根據(jù)需要連接至i/o接口705??刹鹦督橘|(zhì)711,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器710上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲部分708。
特別地,根據(jù)本公開的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括承載在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分709從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)711被安裝。在該計(jì)算機(jī)程序被中央處理單元(cpu)701執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。
需要說明的是,本申請上述的計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)或者是上述兩者的任意組合。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子可以包括但不限于:具有一個或多個導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本申請中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本申請中,計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括獲取單元、位姿信息確定單元、運(yùn)動軌跡確定單元、控制單元和執(zhí)行單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,獲取單元還可以被描述為“響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息的單元”。
作為另一方面,本申請還提供了一種計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以是上述實(shí)施例中描述的車載智能設(shè)備中所包含的;也可以是單獨(dú)存在,而未裝配入該車載智能設(shè)備中。上述計(jì)算機(jī)可讀介質(zhì)承載有一個或者多個程序,當(dāng)上述一個或者多個程序被該車載智能設(shè)備執(zhí)行時,使得該車載智能設(shè)備:響應(yīng)于接收到直行控制指令,獲取無人搬運(yùn)車的當(dāng)前位姿信息;基于當(dāng)前位姿信息,確定目標(biāo)位姿信息;基于當(dāng)前位姿信息和目標(biāo)位姿信息,確定無人搬運(yùn)車的運(yùn)動軌跡,其中,運(yùn)動軌跡以當(dāng)前位姿信息所指示的點(diǎn)為起點(diǎn),以目標(biāo)位姿信息所指示的點(diǎn)為終點(diǎn);執(zhí)行以下控制步驟:基于當(dāng)前位姿信息、無人搬運(yùn)車的速度和運(yùn)動軌跡,預(yù)測無人搬運(yùn)車在預(yù)設(shè)時間段后的位姿信息,基于所預(yù)測的位姿信息,確定無人搬運(yùn)車的交叉耦合增益,基于交叉耦合增益控制無人搬運(yùn)車的驅(qū)動輪的速度,以使無人搬運(yùn)車沿運(yùn)動軌跡由當(dāng)前位姿信息所指示的點(diǎn)行駛至所預(yù)測的位姿信息所指示的點(diǎn),并確定所預(yù)測的位姿信息是否是目標(biāo)位姿信息;響應(yīng)于確定所預(yù)測的位姿信息不是目標(biāo)位姿信息,將所預(yù)測的位姿信息作為當(dāng)前位姿信息,繼續(xù)執(zhí)行控制步驟。
以上描述僅為本申請的較佳實(shí)施例以及對所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離上述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。