TW202123031A - 用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 - Google Patents
用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 Download PDFInfo
- Publication number
- TW202123031A TW202123031A TW108144760A TW108144760A TW202123031A TW 202123031 A TW202123031 A TW 202123031A TW 108144760 A TW108144760 A TW 108144760A TW 108144760 A TW108144760 A TW 108144760A TW 202123031 A TW202123031 A TW 202123031A
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- agents
- cost
- collision
- environment
- Prior art date
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/80—Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
- Y02T10/84—Data processing systems or methods, management, administration
Landscapes
- Traffic Control Systems (AREA)
Abstract
一種例如一自主車輛之一主要代理之一電腦系統之運動規劃器使用可重組配碰撞偵測架構硬體以在執行之一運動規劃之前在用於該主要代理之一規劃圖上執行一碰撞評估。對於該規劃圖上表示該主要代理之狀態轉變的邊緣,該系統至少部分地基於該碰撞評估設定與環境中之例如一動態物件之另一代理碰撞的一機率。取決於該主要代理之目標為避開該環境中之一特定動態物件或與之碰撞,該系統接著執行一最佳化以識別所得規劃圖中與該特定動態物件發生一碰撞之一可能性相對低或相對高的一路徑。該系統接著使該主要代理之致動器系統至少部分地基於該最佳化利用可應用的經識別路徑實施一運動規劃。
Description
發明領域
本揭露內容大體上係關於運動規劃,且特定言之係關於便利在具有動態物件之環境中對代理,例如自主車輛或其他機器人代理,進行運動規劃的系統及方法。
發明背景
運動規劃為機器人中之基本問題。運動規劃可用於控制自主車輛之運動或控制其他類型之機器人或機器人之部分(例如,附件)的運動。舉例而言,運動規劃指定一路徑,自主車輛或機器人或其部分可自第一組配狀態(例如,開始姿勢)至目標狀態(例如,結束姿勢)跟隨該路徑,且通常不與操作環境中之任何障礙物碰撞,或與操作環境中之任何物件碰撞之可能性降低。然而,在一些情況下,可能需要與操作環境中之物件互動,以便檢測物件、自物件收集資訊、與物件交換資訊或甚至例如在遊戲中與物件碰撞。通常存在涉及創建運動規劃之四個主要分量:感知、地圖(在本文中亦被稱作運動規劃圖)建構、碰撞偵測及路徑搜尋。每一分量提出在自主車輛或機器人周圍的環境內克服之挑戰,該環境包括靜態物件,且特定言之包括在環境內移動之動態物件。動態障礙物之未來移動亦有可能為未知或不確定的。此類動態物件可與自主車輛或其他類型之機器人之目標相反地移動。因此,對於自主車輛或其他類型之機器人,執行運動規劃以即時地跟上彼等改變以避免碰撞或攔截此類物件從而達成目標狀態係有利的。
發明概要
運動規劃器系統可接收感知資訊,該感知資訊表示主要代理(例如,自主車輛、其他類型之機器人)操作之環境。運動規劃器系統在執行運動規劃之前在用於主要代理之規劃圖上執行碰撞評估,該碰撞評估考慮環境中之其他代理的動作,包括彼等其他代理可如何對主要代理採取之動作作出反應以及對彼此作出反應。
規劃圖之每一邊緣表示主要代理在主要代理之組配空間中自一個狀態至另一狀態之轉變,且具有與該轉變相關聯之固有或操作成本。固有或操作成本可反映主要代理之各種操作參數,諸如燃料及/或能量用量及/或時間。每一邊緣可具有對應於各別固有或操作成本之初始權重。
對於規劃圖上表示主要代理之狀態轉變的邊緣,系統至少部分地基於碰撞評估判定與環境中之動態物件碰撞的機率,且接著基於與動態物件碰撞之機率修改或調整邊緣之初始權重。舉例而言,系統可將成本函數應用於每一邊緣以基於彼邊緣之初始權重(亦即,對應於固有成本之權重)執行數學運算以獲得經修改權重。此可藉由以下操作來進行:基於碰撞機率將額外權重添加至初始經指派權重,使初始經指派權重乘以碰撞機率因數,或應用涉及碰撞機率及對應於固有成本之初始權重的某一其他函數或公式。如本文中所描述,碰撞評估有利地考慮環境中之其他代理對主要代理之動作作出的反應,以及對彼此作出之反應。除了碰撞機率之外,系統可指派獨立於碰撞機率之物件特定成本,諸如物件之相對重要性的成本反映。舉例而言,與人碰撞之成本可指派為顯著高於與樹碰撞之成本。
舉例而言,在主要代理之目標為避免與該主要代理之環境中之動態物件碰撞的實例中,若規劃圖之各別邊緣具有與一或多個動態物件碰撞之相對高各別機率,則系統可將具有相對大正值之權重指派至該等邊緣。若規劃圖之各別邊緣具有與環境中之一或多個動態物件碰撞之相對低各別機率,則系統可將具有相對小正值之權重指派至該等邊緣。系統接著執行最佳化以識別所得規劃圖中有相對低可能性與主要代理操作之環境中之一或多個動態物件碰撞的路徑。系統接著任選地使主要代理之致動器系統至少部分地基於最佳化實施有相對低可能性與此類動態物件碰撞之運動規劃。
亦舉例而言,在主要代理之目標為與該主要代理之環境中之動態物件碰撞的實例中,若規劃圖之各別邊緣具有與一或多個動態物件碰撞之相對高各別機率,則系統可將具有相對低正值之權重指派至該等邊緣,而若規劃圖之各別邊緣具有與環境中之一或多個動態物件碰撞之相對低各別機率,則系統將具有相對高正值之權重指派至該等邊緣。系統接著執行最佳化以識別所得規劃圖中有相對高可能性與主要代理操作之環境中之一或多個動態物件碰撞的路徑。系統接著任選地使主要代理之致動器系統至少部分地基於最佳化實施有相對高可能性與此類動態物件碰撞之運動規劃。
在所揭示實施中,存在網格中之每一邊緣經初始化為「不碰撞」之計算策略。對例如動態物件之其他代理之意圖取樣。舉例而言,可開發每一代理之行為模型,其將代理意圖處理為模型化潛在策略或目標,而非簡單軌跡。潛在策略或目標可呈可經取樣以判定代理將如何對其他代理軌跡作出反應之形式。每一代理之意圖提供軌跡t
,從而產生一組軌跡S 。
對於S中之每一樣本未來軌跡t
:判定網格中與t
碰撞之邊緣(此可並行地進行);且使邊緣之成本遞增以反映碰撞機率(例如,若軌跡之10%與邊緣E碰撞,則E之碰撞機率為10%)。執行最小成本路徑搜尋(在應用包括機率碰撞之成本項之一或多個成本函數之後)以尋找規劃。邊緣之成本不一定必須為邊緣之碰撞機率之線性函數。
在主要代理之目標為避免與特定動態物件碰撞的實例中,運動規劃器執行最佳化以識別所得規劃圖中之路徑,該運動規劃器提供主要代理操作之環境中有相對低可能性與此類動態物件碰撞的主要代理之運動規劃(例如,行進路線)。系統接著使主要代理(例如,自主車輛)之致動器系統至少部分地基於最佳化實施有相對低可能性與一或多個物件碰撞之運動規劃。
在主要代理之目標為與動態物件碰撞的實例中,運動規劃器執行最佳化以識別所得規劃圖中之路徑,該運動規劃器提供在主要代理操作之環境中有相對高可能性與此類動態物件碰撞的主要代理之運動規劃(例如,行進路線)。系統接著使主要代理(例如,自主車輛)之致動器系統至少部分地基於最佳化實施有相對高可能性與一或多個物件碰撞之運動規劃。
描述了一種在基於處理器之系統中操作以經由規劃圖執行運動規劃的運動規劃方法,其中每一規劃圖分別包含多個節點及邊緣,每一節點隱式地或顯式地表示表徵主要代理之狀態的時間及變數,該主要代理在包括一或多個其他代理之環境中操作,且每一邊緣表示各別的一對節點之間的轉變。該方法可概述為包括:對於第一規劃圖中之當前節點,針對分別表示一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡,在邊緣中之任一者與各別軌跡碰撞的情況下判定第一規劃圖之哪些邊緣與各別軌跡碰撞;將成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者;對於第一規劃圖中之數個候選節點中之每一者,候選節點為第一規劃圖中由第一規劃圖之各別單一邊緣直接耦接至第一規劃圖中之當前節點的任何節點,尋找第一規劃圖中自當前節點至目標節點之最小成本路徑,該最小成本路徑自當前節點直接傳遞至各別候選節點且接著傳遞至目標節點,在各別候選節點與目標節點之間沿著對應路徑連續地具有或不具有數個介入節點;在關於該組軌跡中之軌跡尋找候選節點中之每一者之最小成本路徑之後,對於候選節點中之每一者,至少部分地基於跨越所有軌跡與各別候選節點之每一最小成本路徑相關聯的各別成本計算各別值;以及至少部分地基於經計算各別值選擇候選節點中之一者。
將成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者可包括:對於經判定為與至少一個軌跡碰撞之邊緣中之任一者,將各別邊緣之成本增加至相對高量值以反映經判定碰撞,其中該相對高量值相對高於反映至少一個其他邊緣之碰撞之不存在的相對低量值。
將成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者可包括:對於經判定為不與至少一個軌跡碰撞之邊緣中之任一者,將各別邊緣之成本增加至相對高量值以反映碰撞之經判定不存在,其中相對高量值相對高於反映至少一個其他邊緣之碰撞的相對低量值。
該方法可進一步包括:對環境中之其他代理中之至少一者中之每一者取樣以判定其他代理之各別預期軌跡;以及自其他代理中之每一者之經判定各別實際或預期軌跡形成該組軌跡。
方法可進一步包括基於候選節點為第一規劃圖中由第一規劃圖之各別單一邊緣直接耦接至第一規劃圖中之當前節點的任何節點,自第一規劃圖之其他節點選擇第一規劃圖中之候選節點。
至少部分地基於跨越所有軌跡與各別候選節點之每一最小成本路徑相關聯之各別成本計算各別值可包括計算與每一最小成本路徑相關聯之各別成本之平均值,該每一最小成本路徑經由各別候選節點且在存在之情況下經由所有介入節點自當前節點延伸至目標節點。
至少部分地基於經計算各別值選擇候選節點中之一者可包括選擇候選節點中具有為所有經計算值中之最小值之各別計算值的候選節點。
該方法可進一步包括基於候選節點中之選定者更新主要代理之軌跡。
該方法可進一步包括在將成本函數應用於各別邊緣以反映經判定碰撞之前初始化第一規劃圖。初始化第一規劃圖可包括:對於第一規劃圖中之每一邊緣,關於環境中之數個靜態物件中之每一者對邊緣執行碰撞評估以在存在之情況下識別各別邊緣與靜態物件之間的碰撞。初始化第一規劃圖可包括:對於經評估為與靜態物件中之至少一者碰撞的每一邊緣,將成本函數應用於各別邊緣以反映經評估碰撞或自第一規劃圖移除邊緣。初始化第一規劃圖可包括:對於第一規劃圖中之每一節點,計算自該節點至目標節點之成本;以及使經計算成本與各別節點在邏輯上相關聯。
該方法可進一步包括:將候選節點中之選定者指派為第一規劃圖中之新當前節點;對於第一規劃圖中之新當前節點,針對分別表示一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡,在邊緣中之任一者與各別軌跡碰撞的情況下判定第一規劃圖之哪些邊緣與各別軌跡碰撞;將成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者;以及對於第一規劃圖中之數個新候選節點中之每一者,新候選節點為第一規劃圖中由第一規劃圖之各別單一邊緣直接耦接至第一規劃圖中之新當前節點的任何節點,尋找第一規劃圖中自新當前節點至目標節點之最小成本路徑,該最小成本路徑自新當前節點直接傳遞至各別新候選節點且接著傳遞至目標節點,在各別新候選節點與目標節點之間沿著對應路徑連續地具有或不具有數個介入節點;在關於該組軌跡中之軌跡尋找新候選節點中之每一者之最小成本路徑之後,對於新候選節點中之每一者,至少部分地基於跨越所有軌跡與各別新候選節點之每一最小成本路徑相關聯的各別成本計算各別值;以及至少部分地基於經計算各別值選擇新候選節點中之一者。
描述了一種用以經由規劃圖執行運動規劃的基於處理器之系統,其中每一規劃圖分別包含多個節點及邊緣,每一節點隱式地或顯式地表示表徵主要代理之狀態的時間及變數,該主要代理在包括一或多個其他代理之環境中操作,且每一邊緣表示各別的一對節點之間的轉變。系統可概述為包括:至少一個處理器;以及至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令或資料中之至少一者,該等處理器可執行指令或資料在由至少一個處理器執行時使至少一個處理器執行上文概述之方法中之任一種。
描述了一種在運動規劃系統中操作之方法,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖。該方法可概述為包括:對於相對於第一圖中之當前節點的每一可用下一節點,經由至少一個處理器計算經由各別下一節點自當前節點到達目標節點之各別相關聯代表性成本,該各別相關聯代表性成本鑒於基於環境中之一或多個代理中之每一者之非確定性行為對與環境中之一或多個代理碰撞之機率進行的評估反映與經由各別下一節點自當前節點至目標節點之每一可用路徑相關聯的各別代表性成本,該等代理可隨時間改變位置、速度、軌跡、行進路徑或形狀中之任一或多者;基於每一可用下一節點之經計算各別相關聯代表性成本經由至少一個處理器選擇下一節點;以及至少部分地基於選定下一節點經由至少一個處理器命令移動。
計算經由各別下一節點自當前節點到達目標節點之各別相關聯代表性成本可包括:對於當前節點與目標節點之間經由各別下一節點之每一預期路徑,針對當前節點與目標節點之間沿著各別預期路徑的每一邊緣,判定各別相關聯代表性成本;針對當前節點與目標節點之間沿著各別預期路徑之每一邊緣將每一邊緣之經判定各別相關聯代表性成本指派至各別邊緣;至少部分地基於經指派之經判定各別相關聯代表性成本自當前節點與目標節點之間經由各別下一節點之各別預期路徑判定各別下一節點之最小成本路徑;以及將表示經判定最小成本路徑之值指派至各別下一節點。
至少部分地基於經指派之經判定各別相關聯代表性成本自當前節點與目標節點之間經由各別下一節點之各別預期路徑判定各別下一節點之最小成本路徑可包括判定包括自當前節點遍歷(traverse)至各別下一節點之成本的最小成本路徑。
針對當前節點與目標節點之間沿著各別預期路徑的每一邊緣判定各別相關聯代表性成本可包括:針對當前目標與目標節點之間沿著各別預期路徑的每一邊緣,以及基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:鑒於由各別下一節點與每一連續節點之間沿著各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示環境中之一或多個代理中之每一者之非確定性行為的機率函數取樣。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:鑒於由各別下一節點與沿著通向目前節點之各別預期路徑之每一連續節點之間的每一邊緣中之各別者表示的一系列動作,對分別表示環境中之一或多個代理中之每一者之非確定性行為的機率函數取樣,該目前節點為在碰撞風險之評估期間到達之沿著各別預期路徑的另一節點。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:對於代理中之每一者,對分別表示各別代理之非確定性行為的各別機率函數重複取樣。對分別表示各別代理之非確定性行為的各別機率函數重複取樣可包括對各別機率函數重複取樣達多次反覆,該等反覆之總數目至少部分地基於在必須發生命令之前的可用時間量。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:對於代理中之每一者,鑒於由各別下一節點與每一連續節點之間沿著各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示環境中之一或多個代理中之每一者之非確定性行為的機率函數重複取樣。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:對於代理中之每一者,鑒於由各別下一節點與沿著通向目前節點之各別預期路徑之每一連續節點之間的每一邊緣中之各別者表示的一系列動作,對分別表示環境中之一或多個代理中之每一者之非確定性行為的機率函數重複取樣,該目前節點為在碰撞風險之評估期間到達之沿著各別預期路徑的另一節點。碰撞風險之評估涉及對各別預期路徑之遍歷的模擬。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:至少基於環境中之一或多個代理中之每一者的經機率性判定之各別軌跡經由專用風險評估硬體評估碰撞風險,其中各別相關聯代表性成本至少部分地基於經評估碰撞風險。
基於分別表示環境中之一或多個代理中之每一者之非確定性行為的一或多個機率函數評估與環境中之一或多個代理發生碰撞的風險可包括:基於分別表示環境中之一或多個代理中之至少一次要者之非確定性行為的一或多個機率函數評估與環境中之代理發生碰撞的風險,該等代理中之主要者為對其執行運動規劃之代理。
該方法可進一步包括:在計算自當前節點經由各別下一節點到達目標節點之各別相關聯代表性成本之前初始化第一圖。初始化第一圖可包括:執行靜態碰撞評估以識別與環境中之一或多個靜態物件的任何碰撞;對於第一圖中之每一節點,計算自各別節點到達目標節點之各別成本;以及對於第一圖中之每一節點,使到達目標節點之各別經計算成本與各別節點在邏輯上相關聯。
描述了一種用以執行運動規劃的基於處理器之系統,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖。系統可概述為包括:至少一個處理器;以及至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令或資料中之至少一者,該等處理器可執行指令或資料在由至少一個處理器執行時使至少一個處理器執行上文所描述之方法中之任一種。
描述了一種在運動規劃系統中操作之方法,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖以產生主要代理之運動規劃。該方法可概述為包括:將步長計數器T初始化為開始值(T= 0);初始化第一圖;執行模擬,該模擬包含:在第一圖中之當前節點N處而不在第一圖中之目標節點G處開始:對於一或多次取樣反覆,針對環境中之一或多個次要代理中之每一次要代理,自機率函數對在步長計數器自步長計數器之開始值至當前值遞增(T+1,亦即,下一步長)時各別次要代理將採取之動作取樣,該機率函數表示由主要代理採取及由一或多個次要代理採取的動作;判定第一圖之與下一動作碰撞的任何邊緣;對於與下一動作碰撞之任何邊緣,將各別成本函數應用於邊緣以反映碰撞條件之存在;對於直接連接至當前節點之一組節點之在第一圖中之每一節點,計算表示最小成本路徑之值,該最小成本路徑自當前節點至目標節點經由一或多個預期路徑遍歷一或多個路徑,該一或多個預期路徑係經由直接連接至當前節點之各別節點;判定是否執行另一取樣反覆;回應於判定為不執行另一取樣反覆,自直接連接至當前節點之該組節點選擇該組節點中之節點中具有最小成本的節點;使步長計數器遞增(T = T+1);判定模擬是否在目標節點處,回應於模擬不在目標節點處之判定,將選定節點設定為新當前節點,而不命令主要代理,且繼續模擬;回應於模擬在目標節點處之判定,自直接連接至當前節點之該組節點選擇具有最小成本之節點;以及提供選定節點之識別,該選定節點具有最小成本以命令主要代理之移動。
自表示由一或多個次要代理及主要代理採取之動作的機率函數對在步長計數器自步長計數器之開始值至當前值遞增時各別次要代理將採取之動作取樣可包括鑒於由主要代理採取之由直接連接至當前節點之各別節點與每一連續節點之間沿著通向目標節點之路線的每一邊緣中之各別者表示的一系列動作,對表示環境中之一或多個次要代理中之每一者之非確定性行為的機率函數取樣。
鑒於由每一邊緣中之各別者表示的一系列動作對分別表示環境中之一或多個代理中之每一者之非確定性行為的機率函數取樣可包括:對於代理中之每一者,對分別表示各別代理之非確定性行為的各別機率函數重複取樣。
主要代理可為主要自主車輛。該方法可進一步包括:接收表示主要自主車輛操作之環境的感知資訊;以及由主要自主車輛實施所得運動規劃。接收感知資訊可包括接收表示環境中之至少一個動態物件之位置及軌跡的感知資訊。接收感知資訊可包括在運動規劃器處接收感知資訊,該感知資訊係經由主要自主車輛所攜載之一或多個感測器收集且表示環境中之至少一個其他車輛的位置或軌跡。
該方法可進一步包括由物件偵測器自經由一或多個感測器收集之感知資訊識別環境中之至少一第一動態物件。
描述了一種運動規劃系統,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖以產生主要代理之運動規劃。運動規劃系統可概述為包括:至少一個處理器;至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令,該等處理器可執行指令在由至少一個處理器執行時使至少一個處理器執行上文所描述之方法中之任一種。
較佳實施例之詳細說明
在以下描述中,闡述某些特定細節以便提供對各種所揭示實施例之透徹理解。然而,熟習相關技術者將認識到,可在沒有此等特定細節中之一或多者的情況下,或運用其他方法、組件、材料等來實踐實施例。在其他情況下,與電腦系統相關聯之熟知結構、致動器系統及/或通訊網路尚未展示或詳細地描述以避免不必要地混淆對實施例之描述。在其他情況下,未詳細地描述用於產生一或多個物件之感知資料及體積表示形態(representation)以及佔用網格(occupancy grid)及其類似者之建構的熟知電腦視覺方法及技術以避免不必要地混淆對實施例之描述。
除非上下文另外要求,否則在通篇說明書及隨後申請專利範圍中,詞語「包含(comprise)」及其變化形式,諸如「包含(comprises/comprising)」),應視為開放的、包括性的含義,亦即「包括但不限於」。
本說明書通篇中對「一個實施」或「一實施」或「一個實施例」或「一實施例」之提及意謂結合該實施例描述之特定特徵、結構或特性包括於至少一個實施或至少一個實施例中。因此,在本說明書中之不同位置出現的片語「一個實施」或「一實施」或「在一個實施例中」或「在一實施例中」未必全部係指同一實施或同一實施例。另外,可在一或多個實施或實施例中以任何適合的方式組合特定特徵、結構或特性。
除非上下文另外清晰指示,否則如本說明書及所附申請專利範圍中所使用,單數形式「一(a/an)」及「該(the)」包括多個參考物。亦應注意,除非上下文明確規定,否則術語「或」一般以其包括「及/或」之含義而使用。
本說明書通篇中對「主要代理」或「一主要代理」之提及意謂對其制定或產生各別運動規劃之代理(例如,半自主或完全自主車輛、具有或不具有可移動附件之機器人)。本說明書通篇中對「其他代理」或「另一代理」或「次要代理」或「一次要代理」之提及意謂除主要代理以外對其制定或產生各別運動規劃之代理(例如,半自主或完全自主車輛、具有或不具有可移動附件之機器人)。在一些情況下,可針對此等其他或次要代理發生運動規劃之其他實例,但彼等運動規劃不針對主要代理。
本文提供之揭露內容之標題及摘要僅僅係為了方便且不解譯實施例之範疇或含義。
圖1展示根據一個所說明實施例之主要代理(例如,自主車輛、具有或不具有可移動附件之機器人) 102可操作的動態操作環境100。出於簡潔起見,動態操作環境100在本文中被稱作環境。雖然通常關於自主車輛描述,但本文中所描述之各種實施適用於機器人或其部分,例如,可操作以導航環境之機器人及/或具有一或多個可移動附件之機器人。
環境表示主要代理(例如,自主車輛) 102可操作及移動之二維或三維空間。主要代理102可為汽車、飛機、船、無人機或任何其他車輛,或可為另一類型之機器人,該主要代理可自主地或半自主地(亦即,至少部分自主地)操作及沿著由環境100表示之空間中之路線或路徑移動。環境100為車輛操作之二維或三維空間,且不同於車輛之「組配空間」(通常被稱作「C空間」),該組配空間如下文關於圖4A至5B之運動規劃圖所提及且如以下各項中所解釋:2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號,其特此以全文引用之方式併入;以及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 2016/122840號,其亦特此以全文引用之方式併入。組配空間通常係多維的(亦即,大於3個維度)。參考圖1,環境100可包括障礙物碰撞區域。此等障礙物碰撞區域可歸於靜態物件(例如,建築物、樹、岩石等)或動態物件(例如,其他空中或地面車輛、人、動物、滾動岩石、鳥等),該等物件可共同地被稱作環境100中之「代理」或「其他代理」。舉例而言,靜態物件C 108表示不在環境100中移動且在環境100中形成碰撞區域之物件,以使得車輛102有可能在該車輛及靜態物件C 108嘗試同時在環境100內佔據相同空間之情況下與該靜態物件碰撞。在各種實施例中,可存在比圖1中展示之靜態物件更少或額外的靜態物件。
除靜態物件之外,亦可存在動態物件,包括表示以已知/某些軌跡移動之物件的彼等動態物件(例如,下落之磚、滾動之罐)、由有意識的生物(例如,騎腳踏車者、行人、駕駛員、飛行員、鳥等)控制之彼等物件,及由其他自主系統諸如在其他自主車輛或機器人之狀況下控制之彼等物件。歸因於此等動態物件,對運動規劃之挑戰涉及以極快速度執行運動規劃之能力及分析動態物件可如何移動之不確定性的能力。車輛102周圍的環境100可快速改變,且車輛102執行運動規劃以跟上彼等改變係有利的。舉例而言,如圖1中所展示,代理,例如動態物件A 104,當前沿著軌跡110遠離車輛102移動。然而,可存在車輛102需要跟隨或攔截動態物件A 104以便檢測動態物件A 104、自動態物件A 104收集資訊、與動態物件A 104交換資訊或甚至在遊戲中與動態物件A 104碰撞的實例。
相反,如圖1中所展示,動態物件B 112當前沿著軌跡106朝向車輛102移動。可存在車輛102需要避免與動態物件B 112碰撞或避免接近該動態物件以便在無碰撞之情況下到達目標目的地、避免由此碰撞造成損傷或例如在遊戲中避開與動態物件B 112接觸的實例。在一個實施例中,車輛102之目標為在不與動態物件B 112碰撞之情況下最大化時間,使得例如動態物件B 112在與車輛102碰撞之前耗盡燃料。在一個示例實施例中,車輛102之目標為在當前時間與車輛102到達所需目的地或達成特定目標之時間之間或在當前時間與動態物件B 112耗盡燃料之時間之間最小化與動態物件B 112碰撞之機率。可存在比圖1中展示之環境100中之動態物件更少或額外的動態物件。另外,在一些情況下,環境可具有對應於車輛102之範圍的邊界,該範圍可至少部分地取決於可用於車輛102之當前燃料或能量。
雖然圖1說明代表性環境100,但典型環境可包括許多額外代理,包括對應於其他有人操縱及自主載具以及各種其他天然或人工靜態及動態物件及障礙物的物件。本文中所教示之概念可以類似方式用於比所說明環境人口更多的環境。
圖2及以下論述提供呈電腦系統200形式之適合控制器的簡要一般描述,各種所說明運動規劃系統及方法可實施於該電腦系統中。
儘管不需要,但許多實施例將在電腦可執行指令之一般上下文中加以描述,諸如儲存於電腦或處理器可讀媒體上且由可執行碰撞評估及運動規劃操作的電腦或處理器及專用車輛運動規劃硬體執行的應用程式模組、物件或巨集。此類運動規劃操作可包括對規劃圖之邊緣執行碰撞評估,判定及設定碰撞機率,執行最佳化以識別規劃圖中之路徑從而藉由尋找規劃圖內之最小成本路徑及實施此類運動規劃來避免與環境中之物件碰撞或使得與之碰撞。
經由運動規劃器進行運動規劃通常包括碰撞偵測及尋找最小成本路徑。碰撞偵測、最小成本路徑尋找或此二者可例如實施於一或多個場可程式化閘陣列(FPGA)上,從而有利地允許容易的可重組配性。碰撞偵測、最小成本路徑尋找或此二者可例如實施於一或多個特殊應用積體電路(ASIC)上,從而有利地允許快速處理同時仍允許一定的可重組配性。
當表示代理時,車輛(例如,自主車輛或機器人)或環境中之物件(例如,靜態或動態障礙物)可將其表面表示為立體像素(3D像素)或多邊形(通常為三角形)網。每一離散化空間區域被稱為「立體像素」,其等效於3D (體積)像素。在一些狀況下,將物件替代地表示為方框(box) (矩形稜鏡)係有利的。由於物件並非隨機成形,因此在立體像素之組織方式方面可存在大量結構;物件中之許多立體像素在3D空間中彼此緊鄰。因此,將物件表示為方框可能需要少得多的位元(亦即,方框之二個相對拐角可能僅需要x、y、z座標)。另外,對方框進行相交測試之複雜度與對立體像素進行相交測試之複雜度相當。各種其他數據結構可用以表示物件之3D表面,該等數據結構諸如歐幾裏德距離場、二進位空間分割樹等。
在一個實施例中,藉由首先將所有動態物件立體像素(或方框)串流傳輸至處理器(例如,FPGA、ASIC)上來執行碰撞評估。接著自專用於地圖之記憶體串流傳輸用於車輛102之地圖之每一邊緣的邊緣資訊。每一邊緣具有對應於3D空間中之體積的一定數目個立體像素(或方框),該等立體像素當在地圖中進行自一個狀態至由彼邊緣表示之另一狀態的轉變時由車輛102掃掠(sweep)。當在地圖中進行自一個狀態至由彼邊緣表示之另一狀態的轉變時由車輛102掃掠之彼等立體像素或方框儲存於記憶體中以用於地圖之每一邊緣。對於每一邊緣立體像素(或方框),當其自邊緣之掃掠體積串流傳輸時,若其與障礙物立體像素(或方框)中之任一者碰撞,則系統200判定與地圖中之彼邊緣發生碰撞。舉例而言,當邊緣立體像素自地圖之邊緣x之掃掠體積串流傳輸時,若其與障礙物立體像素(或)中之任一者碰撞,則系統注意到與邊緣x碰撞。此實施改良了碰撞評估之技術,此係因為其相比於對規劃圖之所有邊緣並行地執行碰撞評估之其他設計使得大得多的地圖能夠用於碰撞評估。特定言之,此幫助克服了其他設計關於可儲存於晶片電路系統上之有限量之地圖資訊的缺點。然而,使用本文中所描述之碰撞評估方法,晶片上儲存器通常足以儲存所有障礙物方框(但使用立體像素可較少)。此提供將大地圖及/或多個地圖儲存於不太昂貴的晶片外儲存器,例如動態隨機存取記憶體(DRAM)中的能力。
在各種實施中,此類操作可完全在硬體電路系統中執行,或作為儲存在諸如系統記憶體214之記憶體儲存器中且由諸如一或多個微處理器、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)、圖形處理單元(GPU)處理器、程式化邏輯控制器(PLC)、電可程式化唯讀記憶體(EEPROM)之一或多個硬體處理器212a執行的軟體而執行,或作為硬體電路系統與儲存於記憶體儲存器中之軟體的組合而執行。舉例而言,執行最佳化以識別規劃圖中之路徑從而藉由尋找規劃圖內之最小成本路徑來避免與環境中之物件碰撞或使得與之碰撞可由最佳化器292執行。在一個示例實施例中,當路徑最佳化器292藉由硬體實施時,規劃圖之拓樸亦可映射至硬體單元之可重組配網狀架構上以能夠快速判定最小成本路徑。此映射涉及運用每一實體節點之邏輯相鄰者之位址及邊緣權重程式化每一實體節點。此允許架構可重組配為不同規劃圖拓樸。其他實施可使用實施於FPGA上之小型處理器。
在替代實施例中,可由專用運動規劃硬體並行地對用於車輛102之所得規劃圖之邊緣中之每一者執行碰撞評估,該專用運動規劃硬體諸如可重組配碰撞偵測架構及以下各項中所描述之其他實施例:2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號,及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 2016/122840號。舉例而言,此類專用運動規劃硬體之全部或部分可併入於運動規劃器280及碰撞評估器288中或形成運動規劃器280及碰撞評估器288之部分。另外,感知、規劃圖建構、碰撞偵測及路徑搜尋之各種相關態樣之實施亦描述於以下各項中:2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號,及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 2016/122840號。熟習相關技術者將瞭解,所說明實施以及其他實施可用其他系統組配及/或其他計算系統組配加以實踐,包括機器人、手持器件、多處理器系統、基於微處理器或可程式化之消費型電子裝置、個人電腦(「PC」)、網路連接PC、小型電腦、大型電腦及其類似者之組配。實施或其部分(例如,在設計時間、組配時間、預執行階段(pre-runtime))可在分佈式計算環境中加以實踐,在該環境中,任務或模組由經由通訊網路鏈接之遠端處理器件執行。在分佈式計算環境中,程式化模組可位於本端及遠端記憶體儲存器件二者或媒體中。然而,車輛102具有高效計算能力對於允許車輛102即時地對改變之環境作出回應係重要的。對此問題之常見部署解決方案對於效能及電力前端二者失敗。其過慢而無法允許高自由度車輛及機器人實時地對環境作出回應,且使系統擔負對若干CPU或GPU供電。為了解決此問題,展示於圖2之示例實施中的電腦系統200包括具有車輛102上之碰撞評估器288的運動規劃器280,該碰撞評估器使用完全可重定目標之碰撞偵測微架構,諸如FPGA 290。然而,在各種替代實施例中,可使用包括可程式化邏輯區塊陣列及可重組配互連階層之其他可程式化碰撞偵測微架構,諸如ASIC架構。在程式化階段中,碰撞偵測微架構可應用於任何車輛規劃問題。碰撞評估器288可用以達成與特定物件之碰撞避免及/或用以試圖與其他物件之碰撞。將可重組配處理器用作碰撞評估器288有效地移除了設計完全專用於單一車輛/地圖對之限制。最小成本路徑模組允許例如使用分佈式貝爾曼-福特(Bellman-Ford)策略快速計算最小成本路徑。
如上文所提及,一些預處理活動可在執行階段之前執行,且因此,在一些實施例中,此等操作可由遠端處理器件執行,該等遠端處理器件經由網路介面260經由通訊網路鏈接至車輛200。舉例而言,程式化階段允許針對感興趣的問題組配處理器。在此類實施例中,利用廣泛預處理以避免執行階段計算。關於3D空間中之體積的預計算資料被發送至運動規劃器280之碰撞評估器288,該體積當在地圖中進行自一個狀態至由地圖中之邊緣表示之另一狀態的轉變時由車輛102掃掠。地圖之拓樸亦可映射至諸如FPGA 290之計算單元之可重組配網狀架構上,以能夠快速判定最小成本路徑。映射步長包括運用計算單元之可重組配網狀架構之每一實體節點之邏輯相鄰者的位址及邊緣權重程式化每一實體節點。此允許架構以不同地圖拓樸為目標。在執行階段期間,感測器282將感知資料發送至運動規劃器280。感知資料為立體像素或方框(下文更詳細地描述)存在於當前環境中之串流。碰撞評估器288計算哪些運動有可能涉及碰撞且哪些不太可能,且在完成後,結果由規劃最佳化器292用於判定最小成本路徑。此可有利地在不與感測器282或其他外部組件進一步通訊之情況下發生。取決於車輛102之目標為避免抑或試圖與環境中之特定物件碰撞,運動規劃器280基於環境在執行階段期間相應地修改與地圖相關聯之成本。運動規劃器280接著執行及返回通向致動器系統266之所得路徑。圖2展示諸如用於自主車輛102之電腦系統200,該電腦系統包含運動規劃器280及一或多個相關聯非暫時性機器可讀儲存媒體,諸如系統記憶體214及與磁碟機224相關聯之電腦可讀媒體226。相關聯非暫時性電腦或處理器可讀儲存媒體,包括系統記憶體214及與磁碟機224相關聯之電腦可讀媒體226,經由諸如系統匯流排216之一或多個通訊頻道以通訊方式耦接至運動規劃器280。系統匯流排216可採用任何已知匯流排結構或架構,包括具有記憶體控制器之記憶體匯流排、周邊匯流排及/或區域匯流排。一或多個感測器282、物件偵測器284、物件行為預測器286及致動器系統266亦經由系統匯流排216以通訊方式耦接至運動規劃器280。此等組件中之一或多者亦可或替代地經由一或多個其他通訊通道頻道彼此通訊,該等頻道例如能夠進行高速通訊之一或多個並聯電纜、串列電纜或無線網路頻道,例如通用串列匯流排(「USB」) 3.0、周邊組件高速互連(PCIe)或Thunderbolt®
。
電腦系統200亦可以可通訊方式耦接至遠端系統,例如桌上型電腦、膝上型電腦、超攜帶型電腦、平板電腦、智慧型手機、可穿戴電腦(未展示),該等遠端系統以可直接通訊方式耦接或經由網路介面260以可間接通訊方式耦接至電腦系統200之各種組件。在實施中,電腦系統200自身或其一部分可為遠端的。此等遠端系統可用以程式化、組配、控制或以其他方式與電腦系統200及電腦系統200內之各種組件介接或將資料輸入至電腦系統200及電腦系統200內之各種組件。此連接可經由一或多個通訊頻道,例如一或多個廣域網路(WAN),例如使用網際網路協定之網際網路。如上文所提及,預執行階段計算(例如,初始地圖產生)可由與車輛102或其他類型之機器人分離的系統執行,而可對車輛102執行執行階段計算,此係由於系統能夠更新或改變車輛速度以即時或近即時地(微秒)作出反應且對改變之操作環境100作出反應係重要的。
圖2中所展示之各種區塊之建構及操作的一些態樣描述於以下各項中:2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號,及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及/或使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 2016/122840號。結果,此類區塊無需進一步詳細描述,因為其將由熟習相關技術者鑒於以引用之方式併入本文中的參考案而理解。
電腦系統200可包括一或多個處理單元212a、212b (統稱為212)、系統記憶體214及將包括系統記憶體214之各種系統組件耦接至處理單元212的系統匯流排216。處理單元212可為任何邏輯處理單元,諸如一或多個中央處理單元(CPU) 212a、數位信號處理器(DSP) 212b、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)等。代替碰撞評估器288之FPGA 290或除了FPGA 290之外,可使用此類ASIC及FPGA對用於車輛102之規劃圖之邊緣執行碰撞評估。系統記憶體214可包括唯讀記憶體(「ROM」) 218及隨機存取記憶體(「RAM」) 220。基本輸入/輸出系統(「BIOS」) 222可形成ROM 218之部分,其含有幫助諸如在啟動期間在電腦系統200內之元件之間傳送資訊的基本常式。
電腦系統200可包括磁碟機224,該磁碟機可為例如用於自硬碟讀取及寫入至硬碟之硬碟機、用於自快閃記憶體器件讀取及寫入至快閃記憶體器件之快閃記憶體驅動機、用於自可移光碟讀取及寫入至可移光碟之光碟驅動機,或自磁碟讀取及寫入至磁碟之磁碟驅動機。在各種不同實施例中,電腦系統200亦可包括此類磁碟機之任何組合。磁碟機224可經由系統匯流排216與處理單元212通訊。磁碟機224可包括耦接於此類驅動機與系統匯流排216之間的介面或控制器(未展示),如熟習相關技術者已知。磁碟機224及其相關聯電腦可讀媒體226為電腦系統200提供電腦可讀指令、數據結構、程式化模組及其他資料之非依電性儲存。熟習相關技術者應瞭解,可使用可儲存可由電腦存取之資料的其他類型之電腦可讀媒體,諸如WORM驅動機、RAID驅動機、匣式磁帶、數位視訊磁碟(「DVD」)、柏努利匣(柏努利cartridge)、RAM、ROM、智慧卡等。
程式模組可儲存於系統記憶體214中,該等程式模組諸如作業系統236、一或多個應用程式238、其他程式或模組240及程式資料242。應用程式238可包括進行以下操作之指令:使處理器212對對應於環境100之規劃圖之邊緣執行碰撞評估,判定及設定規劃圖之每一邊緣之碰撞機率,執行最佳化以識別規劃圖中之路徑從而避免與環境100中之代理(例如,動態物件B 112)碰撞或使得與之碰撞。用以識別規劃圖中之路徑的最佳化可包括尋找規劃圖內之最小成本路徑。應用程式238可包括接著使處理器212將信號發送至致動器系統266以使車輛102根據如本文中所描述之運動規劃移動的指令。應用程式238可另外包括一或多個機器可讀指令,該一或多個機器可讀指令使處理器212執行如本文中及以引用之方式併入本文中之參考中所描述的感知(經由感測器282)、規劃圖建構、碰撞偵測及路徑搜尋之其他操作。
應用程式238可另外包括進行以下操作之一或多個機器可讀指令:使處理器212自感測器282接收表示車輛102操作之環境100的感知資訊;使運動規劃器280使用碰撞評估器288之可重組配碰撞偵測架構硬體對用於車輛102之所得規劃圖之邊緣中之二者或更多者中的每一者執行碰撞評估;對於所得規劃圖之二個或更多個邊緣中之每一者,至少部分地基於碰撞評估設定碰撞機率;執行最佳化以識別所得規劃圖中有相對高可能性與車輛102操作之環境100中之一或多個其他代理(例如,動態物件A 104)碰撞的路徑;且使致動器系統266至少部分地基於最佳化實施有相對高可能性與車輛102操作之環境100中之一或多個其他代理(例如,動態物件A 104)碰撞的運動規劃。可重組配碰撞偵測架構硬體可為例如FPGA 290。然而,在各種替代實施例中,可使用包括可程式化邏輯區塊陣列及可重組配互連階層之其他可程式化碰撞偵測微架構,諸如ASIC架構。
應用程式238可另外包括一或多個機器可讀指令,該一或多個機器可讀指令使處理器212針對規劃圖至少部分地基於對與車輛102操作之環境100中之一或多個動態物件(104、112)碰撞之機率的評估進行以下操作:若各別邊緣具有與環境100中之一或多個動態物件(104、112)碰撞的相對低各別機率,則將具有等於或大於零之值的權重指派至規劃圖之每一邊緣;若各別邊緣具有與環境100中之一或多個動態物件(104、112)碰撞的相對高各別機率,則將具有小於零之值的權重指派至規劃圖之每一邊緣;以及執行最佳化以識別所得規劃圖中有相對高可能性與車輛102操作之環境100中之一或多個代理,例如動態物件(104、112)碰撞的路徑。
應用程式238可另外包括進行以下操作之一或多個機器可讀指令:使處理器212經由感測器282接收表示車輛102操作之環境100的感知資訊;使運動規劃器280使用碰撞評估器288之可重組配碰撞偵測架構硬體對規劃圖之邊緣中之二者或更多者中的每一者執行碰撞評估;對於規劃圖之二個或更多個邊緣中之每一者,至少部分地基於碰撞評估設定碰撞機率;執行最佳化以識別所得規劃圖中提供車輛102在二維或三維空間中之最長行進路線的路徑,該行進路線由有相對低可能性與車輛102操作之環境100中之一或多個動態物件(例如,動態物件B 112)碰撞的路徑指定;及至少部分地基於最佳化實施有相對低可能性與車輛102操作之環境100中之一或多個動態物件(例如,動態物件B 112)碰撞的運動規劃。
應用程式238可另外包括使處理器212執行本文所描述之各種其他方法的一或多個機器可讀指令,該等方法包括但不限於圖6至13中所說明之方法。
儘管在圖2中展示為儲存於系統記憶體214中,但作業系統236、應用程式238、其他程式/模組240及程式資料242可儲存於磁碟機224之相關聯電腦可讀媒體226上。
處理單元212可為任何邏輯處理單元,諸如一或多個中央處理單元(CPU)、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)等。市售電腦系統之非限制性實例包括但不限於:由美國英特爾®
公司(Intel®
Corporation)提供之Celeron、Core、Core 2、Itanium及Xeon系列微處理器;由美國超微半導體(Advanced Micro Devices)提供之K8、K10、Bulldozer及Bobcat系列微處理器;由美國蘋果電腦(Apple Computer)提供之A5、A6及A7系列微處理器;由美國高通公司(Qualcomm Inc)提供之Snapdragon系列微處理器;以及由美國甲骨文公司(Oracle Corp)提供之SPARC系列微處理器。除非另外描述,否則圖2中所展示之各種區塊之建構及操作具有習知設計。因此,無需在本文中進一步詳細描述此類區塊,如由熟習相關技術者將理解。運動規劃器280之碰撞評估器288之可重組配碰撞偵測架構硬體可為2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880中所描述之此類架構中之一者,諸如為每一邊緣提供具有儲存機構及比較器之「邊緣模組」陣列,該等儲存機構及比較器並聯連接至邏輯閘以執行平行線之輸出之「或」以產生碰撞結果。
圖3為根據一個所說明實施例之展示圖2之電腦系統中之各種組件之間的示例資料流300之方塊圖。諸如攝影機、雷射感測器設備、音訊感測器等併入於主要代理102內或與主要代理102進行可操作通訊之一或多個感測器282收集感知資訊302且將此感知資訊傳達至物件偵測器284以產生環境100之模型。物件偵測器284提取關於諸如環境100中之動態物件A 104及動態物件B 112之代理之所偵測移動的軌跡資訊,且將此軌跡資訊308傳達至物件行為預測器286。至少部分地基於如由軌跡資訊308指示的環境100中之動態物件(104、112)之當前所偵測軌跡,物件行為預測器286產生動態物件(104、112)之一或多個經預測軌跡且將此資訊作為經預測軌跡資訊306之部分傳達至運動規劃器280。舉例而言,若軌跡資訊308指示動態物件A 104當前在朝向特定方向之軌跡上,則物件行為預測器286可預測動態物件A 104有40%機率將繼續其當前軌跡,有60%機率進行其他行為。
各種因素可能影響環境100中之動態物件(104、112)之經預測軌跡之物件行為預測器286的判定。舉例而言,在一些實施中,可指示或判定動態物件(104、112)具有將影響其在環境100內之未來移動的目標。作為一個實例,可指示或判定經偵測為當前在直接遠離主要代理102之軌跡上的動態物件A 104具有遠離(且保持遠離)主要代理102之目標。因此,當預測動態物件A 104之移動時,物件行為預測器286可考慮此點。另一方面,可指示或判定經偵測為當前在直接朝向主要代理102之軌跡上的動態物件B 112具有與主要代理102碰撞之目標。因此,當預測動態物件B 112之移動時,物件行為預測器286可考慮此點。
另外,例如動態物件(104、112)之其他代理之移動可能受主要代理102之軌跡改變影響。因此,物件行為預測器286可在判定動態物件(104、112)之經預測軌跡時考慮主要代理102之當前軌跡中經規劃且尚未實施或執行之改變,且將此資料包括於提供至運動規劃器280之經預測軌跡資訊306中。舉例而言,若指示或判定經偵測為當前在直接朝向主要代理102之軌跡上的動態物件B 112具有與主要代理102碰撞之目標,則可預測若主要代理102改變其軌跡,則動態物件B 112可對其軌跡作出對應改變以追蹤主要代理102。因此,若主要代理102具有在不與動態物件B 112碰撞(亦即,嘗試與主要代理102碰撞)之情況下到達環境100內之目的地的目標,則考慮到在主要代理102改變其到達目的地之軌跡時動態物件B 112可對該動態物件之軌跡作出對應改變以追蹤主要代理102,運動規劃器280能夠規劃通向目的地之路徑以避免與動態物件B 112碰撞。
總體而言,系統藉由使用感測器282之組合及由物件偵測器284及物件行為預測器286執行之處理來執行感知以產生環境100之模型。在一個實施中,感測器282產生佔用網格。佔用網格為表示諸如環境100之環境之離散化視圖中哪些空間區域及時間含有障礙物的資料結構。每一離散化空間區域被稱為等效於3D (體積)像素之「立體像素」。在一些狀況下,將物件替代地表示為方框(矩形稜鏡)係有利的。由環境中之物件界定之空間區域由此類體積表示形態表示,該等物件包括動態物件A 104、動態物件B 112及靜態物件C 108。一或多個動態物件(例如,動態物件A 104及動態物件B 112)之體積表示形態以及相關靜態物件之體積表示形態自物件偵測器284傳達至運動規劃器280。佔用網格之建構描述於一般熟習電腦視覺及感測技術者可用且已知的大量已公佈文獻中。
運動規劃器280自物件偵測器284接收包括動態及靜態物件之體積表示形態的感知資料且自物件行為預測器接收經預測軌跡資訊。運動規劃器280接著沿著規劃圖中與感知資料中之障礙物產生碰撞的每一邊緣調整碰撞機率以考慮經預測軌跡,判定考慮成本及碰撞機率之路徑,且將路徑輸出至計算系統。
運動規劃器可包括硬體處理器及記憶體儲存器作為運動規劃器280內之碰撞評估器288之部分。舉例而言,FPGA 290或其他可程式化邏輯區塊陣列可儲存規劃圖,在本文中亦被稱作「地圖」(參見例如圖4A至5B)。在一些實施中,運動規劃器280包括用以執行碰撞偵測之硬體碰撞偵測電路,諸如FPGA 290。在一些實施中,運動規劃器280包括可重組配碰撞偵測加速度。關於2D或3D空間中當在地圖中進行自一個狀態至由地圖中之邊緣表示之另一狀態的轉變時由主要代理102掃掠之體積的資料可儲存於運動規劃器280之碰撞評估器288之記憶體儲存器處,使得在運動規劃期間,當接收包括經預測軌跡資訊之感知資料時,感知資料由碰撞評估器288之硬體處理器與儲存於碰撞評估器288之記憶體儲存器(或電腦系統200之本端系統記憶體214)中的資料進行比較以判定碰撞。在執行階段操作期間,可基於一或多個變數向規劃圖之邊緣指派資訊。舉例而言,在主要代理102之目標為與動態物件A 104碰撞的狀況下,基於動態物件A 104根據經預測軌跡資訊306朝向之預測,運動規劃器280將產生與動態物件A 104碰撞的主要代理102之運動規劃。為此,碰撞評估器288評估規劃圖中之所有邊緣與動態物件A 104碰撞的可能性。應注意,環境100為主要代理102操作之二維或三維空間,且不同於下文關於圖4A至5B中表示之運動規劃圖所參考的主要代理之「組配空間」。主要代理之組配空間為主要代理102之表徵主要代理之狀態的所有組配之空間,通常為多維空間,例如具有多於三個維度。圖4A至5B中所表示之規劃圖400及500中的邊緣表示主要代理102之組配之間的轉變。規劃圖400之邊緣不必表示笛卡爾座標中之實際移動,但在一些實施例中可如此。規劃圖400之邊緣亦可包括速度改變等。
規劃圖400及500之每一邊緣表示主要代理自一個狀態至另一狀態之轉變,且具有與該轉變相關聯之固有或操作成本。舉例而言,固有或操作成本可與燃料用量、執行相關聯動作之時間、與動作相關聯之磨損及/或其他因素相關。可向每一邊緣指派對應於固有或操作成本之初始權重。
系統至少部分地基於碰撞評估而在執行階段期間調整邊緣之成本以表示與環境中之動態物件(104、112)碰撞的機率。系統可藉由基於碰撞機率修改每一邊緣之初始經指派權重來執行成本調整。舉例而言,系統可將成本函數應用於每一邊緣以基於彼邊緣之初始權重(亦即,對應於固有成本之權重)執行數學運算以獲得經修改權重。此可藉由以下操作來進行:基於碰撞機率將額外權重添加至初始經指派權重,使初始經指派權重乘以碰撞機率因數,或應用涉及碰撞機率及對應於固有成本之初始權重的某一其他函數或公式。
亦可在執行階段期間調整經指派至邊緣之固有或操作成本以反映物件特定成本,該等物件特定成本表示避免碰撞或達成與物件碰撞之相對重要性及/或嚴重性。此等物件特定成本獨立於固有或操作成本且獨立於碰撞機率。舉例而言,與人碰撞相關聯之物件特定成本可設定為顯著高於與無生命物件碰撞相關聯之物件特定成本。
為說明簡單起見,在圖4A至5B中,對應於每一邊緣之固有成本的所有初始權重已設定為零且藉由添加指示碰撞機率之額外成本加以調整。因此,在主要代理102之目標為與環境中之動態物件(諸如動態物件A 104)碰撞的一個實施中,與碰撞機率零組合之初始權重0產生邊緣權重0,而較大碰撞機率產生具有較大負值(亦即,具有較大絕對值之負數)之邊緣權重。在主要代理102之目標為避免與環境中之動態物件(諸如動態物件B 112)碰撞的另一實施中,較大碰撞機率可產生具有較大正值之經調整邊緣權重。
一旦已調整規劃圖之所有邊緣權重,路徑最佳化器292便自規劃圖中所指示的主要代理102之當前位置至主要代理102已耗盡燃料/電力之所有可能最終點執行最小成本路徑演算法。接著由運動規劃器280選擇規劃圖中之最小(最負)路徑。
一旦路徑最佳化器292識別到規劃圖內之路徑,運動規劃器便立即將此經識別路徑310即時地傳達至主要代理102之致動器系統266以產生對應於主要代理102之各種馬達或移動系統的信號,從而使主要代理102之實體移動發生以實施運動規劃。
圖4A為根據一個所說明實施例之圖1之主要代理102在主要代理102之目標為與圖1之可能嘗試避開主要代理102之動態物件A 104碰撞的狀況下之示例運動規劃圖400。規劃圖400包含由邊緣連接之多個節點。舉例而言,節點408b及節點408c由邊緣410a連接。每一節點隱式地或顯式地表示表徵主要代理102在主要代理之組配空間中之狀態的時間及變數。在本實例中,主要代理之組配空間(通常被稱作C空間)為規劃圖400中所表示之主要代理之組配的空間,該等組配表徵主要代理之狀態。規劃圖400中之邊緣表示主要代理102之此等組配之間的轉變。規劃圖400之邊緣不表示笛卡爾座標中之實際移動。舉例而言,每一節點可表示主要代理之組配,該組配可包括但不限於主要代理102之當前位置、姿勢、速度及朝向。在一些實施例中,主要代理102之加速度亦由規劃圖400中之節點表示。
規劃圖400之每一邊緣表示物件102在各別的一對節點之間的轉變。舉例而言,邊緣410a表示諸如主要代理102之物件在二個節點之間的轉變。特定言之,邊緣410a表示主要代理102在與節點408b相關聯之特定組配下的狀態與主要代理102與節點408c相關聯之狀態之間的轉變。舉例而言,主要代理102當前可處於與節點408a相關聯之特定組配中。儘管節點展示為距彼此各種距離,但此僅用於例示性目的,且此與任何實體距離無關且不存在對規劃圖400中之節點數目的限制。然而,在規劃圖400中使用之節點愈多,運動規劃器280能夠根據主要代理102之目標判定最佳路徑愈準確及精確,此係由於存在最小成本路徑所選自之較多路徑。
可存在主要代理102需要跟隨或攔截動態物件A 104以便檢測動態物件A 104、自動態物件A 104收集資訊、與動態物件A 104交換資訊或甚至在遊戲中與動態物件A 104碰撞的實例。圖4A展示規劃圖如何由運動規劃器280使用以在主要代理102之目標為與動態物件A 104碰撞的狀況下識別用於主要代理102之路徑。此時,運動規劃器280已接收表示主要代理102操作之環境100的感知資訊。如上文所描述,碰撞偵測可使用立體像素或方框來表示環境中去往運動規劃器280之物件,包括主要代理102及動態物件A 104。然而,應理解,可使用其他物件表示形態。
在一個實施中,環境離散化成立體像素或方框之3D區域。接著,預計算由環境100中之主要代理102掃掠之每一運動體積與離散化空間中之立體像素或方框之間的所有可能碰撞。此類碰撞評估之實例描述於以下各項中:2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號,及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 2016/122840號。
由於動態物件A 104在環境100中移動,因此運動規劃器280亦基於對動態物件A 104朝向何處之預測針對規劃圖400中之二個或更多個邊緣判定主要代理102與動態物件A 104的碰撞評估。對於規劃圖400之此等邊緣中之每一者,運動規劃器280至少部分地基於碰撞評估在特定將來時間設定主要代理102與動態物件A 104碰撞之機率。舉例而言,根據感知資訊,動態物件A 104被偵測為處於環境100中之特定位置處。基於動態物件A 104之當前軌跡110,運動規劃器280判定動態物件A 104將處於環境100中之特定位置處。對於規劃圖400中之節點,在該等節點之間的直接移動有機率引起與動態物件A 104碰撞之情況下,運動規劃器將權重指派至規劃圖400之在彼等節點之間轉變的邊緣(邊緣410b、410c、410d、410e、410f、410g、410h、410i、410j、410k),該權重指示與動態物件A 104碰撞之機率。在圖4A中所展示之實例中,此標示為圖部分414,但不對應於實體區域。
舉例而言,對於規劃圖400之數個邊緣中與動態物件A 104碰撞之各別機率低於經界定臨限碰撞機率的每一者,運動規劃器280可指派具有等於或大於零之值的權重。在本實例中,運動規劃器280已將權重零指派至規劃圖400中之彼等邊緣,根據動態物件A 104之當前軌跡,該等邊緣不具有與動態物件A 104碰撞之任何(或具有極小)機率。舉例而言,如規劃圖400上所展示,運動規劃器280已將權重零指派至邊緣410a,此係由於根據動態物件A 104之當前軌跡110,不存在(或存在極小)在邊緣410a處與動態物件A 104碰撞之機率。對於規劃圖400之數個邊緣中與環境100中之動態物件A 104碰撞之各別機率高於經界定臨限碰撞機率的每一者,運動規劃器280接著指派具有小於零之值的權重。在本實例中,運動規劃器280已將小於零之權重指派至規劃圖400中之彼等邊緣,根據動態物件A 104之當前軌跡,該等邊緣具有較高機率與動態物件A 104碰撞。用於碰撞機率之特定臨限值可變化。舉例而言,臨限值可為40%、50%、60%或更低或更高的碰撞機率。另外,運動規劃器280指派具有小於零之值的權重可包括指派具有與各別碰撞機率對應之量值的負權重。舉例而言,如規劃圖400中所展示,運動規劃器已將權重-3指派至邊緣410b、410c、410d及410e,但已將具有較低量值-2之負權重指派至邊緣410f,且已將具有較高量值-5之權重指派至邊緣410g。經指派權重無需為整數。
圖4B為根據一個所說明實施例之圖1之主要代理102在主要代理102之目標為與圖1之可能嘗試避開主要代理102之動態物件A 104碰撞的狀況下之示例運動規劃圖400,及在主要代理102之規劃圖400中識別以與動態物件A 104碰撞的示例路徑412 (包括圖400之將節點408a連接至408d的加粗邊緣)。在運動規劃器280至少部分地基於碰撞評估設定主要代理102與動態物件A 104碰撞之機率之後,運動規劃器280執行最佳化以識別所得規劃圖400中有相對高可能性與動態物件A 104碰撞的路徑412。
舉例而言,一旦已如圖4A及4B中所展示指派規劃圖400之所有邊緣權重,運動規劃器280便可自規劃圖400中之主要代理102之當前狀態至主要代理102已耗盡燃料之所有可能最終點執行最小成本路徑演算法。接著由運動規劃器280選擇規劃圖400中之最小(最負)路徑。在本實例中,規劃圖中之主要代理102之當前狀態處於節點408a處,且此最小(最負路徑)描繪為規劃圖400中之路徑412。儘管展示為規劃圖400中具有許多急轉彎之路徑,但此類轉彎並不表示路線中之對應實體轉彎,而是主要代理102之狀態之間的邏輯轉變。舉例而言,經識別路徑412中之每一節點可表示相對於環境100中之主要代理102之實體組配的狀態改變,但未必表示對應於圖4B中所展示之路徑412之角度的主要代理102之朝向改變。
可使用用於判定最小成本路徑之各種程序,包括實施貝爾曼-福特演算法之彼等程序,但可使用其他程序,包括但不限於將最小成本路徑判定為規劃圖400中之二個節點之間的路徑以使該規劃圖之構成邊緣之權重總和最小化的任何此類程序。此程序藉由以下操作來改良例如自主車輛之主要代理之用於與動態物件(104、112)碰撞之運動規劃的技術:使用規劃圖及碰撞偵測以增加尋找與所需物件碰撞之最佳路線的效率及回應時間。另外,一些實施使用識別主要代理102之有相對高可能性與主要代理102操作之環境中之一或多個靜態物件碰撞之路徑的相同程序。在試圖與此類靜態物件碰撞之狀況下,運動規劃器280可對規劃圖400之具有與環境100中之靜態物件碰撞之各別機率的邊緣指派具有大負值之權重。以此方式,當運動規劃器在最佳化期間選擇最小成本路徑時,此等路徑將更可能被選擇。然而,在此等實施中,不需要考慮靜態物件之速度、軌跡或加速度。
在一些實施中,當主要代理102嘗試與動態物件A 104碰撞時,環境中可存在主要代理102應避免與之碰撞的靜態物件。在此狀況下,基於碰撞評估設定規劃圖400之邊緣之碰撞機率包括指派權重(例如,藉由修改/調整初始權重)以相應地避免與此類靜態物件碰撞。舉例而言,對於規劃圖400之數個邊緣中具有與環境100中之靜態物件碰撞之各別機率的每一者,運動規劃器280指派具有無窮大之值的權重。以此方式,當運動規劃器在最佳化期間選擇最小成本路徑時,將避免具有設定為無窮大之邊緣權重的此類路徑,此係由於該等路徑在橫穿情況下將導致與靜態物件碰撞。
運動規劃器280可執行最佳化以識別所得規劃圖400中有最高可能性與沿著主要代理102之整個路線之動態物件A 104碰撞的路徑。在一些實施中,路線之長度可至少部分地由主要代理102何時耗盡燃料/電力來界定。指示主要代理102之「剩餘燃料」的變數可由電腦系統200儲存。在一些實施中,運動規劃器280可執行最佳化以識別所得規劃圖400中有相對高可能性在最短相對時間量內與主要代理102操作之環境中之一或多個物件碰撞的路徑。替代地,在一些實施中,運動規劃器280可執行最佳化以識別所得規劃圖400中具有最長行進持續時間之路徑,該行進持續時間由有相對高可能性與動態物件A 104碰撞之路徑指定。
規劃圖400中之路徑亦可基於動態物件A之軌跡110之改變或預測改變而識別。在動態物件A 104之軌跡110發生每次改變或預測改變時,可即時或近即時地再次執行碰撞評估及最佳化程序。另外,所得規劃圖400可具有或儲存相關聯資料,該資料表示主要代理102及/或動態物件(104、112)之實體或效能約束、主要代理102之加速度、間距、橫搖及偏航,且在一些實施中,亦表示動態物件A 104之加速度、間距、橫搖及偏航。可接著基於此等變數執行用以識別路徑之最佳化。舉例而言,若主要代理動態物件A 104之間距、橫搖及/或偏航改變,則此可指示動態物件A 104之軌跡改變(或產生預測改變)。
圖5A為根據一個所說明實施例之圖1之主要代理102在主要代理102之目標為避免與圖1之接近主要代理102之動態物件B 112碰撞的狀況下之示例運動規劃圖500。類似於規劃圖400,規劃圖500分別包含由邊緣連接之多個節點。每一節點隱式地或顯式地表示表徵主要代理102之狀態的時間及變數。舉例而言,每一節點可表示主要代理之組配,可包括但不限於主要代理102之當前位置、姿勢、速度及朝向。在一些實施例中,主要代理102之加速度亦由規劃圖500中之節點表示。
可存在需要主要代理102避開動態物件B 112以便避免與動態物件B 112碰撞之實例。圖5A展示規劃圖如何由運動規劃器280使用以在主要代理102之目標為避免與動態物件B 112碰撞或避開動態物件B 112及動態物件B 112諸如在遊戲中嘗試與主要代理102碰撞的狀況下識別主要代理102之路徑。此時,運動規劃器280已接收表示主要代理102操作之環境100的感知資訊。如上文所描述,碰撞偵測可使用立體像素或方框來表示環境中之物件,包括動態物件B 112。立體像素或方框亦可用以表示去往運動規劃器280之主要代理102。然而,應理解,可使用其他物件表示形態。在一個實施中,環境離散化成立體像素或方框之3D區域。接著,預計算規劃圖500中由環境100中之主要代理102掃掠之每一運動體積與離散化空間中之立體像素或方框之間的所有可能碰撞。
由於動態物件B 112在環境100中移動,因此運動規劃器280亦基於對動態物件B 112朝向何處之預測針對規劃圖500中之二個或更多個邊緣判定主要代理102與動態物件B 112的碰撞評估。對於規劃圖500之此等邊緣中之每一者,運動規劃器280至少部分地基於碰撞評估在特定將來時間設定主要代理102與動態物件B 112碰撞之機率。舉例而言,根據感知資訊,動態物件B 112被偵測為處於環境100中之特定位置處。基於動態物件B 112之當前軌跡106,運動規劃器280判定動態物件B 112將處於環境100中之特定位置處。對於規劃圖500中之節點,在該等節點之間的直接移動有機率引起與動態物件B 112碰撞之情況下,運動規劃器將權重指派至規劃圖500之在彼等節點之間轉變的邊緣(邊緣510a、510b、510c、510d、510e、510f、510g、510h、510i、510j、510k、510l、510m、510n、510o及510p),該權重指示與動態物件B 112碰撞之機率。在圖5A中所展示之實例中,此標示為圖部分514,但不對應於實體區域。
舉例而言,對於規劃圖500之數個邊緣中與動態物件B 112碰撞之各別機率高於經界定臨限碰撞機率的每一者,運動規劃器280可指派具有大於零之值的權重。在本實例中,運動規劃器280已將權重零指派至規劃圖500中之彼等邊緣,根據動態物件B 112之當前軌跡,該等邊緣不具有與動態物件B 112碰撞之任何(或具有極小)機率。對於規劃圖500之數個邊緣中與環境100中之動態物件B 112碰撞之各別機率高於經界定臨限碰撞機率的每一者,運動規劃器280接著指派具有大於零之值的權重。在本實例中,運動規劃器280已將大於零之權重指派至規劃圖500中之彼等邊緣,根據動態物件B 112之當前軌跡,該等邊緣具有較高機率與動態物件B 112碰撞。用於碰撞機率之特定臨限值可變化。舉例而言,臨限值可為40%、50%、60%或更低或更高的碰撞機率。另外,運動規劃器280指派具有大於零之值的權重可包括指派具有大於零之量值的負權重,該量值與各別碰撞機率對應。舉例而言,如規劃圖500中所展示,運動規劃器已將權重5指派至具有較高碰撞機率之邊緣510f及510i,但已將具有較低量值1之權重指派至邊緣510p及510g,運動規劃器280已將邊緣510p及510g判定為具有低得多的碰撞機率。
圖5B為根據一個所說明實施例之圖1之主要代理102在主要代理102之目標為避免與圖1之接近主要代理之動態物件B 112碰撞的狀況下之示例運動規劃圖500,及在主要代理102之規劃圖500中識別以避免與動態物件B 112碰撞的示例路徑512 (包括圖500之將節點508a連接至508b的加粗邊緣)。在運動規劃器280至少部分地基於碰撞評估設定主要代理102與動態物件B 112碰撞之機率之後,運動規劃器280執行最佳化以識別所得規劃圖500中提供主要代理102之最長行進路線的路徑512,該行進路線由有相對低可能性與動態物件B 112碰撞之路徑指定。
在一個實施中,一旦已如圖5A及5B中所展示指派規劃圖500之所有邊緣權重,運動規劃器280便可執行計算以判定最長行進路線,使得動態物件B 112在與主要代理102碰撞之前將耗盡燃料。舉例而言,一旦已如圖5A及5B中所展示指派規劃圖500之所有邊緣權重,運動規劃器280便可自規劃圖500中之主要代理102之當前狀態至主要代理102已耗盡燃料/電力之所有可能最終點執行最小成本路徑演算法。接著由運動規劃器280選擇規劃圖500中具有最小成本(最接近零)路徑之最長路線(例如,在時間或距離上)。然而,規劃圖500中之最長路線及最小成本(最接近零)路徑常常競爭。在需要最長路線之狀況下,尋找規劃圖500中之最小成本路徑並不具有與選擇具有最小碰撞機率之路徑一樣高的優先級。在本實例中,規劃圖中之主要代理102之當前狀態處於節點508a處,且此路徑描繪為規劃圖500中之路徑512。
在一些實施中,主要代理102可存在到達特定目的地(同時避免與動態物件B 112碰撞)之次要目標。在此狀況下,最佳化可包括自規劃圖500中之主要代理102之當前狀態至所需目的地執行最小成本路徑演算法。在一個實施例中,主要代理102之目標為在不與動態物件B 112碰撞之情況下最大化時間,使得例如動態物件B 112在與主要代理102碰撞之前耗盡燃料。在一個示例實施例中,主要代理102之目標為在當前時間與主要代理102到達所需目的地或達成特定目標之時間之間或在當前時間與動態物件B 112耗盡燃料之時間之間最小化與動態物件B 112碰撞之機率。此程序藉由以下操作來改良用於避免與動態物件(104、112)碰撞之運動規劃的技術:使用規劃圖及碰撞偵測以增加尋找避免與可能試圖與自主主要代理碰撞之動態物件(104、112)碰撞之最佳路線的效率及回應時間。另外,一些實施使用識別主要代理102之與主要代理102操作之環境中之一或多個靜態物件碰撞之可能性為零之路徑的相同程序。在應避免與此類靜態物件碰撞之狀況下,運動規劃器280對規劃圖500之具有與環境100中之靜態物件碰撞之各別機率的數個邊緣中之每一者指派具有無窮大之值的權重。以此方式,當運動規劃器在最佳化期間選擇最小成本路徑時,將避免具有設定為無窮大之邊緣權重的此類路徑,此係由於在橫穿彼邊緣之情況下一定會與靜態物件碰撞。在此等實施中,不考慮靜態物件之速度或軌跡。
在一些實施中,可存在多個其他代理,例如動態物件(104、112),主要代理102具有避開該等其他代理中之一些的目標,且主要代理102具有攔截該等其他代理中之其他者或與之碰撞的目標。在此等實施中,本文中針對用以與動態物件(104、112)碰撞之主要代理102所描述的程序及本文中針對用以避免與動態物件(104、112)碰撞之主要代理102所描述的程序可同時、同步或以其他方式彼此結合地實施。舉例而言,一些物件可經識別為用以碰撞之物件,且其他物件可經識別為用以避免碰撞之物件。運動規劃器280接著執行如本文中所描述之最佳化,相應地考慮對應於動態及靜態物件以及應碰撞抑或避開此類物件之軌跡及感知資訊。在此狀況下,基於碰撞評估設定規劃圖之邊緣之碰撞機率包括指派權重(例如,藉由修改/調整初始權重)以相應地碰撞或避免碰撞。
運動規劃器280可執行最佳化以識別所得規劃圖500中有最低可能性與沿著主要代理102之整個路線之動態物件B 112碰撞的路徑。在一些實施中,路線之長度可至少部分地由主要代理102何時耗盡燃料/電力來界定。指示主要代理102之剩餘燃料或電力的變數可由電腦系統200儲存。在一些實施中,運動規劃器280可執行最佳化以識別所得規劃圖500中具有最長行進持續時間之路徑,該行進持續時間由有相對低可能性與動態物件B 112碰撞之路徑指定。該路徑亦可基於動態物件B 112之軌跡106之改變或預測改變而識別。在動態物件B 112之軌跡106發生每次改變或預測改變時,可即時或近即時地再次執行碰撞評估及最佳化程序。另外,所得規劃圖500可具有資料,該資料表示主要代理及/或動態物件之實體或效能約束、主要代理102之加速度、間距、橫搖及偏航,且在一些實施中亦表示動態物件B 112之加速度、間距、橫搖及偏航。可接著基於此等變數執行用以識別路徑之最佳化。舉例而言,若動態物件B 112之間距、橫搖及/或偏航改變,則此可指示動態物件B 112之軌跡改變(或產生預測改變)。
運動規劃器280可經程式化以用於廣泛範圍之自主車輛及機器人(具有及不具有附件)及預期任務情境。運動規劃器280可針對不同車輛或機器人再使用或再程式化,或運動規劃器280可設計成用於特定車輛或機器人。一種類型之機器人為自主車輛,諸如本文中所描述之自主車輛。
圖6為根據一個所說明實施例之主要代理102 (例如,自主車輛、具有或不具有附件之機器人等)可操作且例如動態物件A 104及動態物件B 112之其他代理具有已知軌跡(例如,分別為tA
110及tB
106)之環境100的示意圖。在此情境下,可考慮環境100中之其他代理之意圖,亦即,該等代理隨時間變化之軌跡,而非僅僅考慮該等代理之目前軌跡而規劃主要代理102之軌跡。此又允許回應於例如動態物件A 104及動態物件B 112之其他代理之改變軌跡對主要代理102之部分進行條件性動作。舉例而言,在主要代理102之環境100中,若個人跑進道路中,則相對於主要代理102之軌跡將採取之動作將取決於該個人持續跑步抑或停止。換言之,知曉代理(例如,在此實例中之個人)之軌跡允許考慮改變情形之方案,而非獨立於環境100中之其他代理可執行之情形而規劃穿過網格之完整路徑。另外,此方法避免對碰撞雙重計數,該雙重計數諸如可在規劃路徑之前將整組軌跡應用於運動圖之邊緣時發生。
圖7為用於圖6之主要代理102的示例運動規劃圖700。在實施例中,網格中之每一節點(例如,n0
、n1
、n2
…)具有相關聯值(亦即,成本),該相關聯值係基於與節點與主要代理102之目標(亦即,最終狀態)之間的網格(例如,c0,4
、c0,5
等)之邊緣相關聯的成本。
藉由執行靜態背景碰撞偵測來初始化網格以尋找與靜態物件(例如,靜態物件C 108)碰撞之邊緣。在此狀況下,可將成本指派(或可將成本函數應用)至已經判定為導致與靜態物件碰撞之邊緣(例如,n14
與n15
之間的邊緣),從而導致成本相對高。舉例而言,成本可設定為無窮大,藉此有效地防止主要代理102之軌跡包括經識別為與靜態物件碰撞之邊緣。在網格之初始化之第二態樣中,基於例如自所討論節點至目標節點(例如,n15
)之最小成本路徑針對每一節點判定至目標之成本。舉例而言,節點n13
之成本可由n13
與n16
之間的邊緣之成本(c13,16
)及n16
與n15
之間的邊緣之成本(c16,15
)判定。
可在時間T=i,在表示為n
(例如,n0
)之節點處開始使用圖7中所描繪之圖700對主要代理102進行運動規劃。如上文所解釋,運動規劃考慮主要代理102之環境100中之其他代理之意圖,例如動態物件(104、112)之意圖。例如使用基於機率函數之行為模型對意圖進行取樣,以產生每一代理Aj
之軌跡t
,從而產生一組軌跡S
。如下文進一步詳細解釋,在個別地將每一軌跡t
應用於圖700時判定最小成本路徑,且接著執行成本之平均化。此與在判定最小成本路徑之前將整組軌跡應用於運動規劃圖之方法形成對比。
對於S
中之每一軌跡t
,關於運動規劃圖700中之哪些邊緣(若存在)與軌跡碰撞,亦即,關於哪些邊緣將導致主要代理102與對應於軌跡t之另一代理碰撞進行判定。例如藉由應用判定與碰撞相關聯之成本的成本函數,諸如導致高值被指派至碰撞中之邊緣的函數來修改此等邊緣之成本值。
在已基於軌跡t
修改圖700之邊緣之成本之後,針對候選節點n'中之每一者,亦即可在單一時間步長內(亦即,在時間T=i+1)自當前節點n
(例如,n0
)到達之節點,計算成本。藉由尋找自當前節點n
(例如,n0
)至目標(例如,n15
)之穿過候選節點n'之最小成本路徑來計算候選節點n'
(例如,n3
、n4
、n5
及n1
)之成本。圖7展示自節點n0
至目標(節點n15
)之穿過候選節點n4
之第一最小成本路徑710及自節點n0
至目標之穿過候選節點n5
之第二最小成本路徑720的實例。在此等實例中,對於軌跡t
,節點n4
之成本將為沿著第一路徑之邊緣的總和(例如,c0,4
、c4,9
、c9,13
、c13,16
、c16,15
)。
以上述方式針對該組軌跡S中之每一軌跡(t1
、t2
、…tm
)計算候選節點n '
之成本,每一軌跡對應於代理Aj
(j
=1至m
),其中m
為其他代理之數目。在該組軌跡S
上使成本平均化以提供每一候選節點n'之平均成本。選擇具有最低平均成本之候選節點n '
作為主要代理之下一節點。因此,在時間T=i
+1,具有最低平均成本之候選節點n '
變成下一時間步長T=i
+2之當前節點n
。此情形繼續,直至主要代理102到達目標節點(例如,n15
),亦即,達成由目標節點表示之狀態。
圖8A為根據一個所說明實施例之展示經由規劃圖識別主要代理之路徑之方法800的流程圖,該等路徑穿過具有最低平均成本之候選節點,該最低平均成本考慮其他代理之已知軌跡。在805處,系統執行靜態背景碰撞偵測。在810處,針對每一節點計算至目標之成本。如上文關於圖7所論述,網格中之每一節點(例如,n0
、n1
、n2
…)具有相關聯值(亦即,成本),該相關聯值係基於與節點與主要代理102之目標(亦即,最終狀態)之間的網格(例如,c0,4
、c0,5
等)之邊緣相關聯的成本。尤其基於與二個節點之間沿著所討論邊緣之移動相關聯的固有成本(例如,燃料及/或能量成本)而判定與網格之邊緣相關聯的成本。在實施中,基於自所討論節點至目標節點(例如,n15
)之最小成本路徑針對每一節點判定至目標之成本。在815處,系統判定主要代理之環境100中之其他代理Aj
的軌跡t
。在820處,對於當前節點n
,亦即運動規劃圖700中之主要代理之當前位置,系統計算一組軌跡S上之每一候選節點n'
之平均成本,如在圖8B及其在下文之對應描述中進一步詳細解釋。在825處,運動規劃圖700中之主要代理102之狀態(例如,姿勢)自節點n
移動至具有最低平均成本之候選節點n'
。在830處,在下一時間步長內使時間遞增且重複方法800。
圖8B為根據一個所說明實施例之展示可用於計算每一候選節點之成本之方法850的流程圖,該成本在圖8A之方法中在一組已知軌跡上平均化(參見區塊820)。在855處,對於t
=1至m
,開始循環以考慮該組軌跡S中之每一軌跡t
,其中m
為軌跡之數目。在860處,在存在之情況下,系統判定運動規劃圖700之哪些邊緣與軌跡t
碰撞。在865處,在存在之情況下,系統將成本函數應用於經判定為與軌跡t
碰撞之邊緣之值。在870處,系統基於自節點n
至目標之穿過各別候選節點n'的最小成本路徑判定每一候選節點n'
之成本。在875處,使識別軌跡之索引t
遞增,且重複方法850,直至所有軌跡皆已被處理。
圖9為根據一個所說明實施例之主要代理102 (例如,自主車輛、具有或不具有附件之機器人等)可操作且主要代理102及其他代理(例如,動態物件A 104及動態物件B 112)具有相互相依軌跡之環境100的示意圖。動態物件(104、112)之軌跡(例如,XA
及XB
)可經機率性模型化。在所揭示實施例中,動態物件A 104及動態物件B 112可對主要代理102及環境中之所有其他代理二者之移動作出反應(包括彼此)。因此,開發每一代理之行為模型,其將代理意圖處理為模型化潛在策略或目標,而非簡單軌跡。潛在策略或目標呈可經取樣以判定代理將如何對其他代理軌跡作出反應之形式。當主要代理102在當前時間T處於節點n
處時,系統試圖判定其他代理在未來將處於何處。首先,基於主要代理的自其開始節點至節點n之路徑且考慮次要代理對主要代理之動作以及所有次要代理之動作的機率反應,向前模擬其他代理之策略直至當前時間T。因此,給定次要代理之機率函數表示主要及次要代理直至當前時間之動作中之至少一些。此產生指示其他代理在當前時間T佔據之空間的結果。此係因為另一代理在當前時間T之位置取決於由所有其他代理及主要代理102遵循直至當前時間T之軌跡。
圖10為用於圖9之主要代理102的示例運動規劃圖1000,其展示第一最小成本路徑1010及第二最小成本路徑1020之實例。根據一個所說明實施例,第二最小成本路徑1020係基於在主要代理102沿著第一最小成本路徑1010自當前節點(例如,n0
)至候選節點(例如,n4
)之經規劃移動之後計算的其他代理之經機率性判定之軌跡而判定。
在實施例中,網格中之每一節點(例如,n0
、n1
、n2
…)具有相關聯值(亦即,成本),該相關聯值係基於與節點與主要代理之目標之間的網格之邊緣相關聯的成本。藉由執行靜態背景碰撞偵測來初始化網格以尋找與靜態物件(例如,靜態物件C 108)碰撞之邊緣。在此狀況下,可將成本指派(或可將成本函數應用)至已經判定為導致與靜態物件碰撞之邊緣(例如,n14
與n15
之間的邊緣),從而導致成本相對高。舉例而言,成本可設定為無窮大,藉此有效地防止主要代理102之軌跡包括經識別為與靜態物件碰撞之邊緣。在網格之初始化之第二態樣中,基於例如自所討論節點至目標節點(例如,n15
)之最小成本路徑針對每一節點判定至目標之成本。
在實施例中,模型化其他代理Aj
,使其各自具有其自身的機率行為模型。對於每一代理Aj
,下一運動規劃步長由所有其他代理及主要代理102自時間T=0起採取之動作的機率函數Xj
給定。機率函數Xj
可基於諸如標準差、方差及處理成本/時間之因素取樣k
次。
可在時間T=0,在表示為n
(例如,n0
)之節點處開始使用圖10中所描繪之圖1000對主要代理102進行運動規劃。對於每一代理Aj
,在存在之情況下,系統判定哪些網格邊緣與正移動至主要代理在時間T=1時將位於之節點的每一代理碰撞。使用成本函數修改碰撞邊緣之值,該成本函數量測經預測實際碰撞之成本,且將高值指派至碰撞中之邊緣。基於經修改邊緣成本,計算每一候選節點n '
(例如,n3
、n4
、n5
及n1
)之值。經由候選節點n '
中之每一者判定自當前節點(例如,n0
)至目標(例如,n15
)之最小成本路徑。
出於規劃之目的,假定主要代理102移動至值最小的候選節點n '
,在圖10中所描繪之實例中,該候選節點為節點n4
。穿過節點n4之最小成本路徑1010可為例如穿過節點n4
、n8
、n12
、n16
且在節點n15
(亦即,該目標)處結束之路徑。如下文進一步詳細解釋,此僅為經規劃路徑,而非運動規劃圖1000中之主要代理102之實際路徑。換言之,此經規劃移動不導致運動指令由運動規劃系統發送至主要代理102。
主要代理102至節點n4
之經規劃移動,亦即假設移動,影響其他代理之路徑,如藉由機率模型判定。此意謂在時間T=0判定之其中主要代理102在節點n0
處的最小成本路徑1010可能不再為時間T=1時之最小成本路徑。在節點n4
為主要代理102之當前節點的假定下重複上文所描述之計算,且自節點n4
判定新最小成本路徑1020,例如穿過節點n9
、n13
、n16
且在目標節點n15
處結束之路徑。重複計算,直至主要代理102之經規劃路線到達目標,例如節點n15
。
在以此方式映射主要代理102之經規劃移動之後,運動規劃圖1000將具有邊緣,該等邊緣之成本已基於經規劃路線而判定,該經規劃路線又係基於用以模型化主要代理之環境中之其他代理的機率函數。判定具有最低值(亦即,成本)之候選節點n'
,且主要代理102自當前節點n0
移動至候選節點n' (例如,n3
、n4
、n5
或n1
)。在運動規劃圖1000中之主要代理102之此實際移動之後,在下一時間步長T=T+1自新當前節點n
(例如,n3
、n4
、n5
或n1
)重複上文所描述之程序。
圖11A為根據一個所說明實施例之展示經由規劃圖識別主要代理102之路徑之方法1100的流程圖,該等路徑穿過具有最低平均成本之候選節點,該最低平均成本考慮主要代理102至目標之經規劃路徑及其他代理之經機率性判定之路徑。在1105處,系統執行靜態背景碰撞偵測,如上文所描述。在1110處,針對運動規劃圖1000之每一節點計算至目標之成本。在1115處,系統針對每一代理Aj
判定後續步長Xj
之機率模型以產生一組模型S
。在1120處,系統基於主要代理102自當前節點n至目標之經規劃路徑及其他代理之經機率性判定之路徑計算每一候選節點n '
之值,如圖11B及其在下文之對應描述中進一步詳細解釋。在1125處,主要代理102自其當前節點n
移動至具有最低值(亦即,成本)之候選節點n'
。在1130處,在下一時間步長T=T+1內重複方法1100。
圖11B為根據一個所說明實施例之展示基於主要代理102至目標之經規劃路徑及其他代理之經機率性判定之路徑計算每一候選節點之值之方法1135的流程圖,該方法適用於圖11A之方法1100 (區塊1120)。在1140處,系統基於其他代理Aj
之基於一組模型S
的經取樣後續步長Xj
判定每一候選節點n '
之值,如圖11C及其在下文之對應描述中進一步詳細解釋。在1142處,系統基於自當前節點n0
至在時間T+1具有最低值之候選節點n'
的移動指定主要代理102之下一經規劃位置。在1144處,若主要代理102尚未在目標節點處,則使時間遞增(在1146處)且在下一時間步長內重複方法1135。若主要代理102處於目標節點處,則處理返回至方法1100 (在區塊1120之後)。
圖11C為根據一個所說明實施例之展示基於邊緣碰撞成本自其他代理Aj
之基於一組機率模型S
的經取樣後續步長Xj
判定下一時間步長T+1處每一候選節點n '
之值之方法1150的流程圖,該方法適用於圖11B之方法1135 (區塊1140)。在1155處,基於每代理之樣本數目p
開始反覆循環。在1160處,基於其他代理之數目j
開始反覆循環。在1165處,系統基於該組模型S
判定代理Aj
之機率下一步長Xj
之第k
個樣本。在1170處,在存在之情況下,系統判定運動規劃圖1000之哪些邊緣在時間T+1與代理Aj
之經判定機率下一步長Xj
碰撞。在1175處,在存在之情況下,系統將成本函數應用於經判定為在時間T+1與代理Aj
之機率下一步長Xj
碰撞之邊緣之值。在1180處,重複其他代理之反覆循環,直至已處理所有其他代理。在1185處,在其他代理之反覆循環已完成j
次之後,重複樣本之反覆循環,直至所有樣本已完成,亦即,k
次。
如上文所解釋,在實施中,代理Aj
之機率行為模型為相互相依的,此係因為每一代理Aj
之軌跡取決於所有其他代理及主要代理之軌跡。因此,所有代理Aj
及主要代理之當前及過去位置作為輸入提供至機率行為模型以判定代理Aj
中之每一者的經預測下一步長Xj
。在此情況下,窗口或歷史或回顧(看back)通常會有一定限制。因此,程序(描繪於圖11C中)之最內循環為用以在重複取樣之前判定所有代理Aj
之經預測下一步長Xj
的循環。以此方式,基於所有代理Aj
及主要代理之相同當前位置執行所有樣本。
前述詳細描述已經由使用方塊圖、示意圖及實例闡述器件及/或程序之各種實施例。就此等方塊圖、示意圖及實例含有一或多個功能及/或操作而言,熟習此項技術者應理解此等方塊圖、流程圖或實例內之每一功能及/或操作可藉由廣泛範圍之硬體、軟體、韌體或其虛擬任何組合個別地及/或共同地實施。在一個實施例中,可經由特殊應用積體電路(ASIC)及/或FPGA實施本發明主題。然而,熟習此項技術者將認識到,本文所揭示之實施例完全或部分地可在各種不同實施中在標準積體電路中實施為在一或多個電腦上運行的一或多個電腦程式(例如,在一或多個電腦系統上運行之一或多個程式)、在一或多個控制器(例如,微控制器)上運行的一或多個程式、在一或多個處理器(例如,微處理器)上運行的一或多個程式、韌體,或其虛擬任何組合,且設計電路系統及/或寫入用於軟體及或韌體之程式碼將根據本發明完全在一般熟習此項技術者之技能內。
熟習此項技術者將認識到,本文中陳述的方法或演算法中之許多可使用額外動作,可省略一些動作,及/或可以不同於所指定次序之次序執行動作。
另外,熟習此項技術者應瞭解,本文中教示之機構能夠以各種形式作為程式產品分佈,且例示性實施例同樣適用而不管用以實際上實施分佈的信號攜載媒體之特定類型。信號攜載媒體之實例包括但不限於以下各者:諸如硬碟機之可記錄型媒體、CD ROM及電腦記憶體。
可組合上述各種實施例以提供其他實施例。本說明書中所提及及/或應用程式資料表中所列之所有一般指派之美國專利申請案公開案、美國專利申請案、外來專利及外來專利申請案以全文引用之方式併入本文中,該等申請案包括但不限於:2018年1月12日提交之題為「用以便利具有動態物件環境中之自主車輛之運動規劃的裝置、方法及物品(APPARATUS, METHOD, AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS)」的美國專利申請案第62/616,783號;2017年6月9日提交之題為「自主車輛之運動規劃及可重組配運動規劃處理器(MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS)」的國際專利申請案第PCT/US2017/036880號;以及2016年1月5日提交之題為「專用機器人運動規劃硬體及其製造及使用方法(SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME)」的國際專利申請公開案第WO 016/122840號。可鑒於以上詳細描述對實施例進行此等及其他改變。一般而言,在以下申請專利範圍中,所用術語不應解釋為將申請專利範圍限於本說明書及申請專利範圍中所揭示之特定實施例,而應解釋為包括所有可能之實施例連同該等申請專利範圍有權要求的等效物之全部範疇。相應地,申請專利範圍不受本揭露內容限制。
100:動態操作環境
102:主要代理/車輛
104:動態物件A
106,110,XA,XB:軌跡
108:靜態物件C
112:動態物件B
200:電腦系統
212a:硬體處理器/處理單元/中央處理單元
212b:處理單元/數位信號處理器
214:系統記憶體
216:系統匯流排
218:唯讀記憶體
220:隨機存取記憶體
222:基本輸入/輸出系統
224:磁碟機
226:電腦可讀媒體
236:作業系統
238:應用程式
240:其他程式/模組
242:程式資料
260:網路介面
266:致動器系統
280:運動規劃器
282:感測器
284:物件偵測器
286:物件行為預測器
288:碰撞評估器
290:場可程式化閘陣列(FPGA)
292:路徑最佳化器
300:資料流
302:感知資訊
306:經預測軌跡資訊
308:軌跡資訊
310:經識別路徑
400,500,700,1000:運動規劃圖
408a,408b,408c,408d,508a,508b,n0
,n1
,n2
,n5
,n6
,n7
,n8
,n9
,n10
,n11
,n12
,n13
,n14
,n15
,n16
:節點
410a,410b,410c,410d,410e,410f,410g,410h,410i,410j,410k,510a,510b,510c,510d,510e,510f,510g,510h,510i,510j,510k,510l,510m,510n,510o,510p:邊緣
412,512:路徑
414,514:圖部分
710,1010:第一最小成本路徑
720,1020:第二最小成本路徑
800,850,1100,1135,1150:方法
820,1120,1140:區塊
n4
:候選節點
在附圖中,相同參考標號標識類似元件或動作。圖式中的元件之大小及相對位置未必係按比例繪製。舉例而言,各種元件之形狀及角度未按比例繪製,且此等元件中之一些經任意放大及定位以改善圖式可讀性。此外,所繪製元件之特定形狀並不意欲傳達關於特定元件之實際形狀的任何資訊,而僅僅已經選擇以易於在附圖中進行辨識。
圖1為根據一個所說明實施例之主要代理(例如,自主車輛、具有或不具有附件之機器人等)可操作之環境的示意圖。
圖2為根據一個所說明實施例之與可在圖1之環境中操作之主要代理(例如,自主車輛、具有或不具有可移動附件之機器人等)相關聯之電腦系統的功能框圖。
圖3為根據一個所說明實施例之展示圖2之電腦系統中之各種組件之間的示例資料流之方塊圖。
圖4A為根據一個所說明實施例之圖1之主要代理在主要代理之目標為與圖1之可能嘗試避開主要代理之動態物件碰撞的狀況下之示例運動規劃圖。
圖4B為根據一個所說明實施例之圖1之主要代理在主要代理之目標為與圖1之可能嘗試避開主要代理之動態物件碰撞的狀況下之示例運動規劃圖,及在主要代理之規劃圖中識別以與動態物件碰撞的示例路徑。
圖5A為根據一個所說明實施例之圖1之主要代理在主要代理之目標為避免與圖1之接近主要代理之動態物件碰撞的狀況下之示例運動規劃圖。
圖5B為根據一個所說明實施例之圖1之主要代理在主要代理之目標為避免與圖1之接近主要代理之動態物件碰撞的狀況下之示例運動規劃圖及在主要代理之規劃圖中識別以避免與動態物件碰撞的示例路徑。
圖6為根據一個所說明實施例之主要代理(例如,自主車輛、具有或不具有附件之機器人等)可操作且其他代理具有已知軌跡之環境的示意圖。
圖7為根據一個所說明實施例之圖6之主要代理的示例運動規劃圖,其展示穿過二個候選節點中之每一者之最小成本路徑的實例,其中成本係基於其他代理之已知軌跡而判定。
圖8A為根據一個所說明實施例之展示經由規劃圖識別主要代理之路徑之方法的流程圖,該等路徑穿過具有最低平均成本之候選節點,該最低平均成本考慮其他代理之已知軌跡。
圖8B為根據一個所說明實施例之展示可用於計算每一候選節點之成本之方法的流程圖,該成本在圖8A之方法中在一組已知軌跡上平均化。
圖9為根據一個所說明實施例之主要代理(例如,自主車輛、具有或不具有附件之機器人等)可操作且主要代理及其他代理具有相互相依軌跡之環境的示意圖。
圖10為根據一個所說明實施例之用於圖9之主要代理的示例運動規劃圖,其展示基於在主要代理沿著第一最小成本路徑自當前節點至候選節點之經規劃移動之後自機率模型計算的其他代理之軌跡而判定之第一最小成本路徑及第二最小成本路徑的實例。
圖11A為根據一個所說明實施例之展示經由規劃圖識別主要代理之路徑之方法的流程圖,該等路徑穿過具有最低平均成本之候選節點,該最低平均成本考慮主要代理至目標之經規劃路徑及其他代理之使用機率模型判定的路徑。
圖11B為根據一個所說明實施例之展示基於主要代理至目標之經規劃路徑及其他代理之自機率模型判定的路徑計算每一候選節點之值之方法的流程圖,該方法適用於圖11A之方法。
圖11C為根據一個所說明實施例之展示基於邊緣碰撞成本自基於機率模型的其他代理之經取樣後續步長判定下一時間步長處每一候選節點之值之方法的流程圖,該方法適用於圖11B之方法。
100:動態操作環境
102:主要代理/車輛
104:動態物件A
106,110:軌跡
108:靜態物件C
112:動態物件B
Claims (66)
- 一種在一基於處理器之系統中操作以經由規劃圖執行運動規劃的運動規劃方法,其中每一規劃圖分別包含多個節點及邊緣,每一節點隱式地或顯式地表示表徵一主要代理之一狀態的時間及變數,該主要代理在包括一或多個其他代理之一環境中操作,且每一邊緣表示各別的一對該等節點之間的一轉變,該方法包含: 對於一第一規劃圖中之一當前節點, 針對分別表示該一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡, 在該第一規劃圖之該等邊緣中之任一者與各別軌跡碰撞的情況下,判定哪些邊緣與該各別軌跡碰撞; 將一成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者; 對於該第一規劃圖中之數個候選節點中之每一者,該等候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該當前節點的任何節點,尋找該第一規劃圖中自該當前節點至一目標節點之一最小成本路徑,該最小成本路徑自該當前節點直接傳遞至各別候選節點且接著傳遞至該目標節點,在該各別候選節點與該目標節點之間沿著一對應路徑連續地具有或不具有數個介入節點; 在關於該組軌跡中之該等軌跡尋找該等候選節點中之每一者之該最小成本路徑之後, 對於該等候選節點中之每一者,至少部分地基於跨越所有該等軌跡與該各別候選節點之每一最小成本路徑相關聯的一各別成本計算一各別值;以及 至少部分地基於經計算各別值選擇該等候選節點中之一者。
- 如請求項1之運動規劃方法,其中將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者包括: 對於經判定為與至少一個軌跡碰撞之該等邊緣中之任一者,將該各別邊緣之一成本增加至一相對高量值以反映該經判定碰撞,其中該相對高量值相對高於一相對低量值,該相對低量值反映至少一個其他邊緣之碰撞之一不存在。
- 如請求項1之運動規劃方法,其中將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者包括: 對於經判定為不與至少一個軌跡碰撞之該等邊緣中之任一者,將該各別邊緣之一成本增加至一相對高量值以反映碰撞之經判定不存在,其中該相對高量值相對高於一相對低量值,該相對低量值反映至少一個其他邊緣之一碰撞。
- 如請求項1之運動規劃方法,其進一步包含: 對於該環境中之該等其他代理中之至少一者中的每一者,取樣以判定該其他代理之各別預期軌跡;以及 自該等其他代理中之每一者之經判定各別實際或預期軌跡形成該組軌跡。
- 如請求項1之運動規劃方法,其進一步包含: 基於該等候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該當前節點的任何節點,自該第一規劃圖之該等其他節點選擇該第一規劃圖中之該等候選節點。
- 如請求項1之運動規劃方法,其中至少部分地基於跨越所有該等軌跡與該各別候選節點之每一最小成本路徑相關聯之一各別成本計算一各別值包括計算與每一最小成本路徑相關聯之該各別成本之平均值,該每一最小成本路徑經由該各別候選節點且在存在之情況下經由所有該等介入節點自該當前節點延伸至該目標節點。
- 如請求項1之運動規劃方法,其中至少部分地基於經計算各別值選擇該等候選節點中之一者包括選擇該等候選節點中具有為所有經計算值中之最小值之各別計算值的該候選節點。
- 如請求項1之運動規劃方法,其進一步包含:基於該等候選節點中之選定者更新該主要代理之一軌跡。
- 如請求項1之方法,其進一步包含: 在將該成本函數應用於該等各別邊緣以反映該等經判定碰撞之前初始化該第一規劃圖。
- 如請求項9之方法,其中初始化該第一規劃圖包括: 對於該第一規劃圖中之每一邊緣,關於該環境中之數個靜態物件中之每一者對該邊緣執行一碰撞評估以在存在之情況下識別該各別邊緣與該等靜態物件之間的碰撞。
- 如請求項10之方法,其中初始化該第一規劃圖進一步包括: 對於經評估為與該等靜態物件中之至少一者碰撞的每一邊緣,將一成本函數應用於該各別邊緣以反映經評估碰撞或自該第一規劃圖移除該邊緣。
- 如請求項9至11中任一項之方法,其中初始化該第一規劃圖進一步包括: 對於該第一規劃圖中之每一節點,計算自該節點至該目標節點之一成本;以及 使經計算成本與各別節點在邏輯上相關聯。
- 如請求項1至11中任一項之方法,其進一步包含: 將該等候選節點中之該選定者指派為該第一規劃圖中之一新當前節點; 對於一第一規劃圖中之該新當前節點, 針對分別表示該一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡, 在該第一規劃圖之該等邊緣中之任一者與該各別軌跡碰撞的情況下,判定哪些邊緣與該各別軌跡碰撞; 將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者;以及 對於該第一規劃圖中之數個新候選節點中之每一者,該等新候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該新當前節點的任何節點,尋找該第一規劃圖中自該新當前節點至一目標節點之一最小成本路徑,該最小成本路徑自該新當前節點直接傳遞至各別新候選節點且接著傳遞至該目標節點,在該各別新候選節點與該目標節點之間沿著一對應路徑連續地具有或不具有數個介入節點; 在關於該組軌跡中之該等軌跡尋找該等新候選節點中之每一者之該最小成本路徑之後, 對於該等新候選節點中之每一者,至少部分地基於跨越所有該等軌跡與該各別新候選節點之每一最小成本路徑相關聯的一各別成本計算一各別值;以及 至少部分地基於經計算各別值選擇該等新候選節點中之一者。
- 一種用以經由規劃圖執行運動規劃的基於處理器之系統,其中每一規劃圖分別包含多個節點及邊緣,每一節點隱式地或顯式地表示表徵一主要代理之一狀態的時間及變數,該主要代理在包括一或多個其他代理之一環境中操作,且每一邊緣表示各別的一對該等節點之間的一轉變,該系統包含: 至少一個處理器;以及 至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令或資料中之至少一者,該等處理器可執行指令或資料在由該至少一個處理器執行時使該至少一個處理器進行以下操作: 對於一第一規劃圖中之一當前節點, 針對分別表示該一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡, 在該第一規劃圖之該等邊緣中之任一者與各別軌跡碰撞的情況下,判定哪些邊緣與該各別軌跡碰撞; 將一成本函數應用於各別邊緣中之一或多者以反映經判定碰撞或其不存在中之至少一者; 對於該第一規劃圖中之數個候選節點中之每一者,該等候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該當前節點的任何節點,尋找該第一規劃圖中自該當前節點至一目標節點之一最小成本路徑,該最小成本路徑自該當前節點直接傳遞至各別候選節點且接著傳遞至該目標節點,在該各別候選節點與該目標節點之間沿著一對應路徑連續地具有或不具有數個介入節點; 在關於該組軌跡中之該等軌跡尋找該等候選節點中之每一者之該最小成本路徑之後, 對於該等候選節點中之每一者,計算表示跨越所有該等軌跡與該各別候選節點之每一最小成本路徑相關聯之一各別成本之一平均值的一各別值;以及 至少部分地基於經計算各別值選擇該等候選節點中之一者。
- 如請求項14之基於處理器之系統,其中為了將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者,該至少一個處理器進行以下操作: 對於經判定為與至少一個軌跡碰撞之該等邊緣中之任一者,將該各別邊緣之一成本增加至一相對高量值以反映該經判定碰撞,該相對高量值相對高於一相對低量值,該相對低量值反映至少一個其他邊緣之不存在一碰撞。
- 如請求項14之基於處理器之系統,其中為了將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者,該至少一個處理器進行以下操作: 對於經判定為不與至少一個軌跡碰撞之該等邊緣中之任一者,將該各別邊緣之一成本增加至一相對高量值以反映碰撞之經判定不存在,該相對高量值相對高於一相對低量值,該相對低量值反映至少一個其他邊緣之一碰撞。
- 如請求項14之基於處理器之系統,其中該至少一個處理器進一步進行以下操作: 對於該環境中之該等其他代理中之至少一者中的每一者,對該等其他代理之意圖取樣以判定該其他代理之各別預期軌跡;以及 自該等其他代理中之每一者之經判定各別實際或預期軌跡形成該組軌跡。
- 如請求項14之基於處理器之系統,其中該至少一個處理器進一步進行以下操作: 基於該等候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該當前節點的任何節點,自該第一規劃圖之該等其他節點選擇該第一規劃圖中之該等候選節點。
- 如請求項14之基於處理器之系統,其中為了至少部分地基於跨越所有該等軌跡與該各別候選節點之每一最小成本路徑相關聯之一各別成本計算一各別值,該至少一個處理器計算與每一最小成本路徑相關聯之該各別成本之平均值,該每一最小成本路徑經由該各別候選節點且在存在之情況下經由所有該等介入節點自該當前節點延伸至該目標節點。
- 如請求項14之基於處理器之系統,其中為了至少部分地基於經計算各別值選擇該等候選節點中之一者,該至少一個處理器選擇該等候選節點中具有為所有經計算值中之最小值之各別計算值的該候選節點。
- 如請求項14之基於處理器之系統,其中該至少一個處理器進一步進行以下操作:基於該等候選節點中之選定者更新該主要代理之一軌跡。
- 如請求項14之基於處理器之系統,其中該至少一個處理器進一步進行以下操作: 在將該成本函數應用於該等各別邊緣以反映該等經判定碰撞之前初始化該第一規劃圖。
- 如請求項22之基於處理器之系統,其中為了初始化該第一規劃圖,該至少一個處理器進行以下操作: 對於該第一規劃圖中之每一邊緣,關於該環境中之數個靜態物件中之每一者對該邊緣執行一碰撞評估以在存在之情況下識別該各別邊緣與該等靜態物件之間的碰撞。
- 如請求項23之基於處理器之系統,其中為了初始化該第一規劃圖,該至少一個處理器進一步進行以下操作: 對於經評估為與該等靜態物件中之至少一者碰撞的每一邊緣,將一成本函數應用於該各別邊緣以反映經評估碰撞或自該第一規劃圖移除該邊緣。
- 如請求項22至24中任一項之基於處理器之系統,其中為了初始化該第一規劃圖,該至少一個處理器進一步進行以下操作: 對於該第一規劃圖中之每一節點,計算自該節點至該目標節點之一成本;以及 使經計算成本與各別節點在邏輯上相關聯。
- 如請求項14至24中任一項之方法,其中該至少一個處理器進一步進行以下操作: 將該等候選節點中之該選定者指派為該第一規劃圖中之一新當前節點; 對於一第一規劃圖中之該新當前節點, 針對分別表示該一或多個其他代理中之至少一者之實際或預期軌跡的一組軌跡中之每一軌跡, 在該第一規劃圖之該等邊緣中之任一者與該各別軌跡碰撞的情況下,判定哪些邊緣與該各別軌跡碰撞; 將一成本函數應用於該等各別邊緣中之一或多者以反映該經判定碰撞或其不存在中之至少一者;以及 對於該第一規劃圖中之數個新候選節點中之每一者,該等新候選節點為該第一規劃圖中由該第一規劃圖之一各別單一邊緣直接耦接至該第一規劃圖中之該新當前節點的任何節點,尋找該第一規劃圖中自該新當前節點至一目標節點之一最小成本路徑,該最小成本路徑自該新當前節點直接傳遞至各別新候選節點且接著傳遞至該目標節點,在該各別新候選節點與該目標節點之間沿著一對應路徑連續地具有或不具有數個介入節點; 在關於該組軌跡中之該等軌跡尋找該等新候選節點中之每一者之該最小成本路徑之後, 對於該等新候選節點中之每一者,至少部分地基於跨越所有該等軌跡與該各別新候選節點之每一最小成本路徑相關聯的一各別成本計算一各別值;以及 至少部分地基於經計算各別值選擇該等新候選節點中之一者。
- 一種在一運動規劃系統中操作之方法,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖,該方法包含: 對於相對於一第一圖中之一當前節點的每一可用下一節點,經由至少一個處理器計算經由各別下一節點自該當前節點到達一目標節點之一各別相關聯代表性成本,該各別相關聯代表性成本鑒於基於一環境中之一或多個代理中之每一者之一非確定性行為對與該環境中之該一或多個代理碰撞之一機率進行的一評估反映與經由該各別下一節點自該當前節點至該目標節點之每一可用路徑相關聯的一各別代表性成本,該等代理可隨時間改變一位置、一速度、一軌跡、一行進路徑或一形狀中之任一或多者; 基於每一可用下一節點之經計算各別相關聯代表性成本經由至少一個處理器選擇一下一節點;以及 至少部分地基於選定下一節點經由至少一個處理器命令一移動。
- 如請求項27之方法,其中計算經由該各別下一節點自該當前節點到達一目標節點之一各別相關聯代表性成本包含: 對於該當前節點與該目標節點之間經由該各別下一節點之每一預期路徑, 針對該當前節點與該目標節點之間沿著各別預期路徑的每一邊緣, 判定一各別相關聯代表性成本; 針對該當前節點與該目標節點之間沿著該各別預期路徑之每一邊緣將每一邊緣之經判定各別相關聯代表性成本指派至各別邊緣; 至少部分地基於經指派之經判定各別相關聯代表性成本自該當前節點與該目標節點之間經由該各別下一節點之該等各別預期路徑判定該各別下一節點之一最小成本路徑;以及 將表示經判定最小成本路徑之一值指派至該各別下一節點。
- 如請求項28之方法,其中至少部分地基於該等經指派之經判定各別相關聯代表性成本自該當前節點與該目標節點之間經由該各別下一節點之該等各別預期路徑判定該各別下一節點之一最小成本路徑包含:判定包括自該當前節點遍歷至該各別下一節點之一成本的一最小成本路徑。
- 如請求項29之方法,其中針對該當前節點與該目標節點之間沿著該各別預期路徑的每一邊緣判定一各別相關聯代表性成本包含: 針對當前目標與該目標節點之間沿著該各別預期路徑的每一邊緣,以及 基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 鑒於由該各別下一節點與每一連續節點之間沿著該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個代理中之每一者之該非確定性行為的該等機率函數取樣。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 鑒於由該各別下一節點與每一連續節點之間沿著通向一目前節點之該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個代理中之每一者之該非確定性行為的該等機率函數取樣,該目前節點為在碰撞之該風險之該評估期間到達之沿著該各別預期路徑的一另一節點。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 對於該等代理中之每一者,對分別表示各別代理之該非確定性行為的各別機率函數重複取樣。
- 如請求項33之方法,其中該對分別表示該各別代理之該非確定性行為的該各別機率函數重複取樣包括對該各別機率函數重複取樣達多次反覆,該等反覆之一總數目至少部分地基於在必須發生該命令之前的一可用時間量。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 對於該等代理中之每一者,鑒於由該各別下一節點與每一連續節點之間沿著該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個代理中之每一者之該非確定性行為的該等機率函數重複取樣。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 對於該等代理中之每一者,鑒於由該各別下一節點與每一連續節點之間沿著通向一目前節點之該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個代理中之每一者之該非確定性行為的該等機率函數重複取樣,該目前節點為在碰撞之該風險之該評估期間到達之沿著該各別預期路徑的一另一節點。
- 如請求項30之方法,其中碰撞之該風險之該評估涉及對該等各別預期路徑之遍歷的模擬。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含: 至少基於該環境中之該一或多個代理中之每一者的一經機率性判定之各別軌跡經由專用風險評估硬體評估碰撞之一風險,其中該等各別相關聯代表性成本至少部分地基於碰撞之經評估風險。
- 如請求項30之方法,其中基於分別表示該環境中之一或多個代理中之每一者之該非確定性行為的一或多個機率函數評估與該環境中之該一或多個代理發生一碰撞的一風險包含:基於分別表示該環境中之一或多個代理中之至少一次要者之該非確定性行為的一或多個機率函數評估與該環境中之該等代理發生一碰撞的一風險,該等代理中之主要者為對其執行運動規劃之一代理。
- 如請求項27之方法,其進一步包含: 在計算自該當前節點經由該各別下一節點到達一目標節點之一各別相關聯代表性成本之前初始化該第一圖。
- 如請求項40之方法,其中初始化該第一圖包含: 執行一靜態碰撞評估以識別與該環境中之一或多個靜態物件的任何碰撞; 對於該第一圖中之每一節點,計算自各別節點到達一目標節點之一各別成本;以及 對於該第一圖中之每一節點,使到達一目標節點之各別經計算成本與該各別節點在邏輯上相關聯。
- 一種用以執行運動規劃的基於處理器之系統,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖,該系統包含: 至少一個處理器;以及 至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令或資料中之至少一者,該等處理器可執行指令或資料在由該至少一個處理器執行時使該至少一個處理器進行以下操作: 對於相對於一第一圖中對其執行該運動規劃之一主要代理之一當前節點的每一可用下一節點,計算經由各別下一節點自該當前節點到達一目標節點之一各別相關聯代表性成本,該各別相關聯代表性成本鑒於基於一環境中之一或多個其他代理中之每一者之一非確定性行為對該主要代理與該環境中之該一或多個其他代理碰撞之一機率進行的一評估反映與經由該各別下一節點自該當前節點至該目標節點之每一可用路徑相關聯的一各別代表性成本,該非確定性行為包含隨時間改變一位置、一速度、一軌跡、一行進路徑或一形狀中之任一或多者; 基於每一可用下一節點之經計算各別相關聯代表性成本選擇一下一節點;以及 至少部分地基於選定下一節點命令一移動。
- 如請求項42之基於處理器之系統,其中為了計算經由該各別下一節點自該當前節點到達一目標節點之一各別相關聯代表性成本,該至少一個處理器進行以下操作: 對於至少包含該當前節點與該目標節點之間沿著任何預期路徑之該等邊緣的一組該等邊緣,判定該等邊緣中之每一者之一各別相關聯代表性成本; 將每一邊緣之經判定各別相關聯代表性成本指派至該組邊緣中之各別邊緣; 至少部分地基於經指派之經判定各別相關聯代表性成本自該當前節點與該目標節點之間經由該各別下一節點之各別預期路徑判定該各別下一節點之一最小成本路徑;以及 將表示經判定最小成本路徑之一值指派至該各別下一節點。
- 如請求項43之系統,其中為了至少部分地基於該等經指派之經判定各別相關聯代表性成本自該當前節點與該目標節點之間經由該各別下一節點之該等各別預期路徑判定該各別下一節點之一最小成本路徑,該至少一個處理器判定包括自該當前節點遍歷至該各別下一節點之一成本的一最小成本路徑。
- 如請求項43之系統,其中為了判定該組邊緣中之每一邊緣之一各別相關聯代表性成本,該至少一個處理器基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞之一風險。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 鑒於由該各別下一節點與每一連續節點之間沿著該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的該等機率函數取樣。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 鑒於由該各別下一節點與每一連續節點之間沿著通向一目前節點之該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的該等機率函數取樣,該目前節點為在碰撞之該風險之該評估期間到達之沿著該各別預期路徑的一另一節點。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 對於該一或多個其他代理中之每一者,對分別表示各別代理之該非確定性行為的各別機率函數重複取樣。
- 如請求項48之系統,其中為了對分別表示該各別代理之該非確定性行為的該等各別機率函數重複取樣,該至少一個處理器對該各別機率函數重複取樣達多次反覆,該等反覆之一總數目至少部分地基於在必須發生該命令之前的一可用時間量。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 對於該一或多個其他代理中之每一者,鑒於由該各別下一節點與每一連續節點之間沿著該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的該等機率函數重複取樣。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 對於該一或多個其他代理中之每一者,鑒於由該各別下一節點與每一連續節點之間沿著通向一目前節點之該各別預期路徑的每一邊緣中之各別者表示的一系列動作,對分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的該等機率函數重複取樣,該目前節點為在碰撞之該風險之該評估期間到達之沿著該各別預期路徑的一另一節點。
- 如請求項45之系統,其中碰撞之該風險之該評估涉及對該等各別預期路徑之遍歷的模擬。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 至少基於該環境中之該一或多個其他代理中之每一者的一經機率性判定之各別軌跡經由專用風險評估硬體評估碰撞之一風險,其中該等各別相關聯代表性成本至少部分地基於碰撞之經評估風險。
- 如請求項45之系統,其中為了基於分別表示該環境中之該一或多個其他代理中之每一者之該非確定性行為的一或多個機率函數評估該主要代理與該環境中之該一或多個其他代理發生一碰撞的一風險,該至少一個處理器進行以下操作: 至少基於該環境中之該一或多個其他代理中之每一者的一經機率性判定之各別軌跡經由專用風險評估硬體評估碰撞之一風險,其中該等各別相關聯代表性成本至少部分地基於碰撞之經評估成本。
- 如請求項42之系統,其中該至少一個處理器進一步進行以下操作: 在計算自該當前節點經由該各別下一節點到達一目標節點之一各別相關聯代表性成本之前初始化該第一圖。
- 如請求項55之系統,其中為了初始化該第一圖,該至少一個處理器進行以下操作: 執行一靜態碰撞評估以識別該主要代理與該環境中之一或多個靜態物件的任何碰撞; 對於該第一圖中之每一節點,針對各別節點計算到達一目標節點之一各別成本;以及 對於該第一圖中之每一節點,使到達一目標節點之各別經計算成本與該各別節點在邏輯上相關聯。
- 一種在一運動規劃系統中操作之方法,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖以產生一主要代理之一運動規劃,該方法包含: 將一步長計數器(T)初始化為一開始值(T= 0); 初始化一第一圖; 執行一模擬,該模擬包含: 在該第一圖中之一當前節點(N)處而不在該第一圖中之一目標節點(G)處開始: 對於一或多次取樣反覆, 針對一環境中之一或多個次要代理中之每一次要代理,自一機率函數對在該步長計數器自該步長計數器之該開始值至一當前值遞增(T+1,亦即,下一步長)時各別次要代理將採取之一動作取樣,該機率函數表示由該主要代理採取及由該一或多個次要代理採取的動作; 判定該第一圖之與下一動作碰撞的任何邊緣; 對於與該下一動作碰撞之任何邊緣,將一各別成本函數應用於該邊緣以反映一碰撞條件之一存在; 對於直接連接至該當前節點之一組節點之在該第一圖中之每一節點,計算表示一最小成本路徑之一值,該最小成本路徑自該當前節點至該目標節點經由一或多個預期路徑遍歷一或多個路徑,該一或多個預期路徑係經由直接連接至該當前節點之各別節點; 判定是否執行另一取樣反覆; 回應於判定為不執行另一取樣反覆, 自直接連接至該當前節點之該組節點選擇該組節點中之該等節點中具有一最小成本的該節點; 使該步長計數器遞增(T = T+1); 判定模擬是否在該目標節點處, 回應於該模擬不在該目標節點處之一判定,將選定節點設定為一新當前節點,而不命令該主要代理,且繼續模擬; 回應於該模擬在該目標節點處之一判定, 自直接連接至該當前節點之該組節點選擇具有一最小成本之一節點;以及 提供選定節點之一識別,該選定節點具有該最小成本以命令該主要代理之移動。
- 如請求項57之方法,其中自表示由該一或多個次要代理及該主要代理採取之動作的一機率函數對在該步長計數器自該步長計數器之該開始值至一當前值遞增時該各別次要代理將採取之一動作取樣包含:鑒於由該主要代理採取之由直接連接至該當前節點之該各別節點與每一連續節點之間沿著通向該目標節點之一路線的每一邊緣中之各別者表示的一系列該等動作,對表示該環境中之該一或多個次要代理中之每一者之一非確定性行為的該機率函數取樣。
- 如請求項57之方法,其中鑒於由每一邊緣中之各別者表示的一系列動作對分別表示該環境中之該一或多個代理中之每一者之該非確定性行為的該等機率函數取樣包含:對於該等代理中之每一者,對分別表示各別代理之該非確定性行為的各別機率函數重複取樣。
- 如請求項57之方法,其中該主要代理為一主要自主車輛,且該方法進一步包含: 接收表示該主要自主車輛操作之該環境的感知資訊;以及 由該主要自主車輛實施一所得運動規劃。
- 如請求項60之方法,其中接收感知資訊包括接收表示該環境中之至少一個動態物件之一位置及一軌跡的感知資訊。
- 如請求項60之方法,其中接收感知資訊包括在一運動規劃器處接收感知資訊,該感知資訊係經由該主要自主車輛所攜載之一或多個感測器收集且表示該環境中之至少一個其他車輛的一位置或一軌跡。
- 如請求項62之方法,其進一步包含: 由一物件偵測器自經由該一或多個感測器收集之該感知資訊識別該環境中之至少一第一動態物件。
- 一種運動規劃系統,其採用具有表示狀態之節點及表示狀態之間的轉變之邊緣的圖以產生一主要代理之一運動規劃,該系統包含: 至少一個處理器; 至少一個非暫時性處理器可讀媒體,其儲存處理器可執行指令,該等處理器可執行指令在由該至少一個處理器執行時使該至少一個處理器進行以下操作 將一步長計數器初始化為一開始值; 初始化一第一圖; 執行一模擬,該模擬包含: 在該第一圖中之一當前節點處而不在該第一圖中之一目標節點處開始: 對於一或多次取樣反覆, 針對一環境中之一或多個次要代理中之每一次要代理,自一機率函數對在該步長計數器自該步長計數器之該開始值至一當前值遞增時各別次要代理將採取之一動作取樣,該機率函數表示由該主要代理採取及由該一或多個次要代理採取的動作; 判定該第一圖之與下一動作碰撞的任何邊緣; 對於與該下一動作碰撞之任何邊緣,將一各別成本函數應用於該邊緣以反映一碰撞條件之一存在; 對於直接連接至該當前節點之一組節點之在該第一圖中之每一節點,計算表示一最小成本路徑之一值,該最小成本路徑自該當前節點至該目標節點經由一或多個預期路徑遍歷一或多個路徑,該一或多個預期路徑係經由直接連接至該當前節點之各別節點; 判定是否執行另一取樣反覆; 回應於不執行另一取樣反覆之一判定, 自直接連接至該當前節點之該組節點選擇該組節點中之該等節點中具有一最小成本的該節點; 使該步長計數器遞增; 判定模擬是否在該目標節點處, 回應於該模擬不在該目標節點處之一判定,將選定節點設定為一新當前節點,而不命令該主要代理,且繼續該模擬; 回應於該模擬在該目標節點處之一判定, 自直接連接至該當前節點之該組節點選擇具有一最小成本之一節點;以及 提供選定節點之一識別,該選定節點具有該最小成本以命令該主要代理之移動。
- 如請求項64之系統,其中為了自一機率函數對在該步長計數器遞增時該各別次要代理將採取之一動作取樣,該至少一個處理器鑒於由直接連接至該當前節點之該各別節點與每一連續節點之間沿著通向該目標節點之一路線的每一邊緣中之各別者表示的一系列該等動作,對表示該環境中之該一或多個次要代理中之每一者之該非確定性行為的該機率函數取樣。
- 如請求項64之系統,其中為了鑒於由每一邊緣中之各別者表示的一系列動作對分別表示該環境中之該一或多個次要代理中之每一者之該非確定性行為的該等機率函數取樣,該至少一個處理器進行以下操作:對於該等次要代理中之每一者,對分別表示各別代理之該非確定性行為的各別機率函數重複取樣。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108144760A TW202123031A (zh) | 2019-12-06 | 2019-12-06 | 用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108144760A TW202123031A (zh) | 2019-12-06 | 2019-12-06 | 用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202123031A true TW202123031A (zh) | 2021-06-16 |
Family
ID=77516841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108144760A TW202123031A (zh) | 2019-12-06 | 2019-12-06 | 用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW202123031A (zh) |
-
2019
- 2019-12-06 TW TW108144760A patent/TW202123031A/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7394853B2 (ja) | 動的物体を有する環境における運動計画を促進する装置、方法及び物品 | |
US11970161B2 (en) | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects | |
JP7479064B2 (ja) | 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品 | |
EP3250347B1 (en) | Specialized robot motion planning hardware and methods of making and using same | |
Tai et al. | Towards cognitive exploration through deep reinforcement learning for mobile robots | |
CN111989195B (zh) | 在一个或更多个处理器上存储离散化环境的机器人的运动规划及其改进的操作 | |
CN112703147A (zh) | 用于控制车辆的移动的系统和方法 | |
US11992944B2 (en) | Data-efficient hierarchical reinforcement learning | |
Premebida et al. | Intelligent robotic perception systems | |
Zhao et al. | A path planning method based on multi-objective cauchy mutation cat swarm optimization algorithm for navigation system of intelligent patrol car | |
US20210397195A1 (en) | Robot navigation using a high-level policy model and a trained low-level policy model | |
Belavadi et al. | Frontier exploration technique for 3d autonomous slam using k-means based divisive clustering | |
TW202123031A (zh) | 用以便利具有動態物件環境中之運動規劃的裝置、方法及物品 | |
Maravall et al. | A vision-based dual anticipatory/reactive control architecture for indoor navigation of an unmanned aerial vehicle using visual topological maps | |
Ferrera et al. | Multi-robot operation system with conflict resolution | |
Liu et al. | A robot obstacle avoidance approach with lidar and rgb camera data combined | |
Abdo et al. | Obstacle Avoidance Robot Using Convolutional Neural Network | |
Römer et al. | Uncertainty-aware visual perception for safe motion planning | |
TW202406697A (zh) | 採用前瞻規劃之共享工作空間中機器人的運動規劃和控制 | |
CN117906614A (zh) | 基于神经网络驱动的轻量化自主导航方法及装置 |