JP7259020B2 - ウェイポイントマッチングを用いた自律マップトラバーサル - Google Patents

ウェイポイントマッチングを用いた自律マップトラバーサル Download PDF

Info

Publication number
JP7259020B2
JP7259020B2 JP2021517187A JP2021517187A JP7259020B2 JP 7259020 B2 JP7259020 B2 JP 7259020B2 JP 2021517187 A JP2021517187 A JP 2021517187A JP 2021517187 A JP2021517187 A JP 2021517187A JP 7259020 B2 JP7259020 B2 JP 7259020B2
Authority
JP
Japan
Prior art keywords
waypoint
robot
data
sensor
map
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
JP2021517187A
Other languages
English (en)
Other versions
JP2022511359A (ja
Inventor
ジョナク,ドム
シルバ,マルコ ダ
チェスナット,ジョエル
クリンゲンスミス,マット
Original Assignee
ボストン ダイナミクス,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ボストン ダイナミクス,インコーポレイテッド filed Critical ボストン ダイナミクス,インコーポレイテッド
Publication of JP2022511359A publication Critical patent/JP2022511359A/ja
Application granted granted Critical
Publication of JP7259020B2 publication Critical patent/JP7259020B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • 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/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
    • 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/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, 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Traffic Control Systems (AREA)

Description

本開示は、ウェイポイントマッチングを用いた自律マップトラバーサルに関する。
ロボットは、一般に、タスクを実行するために、可変のプログラムされた動作を介して材料、部品、ツール、または特殊なデバイスを移動するように設計された再プログラム可能な多機能マニピュレータとして定義される。ロボットは、物理的に固定されたマニピュレータ(例えば、産業用ロボットアーム)、(例えば、脚、車輪、もしくは牽引ベースのメカニズムを使用して)環境全体を移動する移動ロボット、またはマニピュレータと移動ロボットとの何らかの組み合わせであり得る。ロボットは、例えば、製造、輸送、危険な環境、探査、およびヘルスケアを含む、様々な産業で利用される。そのため、自律的に動作する能力は、ロボットの機能性を強化し、そのような産業に追加の便益をもたらし得る。
本開示の一態様は、自律マップトラバーサルのための方法を提供する。この方法は、環境内を移動しているロボットの周りの環境のセンサーデータを、データ処理ハードウェアで受信することを含む。センサーデータは、画像データを含む。この方法はまた、画像データに基づいて、少なくとも1つのウェイポイントヒューリスティックをデータ処理ハードウェアによって実行することを含む。少なくとも1つのウェイポイントヒューリスティックは、ウェイポイントマップ上へのウェイポイント配置をトリガーするように構成されている。少なくとも1つのウェイポイントヒューリスティックがウェイポイント配置をトリガーすることに応答して、この方法は、ウェイポイントマップ上のウェイポイントをデータ処理ハードウェアによって記録することを含む。ウェイポイントは、少なくとも1つのウェイポイントエッジに関連付けられており、ロボットによって取得されたセンサーデータの少なくとも一部を含む。少なくとも1つのウェイポイントエッジは、2つのウェイポイント間を移動する方法を表すポーズ変換を含む。
本開示の実装例は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの実装例では、画像データは、三次元体積画像センサーによってキャプチャされた三次元点群データを含む。ここで、三次元体積画像センサーは、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を含み得る。ウェイポイントヒューリスティックは、ロボットの現在位置における画像データ内の閾値特徴検出を検出するように構成され得る。
いくつかの実施例では、ウェイポイントのセンサーデータは、三次元体積画像センサーによってキャプチャされた三次元点群データと、ロボットの慣性測定ユニット(IMU)によって測定された慣性測定データを含むポーズデータと、を含む。所与のウェイポイントについて、この方法は、所与のウェイポイントに隣接するウェイポイントを識別することと、所与のウェイポイントおよび隣接するウェイポイントの三次元点群データの三次元点を、三次元点の集合として識別することと、を含み得る。所与のウェイポイントについて、この方法はまた、三次元点の集合の三次元点が、三次元点群データによって表される画像の視覚的エッジに対応するかどうかを判定することと、三次元点群データによって表される画像の視覚的エッジに対応する三次元点の集合の三次元点を、所与のウェイポイントに関連付けることと、を含み得る。
いくつかの構成では、ウェイポイントは、ロボットに、ウェイポイントにおいて方向付けられたポーズを達成させるように構成されたロボットポーズ制約を含む。ウェイポイントマップは、隣接するウェイポイントと局所的に一貫し得る。ウェイポイントエッジは、環境の空間的特徴を示す注釈を含み得る。ウェイポイントマップ上のウェイポイントを記録することは、ウェイポイントの周りのベイスンゾーン(basin zone)を記録することを含み得、ベイスンゾーンは、ロボットが反復最接近点(ICP)アルゴリズムを使用するように構成されているウェイポイントに隣接する領域を指定する。
本開示の別の態様は、ロボットを提供する。ロボットは、ロボットを環境の周囲に操縦するように構成された駆動システムと、駆動システムと通信するデータ処理ハードウェアと、を含む。ロボットは、データ処理ハードウェアと通信するメモリハードウェアも含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を格納する。動作は、環境内で移動しているロボットのセンサーデータを受信することを含む。センサーデータは、画像データを含む。動作はさらに、画像データに基づいて、少なくとも1つのウェイポイントヒューリスティックを実行することを含む。少なくとも1つのウェイポイントヒューリスティックは、ウェイポイントマップ上へのウェイポイント配置をトリガーするように構成されている。少なくとも1つのウェイポイントヒューリスティックがウェイポイント配置をトリガーすることに応答して、動作は、ウェイポイントマップ上のウェイポイントを記録することを含む。ウェイポイントは、少なくとも1つのウェイポイントエッジに関連付けられており、ロボットによって取得されたセンサーデータを含む。少なくとも1つのウェイポイントエッジは、2つのウェイポイント間を移動する方法を表すポーズ変換を含む。
本開示の実装例は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの実施例では、画像データは、三次元体積画像センサーによってキャプチャされた三次元点群データを含む。ここで、画像センサーは、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を含む。ウェイポイントヒューリスティックは、ロボットの現在位置における画像データ内の閾値特徴検出を検出するように構成され得る。
いくつかの実装例では、ウェイポイントのセンサーデータは、三次元体積画像センサーによってキャプチャされた三次元点群データと、ロボットの慣性測定ユニット(IMU)によって測定された慣性測定データを含むポーズデータと、を含む。所与のウェイポイントについて、動作は、所与のウェイポイントに隣接するウェイポイントを識別することと、所与のウェイポイントおよび隣接するウェイポイントの三次元点群データの三次元点を、三次元点の集合として識別することと、を含み得る。所与のウェイポイントについて、動作はまた、三次元点の集合の三次元点が、三次元点群データによって表される画像の視覚的エッジに対応するかどうかを判定することと、三次元点群データによって表される画像の視覚的エッジに対応する三次元点の集合の三次元点を、所与のウェイポイントに関連付けることと、を含み得る。
いくつかの構成では、ウェイポイントは、ロボットに、ウェイポイントにおいて方向付けられたポーズを達成させるように構成されたロボットポーズ制約を含む。ウェイポイントマップは、隣接するウェイポイントと局所的に一貫し得る。追加的または代替的に、ウェイポイントエッジは、環境の空間的特徴を示す注釈を含み得る。ウェイポイントマップ上のウェイポイントを記録することは、ウェイポイントの周りのベイスンゾーンを記録することを含み得、ベイスンゾーンは、ロボットが反復最接近点(ICP)アルゴリズムを使用するように構成されているウェイポイントに隣接する領域を指定する。
本開示のさらに別の態様は、自律マップトラバーサルのための方法を提供する。この方法は、環境内で移動しているロボットの周りの環境の画像データを、データ処理ハードウェアで受信することを含む。この方法はまた、受信された画像データに基づいて、ウェイポイントマップの第1のウェイポイントにローカライズするように構成された反復最接近点(ICP)アルゴリズムを、データ処理ハードウェアによって実行することを含む。この方法は、データ処理ハードウェアによって、ウェイポイントマップの第1のウェイポイントからウェイポイントマップの第2のウェイポイントまでのトラバーサル経路を実行することと、受信された画像データに基づいて、ICPアルゴリズムにより、ウェイポイントマップの第2のウェイポイントにローカリゼーションを、データ処理ハードウェアによって更新することと、をさらに含む。
本開示のこの態様の実装例は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの構成では、画像データは、三次元体積画像センサーによってキャプチャされた三次元点群データを含む。画像センサーは、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を含み得る。
いくつかの実施例では、第2のウェイポイントにローカリゼーションを更新することは、受信された画像データをウェイポイントマップの格納された画像データと比較することを含み、この格納された画像データは第2のウェイポイントに関連付けられている。追加的または代替的に、第2のウェイポイントにローカリゼーションを更新することは、ローカリゼーションに関連付けられた位置が、ローカリゼーション距離閾値を満たしていることを判定することと、データ処理ハードウェアによって、運動学的データおよび慣性測定データに従って、当該位置でローカリゼーションを実行することと、をさらに含み得る。ここで、ローカリゼーション距離閾値は、それぞれのウェイポイントからの距離を示す。
本開示の別の態様は、ロボットを提供する。ロボットは、ボディーと、ボディーに結合され、かつロボットを環境の周囲に操縦するように構成された脚と、脚と通信するデータ処理ハードウェアと、を含む。ロボットは、データ処理ハードウェアと通信するメモリハードウェアも含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を格納する。動作は、環境内で移動しているロボットの周りの環境の画像データを受信することを含む。動作はまた、受信された画像データに基づいて、ウェイポイントマップの第1のウェイポイントにローカライズするように構成された反復最接近点(ICP)アルゴリズムを実行することと、ウェイポイントマップの第1のウェイポイントからウェイポイントマップの第2のウェイポイントまでのトラバーサル経路を実行することと、を含む。動作はさらに、受信された画像データに基づき、ICPアルゴリズムによって、ウェイポイントマップの第2のウェイポイントにローカリゼーションを更新することを含む。
本開示のこの態様の実装例は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの実装例では、画像データは、三次元体積画像センサーによってキャプチャされた三次元点群データを含む。ここで、画像センサーは、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を含む。
いくつかの実施例では、第2のウェイポイントにローカリゼーションを更新することは、受信された画像データをウェイポイントマップの格納された画像データと比較することを含み、この格納された画像データは第2のウェイポイントに関連付けられている。任意選択で、第2のウェイポイントにローカリゼーションを更新することはまた、ローカリゼーションに関連付けられた位置が、ローカリゼーション距離閾値を満たしていることを判定することと、データ処理ハードウェアによって、運動学的データおよび慣性測定データに従って、当該位置でローカリゼーションを実行することと、を含み得る。ここで、ローカリゼーション距離閾値は、それぞれのウェイポイントからの距離を示す。
本開示の1つ以上の実装例の詳細が、添付図面および以下の説明において記述される。他の態様、特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
ロボット環境内のロボットの一例の概略図である。 ロボットのためのマップの一例の概略図である。 ベイスンを有するマップの例示的なウェイポイントの概略図である。 マップ制約を有する例示的なマップの概略図である。 ロボットのための例示的なマップの概略図である。 ロボットのためのロボット環境トラバーサルを実施するための例示的な配置のフロー図である。 本明細書に記載のシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
様々な図面中の同様の参照符号は、同様の要素を示す。
図1は、ロボット環境10の一例である。ロボット環境10は、概して、マップ200に従ってロボット100によってトラバースされ得る何らかのタイプの地形に関連付けられた空間領域を指す。例えば、地形は、建物、通り、歩道、公園、路地、階段、ランプ、トンネルなどの都市の地形、道路、野原、丘、山、洞窟などの田舎の地形、洞窟、トンネルなどの地中の地形、またはそれらの任意の組み合わせである。ロボット100は、ロボット100がロボット環境10を周囲に移動することを可能にする、ボディー150に取り付けられた脚および/または車輪などの移動ベースの構造体を含む。図1は、4つの脚103、104、106、108を有する四足歩行ロボットを示すが、ロボット10は、ロボット環境10をトラバースするための手段を提供する任意の数の脚または移動ベースの構造体(例えば、2つの脚を有する二足歩行もしくはヒューマノイドロボット)を含み得る。
いくつかの実装例では、ロボット100は、コンピューティングハードウェア110と、少なくとも1つのセンサーシステム120と、を含む。コンピューティングハードウェア110は、概して、データ処理ハードウェア112と、メモリハードウェア114と、を含む。コンピューティングハードウェア110は、ロボットトラバーサルシステム116を制御するように構成されている。ロボットトラバーサルシステム116は、ロボット100をロボット環境10の周囲に移動させるために、ロボット100の行動システム102を操作する。行動システム102は、概して、ロボット100の行動を制御する(すなわち、実行する)ことに関与する。例えば、行動システム102は、様々な足跡パターン、脚パターン、体動パターン、または視覚システム感知パターンを制御する。ロボットトラバーサルシステム116は、ロボットトラバーサルシステム116に提供された少なくとも1つのマップ200に基づいて、行動システム102を操作する。
トラバーサルシステム116は、ロボット100のメモリハードウェア114と通信し、ロボット100のデータ処理ハードウェア112を使用して行動システム102を操作するために、マップ200を提供するように構成されている。いくつかの実施例では、メモリハードウェア114は、マップ200をロボット100上にローカルで格納する。他の実施例では、マップ200は、トラバーサルシステム116によって、リモートで格納および/またはアクセスされる。例えば、トラバーサルシステム116は、ネットワーク130を介して、リモートシステム140と通信する。リモートシステム140は、リモートデータ処理ハードウェア144およびリモートメモリハードウェア146などのリモートリソース142を含むサーバまたはクラウドベースの環境であり得る。いくつかの実装例では、マップ200は、リモートリソース142を使用して、リモートシステム140上で格納および/または処理され、ネットワーク130を介して、ロボット100のトラバーサルシステム116に伝達される。さらに他の実施例では、マップ200の様々な部分が、リモートで(例えば、リモートシステム140を介して)およびローカルで(例えば、コンピューティングハードウェア110を介して)処理および/または格納される。
センサーシステム120は、1つ以上のセンサー122、122a-nを含む。センサー122は、視覚/画像センサー、慣性センサー(例えば、慣性測定ユニット(IMU))、および/または運動学的センサーを含み得る。センサー122のいくつかの例としては、ステレオカメラなどのカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーが挙げられる。いくつかの実施例では、センサー122は、センサー122に対応する感知範囲または領域を画定する、対応する視野(複数可)Fを有する。例えば、図1は、ロボット100の視野Fを示す。各センサー122は、センサー122が、例えば、1つ以上の軸(例えば、地面Gに関するx軸、y軸、またはz軸)周りの視野Fを変更し得るように、枢動可能および/または回転可能であり得る。いくつかの実装例では、ロボット100のボディー150は、ロボット100の周りのすべての方向でセンサーデータ124を収集するために、ボディー150の周りに複数のセンサー122を有するセンサーシステム120を含む。例えば、図1に示される四足歩行ロボットは、胸部122a上のセンサー122と、各側部122n上のセンサー122(片側のみが示されている)と、引き込み式の手122bの上のセンサー122と、を含む。ロボット100は、ロボット100の周りのロボット環境10のセンサーデータ124を生成するために、センサーシステム120の一部として、任意の数のセンサー122を含み得る。
視野Fをセンサー122で調査するときに、センサーシステム120が、視野Fに対応するセンサーデータ124を生成する。いくつかの実施例では、センサーデータ124は、三次元体積画像センサー122によって生成された三次元体積点群に対応する画像データである。追加的または代替的に、ロボット100がロボット環境10の周囲を移動しているとき、センサーシステム120が、(例えば、IMUによって測定された)慣性測定データを含む、ロボット100のポーズデータを収集する。いくつかの実施例では、ポーズデータは、ロボット100に関する運動学的データおよび/または向きデータを含む。
ロボット環境10に関する画像データ、ポーズデータ、慣性データ、運動学的データなどの、センサーシステム120によって収集されたセンサーデータ124は、ロボット100のコンピューティングハードウェア110(例えば、データ処理ハードウェア112およびメモリハードウェア114)に伝達され得る。いくつかの実施例では、センサーシステム120は、センサーデータ124を収集および格納する(例えば、メモリハードウェア114、またはリモートリソース142のメモリハードウェア146内に)。他の実施例では、センサーシステム120は、センサーデータ124をリアルタイムで収集し、センサーデータ124を生で(すなわち、未処理で)格納せずに、センサーデータ124を処理する。さらに他の実施例では、コンピューティングハードウェア110および/またはリモートリソース142が、処理済みのセンサーデータ124と、生のセンサーデータ124との両方を格納する。
図2A~図2Dは、ロボット100および/またはリモートシステム140によって生成されたマップ200、200a-dの例である。各マップ200は、ロボット100を自律的に案内するために使用される環境(例えば、ロボット環境10)を表す。ロボット100が、図1に示すように、ロボット環境10の周囲を移動するときに、センサーシステム120の1つ以上の視覚センサー122、122a-cによってキャプチャされたロボット環境10の画像データ124を受信することによって、ロボット100(またはリモートシステム140)が、マップ200を生成する。いくつかの実施例では、ロボット100が、コンピューティングハードウェア110を用いてマップ200を生成する一方、他の実施例では、リモートシステム140が、リモートリソース142を用いてマップ200を生成する。コンピューティングハードウェア110またはリモートシステム140のいずれかがマップ200を生成すると、ロボット100の行動システム102を実行するために、マップ200が、トラバーサルシステム116に伝達される。ここで、行動システム102が、ロボット100を、マップ200に従ってロボット環境10内をトラバースするように制御する。マップ200は、ロボット環境10をトラバースする同じロボット100、または異なるロボットによって生成されてもよい。
マップ200には、同様のセンサーシステム120を有する別のロボットに、即座に、繰り返し、および/または転送可能であるという利点がある。ここで、すべてのセンサーデータ124が収集されると、マップ200は、最終的な最適化を必要としない。さらに、ロボット100は、全地球測位情報またはビーコンからの他のナビゲーションデータなしに、マップ200を使用してロボット環境10を自律的にナビゲートすることができる。各マップ200は、ロボット100のシステム(もしくはリモートシステム140)によって自動的に処理されてもよく、または手動で処理されてもよい(例えば、ウェイポイント210、エッジ220、ベイスン230(図2B)、制約240(図2C)などを編集する)。これにより、マップ200が、柔軟に追加のデータ(例えば、注釈222)を含むこと、または調整されたロボット行動(例えば、特徴のない領域内でICPのローカリゼーションを抑制すること)を提供することが可能になる。さらに、マップ200のウェイポイント210またはエッジ220を(例えば、追加する、編集する、または削除することにより)変更することは、マップ200の変更されていない部分に影響を及ぼさないはずなので、品質管理が容易である。
マップ200は、ウェイポイント210と、ウェイポイント210間の接続を形成するエッジ220(ウェイポイントエッジとも呼ばれる)と、を含む。ウェイポイント210は、ロボット100が、ロボット環境10内の特定の場所で(例えば、自身のセンサーシステム120に従って)何を感知したかを表している。ロボット100および/またはリモートシステム140は、ロボットのセンサーシステム120によって収集された画像データ124に基づいて、ウェイポイント210を生成する。マップ200はウェイポイント210によって生成されるので、マップ200は、局所的に一貫し得る(例えば、隣接するウェイポイントに起因して、領域内で空間的に一貫している)が、全体的に正確である、および/または一貫している必要はない。
画像データ124を用いて、ロボット100および/またはリモートシステム140は、少なくとも1つのウェイポイントヒューリスティック212(図1)(例えば、ウェイポイントアルゴリズム)を実行する。少なくとも1つのウェイポイントヒューリスティック212は、マップ200上へのウェイポイント配置をトリガーするように構成されている。例えば、ウェイポイントヒューリスティック212は、(例えば、マップ200を生成または更新するときに)ロボット100の位置における画像データ124内の閾値特徴検出を検出するように構成されている。ウェイポイントヒューリスティック212は、ロボット環境10内の特徴を識別し得るものであり、この特徴は、ロボット100がロボット環境10の周囲を移動するための再現性を提供する信頼性の高い視覚センサーの特徴として機能する。例えば、ウェイポイントヒューリスティック212は、特徴認識のために事前にプログラムされている(例えば、格納された特徴でプログラムされている)か、または体積画像データ124の空間クラスタが発生する特徴(例えば、部屋の隅または壁の端)を識別するようにプログラムされている。少なくとも1つのウェイポイントヒューリスティック212がウェイポイント配置をトリガーすることに応答して、ロボット100および/またはリモートシステム140が、マップ200上のウェイポイント210を記録する。このウェイポイント識別プロセスは、ロボット100が、手動で領域(例えば、ロボット環境10)を通って駆動されるときに、繰り返され得る。いくつかの実施例では、ロボット100および/またはリモートシステム140は、ロボット100が(自身のセンサーシステム120を介して)以前に感知した領域について生成された複数のマップ200を格納する。
各ウェイポイント210は、通常、ウェイポイントエッジ220に関連付けられている。より具体的には、エッジ220は、1つのウェイポイント210(例えば、第1のウェイポイント210a)が別のウェイポイント210(例えば、第2のウェイポイント210b)にどのように関連しているかを示すように構成されている。例えば、エッジ220は、ウェイポイント210(例えば、隣接するウェイポイント210)間の位置関係を表す。言い換えれば、エッジ220は、2つのウェイポイント210間の接続である(例えば、エッジ220aは、第1のウェイポイント210aと、第2のウェイポイント210bとの間の接続として図2Aに示されている)。例えば、エッジ220は、第1のウェイポイント210aと、第2のウェイポイント210bとの間の経路(例えば、ロボット100の移動経路)である。いくつかの実施例では、各エッジ220は、2つのウェイポイント210の間のエッジ220に沿って、ロボット100がどのように移動するかを表すポーズ変換を含む。ポーズ変換は、環境内の1つの座標フレームの、別の座標フレームに対する位置および/または向きを説明し得る。いくつかの実装例では、エッジ220は、完全な三次元変換(例えば、6つの数値)を含む。これらの数値のいくつかは、例えば、推測航法ポーズ推定、視覚ベースの推定、またはロボット100運動学および/もしくは慣性測定に基づく他の推定など、様々な推定値を含む。
いくつかの実施例では、エッジ220は、ロボット環境10のさらなる指示/説明を提供する、エッジ220に関連付けられた注釈222を含む。注釈222のいくつかの例としては、エッジ220が階段上に位置しているか、または出入り口を横切っていることの説明または指示が挙げられる。これらの注釈222は、移動中、特に視覚情報が欠落または不足している場合(例えば、出入り口などの空洞)に、ロボット100を支援し得る。いくつかの構成では、注釈222は、方向制約(ポーズ制約とも呼ばれ得る)を含む。注釈222の方向制約は、特定の環境特徴におけるロボット100の位置合わせおよび/または向き(例えば、ポーズ)を指定し得る。例えば、注釈222は、階段に沿って進む、またはロボット100が方向転換するのを制限し得る狭い廊下を進む前のロボット100の特定の位置合わせまたはポーズを指定する。
いくつかの実装例では、マップ200の各ウェイポイント210は、ロボット100が、マップ200を形成するロボット環境を感知したときに、ロボット100のセンサーシステム120によって収集されたデータに対応するセンサーデータ124も含む。ここで、ウェイポイント210におけるセンサーデータ124は、ロボット100が、マップ200に従ってロボット環境10をトラバースするときに収集されるリアルタイムセンサーデータ124を、マップ200のウェイポイント210について格納されたセンサーデータ124と比較することによって、ロボット100がローカライズすることを可能にする。いくつかの構成では、ロボット100が(例えば、ターゲットウェイポイント210にいることを意図して)エッジ220に沿って移動した後に、ロボット100は、リアルタイムセンサーデータ124をマップ200(例えば、マップ200の意図されたターゲットウェイポイント210に関連付けられたセンサーデータ124)と直接比較することによって、ローカライズするように構成されている。ここで、マップ200のウェイポイント210に生の、または最小限の処理をしたほぼ生のセンサーデータ124を格納することにより、ロボット100は、マップされたロボット環境10内をロボット100が移動するときに、リアルタイムセンサーデータ124を使用して、効率的にローカライズすることができる。いくつかの実施例では、反復最接近点(ICP)アルゴリズムが、ウェイポイント210に関してロボット100をローカライズする。
センサーデータ124は、マップ200を使用してロボット環境10を自律的にトラバースするためにロボット100の初期化も可能にし得る。いくつかの実施例では、ロボット100は、最初に、ウェイポイント210に対するロボット100の(例えば、図2Aに示されるような)初期ポーズP、Pを定義したヒントを受信する。ロボット100は、このヒントを自動的に、またはロボット100のオペレータから受信するように構成され得る。ここで、ポーズPは、ロボット100の運動学的位置および/または向きを指す。それぞれのウェイポイント210に対するロボット100の初期ポーズPで、ロボット100は、エッジ220に沿って移動するようロボット100に指示するトラバースシステム116からのコマンドに従って、マップ200をトラバースする。例えば、図2Aのマップ200aは、ロボット100が、エッジ220a-fに沿ってウェイポイント210a-f間を移動することを示す。
いくつかの構成では、マップ200は、未処理のマップ202および/または処理済みのマップ204を含む。未処理のマップ202は、マップ200の生成中にロボット100のセンサーシステム120によって収集された生またはほぼ生のセンサーデータ124(例えば、図2Aに点および/または点群として示されている)をすべて含むマップ200である。対照的に、処理済みのマップ204は、ウェイポイント210のセンサーデータを、ウェイポイント210のすぐ隣りのウェイポイントと一緒に処理する。言い換えれば、処理済みのマップ204は、ロボット環境10内の複数のウェイポイント210のデータなど、より広範囲のデータを含み得る。いくつかの実施例では、処理済みのマップ204は、ウェイポイント210およびエッジ220近くのノイズを低減して、自律トラバーサルの有効性を高める。例えば、図2Aのマップ200aを参照すると、ウェイポイント210aのセンサーデータ124は、隣接するウェイポイント210b、210dのすべてのセンサーデータ124と一緒に処理されるであろう。いくつかの実施例では、処理済みのマップ204は、処理済みのマップ204の視覚的イメージとして、エッジ220に対応する点(例えば、体積点)を示す。一例として、所与のウェイポイント210aについて、処理済みのマップ204を生成するロボット100またはリモートシステム140(すなわち、処理システム)は、所与のウェイポイント210aの隣接するウェイポイント210b、210dを識別する。識別された隣接するウェイポイント210b、210dに関して、トラバーサルシステム116は、ウェイポイント210a、210b、210dに対応する三次元点群の三次元点が、三次元点群データによって表される画像の視覚的エッジに対応するかどうかを判定する。この判定に基づいて、トラバーサルシステム116が、三次元点群データによって表される画像の視覚的エッジに対応する三次元点を、所与のウェイポイント210aに関連付ける。追加的または代替的に、処理済みのマップ204のための処理で、複数の見晴らしの利く地点からセンサーシステム120によって観察されなかったエッジ220に沿ったセンサーデータ124が削除される。
図2Bは、1つ以上のウェイポイント210の周りのベイスンゾーンを使用するマップ200bの例である。ここで、ウェイポイント210は、対応するベイスン230を有して構成されている。ベイスン230は、ロボット100が、ICPアルゴリズムを使用して、ウェイポイント210に対する自身の移動を決定する(例えば、230というラベルの付いた点線の円内の領域として図2Bに示されている)ウェイポイント210の周りの指定されたゾーンを指す。ICPアルゴリズムを使用することにより、ロボット100は、自身の位置を微調整し得る。ロボット100の位置Lが、対応するウェイポイント210のベイスン230の外にあることをロボット100が判定すると、ロボット100は、運動学および/または慣性測定を使用して、ロボット100の動きを決定するように構成されている。示された実施例では、ロボット100が第1の位置Lにあるときには、ロボット100は、ICPアルゴリズムを使用して、ロボット100の動きを決定する。しかし、ロボット100が第2の位置Lにあるときには、ロボット100は、運動学および/または慣性測定に従って、ロボット100の動きを決定する。
いくつかの実施例では、ウェイポイント210内の領域は、ゴールゾーンと呼ばれる。ロボット100がゴールゾーン内にある場合には、ロボット100は、ウェイポイント210に正常にナビゲートしている。ウェイポイント210へ正常にナビゲートする(すなわち、ゴールゾーンへ入る)と、ロボット100は、ロボット100の経路に沿って、次のウェイポイント210に向かって移動し続けることができる。
いくつかの構成では、ローカリゼーションの品質が低い場合、トラバーサルシステム116は、マップ200に従って、ロボット100を自律的に誘導するのを中止することができる。この中止は、ベイスン230に基づいて、または、例えば、ローカリゼーション閾値(例えば、ロボット100のオペレータがロボット100を見失ったと判断した、ウェイポイント210からの位置L)に基づいて、発生する場合がある。例えば、ローカリゼーション閾値は、ICPアルゴリズムに基づいてローカリゼーションを実行するウェイポイント210の範囲の外にあると判定される、ウェイポイント210からの距離である。
追加的または代替的に、ロボット100は、運動学、慣性測定、またはICPアルゴリズムに従ってナビゲートしながら、全地球測位(例えば、全地球測位システム(GPS)受信機)を利用し得る。いくつかの実施例では、ロボット100は、最初に、マップ200を使用してロボット100の初期進路を(例えば、ウェイポイント210間のエッジ220に沿って)決定するが、その後、GPS受信機からロボット100において受信されたGPS測定値を使用して、ナビゲーションを補足する(例えば、運動学、慣性測定、またはICPアルゴリズムを補足する)。いくつかの構成では、コンピューティングハードウェア110は、GPS測定値を受信するように構成されている(例えば、コンピューティングハードウェア110は、GPS受信機を有して構成されている)。補助GPSシステムは、ロボット100が、屋外のロボット環境10内でナビゲートしているときに、特に有用であり得る。ロボット100は、ロボット100が常時GPSシステムを使用するか、またはロボット100が特定のロボット環境10を検知したときに(例えば、ロボット100が、隣接する特徴がより少ない屋外環境を感知したときに)GPSシステムを利用して、ナビゲーション入力を提供するように構成され得る。例えば、ローカリゼーションの品質が低い場合、ロボット100は、GPSシステムをアクティブ化および/または使用して、ナビゲーション入力を提供する。いくつかの構成では、GPSシステムが、ロボット100の経路を追跡する。これらの構成では、GPS経路をマップ200上のエッジ220と比較して、(例えば、トラバーサルシステム116を使用する自律ナビゲーションを微調整するために)トラバーサルシステム116にフィードバックを提供することができる。
図2Cを参照すると、いくつかの実装例では、マップ200cは、マップ制約240、240a-bを含む。マップ制約240は、指定された、または仮想障害物でブロックされた領域内にロボット100がそれるのを防止する仮想障害物を指す。言い換えれば、マップ制約240は、ロボット100が、1つ以上のエッジ220に対応する移動経路から大幅に逸脱するのを防止するのに役立ち得る。マップ制約240は、記録された経路に対して配置されるか、オペレータによって手動で追加されるか、またはシーンの形状に基づいて事前に計算され得る。例えば、図2Cでは、エッジ220a-cは、廊下に対応し得る。ロボット100が、ウェイポイント210a-cおよび廊下に対応するエッジ220a-cを有するマップ200を記録したとき、ロボット100は、廊下のいずれかの側の部屋および/または出入り口内に決して駆動されることはなかった。第1のマップ制約240aおよび第2のマップ制約240bによって、これらの部屋をそれぞれの出入り口でブロックすることが有利であり得る。したがって、第1のマップ制約240aおよび第2のマップ制約240bを用いて、ロボット100が、エッジ220a-cを追随する際に、部屋に迷い込むのを防ぎ、それにより、ロボット100が迷子になるか、またはコースから外れるのを防止すべきである。
図2Dは、トラバーサルシステム116が、追随するようにロボット100を構成する、時間インデックス付きロボット軌道250を有するマップ200d(例えば、処理済みのマップ204)を示す。時間インデックス付きロボット軌道250は、ウェイポイント210間のロボット100の移動軌道である。時間インデックス付きロボット軌道250は、トラバーサル経路250と呼ばれることもある。ここで、図2Dは、ロボット100が現在位置付けられている(ウェイポイント210a内で「X」として示されている)第1のウェイポイント210aから第3のウェイポイント210cに向かって指す矢印によって、時間インデックス付きロボット軌道250を示す。時間インデックス付きロボット軌道250をナビゲートするために、ロボット100は、エッジ220a、220bをトラバースするであろう。
いくつかの実施例では、トラバーサルシステム116は、ロボット100の移動のために、今後のウェイポイント210の全域で時間インデックス付きロボット軌道250を生成する。いくつかの実装例では、時間インデックス付きロボット軌道250のために、トラバーサルシステム116は、各ウェイポイント210におけるロボット100の向きが、それぞれのウェイポイント210を通る経路の現在のエッジ220と次のエッジ220との中間であることを指定する。ここで、時間tは、軌道に起因して各ウェイポイント210に到達するための予想時間tに基づいてもよい。ロボット100が軌道250を進むとき、軌道250のための時間t(例えば、第2のウェイポイント210bから第3のウェイポイント210cまで移動する時間t)は、ロボット100が各ウェイポイント210にいつ到達すべきかに関する更新された推定に基づいて、更新され得る。この構成では、ウェイポイント210に対応する時間tが現在の時間に近い場合、そのウェイポイントの時間が更新される。いくつかの実施例では、現在の時間がウェイポイント210に関連付けられた時間を経過した後、トラバーサルシステム116は、ウェイポイント210に到達したと見なし、続いて、ウェイポイント210を軌道から除外する。
追加的または代替的に、図2Aおよび図2Cのマップ200a、200cに示されるように、エッジ220に関連付けられた注釈222は、ロボット100が注釈222の方向制約に準拠するように、時間インデックス付きのロボット軌道に関連付けられたウェイポイント210におけるロボット100の向きを変更し得る。これらの方向制約に基づいて、軌道内のウェイポイント210に対して、ロボット100の向きも推定され得る。方向制約に照らして向きが間違っていると向き推定で判定された場合、ロボット100が方向制約に準拠することを確実にするために、向きセグメント(例えば、その場旋回セグメント)が、時間インデックス付きロボット軌道に追加され得る。
図1に戻って参照すると、ロボット100の行動システム102は、1つ以上のウェイポイント210に到達するためのゴール条件と制約条件とを含む経路記述206を、トラバーサルシステム116から任意選択で受信し得る。これらのゴール条件および制約条件に基づいて、ロボット100は、調整された経路がゴール条件および制約条件を満たす限り、その経路を調整する能力を備えた経路記述206に従う。条件のいくつかの例としては、ターゲットウェイポイント210における、またはターゲットウェイポイント210の周りでのロボット100の位置または向きを指定すること、またはターゲットウェイポイント210に進むための位置、向き、および/または速度を指定することが挙げられる。
図3は、マップ200を構成するための方法300の例示的な流れ図である。動作302で、方法300は、ロボット環境10内を移動しているロボット100の周りのロボット環境10の画像データ124を受信する。動作304で、方法300は、少なくとも1つのウェイポイントヒューリスティック212を実行し、この少なくとも1つのウェイポイントヒューリスティック212は、ウェイポイントマップ200上へのウェイポイント配置をトリガーするように構成されている。少なくとも1つのウェイポイントヒューリスティック212がウェイポイント配置をトリガーすることに応答して、動作306で、方法300は、ウェイポイントマップ200上にウェイポイント210を記録する。ここで、ウェイポイント210は、少なくとも1つのウェイポイントエッジ220に関連付けられており、ロボット100のセンサーシステム120によって取得されたセンサーデータ124を含む。少なくとも1つのウェイポイントエッジ220は、2つのウェイポイント210間を移動する方法を表すポーズ変換を含み得る。
図4は、ウェイポイントマップ200に関してロボット100をローカライズするための方法400の例示的な流れ図である。動作402で、方法400は、ロボット環境10内を移動しているロボット100の周りのロボット環境10の画像データ124を受信する。動作404で、方法400は、受信された画像データ124に基づいて、ウェイポイントマップ200の第1のウェイポイント210aにローカライズするように構成された反復最接近点(ICP)アルゴリズムを実行する。動作406で、方法400は、ウェイポイントマップ200の第1のウェイポイント210aからウェイポイントマップ200の第2のウェイポイント210bまでのトラバーサル経路250を実行する。動作404で、方法400は、受信された画像データに基づき、ICPアルゴリズムによって、ウェイポイントマップ200の第2のウェイポイント210bにローカリゼーションを更新する。
図5は、本明細書に記載のシステムおよび方法、例えば、行動システム102、コンピューティングハードウェア110、トラバーサルシステム116、または1リモートリソース142を実施するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。本明細書に示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示のみを意図しており、本明細書で説明および/または特許請求されている本発明の実装を制限することを意味するものではない。
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、ストレージデバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラー540と、低速バス570およびストレージデバイス530に接続する低速インターフェース/コントローラー560と、を含む。構成要素510、520、530、540,550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに、または必要に応じて他の方法で取り付けられ得る。プロセッサ510は、グラフィカルユーザーインターフェース(GUI)のためのグラフィカル情報を、高速インターフェース540に結合されたディスプレイ580などの外部入出力デバイス上に表示するために、メモリ520内またはストレージデバイス530上に格納された命令を含む、コンピューティングデバイス500内で実行するための命令を処理し得る。他の実装例では、必要に応じて、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス500が、各デバイスが必要な動作の一部を提供する状態で(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)、接続され得る。
メモリ520は、コンピューティングデバイス500内に非一時的に情報を格納する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であり得る。非一時的メモリ520は、コンピューティングデバイス500で使用するために、プログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を一時的または永続的に格納するために使用される物理デバイスであり得る。不揮発性メモリの例としては、以下に限定されないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能なプログラム可能な読み取り専用メモリ(EPROM)/電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)(例えば、通常、ブートプログラムなどのファームウェアに使用される)が挙げられる。揮発性メモリの例としては、以下に限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが挙げられる。
ストレージデバイス530は、コンピューティングデバイス500に大容量記憶装置を提供し得る。いくつかの実装例では、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装例では、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含むデバイスのアレイであり得る。追加の実装例では、コンピュータプログラム製品は、情報担体内に実体的に具体化される。コンピュータプログラム製品は、実行されると、上記のような1つ以上の方法を実行する命令を含む。情報キャリアは、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
高速コントローラー540が、コンピューティングデバイス500の帯域幅集中動作を管理する一方で、低速コントローラー560は、より低い帯域幅集中動作を管理する。そのようなデューティの割り当ては、例示にすぎない。いくつかの実装例では、高速コントローラー540は、メモリ520と、ディスプレイ580(例えば、グラフィックプロセッサまたはアクセラレータを介して)と、様々な拡張カード(図示せず)を受容する高速拡張ポート550と、に結合されている。いくつかの実装例では、低速コントローラー560は、ストレージデバイス530と、低速拡張ポート590と、に結合されている。様々な通信ポート(例えば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナーなどの1つ以上の入出力デバイスに、または、例えば、ネットワークアダプタを介して、スイッチもしくはルータなどのネットワーキングデバイスに結合され得る。
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態で実装され得る。例えば、コンピューティングデバイス500は、標準のサーバ500aとして、もしくはそのようなサーバ500aのグループ内に複数回、ラップトップコンピューター500bとして、またはラックサーバシステム500cの一部として実装され得る。
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組み合わせで実現され得る。これらの様々な実装は、データおよび命令をストレージシステムから受信するため、かつデータおよび命令をストレージシステムに送信するために結合された、専用または汎用であってもよい、少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスと、を含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラム内での実装を含み得る。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高レベル手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ言語/機械語で実装され得る。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械命令を機械可読信号として受け取る機械可読媒体を含む。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
本明細書で説明されるプロセスおよびロジックフローは、入力データを処理して出力を生成することによって機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得る。プロセスおよびロジックフローはまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実行され得る。コンピュータプログラムの実行に好適なプロセッサには、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータのうちの任意の1つ以上のプロセッサが含まれる。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令および/またはデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための1つ以上の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、または大容量ストレージデバイスからデータを受信、もしくはデータを転送、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータは必ずしもそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するための好適なコンピュータ可読媒体には、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれ、例としては、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば、内蔵ハードディスクまたは取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路に組み込まれ得る。
ユーザとの相互作用を提供するために、本開示の1つ以上の態様は、ユーザに情報を表示するための、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、もしくはタッチスクリーンなどの表示デバイス、ならびに任意選択で、ユーザがコンピュータに入力を提供できるキーボード、および、例えば、マウスもしくはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装され得る。他の種類のデバイスを使用して、ユーザとの相互作用を提供することもでき、例えば、ユーザに提供されるフィードバックは、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形態の感覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、当該デバイスからドキュメントを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
多数の実装態様が説明されてきた。それでもなお、本発明の趣旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、他の実装は、以下の特許請求の範囲内にある。

Claims (28)

  1. 方法(300)であって、
    環境(10)内を移動しているロボット(100)のセンサーデータ(124)をデータ処理ハードウェア(112)で受信することと、
    ェイポイントマップ(200)上へのウェイポイントの配置をトリガーするように構成されている少なくとも1つのウェイポイントヒューリスティック(212)を、前記センサーデータ(124)に基づいて、前記データ処理ハードウェア(112)によって実行することと、
    前記少なくとも1つのウェイポイントヒューリスティック(212)の実行に基づいて、前記データ処理ハードウェア(112)によって、
    少なくとも1つのウェイポイントエッジ(220)に関連付けられており、かつ前記センサーデータ(124)の少なくとも一部に関連付けられている、前記ウェイポイントマップ(200)上の前記ウェイポイント(210)、および
    前記ウェイポイントのベイスンゾーンを記録することであって、前記ロボット(100)が反復最接近点(ICP)アルゴリズムを使用するように構成されている前記ウェイポイントに対する領域を画定する前記ベイスンゾーンを記録することと、
    前記ロボットの位置が前記ベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記ベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットの動きを決定するための複数のアルゴリズムからアルゴリズムを決定することと
    を含む、方法(300)。
  2. 前記センサーデータ(124)が、三次元体積画像センサー(122)によってキャプチャされた三次元点群データを含む、請求項1に記載の方法(300)。
  3. 前記三次元体積画像センサー(122)が、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を備える、請求項2に記載の方法(300)。
  4. 前記少なくとも1つのウェイポイントヒューリスティック(212)が、前記ロボット(100)の現在位置での前記センサーデータ(124)内の特徴を検出するように構成されている、請求項1~3のいずれか一項に記載の方法(300)。
  5. 前記ウェイポイント(210)の前記センサーデータ(124)が、
    三次元体積画像センサー(122)によってキャプチャされた三次元点群データと、
    前記ロボット(100)の慣性測定ユニット(IMU)によって測定された慣性測定データ(124)を含むポーズデータ(124)と、を含む、請求項1~4のいずれか一項に記載の方法(300)。
  6. 所与のウェイポイント(210)について、
    前記所与のウェイポイント(210)に隣接するウェイポイント(210)を識別することと、
    前記所与のウェイポイント(210)および前記隣接するウェイポイント(210)の前記三次元点群データの三次元点を、三次元点の集合として識別することと、
    前記三次元点の集合の前記三次元点が、前記三次元点群データによって表される画像の視覚的エッジに対応するかどうかを判定することと、
    前記三次元点群データによって表される前記画像の前記視覚的エッジに対応する前記三次元点の集合の前記三次元点を、前記所与のウェイポイント(210)に関連付けることと、をさらに含む、請求項5に記載の方法(300)。
  7. 前記ウェイポイント(210)が、前記ロボット(100)に、前記ウェイポイント(210)において方向付けられたポーズを達成させるように構成されたロボットポーズ制約(240)を含む、請求項1~6のいずれか一項に記載の方法(300)。
  8. 前記ウェイポイントマップ(200)の複数のウェイポイントが、空間的に一貫する、請求項1~7のいずれか一項に記載の方法(300)。
  9. 前記ウェイポイントエッジ(220)が、前記環境(10)の空間的特徴を示す注釈を含む、請求項1に記載の方法(300)。
  10. ロボット(100)であって、
    前記ロボット(100)を環境(10)の周囲に操縦するように構成された駆動システムと、
    前記駆動システムと通信するデータ処理ハードウェア(112)と、
    前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と、
    を備え、前記メモリハードウェア(114)が、前記データ処理ハードウェア(112)上で実行されると、前記データ処理ハードウェア(112)に、
    前記環境(10)内で移動している前記ロボット(100)のセンサーデータ(124)を受信することと、
    ェイポイントマップ(200)上へのウェイポイントの配置をトリガーするように構成されている少なくとも1つのウェイポイントヒューリスティック(212)を前記センサーデータ(124)に基づいて実行することと、
    前記少なくとも1つのウェイポイントヒューリスティック(212)の実行に基づいて、
    少なくとも1つのウェイポイントエッジ(220)に関連付けられており、かつ前記センサーデータ(124)の少なくとも一部に関連付けられている、前記ウェイポイントマップ(200)上の前記ウェイポイント(210)、および、
    前記ウェイポイントのベイスンゾーンを記録することであって、前記ロボット(100)が反復最接近点(ICP)アルゴリズムを使用するように構成されている前記ウェイポイントに対する領域を画定する前記ベイスンゾーンを記録することと、
    前記ロボットの位置が前記ベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記ベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットの動きを決定するための複数のアルゴリズムからアルゴリズムを決定することと
    を含む動作を実行させる命令を格納している、ロボット(100)。
  11. 前記センサーデータ(124)が、三次元体積画像センサー(122)によってキャプチャされた三次元点群データを含む、請求項10に記載のロボット(100)。
  12. 前記画像センサーが、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を備える、請求項11に記載のロボット(100)。
  13. 前記少なくとも1つのウェイポイントヒューリスティック(212)が、前記ロボット(100)の現在位置における前記センサーデータ(124)内の特徴を検出するように構成されている、請求項1012のいずれか一項に記載のロボット(100)。
  14. 前記ウェイポイント(210)の前記センサーデータ(124)が、
    三次元体積画像センサー(122)によってキャプチャされた三次元点群データと、
    前記ロボット(100)の慣性測定ユニット(IMU)によって測定された慣性測定データ(124)を含むポーズデータ(124)と、を含む、請求項1013のいずれか一項に記載のロボット(100)。
  15. 前記動作が、所与のウェイポイント(210)について、
    前記所与のウェイポイント(210)に隣接するウェイポイント(210)を識別することと、
    前記所与のウェイポイント(210)および前記隣接するウェイポイント(210)の前記三次元点群データの三次元点を、三次元点の集合として識別することと、
    前記三次元点の集合の前記三次元点が、前記三次元点群データによって表される画像の視覚的エッジに対応するかどうかを判定することと、
    前記三次元点群データによって表される前記画像の前記視覚的エッジに対応する前記三次元点の集合の前記三次元点を、前記所与のウェイポイント(210)に関連付けることと、をさらに含む、請求項14に記載のロボット(100)。
  16. 前記ウェイポイント(210)が、前記ロボット(100)に、前記ウェイポイント(210)において方向付けられたポーズを達成させるように構成されたロボットポーズ制約(240)を含む、請求項1015のいずれか一項に記載のロボット(100)。
  17. 前記ウェイポイントマップ(200)の複数のウェイポイントが、空間的に一貫する、請求項1016のいずれか一項に記載のロボット(100)。
  18. 前記ウェイポイントエッジが、前記環境(10)の空間的特徴を示す注釈を含む、請求項1017のいずれかに記載のロボット(100)。
  19. 方法(400)であって、
    環境(10)内を移動しているロボット(100)の前記環境(10)の画像データ(124)をデータ処理ハードウェア(112)で受信することと、
    前記ロボットの位置がウェイポイントマップの第1のウェイポイントのベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記ベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットのローカリゼーションを決定するための複数のアルゴリズムからアルゴリズムを決定することと、
    前記アルゴリズムを決定することに基づいて、前記受信された画像データ(124)に基づいて前記第1のウェイポイント(210a)にローカライズするように構成された反復最接近点(ICP)アルゴリズムを、前記データ処理ハードウェア(112)によって、実行することと、
    前記ウェイポイントマップ(200)の前記第1のウェイポイント(210a)から前記ウェイポイントマップ(200)の第2のウェイポイント(210b)までのトラバーサル経路(250)を、前記データ処理ハードウェア(112)によって実行することと、
    前記受信された画像データ(124)に基づいて、前記ICPアルゴリズムにより、前記ウェイポイントマップ(200)の前記第2のウェイポイント(210b)に前記ローカリゼーションを、前記データ処理ハードウェア(112)によって更新することと、を含む、方法(400)。
  20. 前記画像データ(124)が、三次元体積画像センサー(122)によってキャプチャされた三次元点群データを含む、請求項19に記載の方法(400)。
  21. 前記画像センサー(122)が、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を備える、請求項20に記載の方法(400)。
  22. 前記第2のウェイポイント(210b)に前記ローカリゼーションを更新することが、前記受信された画像データ(124)を前記ウェイポイントマップ(200)の格納された画像データ(124)と比較することをさらに含み、前記格納された画像データ(124)が前記第2のウェイポイント(210b)に関連付けられている、請求項1921のいずれか一項に記載の方法(400)。
  23. 前記第2のウェイポイント(210b)に前記ローカリゼーションを更新することが、
    前記ロボットの位置が前記第2のウェイポイントの第2のベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記第2のベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットの前記ローカリゼーションを決定するための複数のアルゴリズムから第2のアルゴリズムを決定することと、
    前記第2のアルゴリズムに基づいて、前記データ処理ハードウェア(112)によって、運動学的データ(124)および慣性測定データ(124)に従って、前記位置でローカリゼーションを実行することと、をさらに含む、請求項1922のいずれか一項に記載の方法(400)。
  24. ロボット(100)であって、
    ボディー(150)と、
    前記ボディー(150)に結合され、前記ロボット(100)を環境(10)の周囲に移動させるように構成された脚(103、104、106、108)と、
    前記脚(103、104、106、108)と通信するデータ処理ハードウェア(112)と、
    前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)と、
    を備え、前記メモリハードウェア(114)が、前記データ処理ハードウェア(112)上で実行されると、前記データ処理ハードウェア(112)に、
    環境(10)内を移動しているロボット(100)の前記環境(10)の画像データ(124)を受信することと、
    前記ロボットの位置がウェイポイントマップの第1のウェイポイントのベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記ベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットのローカリゼーションを決定するための複数のアルゴリズムからアルゴリズムを決定することと、
    前記アルゴリズムを決定することに基づいて、前記受信された画像データ(124)に基づいて前記第1のウェイポイント(210a)にローカライズするように構成された反復最接近点(ICP)アルゴリズムを実行することと、
    前記ウェイポイントマップ(200)の前記第1のウェイポイント(210a)から前記ウェイポイントマップ(200)の第2のウェイポイント(210b)までのトラバーサル経路(250)を実行することと、
    前記受信された画像データ(124)に基づき、前記ICPアルゴリズムによって、前記ウェイポイントマップ(200)の前記第2のウェイポイント(210b)に前記ローカリゼーションを更新することと、を含む動作を実行させる命令を格納する、ロボット(100)。
  25. 前記画像データ(124)が、三次元体積画像センサー(122)によってキャプチャされた三次元点群データを含む、請求項24に記載のロボット(100)。
  26. 前記画像センサーが、ステレオカメラ、走査型光検出および測距(LIDAR)センサー、または走査型レーザー検出および測距(LADAR)センサーのうちの1つ以上を備える、請求項25に記載のロボット(100)。
  27. 前記第2のウェイポイント(210b)に前記ローカリゼーションを更新することが、前記受信された画像データ(124)を前記ウェイポイントマップ(200)の格納された画像データ(124)と比較することをさらに含み、前記格納された画像データ(124)が前記第2のウェイポイント(210b)に関連付けられている、請求項2426のいずれか一項に記載のロボット(100)。
  28. 前記第2のウェイポイント(210b)に前記ローカリゼーションを更新することが、
    前記ロボットの位置が前記第2のウェイポイントの第2のベイスンゾーン内にあるかどうかを判定することと、
    前記ロボットの前記位置が前記第2のベイスンゾーン内にあるかどうかを判定することに基づいて、前記ロボットの前記ローカリゼーションを決定するための複数のアルゴリズムから第2のアルゴリズムを決定することと、
    前記第2のアルゴリズムに基づいて、前記データ処理ハードウェア(112)によって、運動学的データ(124)および慣性測定データ(124)に従って、前記位置でローカリゼーションを実行することと、をさらに含む、請求項2427のいずれか一項に記載のロボット(100)。

JP2021517187A 2018-10-12 2019-08-23 ウェイポイントマッチングを用いた自律マップトラバーサル Active JP7259020B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862745013P 2018-10-12 2018-10-12
US62/745,013 2018-10-12
US16/295,592 US11747825B2 (en) 2018-10-12 2019-03-07 Autonomous map traversal with waypoint matching
US16/295,592 2019-03-07
PCT/US2019/047804 WO2020076422A2 (en) 2018-10-12 2019-08-23 Autonomous map traversal with waypoint matching

Publications (2)

Publication Number Publication Date
JP2022511359A JP2022511359A (ja) 2022-01-31
JP7259020B2 true JP7259020B2 (ja) 2023-04-17

Family

ID=70161286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021517187A Active JP7259020B2 (ja) 2018-10-12 2019-08-23 ウェイポイントマッチングを用いた自律マップトラバーサル

Country Status (6)

Country Link
US (3) US11747825B2 (ja)
EP (1) EP3864484A2 (ja)
JP (1) JP7259020B2 (ja)
KR (2) KR102504729B1 (ja)
CN (1) CN112840285A (ja)
WO (1) WO2020076422A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
WO2021025707A1 (en) 2019-08-06 2021-02-11 Boston Dynamics, Inc. Intermediate waypoint generator
JP2021146491A (ja) * 2020-03-23 2021-09-27 ソニーグループ株式会社 制御装置及び制御方法、並びにコンピュータプログラム
US11927961B2 (en) * 2020-04-20 2024-03-12 Boston Dynamics, Inc. Constrained robot autonomy language
US11712802B2 (en) 2020-04-20 2023-08-01 Boston Dynamics, Inc. Construction constrained motion primitives from robot maps
US11681304B2 (en) * 2020-09-01 2023-06-20 International Business Machines Corporation Emergency response system
CN112097744B (zh) * 2020-09-16 2022-08-30 上海遥程信息科技有限公司 一种竖立面的图像扫描方法、装置、设备和存储介质
US20220390952A1 (en) * 2021-06-04 2022-12-08 Boston Dynamics, Inc. Detecting negative obstacles
CN113741457B (zh) * 2021-09-03 2024-08-20 上海擎朗智能科技有限公司 地图构建和使用方法、机器人及存储介质
US20230157506A1 (en) * 2021-11-22 2023-05-25 Irobot Corporation Trajectory-based localization and mapping
US20230211842A1 (en) * 2021-12-31 2023-07-06 Hyundai Motor Company Autonomous walking vehicle
US20240210177A1 (en) * 2022-12-23 2024-06-27 Brookhurst Garage, Inc. Topometric map based autonomous navigation for inventory drone
CN116188702B (zh) * 2023-04-28 2023-07-25 北京德塔精要信息技术有限公司 一种相机漫游路线的搭建方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250795A (ja) 2012-05-31 2013-12-12 Aisin Seiki Co Ltd 移動体誘導装置及び移動体誘導方法
JP2014123200A (ja) 2012-12-20 2014-07-03 Toyota Motor Corp 移動体制御装置、移動体制御方法及び制御プログラム
JP2016103158A (ja) 2014-11-28 2016-06-02 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
WO2017090108A1 (ja) 2015-11-25 2017-06-01 株式会社日立製作所 棚配置システム、搬送ロボット及び棚配置方法

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3467136B2 (ja) 1995-11-07 2003-11-17 富士重工業株式会社 自律走行車の走行制御装置
JP3994950B2 (ja) * 2003-09-19 2007-10-24 ソニー株式会社 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
US20050216182A1 (en) 2004-03-24 2005-09-29 Hussain Talib S Vehicle routing and path planning
JP4479372B2 (ja) 2004-06-25 2010-06-09 ソニー株式会社 環境地図作成方法、環境地図作成装置、及び移動型ロボット装置
US7444237B2 (en) 2005-01-26 2008-10-28 Fujitsu Limited Planning a journey that includes waypoints
WO2007051972A1 (en) 2005-10-31 2007-05-10 Qinetiq Limited Navigation system
US8843244B2 (en) 2006-10-06 2014-09-23 Irobot Corporation Autonomous behaviors for a remove vehicle
US20100066587A1 (en) 2006-07-14 2010-03-18 Brian Masao Yamauchi Method and System for Controlling a Remote Vehicle
US8548734B2 (en) 2006-09-14 2013-10-01 University Of South Florida System and method for real-time travel path prediction and automatic incident alerts
JP2008072963A (ja) 2006-09-21 2008-04-03 Yanmar Co Ltd 農用作業車
AU2008362588A1 (en) * 2008-10-08 2010-04-15 Tomtom International B.V. Improvements relating to navigation apparatus used in-vehicle
US8930058B1 (en) 2008-10-20 2015-01-06 The United States Of America As Represented By The Secretary Of The Navy System and method for controlling a vehicle traveling along a path
KR101581197B1 (ko) * 2009-01-06 2015-12-30 삼성전자주식회사 로봇 및 그 제어방법
US9400503B2 (en) 2010-05-20 2016-07-26 Irobot Corporation Mobile human interface robot
US9014848B2 (en) * 2010-05-20 2015-04-21 Irobot Corporation Mobile robot system
KR101772977B1 (ko) * 2010-10-07 2017-08-31 삼성전자주식회사 이동 로봇 및 그 지도 작성 방법
US9146558B2 (en) * 2010-11-30 2015-09-29 Irobot Corporation Mobile robot and method of operating thereof
US9323250B2 (en) * 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
KR20130020107A (ko) * 2011-08-19 2013-02-27 박재형 차륜구동과 4족보행을 동시에 취할 수 있는 하이브리드형 구동 로봇의 주행 알고리듬과 그 로봇.
DE112012004767T5 (de) 2011-11-16 2014-11-06 Flextronics Ap, Llc Vollständiges Fahrzeugökosystem
US9463574B2 (en) 2012-03-01 2016-10-11 Irobot Corporation Mobile inspection robot
US9483055B2 (en) 2012-12-28 2016-11-01 Irobot Corporation Autonomous coverage robot
JP6409003B2 (ja) * 2013-01-18 2018-10-17 アイロボット コーポレイション ロボットを用いる方法及びそのコンピュータ可読記憶媒体
US8849494B1 (en) 2013-03-15 2014-09-30 Google Inc. Data selection by an autonomous vehicle for trajectory modification
CN203371557U (zh) 2013-07-19 2014-01-01 上海化学工业区公共管廊有限公司 机器人视频系统
EP2933604B1 (en) * 2014-04-14 2016-11-30 Softbank Robotics Europe A method for localizing a robot in a localization plane
CN104075715B (zh) * 2014-07-07 2017-09-01 东南大学 一种结合地形和环境特征的水下导航定位方法
JP2016081404A (ja) 2014-10-21 2016-05-16 株式会社日立製作所 自律移動装置
US9352470B1 (en) * 2014-11-11 2016-05-31 Google Inc. Yaw slip handling in a robotic device
CN104536445B (zh) * 2014-12-19 2018-07-03 深圳先进技术研究院 移动导航方法和系统
US9717387B1 (en) * 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9868210B1 (en) 2015-12-30 2018-01-16 Google Inc. Methods and systems for planning a body position of a robotic device
EP3403146A4 (en) * 2016-01-15 2019-08-21 iRobot Corporation AUTONOMOUS MONITORING ROBOT SYSTEMS
CN106371445B (zh) * 2016-11-17 2019-05-14 浙江大学 一种基于拓扑地图的无人车规划控制方法
US9933781B1 (en) 2016-11-23 2018-04-03 Denso International America, Inc. Data-driven planning for automated driving
US10296012B2 (en) 2016-12-21 2019-05-21 X Development Llc Pre-computation of kinematically feasible roadmaps
DE102017214746A1 (de) 2017-08-23 2019-02-28 Neusoft Technology Solutions Gmbh Verfahren zur Erzeugung alternativer Routenvorschläge
US10754339B2 (en) 2017-09-11 2020-08-25 Baidu Usa Llc Dynamic programming and quadratic programming based decision and planning for autonomous driving vehicles
CN108052103B (zh) * 2017-12-13 2020-12-04 中国矿业大学 基于深度惯性里程计的巡检机器人地下空间同时定位和地图构建方法
US10606269B2 (en) 2017-12-19 2020-03-31 X Development Llc Semantic obstacle recognition for path planning
WO2019126332A1 (en) 2017-12-19 2019-06-27 Carnegie Mellon University Intelligent cleaning robot
CA3096857A1 (en) 2018-04-12 2019-10-17 Uber Technologies, Inc. Autonomous vehicle control using service pools across different service entities
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
WO2021025707A1 (en) 2019-08-06 2021-02-11 Boston Dynamics, Inc. Intermediate waypoint generator
CN111604916B (zh) 2020-04-30 2024-04-02 杭州优云科技有限公司 一种机房it设备故障机柜u位定位系统及方法
CN211956515U (zh) 2020-04-30 2020-11-17 上海允登信息科技有限公司 一种数据中心it设备智能资产盘点系统
CN112034861A (zh) 2020-09-15 2020-12-04 航天科工智能机器人有限责任公司 一种仿生自主机器人自主避障系统及其避障方法
CN117795444A (zh) 2021-06-04 2024-03-29 波士顿动力公司 动态环境中导航的定向探索
US20220388170A1 (en) 2021-06-04 2022-12-08 Boston Dynamics, Inc. Alternate Route Finding for Waypoint-based Navigation Maps
US20220390954A1 (en) 2021-06-04 2022-12-08 Boston Dynamics, Inc. Topology Processing for Waypoint-based Navigation Maps
CN113633219B (zh) * 2021-07-23 2022-12-20 美智纵横科技有限责任公司 回充路径确定方法、装置、设备及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013250795A (ja) 2012-05-31 2013-12-12 Aisin Seiki Co Ltd 移動体誘導装置及び移動体誘導方法
JP2014123200A (ja) 2012-12-20 2014-07-03 Toyota Motor Corp 移動体制御装置、移動体制御方法及び制御プログラム
JP2016103158A (ja) 2014-11-28 2016-06-02 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
WO2017090108A1 (ja) 2015-11-25 2017-06-01 株式会社日立製作所 棚配置システム、搬送ロボット及び棚配置方法

Also Published As

Publication number Publication date
US20210141389A1 (en) 2021-05-13
EP3864484A2 (en) 2021-08-18
KR20230035139A (ko) 2023-03-10
US20230359220A1 (en) 2023-11-09
CN112840285A (zh) 2021-05-25
KR20210058998A (ko) 2021-05-24
KR102648771B1 (ko) 2024-03-18
US20200117214A1 (en) 2020-04-16
JP2022511359A (ja) 2022-01-31
WO2020076422A3 (en) 2020-05-14
WO2020076422A2 (en) 2020-04-16
US11656630B2 (en) 2023-05-23
KR102504729B1 (ko) 2023-03-02
US11747825B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
JP7259020B2 (ja) ウェイポイントマッチングを用いた自律マップトラバーサル
US10705537B2 (en) Discovery and monitoring of an environment using a plurality of robots
US20220390950A1 (en) Directed exploration for navigation in dynamic environments
EP1504277A2 (en) Real-time target tracking of an unpredictable target amid unknown obstacles
Al-Mutib et al. Stereo vision SLAM based indoor autonomous mobile robot navigation
Pang et al. A Low-Cost 3D SLAM System Integration of Autonomous Exploration Based on Fast-ICP Enhanced LiDAR-Inertial Odometry
Fontanelli et al. Visual servoing in the large
Roggeman et al. Embedded vision-based localization and model predictive control for autonomous exploration
Kumar Development of SLAM algorithm for a Pipe Inspection Serpentine Robot
Bajracharya et al. Target tracking, approach, and camera handoff for automated instrument placement
Wu et al. Hybrid navigation of an autonomous mobile robot to depress an elevator button
Shuvo et al. Sonar sensor virtualization for object detection and localization
Sefat et al. Design and implementation of a vision based intelligent object follower robot
US20240192695A1 (en) Anchoring based transformation for aligning sensor data of a robot with a site model
Ferrin Autonomous Goal-Based Mapping and Navigation Using a Ground Robot
Mattar et al. A survey: Intelligent based mobile robots stereo vision maps synthesis and learning methodologies
Charabaruk et al. Design and development of an autonomous omnidirectional hazardous materials handling robot
Liu Mobile Robot Manipulator System Design for Localization and Mapping in Cluttered Environments
Gowtham et al. Autonomous Robotic Exploration and Navigation System using Tri-layered Mapping and Geometrical Path Planning Techniques
Yadav et al. Navigation, Guidance & Control Program for GPS based Autonomous Ground Vehicle
Ye Toward safe navigation in urban environments
CN115668088A (zh) 受约束机器人自主语言
Wang et al. Adaptive Autonomous Navigation System for Coal Mine Inspection Robots: Overcoming Intersection Challenges and Enhancing Safety

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221228

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: 20230323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230405

R150 Certificate of patent or registration of utility model

Ref document number: 7259020

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150