JP6882296B2 - 自律視覚ナビゲーション - Google Patents

自律視覚ナビゲーション Download PDF

Info

Publication number
JP6882296B2
JP6882296B2 JP2018530846A JP2018530846A JP6882296B2 JP 6882296 B2 JP6882296 B2 JP 6882296B2 JP 2018530846 A JP2018530846 A JP 2018530846A JP 2018530846 A JP2018530846 A JP 2018530846A JP 6882296 B2 JP6882296 B2 JP 6882296B2
Authority
JP
Japan
Prior art keywords
collision
user input
map
robot
determining
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.)
Active
Application number
JP2018530846A
Other languages
English (en)
Other versions
JP2019500693A (ja
JP2019500693A5 (ja
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 JP2019500693A publication Critical patent/JP2019500693A/ja
Publication of JP2019500693A5 publication Critical patent/JP2019500693A5/ja
Application granted granted Critical
Publication of JP6882296B2 publication Critical patent/JP6882296B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • G05D1/0061Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Description

関連出願の相互参照
[0001] 本願は、米国特許法第119条(e)項に基づいて、2015年12月15日出願の「AUTONOMOUS VISUAL NAVIGATION」と題する米国仮特許出願第62/267,886号の利益を主張し、その開示は、その全体が参照によって本明細書に明確に組み込まれている。
[0002] 本開示のある特定の態様は、概して、ロボット工学(robotics)に関し、より具体的には、組み込まれた視覚ベース(vision-based)の位置推定(localization)、マッピング(mapping)、および計画(planning)に関する。
[0003] ロボット(robot)は、高い自律度(high degree of autonomy)で挙動(behavior)またはタスク(task)を行うように設計され得る。ロボットは、様々なタスクを行うための異なるモジュールおよびコンポーネントを使用し得る。例えば、ロボットは、位置推定、マッピング、および計画のための異なるコンポーネントを有し得る。位置推定は、ロボットがどこに位置するかを決定するという課題を解決することに向けられている。ロボットがその環境内のどこに位置しているかを理解するために、ロボットは、そのセンサ(sensor)から入力を受信する。
[0004] マッピングは、環境(environment)の表現を構築することに向けられている。例えば、マッピングは、環境のどの部分が占有されており、どの部分がフリースペースであるかを決定するために使用される。さらに、マッピングは、ロボットが障害物(obstacle)と衝突するのを防ぎ得る。
[0005] 計画は、ロボットが環境のレイアウトを知った後にどのようにタスクを行うべきか、およびそれが地点(point)Aから地点Bにどのように移動することになるか、を決定することに向けられている。すなわち、いくつかのケースでは、現在位置から目標(target)に動くより前に、計画段階中に評価された複数の候補軌跡(candidate trajectory)から最低コストでの目標までの軌跡(trajectory)(例えば、経路(path))を決定することが望ましい。
[0006] 本開示の1つの態様において、ロボットのための視覚ナビゲーション(visual navigation)の方法が開示される。本方法は、3次元(3D)マップ(three-dimensional (3D) map)を生成するように深度マップ(depth map)を位置推定情報(localization information)と統合すること(integrating)を含む。本方法はまた、前記3Dマップ、前記位置推定情報、またはユーザ入力(user input)に基づいて、運動計画(motion planning)を行うことを含む。前記運動計画は、前記ユーザ入力が衝突(collision)を引き起こすと予測されるとき、前記ユーザ入力を無効にする(override)。
[0007] 本開示の別の態様は、3次元マップを生成するように深度マップを位置推定情報と統合するための手段を含む装置(apparatus)に向けられている。本装置はまた、前記3Dマップ、前記位置推定情報、またはユーザ入力に基づいて、運動計画をするための手段を含む。前記運動計画は、前記ユーザ入力が衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にする。
[0008] 本開示の別の態様において、非一時的プログラムコードを記録した非一時的コンピュータ可読媒体が開示される。ロボットのための視覚ナビゲーションのためのプログラムコード(program code)がプロセッサ(processor)によって実行され、3次元マップを生成するように深度マップを位置推定情報と統合するためのプログラムコードを含む。前記プログラムコードはまた、前記3Dマップ、前記位置推定情報、またはユーザ入力に基づいて、運動計画をするためのプログラムコードを含む。前記運動計画は、前記ユーザ入力が衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にする。
[0009] 本開示の別の態様は、メモリユニット(memory unit)と、前記メモリユニットに結合された1つまたは複数のプロセッサとを有する装置に向けられている。前記プロセッサ(単数または複数)は、3次元マップを生成するように深度マップを位置推定情報と統合するように構成される。前記プロセッサ(単数または複数)はまた、前記3Dマップ、前記位置推定情報、またはユーザ入力に基づいて、運動計画をするように構成される。前記運動計画は、前記ユーザ入力が衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にする。
[0010] 本開示の追加の特徴および利点が以下に説明される。本開示が、本開示と同様の目的を遂行するための他の構成を修正または設計するための基礎として容易に利用され得ることが、当業者によって認識されるべきである。そのような同等の構成が、添付された特許請求の範囲に記載されている本開示の教示から逸脱しないこともまた、当業者によって理解されるべきである。本開示の特徴であると考えられる新規の特徴は、その編成(organization)および動作(operation)の方法の両方について、さらなる目的および利点と共に、添付の図面と関連して考慮されると、以下の説明からより良く理解されるであろう。しかしながら、図面の各々は例示および説明の目的のためだけに提供されており、本開示の限定の定義として意図されたものではないことが明確に理解されるべきである。
[0011] 同様の参照文字が全体を通して対応して同一である図面と併せて考慮されると、本開示の特徴、性質、および利点は、以下に記載されている詳細な説明からより明らかになるであろう。
[0012] 本開示のある特定の態様にしたがった、汎用プロセッサを含む、システムオンチップ(SOC)を使用する自律視覚ナビゲーション(autonomous visual navigation)の例となるインプリメンテーションを例示する図。 [0013] 本開示の態様にしたがった、システムの例となるインプリメンテーションを例示する図。 [0014] 実例的な装置における異なるモジュール/手段/コンポーネントを例示するブロック図。 [0015] 本開示の態様による、ロケーションモジュール(location module)を例示するブロック図。 [0016] 本開示の態様による、ステレオビジョンカメラ(stereo-vision cameras)の例を例示する図。 [0017] 本開示の態様による、ある環境におけるロボットの一例を例示する図。 本開示の態様による、ある環境におけるロボットの一例を例示する図。 本開示の態様による、ある環境におけるロボットの一例を例示する図。 本開示の態様による、ある環境におけるロボットの一例を例示する図。 本開示の態様による、ある環境におけるロボットの一例を例示する図。 本開示の態様による、ある環境におけるロボットの一例を例示する図。 [0018] 実例的な装置における個別のモジュール/手段/コンポーネントを例示するブロック図。 [0019] 本開示の態様による、ロボットによる自律視覚ナビゲーションのための方法についてのフロー図を例示する図。 [0020] 本開示の態様による、運動計画のための方法についてのフロー図を例示する図。
詳細な説明
[0021] 添付図面に関連して以下に述べられている詳細な説明は、様々な構成の説明として意図されており、本明細書で説明されている概念が実施されることができるのがこれら構成のみであることを表すように意図されたものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細なしに実施され得ることが当業者には明らかになるであろう。いくつかの事例では、周知の構造およびコンポーネントが、そのような概念を不明瞭にすることを避けるためにブロック図の形態で示されている。
[0022] 本教示に基づいて、当業者は、本開示の範囲が、本開示の他の任意の態様から独立してインプリメントされようと組み合わされようと、本開示の任意の態様をカバーするように意図されていることを認識するべきである。例えば、述べられている任意の数の態様を使用して、装置がインプリメントされることができる、または方法が実施されることができる。加えて、本開示の範囲は、述べられている本開示の様々な態様に加えた、他の構造物、機能性、またはそれら態様以外の構造物および機能性を使用して実施される、そのような装置または方法をカバーするように意図されている。開示されている本開示の任意の態様が、請求項の1つまたは複数の要素によって具現化され得ることが理解されるべきである。
[0023] 「実例的な(exemplary)」という用語は、本明細書では、「例、事例、または例示としての役割を果たす」という意味で使用されている。「実例的な」ものとして、本明細書で説明されている任意の態様は、必ずしも他の態様に対して好ましいまたは有利なものとして解釈されるべきではない。
[0024] 特定の態様が本明細書で説明されているが、これらの態様の多くの変形および交換が、本開示の範囲内に入る。好ましい態様のいくつかの恩恵および利点が記述されているが、本開示の範囲は、特定の恩恵、使用法、または目的に限定されるように意図されたものではない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワーク、およびプロトコルに幅広く適用可能であることが意図されており、そのうちのいくつかは、図面において、および好ましい態様の下記の説明において例として例示されている。詳細な説明および図面は、限定ではなくむしろ単に本開示を例示するものであり、本開示の範囲は、添付の特許請求の範囲およびその同等物によって定義されている。
[0025] 本開示の態様は、位置推定マッピングと運動計画を組み合わせる統合的解決法(integrated solution)に向けられている。統合的解決法は、深度マップおよび位置推定情報に基づいて運動計画を達成する。視覚慣性オドメータ(visual-inertial odometer)のような位置推定モジュール(localization module)が位置推定のために使用され得る。障害物のマッピングは、連続的なマルチビュー深度測定(successive, multi-view depth measurements)のボリュメトリック統合(volumetric integration)によって達成され得る。計画は、高速の再計画(re-planning)と組み合わされたサンプリングベースの幾何学的な計画によって達成され得る。
[0026] 手動または自律のいずれかで制御され得る、ロボットのようなシステムの場合、統合された深度マップに基づいてロボットの運動を計画することが望ましい。さらに、運動計画は、ユーザ入力を無効にすることを含み得る。
[0027] 追加的に、ロボットを、手動(例えば、スティック制御(stick control))および自律(例えば、ウェイポイント(waypoint)制御)の両方で安全に操縦(pilot)することが望ましい。操作者はさらに、手動動作(manual operation)中に収集された情報を自律動作(autonomous operation)に適用すること、およびその逆も同様に行うことを望む。さらに、計画は、手動モード(manual mode)および自律モード(autonomous mode)の両方で、ロボットが障害物へと衝突するのを防ぐように指定され得る。計画はまた、ロボットが、手動モードまたは自律モードのいずれかで動作(operate)しているときに、最低コストのルート(lowest cost route)を計画するようにも指定され得る。
[0028] さらに、ロボットは、それ自身の位置推定をし得、その結果、ロボットは位置推定のために外部システムまたは信号(例えば、グローバル測位システム(global positioning system)およびビーコン)に頼らない。1つの構成において、ロボットは、光およびエネルギー使用を向上させるセンサを含む。
[0029] 本開示の態様は、組み込まれた視覚ベースの位置推定、マッピング、および計画を有するロボットに向けられており、その結果、ロボットは、目標ロケーションまで運動計画をすることができる。1つの構成において、運動計画は、ユーザ入力を無効にする。
[0030] 図1は、本開示のある特定の態様にしたがった、汎用プロセッサ(CPU)またはマルチコア汎用プロセッサ(CPU)102を含み得る、システムオンチップ(SOC)100を使用する、ロボットによる前述の運動計画の方法の例となるインプリメンテーションを例示している。変数(例えば、ニューラル信号(neural signal)およびシナプス荷重(synaptic weight))、計算デバイス(例えば、重みを有するニューラルネットワーク)に関連付けられたシステムパラメータ、遅延、周波数ビン情報(frequency bin information)、およびタスク情報が、ニューラル処理ユニット(NPU:neural processing unit)108に関連付けられたメモリブロックに、CPU102に関連付けられたメモリブロックに、グラフィック処理ユニット(GPU:graphics processing unit)104に関連付けられたメモリブロックに、デジタルシグナルプロセッサ(DSP:digital signal processor)106に関連付けられたメモリブロックに、専用のメモリブロック118に、記憶され得るか、または複数のブロックにまたがって分散し得る。汎用プロセッサ102において実行される命令は、CPU102に関連付けられたプログラムメモリからロードされ得るか、または専用のメモリブロック118からロードされ得る。
[0031] SOC100はまた、GPU104と、DSP106と、第4世代ロングタームエボリューション(4G LTE(登録商標))接続性、アンライセンスWi−Fi接続性、USB接続性、Bluetooth(登録商標)接続性、および同様のものを含み得る接続性ブロック(connectivity block)110と、例えば、ジェスチャを検出および認識し得るマルチメディアプロセッサ(multimedia processor)112とのような、特定の機能に合うようにされた追加の処理ブロックを含み得る。1つのインプリメンテーションにおいて、NPUは、CPU、DSP、および/またはGPUにおいてインプリメントされる。SOC100はまた、センサプロセッサ114、画像信号プロセッサ(ISP:image signal processor)、および/またはグローバル測位システムを含み得るナビゲーション(navigation)120も含み得る。
[0032] SOC100は、ARM命令セットに基づき得る。本開示の一態様において、汎用プロセッサ102へとロードされる命令は、ロケーションについての占有レベルの確率分布関数(PDF:probability distribution function)を決定するためのコードを備え得る。汎用プロセッサ102へとロードされる命令はまた、3次元(3D)マップを生成するように深度マップを位置推定情報と統合するためのコードも備え得る。汎用プロセッサ102へとロードされる命令はまた、3Dマップ、位置推定情報、および/またはユーザ入力に基づいて運動(motion)を計画するためのコードも備え得る。1つの構成において、運動計画は、ユーザ入力が衝突を引き起こすと予測されるときは、ユーザ入力を無効にする。
[0033] 図2は、本開示のある特定の態様にしたがった、システム200の例となるインプリメンテーションを例示している。図2に例示されているように、システム200は、本明細書で説明されている方法の様々な動作(operation)を行うことができる複数のローカル処理ユニット(local processing units)202を有し得る。各ローカル処理ユニット202は、ニューラルネットワーク(neural network)のパラメータを記憶することができるローカルパラメータメモリ(local parameter memory)206およびローカル状態メモリ(local state memory)204を備え得る。加えて、ローカル処理ユニット202は、ローカルモデルプログラムを記憶するためのローカル(ニューロン)モデルプログラム(LMP:local (neuron) model program)メモリ208と、ローカル学習プログラム(LLP:local learning program)を記憶するためのローカル学習プログラムメモリ210と、ローカル接続メモリ(local connection memory)212とを有し得る。さらに、図2に例示されているように、各ローカル処理ユニット202は、ローカル処理ユニットのローカルメモリのための構成を提供するための構成プロセッサユニット214、およびローカル処理ユニット202間のルーティングを提供するルーティング接続処理ユニット(routing connection processing unit)216と、インターフェースをとり得る。
[0034] 1つの構成において、ナビゲーションモデルは、3次元(3D)マップを生成するように深度マップを位置推定情報と統合することと、3Dマップ、位置推定情報、および/またはユーザ入力に基づいて運動計画をすることとを行うために構成される。1つの態様において、前述の手段は、記載された機能を行うように構成された、汎用プロセッサ102、汎用プロセッサ102に関連付けられたプログラムメモリ、メモリブロック118、ローカル処理ユニット202、およびまたはルーティング接続処理ユニット216であり得る。別の構成では、前述の手段は、これら前述の手段によって記載された機能を行うように構成された任意のモジュールまたは任意の装置であり得る。
[0035] 本開示のある特定の態様によると、各ローカル処理ユニット202は、モデルの1つまたは複数の所望の機能的特徴に基づいてモデルのパラメータを決定することと、決定されたパラメータがさらに適応、調整、および更新されるにつれて、1つまたは複数の機能的特徴を所望の機能的特徴に向けて発展させることと、を行うように構成され得る。
自律視覚ナビゲーション(AUTONOMOUS VISUAL NAVIGATION)
[0036] 従来のシステムでは、手動動作(manual operation)中、ロボットは、ロボットと障害物との間の範囲が、ある閾値よりも少ない場合、ロボットを一時停止(halt)させるために、ソナー(sonar)または超音波(ultrasound)のような、リアクティブ(reactive)(例えば、メモリレス(memoryless))システムに基づく仮想バンパーシステム(virtual bumper system)を使用することもある。仮想バンパーシステム(virtual bumper system)がメモリレスであるので、仮想バンパーは自律動作(autonomous operation)中に有用でないこともある。それゆえ、自律ロボットは、以前の測定値(measurement)に基づいて計画できない。さらに、仮想バンパーシステムは時間および姿勢(pose)にまたがってセンサ読取り値を統合しない。よって、このシステムは増加したノイズを有する。さらに、仮想バンパーシステムはリアクティブであるので、仮想バンパーシステムは、衝突を回避するために新たな軌跡(trajectory)および/または速度(velocity)を計画できない。むしろ、ロボットは衝突を回避するために動作(operation)を一時停止させ、障害物を迂回して方向転換(redirected around)されない。
[0037] 追加的に、自律動作(autonomous operation)のための従来のシステムでは、ナビゲーションのために、GPSウェイポイントのようなロケーションベースのウェイポイントをユーザが指定することを可能にするようにウェイポイントベースの方式が指定される。このシステムでは、ロボットは1つのウェイポイントから別のウェイポイントに動くように指定される。依然として、ウェイポイントベースの方式は、GPSのようなロケーションシステムを使用し、これは、屋内ロケーションまたは都市ロケーションのようないくつかのロケーションでは信頼できないこともある。さらに、ウェイポイントベースの方式は、障害物を迂回してロボットを方向転換させない。
[0038] したがって、ロボットの環境の理解およびナビゲーションを向上させるために、異なるコンポーネントを1つのロボットへと組み合わせることが望ましい。異なるコンポーネントは、ある環境内のロボットのロケーションを決定するための、視覚慣性オドメータのような位置推定モジュールと、マルチビュー深度測定値を取得するためのマッピングモジュールと、再計画と組み合わされたサンプリングベースの幾何学的な計画のための計画モジュール(planning module)とを含み得る。すなわち、前述されたように、本開示の態様は、位置推定マッピングと運動計画を組み合わせるロボットに向けられている。より具体的には、運動計画は、深度マップおよび位置推定情報を使用し得る。
[0039] 本開示の態様によると、組み合わされたコンポーネントは、マッピングモジュールから生成される障害物マップ、位置推定モジュールから取得される位置推定情報、およびユーザ入力および/または計画モジュールに基づく計画に基づいて、運動計画のために使用され得る。1つの構成において、ロボットは、軌跡および/または速度についてのユーザ入力を受信する。この構成では、ロボットは、マッピングモジュールから決定された障害物に基づいて、衝突を回避するためにユーザ入力を無効にし得る。ロボットはまた、より少ない燃料を使用するルートを選択し、および/または距離ならびに/あるいは時間が短いルートを選択するなど、ルートを改善するためにユーザ入力を無効にし得る。
[0040] ロボットは、ビジョンセンサおよび位置推定センサのような、複数のセンサモダリティ(sensor modality)を含み得る。マッピングモジュールは、深度マップを取得するために、複数の前向きカメラ(forward facing cameras)のような、ステレオビジョンセンサ(stereo-vision sensor)を使用し得る。深度測定は、ロボットからの複数地点の距離を決定する時間ステップごとに行われ得る。さらに、マッピングモジュールは、連続的な深度測定(例えば、マルチビュー深度測定)のボリュメトリック統合のために指定され得る。ロボットは、加速度計(accelerometer)および/またはジャイロスコープ(gyroscope)のような、慣性測定ユニット(inertial measurement unit)から位置推定情報を取得し得る。位置推定情報はまた、下向きセンサ(downward facing sensors)のようなセンサからも取得され得る。位置推定は、ある環境内のロボットのロケーションを指す。1つの構成において、下向きセンサは、ソナーセンサ(sonar sensor)および/またはカメラ(camera)である。
[0041] 本開示の1つの態様において、ロボットは、3次元(3D)マップのようなマップ中の適切な位置へと深度測定値を配置するために、受信された各深度測定値を、位置推定モジュールの測定値と統合する。例えば、ロボットは、第1のロケーションにおいて深度測定値を取得し得、ロボットは、それら測定値をロボットの第1のロケーションと関連付ける。追加的に、ロボットは、第1のロケーションから第2のロケーションに動き、新たな深度測定値を取得し得る。さらに、ロボットは、新たな深度測定値を第2のロケーションと関連付け得る。したがって、ロボットが環境を動き進むにつれて、深度測定値および位置推定測定値に基づいて3次元マップのようなマップが生成される。
[0042] 計画段階中、ロボットは、手動モードまたは自律モードのような動作のモード(mode of operation)に基づく運動制御(motion control)を提供し得る。例えば、手動動作のモード(manual mode of operation)では、自律システムは、速度および/または軌跡についての操縦者のコマンド(例えば、ユーザ入力)を3次元マップへと外挿(extrapolate)し、衝突についてチェックする。さらに、ロボットは、衝突を回避するため、または改善したルート(例えば、より速いルート)を計画するために、ユーザ入力を無効にし得る。自律動作モード(autonomous mode of operation)では、ロボットは、保存されたゴールまでの衝突のない経路(collision-free path)を計画するために累積マップ(accumulated map)を使用する。さらに、自律システムは、マップの更新が計画を安全でないようにする場合、ルートに沿って再計画し得る。
[0043] 図3は、本開示の一態様によるロボット300のブロック図である。図3に示されているように、ロボット300は、マッピングモジュール(mapping module)302を含み、これは、深度センサから深度測定値を受信する。深度測定は、障害物からのロボットの距離を測定する。1つの構成において、深度センサは、カメラのような、複数の前向きビジョンセンサを含む。マッピングモジュール302は、深度測定値に基づいて深度マップを生成し得る。さらに、深度マップは、3D障害物マッピングモジュール304に入力され得る。深度マップの入力は、実質的に瞬時であり得る。
[0044] 図3に示されているように、ロケーションモジュール308は、位置推定測定値および/または慣性測定値(inertial measurement)を受信する。位置推定測定値は、下向きカメラのような下向きセンサから取得され得る。さらに、慣性測定値は、加速度計および/またはジャイロスコープのような、慣性測定ユニットから取得され得る。受信された位置推定測定値および/または慣性測定値に基づいて、ロケーションモジュール308は、ロボットのロケーションを決定し、3D障害物マッピングモジュール(3D obstacle mapping module)304にそのロケーションを出力する。ロケーション情報(location information)の入力は、実質的に瞬時であり得る。
[0045] 3D障害物マッピングモジュール304は、ロボットの現在ロケーションの3Dマップを生成するように、受信されたロケーション情報を受信された深度マップと関連付ける。3Dマップは、統合された深度マップと称されることもある。時間にわたって、ロボット300が異なるロケーションに動き、異なるロケーションから深度測定値を取得するにつれて、訪れたロケーションの3Dマップが生成される。3Dマップが計画モジュール306に出力される。1つの構成において、ロボット300は、特定の速度および/または軌跡でロボット300を動かすためのユーザ入力を受信する。追加的に、ユーザ入力は、ロボット300が到達するためのゴールを設定し得る。ユーザ入力は、コンピュータまたは遠隔コントローラのような遠隔デバイスから受信され得る。
[0046] 1つの構成において、ユーザ入力がロボット300のためのゴールを設定すると、計画モジュール306が、ロボットの現在位置からゴールまでのルートを計画する。所望の経路が運動制御モジュール(motion control module)310に出力され、これは、所望の軌跡および/または速度で、計画されたルートに沿って動くようにロボットのモータを制御する。モータは、エンジン、回転ブレード(rotary blades)、および/または車輪のような、ロコモーション(locomotion)コンポーネントを制御し得る。さらに、図3に示されているように、ロケーションモジュール308は、取得されたロケーションを計画モジュール306と運動制御モジュール(motion control module)310との両方に送信し、その結果、両方のモジュールがロボットの現在ロケーションを知る。追加的に、ロボット300のロケーションが変わると、3D障害物マッピングモジュール304から生成された3Dマップが更新され得る。よって、計画モジュールは、3Dマップに対する更新に基づいて所望の経路を更新し得る。
[0047] 別の構成では、上述されたように、ロボット300は、特定の速度および/または軌跡でロボット300を動かすためのユーザ入力を受信する。この構成では、計画モジュール306は、3Dマップ中の現在ロケーションに基づいて、衝突を回避するため、または指定された速度および/または軌跡を改善するために、ユーザ入力を無効にする。無効化情報は、無効化情報に基づいてロボットのモータを制御するために運動制御モジュール310に出力され得る。当然ながら、いくつかのケースでは、計画モジュールはユーザ入力を無効にしないこともある。よって、ユーザ入力は、所望の経路として、計画モジュール306から運動制御モジュール310に出力される。
[0048] 図4は、本開示の一態様によるロケーションモジュール400の例を例示している。ロケーションモジュール400は、グローバル/ワールド座標フレーム(global/world coordinate frame)におけるロボットの姿勢を算出するために慣性測定ユニット(IMU:inertial measurement unit)データとセンサデータとを組み合わせるセンサフュージョンモジュール(sensor fusion module)であり得る。1つの構成では、ロケーションモジュールのためのセンサは下向きセンサである。依然として、本開示の態様は、下向きセンサに限定されるものではない。図4に示されているように、ロケーションモジュール400は、特徴検出器(feature detector)402、トラッカ(tracker)406、およびフィルタ(filter)404を含み得る。1つの構成では、フィルタ404は、拡張カルマンフィルタ(extended Kalman filter)である。本開示の一態様によると、特徴検出器は、カメラのような、下向きセンサからフレームを受信する。1つの構成では、カメラは、単眼カメラ(monocular camera)である。
[0049] 特徴検出器402は、受信されたフレームの特徴を検出するように構成され得る。さらに、トラッカ406は、ロボットの移動を推定するために、受信されたフレームにわたる特徴の位置における検出された変化を追跡し得る。例えば、特徴検出器402は、第1のフレーム中に10個の特徴を検出し得る。追加的に、この例では、トラッカ406は、後続のフレームにおいてそれら検出された10個の特徴を追跡し得る。よって、特徴検出器402において第2のフレームが受信されると、特徴検出器402は、第1のフレームの10個の特徴を第2のフレームから検出しようと試み、トラッカ406は、第2のフレームの10個の特徴からの第1のフレームの10個の特徴の位置の変化を決定する。位置の変化は、ロボットの移動の推定値(例えば、どのくらい遠くにロボットが動いたか)を提供する。当然ながら、10個の特徴は一例であり、本開示の態様は、特定数の特徴の検出に限定されるものではない。
[0050] 追加的に、図4に示されているように、フィルタ404は、第1のセンサおよび第2のセンサから入力を受信し得る。第1のセンサは、自己運動(self-motion)および重力による、直線的な加速度を感知する加速度計であり得る。第2のセンサは、3次元グローバルロケーション((three-dimensional global location))の方位(例えば、角度)を取得するジャイロスコープであり得る。視覚慣性オドメトリ(visual-inertial odometry)の場合、ワールドフレーム(world frame)は、第1のキャプチャされた画像のロケーションの中心に置かれ得る。よって、ロボットの開始位置に関連して、視覚慣性オドメトリは、3次元グローバルロケーションおよび対応する方位の推定値を提供する。例えば、3次元グローバルロケーションおよび対応する方位情報(orientation information)は、ウェイポイントナビゲーションまたは速度制御のために軌跡コントローラ(trajectory controller)に入力され得る。3次元グローバルロケーションおよび対応する方位情報はまた、ボクセルマップ(voxel map)統合のためのサブシステムのマッピングにも入力され得る。
[0051] 1つの構成では、フィルタは、ロボットのロケーションを出力するために、第1のセンサ、第2のセンサの入力と、特徴検出器402およびトラッカ406からの特徴情報を組み合わせる。ロボットのロケーションは、6自由度(6DOF:six-degree of freedom)姿勢として出力され得る。6自由度姿勢は、前/後、上/下、左/右、ピッチ(pitch)、ヨー(yaw)、およびロール(roll)を指し得る。1つの構成では、ロボットは飛行するように構成される。当然ながら、本開示の態様は、飛行ロボットに限定されるものではなく、陸上および/または海上ベースであり得るロボットについて企図されている。
[0052] 図5は、本開示の一態様による深度センサ500の例を例示している。図5に示されているように、深度センサ500は、既知の距離506間隔を空けた第1のカメラ502と第2のカメラ504とを含む。図5に示されているように、両方のカメラ502、504は、オブジェクト(object)514の特定点512に焦点が合わせられている。さらに、第1のカメラ502について第1の画像516中の特定点512に対応する第1のピクセル508のロケーションが決定され、第2のカメラ504について第2の画像518中の特定点512に対応する第2のピクセル510のロケーションが決定される。第1のピクセル508および第2のピクセル510のロケーションに基づいて、三角測量(triangulation)を使用して、ロボットは、カメラ502、504からのオブジェクト514の特定点512の深度(depth)を決定し得る。深度を決定するプロセスは、ロボットの現在ロケーションの深度マップを作成するために、カメラによって取得された画像の複数のピクセル(例えば、各ピクセル)について繰り返され得る。
[0053] 図5には図示されていないが、カメラ502、504は、ロボットの鼻(例えば、前面)に装着され得る。3次元再構成は、ステレオ深度の知覚(stereo depth perception)に基づいて発展され得る。1つの構成では、プロセスは、ワールド(the world)を3次元グリッド(three-dimensional grid)へと離散化する(discretize)。グリッドにおける各ロケーションはボクセル(voxel)と称され得る。ステレオカメラ(stereo camera)からの深度画像および位置推定プロセスからの6自由度姿勢は、ロボットが環境中をナビゲートして回り、障害物を観測するにつれて、3次元ボクセルマップへと組み合わされ得る。1つの構成では、ボクセルマップは、観測に基づいて生成される。追加的に、マッピングプロセスは、ステレオカメラのフレームレートで稼働し得、その結果、カメラによって新たな情報が観測されるにつれてマップが更新される。更新は、実質的に瞬時であり得る。さらに、ボクセルマップは、安全かつ信用できる経路をリアルタイムで計画するために運動計画者(motion planner)によって使用され得る。
[0054] 視覚慣性オドメトリ(visual-inertial odometry)は、計画者に位置推定情報を提供し得、それは、リアルタイムに更新され得る。1つの構成では、ロボットについて目標が指定されると、計画者は、ゴールに到達するための計画を生成するために、最新の状態推定値(state estimate)を開始状態として使用し、目標をゴールとして使用する。ロボットは、閉ループ方式(closed-loop manner)で、算出された軌跡にしたがうことによってその計画を実行し得る。計画が実行されるにつれて、計画を無効にし得る(invalidate)新たな情報が観測され、このケースでは計画者が新たな計画を採用する。
[0055] 図6Aは、マッピングされたエリア(mapped area)602およびマッピングされていないエリア(un-mapped area)604を含む環境600の例を例示している。マッピングされたエリア602は、深度測定(depth measurement)および位置推定に基づく、3Dマッピングされたエリアであり得る。すなわち、前述されたように、3Dマップは、深度マップを位置推定情報と統合することによって生成され得る。深度マップおよび位置推定情報は、ロボットが、(例えば、ユーザ入力を介した)手動モードまたは自律モードで動作(operate)される間に取得され得る。図6Aに示されているように、深度測定値に基づいて、ロボットは、ある特定のボクセルがオブジェクト608によって占有されていることを決定し得る。よって、計画モジュールは、ロボットが手動モードまたは自律モードでナビゲートされているときにオブジェクト608を回避するように指定される。マッピングされていないエリア604は、ロボットによってまだ踏査されていないエリアであり得る。
[0056] 1つの構成では、ロボットは、第1のロケーション606にあり得、目標ロケーション610まで自律的にナビゲートするためのユーザ入力を受信し得る。図6Aに示されているように、目標ロケーション610は、マッピングされていないエリア604にあり得る。ユーザ入力に応答して、ロボットは、マッピングされたエリア602の占有されていないエリアにおける候補地点(candidate points)612を選択する。候補地点612は、マッピングされたエリア602の占有されていないエリアから無作為に(randomly)選択され得る。候補地点612は、移動に安全であると考えられるマッピングされたエリア602上の地点であり得る。よって、候補地点612は、第1のロケーション606から目標ロケーション610までの衝突のない軌跡を選択するために計画モジュールによって使用され得る。すなわち、ロボットは、候補地点612の各々間の軌跡614(例えば、エッジ)を計画する。図6Aに示されているように、ロボットは、マッピングされていないエリア604中の候補地点612と軌跡614とを選択し得る。依然として、マッピングされていないエリア604はまだ踏査されていないので、候補地点612および軌跡614は、予測される候補地点612および予測される軌跡614である。
[0057] 図6Bは、本開示の一態様による、第1のロケーション606と目標ロケーション610との間の選択された経路620の例を例示している。図6Bに示されているように、候補地点612および軌跡614を決定した後、計画モジュールは、決定された候補地点612および軌跡614に基づいて、第1のロケーション606と目標ロケーション610との間の利用可能な様々な経路を探索し得る。探索は、ダイクストラ探索(Dykstra search)であり得る。異なる経路の探索に基づいて、計画モジュールは、ロボットが移動するための経路620を選択する。選択された経路は、衝突のない経路である。さらに、選択された経路620は、他の経路と比較して、時間、および/または、ガソリンのようなリソースをより少なく使用し得る。選択された経路620は、最小コスト経路(minimum cost path)と称され得る。
[0058] 図6Cは、本開示の一態様による、選択された経路620に沿って動くロボットの例を例示している。図6Cに示されているように、選択された経路620に基づいて、ロボットは、経路620に沿って第1のロケーション606から第2のロケーション622に動く。第2のロケーション622は、計画段階中に選択された候補地点612のうちの1つである。追加的に、図6Cに示されているように、ロボットが経路620に沿って動くにつれて、マッピングされていないエリア604の一部分は、そのエリアがロボットのセンサの視野に入るので、マッピングされるようになる。すなわち、一例として、図6Cに示されているように、エリア624は、これはマッピングされていないエリア604に以前は含まれていたが、ロボットの移動に基づいて、マッピングされたエリア602に含まれるようになる。よって、ロボットが経路620に沿って動くにつれて、ロボットは、更新された深度マップおよびロケーション情報に基づいて、選択された経路を変更し得る。
[0059] 図6Dは、本開示の一態様による、選択された経路620に沿って動くロボットの例を例示している。図6Dに示されているように、選択された経路620に基づいて、ロボットは、経路620に沿って第2のロケーション622から第3のロケーション626に動く。第3のロケーション626は、計画段階中に選択された候補地点612のうちの1つである。追加的に、図6Dに示されているように、ロボットが経路620に沿って動くにつれて、マッピングされていないエリア604の一部分は、そのエリアがロボットのセンサの視野に入るので、マッピングされたエリアになる。この例では、深度測定値に基づいて、ロボットは、オブジェクト628が、計画された経路620に沿うボクセルを占有することを決定する。よって、ロボットが計画された経路620に沿って進み続けたら、衝突が起こることになる。したがって、オブジェクト628が計画された経路620とオーバーラップすると想定して、ロボットの計画モジュールは、更新された深度測定値およびロケーション情報に基づいて新たな経路を選択する。
[0060] 図6Eは、更新された3Dマップに基づいて新たな経路630を選択するロボットの一例を例示している。前述されたように、ロボットの計画モジュールは、更新された深度測定値およびロケーション情報(例えば、更新された3Dマップ)に基づいて、新たな経路を選択する。図6Eに示されているように、ロボットが第3のロケーション626にいるとき、オブジェクト628の知識(knowledge)が与えられると、計画モジュールは、第3のロケーション626と目標ロケーション610との間の新たな経路について探索する。すなわち、ロボットは、オブジェクト628のような障害物が視野に入ると、新たな経路を選択する。異なる経路の探索に基づいて、計画モジュールは、ロボットが移動するための新たな経路630を選択する。前述されたように、選択された経路630は、最小コスト経路と称され得る。簡潔さのために、図6Eは、マッピングされていないエリア604を例示していない。依然として、この例では、ロボットが第3のロケーション626にいるとき、環境600の一部分が依然としてマッピングされていないこともある。さらに、新たな経路630は、ロボットが経路630の異なる地点に沿って動くにつれて、ロボットが動き、更新された深度マップとロケーション情報とを受信するので、再度更新され得る。
[0061] 図7は、本開示の一態様によるマッピングされた環境700におけるロボット702の例を例示している。マッピングされた環境700は、深度測定および位置推定に基づく、3Dマッピングされたエリアであり得る。すなわち、前述されたように、3Dマップは、深度マップを位置推定情報と統合することによって生成され得る。深度マップおよび位置推定情報は、ロボットが、(例えば、ユーザ入力を介した)手動モードまたは自律モードで動作(operate)される間に取得され得る。図7に示されているように、深度測定値に基づいて、ロボット702は、ある特定のボクセルが第1のオブジェクト706および第2のオブジェクト704によって占有されていることを決定し得る。よって、計画モジュールは、ロボットが手動モードまたは自律モードでナビゲートされるときに第1のオブジェクト706および第2のオブジェクト704を回避するように指定される。
[0062] 1つの構成では、ロボット702は、第1の軌跡708に沿って動くためのユーザ入力を受信する。第1の軌跡708は、目標720に到達するように指定され得る。代替的に、第1の軌跡708は、目標に方向付けられていない(not be target oriented)こともあり得る。追加的または代替的に、ユーザ入力は速度を指定し得る。生成された3Dマップに基づいて、ロボット702は、ユーザ入力を介して受信された第1の軌跡708が第2のオブジェクト704との衝突を引き起こすことになることであろうという知識を有する。
[0063] 1つの構成では、計画モジュールはユーザ入力を無効にし、第2のオブジェクト704を回避する第2の軌跡722を計画する。第2の軌跡722は、障害物を回避するために無作為に選択され得る。さらに、第2の軌跡722は、目標に方向付けられていないこともあり得る。さらに、第2の軌跡722は、ロボット702のモータに、第1の軌跡708ではなく第2の軌跡722上をナビゲートさせ得る。追加的または代替的に、無効化はロボット702の速度を調整し得る。環境が3D環境である場合、計画モジュールは、依然として第1の軌跡708を維持し得る。しかしながら、計画モジュールは、可能な場合、ロボット702が第1のオブジェクトの上を越えて、または下をくぐって移動するように、計画された高度を無効にし得る。
[0064] 別の構成では、ロボットは、衝突を回避するために運動計画を行う。運動計画は、マッピングされたエリア700(例えば、3Dマップ)中の安全な地点を無作為に選択することを含み得る。例えば、ロボットは、代替的なナビゲーション地点として候補地点710を無作為に選択し得る。無作為に選択された候補地点710は、移動するのに安全であると考えられるマップ上の地点(例えば、マップの衝突のないエリア)であり得る。無作為に選択された候補地点710は、ユーザが指定した経路(例えば、第1の軌跡708)の所定の近接内の候補地点であり得る。当然ながら、ユーザが指定した経路の所定の近接外の地点もまた選択され得るので、本開示の態様は、所定の近接内の候補地点を選択することに限定されるものではない。
[0065] 追加的に、図7に示されているように、衝突を回避するようにユーザ入力を無効にするために、ロボットは、無作為に選択された候補地点710間の1つまたは複数の衝突のない経路712を決定し得る。衝突を回避するために、ロボットは、ロボット702の初期位置から、無作為に選択された候補地点710のうちの1つまでの衝突のない経路のうちの1つに沿って移動し得る。追加的に、無作為に選択された候補地点710のうちの1つに到達した後、ロボット702が目標720に到達するまで、またはロボット702が新たなユーザ入力を受信するまで、ロボットは、他の無作為に選択された候補地点710までの別の経路を選択し得る。
[0066] さらに、1つの構成では、1つまたは複数の衝突のない経路712を決定した後、ロボットは、初期位置と目標720との間の最小コスト経路を決定し得る。最小コスト経路は、他の経路と比較して、時間、および/または、ガソリンのようなリソースをより少なく使用し得る。図7の例において、ロボットは、第1の軌跡708から予測された衝突を回避するために最小コスト経路714を選択する。最後に、図7には示されていないが、最小コスト経路714のような、衝突のない経路712のうちの1つに沿ってロボットが移動しているときに新たな障害物が現われた場合、ロボットは、選択された経路を変え得る。
[0067] 図8は、処理システム820を用いる、ロボットのような、装置800のためのハードウェアインプリメンテーションの例を例示する図である。処理システム820は、バス824によって概して表されているバスアーキテクチャでインプリメントされ得る。バス824は、処理システム820の特定用途と全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含み得る。バス824は、プロセッサ804、通信モジュール808、ロケーションモジュール806、センサモジュール(sensor module)802、ロコモーションモジュール(locomotion module)810、およびコンピュータ可読媒体(computer-readable medium)814によって表されている、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路をリンクさせる。バス824はまた、タイミングソース、周辺機器、電圧レギュレータ、および電力管理回路のような他の様々な回路もリンクさせ得るが、これらは、当該技術では周知であるので、これ以上説明されることはない。
[0068] 装置800は、トランシーバ816に結合された処理システム820を含む。トランシーバ816は、1つまたは複数のアンテナ818に結合される。トランシーバ816は、伝送媒体を介して他の様々な装置と通信することを可能にする。例えば、トランシーバ816は、ユーザからの送信を介してユーザ入力を受信し得る。処理システム820は、コンピュータ可読媒体814に結合されたプロセッサ804を含む。プロセッサ804は、コンピュータ可読媒体814に記憶されたソフトウェアの実行を含む、汎用処理を担っている。このソフトウェアは、プロセッサ804によって実行されると、処理システム820に、任意の特定の装置に関して説明された様々な機能を行わせる。コンピュータ可読媒体814はまた、ソフトウェアを実行するときにプロセッサ804によって操作されるデータを記憶するために使用され得る。
[0069] センサモジュール802は、第1のセンサ828および第2のセンサ826を介して測定値を取得するために使用され得る。第1のセンサ828は、立体カメラ(stereoscopic camera)のような、測定を行うためのステレオビジョンセンサであり得る。第2のセンサ826は、カメラおよび/または慣性測定ユニットであり得る。当然ながら、本開示の態様は、例えば、レーダ、熱、ソナー、および/またはレーザーのような他のタイプのセンサもまた測定を行うために企図されているので、ステレオビジョンセンサに限定されるものではない。第1のセンサ828および第2のセンサ826の測定値は、プロセッサ804、通信モジュール808、ロケーションモジュール806、ロコモーションモジュール810、コンピュータ可読媒体814、および他のモジュール832、834のうちの1つまたは複数によって処理され得る。前述されたように、第1のセンサ828からの測定値は、深度測定値を取得するために使用され得る。さらに、第2のセンサ826からの測定値は、位置推定のために使用され得る。例えば、第2のセンサ826からの測定値は、装置800のロケーションを決定するためにロケーションモジュール806へによって使用され得る。さらに、第1のセンサ828および第2のセンサ826の測定値は、トランシーバ816によって外部デバイスに送信され得る。第1のセンサ828および第2のセンサ826は、図8に示されているように、装置800の外部と定義されるように限定されるものではなく、第1のセンサ828および第2のセンサ826は、装置800内とも定義され得る。
[0070] ロケーションモジュール806は、装置800のロケーションを決定するために使用され得る。通信モジュール808は、外部デバイスに、装置800のロケーションのような情報を、送信および受信するためにトランシーバ816を使用し得る。ロコモーションモジュール810は、装置800にロコモーションを提供するために使用され得る。例として、ロコモーションは、回転ブレード(rotary blades)812を介して提供され得る。当然ながら、本開示の態様は、回転ブレード812を介してロコモーションを提供することに限定されるものではなく、プロペラ、車輪、トレッド、フィン、および/またはジェットエンジンのような、ロコモーションを提供するための他の任意のタイプのコンポーネントについて企図されている。
[0071] 処理システム820は、3次元(3D)マップを生成するように深度マップを位置推定情報と統合するための統合モジュール(integrating module)832を含む。処理システム820はまた、3Dマップ、位置推定情報、および/またはユーザ入力に少なくとも部分的に基づいて運動(motion)を計画するための計画モジュール834も含む。1つの構成では、運動計画は、ユーザ入力が衝突を引き起こすと予期(例えば、予測)されると、ユーザ入力を無効にする。これらモジュールは、プロセッサ804において稼働し、コンピュータ可読媒体814に存在/記憶されるソフトウェアモジュール、プロセッサ804に結合された1つまたは複数のハードウェアモジュール、またはこれらの何らかの組合せであり得る。
[0072] 図9は、ロボットのための視覚ナビゲーションのための方法900を例示している。ブロック902において、オプションの構成では、ロボットは、複数のカメラから深度マップを決定し、複数のセンサから位置推定情報を取得する。すなわち、ロボットは、複数のセンサモダリティを含み得る。深度測定は、ロボットからの複数地点の距離を決定する時間ステップごとに行われ得る。マッピングモジュールは、深度マップを取得するために、ステレオビジョンセンサのような、センサを使用し得る。よって、1つのオプションの構成では、ブロック904において、ロボットは、ステレオカメラから取得された測定値に基づいて深度マップを生成する。
[0073] さらに、ロボットは、慣性センサ情報(inertial sensor information)から位置推定情報を取得し得る。よって、1つのオプションの構成では、ブロック906において、ロボットは、ジャイロスコープおよび/または加速度計ユニットから慣性センサ情報を取得する。位置推定情報はまた、下向きセンサのようなセンサからも取得され得る。位置推定は、環境内のロボットのロケーションを指す。1つの構成において、下向きセンサは、ソナーセンサおよび/またはカメラである。
[0074] 追加的に、ブロック908において、ロボットは、3Dマップを生成するように深度マップを位置推定情報と統合する。例えば、ロボットは、第1のロケーションにおいて深度測定値を取得し得、ロボットは、それら測定値をロボットの第1のロケーションと関連付ける。追加的に、ロボットは、第1のロケーションから第2のロケーションに動き、新たな深度測定値を取得し得る。さらに、ロボットは、新たな深度測定値を第2のロケーションと関連付け得る。したがって、ロボットが環境を進むにつれて、3Dマップのようなマップが深度測定値および位置推定測定値に基づいて生成される。
[0075] さらに、ブロック910において、ロボットは、3Dマップ、位置推定情報、および/またはユーザ入力に基づいて運動(motion)を計画する。1つの構成では、ロボットのための目標が指定されると、ロボットの運動計画者は、ゴールに到達するための計画を生成するために、最新の状態推定値を開始状態として使用し、目標をゴールとして使用する。ロボットは、閉ループ方式で、算出された軌跡にしたがうことによってその計画を実行し得る。計画が実行されるにつれて、計画を無効にし得る新たな情報が観測され、このケースでは、計画者が新たな計画を採用する。追加的または代替的に、運動計画は、ユーザ入力が衝突を引き起こすと予測されると、ユーザ入力を無効にし得る。さらに、運動計画は、ユーザ入力を介して受信された軌跡および/または速度が衝突を引き起こすと予測されると、ユーザ入力を無効にし得る。
[0076] オプションの構成では、ブロック912において、ロボットは、ユーザ入力を無効にするときに新たな軌跡(trajectory)および/または新たな速度(velocity)を選択する。例えば、ユーザ入力は、速度および/または軌跡を指定し得る。生成された3Dマップに基づいて、ロボットは、ユーザが選択した速度および/または軌跡がオブジェクトとの衝突を引き起こすことになるであろうという知識を有する。よって、この構成では、計画モジュールはユーザ入力を無効にし、第2のオブジェクトを回避するために新たな軌跡および/または速度を計画する。
[0077] 図10は、運動計画のためのより詳細な方法1000を例示している。図9のブロック910と同様である、ブロック1002において、ロボットは、3Dマップ、位置推定情報、および/またはユーザ入力に基づいて運動を計画する。ブロック1004において、運動計画は、ユーザ入力が衝突を引き起こすと予測されると、ユーザ入力を無効にする。追加的に、オプションの構成では、ブロック1006において、運動計画は、ユーザ入力を介して受信された軌跡および/または速度が衝突を引き起こすと予測されると、ユーザ入力を無効にする。
[0078] 別のオプションの構成では、ブロック1008において、運動計画は、3Dマップ中の複数の衝突のない地点(collision-free point)を無作為に選択し、複数の衝突のない地点のうちの2つ以上の間の1つまたは複数の衝突のない経路を決定する。追加的に、オプションの構成では、ブロック1010において、運動計画はさらに、1つまたは複数の衝突のない経路に基づいて目標までの最小コスト経路を決定する。さらに、最小コスト経路を決定した後、ブロック1012において、運動計画はさらに、最小コスト経路に沿って障害物が見られると最小コスト経路を変更し得る。
[0079] さらに別のオプションの構成では、ブロック1014において、運動計画は、マッピングされていないエリアにおける複数の予測される衝突のない地点を無作為に選択し、複数の予測される衝突のない地点のうちの2つ以上の間の1つまたは複数の予測される衝突のない経路を決定する。
[0080] いくつかの態様では、方法900および1000は、SOC100(図1)、システム200(図2)、または装置800(図8)によって行われ得る。すなわち、方法900および1000の要素の各々は、例えば、限定するわけではないが、SOC100、システム200、装置800、または1つまたは複数のプロセッサ(例えば、CPU102、ローカル処理ユニット202、プロセッサ804)および/またはそれに含まれる他のコンポーネントによって行われ得る。
[0081] 上述された方法の様々な動作(operation)は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。これら手段は、それらに限定されるわけではないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェアコンポーネント(単数または複数)ならびに/あるいはモジュール(単数または複数)を含み得る。概して、図に例示されている動作がある場合、それらの動作は、同様の番号付けを有する対応する対をなすミーンズ・プラス・ファンクション・コンポーネントを有し得る。
[0082] 本明細書で使用される場合、「決定すること(determining)」という用語は、幅広いアクションを包含する。例えば、「決定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること(例えば、テーブル、データベース、または別のデータ構造内をルックアップすること)、確かめること、および同様のことを含み得る。追加的に、「決定すること」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリ内のデータにアクセスすること)、および同様のことを含み得る。さらに、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、および同様のことを含み得る。
[0083] 本明細書で使用される場合、項目のリスト「のうちの少なくとも1つ」を指すフレーズは、単一のメンバを含む、それらの項目の任意の組合せを指す。例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cをカバーするように意図されている。
[0084] 本開示に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明された機能を実行するように設計された、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)、または他のプログラマブル論理デバイス(PLD)、ディスクリートゲートまたはトランジスタ論理回路、ディスクリートハードウェアコンポーネント、あるいはそれらの任意の組合せを用いて、インプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアに連結した1つまたは複数のマイクロプロセッサ、または他の任意のそのような構成としてインプリメントされ得る。
[0085] 本開示に関連して説明されたアルゴリズムまたは方法のステップは、ハードウェアにおいて直接的に、プロセッサによって実行されるソフトウェアモジュールにおいて、またはその2つの組合せで、具現化され得る。ソフトウェアモジュールは、当該技術で知られている任意の形態の記憶媒体に存在し得る。使用され得る記憶媒体のいくつかの例は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、フラッシュメモリ、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、等を含む。ソフトウェアモジュールは、単一の命令または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散し得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
[0086] 本明細書に開示された方法は、説明された方法を達成するための1つまたは複数のステップまたはアクションを備える。方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく、互いに置き換えられ得る。言い換えると、ステップまたはアクションの特定の順序が指定されていない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
[0087] 説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいてインプリメントされ得る。ハードウェアにおいてインプリメントされる場合、例となるハードウェア構成は、デバイス内に処理システムを備え得る。処理システムは、バスアーキテクチャでインプリメントされ得る。バスは、処理システムの特定用途および全体的な設計制約に依存して、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサ、機械可読媒体、およびバスインターフェースを含む様々な回路を共にリンクさせ得る。バスインターフェースは、ネットワークアダプタを、バスを介して、特に処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様については、ユーザインターフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等)もまた、バスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧レギュレータ、電力管理回路、および同様のもののような、様々な他の回路をリンクさせ得るが、これらは、当該技術において周知であるので、これ以上説明されることはない。
[0088] プロセッサは、機械可読媒体上に記憶されたソフトウェアの実行を含む、汎用処理およびバスの管理を担い得る。プロセッサは、1つまたは複数の汎用および/または専用プロセッサを用いてインプリメントされ得る。例は、マイクロプロセッサ、マイクロコントローラ、DSPプロセッサ、およびソフトウェアを実行することができる他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と称されようと、または別の名称であろうと、命令、データ、またはこれらの任意の組合せを意味するように広く解釈されるものとする。機械可読媒体は、例として、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取専用メモリ(ROM)、プログラマブル読取専用メモリ(PROM)、消去可能なプログラマブル読取専用メモリ(EPROM)、電気的に消去可能なプログラマブル読取専用メモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の任意の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージング材料を備え得る。
[0089] ハードウェアインプリメンテーションでは、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者が容易に認識することになるように、機械可読媒体またはその任意の部分は、処理システムの外部にあり得る。例として、機械可読媒体は、伝送路、データによって変調される搬送波、および/またはデバイスとは別個のコンピュータ製品を含み得、そのすべてはバスインターフェースを通してプロセッサによってアクセスされ得る。代替的に、またはそれに加えて、機械可読媒体、またはその任意の部分は、キャッシュおよび/または汎用レジスタファイルを有し得る場合のように、プロセッサへと一体化され得る。説明された様々なコンポーネントは、ローカルコンポーネントのように、特定のロケーションを有するものとして説明され得るが、それらはまた、ある特定のコンポーネントが分散コンピューティングシステムの一部として構成されるなど、様々な方法で構成され得る。
[0090] 処理システムは、プロセッサ機能を提供する1つまたは複数のマイクロプロセッサを有する汎用処理システム、および機械可読媒体の少なくとも一部分を提供する外部メモリとして構成され得、すべてが外部バスアーキテクチャを通して他のサポート回路と共にリンクされる。代替的に、処理システムは、本明細書で説明されているニューロンモデルおよびニューラルシステムのモデルをインプリメントするための1つまたは複数の神経形態学的プロセッサ(neuromorphic processor)を備え得る。別の代替として、処理システムは、プロセッサ、バスインターフェース、ユーザインターフェース、サポート回路、および単一のチップへと一体化された機械可読媒体の少なくとも一部を有する特定用途向け集積回路(ASIC)で、または、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、ステートマシン、ゲートロジック、ディスクリートハードウェアコンポーネント、あるいは他の任意の好適な回路、あるいは本開示全体を通して説明されている様々な機能を行うことができる回路の任意の組合せで、インプリメントされ得る。当業者は、システム全体に課せられた全体的な設計制約および特定用途に依存して、処理システムについての説明された機能をいかに最良にインプリメントするかを認識するであろう。
[0091] 機械可読媒体は、複数のソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されると、処理システムに様々な機能を行わせる命令を含む。ソフトウェアモジュールは、送信モジュールおよび受信モジュールを含み得る。各ソフトウェアモジュールは、単一の記憶デバイスに存在し得るか、または複数の記憶デバイスにわたって分散し得る。例として、ソフトウェアモジュールは、トリガイベントが生じると、ハードドライブからRAMへとロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセススピードを増加させるために、命令のうちのいくつかをキャッシュへとロードし得る。1つまたは複数のキャッシュラインは、次いで、プロセッサによる実行のために汎用レジスタファイルへとロードされ得る。下記においてソフトウェアモジュールの機能に言及するとき、そのような機能は、そのソフトウェアモジュールからの命令を実行するときにプロセッサによってインプリメントされることが理解されるであろう。さらに、本開示の態様が、プロセッサ、コンピュータ、機械、またはこのような態様をインプリメントする他のシステムの機能への改良をもたらすことが認識されるべきである。
[0092] ソフトウェアにおいてインプリメントされる場合、それら機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体およびコンピュータ記憶媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶または搬送するために使用されることができ、またコンピュータによってアクセスされることができる、他の任意の媒体を備えることができる。追加的に、任意の接続は、コンピュータ可読媒体と厳密には称される。例えば、ソフトウェアが同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、あるいは赤外線(IR)、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は媒体の定義に含まれる。ディスク(disk)およびディスク(disc)は、本明細書で使用されるとき、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスク、およびBlu−ray(登録商標)ディスクを含み、ここで、ディスク(disk)は通常、磁気的にデータを再生するが、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。よって、いくつかの態様では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体(non-transitory computer-readable medium)(例えば、有形媒体)を備え得る。加えて、他の態様については、コンピュータ可読媒体は、一時的なコンピュータ可読媒体(例えば、信号)を備え得る。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
[0093] よって、ある特定の態様は、本明細書で提示された動作を行うためのコンピュータプログラム製品を備え得る。例えば、そのようなコンピュータプログラム製品は、命令を記憶した(および/または符号化した)コンピュータ可読媒体を備え得、それら命令は、本明細書で説明された動作を行うように1つまたは複数のプロセッサによって実行可能である。ある特定の態様については、コンピュータプログラム製品は、パッケージング材料を含み得る。
[0094] さらに、本明細書で説明された方法および技法を行うためのモジュールおよび/または他の適切な手段が、適宜ユーザ端末および/または基地局によって、ダウンロードされ得ること、および/または別の方法で取得され得ることが認識されるべきである。例えば、そのようなデバイスは、本明細書で説明された方法を行うための手段の転送を容易にするために、サーバに結合されることができる。代替的に、本明細書に説明されている様々な方法は、ユーザ端末および/または基地局が、記憶手段をデバイスに結合または提供すると様々な方法を取得することができるように、記憶手段(例えば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクのような物理記憶媒体、等)を介して提供されることができる。さらに、本明細書で説明された方法および技法をデバイスに提供するための他の任意の好適な技法が利用されることができる。
[0095] 特許請求の範囲が、上に例示されたまさにその構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、特許請求の範囲から逸脱することなく、上述された装置および方法の配列、動作、および詳細においてなされ得る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ロボットのための視覚ナビゲーションの方法であって、
3次元(3D)マップを生成するように深度マップを位置推定情報と統合することと、 前記3Dマップ、前記位置推定情報、またはユーザ入力に少なくとも部分的に基づいて運動計画をすることと、前記運動計画をすることは、前記ユーザ入力が衝突を引き起こすと予測されるとき前記ユーザ入力を無効にする、
を備える、方法。
[C2]
複数のカメラから前記深度マップを決定することと、
複数のセンサから前記位置推定情報を取得することと
をさらに備える、C1に記載の方法。
[C3]
前記位置推定情報は、画像情報(image information)、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、C2に記載の方法。
[C4]
ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得することをさらに備える、C3に記載の方法。
[C5]
ステレオカメラから取得された測定値に基づいて前記深度マップを生成することをさらに備える、C1に記載の方法。
[C6]
前記ユーザ入力を無効にするときに、新たな軌跡、新たな速度、またはこれらの組合せのうちの少なくとも1つを選択することをさらに備える、C1に記載の方法。
[C7]
前記ユーザ入力を介して受信された軌跡、速度、またはこれらの組合せのうちの少なくとも1つが前記衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にすることをさらに備える、C1に記載の方法。
[C8]
前記運動計画をすることは、
前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと
を備える、C1に記載の方法。
[C9]
前記運動計画をすることは、前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更することをさらに備える、C8に記載の方法。
[C10]
前記運動計画をすることは、
マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択することと、
前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定することと
をさらに備える、C8に記載の方法。
[C11]
メモリと、
前記メモリに結合された少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサが、
3次元(3D)マップを生成するように深度マップを位置推定情報と統合することと、 前記3Dマップ、前記位置推定情報、またはユーザ入力に少なくとも部分的に基づいて運動計画をすることと、前記運動計画をすることは、前記ユーザ入力が衝突を引き起こすと予測されるとき前記ユーザ入力を無効にする、
を行うように構成された、装置。
[C12]
前記少なくとも1つのプロセッサは、
複数のカメラから前記深度マップを決定することと、
複数のセンサから前記位置推定情報を取得することと
をさらに行うように構成された、C11に記載の装置。
[C13]
前記位置推定情報は、画像情報、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、C12に記載の装置。
[C14]
前記少なくとも1つのプロセッサは、ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得するようにさらに構成された、C13に記載の装置。
[C15]
前記少なくとも1つのプロセッサは、ステレオカメラから取得された測定値に基づいて前記深度マップを生成するようにさらに構成された、C11に記載の装置。
[C16]
前記少なくとも1つのプロセッサは、前記ユーザ入力を無効にするときに、新たな軌跡、新たな速度、またはこれらの組合せのうちの少なくとも1つを選択するようにさらに構成された、C11に記載の装置。
[C17]
前記少なくとも1つのプロセッサは、前記ユーザ入力を介して受信された軌跡、速度、またはこれらの組合せのうちの少なくとも1つが前記衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にするようにさらに構成された、C11に記載の装置。
[C18]
前記少なくとも1つのプロセッサは、
前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと
を行うようにさらに構成された、C11に記載の装置。
[C19]
前記少なくとも1つのプロセッサは、前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更するようにさらに構成された、C18に記載の装置。
[C20]
前記少なくとも1つのプロセッサは、
マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択することと、
前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定することと
を行うようにさらに構成された、C18に記載の装置。
[C21]
3次元(3D)マップを生成するように深度マップを位置推定情報と統合するための手段と、
前記3Dマップ、前記位置推定情報、またはユーザ入力に少なくとも部分的に基づいて運動計画をするための手段と、前記運動計画をすることは、前記ユーザ入力が衝突を引き起こすと予測されるとき前記ユーザ入力を無効にする、
を備える、装置。
[C22]
複数のカメラから前記深度マップを決定するための手段と、
複数のセンサから前記位置推定情報を取得するための手段と
をさらに備える、C21に記載の装置。
[C23]
前記位置推定情報は、画像情報、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、C22に記載の装置。
[C24]
ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得するための手段をさらに備える、C23に記載の装置。
[C25]
ステレオカメラから取得された測定値に基づいて前記深度マップを生成するための手段をさらに備える、C21に記載の装置。
[C26]
前記ユーザ入力を無効にするときに、新たな軌跡、新たな速度、またはこれらの組合せのうちの少なくとも1つを選択するための手段をさらに備える、C21に記載の装置。
[C27]
前記ユーザ入力を介して受信された軌跡、速度、またはこれらの組合せのうちの少なくとも1つが前記衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にするための手段をさらに備える、C21に記載の装置。
[C28]
前記運動計画をするための手段は、
前記3Dマップ中の複数の衝突のない地点を無作為に選択するための手段と、
前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定するための手段と、
前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定するための手段と
をさらに備える、C21に記載の装置。
[C29]
前記運動計画をするための手段は、前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更するための手段をさらに備える、C28に記載の装置。
[C30]
前記運動計画をするための手段は、
マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択するための手段と、
前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定するための手段と
をさらに備える、C28に記載の装置。
[C31]
ロボットに視覚ナビゲーションを提供するためのプログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、
3次元(3D)マップを生成するように深度マップを位置推定情報と統合するためのプログラムコードと、
前記3Dマップ、前記位置推定情報、またはユーザ入力に少なくとも部分的に基づいて運動計画をするためのプログラムコードと、前記運動計画をすることは、前記ユーザ入力が衝突を引き起こすと予測されるとき前記ユーザ入力を無効にする、
を備える、非一時的なコンピュータ可読媒体。
[C32]
前記プログラムコードは、
複数のカメラから前記深度マップを決定するためのプログラムコードと、
複数のセンサから前記位置推定情報を取得するためのプログラムコードと
をさらに備える、C31に記載の非一時的なコンピュータ可読媒体。
[C33]
前記位置推定情報は、画像情報、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、C32に記載の非一時的なコンピュータ可読媒体。
[C34]
前記プログラムコードは、ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得するためのプログラムコードをさらに備える、C33に記載の非一時的なコンピュータ可読媒体。
[C35]
前記プログラムコードは、ステレオカメラから取得された測定値に基づいて前記深度マップを生成するためのプログラムコードをさらに備える、C31に記載の非一時的なコンピュータ可読媒体。
[C36]
前記プログラムコードは、前記ユーザ入力を無効にするときに、新たな軌跡、新たな速度、またはこれらの組合せのうちの少なくとも1つを選択するためのプログラムコードをさらに備える、C31に記載の非一時的なコンピュータ可読媒体。
[C37]
前記運動計画をするためのプログラムコードは、前記ユーザ入力を介して受信された軌跡、速度、またはこれらの組合せのうちの少なくとも1つが前記衝突を引き起こすと予測されると、前記ユーザ入力を無効にするためのプログラムコードをさらに備える、C31に記載の非一時的なコンピュータ可読媒体。
[C38]
前記運動計画をするためのプログラムコードは、
前記3Dマップ中の複数の衝突のない地点を無作為に選択するためのプログラムコードと、
前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定するためのプログラムコードと、
前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定するためのプログラムコードと
をさらに備える、C31に記載の非一時的なコンピュータ可読媒体。
[C39]
前記運動計画をするためのプログラムコードは、前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更するためのプログラムコードをさらに備える、C38に記載の非一時的なコンピュータ可読媒体。
[C40]
前記運動計画をするためのプログラムコードは、
マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択するためのプログラムコードと、
前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定するためのプログラムコードと
をさらに備える、C38に記載の非一時的なコンピュータ可読媒体。

Claims (13)

  1. ロボットのための視覚ナビゲーションの方法であって、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成することと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合することと、
    前記ロボットをナビゲートするためのユーザ入力を受信することと、
    前記ユーザ入力が衝突を引き起こすと予測されることを決定することと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をすることを備え、
    前記運動計画をすることは、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更することを備える、方法。
  2. 複数のセンサから前記位置推定情報を取得すること
    をさらに備える、請求項1に記載の方法。
  3. 前記位置推定情報は、画像情報(image information)、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、請求項2に記載の方法。
  4. ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得することをさらに備える、請求項3に記載の方法。
  5. 前記ユーザ入力を無効にするときに、新たな軌跡、新たな速度、またはこれらの組合せのうちの少なくとも1つを選択することをさらに備える、請求項1に記載の方法。
  6. 前記ユーザ入力を介して受信された軌跡、速度、またはこれらの組合せのうちの少なくとも1つが前記衝突を引き起こすと予測されるとき、前記ユーザ入力を無効にすることをさらに備える、請求項1に記載の方法。
  7. メモリと、
    前記メモリに結合された少なくとも1つのプロセッサと
    を備え、前記少なくとも1つのプロセッサが、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成することと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合することと、
    ロボットをナビゲートするためのユーザ入力を受信することと、
    前記ユーザ入力が衝突を引き起こすと予測されることを決定することと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をすることと、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更するこ
    を行うように構成されている、装置。
  8. 前記少なくとも1つのプロセッサは、複数のセンサから前記位置推定情報を取得することを行うようにさらに構成され、前記位置推定情報は、画像情報、慣性センサ情報、またはこれらの組合せのうちの少なくとも1つを備える、請求項7に記載の装置。
  9. 前記少なくとも1つのプロセッサは、ジャイロスコープ、加速度計、またはこれらの組合せのうちの少なくとも1つから前記慣性センサ情報を取得するようにさらに構成された、請求項8に記載の装置。
  10. ロボットに視覚ナビゲーションを提供するためのプログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成するためのプログラムコードと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合するためのプログラムコードと、
    前記ロボットをナビゲートするためのユーザ入力を受信するためのプログラムコードと、
    前記ユーザ入力が衝突を引き起こすと予測されると決定するためのプログラムコードと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をするためのプログラムコードとを備え
    前記運動計画をすることは、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    前記最小コスト経路に沿って障害物が見られるとき前記最小コスト経路を変更することを備える、非一時的なコンピュータ可読媒体。
  11. ロボットのための視覚ナビゲーションの方法であって、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成することと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合することと、
    前記ロボットをナビゲートするためのユーザ入力を受信することと、
    前記ユーザ入力が衝突を引き起こすと予測されることを決定することと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をすることを備え
    前記運動計画をすることは、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択することと、
    前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定することと
    を備える、方法。
  12. メモリと、
    前記メモリに結合された少なくとも1つのプロセッサと
    を備え、前記少なくとも1つのプロセッサが、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成することと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合することと、
    ロボットをナビゲートするためのユーザ入力を受信することと、
    前記ユーザ入力が衝突を引き起こすと予測されることを決定することと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をすることと、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択することと、
    前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定すること、
    を行うように構成されていることを特徴とする、装置。
  13. ロボットに視覚ナビゲーションを提供するためのプログラムコードを記録した非一時的なコンピュータ可読媒体であって、前記プログラムコードは、プロセッサによって実行され、
    ステレオカメラモジュールから取得された測定値に少なくとも部分的に基づいて深度マップを生成するためのプログラムコードと、
    3次元(3D)マップを生成するように前記深度マップを位置推定情報と統合するためのプログラムコードと、
    前記ロボットをナビゲートするためのユーザ入力を受信するためのプログラムコードと、
    前記ユーザ入力が衝突を引き起こすと予測されると決定するためのプログラムコードと、
    前記ユーザ入力が前記衝突を引き起こすと予測されるとき前記ユーザ入力を無効にするように、前記3Dマップおよび前記位置推定情報に少なくとも部分的に基づいて運動計画をするためのプログラムコードとを備え
    前記運動計画をすることは、
    前記3Dマップ中の複数の衝突のない地点を無作為に選択することと、
    前記複数の衝突のない地点のうちの少なくとも2つの間の少なくとも1つの衝突のない経路を決定することと、
    前記少なくとも1つの衝突のない経路に少なくとも部分的に基づいて目標までの最小コスト経路を決定することと、
    マッピングされていないエリア中の複数の予測される衝突のない地点を無作為に選択することと、
    前記複数の予測される衝突のない地点のうちの少なくとも2つの間の少なくとも1つの予測される衝突のない経路を決定することと
    を備える、非一時的なコンピュータ可読媒体。
JP2018530846A 2015-12-15 2016-10-27 自律視覚ナビゲーション Active JP6882296B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562267886P 2015-12-15 2015-12-15
US62/267,886 2015-12-15
US15/249,250 2016-08-26
US15/249,250 US10705528B2 (en) 2015-12-15 2016-08-26 Autonomous visual navigation
PCT/US2016/059171 WO2017105643A1 (en) 2015-12-15 2016-10-27 Autonomous visual navigation

Publications (3)

Publication Number Publication Date
JP2019500693A JP2019500693A (ja) 2019-01-10
JP2019500693A5 JP2019500693A5 (ja) 2019-11-14
JP6882296B2 true JP6882296B2 (ja) 2021-06-02

Family

ID=59020531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018530846A Active JP6882296B2 (ja) 2015-12-15 2016-10-27 自律視覚ナビゲーション

Country Status (9)

Country Link
US (1) US10705528B2 (ja)
EP (1) EP3391166B1 (ja)
JP (1) JP6882296B2 (ja)
KR (1) KR102226350B1 (ja)
CN (1) CN108475059B (ja)
BR (1) BR112018011944A2 (ja)
CA (1) CA3004262A1 (ja)
TW (1) TW201728876A (ja)
WO (1) WO2017105643A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198008B2 (en) * 2013-11-15 2019-02-05 Hitachi, Ltd. Mobile robot system
US10372968B2 (en) * 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
WO2017214581A1 (en) 2016-06-10 2017-12-14 Duke University Motion planning for autonomous vehicles and reconfigurable motion planning processors
US11726485B2 (en) 2016-09-05 2023-08-15 Kubota Corporation Autonomous work vehicle travel system, travel route managing device, travel route generating device, and travel route determining device
US10410320B2 (en) 2016-09-30 2019-09-10 Sony Interactive Entertainment Inc. Course profiling and sharing
US10377484B2 (en) 2016-09-30 2019-08-13 Sony Interactive Entertainment Inc. UAV positional anchors
US10679511B2 (en) * 2016-09-30 2020-06-09 Sony Interactive Entertainment Inc. Collision detection and avoidance
US10357709B2 (en) 2016-09-30 2019-07-23 Sony Interactive Entertainment Inc. Unmanned aerial vehicle movement via environmental airflow
US10336469B2 (en) 2016-09-30 2019-07-02 Sony Interactive Entertainment Inc. Unmanned aerial vehicle movement via environmental interactions
US10416669B2 (en) 2016-09-30 2019-09-17 Sony Interactive Entertainment Inc. Mechanical effects by way of software or real world engagement
US10850838B2 (en) 2016-09-30 2020-12-01 Sony Interactive Entertainment Inc. UAV battery form factor and insertion/ejection methodologies
WO2018101351A1 (ja) * 2016-12-02 2018-06-07 株式会社クボタ 走行経路管理システム及び走行経路決定装置
US10846541B2 (en) * 2017-01-04 2020-11-24 Qualcomm Incorporated Systems and methods for classifying road features
WO2018191818A1 (en) * 2017-04-18 2018-10-25 Clearpath Robotics Inc. Stand-alone self-driving material-transport vehicle
US10303180B1 (en) * 2017-04-20 2019-05-28 X Development Llc Generating and utilizing non-uniform volume measures for voxels in robotics applications
US10949798B2 (en) * 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
WO2018213931A1 (en) 2017-05-25 2018-11-29 Clearpath Robotics Inc. Systems and methods for process tending with a robot arm
US10578453B2 (en) * 2017-07-14 2020-03-03 Rosemount Aerospace Inc. Render-based trajectory planning
WO2019041043A1 (en) 2017-08-31 2019-03-07 Clearpath Robotics Inc. SYSTEMS AND METHODS FOR GENERATING A MISSION FOR A SELF-CONTAINING MATERIAL TRANSPORT VEHICLE
US11334086B2 (en) * 2017-09-27 2022-05-17 Intel Corporation Autonomous robots and methods of operating the same
US20190113919A1 (en) * 2017-10-18 2019-04-18 Luminar Technologies, Inc. Controlling an autonomous vehicle using smart control architecture selection
US9990767B1 (en) 2017-10-24 2018-06-05 Lowe's Companies, Inc. Generation of 3D models using stochastic shape distribution
US10366531B2 (en) * 2017-10-24 2019-07-30 Lowe's Companies, Inc. Robot motion planning for photogrammetry
WO2019084686A1 (en) 2017-10-31 2019-05-09 Clearpath Robotics Inc. Systems and methods for operating robotic equipment in controlled zones
WO2019090417A1 (en) 2017-11-10 2019-05-16 Clearpath Robotics Inc. Systems and methods for updating an electronic map
US11073828B2 (en) * 2017-12-08 2021-07-27 Samsung Electronics Co., Ltd. Compression of semantic information for task and motion planning
CN108242102B (zh) * 2017-12-28 2020-04-24 纳恩博(北京)科技有限公司 信息处理方法及装置、电子设备及存储介质
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
TWI822729B (zh) * 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
ES2928250T3 (es) 2018-03-21 2022-11-16 Realtime Robotics Inc Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo
CN108955682A (zh) * 2018-04-03 2018-12-07 哈尔滨工业大学深圳研究生院 手机室内定位导航方法
US10802492B2 (en) * 2018-04-05 2020-10-13 Ford Global Technologies, Llc Vehicle path identification
US11407111B2 (en) * 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
WO2020056301A1 (en) * 2018-09-13 2020-03-19 The Charles Stark Draper Laboratory, Inc. Robot interaction with human co-workers
CN109582032B (zh) * 2018-10-11 2021-10-12 天津大学 多旋翼无人机在复杂环境下的快速实时避障路径选择方法
US11192253B2 (en) 2018-10-12 2021-12-07 Toyota Research Institute, Inc. Systems and methods for conditional robotic teleoperation
JP6508691B1 (ja) * 2018-10-15 2019-05-08 株式会社Mujin 制御装置、作業ロボット、プログラム、及び、制御方法
JP7241517B2 (ja) * 2018-12-04 2023-03-17 三菱電機株式会社 航法装置、航法パラメータ計算方法およびプログラム
TWI672206B (zh) * 2018-12-19 2019-09-21 財團法人工業技術研究院 機械手臂非接觸式工具中心點校正裝置及其方法以及具有校正功能的機械手臂系統
US10948300B2 (en) * 2018-12-27 2021-03-16 Beijing Voyager Technology Co., Ltd. Systems and methods for path determination
KR102198187B1 (ko) * 2018-12-28 2021-01-04 엘지전자 주식회사 이동 로봇
EP3924868A4 (en) * 2019-02-11 2022-11-30 643AI Ltd. SYSTEMS AND PROCEDURES FOR MANAGEMENT OF MULTIPLE AUTONOMOUS VEHICLES
CN109814574B (zh) * 2019-02-22 2022-07-19 百度在线网络技术(北京)有限公司 自动驾驶车道汇合处的速度规划方法、装置和存储介质
CN109685048A (zh) * 2019-03-04 2019-04-26 上海卓易科技股份有限公司 人体测量方法、装置、终端及存储介质
WO2020206071A1 (en) 2019-04-02 2020-10-08 Brain Corporation Systems, apparatuses, and methods for cost evaluation and motion planning for robotic devices
JP7479064B2 (ja) 2019-06-03 2024-05-08 リアルタイム ロボティクス, インコーポレーテッド 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品
JP7124797B2 (ja) * 2019-06-28 2022-08-24 トヨタ自動車株式会社 機械学習方法および移動ロボット
JPWO2021006134A1 (ja) * 2019-07-08 2021-01-14
US11875678B2 (en) * 2019-07-19 2024-01-16 Zoox, Inc. Unstructured vehicle path planner
EP3993963A4 (en) 2019-08-23 2022-08-24 Realtime Robotics, Inc. MOTION PLANNING FOR ROBOTS TO OPTIMIZE SPEED WHILE RESPECTING ACCELERATION AND JERK LIMITS
US11233937B1 (en) * 2019-09-26 2022-01-25 Amazon Technologies, Inc. Autonomously motile device with image capture
CN112818727A (zh) * 2019-11-18 2021-05-18 华为技术有限公司 一种道路约束确定方法及装置
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
CN111650931B (zh) * 2020-04-26 2023-03-14 广东博智林机器人有限公司 多个移动设备的路径确定的方法、装置与存储介质
US20220034669A1 (en) * 2020-07-28 2022-02-03 Bae Systems Information And Electronic Systems Integration Inc. Navigation architecture for contested environments
CN112454367B (zh) * 2020-12-10 2022-04-26 北京市商汤科技开发有限公司 一种轨迹规划方法、装置以及计算机存储介质
CN112797986B (zh) * 2021-02-07 2023-03-31 江西省智能产业技术创新研究院 基于无人自主技术的智能物流机器人定位系统及方法
CN112991527B (zh) * 2021-02-08 2022-04-19 追觅创新科技(苏州)有限公司 目标对象的躲避方法及装置、存储介质、电子装置
CN112904366B (zh) * 2021-03-19 2023-06-16 北京小狗吸尘器集团股份有限公司 应用于扫地机的重定位方法、装置、电子设备和介质
KR102551275B1 (ko) * 2021-05-14 2023-07-04 (주)로보티즈 자율 주행 로봇을 위한 거리 변환 지도 기반의 반응형 네비게이션
US20230031289A1 (en) * 2021-07-30 2023-02-02 Toyota Research Institute, Inc. Monocular 2d semantic keypoint detection and tracking
US11580690B1 (en) 2021-08-31 2023-02-14 Raytheon Company Horizon-based navigation
WO2023066772A1 (en) * 2021-10-20 2023-04-27 Syddansk Universitet A method and a system for collision avoidance of a 3d robotic concrete printer
CN114384939B (zh) * 2022-03-24 2022-07-29 江苏深瑞光学技术有限公司 一种微型水下探测机器人自主导航系统
CN116342827B (zh) * 2023-05-26 2023-08-08 厦门精图信息技术有限公司 一种地图元素三维呈现系统及方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6667592B2 (en) * 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
US8577538B2 (en) * 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
JP2007257200A (ja) * 2006-03-22 2007-10-04 Toyota Motor Corp 移動体及びその制御方法
US8509965B2 (en) * 2006-12-12 2013-08-13 American Gnc Corporation Integrated collision avoidance system for air vehicle
JP4661838B2 (ja) * 2007-07-18 2011-03-30 トヨタ自動車株式会社 経路計画装置及び方法、コスト評価装置、並びに移動体
CN100468265C (zh) * 2007-08-24 2009-03-11 北京航空航天大学 一种复合式视觉导航方法与装置
JP2009193240A (ja) * 2008-02-13 2009-08-27 Toyota Motor Corp 移動ロボット及び環境地図の生成方法
US8229618B2 (en) 2008-09-11 2012-07-24 Deere & Company Leader-follower fully autonomous vehicle with operator on side
JP5321214B2 (ja) * 2009-04-15 2013-10-23 トヨタ自動車株式会社 移動体及びその制御方法
KR101667032B1 (ko) * 2009-10-30 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
WO2012021192A2 (en) 2010-05-12 2012-02-16 Irobot Corporation Remote vehicle control system and method
US9213905B2 (en) 2010-10-25 2015-12-15 Trimble Navigation Limited Automatic obstacle location mapping
US8761990B2 (en) * 2011-03-30 2014-06-24 Microsoft Corporation Semi-autonomous mobile device driving with obstacle avoidance
CN102866706B (zh) * 2012-09-13 2015-03-25 深圳市银星智能科技股份有限公司 一种采用智能手机导航的清扫机器人及其导航清扫方法
KR101339480B1 (ko) * 2012-12-14 2013-12-10 고려대학교 산학협력단 Rrt 기반의 듀얼 트리 구조를 이용한 이동 로봇의 궤적 계획 방법
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US20140355869A1 (en) * 2013-06-03 2014-12-04 Elbit Systems Ltd. System and method for preventing aircrafts from colliding with objects on the ground
EP2884364B1 (en) * 2013-12-12 2018-09-26 Hexagon Technology Center GmbH Autonomous gardening vehicle with camera
DE102014226084A1 (de) * 2014-12-16 2016-06-16 Robert Bosch Gmbh Verfahren zur Kartierung einer Bearbeitungsfläche für autonome Roboterfahrzeuge
CN104865965B (zh) * 2015-05-20 2017-12-26 深圳市锐曼智能装备有限公司 机器人用深度摄像头与超声波结合的避障控制方法及系统
CN204695100U (zh) * 2015-05-20 2015-10-07 深圳市锐曼智能装备有限公司 机器人用深度摄像头与超声波结合的避障控制装置
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information

Also Published As

Publication number Publication date
JP2019500693A (ja) 2019-01-10
CN108475059B (zh) 2021-11-09
TW201728876A (zh) 2017-08-16
CN108475059A (zh) 2018-08-31
US10705528B2 (en) 2020-07-07
US20170168488A1 (en) 2017-06-15
EP3391166A1 (en) 2018-10-24
CA3004262A1 (en) 2017-06-22
BR112018011944A2 (pt) 2018-11-27
KR102226350B1 (ko) 2021-03-12
KR20180093934A (ko) 2018-08-22
WO2017105643A1 (en) 2017-06-22
EP3391166B1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
JP6882296B2 (ja) 自律視覚ナビゲーション
US11592845B2 (en) Image space motion planning of an autonomous vehicle
US20220234733A1 (en) Aerial Vehicle Smart Landing
US11861892B2 (en) Object tracking by an unmanned aerial vehicle using visual sensors
JP6906011B2 (ja) オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]
US11749124B2 (en) User interaction with an autonomous unmanned aerial vehicle
CN108007452B (zh) 根据障碍物更新环境地图的方法、装置及机器人
JP2007249632A (ja) 障害物のある環境下で自律移動する移動ロボットおよび移動ロボットの制御方法。
JP7278740B2 (ja) 移動体制御装置
JP2021114222A (ja) ロボットシステムおよびその位置推定方法
WO2023127337A1 (ja) 情報処理装置、情報処理方法、及びプログラム
Mohan et al. A comprehensive review of SLAM techniques
US20230150543A1 (en) Systems and methods for estimating cuboid headings based on heading estimations generated using different cuboid defining techniques
Hutsebaut-Buysse et al. Directed Real-World Learned Exploration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191004

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191004

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200326

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200923

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210506

R150 Certificate of patent or registration of utility model

Ref document number: 6882296

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150