本發(fā)明涉及無人車技術(shù)領(lǐng)域,特別是一種無人車橫向控制方法和裝置。
背景技術(shù):
隨著科技的發(fā)展,汽車保有量急劇增加,交通環(huán)境惡化,道路事故頻發(fā),無人駕駛汽車作為智能交通的一部分,能夠有效緩解駕駛員疲勞,降低事故發(fā)生率,提高道路和車輛利用率。無人車是無人駕駛汽車的簡(jiǎn)稱,無人車可以通過自身安裝的傳感器檢測(cè)道路信息,自主完成路徑規(guī)劃并抵達(dá)目的地。通過獲取組合導(dǎo)航系統(tǒng)數(shù)據(jù),控制中心發(fā)出方向盤轉(zhuǎn)角指令信號(hào),實(shí)現(xiàn)無人車的橫向控制。
現(xiàn)有技術(shù)中采用PID(Proportion Integral Differential,比例微分積分)控制算法和預(yù)瞄點(diǎn)算法實(shí)現(xiàn)無人車的橫向控制。PID控制算法是對(duì)系統(tǒng)偏差做PID運(yùn)算,獲得車輛車輪轉(zhuǎn)角;預(yù)瞄點(diǎn)算法從規(guī)劃路徑中獲取預(yù)瞄點(diǎn),通過當(dāng)前位置和預(yù)瞄位置的偏差運(yùn)算獲取車輪轉(zhuǎn)角,控制車輛按規(guī)劃路徑行駛。但是,這樣的算法往往會(huì)導(dǎo)致頻繁輸出轉(zhuǎn)角控制指令,造成方向盤抖動(dòng),行駛不平穩(wěn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的在于提高無人車行駛的平穩(wěn)度。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提出一種無人車橫向控制方法,包括:確定多個(gè)預(yù)瞄點(diǎn);獲取車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差;確定最小的角度差為車輪轉(zhuǎn)角變化量。
可選地,確定多個(gè)預(yù)瞄點(diǎn)包括:從預(yù)定路徑上選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。
可選地,車輛位置點(diǎn)為車輛當(dāng)前位置或經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置。
可選地,車輛航向角為車輛當(dāng)前航向角或經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置的預(yù)測(cè)點(diǎn)車輛航向角。
可選地,還包括:根據(jù)當(dāng)前車輛轉(zhuǎn)彎半徑、當(dāng)前速度和系統(tǒng)時(shí)延確定預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角。
可選地,獲取車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差包括:根據(jù)預(yù)測(cè)點(diǎn)位置、預(yù)測(cè)點(diǎn)車輛航向角和預(yù)瞄點(diǎn)的位置確定到各個(gè)預(yù)瞄點(diǎn)的車輪轉(zhuǎn)角;根據(jù)車輛軸距、車輪轉(zhuǎn)角和當(dāng)前速度確定車輛到各個(gè)預(yù)瞄點(diǎn)的曲線距離;根據(jù)曲線距離和當(dāng)前速度確定從車輛預(yù)測(cè)點(diǎn)位置到各個(gè)預(yù)瞄點(diǎn)的行駛時(shí)間;根據(jù)行駛時(shí)間、當(dāng)前速度、車輪轉(zhuǎn)角確定到各個(gè)預(yù)瞄點(diǎn)的角度差。
可選地,還包括:將角度差最小的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn)。
通過這樣的方法,能夠獲取多個(gè)預(yù)瞄點(diǎn),并選出最小的角度差,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提出一種無人車橫向控制裝置,包括:預(yù)瞄點(diǎn)確定單元,用于確定多個(gè)預(yù)瞄點(diǎn);角度差獲取單元,用于獲取車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差;轉(zhuǎn)角變化確定單元,用于確定最小的角度差為車輪轉(zhuǎn)角變化量。
可選地,預(yù)瞄點(diǎn)確定單元用于從預(yù)定路徑上選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。
可選地,車輛位置點(diǎn)為車輛當(dāng)前位置或經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置。
可選地,車輛航向角為車輛當(dāng)前航向角或經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置的預(yù)測(cè)點(diǎn)車輛航向角。
可選地,還包括:預(yù)測(cè)點(diǎn)確定單元,用于根據(jù)當(dāng)前車輛轉(zhuǎn)彎半徑、當(dāng)前速度和系統(tǒng)時(shí)延確定預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角。
可選地,角度差獲取單元包括:車輪轉(zhuǎn)角確定子單元,用于根據(jù)預(yù)測(cè)點(diǎn)位置、預(yù)測(cè)點(diǎn)車輛航向角和預(yù)瞄點(diǎn)的位置確定到各個(gè)預(yù)瞄點(diǎn)的車輪轉(zhuǎn)角;曲線距離確定子單元,用于根據(jù)車輛軸距、車輪轉(zhuǎn)角和當(dāng)前速度確定車輛到各個(gè)預(yù)瞄點(diǎn)的曲線距離;行駛時(shí)間確定子單元,用于根據(jù)曲線距離和當(dāng)前速度確定從車輛預(yù)測(cè)點(diǎn)位置到各個(gè)預(yù)瞄點(diǎn)的行駛時(shí)間;角度差確定子單元,用于根據(jù)行駛時(shí)間、當(dāng)前速度、車輪轉(zhuǎn)角確定到各個(gè)預(yù)瞄點(diǎn)的角度差。
可選地,還包括:唯一預(yù)瞄點(diǎn)確定單元,用于將角度差最小的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn)。
這樣的裝置能夠獲取多個(gè)預(yù)瞄點(diǎn),并選出最小的角度差作為車輪轉(zhuǎn)角,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
根據(jù)本發(fā)明的又一個(gè)實(shí)施例,提出一種無人車橫向控制裝置,包括:存儲(chǔ)器;以及耦接至存儲(chǔ)器的處理器,處理器被配置為基于存儲(chǔ)在存儲(chǔ)器的指令執(zhí)行上文中任意一種無人車橫向控制方法。
這樣的裝置能夠獲取多個(gè)預(yù)瞄點(diǎn),并選出最小的角度差作為車輪轉(zhuǎn)角,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
根據(jù)本發(fā)明的再一個(gè)實(shí)施例,提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,該指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上文中任意一種無人車橫向控制方法的步驟。
這樣的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)能夠執(zhí)行上文中的無人車橫向控制方法,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1為本發(fā)明的無人車橫向控制方法的一個(gè)實(shí)施例的流程圖。
圖2為本發(fā)明的無人車橫向控制方法中確定預(yù)瞄點(diǎn)的一個(gè)實(shí)施例的流程圖。
圖3為本發(fā)明的無人車橫向控制方法的又一個(gè)實(shí)施例的流程圖。
圖4為本發(fā)明的無人車橫向控制方法中確定角度差的一個(gè)實(shí)施例的流程圖。
圖5為本發(fā)明的無人車橫向控制方法的再一個(gè)實(shí)施例的流程圖。
圖6為本發(fā)明的無人車橫向控制裝置的一個(gè)實(shí)施例的示意圖。
圖7為本發(fā)明的無人車橫向控制裝置的另一個(gè)實(shí)施例的示意圖。
圖8為本發(fā)明的無人車橫向控制裝置中角度差獲取單元的一個(gè)實(shí)施例的示意圖。
圖9為本發(fā)明的無人車橫向控制裝置的一個(gè)實(shí)施例的效果圖。
圖10為本發(fā)明的無人車橫向控制裝置的再一個(gè)實(shí)施例的示意圖。
圖11為本發(fā)明的無人車橫向控制裝置的另外一個(gè)實(shí)施例的示意圖。
具體實(shí)施方式
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明的無人車橫向控制方法的一個(gè)實(shí)施例的流程圖如圖1所示。
在步驟101中,確定多個(gè)預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,可以根據(jù)預(yù)定路徑在探測(cè)范圍內(nèi)選取多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。
在步驟102中,獲取車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差。在一個(gè)實(shí)施例中,車輛航向角可以是車輛當(dāng)前的航向角。預(yù)瞄點(diǎn)處的航向角可以是車輛行駛到預(yù)瞄點(diǎn)位置時(shí)的航向角。在一個(gè)實(shí)施例中,可以計(jì)算車輛到達(dá)各個(gè)預(yù)瞄點(diǎn)的路徑,得到到達(dá)各個(gè)預(yù)瞄點(diǎn)處的航向角,進(jìn)而計(jì)算車輛當(dāng)前航向角與預(yù)瞄點(diǎn)處航向角的角度差。在一個(gè)實(shí)施例中,還可以根據(jù)車輛到達(dá)各個(gè)預(yù)瞄點(diǎn)的路徑直接計(jì)算角度差。
在步驟103中,將車輛當(dāng)前航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差進(jìn)行比較,確定最小的角度差為車輪轉(zhuǎn)角變化量。在一個(gè)實(shí)施例中,還可以將該車輪轉(zhuǎn)角變化量對(duì)應(yīng)的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn),以該唯一預(yù)瞄點(diǎn)為基準(zhǔn)進(jìn)行車輛驅(qū)動(dòng)操作。
通過這樣的方法,能夠獲取多個(gè)預(yù)瞄點(diǎn),并選出最小的角度差,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
本發(fā)明的無人車橫向控制方法中確定預(yù)瞄點(diǎn)的一個(gè)實(shí)施例的流程圖如圖2所示。
在步驟201中,確定預(yù)定路徑上的點(diǎn)。在一個(gè)實(shí)施例中,無人車上的探測(cè)器能夠獲取一定范圍內(nèi)的預(yù)定路徑探測(cè)數(shù)據(jù),可以獲取能夠探測(cè)到的預(yù)定路徑上的所有點(diǎn)到無人車的距離。
在步驟202中,從預(yù)定路徑上的點(diǎn)中選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,可以根據(jù)測(cè)試效果或具體需要設(shè)定預(yù)定預(yù)瞄距離范圍,將預(yù)定預(yù)瞄距離范圍內(nèi)預(yù)定路徑上的所有點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,也可以設(shè)定選點(diǎn)數(shù)量,從預(yù)定預(yù)瞄距離范圍內(nèi)預(yù)定路徑上選擇多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。
通過這樣的方法,能夠從預(yù)定路徑上選擇多個(gè)點(diǎn)作為預(yù)瞄點(diǎn),一方面能夠保證無人車不會(huì)偏離預(yù)定路徑,另一方面也避免車輛頻繁計(jì)算預(yù)瞄點(diǎn),提高車輛平穩(wěn)度。
在一個(gè)實(shí)施例中,由于無人車的軟硬件系統(tǒng)會(huì)存在系統(tǒng)時(shí)延,因此為了減少誤差,可以以車輛經(jīng)過系統(tǒng)時(shí)延后的預(yù)測(cè)位置作為車輛位置計(jì)算角度差,從而提高準(zhǔn)確度。
本發(fā)明的無人車橫向控制方法的又一個(gè)實(shí)施例的流程圖如圖3所示。
在步驟301中,根據(jù)當(dāng)前車輛轉(zhuǎn)彎半徑、當(dāng)前速度和系統(tǒng)時(shí)延確定預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角。在一個(gè)實(shí)施例中,可以獲取車輛當(dāng)前行駛速度、當(dāng)前車輛航向角,結(jié)合配置的系統(tǒng)時(shí)延進(jìn)行計(jì)算。
在步驟302中,從預(yù)定路徑上選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,可以采用圖2實(shí)施例中的方式獲取多個(gè)預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,車輛位置點(diǎn)可以為車輛當(dāng)前位置,也可以為預(yù)測(cè)點(diǎn)位置。
在步驟303中,獲取經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置的預(yù)測(cè)點(diǎn)車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差。
在步驟304中,確定最小的角度差為車輪轉(zhuǎn)角變化量,將角度差最小的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn)。
通過這樣的方法,能夠先根據(jù)車輛的系統(tǒng)時(shí)延計(jì)算預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角,進(jìn)而以預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角為基準(zhǔn)計(jì)算角度差,從而彌補(bǔ)了系統(tǒng)時(shí)延造成的影響,提高了角度差計(jì)算的準(zhǔn)確性。
本發(fā)明的無人車橫向控制方法中確定角度差的一個(gè)實(shí)施例的流程圖如圖4所示。
在步驟401中,根據(jù)預(yù)測(cè)點(diǎn)位置、預(yù)測(cè)點(diǎn)車輛航向角和預(yù)瞄點(diǎn)的位置確定到各個(gè)預(yù)瞄點(diǎn)的車輪轉(zhuǎn)角。
在步驟402中,根據(jù)車輛軸距、車輪轉(zhuǎn)角和當(dāng)前速度確定車輛到各個(gè)預(yù)瞄點(diǎn)的曲線距離。
在步驟403中,根據(jù)曲線距離和當(dāng)前速度確定從車輛預(yù)測(cè)點(diǎn)位置到各個(gè)預(yù)瞄點(diǎn)的行駛時(shí)間。
在步驟404中,根據(jù)行駛時(shí)間、當(dāng)前速度、車輪轉(zhuǎn)角確定到各個(gè)預(yù)瞄點(diǎn)的角度差。
通過這樣的方法,能夠根據(jù)車輛行駛數(shù)據(jù)和車輛自身狀態(tài)數(shù)據(jù)確定角度差,運(yùn)算過程清晰且復(fù)雜度小,提高了計(jì)算效率且降低了對(duì)無人車硬件的要求,有利于提高無人車的反應(yīng)速度,且有利于推廣應(yīng)用。
本發(fā)明的無人車橫向控制方法的再一個(gè)實(shí)施例的流程圖如圖5所示。
在步驟501中,在預(yù)定時(shí)間、事件或周期的激發(fā)下開始無人車橫向定位過程。
在步驟502中,獲取無人車道路數(shù)據(jù)和車輛信息。無人車道路數(shù)據(jù)可以采用矩陣R進(jìn)行標(biāo)識(shí)。
在步驟503中,提取矩陣R中的車輛當(dāng)前位置S、當(dāng)前速度V和車輛當(dāng)前航向角Vehicle_A。
在步驟504中,獲取前一周期的車輪轉(zhuǎn)角WA。
在步驟505中,基于系統(tǒng)設(shè)定或服務(wù)器數(shù)據(jù)得到車輛軸距WL。
在步驟506中,計(jì)算車輛當(dāng)前位置到預(yù)瞄點(diǎn)位置的轉(zhuǎn)彎半徑WR,在一個(gè)實(shí)施例中,可以如公式
WR=WL*WA (1)
計(jì)算轉(zhuǎn)彎半徑WR。
在步驟507中,基于系統(tǒng)設(shè)定或服務(wù)器數(shù)據(jù)得到系統(tǒng)時(shí)延T。
在步驟508中,計(jì)算車輛當(dāng)前位置到預(yù)測(cè)位置的弧長(zhǎng)AL。在一個(gè)實(shí)施例中,可以采用公式
AL=V*T (2)
計(jì)算弧長(zhǎng)AL。
在步驟509中,計(jì)算車輛當(dāng)前位置到預(yù)測(cè)點(diǎn)位置的直線距離LD。在一個(gè)實(shí)施例中,可以采用公式
LD=2*WR*sin(AL/(2WR)) (3)
計(jì)算直線距離LD。
在步驟510中,確定車輛預(yù)測(cè)點(diǎn)位置相對(duì)于當(dāng)前位置的坐標(biāo)(Xc,Yc),并獲取車輛預(yù)測(cè)點(diǎn)位置相對(duì)大地的坐標(biāo)(XC,YC)。在一個(gè)實(shí)施例中,可以采用公式(4)(5)計(jì)算(Xc,Yc),采用公式(6)(7)計(jì)算(XC,YC):
Xc=LD2/(2*WR) (4)
Yc=sqrt(LD2*(1-LD2/(4*WR2))) (5)
XC=Xc*cos(Vehicle_A-π/2)-Yc*sin(Vehicle_A-π/2)
+Xc (5)
YC=Xc*sin(Vehicle_A-π/2)+Yc*cos(Vehicle_A-π/2)
+Yc (6)
在步驟511中,確定預(yù)定點(diǎn)位置的航向變化量C_Y。在一個(gè)實(shí)施例中,可以采用公式:
C_Y=V*T*tan(WA)/WL (7)
計(jì)算預(yù)定點(diǎn)位置的航向變化量C_Y。
在步驟512中,獲取車輛預(yù)測(cè)點(diǎn)位置與預(yù)定路徑上點(diǎn)的距離,取最近點(diǎn)(XR,YR)。
在步驟513中,根據(jù)預(yù)定預(yù)瞄距離,得到多個(gè)預(yù)瞄點(diǎn),均以(XP,YP)表示。在一個(gè)實(shí)施例中,可以以(XR,YR)為起始點(diǎn),根據(jù)預(yù)定預(yù)瞄距離修改(XR,YR)坐標(biāo),得到(XP,YP)。
在步驟514中,計(jì)算車輛預(yù)測(cè)點(diǎn)位置與各個(gè)預(yù)瞄點(diǎn)位置的橫向偏差BIAS,可以根據(jù)公式:
BIAS=(XP-XC)*sin(π+Vehicle_A+C_Y)-(YP-YC)*
cos(π+Vehicle_A+C_Y) (8)
計(jì)算橫向偏差BIAS。
在步驟515中,計(jì)算車輪轉(zhuǎn)角WA_A,轉(zhuǎn)彎半徑RL,曲線距離SL,行駛時(shí)間T_T??梢圆捎霉剑?/p>
WA_A=arctan((2*WL*BIAS)/L2) (9)
計(jì)算車輪轉(zhuǎn)角WA_A,其中,L為車輛預(yù)測(cè)點(diǎn)位置與該預(yù)瞄點(diǎn)的直線距離;
可以采用公式:
RL=WL/tan(WA_A) (10)
計(jì)算車輛轉(zhuǎn)彎半徑RL;
采用公式:
SL=2*RL*arcsin(L/(2*RL)) (11)
計(jì)算曲線長(zhǎng)度SL;
采用公式:
T_T=SL/V (12)
計(jì)算行駛時(shí)間T_T。
在步驟516中,計(jì)算車輪轉(zhuǎn)角變化量WA_A_C。在一個(gè)實(shí)施例中,可以采用公式:
WA_A_C=(V*T_T*tan(WA_A))/WL (13)
計(jì)算車輪轉(zhuǎn)角變化量WA_A_C。
在步驟517中,車輛在預(yù)瞄點(diǎn)位置的航向角Vehicle_A_F。在一個(gè)實(shí)施例中,可以利用公式:
Vehicle_A_F=Vehicle_A+WA_A_C (14)
計(jì)算車輛在預(yù)瞄點(diǎn)位置的航向角Vehicle_A_F。
在步驟518中,預(yù)瞄點(diǎn)航向角角度差處理,獲取角度差最小的車輪轉(zhuǎn)角WA,該最小的車輪轉(zhuǎn)角WA對(duì)應(yīng)的預(yù)瞄點(diǎn)即為唯一預(yù)瞄點(diǎn)。
在步驟519中,流程結(jié)束,等待下一次橫向控制計(jì)算。
通過這樣的方法,能夠根據(jù)車輛行駛數(shù)據(jù)和車輛自身狀態(tài)數(shù)據(jù)確定角度差,運(yùn)算過程清晰且復(fù)雜度小,提高了計(jì)算效率且降低了對(duì)無人車硬件的要求,有利于提高無人車的反應(yīng)速度,且有利于推廣應(yīng)用。
本發(fā)明的無人車橫向控制裝置的一個(gè)實(shí)施例的示意圖如圖6所示。預(yù)瞄點(diǎn)確定單元601能夠確定多個(gè)預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,可以根據(jù)預(yù)定路徑在探測(cè)范圍內(nèi)選取多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。角度差獲取單元602能夠獲取車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差。在一個(gè)實(shí)施例中,可以計(jì)算車輛到達(dá)各個(gè)預(yù)瞄點(diǎn)的路徑,得到到達(dá)各個(gè)預(yù)瞄點(diǎn)處的航向角,進(jìn)而計(jì)算車輛當(dāng)前航向角與預(yù)瞄點(diǎn)處航向角的角度差。在一個(gè)實(shí)施例中,還可以根據(jù)車輛到達(dá)各個(gè)預(yù)瞄點(diǎn)的路徑直接計(jì)算角度差。轉(zhuǎn)角變化確定單元603能夠?qū)④囕v當(dāng)前航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差進(jìn)行比較,確定最小的角度差為車輪轉(zhuǎn)角變化量。在一個(gè)實(shí)施例中,還可以將該車輪轉(zhuǎn)角變化量對(duì)應(yīng)的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn),以該唯一預(yù)瞄點(diǎn)為基準(zhǔn)進(jìn)行車輛驅(qū)動(dòng)操作。
這樣的裝置能夠獲取多個(gè)預(yù)瞄點(diǎn),并選出最小的角度差,從而避免了車輛頻繁的大幅度轉(zhuǎn)向,提高了無人車行駛的平穩(wěn)度。
在一個(gè)實(shí)施例中,預(yù)瞄點(diǎn)確定單元601可以先確定預(yù)定路徑上的點(diǎn),進(jìn)而從預(yù)定路徑上選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,無人車上的探測(cè)器能夠獲取一定范圍內(nèi)的預(yù)定路徑探測(cè)數(shù)據(jù),可以獲取能夠探測(cè)到的預(yù)定路徑上的所有點(diǎn)到無人車的距離。在一個(gè)實(shí)施例中,可以根據(jù)測(cè)試效果或具體需要設(shè)定預(yù)定預(yù)瞄距離范圍,將預(yù)定預(yù)瞄距離范圍內(nèi)預(yù)定路徑上的所有點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,也可以設(shè)定選點(diǎn)數(shù)量,從預(yù)定預(yù)瞄距離范圍內(nèi)預(yù)定路徑上選擇多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。
這樣的裝置能夠從預(yù)定路徑上選擇多個(gè)點(diǎn)作為預(yù)瞄點(diǎn),一方面能夠保證無人車不會(huì)偏離預(yù)定路徑,另一方面也避免車輛以固定距離的路徑上的點(diǎn)作為預(yù)瞄點(diǎn)而導(dǎo)致的頻繁修改車輪轉(zhuǎn)角,提高車輛平穩(wěn)度。
在一個(gè)實(shí)施例中,由于無人車的軟硬件系統(tǒng)會(huì)存在系統(tǒng)時(shí)延,因此為了減少誤差,可以以車輛經(jīng)過系統(tǒng)時(shí)延后的預(yù)測(cè)位置作為車輛位置計(jì)算角度差以提高準(zhǔn)確度。本發(fā)明的無人車橫向控制裝置的另一個(gè)實(shí)施例的示意圖如圖7所示。其中,預(yù)瞄點(diǎn)確定單元701、角度差獲取單元702和轉(zhuǎn)角變化確定單元703的結(jié)構(gòu)和功能與圖6所示的實(shí)施例中相似。無人車橫向控制裝置還包括預(yù)測(cè)點(diǎn)確定單元704,能夠根據(jù)當(dāng)前車輛轉(zhuǎn)彎半徑、當(dāng)前速度和系統(tǒng)時(shí)延確定預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角。在一個(gè)實(shí)施例中,可以獲取車輛當(dāng)前行駛速度、當(dāng)前車輛航向角,結(jié)合配置的系統(tǒng)時(shí)延進(jìn)行計(jì)算。預(yù)瞄點(diǎn)確定單元701從預(yù)定路徑上選擇與車輛位置點(diǎn)的距離在預(yù)定預(yù)瞄距離范圍內(nèi)的多個(gè)點(diǎn)作為預(yù)瞄點(diǎn)。在一個(gè)實(shí)施例中,車輛位置點(diǎn)可以為車輛當(dāng)前位置,也可以為預(yù)測(cè)點(diǎn)位置。角度差獲取單元702能夠獲取經(jīng)過系統(tǒng)時(shí)延后車輛所處的預(yù)測(cè)點(diǎn)位置的預(yù)測(cè)點(diǎn)車輛航向角與各個(gè)預(yù)瞄點(diǎn)處航向角的角度差。轉(zhuǎn)角變化確定單元703能夠確定最小的角度差為車輪轉(zhuǎn)角變化量,將角度差最小的預(yù)瞄點(diǎn)作為唯一預(yù)瞄點(diǎn)。
這樣的裝置能夠先根據(jù)車輛的系統(tǒng)時(shí)延計(jì)算預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角,進(jìn)而以預(yù)測(cè)點(diǎn)位置和預(yù)測(cè)點(diǎn)車輛航向角為基準(zhǔn)計(jì)算角度差,從而彌補(bǔ)了系統(tǒng)時(shí)延造成的影響,提高了角度差計(jì)算的準(zhǔn)確性。
本發(fā)明的無人車橫向控制裝置中角度差獲取單元的一個(gè)實(shí)施例的示意圖如圖8所示。其中,車輪轉(zhuǎn)角確定子單元801能夠根據(jù)預(yù)測(cè)點(diǎn)位置、預(yù)測(cè)點(diǎn)車輛航向角和預(yù)瞄點(diǎn)的位置確定到各個(gè)預(yù)瞄點(diǎn)的車輪轉(zhuǎn)角。曲線距離確定子單元802能夠根據(jù)車輛軸距、車輪轉(zhuǎn)角和當(dāng)前速度確定車輛到各個(gè)預(yù)瞄點(diǎn)的曲線距離。行駛時(shí)間確定子單元803能夠根據(jù)曲線距離和當(dāng)前速度確定從車輛預(yù)測(cè)點(diǎn)位置到各個(gè)預(yù)瞄點(diǎn)的行駛時(shí)間。角度差確定子單元804能夠根據(jù)行駛時(shí)間、當(dāng)前速度、車輪轉(zhuǎn)角確定到各個(gè)預(yù)瞄點(diǎn)的角度差。
這樣的裝置能夠根據(jù)車輛行駛數(shù)據(jù)和車輛自身狀態(tài)數(shù)據(jù)確定角度差,運(yùn)算過程清晰且復(fù)雜度小,提高了計(jì)算效率且降低了對(duì)無人車硬件的要求,有利于提高無人車的反應(yīng)速度,且有利于推廣應(yīng)用。
本發(fā)明的無人車橫向控制裝置的一個(gè)實(shí)施例的效果圖如圖9所示。采用MATLAB進(jìn)行仿真調(diào)試,其中,平滑曲線所示的為規(guī)劃路徑,星形標(biāo)識(shí)所示的為無人車實(shí)際行駛路徑。從對(duì)比可以看出,無人車實(shí)際行駛路徑基本符合規(guī)劃路徑,且更為平滑,從而能夠在保證無人車不會(huì)偏離預(yù)定路徑的同時(shí),避免車輛以固定距離的路徑上的點(diǎn)作為預(yù)瞄點(diǎn)而導(dǎo)致的頻繁修改車輪轉(zhuǎn)角,提高車輛平穩(wěn)度。
本發(fā)明無人車橫向控制裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖如圖10所示。無人車橫向控制裝置包括存儲(chǔ)器1010和處理器1020。其中:存儲(chǔ)器1010可以是磁盤、閃存或其它任何非易失性存儲(chǔ)介質(zhì)。存儲(chǔ)器用于存儲(chǔ)物品三維重建方法的對(duì)應(yīng)實(shí)施例中的指令。處理器1020耦接至存儲(chǔ)器1010,可以作為一個(gè)或多個(gè)集成電路來實(shí)施,例如微處理器或微控制器。該處理器1020用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的指令,能夠?qū)崿F(xiàn)無人車橫向控制,且提高無人車行駛的穩(wěn)定度。
在一個(gè)實(shí)施例中,還可以如圖11所示,無人車橫向控制裝置1100包括存儲(chǔ)器1110和處理器1120。處理器1120通過BUS總線1130耦合至存儲(chǔ)器1110。該無人車橫向控制裝置1100還可以通過存儲(chǔ)接口1140連接至外部存儲(chǔ)裝置1150以便調(diào)用外部數(shù)據(jù),還可以通過網(wǎng)絡(luò)接口1160連接至網(wǎng)絡(luò)或者另外一臺(tái)計(jì)算機(jī)系統(tǒng)(未標(biāo)出)。此處不再進(jìn)行詳細(xì)介紹。
在該實(shí)施例中,通過存儲(chǔ)器存儲(chǔ)數(shù)據(jù)指令,再通過處理器處理上述指令,能夠?qū)崿F(xiàn)無人車橫向控制,且提高無人車行駛的穩(wěn)定度。
在另一個(gè)實(shí)施例中,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,該指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)無人車橫向控制方法的對(duì)應(yīng)實(shí)施例中的方法的步驟。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用非瞬時(shí)性存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
至此,已經(jīng)詳細(xì)描述了本發(fā)明。為了避免遮蔽本發(fā)明的構(gòu)思,沒有描述本領(lǐng)域所公知的一些細(xì)節(jié)。本領(lǐng)域技術(shù)人員根據(jù)上面的描述,完全可以明白如何實(shí)施這里公開的技術(shù)方案。
可能以許多方式來實(shí)現(xiàn)本發(fā)明的方法以及裝置。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的方法以及裝置。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制;盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行修改或者對(duì)部分技術(shù)特征進(jìn)行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請(qǐng)求保護(hù)的技術(shù)方案范圍當(dāng)中。