JP2019500691A - 急速探索ランダム化フィードバック主体の動作計画 - Google Patents

急速探索ランダム化フィードバック主体の動作計画 Download PDF

Info

Publication number
JP2019500691A
JP2019500691A JP2018529597A JP2018529597A JP2019500691A JP 2019500691 A JP2019500691 A JP 2019500691A JP 2018529597 A JP2018529597 A JP 2018529597A JP 2018529597 A JP2018529597 A JP 2018529597A JP 2019500691 A JP2019500691 A JP 2019500691A
Authority
JP
Japan
Prior art keywords
frontier
cost
region
target
agent
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2018529597A
Other languages
English (en)
Inventor
アガルワル、サウラフ
アガモハンマディ、アリアクバル
ソマスンダラム、キラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2019500691A publication Critical patent/JP2019500691A/ja
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Peptides Or Proteins (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

エージェントがターゲットに到達するための動作計画の方法は、現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定することを含む。ウェイポイントは、ターゲットに向かうバイアスをもたせて、フロンティア領域においてサンプリングされる。ターゲットに到達するためのパスは、サンプリングされたウェイポイントのシーケンスに基づいて選択される。

Description

関連出願への相互参照
[0001]本願は、2015年12月9日に出願された、「RAPIDLY-EXPLORING RANDOMIZING FEEDBACK-BASED MOTION PLANNING」と題された、米国仮特許出願第62/265,238号の利益を主張し、その開示は、全体が参照により本明細書に明確に組み込まれる。
[0002]本開示のある特定の態様は、一般に、機械学習に関し、より具体的には、動作計画(motion planning)のシステムおよび方法を改善することに関する。
[0003]ロボットのような、自律システム(autonomous systems)にとって、不確かさ(uncertainty)を考慮して決定をする能力を有することは、望ましい。例えば、未知の環境において動作するとき、障害物を回避しながら、環境における位置からゴールまたはターゲット目的地(target destination)に向かって移動するようにロボットを制御するための計画を決定することが望ましい。しかしながら、そのような計画を決定することは、計算集約的(computationally intensive)であり、高価である。
[0004]本開示の一態様において、エージェントがターゲットに到達するための動作計画の方法が提示される。方法は、現在の時間におけるフロンティア(frontier)と次の時間におけるフロンティアとの間のフロンティア領域を決定することを含む。方法はまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングすることを含む。方法は、サンプリングされたウェイポイントのシーケンス(a sequence)に基づいてパスを選択することをさらに含む。
[0005]本開示の別の態様において、エージェントがターゲットに到達するための動作計画のための装置が提示される。装置は、メモリと、少なくとも1つのプロセッサとを含む。1つまたは複数のプロセッサは、メモリに結合され、現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するように構成される。(1つまたは複数の)プロセッサはまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングするように構成される。(1つまたは複数の)プロセッサはまた、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するようにさらに構成される。
[0006]本開示のさらに別の態様において、エージェントがターゲットに到達するための動作計画の装置が提示される。装置は、現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するための手段を含む。装置はまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングするための手段を含む。装置は、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するための手段をさらに含む。
[0007]本開示のさらに別の態様において、非一時的なコンピュータ読取り可能媒体が提示される。非一時的なコンピュータ読取り可能媒体は、エンコードされた、エージェントがターゲットに到達するための動作計画のためのプログラムコードを有する。プログラムコードは、プロセッサによって実行され、現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するためのプログラムコードを含む。プログラムコードはまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングするためのプログラムコードを含む。プログラムコードは、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するためのプログラムコードをさらに含む。
[0008]本開示の追加の特徴および利点が、下記に説明される。本開示が、本開示と同じ目的を遂行するための他の構造を修正(modifying)または設計するための基礎として容易に利用され得ることが、当業者によって理解されよう。また、そのような同等の構造(construction)が、添付された特許請求の範囲に記載される本開示の教示から逸脱しないことも、当業者によって認識されよう。さらなる目的および利点と共に、それの構成および動作の方法の両方について、本開示の特徴であると考えられる新規の特徴は、添付の図に関連して考慮されるとき、以下の説明からより良く理解されるであろう。しかしながら、図の各々は、例示および説明のみの目的で提供されており、本開示の限定の定義として意図されるものではないことは、明確に理解されるべきである。
[0009]本開示の特徴、性質、および利点は、同様の参照文字が全体を通して対応して同じである図面と共に考慮されるとき、以下に記載される詳細な説明からより明らかになるであろう。
[0010]図1は、本開示のある特定の態様に従った、汎用プロセッサを含む、システムオンチップ(SOC)を使用してニューラルネットワークを設計する例となるインプリメンテーションを例示する。 [0011]図2は、本開示の態様に従った、システムの例となるインプリメンテーションを例示する。 [0012]図3は、本開示の態様に従った、動作計画のために構成されたエージェントの例となるアーキテクチャを例示するブロック図である。 [0013]図4Aは、本開示の態様に従った、動作計画を例示する例となる図である。 図4Bは、本開示の態様に従った、動作計画を例示する例となる図である。 [0014]図5は、本開示の態様に従った、フロンティア主体のサンプリング(frontier-based sampling)を例示する例となる図である。 [0015]図6は、本開示の態様に従った、ゴールバイアストサンプリング(goal biased sampling)を例示する例となる図である。 [0016]図7は、本開示の態様による、動作計画のための方法を例示する。 図8は、本開示の態様による、動作計画のための方法を例示する。
発明の詳細な説明
[0017]添付の図面に関係して以下に記載される詳細な説明は、様々な構成の記述として意図されたものであり、ここで記述される概念が実施され得る構成だけを表すように意図されたものではない。詳細な説明は、様々な概念の完全な理解を提供することを目的とした特定の詳細を含む。しかしながら、これらの概念が、これらの特定の詳細なしで実施され得ることは、当業者にとって明らかであろう。いくつかの事例において、周知の構造およびコンポーネントが、このような概念を不明確にすることを避けるために、ブロック図形式で示される。
[0018]本教示に基づき、当業者は、本開示の範囲が、本開示のその他任意の態様と組み合わされてインプリメントされようと、あるいはそれから独立してインプリメントされようと、本開示の任意の態様をカバーするように意図されていることを理解すべきである。例えば、記載される任意の数の態様を使用して、装置がインプリメントされ得るか、または方法が実施され得る。加えて、本発明の範囲は、記載される本開示の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造と機能を使用して実施されるそのような装置または方法をカバーするように意図される。開示される本開示の任意の態様が、請求項の1つまたは複数の要素によって具現化され得ることが理解されるべきである。
[0019]「例となる(exemplary)」という用語は、ここで、「例、実例、または例示を提供する」を意味するように使用される。「例となる」ものとしてここに説明される任意の態様は、必ずしも、他の態様よりも好ましいまたは有利であるようには解釈されるべきでない。
[0020]特定の態様がここで説明されるが、これらの態様の多くの変形および置換(permutations)が、本開示の範囲内に含まれる。好ましい態様のいくつかの利益および利点が述べられるが、本開示の範囲は、特定の利益、用途または目的に限定されるようには意図されない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワークおよびプロトコルに広く適用可能であるように意図されており、そのうちのいくつかは、図面および好ましい態様の以下の説明において、例として例示される。詳細な説明および図面は、限定的ではなく、本開示の単なる例示であり、本開示の範囲は、添付された特許請求の範囲およびそれらの同等物によって定義される。
急速探索ランダム化フィードバック主体の動作計画
[0021]本開示の態様は、モバイルロボットのための動作計画を対象とし(directed to)、より具体的には、未知の環境における動作計画を対象とする。いくつかの態様において、動作計画者(motion planner)は、障害物を避けながら、ゴールに向かうエージェント(例えば、ロボット)のフィードバック制御のためのポリシーを決定し得る。
[0022]本開示の態様は、現在の位置からゴールまたはターゲット目的地までの環境において、移動ロボットのような、エージェントを移動させるためのパスを決定するために、インテリジェントサンプリングを利用し得る。つまり、従来のサンプリング主体の計画者とは異なり、サンプリングは、環境の領域が既知であるかまたは未知であるかに基づいて、区別して実施され得る。例えば、いくつかの態様において、既知の領域は、密にサンプリングされ、一方で、未知である空間または領域は、疎に(sparsely)サンプリングされ得る。
[0023]サンプル点(sampling points)は、エージェントをそれの現在の位置からターゲット目的地まで移動させるための経路を決定するために使用され得る。エージェントが環境内を移動するにつれて、環境のうちの多くが観察され、それ故、既知の領域は、拡張する。環境のうちの多くが発見されたので、目的地までの経路(例えば、新規に観察されたエリアは、障害物がパス内にあることを明らかにする)を更新することは有益であり得る。予め決定されたサンプル点を捨てて、環境を再サンプリングするのではなく、これらのサンプル点は、保存され(preserved)得る。追加のサンプリングは、限定的に実施され得る。例えば、追加のサンプリングは、既知の環境の部分(例えば、エージェントによって観察されるかまたは感知される部分)と未知の部分との間の境界(またはフロンティア)の近くの領域に制限され得る。いくつかの態様において、これらのサンプルおよびウェイポイントは、ただ、フロンティア上で挿入され得る。これらのウェイポイントは、次いで、ゴールに接続され得る。そのようにすることにおいて、計算のリソースは、(ロボットがそれまで見たことのない)環境の未知の領域に、サンプルを置かないことによって、節約され得る。いくつかの態様において、サンプリングは、ゴールの方向にこれらのウェイポイントに関してバイアスを適用することによってさらに制限され得る。このように、計算のリソースは、環境の未知の領域において、再サンプルすることまたはより多くのサンプルを取ることよりもむしろ、節約され得る。
[0024]エージェントが環境についての情報を受信するとき、急速探索ランダム化グラフ(RRG:a rapidly-exploring randomizing graph)のような、グラフが、生成されおよび維持され(maintained)得る。グラフは、サンプルまたはノードおよびサンプル間の接続を使用して、生成され得、それらはエッジと称され得る。
[0025]コストは、ゴールに向かう環境内での移動に関して決定され得る。例えば、状態コストは、サンプルまたはノードの各々に関して、決定され得る。状態コストは、環境内の(例えば、対象(subject)サンプルまたはノードにおける)特定の状態にあるエージェントに関連付けられたコストを定義し得る。エッジコストもまた、決定され得る。エッジコストは、サンプル間の接続またはエッジに沿って移動することあるいは実行することのコストを定義し得る。これらのコストは、グラフにおいて維持され得る。いくつかの態様において、動作計画者は、環境についての情報(例えば、十分なクリアランスがあるか、十分なオープンスペースがあるか、衝突が起こったか、および/または領域が既知であるかまたは未知であるかの度合い(degree))に基づいて、状態コストおよびエッジコストを継続的に更新する。このように、動作計画者は、環境における障害物に関しての確かさがある例を説明し得る。例えば、障害物が観察されており、障害物の確かさが高い場合、その状態に関連付けられたコストは、同様に高い可能性がある。他方で、障害物が観察されていたか否かに関する不確かさがある場合、コストは、確かさが高い事例よりも低いレベルに設定され得る。それ故、計画者は、衝突コストにおける(衝突のない(collision-free))妥当性(validity)または無効(invalidity)を単に考慮することだけには制限されずに、結果として、改善された計画が達成され得る。
[0026]グラフおよびコスト情報を使用して、エージェントをゴールまたはターゲット目的地に向かって移動させるための1つまたは複数の制御行動が、決定され得る。いくつかの態様において、制御行動は、受信された情報に基づいて、最善であるかまたは最も効率の良い制御行動であり得る。
[0027]図1は、本開示のある特定の態様に従った、汎用プロセッサ(CPU)またはマルチコア汎用プロセッサ(CPU)102を含み得る、システムオンチップ(SOC)100を使用した前述の動作計画の例となるイン
プリメンテーションを例示する。変数(例えば、ニューラル信号およびシナプスの重み)、計算デバイスに関連付けられたシステムパラメータ(例えば、重みを有するニューラルネットワーク)、遅延、周波数ビン情報、およびタスク情報は、ニューラルプロセッシングユニット(NPU:a neural processing unit)108に関連付けられたメモリブロック中、CPU102に関連付けられたメモリブロック中、グラフィックスプロセッシングユニット(GPU)104に関連付けられたメモリブロック中、デジタルシグナルプロセッサ(DSP)106に関連付けられたメモリブロック中、専用メモリブロック118中、に記憶され得、または複数のブロックにわたって分散され得る。汎用プロセッサ102において実行される命令は、CPU102に関連付けられたプログラムメモリからローディングされ得るか、または専用メモリブロック118からローディングされ得る。
[0028]SOC100はまた、GPU104、DSP106、接続性ブロック110、これは、第4世代ロングタームエボリューション(4GLTE)接続性、免許不要のWi−Fi接続性、USB接続性、Bluetooth(登録商標)接続性、および同類のものを含み得、および、例えば、ジェスチャを検出および認識し得るマルチメディアプロセッサ112のような、特定の機能に合わせられた(tailored to)追加の処理ブロックを含み得る。1つのインプリメンテーションにおいて、NPUは、CPU、DSP、および/またはGPUにおいてインプリメントされる。SOC100はまた、センサプロセッサ114、画像信号プロセッサ(ISP)、および/またはナビゲーション120を含み得、それは、グローバルポジショニングシステムを含み得る。
[0029]SOC100は、ARM命令セットに基づき得る。本開示の態様において、汎用プロセッサ102にローディングされた命令は、現在の時間、tにおけるフロンティアと、次の時間、t+1におけるフロンティアとの間のフロンティア領域を決定するためのコードを備え得る。汎用プロセッサ102にローディングされた命令はまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングするためのコードを備え得る。汎用プロセッサ102にローディングされた命令はまた、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するためのコードをさらに備え得る。
[0030]図2は、本開示のある特定の態様に従った、システム200の例となるインプリメンテーションを例示する。図2に例示されるように、システム200は、ここで説明される方法の様々な動作を行い得る複数のローカルプロセッシングユニット(local processing units)202を有し得る。各ローカルプロセッシングユニット202は、ローカル状態メモリ204と、ニューラルネットワークのパラメータを記憶し得るローカルパラメータメモリ206とを備え得る。加えて、ローカルプロセッシングユニット202は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP)メモリ208と、ローカル学習プログラムを記憶するためのローカル学習プログラム(LLP)メモリ210と、ローカル接続メモリ212とを有し得る。さらに、図2に例示されるように、各ローカルプロセッシングユニット202は、ローカルプロセッシングユニットのローカルメモリのための構成を提供するための構成プロセッサユニット214と、およびローカルプロセッシングユニット202間のルーティングを提供するルーティング接続プロセッシングユニット216とインタフェースし得る。
[0031]図3は、本開示の態様に従った、動作計画のために構成されたエージェント300(例えば、ロボット)の例となるアーキテクチャを例示するブロック図である。図3を参照すると、エージェント300は、センサを含み、それは、物体および環境についての他の情報をを検出する。検出情報は、認知モジュール(perception module)に供給される。認知モジュールは、検出情報を評価および/または解釈する。解釈情報は、次に、マッピングおよび状態推定ブロックに提供され得る。マッピングおよび状態推定ブロックは、エージェントの現在の状態を決定または推定するために、解釈情報を利用し得る。例えば、マッピングおよび状態推定ブロックは、環境内におけるエージェントの位置を決定し得る。いくつかの態様において、マッピングおよび状態推定ブロックは、環境のマップを決定し得る。1つの例において、マッピングおよび状態推定ブロックは、障害物および環境におけるそのような障害物の場所を識別し得る。
[0032]マップおよび/または状態推定値は、計画者に提供され得る。計画者は、マップおよび/または状態推定値に基づいて、急速探索ランダム化グラフ(RRG)を維持し得る。いくつかの態様において、計画者は、RRGを成長させ得る。計画者はまた、状態コストを決定および/または更新し得る。状態コストは、環境内において特定の状態にあるコストを備え得る。さらに、計画者は、エージェントのために次の制御行動を決定し得る。いくつかの態様において、計画者は、複数の潜在的な行動を決定し得、最も低い状態コスト、ゴールまたは目的地に最も近い近接をもらたす行動の中から行動を選択し得る。
[0033]1つの構成において、機会学習モデルは、現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するために構成される。モデルはまた、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングするように構成される。モデルは、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するためにさらに構成される。モデルは決定手段、サンプリング手段、および/または選択手段を含む。1つの態様において、決定手段、サンプリング手段、および/または選択手段は、記載された機能を行うように構成された、汎用プロセッサ102、汎用プロセッサ102に関連付けられたプログラムメモリ、メモリブロック118、ローカルプロセッシングユニット202、およびまたはルーティング接続プロセッシングユニット216であり得る。別の態様において、前述された手段は、前述された手段によって記載された機能を行うように構成された任意のモジュールまたは任意の装置であり得る。
[0034]本開示のある特定の態様によると、各ローカルプロセッシングユニット202は、モデルの所望の1つまたは複数の機能的特徴に基づいて、モデルのパラメータを決定することと、決定されたパラメータがさらに適合、調整、および更新されるときに、1つまたは複数の機能的特徴所望の機能的特徴を発展させることと、を行うように構成され得る。
[0035]図4Aは、本開示の態様に従った、インテリジェントサンプリング(intelligent sampling)を例示する例となる図である。図4Aを参照すると、エージェント402は、ターゲットまたはゴール位置408まで移動するという目的を有する環境400において動作している。障害物を回避しながら、現在のそれの位置からゴール位置408までエージェント402を移動させることが望ましい。エージェント402を移動させるための動作計画は、既知の領域または環境の観察可能な領域(例えば、領域410)の至る所で、様々な位置において、例えば、サンプル点406(2つのそのような点は、例示しやすくするために、識別される)を取ることによって、決定され得る。例えば、エージェントの既知の領域(例えば、領域410)は、エージェント402上に提供された、またはそれに接続されたカメラの視野(FOV:field of view)または見える範囲(a viewing range)によって、定義され得る。もちろん、これは単に例となるものであり、ソナー(sonar:sound navigation and ranging )、光検出と測距(LIDAR:light detection and ranging)および同類のもののような、他のセンサまたは検出システムもまた、環境を観察するために使用され得る。
[0036]いくつかの態様において、未知の領域はまた、疎にサンプリングされ得る。サンプル点(例えば、サンプル点406)を使用して、1つまたは複数のパスまたは経路は、エージェント402をゴール位置まで移動させるために決定され得る。
[0037]いくつかの事例において、ゴール位置は、エージェントの既知または観測可能な領域の外側にあり得る。図4Aの例において示されるように、ゴール位置408は、環境400の観測可能または既知の領域を超える(beyond)。つまり、領域410は、時間tにおけるエージェント402にとっての観測可能な範囲または認知の範囲を備え得る。既知の領域410および環境400の残り(例えば、未知の領域)の間の境界は、フロンティア(例えば、tにおけるフロンティア)を定義し得る。1つの例となる態様において、下記に示される、表1における擬似コードに従って、フロンティアは、定義され得る。例となる擬似コードにおいて図示されるように、エージェント(例えば、移動ロボット)に対する各方位角および仰角において、r、ψ、Φによって特定される位置におけるボクセル(voxel)は、ボクセルが既知の領域内(map mtk)にあるかどうかを決定するために吟味される(examined)。ボクセルが既知の領域(mtk)にある場合、フロンティアに対応する半径は、ボクセルが既知の領域の外側にあることが見つけられるまで増やされ得る。したがって、境界またはフロンティアは、既知の領域内の最後のボクセルの位置に基づいて、定義され得る。エージェントが移動するとき、時間t+1において観測される新規の領域はフロンティアに加えられ得、新規のフロンティアが決定され得る。
Figure 2019500691
[0038]エージェント402が、ゴール位置408に向かって環境400内にさらに移動するにつれ、エージェント402は、環境400のうちのより多くを観測または見ることができる。このように、観測されたまたは既知の領域は、拡張し、および新規のフロンティアは、決定され得る。図4Bに戻って、第2のフロンティア、tk+1におけるフロンティアは、定義される。(例えば、時間tにおける既知の領域内の)予め決定されたサンプル点406を捨て、新規に定義された既知の領域(例えば、時間tk+1における既知の領域)を再サンプリングするのではなく、本開示の態様に従って、予め決定されたサンプルは、保存され得る。追加のサンプル点はまた、既知の領域において取られ得る。いくつかの態様において、追加のサンプル点は、ただ、tにおけるフロンティアおよびtk+1におけるフロンティアによって定義されるフロンティア領域において取られる。
[0039]追加のサンプル点は、ランダムに分散され得る。例えば、図5の例となる図において、追加のサンプル点は、フロンティア領域において取られる。既知の領域は、サブ領域A−Iに分割される。領域A−Iは各々、領域におけるサンプリングの密度を例示する曲線を含む。図5において図示されるように、サンプリングの密度は、各サブ領域において、おおむね、同じである。
[0040]いくつかの態様において、より多くのサンプル点がエージェントの場所に対してゴール位置の方向にあるエリアにおいて取られるように、サンプル点の分布(distribution)は、バイアスがかけられ得る(biased)。図6は、ゴールバイアストサンプリングを例示する図である。図6を参照すると、ゴールに向けられた領域(goal directed regions)であるエリアまたはサブ領域におけるサンプリングの密度は、他の領域におけるサンプリングの密度よりも大きい場合がある。ゴールに向けられた領域は、エージェントとゴール位置との間のコーン(円錐形状物:cone)によって定義され得る。この例において、サブ領域EおよびFは、ゴールに向けられたコーンの範囲に入り得る。このように、サブ領域EおよびFにおけるサンプリングの密度は、残りのサブ領域のサンプリングの密度よりも大きい場合がある。さらに、サブ領域Eのより多くの部分がサブ領域Fよりもゴールに向けられたコーン内にあるので、サブ領域Fにおいて取られるよりも、サブ領域Eにおいて、より多くのサンプル点が取られるだろう。他の領域は、各領域において示される曲線によって表されるように、ゴールに向けられたコーンから遠くなるほどに、より低いサンプリングの密度を有する。
[0041]いくつかの態様において、エージェントからゴール位置へのゴールバイアスは、ゴールおよびサンプル状態から方位角と仰角との間のイノベーション(innovation)を以下のように定義することによって決定され得る:
Figure 2019500691
ここで、ψgoal、Φgoalは、エージェントからゴールまでの方位角および仰角を定義するベクトルであり、ψsample、Φsampleは、エージェントからサンプルまでの方位角および仰角を定義するベクトルである。
[0042]いくつかの態様において、サンプルがゴールまでのコーン内(within a cone to goal)に横たわる尤度(likelihood)は、例えば、以下によって与えられるガウス関数に従って、計算され得る。
Figure 2019500691
ここで、σψ、σΦは、方位角および仰角にわたるサンプリングにおける分散に関してユーザが定義した標準偏差である。これらの標準偏差が、小さくなるほど、ゴールに向けられたコーン(例えば、サンプリング領域)は、狭くなる。
[0043]サンプルがゴールまでのコーンの中にある尤度がしきい値を超える場合、サンプルは、保持され(retained)得る。そうでなければ、サンプルは、捨てられ得る。いくつかの態様において、ゴールまでのコーン内に横たわる尤度がしきい値を下回る特定の数のサンプルは、保持され得る。
[0044]表2は、本開示の態様に従った、サンプル点またはウェイポイントを決定するための例となる擬似コードを含む。
Figure 2019500691
[0045]サンプルのセットを決定して、現在の位置からゴールまでエージェントを移動させるための1つまたは複数の経路は、決定され得る。いくつかの態様において、ゴールまでのより短い経路は、エージェントをゴールまで移動させるための制御行動を決定するために使用され得る。
[0046]いくつかの態様において、経路の各々についてのコストは、決定され得、およびゴール位置への経路を選択するために使用され得る。(例えば、特定のサンプル点における)一状態にあるエージェントのためのコストまたは状態コストが、決定され得る。追加のコストまたはペナルティ(penalty)は、ポイントが既知の領域にあるかどうかに基づいて、含まれ得る。例えば、追加のコストは、ポイントが、分散がより高い、未知の領域にある(例えば、未知の領域にあるサンプルの位置において障害物が存在することについてさほど自信が無い)場合に、含まれ得る。表3は、状態コストを計算するために使用され得る例となる擬似コードを含む。
Figure 2019500691
[0047]加えて、エッジコストまたは状態間の接続(例えば、サンプル点)に沿って移動するための制御行動を実行するためのコストは、算出される(calculated)。例えば、エッジコストは、表4に示されるように計算され得る。
Figure 2019500691
[0048]状態コストおよびエッジコストを使用することによって、経路は、エージェントを現在の位置からゴール位置まで移動させるために選択され得る。対応する制御行動は、選択された経路に沿ってゴール位置まで移動するようにエージェントを制御するために決定され得る。
[0049]その上、エージェントが環境内に移動する、および/または環境のより多くを観測するにつれ、環境に対応するグラフは、拡張し得る。例えば、追加のサンプル点またはノードおよびそれら間の接続は、グラフに含まれ得る。コスト(例えば、状態コストおよびエッジコスト)は、急速探索ランダム化グラフ(RRG)のように、グラフにおいて維持され得る。表5は、RRGを成長させる例となる擬似コードを含む。
Figure 2019500691
[0050]RRGは、エージェントがゴールに向かって移動するときに更新され得る。表6の疑似コードにおいて示されるように、グラフは、環境のうちのより多くが観察されおよび知られるにつれて拡張され得る。グラフは、エージェントのスタート位置からゴールまたはターゲット目的地まで成長させられ得る。ターゲットが到達されていない間、処理は、マップフロンティア上の(またはフロンティア領域における)ゴールバイアスがかけられた(goal biased)点をサンプリングする。新規にサンプリングされた点にグラフGにおいて最も近い近傍(nearest neighbor)が決定される。最も近い近傍と新規にサンプリングされた点と(E−エッジおよびV−頂点)の間の接続はまた、決定され得る。いくつかの態様において、新規にサンプリングされた点(xrand)は、タイムステップにおいて、到達可能でない場合があるので、より近いサンプルxnewは、マッピングの目的のために使用され得る。したがって、xnewへの接続は、決定され得る。次に、ステートおよびエッジコストが計算され得、セーブ(saved)され得る。とりわけ、妥当性の概念が何もないので、衝突チェックは行われない。むしろ、本開示の態様は、状態コストおよびエッジコストを利用する。ダイナミック・プログラミング(DP)は、解決策において使用され得る。最善の近傍、D、は、複雑性を制限するように保たれる(kept)。エッジ、E、のセットは、最善の近傍、D、ではないエッジを含まない。
Figure 2019500691
[0051]サンプルの各々についてのコスト(状態コスト)およびそれら間の接続(エッジコスト)は、決定され得る。いくつかの態様において、ただd−bestエッジ(ここで、dは、整数である)のみが、グラフの複雑性を制限するために維持され得る。d−bestエッジは、ノードx(C)に到達するために最も低いコストを有するエッジを備え得る。これらのコストは、エージェントをゴールに向かって移動させるために、1つまたは複数の制御行動を決定するために使用され得る。
[0052]図7は、エージェントがターゲットに到達するための動作計画のための方法700を例示する。ブロック702において、処理は、現在の時間(t)におけるフロンティアと次の時間(t+1)におけるフロンティアとの間のフロンティア領域を決定する。
[0053]ブロック704において、処理は、ターゲットに向かうバイアスをもたせて、フロンティア領域におけるウェイポイントをサンプリングする。いくつかの態様において、バイアスは、エージェント(例えば、ロボットまたは車)とターゲットとの間のコーンと定義され得る。さらに、処理は、コーンがフロンティア領域と交差する領域においてより多くのサンプリングを実施し得る。
[0054]ブロック706において、処理は、サンプリングされたウェイポイントのシーケンスに基づいてパスを選択する。いくつかの態様において、ブロック708において、処理は、エージェントをいずれのサンプリングされたウェイポイントからターゲットへ導く最善の行動を随意的に選択し得る。いくつかの態様において、最善の行動は、ゴールに最も短い距離を有するパスに沿った動きを生み出す行動、ターゲットまたは同様のものまで進むために最も短い時間を有するパスに沿った動きを生み出す行動である。
[0055]処理は、ウェイポイントが既知の領域にあるかまたは未知の領域にあるかに基づいて、状態コストをさらに定義し得る。処理はまたは、エッジの周りのクリアランスの量および既知の領域(低コスト)または未知の領域(高コスト)を通過する量に基づいてエッジコストを定義する。状態コストおよびエッジ(2つのウェイポイント間の接続)コストは、継続的に更新され得る。その上、選択されたパスは、更新された状態コストおよびエッジコストに基づいて、更新され得る。
[0056]図8は、本開示の態様に従った、エージェントがターゲットに到達するための動作計画のための方法800を例示するブロック図である。ブロック802において、エージェントは、環境を観察する。エージェントは、例えば、カメラ、ソナー、LIDAR、または他のセンサ、あるいは、検知システムを介して、環境を観察し得る。ブロック804において、処理は、フロンティアを決定し得る。フロンティアは、観察されたまたは既知の領域と未知の領域との間の境界を備え得る。
[0057]ブロック806において、処理は、サンプル点を決定し得る。いくつかの態様において、サンプル点は、既知の領域全体に、ランダムに分散され得、一方で、未知の環境は、疎にサンプリングされ得る。
[0058]ブロック808において、処理は、環境のマップを成長させ得る。マップは、急速探索ランダム化グラフを備え得る。
[0059]ブロック810において、処理は、エージェントの位置からターゲットまたはゴールへの1つまたは複数のルートまたはパスに関連付けられたコストを決定し得る。コストは、状態コストおよびエッジコストを含み得る。状態コストは、サンプル点の場所、それは、ノードと呼ばれ得るが、にあるコストを備え得る。いくつかの場合では、コストは、サンプルの領域に基づき得る。例えば、コストは、所与の時間で、既知の領域におけるノードよりも未知の領域におけるノードより大きい可能性がある。
[0060]エッジは、サンプル点またはノード間の接続を備え得る。エッジコストは、エッジを横切る(traversing)ことに関連付けられたコストである。エッジのコストは、エッジの位置に基づいて、同様に決定され得る。例えば、未知の領域におけるエッジのコストは、既知の領域におけるエッジよりも大きい可能性がある。
[0061]ブロック812において、処理は、エージェントをゴールまたはターゲット位置に移動させるための動作計画を決定し得る。1つまたは複数の経路は、決定され得る。経路の各々についてのコストは、決定され得、および経路を選択するために使用され得る。さらに、制御行動は、選択された経路に従って、エージェントを移動させるために、決定され得、および実行され得る。
[0062]ブロック814において、処理は、ターゲット目的地が到達されたかどうかを評価する。ターゲットが到達されていなかった場合、処理は、ロボットが次の時間ステップにおいて移動するときに環境を観察するためにブロック802に戻り得る。ブロック804において、次のフロンティアが決定され得る。
[0063]とりわけ、処理の後続する反復において、ブロック806において、処理は、再度、サンプル点を決定し得る。しかしながら、いくつかの態様において、処理は、既知境域において予め決定されたサンプル点を保持し得る。追加のサンプル点は、現在のフロンティア(tk+1)および前のフロンティア(tk)によって定義される領域内で決定され得る。
[0064]いくつかの態様において、サンプリングは、エージェントに対するターゲットまたはゴールの方向において、さらにバイアスがかけられ得る。バイアスは、エージェント(例えば、ロボットまたは車)とターゲットとの間のコーンとして定義され得る。さらに、処理は、コーンがフロンティア領域と交差する領域においてより多くのサンプリングを実施し得る。
[0065]マップおよびコストは、更新され得(ブロック808および810)、および動作計画は、更新されたマップおよびコスト情報に基づいて、決定され得る(ブロック812)。最終的に、ターゲットまたはゴール位置は、到達された(814:YES)とき、処理は停止する。
[0066]上記で説明された方法の様々な動作は、対応する機能を行うことが可能な任意の適切な手段によって行われ得る。これら手段は、それらに限定されるものではないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェアの(1つまたは複数の)コンポーネントおよび/または(1つまたは複数の)モジュールを含み得る。一般に、図中に例示された動作がある場合、これらの動作は、同様の番号付けを有する、対応する対をなすミーンズプラスファンクションのコンポーネントを有し得る。
[0067]いくつかの態様では、方法700および800は、SOC100(図1)またはシステム200(図2)によって行われ得る。つまり、方法700および800の要素の各々は、例えば、限定するわけではないが、SOC100またはシステム200または1つまたは複数のプロセッサ(例えば、CPU102およびローカルプロセッシングユニット202)および/またはそこに含まれる他のコンポーネントによって行われ得る。
[0068]ここで使用される場合、「決定すること」という用語は、幅広い行動を包含する。例えば、「決定すること」は、算出すること、計算すること、処理すること、導出すること、調査すること、ルックアップすること(例えば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確かめること、および同類のことを含み得る。加えて、「決定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリにおけるデータにアクセスすること)、および同類のことを含み得る。さらに、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、および同類のことを含み得る。
[0069]ここで使用される場合、アイテムのリスト「のうちの少なくとも1つ」を指す表現は、単一のメンバ(members)を含む、それらのアイテムの任意の組合せを指す。例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cをカバーすることが意図される。
[0070]本開示に関連して説明された、様々な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいはここで説明された機能を行われるように設計されたこれらの任意の組合せを用いてインプリメントまたは行われ得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替案として、このプロセッサは、任意の商業的に利用可能なプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つまたは複数のマイクロプロセッサ、あるいはその他任意のこのような構成としてインプリメントされ得る。
[0071]本開示に関連して説明されたアルゴリズムまたは方法のステップは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて、具現化され得る。ソフトウェアモジュールは、当該技術分野で知られている任意の形態の記憶媒体内に存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、フラッシュメモリ、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、等を含む。ソフトウェアモジュールは、単一の命令、または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散され得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、および/または記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替案として、記憶媒体は、プロセッサと一体化され得る。
[0072]ここに開示された方法は、説明された方法を達成するための1つまたは複数のステップまたは動作を備える。方法のステップおよび/または行動は、特許請求の範囲から逸脱することなく互いに置き換えられ得る。言い換えれば、ステップまたは行動の特定の順序が明記されない限り、特定のステップおよび/または行動の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
[0073]説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ハードウェアでインプリメントされる場合、例となるハードウェア構成は、デバイス中に処理システムを備え得る。処理システムは、バスアーキテクチャを用いてインプリメントされ得る。バスは、処理システムの特定のアプリケーションおよび全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサ、機械読取り可能媒体、およびバスインタフェースを含む様々な回路を共にリンクし得る。バスインタフェースは、ネットワークアダプタを、バスを介して、特に、処理システムに接続するために使用されることができる。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様に関して、ユーザインタフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティック等)もまたバスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧レギュレータ、電力管理回路等のような様々な他の回路もリンクさせ得、これらは、当該技術分野において周知であり、従ってこれ以上説明されない。
[0074]プロセッサは、バスを管理することと、機械読取り可能媒体上に記憶されたソフトウェアの実行を含む汎用処理とを担い得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いてインプリメントされ得る。例は、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行することができるその他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他の方法で呼ばれるかにかかわらず、命令、データ、またはこれらの任意の組合せを意味するように広く解釈されるべきである。機械読取り可能媒体は、例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、またはその他任意の適切な記憶媒体、あるいはこれらの任意の組合せを含み得る。機械読取り可能媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージング材料を備え得る。
[0075]ハードウェアインプリメンテーションにおいて、機械読取り可能媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者が容易に理解するであろうように、機械読取り可能媒体、またはその任意の部分は、処理システムの外部にあり得る。例として、機械読取り可能媒体は、伝送路(transmission line)、データによって変調された搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得、これら全ては、バスインタフェースを通じてプロセッサによってアクセスされ得る。代わりに、またはこれに加えて、機械読取り可能媒体、またはその任意の部分は、事例がキャッシュおよび/または汎用レジスタファイルを有し得るように、プロセッサに組み込まれ得る。ローカルコンポーネントのような、説明された様々なコンポーネントは、特定のロケーションを有するものとして説明されているかもしれないが、それらはまた、分散型コンピューティングシステムの一部として構成されているある特定のコンポーネントのように、様々な方法で構成され得る。
[0076]処理システムは、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサと、機械読取り可能媒体の少なくとも一部分を提供する外部メモリとを有し、全てが外部バスアーキテクチャを通じて他のサポート回路と共にリンクされている、汎用処理システムとして構成され得る。代わりに、処理システムは、ここで説明されたモデルおよびシステムをインプリメントするための1つまたは複数のニューロモルフィック(neuromorphic)プロセッサを備え得る。別の代替案として、処理システムは、プロセッサと、バスインタフェースと、ユーザインタフェースと、サポート回路と、単一のチップに組み込まれた機械読取り可能媒体の少なくとも一部分とを有する特定用途向け集積回路(ASIC)を用いて、または、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、ステートマシン、ゲート論理、個別ハードウェアコンポーネント、またはその他任意の適切な回路、あるいは本開示全体にわたって説明された様々な機能を行うことができる回路の任意の組合せを用いて、インプリメントされ得る。当業者であれば、特定のアプリケーションおよびシステム全体に課せられる全体的な設計制約に依存して、処理システムに関して説明された機能をインプリメントするのに最良の方法を認識するであろう。
[0077]機械読取り可能媒体は、複数のソフトウェアモジュールを備え得る。これらソフトウェアモジュールは、プロセッサによって実行されると、様々な機能を処理システムに行わせる命令を含む。これらソフトウェアモジュールは、送信モジュールおよび受信モジュールを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス内に存在し得るか、または複数の記憶デバイスにわたって分散され得る。例として、ソフトウェアモジュールは、トリガリングイベントが生じたときに、ハードドライブからRAMにローディングされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセス速度を増やすために、命令のうちのいくつかをキャッシュにロードし得る。その後、1つまたは複数のキャッシュラインが、プロセッサによる実行のために汎用レジスタファイルにローディングされ得る。以下でソフトウェアモジュールの機能に言及する場合、そのような機能は、そのソフトウェアモジュールからの命令を実行するとき、プロセッサによってインプリメントされるということが理解されるであろう。さらに、本開示の態様が、プロセッサ、コンピュータ、機械、またはこのような態様をインプリメントする他のシステムの機能に改善をもたらすことが理解されるべきである。
[0078]ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ読取り可能媒体上で、1つまたは複数の命令またはコードとして送信または記憶され得る。コンピュータ読取り可能媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ読取り可能媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは、データ構造または命令の形式で所望のプログラムコードを記憶または搬送するために使用されることができ、かつ、コンピュータによってアクセスされることができるその他任意の媒体を備えることができる。加えて、任意の接続は、厳密にはコンピュータ読取り可能媒体と称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。ここで使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多目的ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイ(登録商標)ディスクを含み、ここでディスク(disks)は、通常磁気的にデータを再生し、一方ディスク(discs)は、レーザーを用いて光学的にデータを再生する。したがって、いくつかの態様では、コンピュータ読取り可能媒体は、非一時的なコンピュータ読取り可能媒体(例えば、有形媒体)を備え得る。加えて、他の態様では、コンピュータ読取り可能媒体は、一時的なコンピュータ読取り可能媒体(例えば、信号)を備え得る。上記の組合せもまた、コンピュータ読取り可能媒体の範囲内に含まれるべきである。
[0079]したがって、ある特定の態様は、ここで提示された動作を実行するためのコンピュータプログラム製品を備え得る。例えば、このようなコンピュータプログラム製品は、その上に命令が記憶された(および/またはエンコードされた)コンピュータ読取り可能媒体を備え得、これら命令は、ここで説明された動作を行うために1つまたは複数のプロセッサによって実行可能である。ある特定の態様に関して、コンピュータプログラム製品は、パッケージング材料を含み得る。
[0080]さらに、ここで説明された方法および技法を行うためのモジュールおよび/または他の適切な手段は、適宜、ユーザ端末および/または基地局によって、ダウンローディングされ得ること、および/または、別の方法で取得され得ることが理解されるべきである。例えば、このようなデバイスは、ここで説明された方法を行うための手段の転送を容易にするためにサーバに結合されることができる。代わりに、ここで説明された様々な方法は、ユーザ端末および/または基地局が、デバイスに記憶手段を結合または提供する際に、様々な方法を得ることができるように、記憶手段(例えば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクのような物理記憶媒体、等)を介して提供されることができる。さらに、ここで説明された方法および技法をデバイスに提供するためのその他任意の適切な技法は、利用されることができる。
[0081]特許請求の範囲は、上記に例示された厳密な構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、上記に説明された方法および装置の配置、動作および詳細において、特許請求の範囲から逸脱することなく行われ得る。

Claims (20)

  1. エージェントがターゲットに到達するための動作計画の方法であって、
    現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定することと、
    前記ターゲットに向かうバイアスをもたせて、前記フロンティア領域におけるウェイポイントをサンプリングすることと、
    前記サンプリングされたウェイポイントのシーケンスに基づいてパスを選択することと
    を備える、方法。
  2. より多くのサンプリングは、バイアスコーンが前記フロンティア領域と交差する領域において生じ、ここで、前記バイアスコーンは、前記エージェントと前記ターゲットとの間のコーンとして定義される、請求項1に記載の方法。
  3. ウェイポイントが既知の領域にあるかまたは未知の領域にあるかに基づいて、状態コストを定義することと、
    エッジの周りのクリアランスの量および前記既知の領域または前記未知の領域を通過する量に基づいてエッジコストを定義することと、
    前記エッジコストおよび前記状態コストに基づいて、前記パスを選択することと
    をさらに備える、請求項1に記載の方法。
  4. 前記状態コストおよび前記エッジコストを継続的に更新することと、
    前記更新された状態コストおよび前記更新されたエッジコストに基づいて、前記選択されたパスを更新することと
    をさらに備える、請求項3に記載の方法。
  5. 前記エージェントをいずれのサンプリングされたウェイポイントから前記ターゲットへ導く最善の行動を選択することをさらに備える、請求項1に記載の方法。
  6. エージェントがターゲットに到達するための動作計画のための装置であって、
    メモリと、
    前記メモリに結合された少なくとも1つのプロセッサ、前記少なくとも1つのプロセッサは、
    現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定することと、
    前記ターゲットに向かうバイアスをもたせて、前記フロンティア領域におけるウェイポイントをサンプリングすることと、
    前記サンプリングされたウェイポイントのシーケンスに基づいてパスを選択することと
    を行うように構成される、と
    を備える、装置。
  7. 前記少なくとも1つのプロセッサは、バイアスコーンが他の領域よりも前記フロンティア領域と交差する領域においてより多くのウェイポイントをサンプリングするようにさらに構成され、ここで、前記バイアスコーンは、前記エージェントと前記ターゲットとの間のコーンとして定義される、請求項6に記載の装置。
  8. 前記少なくとも1つのプロセッサは、
    ウェイポイントが既知の領域にあるかまたは未知の領域にあるかに基づいて、状態コストを定義することと、
    エッジの周りのクリアランスの量および前記既知の領域または前記未知の領域を通過する量に基づいてエッジコストを定義することと、
    前記エッジコストおよび前記状態コストに基づいて、前記パスを選択することと
    を行うようにさらに構成される、請求項6に記載の装置。
  9. 前記少なくとも1つのプロセッサは、
    前記状態コストおよび前記エッジコストを継続的に更新することと、
    前記更新された状態コストおよび前記更新されたエッジコストに基づいて、前記選択されたパスを更新することと、
    を行うようにさらに構成される、請求項8に記載の装置。
  10. 前記少なくとも1つのプロセッサは、前記エージェントをいずれのサンプリングされたウェイポイントから前記ターゲットへ導く最善の行動を選択するようにさらに構成される、請求項6に記載の装置。
  11. エージェントがターゲットに到達するための動作計画のための装置であって、
    現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するための手段と、
    前記ターゲットに向かうバイアスをもたせて、前記フロンティア領域におけるウェイポイントをサンプリングするための手段と、
    前記サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するための手段と
    を備える、装置。
  12. 前記サンプリング手段は、バイアスコーンが前記フロンティア領域と交差する領域においてより多くサンプリングし、ここで、前記バイアスコーンは、前記エージェントと前記ターゲットとの間のコーンとして定義される、請求項11に記載の装置。
  13. ウェイポイントが既知の領域にあるかまたは未知の領域にあるかに基づいて、状態コストを定義するための手段と、
    エッジの周りのクリアランスの量および前記既知の領域または前記未知の領域を通過する量に基づいてエッジコストを定義するための手段と、
    前記パスを選択するための前記手段は、前記エッジコストおよび前記状態コストに基づいて、前記パスを選択する、と
    をさらに備える、請求11に記載の装置。
  14. 前記状態コストおよび前記エッジコストを継続的に更新するための手段と、
    前記更新された状態コストおよび前記更新されたエッジコストに基づいて、前記選択されたパスを更新するための手段と
    をさらに備える、請求13に記載の装置。
  15. 前記エージェントをいずれのサンプリングされたウェイポイントから前記ターゲットへ導く最善の行動を選択するための手段をさらに備える、請求項11に記載の装置。
  16. エンコードされた、エージェントがターゲットに到達するための動作計画のためのプログラムコードを有する、非一時的なコンピュータ読取り可能媒体であって、前記プログラムコードは、プロセッサによって実行され、
    現在の時間におけるフロンティアと次の時間におけるフロンティアとの間のフロンティア領域を決定するためのプログラムコードと、
    前記ターゲットに向かうバイアスをもたせて、前記フロンティア領域におけるウェイポイントをサンプリングするためのプログラムコードと、
    前記サンプリングされたウェイポイントのシーケンスに基づいてパスを選択するためのプログラムコードと
    を備える、非一時的なコンピュータ読取り可能媒体。
  17. バイアスコーンが他の領域よりも前記フロンティア領域と交差する領域においてより多くのウェイポイントをサンプリングするためのプログラムコードをさらに備え、ここで、前記バイアスコーンは、前記エージェントと前記ターゲットとの間のコーンとして定義される、請求項16に記載の非一時的なコンピュータ読取り可能媒体。
  18. ウェイポイントが既知の領域にあるかまたは未知の領域にあるかに基づいて、状態コストを定義するためのプログラムコードと、
    エッジの周りのクリアランスの量および前記既知の領域または前記未知の領域を通過する量に基づいてエッジコストを定義するためのプログラムコードと、
    前記エッジコストおよび前記状態コストに基づいて、前記パスを選択するためのプログラムコードと
    をさらに備える、請求項16に記載の非一時的なコンピュータ読取り可能媒体。
  19. 前記状態コストおよび前記エッジコストを継続的に更新するためのプログラムコードと、
    前記更新された状態コストおよび前記更新されたエッジコストに基づいて、前記選択されたパスを更新するためのプログラムコードと
    をさらに備える、請求項18に記載の非一時的なコンピュータ読取り可能媒体。
  20. 前記エージェントをいずれのサンプリングされたウェイポイントから前記ターゲットへ導く最善の行動を選択するためのプログラムコードをさらに備える、請求項16に記載の非一時的なコンピュータ読取り可能媒体。
JP2018529597A 2015-12-09 2016-11-10 急速探索ランダム化フィードバック主体の動作計画 Pending JP2019500691A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562265238P 2015-12-09 2015-12-09
US62/265,238 2015-12-09
US15/192,881 US20170165835A1 (en) 2015-12-09 2016-06-24 Rapidly-exploring randomizing feedback-based motion planning
US15/192,881 2016-06-24
PCT/US2016/061426 WO2017099939A1 (en) 2015-12-09 2016-11-10 Rapidly-exploring randomizing feedback-based motion planning

Publications (1)

Publication Number Publication Date
JP2019500691A true JP2019500691A (ja) 2019-01-10

Family

ID=57406351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018529597A Pending JP2019500691A (ja) 2015-12-09 2016-11-10 急速探索ランダム化フィードバック主体の動作計画

Country Status (9)

Country Link
US (1) US20170165835A1 (ja)
EP (1) EP3387503A1 (ja)
JP (1) JP2019500691A (ja)
KR (1) KR20180092960A (ja)
CN (1) CN108369422A (ja)
BR (1) BR112018011549A2 (ja)
CA (1) CA3004442A1 (ja)
TW (1) TWI722044B (ja)
WO (1) WO2017099939A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372968B2 (en) * 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
CN106393081B (zh) * 2016-11-21 2018-10-30 深圳市小二极客科技有限公司 人机交互的机械手控制方法、终端及系统
US10303180B1 (en) * 2017-04-20 2019-05-28 X Development Llc Generating and utilizing non-uniform volume measures for voxels in robotics applications
US20190314983A1 (en) * 2018-04-17 2019-10-17 Sony Corporation Recording medium, information processing apparatus, and information processing method
JP7259274B2 (ja) 2018-11-12 2023-04-18 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
KR102097715B1 (ko) * 2019-04-29 2020-04-06 주식회사 트위니 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
CN111761582B (zh) * 2020-07-08 2021-05-18 浙江大学 一种基于随机采样的移动机械臂避障规划方法
CN113703462B (zh) * 2021-09-02 2023-06-16 东北大学 一种基于四足机器人的未知空间自主探索系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002133351A (ja) * 2000-10-25 2002-05-10 Nec Corp 最小コスト経路探索装置及びそれに用いる最小コスト経路探索方法
WO2008154228A1 (en) * 2007-06-08 2008-12-18 Honda Motor Co., Ltd. Multi-modal push planner for humanoid robots
KR101554515B1 (ko) * 2009-01-07 2015-09-21 삼성전자 주식회사 로봇의 경로계획장치 및 그 방법
KR101667029B1 (ko) * 2009-08-10 2016-10-17 삼성전자 주식회사 로봇의 경로 계획방법 및 장치
KR101691939B1 (ko) * 2009-08-10 2017-01-02 삼성전자주식회사 로봇의 경로 계획방법 및 장치
KR101667031B1 (ko) * 2009-11-02 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법

Also Published As

Publication number Publication date
KR20180092960A (ko) 2018-08-20
EP3387503A1 (en) 2018-10-17
CN108369422A (zh) 2018-08-03
BR112018011549A2 (pt) 2018-11-27
US20170165835A1 (en) 2017-06-15
WO2017099939A1 (en) 2017-06-15
TW201721100A (zh) 2017-06-16
CA3004442A1 (en) 2017-06-15
TWI722044B (zh) 2021-03-21

Similar Documents

Publication Publication Date Title
JP2019500691A (ja) 急速探索ランダム化フィードバック主体の動作計画
US10093021B2 (en) Simultaneous mapping and planning by a robot
KR102518532B1 (ko) 자율주행차량의 경로 결정장치 및 그 방법
KR102226350B1 (ko) 자율 시각 내비게이션
US20170004406A1 (en) Parallel belief space motion planner
US9881263B2 (en) Method and apparatus for deciding path of vehicle
KR20130065126A (ko) 이동체의 경로 설정 장치 및 방법
US11199841B1 (en) Methods and systems for determination of a routing policy for an autonomous vehicle
US11373412B2 (en) Obstacle map generating method and apparatus
KR102174873B1 (ko) 스토캐스틱 맵 인식 입체 시각 센서 모델
CN111142530B (zh) 一种机器人运行轨迹的确定方法、机器人和存储介质
Talwar et al. Particle Filter-based localization of a mobile robot by using a single LIDAR sensor under SLAM in ROS Environment
WO2021095464A1 (ja) ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
CN109341698B (zh) 一种移动机器人的路径选择方法及装置
KR101688302B1 (ko) 모션 플래닝 장치 및 방법
CN113867356A (zh) 机器人路径规划方法、装置及机器人
KR20180083084A (ko) 군집 무인체계 자율탐색 및 지도생성 방법
US20230273621A1 (en) Information processing apparatus, information processing method, and program
JP6428569B2 (ja) 環境地図の更新方法
KR102324099B1 (ko) 실내 이동체의 경로 계획 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
KR102097505B1 (ko) 무인기의 이동 경로 생성 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
Ryu et al. Local map-based exploration for mobile robots
US11846948B2 (en) Path planning apparatus of robot and method thereof
CN116817907A (zh) 路径生成方法、装置、服务器及存储介质
CN117232531A (zh) 机器人导航规划方法及存储介质和终端设备