TW202146189A - 於多機器人操作環境中之機器人之建置 - Google Patents

於多機器人操作環境中之機器人之建置 Download PDF

Info

Publication number
TW202146189A
TW202146189A TW110100958A TW110100958A TW202146189A TW 202146189 A TW202146189 A TW 202146189A TW 110100958 A TW110100958 A TW 110100958A TW 110100958 A TW110100958 A TW 110100958A TW 202146189 A TW202146189 A TW 202146189A
Authority
TW
Taiwan
Prior art keywords
processor
robot
robots
population
candidate
Prior art date
Application number
TW110100958A
Other languages
English (en)
Inventor
露卡 柯拉山圖
尚恩 莫瑞
Original Assignee
美商即時機器人股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商即時機器人股份有限公司 filed Critical 美商即時機器人股份有限公司
Publication of TW202146189A publication Critical patent/TW202146189A/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40417For cooperating manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40515Integration of simulation and planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40629Manipulation planning, consider manipulation task, path, grasping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Manipulator (AREA)

Abstract

基於待藉由一多機器人操作環境中之機器人執行之一組給定任務跨一組非均質參數將多機器人建置之解決方案共同最佳化至至少某一程度。非均質參數可包含以下項之兩者或更多者:該等機器人之各自基座位置及定向、任務對各自機器人之一分配、該等機器人之各自目標序列及/或軌跡。此可在運行時間前執行。輸出可包含針對各機器人之:工作小區佈局、目標之一有序清單或向量、視情況在各自目標處之停留持續時間及各對連續目標之間之路徑或軌跡。輸出可提供在缺乏時序之可變性時可用於控制該等機器人而無需任何修改之問題之一完整可執行解決方案。在產生候選解決方案之一群體時可視情況使用一基因演算法,例如,差分演進。

Description

於多機器人操作環境中之機器人之建置
本發明大體上係關於於一多機器人操作環境或共用工作空間中之機器人建置,且係關於機器人建置於此一環境或共用工作空間中之最佳化。
各種應用在或可希望在兩個或更多個機器人所共有或以其他方式由兩個或更多個機器人共用之一多機器人操作環境中採用兩個或更多個機器人。多機器人操作環境可採取一共用工作空間之形式。例如,可在對或使用一共同操作環境中之一或多個物件或工作執行任務(例如,將螺栓螺合至其中機器人可在運動範圍中重疊之一機殼)時採用兩個或更多個機器人。
運動規劃係機器人控制及機器人學之一基本問題。一運動規劃指定一機器人可自一起始狀態至一目的狀態遵循之通常用於完成一任務而不與一操作環境中之任何障礙物碰撞或具有與操作環境中之任何障礙物碰撞之一降低可能性之一路徑。運動規劃之挑戰涉及在可能地考量環境改變(例如,改變環境中之障礙物之位置或定向)之同時快速執行運動規劃之能力。挑戰進一步包含使用以相對低能量消耗且具有有限儲存量之相對低成本設備(例如,記憶體電路,例如在處理器晶片電路上)執行運動規劃。
兩個或更多個機器人在一多機器人操作環境或共用工作空間(通常稱為工作小區之工作空間)中之操作呈現一特定類別之問題。例如,運動規劃應考量且避免其中機器人或機器人之機器人附肢可能在執行任務期間彼此干擾之情境。
在一共同工作空間中操作多個機器人之一個方法可稱為一任務級方法。一工程師可藉由定義工作空間之其中機器人可能彼此碰撞之部分(本文中稱為干擾區域)且程式化個別機器人使得在任何給定時間點,僅一個機器人在工作空間之一干擾區域中而手動確保機器人無碰撞。例如,當一第一機器人開始移動至工作空間之一干擾區域中時,第一機器人設定一旗標。一控制器(例如,經程式化邏輯控制器(PLC))讀取旗標且防止其他機器人移動至工作空間之干擾區域中,直至第一機器人在離開干擾區域後撤銷旗標。此方法直觀、容易理解但通常實施困難且耗時,且可未產生一最佳化結果。此方法需要具有低工作處理能力,此係因為任務級去衝突之使用通常導致至少一個機器人閒置達大量時間部分,即使閒置機器人在共用工作空間中執行有用工作將技術上可行。
在習知方法中,一工程師團隊通常分割問題且彼此獨立地最佳化更小子問題(例如,將任務分配至機器人,將分配至各機器人之任務定序、針對各機器人進行運動規劃)。此可採用反覆模擬運動以確保機器人/機器人附肢不彼此碰撞,此可耗費許多小時之運算時間且可不導致一最佳化解決方案。另外,若工作空間之一修改導致機器人/機器人附肢之一者之一軌跡之一改變,則必須重新驗證整個工作流程。此等方法當然非最佳且通常需要專家經歷反覆嘗試尋找在一起採取時產生一良好結果之解決方案之一組合之緩慢程序。
本文中描述產生基於待藉由一多機器人操作環境中之機器人執行之一組給定任務跨一組非均質參數經共同最佳化(例如,工作小區佈局及任務規劃之經共同最佳化組合)之多機器人建置之解決方案之各種方法及裝置。此可在一離線或運行時間前環境中執行,從而提供此等類型之問題之一全域最佳化器。發明者不瞭解此等問題之任何現有全域最佳化器解決方案。
輸入可包含一多機器人操作環境之一模型、機器人之模型、對可採用之機器人之一總數之一限制、待達成之機器人之一組任務及對可分配至各機器人之任務之一總數(即,機器人之目標容量)之一限制。輸入亦可視情況包含一機器人或其部分在一目標處停留以(例如)完成一任務(例如,螺合一螺栓或一螺母)或避免一碰撞之一或多個停留持續時間。輸入亦可視情況包含以下項之一或多者:對一或多個參數或變量之一組界限或約束或限制經提供用於模型化或模擬碰撞之時間之一時間限制。
輸出可包含問題之一完整解決方案,該解決方案可有利地經最佳化。特定言之,可藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎跨候選解決方案之一群體最佳化解決方案。非均質參數可(例如)包含以下項之兩者或更多者:機器人之各自基座位置及定向、對機器人之各自者之任務之一分配及機器人之各自目標序列。在缺乏時序之任何可變性之情況下,可使用輸出以控制多機器人環境中之機器人而無需任何修改。替代地,可在運行時間期間採用一或多個運動規劃器以(例如)避免可歸因於時序之小可變性(例如,有時擰緊一螺絲可耗費比其他時間多一點或少一點之時間)而導致之碰撞。
輸出可(例如)包含:工作小區佈局,及針對各機器人:目標之一有序清單或向量(例如,機器人1 : {目標7、目標2、暫停、目標9})、視情況在各自目標處之停留持續時間及各對連續目標之間之路徑或軌跡(例如,無碰撞路徑或軌跡)。
工作小區佈局可(例如)在笛卡爾(Cartesian)座標中提供各機器人之一基座之一基座位置及定向。使用一各自6元組{X,Y,Z, r, p, y}指定各機器人基座之基座位置及定向,其中X、Y及Z分別指示一正交座標系之一位置連同各自軸,且r (即,側滾)指示繞軸之一第一者之一旋轉量,p (例如,俯仰)指示繞軸之一第二者之一旋轉量,且y (例如,橫搖)指示繞軸之一第三者之一旋轉量。
一全域最佳化器可(例如)係基於一多變量、混合整數最佳化演算法(例如,稱為差分演進(DE)之一演算法)。發明申請專利範圍不限於一DE演算法,除非在發明申請專利範圍中明確敘述演算法。
全域最佳化器最佳化機器人基座放置(例如,在笛卡爾座標中)、機器人功能姿勢(即,在C空間中)及每一機器人之任務規劃(各自機器人之目標及暫停之有序清單)。主最佳化目的可係延時(例如,完成目的之時間),但其他目的可包含地板空間之充分使用、能量消耗或耗損、完成目標之移動數目、並行操作機器人之能力、最小化機器人之等待時間、一機器人之可用性、狀態條件及/或一機器人適用於實行一特定類型之任務之可用性(例如,一機器人使用一特定類型之臂端工具或末端受動器之可用性)等。因此,本文中描述之結構及演算法促進在一共用工作空間或工作小區中操作之兩個或更多個機器人之操作,將此放置及操作最佳化至至少某一程度及潛在地防止或至少降低機器人或機器人之機器人附肢在共用工作空間中操作以執行各自任務時將彼此碰撞之風險。本文中描述之結構及演算法可有利地藉由執行已經最佳化至至少某一程度之自主規劃而減少多機器人工作空間之程式化努力。輸入可限於操作環境、(若干)待執行任務及機器人之幾何模型之一描述。本文中描述之結構及演算法可有利地動態地分配待藉由機器人執行之任務。
在以下描述中,闡述某些具體細節以便提供各種所揭示實施例之一透徹理解。然而,熟習相關技術者將認知,可在不具有此等具體細節之一或多者之情況下或使用其他方法、組件、材料等實踐實施例。在其他例項中,未詳細展示或描述與電腦系統、致動器系統及/或通信網路相關聯之熟知結構以避免不必要地使實施例之描述不清楚。在其他例項中,未詳細描述用於產生一或多個物件及類似者之感知資料及體積表示之熟知電腦視覺方法及技術以避免不必要地使實施例之描述不清楚。
除非背景內容另外需要,否則貫穿下文之說明書及發明申請專利範圍,詞「包括(comprise)」及其變動(諸如「包括(comprises)」及「包括(comprising)」)應在一開放、包含性意義上被解釋為「包含,但不限於」。
貫穿本說明書提及「一個實施方案」或「一實施方案」或「一項實施例」或「一實施例」意謂結合實施例描述之一特定特徵、結構或特性包含於至少一個實施方案中或至少一個實施方案實施例中。因此,在貫穿本說明書之各種位置中出現之片語「一個實施方案」或「一實施方案」或「在一項實施例中」或「在一實施例中」不一定全部係指相同實施方案或實施例。此外,可在一或多個實施方案或實施例中以任何適合方式組合特定特徵、結構或特性。
如在本說明書及隨附發明申請專利範圍中使用,單數形式「一(a/an)」及「該」包含複數指示物,除非內容另外清楚指示。亦應注意,術語「或」通常在其包含「及/或」之意義上被採用,除非內容另外清楚指示。
如本說明書及隨附發明申請專利範圍中使用,術語最佳化(optimizing/optimize)及經最佳化意謂準備、產生(generate)或產生(produce)或已準備、產生(generate)或產生(produce)一經改良結果。此等術語以其等相對意義使用,且不意謂已準備、產生(generate)或產生(produce)一絕對最佳值。
如本說明書及隨附發明申請專利範圍中使用,術語「工作空間」或「共用工作空間」用於指代其中兩個或更多個機器人操作之一當前操作環境,共用工作空間之一或多個部分係其中機器人可潛在地彼此碰撞之體積,因此可稱為干擾區域。操作環境可包含障礙物及/或工件(即,機器人與其互動或作用於其上或與其一起作用之物項)。
如本說明書及隨附發明申請專利範圍中使用,術語「任務」用於指代其中一機器人自一姿勢A轉變至一姿勢B而不與其環境中之障礙物碰撞之一機器人任務。任務可能涉及抓緊或不抓緊一物項、移動或放下一物項、旋轉一物項或取回或放置一物項。自姿勢A至姿勢B之轉變可視情況包含在一或多個中間姿勢之間轉變。
本文中提供之標題及發明摘要僅係為了方便且不解譯實施例之範疇或意義。
圖1展示根據一個經繪示實施方案之一機器人系統100,其包含在一共用工作空間104中操作以實行任務之複數個機器人102a、102b、102c (統稱為102)。
機器人102可採取大量多種形式之任何者。通常言之,機器人102將採取以下項之形式或具有以下項:一或多個機器人附肢103 (僅調用一個)及一基座105 (僅調用一個)。機器人102可包含一或多個連桿組,該一或多個連桿組具有一或多個關節及經耦合且可操作以回應於控制或驅動信號而移動連桿組之致動器(例如,電動馬達、步進馬達、螺線管、氣動致動器或液壓致動器)。氣動致動器可(例如)包含一或多個活塞、氣缸、閥、貯氣器及/或壓力源(例如,壓縮器、鼓風機)。液壓致動器可(例如)包含一或多個活塞、液壓缸、閥、貯液器(例如,低可壓縮性液壓流體)及/或壓力源(例如,壓縮器、鼓風機)。機器人系統100可採用其他形式之機器人102,例如,自主載具。
雖然在某些有限實施方案中,共用工作空間104可表示一二維空間,但共用工作空間104通常表示其中機器人102可操作且移動之一三維空間。共用工作空間104係其中若運動不受控制以避免碰撞,則機器人102之至少部分可在空間及時間上重疊之一體積或區域。應注意,工作空間104係一實體空間或體積,在該實體空間或體積中,一位置及定向可經由(例如)笛卡爾(Cartesian)座標相對於某一參考系(例如,藉由圖1中之正交軸X、Y及Z表示之一參考系)方便地表示。亦應注意,工作空間104之參考系不同於任何機器人102之一各自「建置空間」或「C空間」,C空間通常由任何機器人102之一各自參考系中之一組關節位置、定向或建置表示。
如本文中解釋,當自另一機器人102b之一觀點考量時(即,當進行另一機器人102b之運動規劃時),一機器人102a或其部分可構成一障礙物。共用工作空間104可另外包含其他障礙物,例如,機械件(例如,傳送器106)、柱、支柱、壁、天花板、地板、桌、人及/或動物。共用工作空間104可另外包含機器人102作為執行任務之部分操縱之一或多個工作物項或工件,例如,一或多個包裹、包裝、緊固件、工具、物項或其他物件。
機器人系統100包含一或多個基於處理器之多機器人建置最佳化系統108 (在圖1中展示一個)。(若干)多機器人建置最佳化系統108接收一組輸入109且產生指定機器人102之一建置(包含一各自基座位置及定向、至少一個經定義姿勢之一各自組及可經最佳化至至少某一程度之各機器人102之一各自目標序列)之一或多個解決方案作為輸出111。
(若干)多機器人建置最佳化系統108可包含一群體產生器110、一多機器人環境模擬器112及一多機器人最佳化引擎114。
群體產生器110基於經提供輸入109產生一組候選解決方案116。候選解決方案116表示對一建置問題之可能解決方案,即,如何建置工作空間104中之機器人102以完成一組任務。任何給定候選解決方案116可或可不實際上可行。亦即,一初始候選者可係無效的(例如,機器人在不可能位置中、具有其中存在一不可達到目標之一不可行任務規劃或將導致碰撞)。在一些實施方案中,群體產生器可嘗試尋找更佳候選解決方案。
多機器人環境模擬器112基於各候選解決方案模型化多機器人環境以判定某些屬性,例如,完成任務所需之一時間量、完成任務時之碰撞之一概率或比率、如藉由候選解決方案指定之一特定建置之可行性或不可行性。多機器人環境模擬器112可在成本(經由一或多個成本函數產生之成本)方面反映此。
多機器人最佳化引擎114至少部分基於相關聯成本評估候選解決方案且有利地跨一組兩個或更多個非均質參數(例如,跨以下項之兩者或更多者)共同最佳化:機器人之各自基座位置及定向、對機器人之各自者之任務之一分配、機器人之各自目標序列及/或連續目標之間之各自軌跡或路徑(例如,無碰撞路徑)。為了易於解釋使用連續目標之間之直線軌跡,但軌跡不需要係直線軌跡。
輸入109可包含表示或特性化操作環境或工作空間104 (例如,表示一地板、壁、天花板、支柱、其他障礙物等)之一或多個靜態環境模型。操作環境或工作空間104可由一或多個模型(例如,表示操作環境中之一地板、壁、天花板、障礙物及其他物件之一幾何模型(例如,點雲))表示。此可(例如)在笛卡爾座標中表示。
輸入109可包含表示或特性化各機器人102 (例如,指定幾何形狀及運動學,例如,大小或長度、連桿之數目、關節之數目、關節類型、運動範圍、對速度之限制、對加速度或急衝之限制)之一或多個機器人模型。機器人102可由(例如)在關節、自由度、尺寸(例如,連桿組之長度)方面及/或在機器人102a至102c之各自C空間方面定義一給定機器人102a至102c之一幾何形狀之一或多個機器人幾何模型表示。
輸入109可包含待執行(例如,表示為目標目的(例如,位置或建置))之一或多個組任務。例如,可在各自機器人102a至102c之最終姿勢、最終建置或最終狀態及/或中間姿勢、中間建置或中間狀態方面表示任務。例如,可在各自機器人102a至102c之關節位置及關節角度/旋轉(例如,關節姿勢、關節座標)方面定義姿勢、建置或狀態。輸入109可視情況包含指定一機器人或其部分應在一給定目標處停留以便完成一任務(例如,擰緊一螺絲或螺母,拾取且放置物件,其中目的係藉由在一共同工作空間中操作之兩個或更多個機器人將一堆物件分類成具有物件之各自類型之兩個或更多個不同堆物件)之一時間量之一或多個停留持續時間。
輸入109可視情況包含對可在工作空間104中經建置之機器人之數目之一限制。輸入109可視情況包含對可分配至可在工作空間104中經建置之一給定機器人102a至102c之任務或目標之數目之一限制(本文中稱為一任務容量),例如,限制建置問題之複雜性以確保建置問題可解決或可使用可用運算資源在某一可接受時間段內解決,或預消除假定鑑於任務或目標至一給定機器人102a至102c之一明顯過度分配而太緩慢之某些解決方案。輸入109可視情況包含對變量或其他參數之一或多個界限或約束。輸入109可視情況包含可用於細化候選解決方案(例如)以確保建置問題可解決或可使用可用運算資源在某一可接受時間段內解決之反覆循環之一總數或對反覆之時間限制。
機器人系統100可視情況包含經通信地耦合以控制機器人102之一或多個機器人控制系統118 (在圖1中僅展示一個)。(若干)機器人控制系統118可(例如)將控制信號(例如,驅動信號)提供至各種致動器以引起機器人102在各種建置之間移動至各種指定目標以便執行指定任務。
機器人系統100可視情況包含經通信地耦合以控制機器人102之一或多個運動規劃器120 (在圖1中僅展示一個)。(若干)運動規劃器120產生或細化機器人102之運動規劃(例如)以及時考量相對於藉由多機器人最佳化引擎114提供之運動規劃之小偏差或考量障礙物之非預期出現(例如,進入操作環境或工作空間104之人),如本文中其他處描述。選用運動規劃器120可操作以動態地產生運動規劃以引起機器人102在一操作環境中實行任務。運動規劃器120以及其他結構及/或操作可採用在2019年6月24日申請之美國專利申請案第62/865,431號中描述之結構及/或操作。
在經包含之情況下,運動規劃器120視情況經通信地耦合以接收(例如)藉由一感知子系統(未展示)提供之感知資料作為輸入。感知資料代表工作空間104中非先驗已知之靜態及/或動態物件。感知資料可係如經由一或多個感測器(例如,相機、立體相機、飛行時間相機、LIDAR)感測及/或藉由感知子系統(其可產生其中機器人102將操作以執行各種不同案例之任務之一環境之一表示之一各自離散化)轉換為障礙物之數位表示之原始資料。
在圖1中將各種通信路徑繪示為各種結構之間之線,在一些情況中,指示輸入109及輸出111之方向之箭頭。通信路徑可(例如)採取一或多個有線通信路徑(例如,電導體、信號匯流排或光纖)及/或一或多個無線通信路徑(例如,經由RF或微波無線電及天線、紅外收發器)之形式。通信通道可包含(例如)一或多個發射器、接收器、收發器、無線電、路由器、有線埠(例如,乙太網路埠)等。
圖2展示根據至少一個經繪示實施方案之圖1之機器人系統100之一功能方塊表示。
機器人系統100可包含一機器人建置最佳化系統108及機器人102。最佳化系統108可經通信地耦合以直接或經由一中介機器人控制系統118 (圖1)間接地控制機器人102。
各機器人102a至102c可包含一組連桿、關節、臂端工具或末端受動器及/或可操作以使連桿繞關節移動之致動器201a、201b、201c (展示三個,統稱為201)。各機器人102a至102c可包含(例如)自機器人建置最佳化系統108接收控制信號且提供驅動信號以驅動致動器201之一或多個運動控制器(例如,馬達控制器) 202 (僅展示一個)。運動控制器202可專用於控制致動器201之特定者。
將為了闡釋性目的詳細描述一機器人建置最佳化系統108。熟習此項技術者將認知,描述係例示性的且可對經描述及經繪示機器人建置最佳化系統108作出變動。
機器人建置最佳化系統108可包括一或多個處理器222及一或多個相關聯非暫時性電腦或處理器可讀儲存媒體(例如,系統記憶體224a、碟機224b及/或處理器222之記憶體或暫存器(未展示))。非暫時性電腦或處理器可讀儲存媒體224a、224b經由一或多個通信通道(諸如系統匯流排229)通信地耦合至(若干)處理器222。系統匯流排229可採用任何已知匯流排結構或架構,包含具有記憶體控制器之一記憶體匯流排、一周邊匯流排及/或一區域匯流排。一或多個此等組件可亦或代替性地經由一或多個其他通信通道(例如,一或多個並列電纜、串列電纜或能夠進行高速通信之無線網路通道(例如,通用串列匯流排(「USB」) 3.0、快捷外設互連標準(PCIe)或經由Thunderbolt®))彼此通信。
機器人建置最佳化系統108亦可通信地耦合至一或多個遠端電腦系統212 (例如,伺服器電腦、桌上型電腦、膝上型電腦、超攜帶型電腦、平板電腦、智慧型電話、穿戴型電腦及/或感測器(圖2中未繪示)),該一或多個遠端電腦系統212直接可通信地耦合至機器人建置最佳化系統108之各種組件或(例如)經由一網路介面(未展示)間接可通信地耦合至機器人建置最佳化系統108之各種組件。遠端運算系統(例如,伺服器電腦(例如,輸入源212))可用於程式化、建置、控制或以其他方式介接於機器人建置最佳化系統108及機器人系統100內之各種組件或將輸入資料(例如,環境模型、機器人模型、任務、目標目的、對機器人之總數之限制、對每一機器人之任務之限制、對變量或其他參數之界限或約束、對反覆之限制)提供至機器人建置最佳化系統108及機器人系統100內之各種組件。此一連接可係透過一或多個通信通道(例如,一或多個廣域網路(WAN)(例如,乙太網路或網際網路,其使用網際網路協定))。在一些實施方案中,運行時間前計算(例如,輸出之產生)可由與機器人102分開之一系統執行,而運行時間計算可由一或多個選用中介運動規劃器120 (圖1)(其在一些實施方案中可內建於機器人102a至102c上)執行。
如提及,機器人建置最佳化系統108可包含一或多個處理器222 (即,電路)、非暫時性儲存媒體224a、224b及耦合各種系統組件之系統匯流排229。處理器222可係任何邏輯處理單元,諸如一或多個中央處理單元(CPU)、數位信號處理器(DSP)、圖形處理單元(GPU)、場可程式化閘陣列(FPGA)、特定應用積體電路(ASIC)、可程式化邏輯控制器(PLC)等。市售電腦系統之非限制性實例包含(但不限於)由美國的Intel®公司提供之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中展示之各種結構之構造及操作可實施或採用在以下案中描述或類似於在以下案中描述之結構、技術及演算法之結構、技術及演算法: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號;2018年1月12日申請之標題為「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」之美國專利申請案第62/616,783號;及/或2019年6月24日申請之標題為「motion planning for multiple robots in shared workspace」之美國專利申請案第62/865,431號。
系統記憶體224a可包含唯讀記憶體(「ROM」) 226、隨機存取記憶體(「RAM」) 228、快閃記憶體230、EEPROM (未展示)。可形成ROM 226之部分之一基本輸入/輸出系統(「BIOS」) 232含有基本常式,該等基本常式幫助諸如在起動期間在機器人系統100內之元件之間傳送資訊。
驅動機224b可係(例如)用於自一磁碟讀取且寫入至一磁碟之一硬碟機、用於自固態記憶體讀取且寫入至固態記憶體之一固態(例如,快閃記憶體)驅動機及/或用於自可抽換式光碟讀取且寫入至可抽換式光碟之一光碟機。在各項不同實施例中,機器人建置最佳化系統108亦可包含此等驅動機之任何組合。驅動機224b可經由系統匯流排229與(若干)處理器222通信。(若干)驅動機224b可包含耦合於此等驅動機與系統匯流排229之間之介面或控制器(未展示),如熟習相關技術者已知。驅動機224b及其相關聯電腦可讀媒體提供電腦或處理器可讀及/或可執行指令、資料結構、程式模組及機器人系統100之其他資料之非揮發性儲存。熟習相關技術者將瞭解,可採用可儲存可由一電腦存取之資料之其他類型之電腦可讀媒體,諸如WORM驅動機、RAID驅動機、磁帶盒、數位視訊光碟(「DVD」)、柏努利盒(Bernoulli cartridge)、RAM、ROM、智慧卡等。
可執行指令及資料可儲存於系統記憶體224a中,例如一作業系統236、一或多個應用程式238、其他程式或模組240及程式資料242。應用程式238可包含引起(若干)處理器222執行以下項之一或多者之處理器可執行指令:產生候選解決方案之群體;模型化候選解決方案;至少部分基於模型化產生或判定與各自候選解決方案相關聯之成本;藉由跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之群體執行一最佳化:機器人之各自基座位置及定向、對機器人之各自者之任務之一分配及機器人之各自目標序列;及/或提供可用於在一多機器人操作環境中定位及定向機器人且引起機器人執行任務之輸出。此操作可如本文中(例如,參考圖3及圖10)及以引用的方式併入本文中之參考案中描述般執行。在至少一些實施方案中,處理器可執行指令引起(若干)處理器222建構運動規劃(例如,碰撞偵測或評估、基於碰撞偵測或評估更新運動規劃圖表中之邊緣之成本及執行路徑搜尋或評估)。應用程式238可另外包含引起(若干)處理器222執行其他操作(例如,視情況處置(經由感測器擷取之)感知資料)之一或多個機器可讀及機器可執行指令。應用程式238可另外包含引起(若干)處理器222執行本文中及以引用的方式併入本文中之參考案中描述之各種其他方法之一或多個機器可執行指令。
雖然在圖2中展示為儲存於系統記憶體224a中,但作業系統236、應用程式238、其他應用程式、程式/模組240及程式資料242可儲存於其他非暫時性電腦或處理器可讀媒體(例如,(若干)驅動機224b)上。
雖然不需要,但許多實施方案將在電腦可執行指令(諸如儲存於電腦或處理器可讀媒體上且藉由一或多個電腦或處理器(其等可執行候選解決方案產生、候選解決方案(例如)經由向前運動學之模型化、模型中之碰撞之偵測、執行時間及其他成本之判定、經由一成本函數之成本產生、跨一組非均質參數之共同最佳化、軌跡或路徑(例如,無碰撞路徑)之產生及/或其他運動規劃操作)執行之程式應用模組、物件或巨集)之一般背景內容中描述。
在各種實施方案中,操作可完全在硬體電路中執行或作為儲存於一記憶體儲存器(諸如系統記憶體224a)中之軟體,且由一或多個硬體處理器222 (諸如一或多個微處理器、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)、圖形處理單元(GPU)處理器、程式化邏輯控制器(PLC)、電可程式化唯讀記憶體(EEPROM))執行,或作為硬體電路及儲存於記憶體儲存器中之軟體之一組合。
機器人建置最佳化系統108可視情況包含一或多個輸入/輸出組件,例如,一監測器或觸控螢幕顯示器244、一鍵台或鍵盤246及/或指標器件(諸如一電腦滑鼠248)。
熟習相關技術者將瞭解,經繪示實施方案以及其他實施方案可使用其他系統結構及配置及/或其他運算系統結構及配置(包含機器人、手持式器件、多處理器系統、基於微處理器或可程式化消費者電子器件、個人電腦「PC」、聯網PC、迷你電腦、主機電腦及類似者之系統結構及配置)實踐。實施方案或實施例或其等之部分(例如,在建置時間及運行時間)可在其中任務或模組由遠端處理器件(其等透過一通信網路連結)執行之分散式運算環境中實踐。在一分散式運算環境中,程式模組可定位於本端及遠端記憶體儲存器件或媒體兩者中。然而,何處及如何儲存某些類型之資訊對於幫助改良機器人建置係重要的。
圖3展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一高階機器人建置方法300。基於處理器之系統可包括至少一個處理器及儲存資料及處理器可執行指令之至少一者之至少一個非暫時性處理器可讀媒體。當藉由至少一個處理器執行時,處理器可執行指令引起至少一個處理器執行機器人建置方法300之各種操作或動作。
數個機器人可經建置以執行一組任務。可將任務指定為一任務規劃。任務規劃可指定需要藉由數目R個機器人執行之數目T個任務。可將一任務規劃模型化為每一機器人之一向量,其中向量係各自機器人待執行之任務之一有序清單,例如,{任務7、任務2、任務9}。一任務向量亦可視情況包含指定機器人或其部分應在一給定建置或目標處停留之一持續時間之停留持續時間。任務向量亦可指定與解決任務不直接相關之一原位姿勢及/或其他「功能姿勢」(例如,一「讓開」或儲存姿勢)。可指定在機器人之C空間中之姿勢。
機器人建置方法300可(例如)回應於系統或其組件之一起動或供電、資訊或資料之接收或藉由一呼叫常式或程式之一呼叫或調用而在302開始。機器人建置方法300可在一建置時間或運行時間前(其可發生在運行時間之前)執行。當回應性非一特定問題時,此有利地允許在運行時間之前執行一些運算最密集工作。
在304,基於處理器之系統之至少一個組件接收特性化一多機器人環境、一組待執行任務且提供問題之各種約束或邊界之輸入。
例如,基於處理器之系統可接收多機器人操作環境之一或多個模型。(若干)模型可表示其中複數個機器人將操作之實體環境(例如,表示環境中之一地板、壁及各種物件)。
又例如,基於處理器之系統可接收將在多機器人操作環境中操作之複數個機器人之各者之一各自模型。機器人模型可表示機器人之實體屬性,例如,實體尺寸、運動範圍、關節之數目、連桿之數目、連桿之長度、末端受動器之類型、速度限制、加速度限制等。
又例如,基於處理器之系統可接收一組任務或目標。目標可表示各機器人或其部分必須依序或在某些時間移動至其以便完成一組任務之各種位置。目標可(例如)以各自機器人之建置空間(C空間)表示。又例如,基於處理器之系統可視情況接收在至少一個機器人執行至少一個任務時停留在一或多個目標處之一或多個停留持續時間。停留持續時間可有利地反映一機器人之一末端受動器需要保留在一給定目標處以便完成一各自任務(例如,將一緊固件螺合至一螺紋開口中、將一件嵌入一插口中)之一預期時間量。
又例如,基於處理器之系統可視情況接收對變量之一組界限或約束。各種界限及約束可適用於多機器人環境中之最佳化。例如,基於處理器之系統可視情況接收指定對模型化移動或模擬碰撞之一時間限制之一組時間間隔。例如,基於處理器之系統可視情況接收對容許在多機器人操作環境中操作之機器人之一總數之一限制。例如,基於處理器之系統可視情況接收每一機器人容許之任務或目標之一最大數目,其再次可防止提交在給定可用運算資源或時間之情況下太複雜而難以解決之一問題。
在306,一群體產生器產生C候選解決方案之一群體。群體可包含一或多個候選解決方案。C候選解決方案之群體中之候選解決方案之各者針對機器人之各者指定:一各自基座位置及定向、至少一個經定義姿勢之一各自組及一各自目標序列。各自基座位置及定向指定各自機器人之一基座在多機器人操作環境中之一各自位置及定向。至少一個經定義姿勢之各自組指定各自機器人在多機器人操作環境中之至少一各自原位姿勢及/或其他功能姿勢(例如,一讓開或儲存姿勢)。各自目標序列包括各自機器人移動通過以完成一各自任務序列之目標之一各自有序清單。群體產生器可實施為執行處理器可執行指令之一或多個處理器。
群體產生器可採取可基於一或多個輸入參數偽隨機地產生C候選解決方案之群體之一偽隨機群體產生器之形式。一偽隨機群體產生器產生可或可不係實際上可行解決方案之候選解決方案。群體產生器替代地產生各比C候選解決方案之一純偽隨機產生群體具有為一無效候選解決方案之一更低概率之C候選解決方案之群體。此可產生導致更快最佳化而不損失建置空間涵蓋之候選解決方案之群體。例如,群體產生器可考量避免將一機器人之一基座定位於不可能之一位置(例如,由一壁或其他物件佔用)處、將導致具有機器人無法達到之一或多個目標之一不可行任務規劃或將導致碰撞之候選解決方案之操作環境。在使用一偽隨機群體產生器之情況下,可採用用以改良候選解決方案之數個技術,例如,下文參考圖6描述之技術。
在308,一最佳化引擎對C候選解決方案之群體執行一最佳化。特定言之,最佳化引擎跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化:機器人之各自基座位置及定向、對機器人之各自者之任務之一分配及機器人之各自目標序列。最佳化引擎可(例如)選擇具有以下項之一經共同最佳化組合之一經最佳化候選解決方案:機器人之各者之各自基座之一各自經最佳化基座位置及定向、一經最佳化任務分配及一經最佳化運動規劃。最佳化引擎可實施為執行處理器可執行指令之一或多個處理器。如下文參考圖4描述,最佳化引擎可在執行最佳化(例如,提供待模擬之候選解決方案及接收藉由特性化各自候選解決方案之碰撞之效率(例如,完成時間)及概率或比率之一多機器人環境模擬器產生或判定之成本)時與一多機器人環境模擬器互動。最佳化引擎可至少部分基於與該等候選解決方案之一者相關聯之一各自成本選擇該候選解決方案,各自成本至少部分基於針對各自候選解決方案判定之完成任務序列之時間及碰撞值。
在310,最佳化引擎提供來自最佳化之輸出。特定言之,最佳化引擎可提供以下項之一或多者作為輸出:各機器人之各自基座位置及定向;各機器人之一各自任務分配;各機器人之一各自運動規劃;及/或具有或不具有在機器人之C空間中之各自目標處之停留持續時間之各機器人之一組無碰撞路徑。輸出可包含針對各機器人指定呈各自機器人之C空間中之目標之一最佳化有序清單之形式之待執行之一各自任務序列及在目標之一或多者處之一或多個停留持續時間之一經最佳化任務分配。輸出可另外或替代地包含指定一組無碰撞路徑之一經最佳化運動規劃,該組無碰撞路徑指定目標之有序清單中之各對連續目標之間之一各自無碰撞路徑。在至少一些實施方案中,輸出足以驅動機器人執行一組任務。在至少一些實施方案中,可採用一運動規劃器以細化運動規劃。
高階機器人建置方法300可在312終止(例如)直至再次經調用。雖然關於一有序流程描述高階機器人建置方法300,但各種動作或操作將在許多實施方案中同時或並行執行。
圖4展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一高階多機器人環境模擬方法400。基於處理器之系統可包括至少一個處理器及儲存資料及處理器可執行指令之至少一者之至少一個非暫時性處理器可讀媒體。當藉由至少一個處理器執行時,處理器可執行指令引起至少一個處理器執行多機器人環境模擬方法400之各種操作或動作。多機器人環境模擬方法400可藉由一多機器人環境模擬器執行,該多機器人環境模擬器可藉由專用於一多機器人環境中之移動之模擬之一(若干)不同處理器實施。替代地,多機器人環境模擬器可藉由執行其他操作(例如,執行最佳化)之一或多個處理器實施。
多機器人環境模擬方法400可(例如)回應於系統之一起動或供電、資訊或資料之接收或藉由一呼叫常式或程式之一呼叫或調用(例如,藉由高階機器人建置方法300之調用)而在402開始。
在404,一多機器人環境模擬器(例如)自一最佳化引擎或一群體產生器接收一候選解決方案。
在406,一多機器人環境模擬器基於一特定候選解決方案模型化多機器人環境中之機器人。例如,可藉由最佳化引擎將候選解決方案提交或提供至多機器人環境模擬器。可採用習知模型化封裝,例如,採用向前運動學以基於候選解決方案模型化機器人之移動之模型化封裝。
在408,多機器人環境模擬器經由藉由多機器人環境模擬器執行之模型化判定完成任務序列之一各自時間。判定可包含判定藉由全部機器人完成任務序列(其等可必須彼此等待)之整體時間。此可(例如)包含判定完成各機器人之各自任務之各自時間。
在410,多機器人環境模擬器經由藉由多機器人環境模擬器執行之模型化判定表示在完成任務序列時發生之一碰撞之一比率或一概率之一碰撞值。判定可包含判定任務序列藉由全部機器人之一完成之總體碰撞值。此可(例如)包含判定各機器人之各自碰撞值。
在412,多機器人環境模擬器將完成任務序列之經判定時間及經判定碰撞值提供至(例如)最佳化引擎。在一些實施方案中,多機器人環境模擬器提供經判定時間及碰撞值作為用於藉由最佳化引擎處理以形成可跨兩個或更多個非均質參數經共同最佳化之一值之不同值,如本文中其他處描述。
多機器人環境模擬方法400可在414終止(例如)直至再次經調用。雖然關於一有序流程描述多機器人環境模擬方法400,但各種動作或操作將在許多實施方案中同時或並行執行。
圖5展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人環境模擬方法500。基於處理器之系統可包括至少一個處理器及儲存資料及處理器可執行指令之至少一者之至少一個非暫時性處理器可讀媒體。當藉由至少一個處理器執行時,處理器可執行指令引起至少一個處理器執行多機器人環境模擬方法500之各種操作或動作。多機器人環境模擬方法500可藉由一多機器人環境模擬器執行,該多機器人環境模擬器可藉由專用於一多機器人環境中之移動之模擬之一(若干)不同處理器實施。替代地,多機器人環境模擬器可藉由執行其他操作(例如,執行最佳化)之一或多個處理器實施。
多機器人環境模擬方法500可(例如)回應於系統之一起動或供電、資訊或資料之接收或藉由一呼叫常式或程式之一呼叫或調用(例如,藉由高階機器人建置方法300之調用)而在502開始。
在504,一多機器人環境模擬器虛擬地執行如藉由係評估或考量之一對象之一候選解決方案指定之各機器人之任務序列中之各任務。可將任務序列指定為任務之各自有序清單。任務之有序清單各等效於機器人之C空間中之軌跡之一有序清單。任務之有序清單可包含連續姿勢或建置(例如,關節建置)之間之複數個軌跡、在一或多個姿勢處之一或多個停留持續時間、一原位姿勢及機器人之C空間中之一或多個其他經定義功能姿勢(例如,一存放或「讓開」姿勢)。為了虛擬地執行各任務,處理器可執行指令在藉由至少一個處理器執行時引起處理器虛擬地模擬複數個軌跡及以下項之一或多者:在一或多個姿勢處之一或多個停留持續時間、原位姿勢或一或多個其他經定義功能姿勢。
在506,針對複數個時期之各時期(例如,0.1 s或某一經選取輸入值),多機器人環境模擬器取樣至少一個機器人之一部分之一C空間位置。多機器人環境模擬器使用向前運動學以識別機器人之一各自者之一或多個部分與機器人之各自者之另一部分之間、機器人之各自者與環境中之機器人之另一者之間及機器人之各自者與多機器人操作環境中非另一機器人之另一物件之間之潛在碰撞。
多機器人環境模擬方法500可在508終止(例如)直至再次經調用。雖然關於一有序流程描述低階多機器人環境模擬方法500,但各種動作或操作將在許多實施方案中同時或並行執行。
所述系統及方法可採用各種方法以細化或改良候選解決方案。例如,一些方法可以一基底解決方案開始且改良該基底解決方案。又例如,一些方法可採用一基因演算法或方法,例如,一差分演進(DE)演算法或類似技術。下文參考圖6描述一DE演算法之一版本。
圖6展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人最佳化DE方法600。基於處理器之系統可包括至少一個處理器及儲存資料及處理器可執行指令之至少一者之至少一個非暫時性處理器可讀媒體。當藉由至少一個處理器執行時,處理器可執行指令引起至少一個處理器執行多機器人最佳化方法600之各種操作或動作。多機器人最佳化方法600可藉由一最佳化引擎執行,該最佳化引擎可藉由專用於多機器人環境之最佳化引擎之一(若干)不同處理器實施。替代地,多機器人環境模擬器可藉由執行其他操作之一或多個處理器實施。
多機器人環境模擬方法600可(例如)回應於系統之一起動或供電、資訊或資料之接收或藉由一呼叫常式或程式之一呼叫或調用(例如,藉由高階機器人建置方法300之調用)而在602開始。
在604,群體產生器產生候選解決方案之一群體。
在606,將一外部迴路計數器I初始化至(例如)零。在608,將外部迴路計數器I增量為(例如) I加一。
在610,以容許擾動之一格式表示候選解決方案。例如,可將候選解決方案表示為一候選解決方案向量。候選解決方案向量可(例如)包含複數個實數向量元素,例如,各任務一個實數向量元素。實數向量元素可表示任務之一各自者之一各自組合、任務之各自者之一優先權及經識別執行任務之各自者之機器人之一者。
在612,最佳化器引擎擾動一候選解決方案I或引起候選解決方案I經擾動以產生一經擾動候選解決方案I’。例如,最佳化器引擎可修改候選解決方案向量之實數向量元素(即,實數值)。
在614,一多機器人環境模擬器模型化經擾動候選解決方案I’,例如,判定完成經擾動候選解決方案I’之任務序列之一時間及表示在完成經擾動候選解決方案I’之任務序列時發生之一碰撞之一比率或一概率之一碰撞值。
在616,最佳化引擎或多機器人環境模擬器判定經擾動候選解決方案I’之一成本值。經判定成本值可係完成經擾動候選解決方案I’之任務序列之經判定時間及經擾動候選解決方案I’之經判定碰撞值之一函數。在DE中,成本函數係一分段對數函數,但可經參數化,例如,如藉由圖7中之參數化700及圖8中之圖表800表示。在圖7中,參數「task_reachability」等於(可達到目標目的之數目)/(目標目的之總數)。因此,若全部目標可達到,則參數「task_reachability」之值等於1。
在618,最佳化引擎或多機器人環境模擬器判定經擾動候選解決方案I’是否具有比候選解決方案I更低之一相關聯成本。
在620,回應於經擾動候選解決方案I’具有比候選解決方案I更低之一相關聯成本之一判定,最佳化引擎使用經擾動候選解決方案I’替換C候選解決方案之群體中之各自候選解決方案I。回應於經擾動候選解決方案I’不具有比候選解決方案I更低之一相關聯成本之一判定,最佳化引擎使C候選解決方案之群體保持不經修改,從而將控制直接傳遞至622。
在622,最佳化引擎判定是否已發生一內部迴路反覆離開條件。例如,最佳化引擎判定何時已發生一收斂,是否已達到對反覆之數目之一限制及/或是否已達到對反覆時間之一限制。例如,在跨候選解決方案之當前群體之成本之一標準偏差小於一ε值之情況下,可認為收斂已發生。
若已發生離開條件,則控制傳遞至626,其中多機器人環境模擬方法600可終止(例如)直至再次經調用。若尚未發生離開條件,則控制傳遞至624,其中最佳化引擎或多機器人環境模擬器判定在候選解決方案之群體中是否存在更多候選解決方案待擾動。若在候選解決方案之群體中存在更多候選解決方案待擾動,則控制返回至608,其中使內部迴路計數器增量且擾動並分析下一候選解決方案。若在候選解決方案之群體中不存在更多候選解決方案待擾動,則控制返回至606,其中重新初始化內部迴路計數器且可執行通過候選解決方案之可能經更新群體之另一遍次。
多機器人環境模擬方法600之各種動作可重複達多個反覆,從而細化候選解決方案之群體,直至滿足離開條件(例如,收斂)。
雖然關於一有序流程描述低階多機器人最佳化DE方法600,但各種動作或操作將在許多實施方案中同時或並行執行。
圖9展示根據至少一個經繪示實施方案之可藉由一基於處理器之系統在以容許擾動之一格式表示一候選解決方案時(例如,在執行低階多機器人最佳化DE方法600 (圖6)時)採用之一資料結構900。
一候選解決方案I可有利地使用數字之一向量表示,使得系統可對數字執行一或多個函數以「擾動」數字及因此候選解決方案以產生一經擾動候選解決方案I’。存在表示候選解決方案之各種方式。在本文中參考圖9中繪示之資料結構900描述一個方法。一系統可採用此方法或其他方法來表示候選解決方案。
一候選解決方案可最初表示為一二維(2D)矩陣,該2D矩陣將經平坦化為一一維(1D)向量。在2D矩陣中,列對應於任務。因此,針對具有T個任務之一問題,存在T個列。在2D矩陣中,行對應於機器人及優先權。若存在P個優先級及R個機器人,則因此存在P*R個行。圖9中繪示之實例具有3個機器人、3個優先級及4個任務。在使用中,與圖9中繪示之機器人數目、優先級數目及任務數目相比,一特定問題可具有不同數目個機器人、不同數目個優先級及不同數目個任務。為了易於理解,簡化經繪示實例。
將各任務分配至一單一機器人,各任務在圖9中藉由各列繪示,各列使恰一個項目經標記(即,使用一星號*標記),從而表示哪一機器人以哪一優先權執行該任務。一給定機器人可執行至多在輸入中指定之最大數目個任務作為每一機器人之一任務容量。然而,應注意,一給定機器人每一優先級僅可執行一個任務。亦即,每一行僅存在一個星號(*)。
系統可將2D矩陣平坦化為具有長度T之一1D向量,其中每一任務具有一個向量元素。向量元素對應於以1開始之2D矩陣之「項目號」。因此針對圖9中繪示之實例,任務1具有一值2,任務2具有一值13 (第一列具有9個項目,接著任務2之分配(見星號*)在列2之第4項目中),任務3具有一值21且任務4具有一值36。應注意,向量元素全部係整數。
系統可正規化所得整數向量<2,13,21,36>,使得全部值在0與1之間。例如,系統可將各值除以矩陣中之項目之總數,例如,P*R*T=36。所得正規化實數向量係<2/36, 13/36, 21/36, 36/36>,其中個別向量元素之總和為1。
為了擾動候選實數向量V,系統可首先採取一數目(例如,三)個其他隨機選取候選者(例如,A、B及C),且使用(以與上文直接描述之相同方式正規化之)各自正規化1D向量表示該等經隨機選取候選者(例如,A、B及C)。系統現可運算一經擾動實數向量V’。例如,系統可將經擾動向量V’運算為等於A + mut*(C-B)。
系統可接著(例如)藉由隨機地混合向量V及經擾動向量V’之向量元素而運算經擾動候選者Vp。亦即,針對經擾動候選者Vp之各元素(即,Vp[i]),系統隨機地選取V[i]或V’[i]。選取可藉由一參數加權,該參數可(例如)使選取偏斜使得選取非50/50。系統可將經擾動候選者Vp乘以P*R*T以按比例向上縮放回表示經擾動候選者之1D向量。為了自1D實數向量返回獲得2D矩陣,系統首先將實數捨入成整數。自該處,系統可使用該等整數值來標記一空白2D矩陣。
圖10展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人DE候選解決方案方法1000,其詳細繪示一群體產生器之操作。基於處理器之系統可包括至少一個處理器及儲存資料及處理器可執行指令之至少一者之至少一個非暫時性處理器可讀媒體。當由至少一個處理器執行時,處理器可執行指令引起至少一個處理器執行多機器人DE候選解決方案方法1000之各種操作或動作。多機器人DE候選解決方案方法1000可藉由一最佳化引擎執行,該最佳化引擎可藉由專用於一多機器人環境之最佳化引擎之一(若干)不同處理器實施。替代地,多機器人環境模擬器可藉由執行其他操作之一或多個處理器實施。
一全域最佳化器可係基於一多變量、混合整數、最佳化演算法(例如,稱為差分演進(DE)之一演算法)。發明申請專利範圍不限於此演算法,除非演算法在發明申請專利範圍中明確敘述。
全域最佳化器最佳化機器人基座放置(例如,在笛卡爾座標中)、機器人功能姿勢(例如,在C空間中)及每一機器人之任務規劃(目標之有序清單或向量及停留持續時間)。主最佳化目的可係總體延時,但其他目的可包含可用地板空間之經最佳化使用、最小能量使用等。
最佳化器系統可包括三個組件:即,一最佳化引擎、一多機器人環境模擬器及一候選解決方案產生器(例如,一種子產生器)。
如下文進一步詳細描述,候選解決方案產生器產生C候選解決方案之一群體,其中任何給定候選者可或可不可行。
如下文進一步詳細描述,最佳化引擎(例如)藉由擾動候選解決方案之群體之一者(即,候選者P)且查看所得經擾動候選者P’是否具有一更低成本而嘗試尋找更較候選解決方案。若是,則經擾動候選者P’替換群體中之候選者P。候選者C之總數不改變。
為了尋找一候選解決方案之成本,多機器人環境模擬器模擬候選解決方案。一給定候選解決方案包含各機器人之任務之一有序清單,其等效於C空間中之軌跡之一有序清單。多機器人環境模擬器在每一時期時間(例如,0.1 s或某一經選取輸入值)取樣各機器人之C空間中之位置,且採用向前運動學以檢查機器人之虛擬表示是否與自身、與另一機器人或與操作環境中之某一障礙物或物件碰撞。多機器人環境模擬器判定完全執行候選解決方案將耗費多長時間。多機器人環境模擬器判定一碰撞概率或比率(例如,在其期間存在機器人與自身、與另一機器人或與操作環境中之某一障礙物或物件之至少一個碰撞之時期之分率)。應注意,候選解決方案之群體之產生不需要產生無碰撞運動規劃,而僅追蹤碰撞率。不需要無碰撞路徑大大加速處理;然而,一些實施方案可代替性地在此階段產生無碰撞路徑。一候選者之成本係至少此兩個數字(例如,運行時間及碰撞率)之函數。在DE中,此成本函數係可經參數化之一分段對數值。
整體工作流程涉及最佳化器產生候選者且模擬器評估其等成本之一循環。程序重複直至成本之某一收斂準則(諸如標準偏差)小於某一時期值。
一候選解決方案產生器1002藉由執行各種操作或動作而產生候選解決方案。
在1004,候選解決方案產生器1002接收各種變量界限、固定參數、任務或目標目的及群體大小。在1006,候選解決方案產生器1002產生各機器人之基座之基座位置及定向。在1008,候選解決方案產生器1002將機器人基座虛擬定位(locate)或定位(position)於虛擬多機器人操作環境中以將此提供至一多機器人模擬器1009,該多機器人模擬器1009模型化候選解決方案以將回饋提供至候選解決方案產生器1002。
在1010,候選解決方案產生器1002產生各機器人之均勻隨機原位姿勢及/或其他功能姿勢。
在1012,針對各任務或目標目的,候選解決方案產生器1002:在1012a,尋找能夠完成任務或達到目標目的之一組機器人;在1012b,隨機選擇該等機器人之一者;在1012c,判定該組是否為空的(指示一不可行任務規劃);在1012d,若該組為空的,則返回至1006,且以其他方式將任務或目標目的分配至選定機器人。
在1014,針對各目標機器人,候選解決方案產生器1002判定分配至機器人之任務或目標目的之總數是否超過針對機器人指定之一限制或任務或目標容量,在1014a,若經過度分配(指示一不可行任務規劃),則返回至1006,且否則在1014b,產生一隨機序列之經分配任務或目標目的。
在1016,候選解決方案產生器1002產生或定義候選解決方案,該等候選解決方案可係表示各機器人之基座放置及定向、各機器人之原位及/或其他功能姿勢及各機器人之一目標序列之一向量或其他表示。
在1018,候選解決方案產生器1002判定在候選解決方案之群體中是否存在足夠候選解決方案。若候選解決方案之群體中之候選解決方案之數目小於一指定數目,則控制可返回至1006以產生一額外候選解決方案。否則,控制可傳遞至1022,其中候選解決方案產生器1002將候選解決方案之群體傳回至一多機器人最佳化引擎1024用於進一步最佳化。
一旦已產生候選解決方案之初始群體,便可藉由(例如)擾動候選解決方案而細化候選解決方案之群體。
雖然關於一有序流程描述低階多機器人DE候選解決方案方法1000,但各種動作或操作將在許多實施方案中同時或並行執行。
在至少一些實施方案中,本文中描述之結構及演算法可在不使用相機或其他感知感測器之情況下操作。在至少一些實施方案中,機器人之間之座標依賴於機器人之幾何模型、機器人傳達其等各自運動規劃之能力及一共用工作空間之幾何模型。在其他實施方案中,可視情況採用虛擬或其他感知(例如)以避免可進入或佔用共用工作空間之部分之人或其他動態障礙物。
使用廣泛多種演算法以解決運動規劃問題。此等演算法之各者通常需要能夠判定一機器人之一給定姿勢或自一個姿勢至另一姿勢之一運動是否導致與機器人自身或與環境中之障礙物之一碰撞。可使用執行來自一組經儲存處理器可執行指令之處理器可執行指令以執行一演算法之處理器「在軟體中」執行虛擬碰撞評估或檢查。可使用一組專用硬體電路(例如,實施於一場可程式化閘陣列(FPGA)、特定應用積體電路(ASIC)中之碰撞檢查電路)「在硬體中」執行虛擬碰撞評估或檢查。此等電路可(例如)表示在兩個狀態之間之一各自運動或轉變期間藉由一機器人/機器人附肢或其部分掃略之體積(即,掃略體積)。電路可(例如)產生指示一運動是否將與任何障礙物碰撞之一布林(Boolean)評估,其中至少一些障礙物表示在執行一運動或轉變時藉由在共用工作空間中操作之其他機器人掃略之體積。
實例 實例1。一種用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之一基於處理器之系統中之操作方法,該方法包括: 經由一群體產生器產生C候選解決方案之一群體,C候選解決方案之該群體中之該等候選解決方案之各者針對該等機器人之各者指定:一各自基座位置及定向、至少一個經定義姿勢之一各自組及一各自任務或目標序列,其中該各自基座位置及定向指定該各自機器人之一基座在該多機器人操作環境中之一各自位置及定向,至少一個經定義姿勢之該各自組指定該各自機器人在該多機器人操作環境中之至少一各自原位姿勢,且該各自任務或目標序列包括該各自機器人移動通過以完成一各自任務序列之目標之一各自有序清單; 藉由跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化:該等機器人之該各自基座位置及定向、該等任務對該等機器人之各自者之一分配及該等機器人之該等各自任務或目標序列;及 提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃。 實例2。如實例1之方法,其中提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃,係包含提供針對各機器人指定呈該各自機器人之C空間中之目標之一最佳化有序清單之形式之待執行之一各自任務序列及在該等目標之一或多者處之一或多個停留持續時間之一經最佳化任務分配,及提供指定一組無碰撞路徑之一經最佳化運動規劃,該組無碰撞路徑指定目標之該有序清單中之各對連續目標之間之一各自無碰撞路徑。 實例3。如實例1或2中任一者之方法,其進一步包括: 針對候選解決方案之該群體C之該等候選解決方案之各者,經由藉由一機器人環境模擬器執行之模型化判定完成該等任務序列之一各自時間及表示在完成該等任務序列時發生之一碰撞之一比率或一概率之一各自碰撞值。 實例4。如實例3之方法,其中藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化包含: 經由該最佳化引擎至少部分基於與該等候選解決方案之一者相關聯之一各自成本選擇該候選解決方案,該各自成本至少部分基於針對該各自候選解決方案判定之完成該等任務序列之該時間及該碰撞值。 實例5。如實例3之方法,其中經由藉由一最佳化引擎之模型化判定完成該等任務序列之一各自時間及表示發生之一碰撞之一比率或一概率之一各自碰撞值包含: 經由該多機器人環境模擬器虛擬地執行該等任務序列之各任務; 針對複數個時期之各時期,經由該多機器人環境模擬器取樣該等機器人之至少一者之一部分之一C空間位置;及 使用向前運動學檢查碰撞以識別該等機器人之一各自者之一或多個部分與該等機器人之該各自者之另一部分之間、該等機器人之該各自者與該環境中之該等機器人之另一者之間及該等機器人之該各自者與該多機器人操作環境中非另一機器人之另一物件之間之潛在碰撞。 實例6。如實例5之方法,其中任務之該有序清單等效於該機器人之該C空間中之軌跡之一有序清單且包含複數個軌跡、在一或多個姿勢處之一或多個停留持續時間、一原位姿勢及該機器人之該C空間中之一或多個其他經定義功能姿勢,且虛擬地執行包含虛擬地執行以下項:該複數個軌跡及以下項之一或多者:在一或多個姿勢處之一或多個停留持續時間、該原位姿勢或該一或多個其他經定義功能姿勢。 實例7。如實例1或2之方法,其進一步包括: 針對C候選解決方案之該群體中之數個候選解決方案之各者,針對至少一個反覆: 擾動該各自候選解決方案以產生一經擾動候選解決方案; 模型化該經擾動候選解決方案; 判定該經擾動候選解決方案是否具有比該各自候選解決方案更低之一相關聯成本;及 回應於該經擾動候選解決方案具有比該各自候選解決方案更低之一相關聯成本之一判定,使用該經擾動候選解決方案替換C候選解決方案之該群體中之該各自候選解決方案。 實例8。如實例7之方法,重複該擾動、該模型化、該判定及該替換達多個反覆直至達到一收斂之一發生、對反覆之數目之一限制或對反覆時間之一限制。 實例9。如實例7之方法,其中擾動該各自候選解決方案以產生一經擾動候選解決方案包含擾動一候選解決方案向量,該候選解決方案向量包含複數個實數向量元素,各任務一個實數向量元素,該等實數向量元素表示該等任務之一各自者之一各自組合、該等任務之該各自者之一優先權及經識別執行該等任務之該各自者之該等機器人之一者。 實例10。如實例1或2之方法,其進一步包括: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型及一組任務或目標之輸入。 實例11。如實例1或2之方法,其進一步包括: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型、一組任務或目標及以下項之至少一者之輸入:在該等機器人之至少一者執行至少一個任務時停留在一或多個目標處之一或多個停留持續時間、對變量之一組界限或約束或指定對模擬碰撞之一時間限制之一組時間間隔。 實例12。如實例11之方法,其中接收輸入包含接收進一步包含以下項之至少一者之輸入:對容許在該多機器人操作環境中操作之機器人之一總數之一限制及每一機器人容許之任務或目標之一最大數目。 實例13。如實例1或2之方法,其中該群體產生器係一偽隨機群體產生器且其中經由一群體種子產生器產生C候選解決方案之一群體包含經由該偽隨機群體產生器偽隨機產生C候選解決方案之該群體。 實例14。如實例1或2之方法,其中經由一群體產生器產生C候選解決方案之一群體包含產生比C候選解決方案之一純偽隨機產生群體具有為一無效候選解決方案之一更低概率之C候選解決方案之該群體。 實例15。如實例1或2之方法,其中藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化包含選擇具有以下項之一經共同最佳化組合之一經最佳化候選解決方案:各機器人之各自基座之一各自經最佳化基座位置及定向、一經最佳化任務分配及一經最佳化運動規劃。 實例16。一種用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之基於處理器之系統,該基於處理器之系統包括: 至少一個處理器;及 至少一個非暫時性處理器可讀媒體,其儲存資料及處理器可執行指令之至少一者,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器執行如實例1至15之方法之任何者。 實例17。一種用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之基於處理器之系統,該基於處理器之系統包括: 至少一個處理器;及 至少一個非暫時性處理器可讀媒體,其儲存資料及處理器可執行指令之至少一者,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由一群體產生器產生C候選解決方案之一群體,C候選解決方案之該群體中之該等候選解決方案之各者針對該等機器人之各者指定:一各自基座位置及定向、至少一個經定義姿勢之一各自組及一各自任務或目標序列,其中該各自基座位置及定向指定該各自機器人之一基座在該多機器人操作環境中之一各自位置及定向,至少一個經定義姿勢之該各自組指定該各自機器人在該多機器人操作環境中之至少一各自原位姿勢,且該各自任務或目標序列包括該各自機器人移動通過以完成一各自任務序列之目標之一各自有序清單; 藉由跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化:該等機器人之該各自基座位置及定向、該等任務對該等機器人之各自者之一分配及該等機器人之該等各自任務或目標序列;及 提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃。 實例18。如實例17之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器提供以下項作為輸出:針對各機器人指定呈該各自機器人之C空間中之目標之一最佳化有序清單之形式之待執行之一各自任務序列及在該等目標之一或多者處之一或多個停留持續時間之一經最佳化任務分配,及指定一組無碰撞路徑之一經最佳化運動規劃,該組無碰撞路徑指定目標之該有序清單中之各對連續目標之間之一各自無碰撞路徑。 實例19。如實例17或18中任一者之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 針對候選解決方案之該群體C之該等候選解決方案之各者,經由藉由一機器人環境模擬器執行之模型化判定完成該等任務序列之一各自時間及表示在完成該等任務序列時發生之一碰撞之一比率或一概率之一各自碰撞值。 實例20。如實例19之基於處理器之系統,其中為了藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由該最佳化引擎至少部分基於與該等候選解決方案之一者相關聯之一各自成本選擇該候選解決方案,該各自成本至少部分基於針對該各自候選解決方案判定之完成該等任務序列之該時間及該碰撞值。 實例21。如實例19之基於處理器之系統,其中為了經由藉由一最佳化引擎之模型化判定完成該等任務序列之一各自時間及表示發生之一碰撞之一比率或一概率之一各自碰撞值,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由該多機器人環境模擬器虛擬地執行該等任務序列之各任務; 針對複數個時期之各時期,經由該多機器人環境模擬器取樣該等機器人之至少一者之一部分之一C空間位置;及 使用向前運動學檢查碰撞以識別該等機器人之一各自者之一或多個部分與該等機器人之該各自者之另一部分之間、該等機器人之該各自者與該環境中之該等機器人之另一者之間及該等機器人之該各自者與該多機器人操作環境中非另一機器人之另一物件之間之潛在碰撞。 實例22。如實例21之基於處理器之系統,其中任務之該有序清單等效於該機器人之該C空間中之軌跡之一有序清單且包含複數個軌跡、在一或多個姿勢處之一或多個停留持續時間、一原位姿勢及該機器人之該C空間中之一或多個其他經定義功能姿勢,且為了虛擬地執行各任務,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器虛擬地執行該複數個軌跡及以下項之一或多者:在一或多個姿勢處之一或多個停留持續時間、該原位姿勢或該一或多個其他經定義功能姿勢。 實例23。如實例17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 針對C候選解決方案之該群體中之數個候選解決方案之各者,針對至少一個反覆: 擾動該各自候選解決方案以產生一經擾動候選解決方案; 模型化該經擾動候選解決方案; 判定該經擾動候選解決方案是否具有比該各自候選解決方案更低之一相關聯成本;及 回應於該經擾動候選解決方案具有比該各自候選解決方案更低之一相關聯成本之一判定,使用該經擾動候選解決方案替換C候選解決方案之該群體中之該各自候選解決方案。 實例24。如實例23之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步重複該擾動、該模型化、該判定及該替換達多個反覆直至達到一收斂之一發生、對反覆之數目之一限制或對反覆時間之一限制。 實例25。如實例23之基於處理器之系統,其中為了擾動該各自候選解決方案以產生一經擾動候選解決方案,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器擾動一候選解決方案向量,該候選解決方案向量包含複數個實數向量元素,各任務一個實數向量元素,該等實數向量元素表示該等任務之一各自者之一各自組合、該等任務之該各自者之一優先權及經識別執行該等任務之該各自者之該等機器人之一者。 實例26。如實例17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型及一組任務或目標之輸入。 實例27。如實例17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型、一組任務或目標及以下項之至少一者之輸入:在該等機器人之至少一者執行至少一個任務時停留在一或多個目標處之一或多個停留持續時間、對變量之一組界限或約束或指定對模擬碰撞之一時間限制之一組時間間隔。 實例28。如實例27之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步接收以下項之至少一者作為輸入:對容許在該多機器人操作環境中操作之機器人之一總數之一限制及每一機器人容許之任務或目標之一最大數目。 實例29。如實例17或18之基於處理器之系統,其中該群體產生器係一偽隨機群體產生器且其中C候選解決方案之一群體經由一群體種子產生器之產生包含C候選解決方案之該群體經由該偽隨機群體產生器之偽隨機產生。 實例30。如實例17或18之基於處理器之系統,其中C候選解決方案之一群體經由一群體產生器之產生包含比C候選解決方案之一純偽隨機產生群體具有為一無效候選解決方案之一更低概率之C候選解決方案之該群體之產生。 實例31。如實例17或18之基於處理器之系統,其中為了藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器選擇具有以下項之一經共同最佳化組合之一經最佳化候選解決方案:各機器人之各自基座之一各自經最佳化基座位置及定向、一經最佳化任務分配及一經最佳化運動規劃。
前述詳細描述已經由使用方塊圖、示意圖及實例闡述器件及/或程序之各項實施例。在此等方塊圖、示意圖及實例含有一或多個功能及/或操作之範圍內,熟習此項技術者將理解,此等方塊圖、流程圖或實例內之各功能及/或操作可由廣範圍之硬體、軟體、韌體或實際上其等之任何組合個別地及/或共同地實施。在一項實施例中,本標的物可經由布林電路、特定應用積體電路(ASIC)及/或FPGA實施。然而,熟習此項技術者將認知,本文中揭示之實施例整體或部分可實施於標準積體電路中之各種不同實施方案中,作為在一或多個電腦上運行之一或多個電腦程式(例如,作為在一或多個電腦系統上運行之一或多個程式),作為在一或多個控制器(例如,微控制器)上運行之一或多個程式,作為在一或多個處理器(例如,微處理器)上運行之一或多個程式,作為韌體或作為實際上其等之任何組合,且鑑於本發明,一般技術者將良好地掌握設計電路及/或撰寫軟體及/或韌體之程式碼。
熟習此項技術者將認知,本文中陳述之許多方法或演算法可採用額外動作,可省略一些動作及/或可以不同於所指定之一順序執行動作。
另外,熟習此項技術者將瞭解,本文中教示之機構能夠實施於硬體中(例如,一或多個FPGA或ASIC中)。
可組合上文描述之各項實施例以提供進一步實施例。本說明書中提及及/或在申請案資料頁中列出之共同讓與之美國專利申請公開案、美國專利申請案、外國專利及外國專利申請案之全部之全文以引用的方式併入本文中,包含但不限於 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號;2018年1月12日申請之標題為「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」之美國專利申請案第62/616,783號;2018年2月6日申請之標題為「motion planning of A robot STORING A discretized ENVIRONMENT ON ONE OR MORe PROCESSORS and IMPROVED OPERATION OF SAME」之美國專利申請案第62/626,939號;2019年6月3日申請之標題為「APPARATUS, METHODS AND ARTICLES TO FACILITATE MOTION PLANNING IN ENVIRONMENTS HAVING DYNAMIC OBSTACLES」之美國專利申請案第62/856,548號;及2019年6月24日申請之標題為「motion planning for multiple robots in shared workspace」之美國專利申請案第62/865,431號。鑑於上文詳細描述,可對實施例進行此等及其他改變。一般言之,在以下發明申請專利範圍中,所使用之術語不應被解釋為將發明申請專利範圍限於說明書及發明申請專利範圍中揭示之特定實施例,但應解釋為包含全部可能實施例以及此等發明申請專利範圍所授權之等效物之全範疇。因此,發明申請專利範圍不由本發明限制。
100:機器人系統 102:機器人 102a:機器人 102b:機器人 102c:機器人 103:機器人附肢 104:共用工作空間 105:基座 106:傳送器 108:多機器人建置最佳化系統 109:輸入 110:群體產生器 111:輸出 112:多機器人環境模擬器 114:多機器人最佳化引擎 116:候選解決方案 118:機器人控制系統 120:運動規劃器 201a:致動器 201b:致動器 201c:致動器 202:運動控制器 212:遠端電腦系統/輸入源 222:處理器 224a:系統記憶體/非暫時性儲存媒體 224b:碟機/非暫時性儲存媒體 226:唯讀記憶體(ROM) 228:隨機存取記憶體(RAM) 229:系統匯流排 230:快閃記憶體 232:基本輸入/輸出系統(BIOS) 236:作業系統 238:應用程式 240:其他程式或模組 242:程式資料 244:監測器或觸控螢幕顯示器 246:鍵台或鍵盤 248:電腦滑鼠 300:機器人建置方法 302:步驟 304:步驟 306:步驟 308:步驟 310:步驟 312:步驟 400:高階多機器人環境模擬方法 402:步驟 404:步驟 406:步驟 408:步驟 410:步驟 412:步驟 414:步驟 500:多機器人環境模擬方法 502:步驟 504:步驟 506:步驟 508:步驟 600:低階多機器人最佳化差分演進(DE)方法 602:步驟 604:步驟 606:步驟 608:步驟 610:步驟 612:步驟 614:步驟 616:步驟 618:步驟 620:步驟 622:步驟 624:步驟 626:步驟 700:參數化 800:圖表 900:資料結構 1000:多機器人差分演進(DE)候選解決方案方法 1002:候選解決方案產生器 1004:步驟 1006:步驟 1008:步驟 1009:多機器人模擬器 1010:步驟 1012:步驟 1012a:步驟 1012b:步驟 1012c:步驟 1012d:步驟 1014:步驟 1014a:步驟 1014b:步驟 1016:步驟 1018:步驟 1020:步驟 1022:步驟 1024:多機器人最佳化引擎
在圖式中,相同元件符號識別類似元件或動作。圖式中之元件之大小及相對位置不必按比例繪製。例如,各種元件之形狀及角度未按比例繪製,且此等元件之一些經任意放大及定位以改良圖式易讀性。此外,如繪製之元件之特定形狀不旨在傳達關於特定元件之實際形狀之任何資訊,且僅為了易於在圖式中辨識而經選擇。
圖1係根據一個經繪示實施方案之其中複數個機器人操作以實行任務且一建置系統執行一最佳化以建置機器人之一共用工作空間或多機器人操作環境之一示意圖。
圖2係根據一個經繪示實施方案之包含一或多個處理器及儲存處理器可執行指令之一或多個非暫時性處理器可讀媒體且亦展示複數個機器人之圖1之建置系統之一功能方塊圖。
圖3展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一高階機器人建置方法。
圖4展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一高階多機器人環境模擬方法。
圖5展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人環境模擬方法。
圖6展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人最佳化DE方法。
圖7展示根據至少一個經繪示實施方案之可與採用一差分演進(DE)演算法之一實施方案一起採用之一參數化成本函數。
圖8係根據至少一個經繪示實施方案之進一步繪示圖7之成本函數之一圖表。
圖9展示根據至少一個經繪示實施方案之可藉由一基於處理器之系統在以容許擾動之一格式表示一候選解決方案時(例如,在執行圖6之低階多機器人最佳化DE方法時)採用之一資料結構。
圖10展示根據至少一個經繪示實施方案之一基於處理器之系統用於針對其中複數個機器人將操作之一多機器人操作環境建置複數個機器人之操作之一低階多機器人DE候選解決方案方法,其詳細繪示一群體產生器之操作。
100:機器人系統
102a:機器人
102b:機器人
102c:機器人
103:機器人附肢
104:共用工作空間
105:基座
106:傳送器
108:多機器人建置最佳化系統
109:輸入
110:群體產生器
111:輸出
112:多機器人環境模擬器
114:多機器人最佳化引擎
116:候選解決方案
118:機器人控制系統
120:運動規劃器

Claims (31)

  1. 一種用於針對複數個機器人將操作之一多機器人操作環境建置複數個機器人之一基於處理器之系統中之操作方法,該方法包括: 經由一群體產生器產生C候選解決方案之一群體,C候選解決方案之該群體中之該等候選解決方案之各者針對該等機器人之各者指定:一各自基座位置及定向、至少一個經定義姿勢之一各自組及一各自目標序列,其中該各自基座位置及定向指定該各自機器人之一基座在該多機器人操作環境中之一各自位置及定向,至少一個經定義姿勢之該各自組指定該各自機器人在該多機器人操作環境中之至少一各自原位姿勢,且該各自目標序列包括該各自機器人移動通過以完成一各自任務序列之目標之一各自有序清單; 藉由跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化:該等機器人之該各自基座位置及定向、對該等機器人之各自者之該等任務之一分配及該等機器人之該等各自目標序列;及 提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃。
  2. 如請求項1之方法,其中提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃,係包含提供針對各機器人指定呈該各自機器人之C空間中之目標之一最佳化有序清單之形式之待執行之一各自任務序列及在該等目標之一或多者處之一或多個停留持續時間之一經最佳化任務分配,及提供指定一組無碰撞路徑之一經最佳化運動規劃,該組無碰撞路徑指定目標之該有序清單中之各對連續目標之間之一各自無碰撞路徑。
  3. 如請求項1或2中任一項之方法,其進一步包括: 針對候選解決方案之該群體C之該等候選解決方案之各者,經由藉由一機器人環境模擬器執行之模型化判定完成該等任務序列之一各自時間及表示在完成該等任務序列時發生之一碰撞之一比率或一概率之一各自碰撞值。
  4. 如請求項3之方法,其中藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化包含: 經由該最佳化引擎至少部分基於與該等候選解決方案之一者相關聯之一各自成本選擇該候選解決方案,該各自成本至少部分基於針對該各自候選解決方案判定之完成該等任務序列之該時間及該碰撞值。
  5. 如請求項3之方法,其中經由藉由一最佳化引擎之模型化判定完成該等任務序列之一各自時間及表示發生之一碰撞之一比率或一概率之一各自碰撞值包含: 經由該多機器人環境模擬器虛擬地執行該等任務序列之各任務; 針對複數個時期之各時期,經由該多機器人環境模擬器取樣該等機器人之至少一者之一部分之一C空間位置;及 使用向前運動學檢查碰撞以識別該等機器人之一各自者之一或多個部分與該等機器人之該各自者之另一部分之間、該等機器人之該各自者與該環境中之該等機器人之另一者之間及該等機器人之該各自者與該多機器人操作環境中非另一機器人之另一物件之間之潛在碰撞。
  6. 如請求項5之方法,其中任務之該有序清單等效於該機器人之該C空間中之軌跡之一有序清單且包含複數個軌跡、在一或多個姿勢處之一或多個停留持續時間、一原位姿勢及該機器人之該C空間中之一或多個其他經定義功能姿勢,且虛擬地執行包含虛擬地執行以下項:該複數個軌跡及以下項之一或多者:在一或多個姿勢處之該一或多個停留持續時間、該原位姿勢或該一或多個其他經定義功能姿勢。
  7. 如請求項1或2之方法,其進一步包括: 針對C候選解決方案之該群體中之數個候選解決方案之各者,針對至少一個反覆: 擾動該各自候選解決方案以產生一經擾動候選解決方案; 模型化該經擾動候選解決方案; 判定該經擾動候選解決方案是否具有比該各自候選解決方案更低之一相關聯成本;及 回應於該經擾動候選解決方案具有比該各自候選解決方案更低之一相關聯成本之一判定,使用該經擾動候選解決方案替換C候選解決方案之該群體中之該各自候選解決方案。
  8. 如請求項7之方法,重複該擾動、該模型化、該判定及該替換達多個反覆直至達到一收斂之一發生、對反覆之數目之一限制或對反覆時間之一限制。
  9. 如請求項7之方法,其中擾動該各自候選解決方案以產生一經擾動候選解決方案包含擾動一候選解決方案向量,該候選解決方案向量包含複數個實數向量元素,各任務一個實數向量元素,該等實數向量元素表示該等任務之一各自者之一各自組合、該等任務之該各自者之一優先權及經識別執行該等任務之該各自者之該等機器人之一者。
  10. 如請求項1或2之方法,其進一步包括: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型及一組任務之輸入。
  11. 如請求項1或2之方法,其進一步包括: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型、一組任務及以下項之至少一者之輸入:在該等機器人之至少一者執行至少一個任務時停留在一或多個目標處之一或多個停留持續時間、對變量之一組界限或約束或指定對模擬碰撞之一時間限制之一組時間間隔。
  12. 如請求項11之方法,其中接收輸入包含接收進一步包含以下項之至少一者之輸入:對容許在該多機器人操作環境中操作之機器人之一總數之一限制及每一機器人容許之任務之一最大數目。
  13. 如請求項1或2之方法,其中該群體產生器係一偽隨機群體產生器且其中經由一群體種子產生器產生C候選解決方案之一群體包含經由該偽隨機群體產生器偽隨機產生C候選解決方案之該群體。
  14. 如請求項1或2之方法,其中經由一群體產生器產生C候選解決方案之一群體包含產生比C候選解決方案之一純偽隨機產生群體具有為一無效候選解決方案之一更低概率之C候選解決方案之該群體。
  15. 如請求項1或2之方法,其中藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化包含選擇具有以下項之一經共同最佳化組合之一經最佳化候選解決方案:各機器人之各自基座之一各自經最佳化基座位置及定向、一經最佳化任務分配及一經最佳化運動規劃。
  16. 一種用於針對複數個機器人將操作之一多機器人操作環境建置複數個機器人之基於處理器之系統,該基於處理器之系統包括: 至少一個處理器;及 至少一個非暫時性處理器可讀媒體,其儲存資料及處理器可執行指令之至少一者,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器執行如請求項1至15中任一項之方法。
  17. 一種用於針對複數個機器人將操作之一多機器人操作環境建置複數個機器人之基於處理器之系統,該基於處理器之系統包括: 至少一個處理器;及 至少一個非暫時性處理器可讀媒體,其儲存資料及處理器可執行指令之至少一者,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由一群體產生器產生C候選解決方案之一群體,C候選解決方案之該群體中之該等候選解決方案之各者針對該等機器人之各者指定:一各自基座位置及定向、至少一個經定義姿勢之一各自組及一各自目標序列,其中該各自基座位置及定向指定該各自機器人之一基座在該多機器人操作環境中之一各自位置及定向,至少一個經定義姿勢之該各自組指定該各自機器人在該多機器人操作環境中之至少一各自原位姿勢,且該各自目標序列包括該各自機器人移動通過以完成一各自任務序列之目標之一各自有序清單; 藉由跨以下項之兩者或更多者之一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化:該等機器人之該各自基座位置及定向、對該等機器人之各自者之該等任務之一分配及該等機器人之該等各自目標序列;及 提供以下項作為輸出:該等機器人之各者之該各自基座位置及定向、該等機器人之各者之一各自任務分配及該等機器人之各者之一各自運動規劃。
  18. 如請求項17之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器提供以下項作為輸出:針對各機器人指定呈該各自機器人之C空間中之目標之一最佳化有序清單之形式之待執行之一各自任務序列及在該等目標之一或多者處之一或多個停留持續時間之一經最佳化任務分配,及指定一組無碰撞路徑之一經最佳化運動規劃,該組無碰撞路徑指定目標之該有序清單中之各對連續目標之間之一各自無碰撞路徑。
  19. 如請求項17或18中任一項之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 針對候選解決方案之該群體C之該等候選解決方案之各者,經由藉由一機器人環境模擬器執行之模型化判定完成該等任務序列之一各自時間及表示在完成該等任務序列時發生之一碰撞之一比率或一概率之一各自碰撞值。
  20. 如請求項19之基於處理器之系統,其中為了藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由該最佳化引擎至少部分基於與該等候選解決方案之一者相關聯之一各自成本選擇該候選解決方案,該各自成本至少部分基於針對該各自候選解決方案判定之完成該等任務序列之該時間及該碰撞值。
  21. 如請求項19之基於處理器之系統,其中為了經由藉由一最佳化引擎之模型化判定完成該等任務序列之一各自時間及表示發生之一碰撞之一比率或一概率之一各自碰撞值,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器: 經由該多機器人環境模擬器虛擬地執行該等任務序列之各任務; 針對複數個時期之各時期,經由該多機器人環境模擬器取樣該等機器人之至少一者之一部分之一C空間位置;及 使用向前運動學檢查碰撞以識別該等機器人之一各自者之一或多個部分與該等機器人之該各自者之另一部分之間、該等機器人之該各自者與該環境中之該等機器人之另一者之間及該等機器人之該各自者與該多機器人操作環境中非另一機器人之另一物件之間之潛在碰撞。
  22. 如請求項21之基於處理器之系統,其中任務之該有序清單等效於該機器人之該C空間中之軌跡之一有序清單且包含複數個軌跡、在一或多個姿勢處之一或多個停留持續時間、一原位姿勢及該機器人之該C空間中之一或多個其他經定義功能姿勢,且為了虛擬地執行各任務,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器虛擬地執行該複數個軌跡及以下項之一或多者:在一或多個姿勢處之一或多個停留持續時間、該原位姿勢或該一或多個其他經定義功能姿勢。
  23. 如請求項17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 針對C候選解決方案之該群體中之數個候選解決方案之各者,針對至少一個反覆: 擾動該各自候選解決方案以產生一經擾動候選解決方案; 模型化該經擾動候選解決方案; 判定該經擾動候選解決方案是否具有比該各自候選解決方案更低之一相關聯成本;及 回應於該經擾動候選解決方案具有比該各自候選解決方案更低之一相關聯成本之一判定,使用該經擾動候選解決方案替換C候選解決方案之該群體中之該各自候選解決方案。
  24. 如請求項23之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步重複該擾動、該模型化、該判定及該替換達多個反覆直至達到一收斂之一發生、對反覆之數目之一限制或對反覆時間之一限制。
  25. 如請求項23之基於處理器之系統,其中為了擾動該各自候選解決方案以產生一經擾動候選解決方案,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器擾動一候選解決方案向量,該候選解決方案向量包含複數個實數向量元素,各任務一個實數向量元素,該等實數向量元素表示該等任務之一各自者之一各自組合、該等任務之該各自者之一優先權及經識別執行該等任務之該各自者之該等機器人之一者。
  26. 如請求項17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型及一組任務之輸入。
  27. 如請求項17或18之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步: 接收包含該多機器人操作環境之至少一個模型、將在該多機器人操作環境中操作之該等機器人之至少兩者之各者之一各自模型、一組任務及以下項之至少一者之輸入:在該等機器人之至少一者執行至少一個任務時停留在一或多個目標處之一或多個停留持續時間、對變量之一組界限或約束或指定對模擬碰撞之一時間限制之一組時間間隔。
  28. 如請求項27之基於處理器之系統,其中該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器進一步接收以下項之至少一者作為輸入:對容許在該多機器人操作環境中操作之機器人之一總數之一限制及每一機器人容許之任務之一最大數目。
  29. 如請求項17或18之基於處理器之系統,其中該群體產生器係一偽隨機群體產生器且其中C候選解決方案之一群體經由一群體種子產生器之產生包含C候選解決方案之該群體經由該偽隨機群體產生器之偽隨機產生。
  30. 如請求項17或18之基於處理器之系統,其中C候選解決方案之一群體經由一群體產生器之產生包含比C候選解決方案之一純偽隨機產生群體具有為一無效候選解決方案之一更低概率之C候選解決方案之該群體之產生。
  31. 如請求項17或18之基於處理器之系統,其中為了藉由跨一組兩個或更多個非均質參數共同最佳化之一最佳化引擎對C候選解決方案之該群體執行一最佳化,該等處理器可執行指令在藉由該至少一個處理器執行時引起該處理器選擇具有以下項之一經共同最佳化組合之一經最佳化候選解決方案:各機器人之各自基座之一各自經最佳化基座位置及定向、一經最佳化任務分配及一經最佳化運動規劃。
TW110100958A 2020-01-22 2021-01-11 於多機器人操作環境中之機器人之建置 TW202146189A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062964405P 2020-01-22 2020-01-22
US62/964,405 2020-01-22

Publications (1)

Publication Number Publication Date
TW202146189A true TW202146189A (zh) 2021-12-16

Family

ID=76856677

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110100958A TW202146189A (zh) 2020-01-22 2021-01-11 於多機器人操作環境中之機器人之建置

Country Status (6)

Country Link
US (1) US11623346B2 (zh)
EP (1) EP4045240A4 (zh)
JP (1) JP7489727B2 (zh)
CN (1) CN115003460A (zh)
TW (1) TW202146189A (zh)
WO (1) WO2021150439A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014118001A1 (de) * 2014-12-05 2016-06-09 Broetje-Automation Gmbh Verfahren zur Bewegungssimulation eines Manipulators
JP7178900B2 (ja) * 2018-12-28 2022-11-28 川崎重工業株式会社 ロボットの作業計画作成方法および作業計画作成装置
WO2021149757A1 (ja) * 2020-01-24 2021-07-29 哲也 小野 情報処理装置、情報処理方法およびプログラム
WO2022241550A1 (en) 2021-05-17 2022-11-24 Cobionix Corporation Proximity sensing autonomous robotic systems and apparatus
CN114089755B (zh) * 2021-11-16 2024-02-02 大连理工大学 一种基于一致性包算法的多机器人任务分配方法
US20230182302A1 (en) * 2021-12-10 2023-06-15 Autodesk, Inc. Techniques for robotic workcell design
CN114167808B (zh) * 2021-12-10 2022-07-01 南京航空航天大学 一种面向整体增材制造的多机器人柔性生产线的运行方法
TW202415506A (zh) * 2022-07-05 2024-04-16 美商即時機器人股份有限公司 穩健運動規劃及/或用於多機器人環境之控制
DE102022124067A1 (de) * 2022-09-20 2024-03-21 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium
WO2024073245A1 (en) * 2022-09-27 2024-04-04 Realtime Robotics, Inc. Automated configuration of robots in multi-robot operational environment optimizing for wear and other parameters
CN115847394B (zh) * 2022-10-21 2023-10-10 圣名科技(广州)有限责任公司 控制机械臂抓取对象的方法和装置、电子设备和存储介质
CN116276978A (zh) * 2023-02-17 2023-06-23 广州明珞装备股份有限公司 基于机器人等待时长的轨迹分析方法、系统、介质及设备
CN117381805B (zh) * 2023-12-13 2024-02-27 成都航空职业技术学院 一种面向冲突应对的机械臂运行控制方法和系统
CN118024262B (zh) * 2024-04-11 2024-07-26 深圳市普渡科技有限公司 运行状态检测方法、装置、设备和存储介质

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862373A (en) 1987-05-13 1989-08-29 Texas Instruments Incorporated Method for providing a collision free path in a three-dimensional space
US4949277A (en) 1988-03-09 1990-08-14 North American Philips Corporation Differential budding: method and apparatus for path planning with moving obstacles and goals
US6089742A (en) 1989-11-01 2000-07-18 Warmerdam; Thomas P. H. Method and apparatus for controlling robots and the like using a bubble data hierarchy placed along a medial axis
US5544282A (en) 1991-04-05 1996-08-06 Chen; Pang C. Method and apparatus for planning motions of robot manipulators
US5347459A (en) 1993-03-17 1994-09-13 National Research Council Of Canada Real time collision detection
US5835684A (en) 1994-11-09 1998-11-10 Amada Company, Ltd. Method for planning/controlling robot motion
US6004016A (en) * 1996-08-06 1999-12-21 Trw Inc. Motion planning and control for systems with multiple mobile objects
US5795297A (en) 1996-09-12 1998-08-18 Atlantis Diagnostics International, L.L.C. Ultrasonic diagnostic imaging system with personal computer architecture
US6049756A (en) 1997-11-12 2000-04-11 Lockheed Martin Corporation System and method for avoiding collision between vector and solid objects
JPH11296229A (ja) 1998-02-13 1999-10-29 Komatsu Ltd 車両の誘導装置
DE19831216A1 (de) 1998-07-03 2000-01-05 Amecon Gmbh Verfahren und Vorrichtung zur Bestimmung der Abhängigkeit einer ersten Meßgröße von einer zweiten Meßgröße
US6259988B1 (en) 1998-07-20 2001-07-10 Lockheed Martin Corporation Real-time mission adaptable route planner
US6526373B1 (en) 1999-10-08 2003-02-25 Dassault Systemes Optimization tool for robot placement
JP2002073130A (ja) 2000-06-13 2002-03-12 Yaskawa Electric Corp ロボットの大域動作経路計画方法とその制御装置
DE10063722C2 (de) 2000-12-20 2003-07-03 Siemens Ag Ruckbegrenzung mit Adaption der Bahndynamik
JP2003127077A (ja) 2001-10-19 2003-05-08 Komatsu Ltd 作業ロボットのロボットプログラム修正装置。
DE10200680B4 (de) 2002-01-10 2004-03-25 Siemens Ag Minimale Schwingungsanregung beim Verfahren mit Ruckbegrenzung durch Adaption von Ruckprofilen
US10065317B2 (en) 2016-06-30 2018-09-04 General Electric Company Control system for coordinating robotic machines to collaborate on tasks
US7130716B2 (en) 2003-04-22 2006-10-31 Berkeley Process Control, Inc. System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints
JP3797986B2 (ja) 2003-07-03 2006-07-19 ファナック株式会社 ロボットオフラインシミュレーション装置
JP3834307B2 (ja) 2003-09-29 2006-10-18 ファナック株式会社 ロボットシステム
US7447593B2 (en) 2004-03-26 2008-11-04 Raytheon Company System and method for adaptive path planning
EP1738232A4 (en) 2004-04-22 2009-10-21 Frontline Robotics ARCHITECTURE OF OPEN CONTROL SYSTEM FOR AUTONOMOUS MOBILE SYSTEMS
DE602005006126T2 (de) 2004-06-15 2009-07-02 Abb Ab Verfahren und system zur off-line-programmierung von mehreren interagierenden robotern
DE102004059966B3 (de) 2004-12-13 2006-06-22 Siemens Ag Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine
JP2006224740A (ja) 2005-02-16 2006-08-31 Advics:Kk 車両用走行支援装置
US20060235610A1 (en) 2005-04-14 2006-10-19 Honeywell International Inc. Map-based trajectory generation
US20060247852A1 (en) 2005-04-29 2006-11-02 Kortge James M System and method for providing safety-optimized navigation route planning
JP5112666B2 (ja) 2006-09-11 2013-01-09 株式会社日立製作所 移動装置
DE602006003435D1 (de) 2006-09-14 2008-12-11 Abb Research Ltd Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
US7974737B2 (en) 2006-10-31 2011-07-05 GM Global Technology Operations LLC Apparatus and method of automated manufacturing
EP1972415B1 (en) 2007-03-23 2019-01-02 Honda Research Institute Europe GmbH Robots with collision avoidance functionality
US7865277B1 (en) 2007-05-07 2011-01-04 The United States Of America As Represented By The Secretary Of The Navy Obstacle avoidance system and method
US8380424B2 (en) 2007-09-28 2013-02-19 The Boeing Company Vehicle-based automatic traffic conflict and collision avoidance
EP2085279B1 (en) 2008-01-29 2011-05-25 Ford Global Technologies, LLC A system for collision course prediction
WO2009103335A1 (en) 2008-02-20 2009-08-27 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
US8571745B2 (en) 2008-04-10 2013-10-29 Robert Todd Pack Advanced behavior engine
US8315738B2 (en) * 2008-05-21 2012-11-20 Fanuc Robotics America, Inc. Multi-arm robot system interference check via three dimensional automatic zones
US9144904B2 (en) 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US8706452B2 (en) 2008-06-26 2014-04-22 Siemens Product Lifecycle Management Software Inc. System and method for collision-free CAD design of pipe and tube paths
JP5086942B2 (ja) 2008-09-02 2012-11-28 トヨタ自動車株式会社 経路探索装置、経路探索方法、及び経路探索プログラム
KR101554515B1 (ko) 2009-01-07 2015-09-21 삼성전자 주식회사 로봇의 경로계획장치 및 그 방법
KR101105325B1 (ko) 2009-09-08 2012-01-16 부산대학교 산학협력단 실제 로봇의 다중 경로계획 방법
US8386080B2 (en) 2009-09-15 2013-02-26 Harris Corporation Robotic apparatus implementing collision avoidance scheme and associated methods
JP4975075B2 (ja) 2009-09-30 2012-07-11 クラリオン株式会社 ナビゲーション装置および経路演算方法
US9643316B2 (en) 2009-10-27 2017-05-09 Battelle Memorial Institute Semi-autonomous multi-use robot system and method of operation
US20110153080A1 (en) 2009-12-22 2011-06-23 Siemens Product Lifecycle Management Software Inc. Method and apparatus for industrial robotic pathscycle time optimization using fly by
US20120061155A1 (en) 2010-04-09 2012-03-15 Willow Garage, Inc. Humanoid robotics system and methods
JP2011249711A (ja) 2010-05-31 2011-12-08 Kyocera Corp 配線基板およびその実装構造体
US8855812B2 (en) 2010-07-23 2014-10-07 Chetan Kapoor System and method for robot safety and collision avoidance
JP2012056023A (ja) 2010-09-09 2012-03-22 Toyota Motor Corp ロボットの動作生成システム及び動作生成方法
WO2012040644A1 (en) 2010-09-24 2012-03-29 Evolution Robotics, Inc. Systems and methods for vslam optimization
US8509982B2 (en) 2010-10-05 2013-08-13 Google Inc. Zone driving
JP2012190405A (ja) 2011-03-14 2012-10-04 Toyota Motor Corp 経路情報修正装置、軌道計画装置、及びロボット
JP5774361B2 (ja) 2011-04-28 2015-09-09 本田技研工業株式会社 軌道計画方法、軌道計画システム及び軌道計画・制御システム
JP2012243029A (ja) 2011-05-18 2012-12-10 Toyota Central R&D Labs Inc 経路探索機能付き移動体
US9469035B2 (en) 2011-06-29 2016-10-18 Mitsubishi Electric Corporation Component supply apparatus
TW201318793A (zh) 2011-11-08 2013-05-16 Univ Minghsin Sci & Tech 機器人光學定位系統及其定位方法
JP6415427B2 (ja) 2012-03-22 2018-10-31 イスラエル エアロスペース インダストリーズ リミテッド 自律ミッションの計画および監視
JP5724919B2 (ja) 2012-03-22 2015-05-27 トヨタ自動車株式会社 軌道生成装置、移動体、軌道生成方法及びプログラム
KR20130112507A (ko) 2012-04-04 2013-10-14 인하대학교 산학협력단 S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법
JP6128767B2 (ja) 2012-07-05 2017-05-17 キヤノン株式会社 ロボット制御装置、及びロボット制御方法
KR101441187B1 (ko) 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
JP6069923B2 (ja) 2012-07-20 2017-02-01 セイコーエプソン株式会社 ロボットシステム、ロボット、ロボット制御装置
JP2015526309A (ja) 2012-08-31 2015-09-10 リシンク ロボティクス インコーポレイテッド 安全ロボット動作のためのシステムおよび方法
WO2014056533A1 (en) 2012-10-11 2014-04-17 Abb Technology Ltd A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position
KR102009482B1 (ko) 2012-10-30 2019-08-14 한화디펜스 주식회사 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체
US9405296B2 (en) 2012-12-19 2016-08-02 Elwah LLC Collision targeting for hazard handling
US8972057B1 (en) 2013-01-09 2015-03-03 The Boeing Company Systems and methods for generating a robotic path plan in a confined configuration space
US9227323B1 (en) 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
JP5962560B2 (ja) 2013-03-22 2016-08-03 トヨタ自動車株式会社 経路探索装置、移動体、経路探索方法及びプログラム
US9280899B2 (en) 2013-08-06 2016-03-08 GM Global Technology Operations LLC Dynamic safety shields for situation assessment and decision making in collision avoidance tasks
JP6057862B2 (ja) 2013-08-29 2017-01-11 三菱電機株式会社 部品供給装置および部品供給装置のプログラム生成方法
US9352465B2 (en) 2013-11-12 2016-05-31 Canon Kabushiki Kaisha Control method for robot apparatus and robot apparatus
WO2015113203A1 (en) 2014-01-28 2015-08-06 Abb Technology Ltd Method and apparatus for optimizing performance of robotic cell
JP5897624B2 (ja) 2014-03-12 2016-03-30 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
JP5877867B2 (ja) 2014-04-25 2016-03-08 ファナック株式会社 複数台のロボットのシミュレーション装置
DE102014212898A1 (de) 2014-07-03 2016-01-07 Robert Bosch Gmbh Verfahren zum Ermitteln einer Notfall-Trajektorie und Verfahren zum teilautomatisierten oder automatisierten Führen eines Ego-Fahrzeugs
US11576543B2 (en) 2014-07-18 2023-02-14 Ali Ebrahimi Afrouzi Robotic vacuum with rotating cleaning apparatus
US9403275B2 (en) 2014-10-17 2016-08-02 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system
JP5980873B2 (ja) 2014-10-17 2016-08-31 ファナック株式会社 ロボットの干渉領域設定装置
US20160121487A1 (en) 2014-11-03 2016-05-05 Qualcomm Incorporated Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior
JP6598090B2 (ja) 2015-01-26 2019-10-30 デューク・ユニバーシティ 記憶媒体、ロボット動作を計画する方法、ロボット動作を計画するハードウェア、及びロボット
CN107206590B (zh) 2015-02-13 2021-02-05 Abb瑞士股份有限公司 用于避免两个机器人之间的碰撞的方法
US10019006B2 (en) 2015-04-08 2018-07-10 University Of Maryland, College Park Surface vehicle trajectory planning systems, devices, and methods
US9687982B1 (en) 2015-05-27 2017-06-27 X Development Llc Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot
US20160357187A1 (en) 2015-06-05 2016-12-08 Arafat M.A. ANSARI Smart vehicle
US20170004406A1 (en) 2015-06-30 2017-01-05 Qualcomm Incorporated Parallel belief space motion planner
US9707681B2 (en) 2015-07-27 2017-07-18 Siemens Industry Software Ltd. Anti-collision management of overlapping robotic movements
KR101724887B1 (ko) 2015-08-10 2017-04-07 현대자동차주식회사 전방 도로 형상과 연결을 분석해 차선 변경과 타이밍을 결정하는 자율주행 제어 장치 및 방법
JP6760297B2 (ja) 2015-09-29 2020-09-23 ソニー株式会社 信号処理装置、信号処理方法およびプログラム
KR20170044987A (ko) 2015-10-16 2017-04-26 한국전기연구원 저크가 제한된 궤적 생성 방법
KR101748632B1 (ko) 2015-10-29 2017-06-20 한국과학기술연구원 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법
US10496766B2 (en) 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
US9632502B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
EP3171133B1 (en) 2015-11-19 2020-03-11 Sikorsky Aircraft Corporation Kinematic motion planning with regional planning constraints
US10093021B2 (en) 2015-12-02 2018-10-09 Qualcomm Incorporated Simultaneous mapping and planning by a robot
US10012984B2 (en) 2015-12-14 2018-07-03 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling autonomous vehicles
US10705528B2 (en) 2015-12-15 2020-07-07 Qualcomm Incorporated Autonomous visual navigation
US10665115B2 (en) 2016-01-05 2020-05-26 California Institute Of Technology Controlling unmanned aerial vehicles to avoid obstacle collision
US10035266B1 (en) 2016-01-18 2018-07-31 X Development Llc Generating robot trajectories using a real time trajectory generator and a path optimizer
JP6576255B2 (ja) 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
US9645577B1 (en) 2016-03-23 2017-05-09 nuTonomy Inc. Facilitating vehicle driving and self-driving
WO2017168187A1 (en) * 2016-03-31 2017-10-05 Siemens Industry Software Ltd. Method and system for determining optimal positioning of a plurality of robots in a simulated production environment
EP3452340B1 (en) 2016-05-05 2020-09-30 Harman International Industries, Incorporated Systems and methods for driver assistance
US9687983B1 (en) 2016-05-11 2017-06-27 X Development Llc Generating a grasp pose for grasping of an object by a grasping end effector of a robot
US9880561B2 (en) 2016-06-09 2018-01-30 X Development Llc Sensor trajectory planning for a vehicle
US11429105B2 (en) 2016-06-10 2022-08-30 Duke University Motion planning for autonomous vehicles and reconfigurable motion planning processors
US9981383B1 (en) 2016-08-02 2018-05-29 X Development Llc Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s)
US10345815B2 (en) 2016-09-14 2019-07-09 Qualcomm Incorporated Motion planning and intention prediction for autonomous driving in highway scenarios via graphical model-based factorization
US10131053B1 (en) 2016-09-14 2018-11-20 X Development Llc Real time robot collision avoidance
DE102016120763B4 (de) 2016-10-31 2019-03-14 Pilz Gmbh & Co. Kg Verfahren zur kollisionsfreien Bewegungsplanung
US20190346275A1 (en) 2016-11-09 2019-11-14 Inventive Cogs (Campbell) Limited Vehicle route guidance
KR102518532B1 (ko) 2016-11-11 2023-04-07 현대자동차주식회사 자율주행차량의 경로 결정장치 및 그 방법
US10012988B2 (en) 2016-11-29 2018-07-03 Mitsubishi Electric Research Laboratories, Inc. Methods and systems for path planning using a network of safe-sets
US10480947B2 (en) 2016-12-21 2019-11-19 X Development Llc Boolean satisfiability (SAT) reduction for geometry and kinematics agnostic multi-agent planning
US10296012B2 (en) 2016-12-21 2019-05-21 X Development Llc Pre-computation of kinematically feasible roadmaps
US10882185B2 (en) 2017-02-07 2021-01-05 Veo Robotics, Inc. Dynamically determining workspace safe zones with speed and separation monitoring
US11541543B2 (en) 2017-02-07 2023-01-03 Veo Robotics, Inc. Dynamic, interactive signaling of safety-related conditions in a monitored environment
DE102017102749A1 (de) 2017-02-13 2018-08-16 Festo Ag Automatische Trajektorienerzeugung zur Ansteuerung eines Antriebssystems
US10430641B2 (en) 2017-03-08 2019-10-01 GM Global Technology Operations LLC Methods and systems for object tracking using bounding boxes
KR101937269B1 (ko) 2017-05-15 2019-01-14 한국생산기술연구원 로봇 모션 경로 계획방법
US11014240B2 (en) 2017-09-05 2021-05-25 Abb Schweiz Ag Robot having dynamic safety zones
US10782694B2 (en) 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
EP3486612B1 (en) 2017-11-20 2020-07-01 Robert Bosch GmbH Method for generating a trajectory
US10466707B2 (en) 2017-12-22 2019-11-05 X Development Llc Planning robot stopping points to avoid collisions
US11738457B2 (en) 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
WO2020005993A1 (en) 2018-06-25 2020-01-02 X Development Llc Robot coordination in a shared workspace
EP3820656A4 (en) 2018-08-23 2021-08-25 Realtime Robotics, Inc. COLLISION DETECTION FOR MOTION PLANNING OF ROBOTS
US10809732B2 (en) 2018-09-25 2020-10-20 Mitsubishi Electric Research Laboratories, Inc. Deterministic path planning for controlling vehicle movement
JP7394853B2 (ja) 2018-12-04 2023-12-08 デューク・ユニバーシティ 動的物体を有する環境における運動計画を促進する装置、方法及び物品
EP3725472A1 (de) 2019-04-16 2020-10-21 Siemens Aktiengesellschaft Verfahren zum ermitteln einer trajektorie eines roboters
US11179850B2 (en) 2019-04-24 2021-11-23 Intrinsic Innovation Llc Robot motion planning
JP7222803B2 (ja) 2019-04-25 2023-02-15 株式会社日立製作所 軌道計画装置、軌道計画方法及びプログラム
GB202114202D0 (en) 2019-05-07 2021-11-17 Motional Ad Llc Systems and methods for planning and updating a vehicle's trajectory
TWI699636B (zh) 2019-05-21 2020-07-21 華邦電子股份有限公司 協同型機器人控制系統和方法

Also Published As

Publication number Publication date
JP7489727B2 (ja) 2024-05-24
WO2021150439A1 (en) 2021-07-29
US20210220994A1 (en) 2021-07-22
CN115003460A (zh) 2022-09-02
JP2023512954A (ja) 2023-03-30
EP4045240A1 (en) 2022-08-24
US11623346B2 (en) 2023-04-11
EP4045240A4 (en) 2022-12-07

Similar Documents

Publication Publication Date Title
TW202146189A (zh) 於多機器人操作環境中之機器人之建置
US20200398428A1 (en) Motion planning for multiple robots in shared workspace
US9811074B1 (en) Optimization of robot control programs in physics-based simulated environment
Michniewicz et al. Cyber-Physical-Robotics–Modelling of modular robot cells for automated planning and execution of assembly tasks
Ying et al. Cyber-physical assembly system-based optimization for robotic assembly sequence planning
Tahriri et al. Optimizing the robot arm movement time using virtual reality robotic teaching system
Jain et al. Study of issues related to constraints in FMS by ISM, fuzzy ISM and TISM
Xidias et al. Time-optimal task scheduling for two robotic manipulators operating in a three-dimensional environment
BENOTSMANE et al. SIMULATION AND TRAJECTORY OPTIMIZATION OF COLLABORATING ROBOTS BY APPLICATION OF SOLIDWORKS AND MATLAB SOFTWARE IN INDUSTRY 4.0.
Zhao et al. A learning-based multiscale modelling approach to real-time serial manipulator kinematics simulation
Andreevich et al. Designing algorithms for service robots on the basis of mivar approach
Xie et al. Base position planning of mobile manipulators for assembly tasks in construction environments
Sathuluri et al. Robust co-design of robots via cascaded optimisation
Botello-Aceves et al. Evaluating concurrent design approaches for a Delta parallel manipulator
US20230342967A1 (en) Configuration of robot operational environment including layout of sensors
Agrawal et al. Automatic disassembly sequence planning and optimization
TW202428406A (zh) 多機器人操作環境中為優化磨損和其他參數所為之機器人的自動規劃設定
Glück et al. Towards a tool-based methodology for developing software for dynamic robot teams
Shinde et al. Minimizing cycle time and energy consumption for a multi-degree serial manipulator using teaching–learning-based optimization
WO2024073245A1 (en) Automated configuration of robots in multi-robot operational environment optimizing for wear and other parameters
García-Sedano et al. Stamping line optimization using genetic algorithms and virtual 3d line simulation
US20230286156A1 (en) Motion planning and control for robots in shared workspace employing staging poses
Cao GPU-Enabled Genetic Algorithm Optimization and Path Planning of Robotic Arm for Minimizing Energy Consumption
WO2024011062A1 (en) Robust motion planning and/or control for multi-robot environments
Merlo et al. A Computer-Aided Tool for the Energy Optimization of Industrial Robots in Manufacturing Applications