JP2022542807A - 中間ウェイポイント生成器 - Google Patents

中間ウェイポイント生成器 Download PDF

Info

Publication number
JP2022542807A
JP2022542807A JP2022502242A JP2022502242A JP2022542807A JP 2022542807 A JP2022542807 A JP 2022542807A JP 2022502242 A JP2022502242 A JP 2022502242A JP 2022502242 A JP2022502242 A JP 2022502242A JP 2022542807 A JP2022542807 A JP 2022542807A
Authority
JP
Japan
Prior art keywords
yaw
robot
map
generating
graph
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.)
Granted
Application number
JP2022502242A
Other languages
English (en)
Other versions
JP7502409B2 (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 JP2022542807A publication Critical patent/JP2022542807A/ja
Application granted granted Critical
Publication of JP7502409B2 publication Critical patent/JP7502409B2/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • 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/0248Control 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 in combination with a laser
    • 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
    • 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/40519Motion, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)

Abstract

【課題】 目的地までうまく走行しながら、障害物との接触を回避するリアルタイムでのナビゲーションとルート計画を提供することである。【解決手段】 ロボット(10)のナビゲーションシステム(100)のための中間ウェイポイント(310)を生成する方法は、ナビゲーションルート(112)を受信することを含む。ナビゲーションルートは、出発地(113)から始まって目的地(114)で終わる一連の上位ウェイポイント(210)を含み、ロボットが走行する領域内の静止障害物の場所を表す上位ナビゲーションデータ(50)に基づく。方法はまた、イメージセンサ(31)からのロボットの周囲の環境(8)の画像データ(17)を受信することと、少なくとも1つの中間ウェイポイントを画像データに基づいて生成することも含む。方法はまた、ナビゲーションルートの一連の上位ウェイポイントに少なくとも1つの中間ウェイポイントを追加することと、ロボットを出発地から一連の上位ウェイポイント及び少なくとも1つの中間ウェイポイントに沿って目的地に向かってナビゲートすることも含む。【選択図】 図1

Description

技術分野
[0001] 本開示は、制約、特に地形により加えられる制約の存在時に中間ウェイポイントを生成することに関する。
背景
[0002] ロボット機器は、制約された環境内を走行して様々な作業や機能を果たすためにますます利用されている。これらのロボット機器は多くの場合、このような制約された環境内で障害物と接触しないように、又は閊えたり、引っ掛かったりしないように走行する必要がある。こうしたロボット機器がさらに普及する中で、目的地までうまく走行しながら、障害物との接触を回避するリアルタイムでのナビゲーションとルート計画が求められている。
概要
[0003] 本開示の1つの態様は、ロボットのナビゲーションシステムのための中間ウェイポイントを生成する方法を提供する。方法は、ロボットのデータ処理ハードウェアにおいて、ナビゲーションルートを受信することを含む。ナビゲーションルートは、出発地から始まって目的地で終わり、上位ナビゲーションデータに基づく一連の上位ウェイポイントを含む。上位ナビゲーションデータは、ロボットが走行する領域内の静止障害物の場所を表す。方法はまた、データ処理ハードウェアにおいて、イメージセンサからのロボットの周囲の環境の画像データを受信することも含む。方法はまた、データ処理ハードウェアにより、少なくとも1つの中間ウェイポイントを画像データに基づいて生成することも含む。方法はまた、データ処理ハードウェアにより、ナビゲーションルートの一連の上位ウェイポイントに少なくとも1つの中間ウェイポイントを追加することと、データ処理ハードウェアにより、ロボットを出発地から一連の上位ウェイポイント及び少なくとも1つの中間ウェイポイントに沿って目的地に向かってナビゲートすることも含む。
[0004] 本開示の実施例は、以下の任意選択的特徴の1つ又は複数を含み得る。幾つかの実施例において、各上位ウェイポイントと各中間ウェイポイントは、平面内の位置を示す2つの座標、ヨー値、及び時刻値を含む。時刻値は、ロボットがそれぞれのウェイポイントへと走行する推定時間量を示す。幾つかの例において、方法は、データ処理ハードウェアにより、一連の上位ウェイポイントの各々をナビゲーションルート上に保持することをさらに含む。方法はまた、データ処理ハードウェアにおいて、胴部障害物マップを受信することも含み得る。胴部障害物マップは、ロボットの胴部が通過できない障害物のマップを含む。それに加えて、少なくとも1つの中間ウェイポイントを生成することは胴部障害物マップに基づく疎グラフを生成することも含み得る。疎グラフは、ノード及びエッジのリストを含む。ノード及びエッジは、ロボットが環境中で移動し得る経路を表す。方法はまた、ノードのリストのうちの第一のノードからノードのリストのうちの第二のノードまでの概略経路を計画することも含み得る。第一のノードと第二のノードは各々、環境内のある空間を表す。方法はまた、概略経路に沿った、イメージセンサの視線が失われる点を特定することと、少なくとも1つの中間ウェイポイントの1つを視線が失われる点において生じさせることと、も含み得る。
[0005] 幾つかの実施例において、疎グラフを生成することは、胴部障害物マップに基づいてコンフィギュレーション空間全体マップを生成することを含む。コンフィギュレーション空間全体マップはエレメントの二次元グリッドを含み、グリッドの各エレメントは環境のある空間を表し、コンフィギュレーション空間全体マップの各エレメントはそれぞれのヨーコンフィギュレーションセットを含み得る。各ヨーコンフィギュレーションは有効か無効かに分類され得、有効ヨーコンフィギュレーションはロボットの、それぞれのエレメントに関連付けられた空間における障害物との接触の点で安全なヨーコンフィギュレーションを表し、無効ヨーコンフィギュレーションはロボットの、それぞれのエレメントに関連付けられた空間における障害物との接触の点で安全でないヨーコンフィギュレーションを表す。方法はまた、コンフィギュレーション空間全体マップからコンフィギュレーション空間圧縮マップを生成することも含み得る。コンフィギュレーション空間圧縮マップは、エレメントの第二の二次元グリッドを含み、第二のグリッドの各エレメントは環境のある空間を表す。第二のグリッドの各エレメントはまた、(i)ヨー衝突ゾーン、(ii)ヨー自由ゾーン、又は(iii)ヨー制約ゾーンのうちの1つに分類される。方法は、幾つかの例において、コンフィギュレーション空間圧縮マップから疎グラフを生成することを含む。
[0006] 任意選択により、第一のノードから第二のノードまでの概略経路を計画することは、コンフィギュレーション空間圧縮マップから密グラフを生成することを含む。密グラフは、ヨー自由ゾーンに分類されるエレメントを含む。方法はまた、疎グラフからのエッジを密グラフからのエレメントに関係付けることも含み得る。エッジを密グラフのエレメントに関係付けることは、幾つかの実施例において、疎グラフと密グラフを複合させて最終グラフを生成することを含む。幾つかの例において、方法はまた、最終グラフについてA探索アルゴリズムを実行することも含む。
[0007] 幾つかの例において、疎グラフを生成することは、複数のボロノイセルをコンフィギュレーション空間圧縮マップの上に重ねることをさらに含み、各ボロノイセルは、疎グラフ上でヨー制約ゾーンに分類される。各ボロノイセルは、ヨー衝突ゾーンに分類される少なくとも2つのエレメントから等距離にある。任意選択により、疎グラフを生成することは、各ボロノイセルをエッジ又はノードの何れかに分類することをさらに含む。各ボロノイセルを分類することは、フラッドフィルアルゴリズムを実行することを含み得る。
[0008] 幾つかの実施例において、第一のノードから第二のノードへの概略経路を計画することは、エッジを枝切りすることを含み、枝切りされた各エッジは、閾値長さ未満であり、ヨー衝突ゾーン又はヨー制約ゾーンの何れかに分類されるエレメントを含む。概略経路に沿った、イメージセンサによる視線が失われる点を特定することは、計画された概略経路に沿った各エレメントにおける最小許容ヨー及び最大許容ヨーを特定することと、最小許容ヨーと最大許容ヨーに基づいて最小包絡線を特定することと、をさらに含み得る。方法はまた、概略経路上のある点における必要なヨーを最小包絡線の外にあることを特定することも含み得る。
[0009] 幾つかの例において、方法は、データ処理ハードウェアにより、上位ウェイポイントと少なくとも1つの中間ウェイポイントを有するナビゲーションルートを下位経路生成器に送信することをさらに含む。方法はまた、データ処理ハードウェアにより、少なくとも1つの中間ウェイポイントをナビゲーションルートに追加すべきか否かを特定することと、少なくとも1つの中間ウェイポイントをナビゲーションルートに追加しないと特定したことに応答して、データ処理ハードウェアにより、ナビゲーションルートを変更せずに下位経路生成器へと伝えることも含み得る。
[0010] 本開示の他の態様は、胴部と、胴部に連結され、環境内でロボットを操縦するように構成された脚と、を含むロボットを提供する。ロボットはまた、脚と通信するデータ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアも含む。メモリハードウェアは、データ処理ハードウェアにより実行されると、データ処理ハードウェアに動作を実行させる命令を記憶する。動作は、ナビゲーションルートを受信することを含む。ナビゲーションルートは、出発点から始まって目的地で終わる一連の上位ウェイポイントを含み、上位ナビゲーションデータに基づく。上位ナビゲーションデータは、ロボットが走行することになる領域内の静止障害物の場所を表す。動作はまた、イメージセンサからのロボットの周囲の環境の画像データを受信することも含む。動作はまた、画像データに基づいて少なくとも1つの中間ウェイポイントを生成することも含む。動作はまた、少なくとも1つの中間ウェイポイントをナビゲーションルートの一連の上位ウェイポイントに追加することと、ロボットを出発地から一連の上位ウェイポイントと少なくとも1つの中間ウェイポイントに沿って目的地に向かってナビゲートすること、も含む。
[0011] この態様は、以下の任意選択的特徴の1つ又は複数を含み得る。幾つかの実施形態において、各上位ウェイポイントと各中間ウェイポイントは、平面上の位置を示す2つの座標、ヨー値、及び時刻値を含む。時刻値は、ロボットがそれぞれのウェイポイントまで走行する推定時間量を示す。幾つかの例において、動作は、一連の上位ウェイポイントの各々をナビゲーションルート上に保持することをさらに含む。動作はまた、胴部障害物マップを受信することも含み得る。胴部障害物マップは、ロボットの胴部が通過できない障害物のマップを含む。追加的に、少なくとも1つの中間ウェイポイントを生成することは、胴部障害物マップに基づいて疎グラフを生成することを含み得る。疎グラフは、ノード及びエッジのリストを含む。ノード及びエッジは、ロボットが環境中で移動し得る経路を表す。動作はまた、ノードのリストのうちの第一のノードからノードのリストのうちの第二のノードまでの概略経路を計画することも含み得る。第一のノードと第二のノードは各々、環境中のある空間を表す。動作はまた、概略経路に沿った、イメージセンサの視線が失われる点を特定することと、少なくとも1つの中間ウェイポイントのうちの1つを視線が失われるこの点において生成することも含み得る。
[0012] 幾つかの実施例において、疎グラフを生成することは、胴部障害物マップに基づいてコンフィギュレーション空間全体マップを生成することを含む。コンフィギュレーション空間全体マップは、エレメントの二次元グリッドを含み得て、グリッドの各エレメントは環境のある空間を表し、コンフィギュレーション空間全体マップの各エレメントはそれぞれのヨーコンフィギュレーションセットを含む。各ヨーコンフィギュレーションは有効か無効かに分類され、有効ヨーコンフィギュレーションは、それぞれのエレメントに関連付けられる空間において障害物と接触しないという点で安全なロボットのヨーコンフィギュレーションを表し、無効ヨーコンフィギュレーションは、それぞれのエレメントに関連付けられる空間において障害物と接触するという点で安全でないロボットのヨーコンフィギュレーションを表す。動作はまた、コンフィギュレーション空間全体マップからコンフィギュレーション空間圧縮マップを生成することも含み得る。コンフィギュレーション空間圧縮マップは、エレメントの第二の二次元グリッドを含み、第二のグリッドの各エレメントは環境のある空間を表す。第二のグリッドの各エレメントはまた、(i)ヨー衝突ゾーン、(ii)ヨー自由ゾーン、又は(iii)ヨー制約ゾーンのうちの1つに分類される。動作は、幾つかの例において、コンフィギュレーション空間圧縮マップから疎グラフを生成することを含む。
[0013] 任意選択的に、第一のノードから第二のノードまでの概略経路を計画することは、コンフィギュレーション空間圧縮マップから密グラフを生成することを含む。密グラフは、ヨー自由ゾーンに分類されるエレメントを含む。動作はまた、疎グラフからのエッジを密グラフからのエレメントに関係付けることも含み得る。エッジを密グラフからのエレメントに関係付けることは、幾つかの実施例において、疎グラフと密グラフを組み合わせて最終グラフを生成すること含む。幾つかの例において、動作はまた、最終グラフについてA探索アルゴリズムを実行することも含む。
[0014] 幾つかの例において、疎グラフを生成することは、複数のボロノイセルをコンフィギュレーション空間圧縮マップの上に重ねることをさらに含み、各ボロノイセルは、疎グラフ上のヨー制約ゾーンに分類される。各ボロノイセルは、ヨー衝突ゾーンに分類される少なくとも2つのエレメントから等距離にある。任意選択的に、疎グラフを生成することは、各ボロノイセルをエッジ又はノードの何れかに分類することを含む。各ボロノイセルを分類することは、フラッドフィルアルゴリズムを実行することを含み得る。
[0015] 幾つかの実施形態において、第一のノードから第二のノードまでの概略経路を計画することは、エッジを枝切りすることを含み、枝切りされた各エッジは閾値長さ未満であり、ヨー衝突ゾーン又はヨー制約ゾーンの何れに分類されるエレメントを含む。概略経路に沿った、イメージセンサの視線が失われる点を特定することは、計画された概略経路に沿った各エレメントにおける最小許容ヨーと最大許容ヨーを特定することと、最小許容ヨーと最大許容ヨーに基づいて最小包絡線を特定することを含み得る。動作はまた、概略経路上のある点において必要なヨーが最小包絡線の外にあることを検出することも含み得る。
[0016] 幾つかの例において、動作は、上位ウェイポイントと少なくとも1つの中間ウェイポイントを有するナビゲーションルートを下位経路生成器に送信することをさらに含む。動作はまた、少なくとも1つの中間ウェイポイントをナビゲーションルートに追加すべきか否かを特定することと、少なくとも1つの中間ウェイポイントをナビゲーションルートに追加しないことを特定したことに応答して、ナビゲーションルートを変更せずに下位経路生成器に伝えることも含み得る。
[0017] 本開示の1つ又は複数の実施例の詳細は、添付の図面及び以下の説明の中に示されている。その他の態様、特徴、及び利点は図面の説明から、及び特許請求の範囲から明らかとなるであろう。
図面の説明
[0018]ロボットのためのナビゲーションシステムの、中間ウェイポイントを生成するシステムの例示的システムの概略図である。 [0019]上位ウェイポイントを使用するナビゲーションルートを走行するロボットの概略図である。 [0019]上位ウェイポイントを使用するナビゲーションルートを走行するロボットの概略図である。 [0020]上位ウェイポイント及び中間ウェイポイントを使用する図2A及び2Bのナビゲーションルートを走行するロボットの概略図である。 [0021]図1のナビゲーションシステムの例示的な中間ウェイポイント生成器の概略図である。 [0022]コンフィギュレーション空間圧縮マップの概略図である。 [0023]ボロノイセルを重ねた図5のコンフィギュレーション空間マップの概略図である。 [0024]エレメントとボロノイセルの最も近い障害物との間の距離を示す、図6のボロノイセルの概略図である。 [0025]図6のボロノイセルを塗りつぶすフラッドフィルアルゴリズムの概略図である。 [0025]図6のボロノイセルを塗りつぶすフラッドフィルアルゴリズムの概略図である。 [0025]図6のボロノイセルを塗りつぶすフラッドフィルアルゴリズムの概略図である。 [0025]図6のボロノイセルを塗りつぶすフラッドフィルアルゴリズムの概略図である。 [0025]図6のボロノイセルを塗りつぶすフラッドフィルアルゴリズムの概略図である。 [0026]図6のボロノイセルから得られたエッジとノードの概略図である。 [0027]図6のボロノイセルから枝切りされた得られたエッジとノードの概略図である。 [0028]二次元疎グラフの概略図である。 [0028]SE2疎グラフの概略図である。 [0029]ゴールの目的地のための追加ノードの概略図である。 [0029]ゴールの目的地のための追加ノードの概略図である。 [0030]ヨー自由ゾーン及びヨー制約ゾーンを通る経路の概略図である。 [0031]ヨー制約ゾーンを通る経路の概略図である。 [0032]視線が失われる場所に設置された中間ウェイポイントを含むロボットのためのナビゲーションルートの概略図である。 [0032]視線が失われる場所に設置された中間ウェイポイントを含むロボットのためのナビゲーションルートの概略図である。 [0033]ロボットのナビゲーションシステムのための中間ウェイポイントを生成する例示的な方法のフローチャートである。 [0034]本明細書に記載のシステム及び方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
[0035] 各種の図面中の同様の参照記号は同様の要素を示す。
[0036] 脚式ロボット装置(「ロボット」とも呼ぶ)が主流となりつつあるのに伴い、ロボットを様々な制約のある環境中で自発的にナビゲートする必要性が増している。ロボットは大型及び/又は静止物体(例えば、壁、ドア等)に関する情報を記憶する上位マップデータに依拠することが多い。目的地のゴールが与えられると、ロボットは多くの場合、まず、この上位マップから経路又はコースをプロットして静止障害物を避けて走行し、その後、下位ナビゲーションデータを収集する認識システムに依拠して、移動中に遭遇する小型の動的物体を避けて走行する。この種の環境中を走行する場合、ロボットは、上位マップでは考慮されないが、下位システムでそれを避けるには大きすぎる障害物に頻繁に遭遇する。このような状況では、ロボットが閊えたり、引っ掛かったりすることは珍しくない。本願の実施例は、上位ルートに対する中間ウェイポイントをリアルタイムで生成し、それゆえ脚式ロボット機器がより大型の動的物体間を効率的に走行できるようにする中間ウェイポイント生成器のためのシステムと方法に関する。
[0037] 図1を参照すると、ロボット又はロボット機器10は胴部11と2つ以上の脚12を含み、ロボット10が制約のある環境8中を走行できるようにするナビゲーションシステム100を実行する。各脚12は胴部11に連結され、脚ジョイント18により分離される上部分14と下部分16を有し得る。各脚12の下部分16は足19で終わる。各脚の足19は任意選択的であり、脚12のうちの1つ又は複数の下部分の終端は車輪に連結され得、又は各脚12の先端は地表面9に直接接触し得る。ロボット10は、重力方向に沿った垂直重力軸Vgと、質量中心CMを有し、これはロボット10の分散した質量の加重相対位置の合計がゼロになる点である。ロボット10は、ロボット10がとる特定の姿勢又はスタンスを定義するための、垂直重力軸Vg(すなわち、重力に関する固定参照フレーム)に関するCMに基づくポーズPをさらに有する。ロボット10の姿勢は、空間内のロボット10の姿勢角度又は角度位置により定義できる。脚12の胴部11に関する移動により、ロボット10のポーズP(すなわち、ロボットのCMの位置とロボット10の姿勢又は姿勢角度との組合せ)が変わる。
[0038] 幾つかの実装形態において、ロボット10は1つ又は複数の付属物をさらに含み、これは例えば胴部11上に配置され、胴部11に関して移動するように構成された関節腕20である。関節腕20は、5又はそれ以上の自由度を有し得る。さらに、関節腕20は、マニピュレーションアーム又は単に付属物と互換的に呼ばれ得る。図の例において、関節腕20は、相互に関して、及び胴部11にも関して回転可能な2つの部分22、24を含むが、関節腕20はそれより多い、又は少ない部分を含んでもよく、これらも本開示の範囲から逸脱しない。第一の部分22は、第二の部分24から関節腕ジョイント26により分離され得る。エンドエフェクタ28は、マニピュレータヘッド28と互換的に呼ばれ得、関節腕20の第二の部分24の先端に連結され得、物体を握り/把持するための1つ又は複数のアクチュエータ29を含み得る。
[0039] ロボット10はまた、少なくとも1つのイメージングセンサ又はカメラ31を備えるビジョンシステム30も含み、各センサ又はカメラ31はロボット10を取り巻く環境8の画像データ又はセンサデータ17を視野角32及び視野34で捕捉する。ビジョンシステム30は、視野角32を調整することによって、又は視野34を何れかの方向に移動させるために(ロボット10とは独立して、又はロボット10を介して)カメラ31をパンニング及び/又はチルティングすることによって、視野34を移動させるように構成され得る。代替的に、ビジョンシステム30は複数のセンサ又はカメラ31を含み得て、ビジョンシステム30はロボット10の周囲の概して360度の視野を捕捉する。
[0040] ビジョンシステム30のカメラ31は、幾つかの実装形態において、1つ又は複数のステレオカメラ(例えば、1つ又は複数のRGBDステレオカメラ)を含む。他の例では、ビジョンシステム30は、走査型光検知測距(LIDAR)センサ若しくは走査型レーザ検出測距(LADAR)センサ等の1つ又は複数のレーダセンサ、光スキャナ、飛行時間センサ、又は他の3次元(3D)体積イメージセンサ(又はセンサのあらゆるこのような組合せ)を含む。幾つかの実施例において、ナビゲーションシステム100は認識システム102を含み、これはセンサデータ17を受信して処理し、処理されたセンサデータ17を中間ウェイポイント生成器120及び下位経路生成器130へと伝える。
[0041] ビジョンシステム30は、カメラ又はセンサ31により捕捉された画像データから得られた画像データ又はセンサデータ17をロボット10のデータ処理ハードウェア36に提供する。データ処理ハードウェア36は、メモリハードウェア38とデジタル通信し、幾つかの実装形態において、リモートシステムであり得る。リモートシステムは、単一のコンピュータ、複数のコンピュータ、又はスケーラブル/エラスティックコンピューテングリソース及び/又は記憶リソースを有する分散システム(例えば、クラウド環境)であり得る。ロボット10のナビゲーションシステム100は、データ処理ハードウェア36上で実装される。
[0042] 図の例において、ナビゲーションシステム100は上位ウェイポイント生成器110を含み、これはマップデータ50(すなわち、ロボット10が走行することになる領域内の静止障害物の場所を表す上位ナビゲーションデータ)を受信し、ナビゲーションルート112のための、ロボット10の現在場所からゴールの目的地までの大型及び/又は静止障害物を避ける概略経路をプロットする1つ又は複数の上位ウェイポイント210(図2A及び2B)を生成する。例えば、上位ウェイポイント生成器110は、10メートルを超える範囲(例えば、ロボット10から10メートルを超える距離)にわたる概略経路を生成し得る。ナビゲーションシステム100はまた、中間ウェイポイント生成器120も含み、これはナビゲーションルート112と、ビジョンシステム30からの画像又はセンサデータ17を受信し、中間ウェイポイント生成器120を含む。センサデータ17に基づいて、中間ウェイポイント生成器120は、ロボット10が移動するための概略経路又は軌道を形成するナビゲーションルート112の上位ウェイポイント210(図2A、2B、及び3)に、1つ又は複数の中間ウェイポイント310(図3)を追加し得る。ナビゲーションルート112の上位ウェイポイント210及び追加された中間ウェイポイント310は下位経路生成器130へと伝えられ、これは、センサデータ17と組み合わせて、ロボット10の現在の場所から次のウェイポイント210、310まで走行するためのロボット10の個々のステップの各々をプロットするステップ計画142を生成する。ステップ計画142を使って、ロボット10は、ステップ計画142にしたがうことによって足19又は脚12の先端をステップ計画142により示される場所における地表面9に置いて、環境8中を進む。幾つかの実施例において、下位経路生成器130は、より下位の障害物回避を、ほぼ4メートル規模の障害物を回避するポテンシャル場方式を使用することにより提供する。ポテンシャル場方式は、ゴールに向かう速度と障害物回避速度の和を積分することにより、ロボット10を障害物から離れるように「押しやる」ことができる。
[0043] 幾つかの実施例において、ナビゲーションシステム100の少なくとも一部は、ロボット10と通信するリモートデバイス上で実装される。例えば、上位ウェイポイント生成器110はリモートデバイス上で実装されて、上位ウェイポイント210の1つ又は複数を生成し得て、ロボット10上で実装される中間ウェイポイント生成器120は上位ウェイポイント210をリモートデバイスから受信し得る。任意選択的に、ナビゲーションシステム100の全体がリモートデバイス上で実装され得て、リモートデバイスはロボット10を制御し、及び/又はそれに命令して、ステップ計画142に基づいて環境8内を進行するようにし得る。
[0044] 次に図2A及び2Bを参照すると、下位経路生成器130は(例えば、ポテンシャル場方式を使用)、特定の形状及び/又は凸面の障害物間を走行する際に問題に遭遇し得る。例えば、下位経路生成器130は、対応するナビゲーションルート112の上位ウェイポイント210まで走行しようとしているときに、障害物又は表面220上を滑り落ちて、極小230に引っ掛かるかもしれない(図2A)。他の例では、下位経路生成器130は、ロボット10を方向転換させることに関する、必要なコンテキスト又は意思決定能力を持たないかもしれない。すなわち、下位経路生成器130は、いつ「方向転換してから走行」すべきで、いつ「走行してから方向転換」すべきかを区別するのに苦慮し得る(図2B)。
[0045] 次に図3を参照すると、追加のウェイポイント(すなわち、中間ウェイポイント310)をナビゲーションルート112に追加することが、下位経路生成器130が適正なトポロジ上の判断を下すのを助けるが、これは、追加のウェイポイント310によって、下位経路生成器130にとって軌道が凸状に見え、下位経路生成器が障害物220を回避してうまくナビゲートできるようにし得るからである。中間ウェイポイント生成器120は、ナビゲーションルート112に追加される何れの追加的中間ウェイポイント310もロボット10から、マップジッタの影響を最小化するのに十分な距離にあることを確実にし得る。さらに、中間ウェイポイント生成器120は何れの上位ウェイポイント210も除去又は削除しないようにし得、これは、上位ウェイポイント生成器110が中間ウェイポイント生成器120には利用できない追加のマップコンテキストを知っている可能性があり、上位ウェイポイント210を除去することで予想外の結果を招くかもしれないからである。
[0046] 次に図4を参照すると、幾つか実施例において、中間ウェイポイント生成器120は、疎グラフ生成器410、概略経路プランナ420、及びウェイポイントプレーサ430を含む。疎グラフ生成器410は、胴部障害物マップ412を例えば認識システム102から受信する。胴部障害物マップ412は、ロボット10に近接する(例えば、4メートル以内)障害物(例えば、ロボット10の胴部11が通過できない障害物)のマップである。胴部障害物マップ412から、疎グラフ生成器410は疎グラフ416Sを生成する。後でより詳しく述べるように、疎グラフ416Sは、ノード812(図8A-8E)とエッジ810(図8A-8E)との間の有効な相互接続リストを提供する。ノード812とエッジ810は、ロボット10の付近のヨー制約ゾーン(すなわち、操縦が困難か、又は厳しい領域)を通る有効なポテンシャル経路を表し、それゆえ、疎グラフ416Sによりロボット10がヨー制約ゾーンを通るためのポテンシャル経路を特定するのに必要な情報が提供される。
[0047] 疎グラフ生成器410は、疎グラフ416Sを概略経路プランナ420に伝える。概略経路プランナ420は、出発地からゴールの目的地まで、疎グラフ416Sを用いて概略経路1310(図13)をプロットする。幾つかの例において、概略経路プランナ420は、探索アルゴリズム(例えばA)を使用して、疎グラフ416Sにより示される有効ポテンシャル経路の最適なルートを特定することによって、概略経路1310(すなわち、ノード812とエッジ810との間の相互接続のリスト)をプロットする。概略経路プランナ420は、この経路1310をウェイポイントプレーサ430に伝える。ウェイポイントプレーサ430は、ロボットの現在の場所から、経路1310を辿ったときにどこで視線が失われるかを特定し、中間ウェイポイント310をその場所に設置する。すなわち、ウェイポイントプレーサ430は、ロボット10が現在の場所から概略経路1310に沿って見た場合に。ロボット10が経路の視線を失う(例えば、障害物による)場所を特定し、中間ウェイポイント310を経路1310上の、視線が失われた場所に設置する。中間ウェイポイント310は、ロボット10を、下位経路生成器130が成功裏に障害物を避けることのできる場所まで案内する。中間ウェイポイント310は、ナビゲーションルート112に含められ、下位経路生成器130に伝えられる。
[0048] 幾つかの実施例において、疎グラフ生成器410は当初、受信した胴部障害物マップ412に基づいてコンフィギュレーション空間全体マップ414を生成する。幾つかの例において、コンフィギュレーション空間全体マップ414はエレメント510、510a-nの二次元(2D)グリッド又はアレイを含み、各エレメント510は、障害物がロボット10が特定のエレメント510に進入するのを阻止するか否かを示す環境8の領域(例えば、3センチメートル×3センチメートルの正方形)を表す。任意選択により、コンフィギュレーション空間全体マップ414は、128のエレメント×128のエレメントのアレイである。幾つかの例において、各エレメント510は複数のそれぞれのヨーコンフィギュレーション512、512a-n(ヨーコンフィギュレーションのそれぞれのセット512、512a-n)に関連付けられてよく、コンフィギュレーション空間全体マップ414は各エレメント510のそれぞれのヨーコンフィギュレーション512の各々に関する状態を示し得る。例えば、各エレメント510は、64のそれぞれのヨーコンフィギュレーションに関連付けられ得る。この例では、各ヨーコンフィギュレーションは、その前のコンフィギュレーションから5.625度回転させられることになり、これは、360度(すなわち、全円)を64(すなわち、ヨーコンフィギュレーションの数)で割ると5.625度となるからである。コンフィギュレーション空間全体マップ414はそれぞれのエレメント510に関連付けられるそれぞれのヨーコンフィギュレーション512の各々について、それぞれのヨーコンフィギュレーション512の結果、ロボット10の選択点がエレメント510により表される空間を占めたときに胴部障害物と衝突するか否かを示し得る。すなわち、コンフィギュレーション空間全体マップ414は、各ヨーコンフィギュレーション512が有効か(すなわち、ロボット10がそのヨーコンフィギュレーション512で障害物と衝突しない)、無効か(すなわち、ロボット10がそのヨーコンフィギュレーションで障害物と衝突する)を示し得る。選択点は例えば、ロボット10の胴部11の中心点(例えば、各脚12の最上部から等距離)を含み得る。
[0049] 幾つかの実施例において、疎グラフ生成器410は、コンフィギュレーション空間全体マップ414からコンフィギュレーション空間圧縮マップ500を生成する。コンフィギュレーション空間圧縮マップ500は、各エレメントを複数のヨーコンフィギュレーション512に関連付けるのではなく、コンフィギュレーション空間マップ500の各エレメント510を分類し得る。例えば、各エレメント510は、胴部障害物エレメント510A(図5)、ヨー衝突エレメント510B(図5)、ヨー自由エレメント510C(図5)、又はヨー制約エレメント510D(図5)に分類され得る。すなわち、コンフィギュレーション空間全体マップ414からのヨーコンフィギュレーション512はコンフィギュレーション空間圧縮マップ500の各エレメント510を分類するために使用され得る。
[0050] 次に図5を参照すると、例示的なコンフィギュレーション空間圧縮マップ500が示されている。この例において、コンフィギュレーション空間圧縮マップ500は128×128のエレメント510のグリッドを含み、各々が胴部障害物エレメント510、ヨー衝突エレメント510B、ヨー自由エレメント510C、又はヨー制約エレメント510Dに分類される。胴部障害物エレメント510Aは、ロボット10が通過できない障害物(すなわち、胴部障害物マップ412から受け取った障害物)が占めるエレメントを表す。例えば、ロボット10が避けなければならない椅子、箱、又は壁は胴部障害物エレメント510Aに分類され得る。ヨー衝突エレメント510Bは、ロボット10に関する全てのヨーコンフィギュレーション512(例えば、64のヨーコンフィギュレーションの全て)が、ロボット10の選択点(例えば、胴部11の中心)がエレメント510Bにより表される空間を占めたときに胴部障害物(すなわち、胴部障害物エレメント510A)と衝突するという結果になるエレメントである。例えば、壁のすぐ隣の空間は、実際には壁が含まれていなくても、ロボット10がその壁に衝突せずに立つには壁に近すぎる可能性がある。
[0051] ヨー自由エレメント510Cは、何れのヨーコンフィギュレーション512も胴部障害物と衝突することにならないという点で、ヨー衝突エレメント510Bの反対である。換言すれば、ヨー自由エレメント510Cは、ロボット10が胴部障害物に衝突せずに全てのヨーコンフィギュレーション512を通じてスピンし得る(すなわち、選択点における軸を中心に360度スピンする)環境8中の領域を表す。ヨー制約エレメント510Dは、幾つかのヨーコンフィギュレーション512が安全、すなわち有効であり(すなわち、ロボット10が障害物と衝突しない)、また幾つかのヨーコンフィギュレーション512が安全でない(すなわち、ロボット10がこれらのヨーコンフィギュレーション512において障害物と衝突する無効のヨーコンフィギュレーション512)エレメントである。例えば、ロボット10は壁の横をそれに平行に移動でき得るが、90度方向転換すれば壁と衝突し得る。この例において、幾つかのヨーコンフィギュレーション512(すなわち、ロボット10が壁に平行であるヨーコンフィギュレーション512)は安全であり、また幾つか(すなわち、ロボット10が壁に垂直となるヨーコンフィギュレーション512)は安全ではない。
[0052] 疎グラフ生成器410は、幾つかの例において、コンフィギュレーション空間圧縮マップ500のヨー制約ゾーン510DZ(すなわち、ヨー制約エレメント510Dのゾーン)を通る有効な経路を特定する。ここで図6を参照とすると、幾つかの実施例において、疎グラフ生成器410は、複数のボロノイセル610をコンフィギュレーション空間圧縮マップ500に重ねている。ボロノイセル610は、ヨー制約ゾーン510DZ及び/又はヨー自由ゾーン510CZ内の、ヨー衝突エレメント510Bに分類される少なくとも2つのエレメント510から等距離にある全てのエレメント510を含む。換言すれば、ボロノイセル610は、ヨー衝突ゾーン510BZから最も遠い(及びしたがって、胴部障害物から最も遠い)エレメント510である。代替的に、ボロノイセル610は、ヨー制約ゾーン510DZ及び/又はヨー自由ゾーン510CZ内の、少なくとも2つの胴部障害物エレメント510Aから等距離にある全てのエレメント510を含む。図6の例では、セル610の中心はヨー衝突ゾーン510BZ間のヨー自由ゾーン510CZとヨー制約ゾーン510DZ内にある。ボロノイセル610は、ロボット10がすでにアクセスし得るデータ(例えば、符号付距離の場)から容易に計算できる。
[0053] ボロノイセル610としてマークすべきエレメント510を特定するために、疎グラフ生成器410は、コンフィギュレーション空間マップ500上で障害物(すなわち、胴部障害物エレメント510A)から等距離である(コンフィギュレーション空間マップ500の)エレメント510を特定する。すなわち、各エレメント510は本質的に、最も近い障害物境界までの距離と方向を有する。図7は、ヨー制約ゾーン510DZにより分離される2つのヨー衝突ゾーン510BZを含むコンフィギュレーション空間マップ500の一部を示す。数個のボロノイセル610がヨー制約ゾーン510DZを通って、ヨー衝突ゾーン510BZ間に延びている。幾つかの例において、疎グラフ生成器は、コンフィギュレーション空間マップ500の各エレメント510を分析して、そのエレメント510をボロノイセル610としてマークすべきか否かを特定する。各エレメント510を分析して、そのエレメントがボロノイセル610であるか否かを特定する際、幾つかの実施例において、疎グラフ生成器410は、あるエレメント510(すなわち、分析中のエレメント510)及びそれに隣接するエレメント510が、最も近い障害物境界として実質的に異なる場所を指しているか否かを特定する。すなわち、コンフィギュレーション空間マップ500中の各エレメント510について、疎グラフ生成器410は、それぞれのエレメントに最も近い障害物境界、それぞれのエレメントの下側の隣接エレメントの最も近い障害物境界、及びそれぞれの要素の右側の隣接エレメントの最も近い障害物境界の位置を特定し得る。3つの最も近い障害物境界のうちの何れか2つ間の距離が閾値距離を満たす場合は常に、そのエレメント510はボロノイセル610としてマークされ得る。閾値距離は、何れの数のエレメント(例えば、1エレメント、2エレメント、5エレメント等)都としても表現され得る。
[0054] 図の例において、疎グラフ生成器410が、「A」と表示されたエレメント510を分析する場合、疎グラフ生成器410は、エレメント「A」に最も近いヨー衝突エレメント510B(又は胴部障害物エレメント510A)がエレメント510aであると特定する。疎グラフ生成器410はすると、その要素の右側の隣接要素(「B」と表示)に最も近いヨー衝突エレメント510Bを特定し得て、これはこの場合、510bである。疎グラフ生成器410はすると、その要素の下側の隣接要素(「C」と表示)及び最も近いヨー衝突エレメント510B(この場合、再びエレメント510a)からの距離を特定し得る。疎グラフ生成器410は、幾つかの例において、3つの最も近い障害物境界のうちの2つが閾値距離内にあるか否かを特定し得る(すなわち、「A」と「B」、「A」と「C」、及び「B」と「C」間の距離の3つのうちの2つ)。エレメントが同じ距離だけ離れた2つの障害物境界を有する場合、疎グラフ生成器410は両エレメント間の距離を特定し得る。
[0055] この例において、「A」と「B」の最も近い障害物境界間の距離は10エレメントであり、「A」と「C」の最も近い障害物境界間の距離はゼロエレメントであり(すなわち、これらは同じ最も近い障害物境界を共有する)、「B」と「C」の最も近い障害物境界間の距離は再び10エレメントである。閾値距離が10エレメント未満である場合、エレメント「A」がボロノイセル610としてマークされることになる。
[0056] 前述のように、疎グラフ生成器410は、コンフィギュレーション空間マップ500の各エレメントについて同様の分析を行い得る。引き続き図7を参照すると、疎グラフ生成器410は、エレメント「D」をボロノイセル610とはマークしないかもしれず、これは、その右側の隣接エレメント(「E」)及び下側の隣接エレメント(「F」)との3つの最も近い障害物境界が閾値(例えば、3エレメント)を満たさないからである。これは、最も近い障害物境界(すなわち、エレメント510c、510d)かの距離が1エレメントしかなく、閾値を満たさないかもしれないことによる。
[0057] 次に図8A-8Eを参照すると、疎グラフ生成器410は、幾つかの実施例において、ボロノイセル610から得られるエッジ810とノード812を特定する。図8Aは、ヨー制約ゾーン510DZ内の例示的なボロノイセル610を示す。疎グラフ生成器は、幾つかの実施例において、ボロノイセル610とマークされる任意の(すなわち、ランダム又は準ランダムな)エレメント510ffを選択する。任意のエレメント510ffから始めて、疎グラフ生成器はフラッドフィルを実行し、ボロノイセル610としてマークされた各エレメント510から任意に選択されたエレメント510ffまでの距離を記録する。図の例では、各エレメントは任意のエレメント510ffからの距離(単位はエレメント)で表示されている。フラッドフィルは、あるアレイの中のあるノードに接続される領域を特定するアルゴリズムである。この場合、フラッドフィルは、ボロノイセル610としてマークされた全エレメント510を通じて続いて流れ、最終的に全部にある距離が割り当てられる。任意に選択されたエレメント510ffは完全にランダムに選択され得るが、選択をロボット10の近隣内のエレメント510に限定して、何れのエラーの影響も最小化することが有利であり得る。
[0058] ボロノイセル610としてマークされた各エレメントにある距離が割り当てられた後、疎グラフ生成器410は、幾つかの例において、ボロノイセル610の各分枝の端又はエンドノード812を特定する。各分枝のエンドノード812は局所的に、任意に選択されたエレメント510ffから最大の距離を有する。ある分枝のエンドノード812から、疎グラフ生成器410は、幾つかの例において、再び選択されたエレメント510ffに向かって戻る間に各エレメント510をマークする。疎グラフ生成器410がそれ以前にすでにマークされたエレメント510に遭遇するたびに、生成器はそのエレメントとの組合せに固有のラベルを付け得る。例えば、図8Bにおいて、疎グラフ生成器410は、エンドノード812aを出発し、再び選択されたエレメント510ffに向かって移動し、途中の各エレメントにマークして、エッジ810aを形成する。すなわち、エンドノード812aから選択されたエレメント510ffまでのボロノイセル610は、エッジ810aを形成し得る。疎グラフ生成器410は、全てのエレメントがマークされるまで底のプロセスを隷属し得る。例えば、図8Cにおいて、疎グラフ生成器410は感度ノード812bからエレメント510ffに向かって移動し、各エレメントをマークして他のエッジ810bを形成し、最終的に812cにおいてそれ以前にマークされたエレメントに遭遇する(図8B)。疎グラフ生成器410は、固有のラベルを812cの接合点エレメント(すなわち、それ以前にマークされた最初の遭遇エレメント)に割り当て得る。疎グラフ生成器410は、引き続き復路を移動し、最終的に選択されたエレメント510ffに到達し得て、それ以前にマークされた各エレメントは別のエッジ810cと認識する。
[0059] 次に図8Dを参照すると、疎グラフ生成器410は、エンドノード812dから始めて、エレメント510ffへと戻り、再び、途中の各エレメントをマークして、別のエッジ810dを形成し得る。全エレメント510がマークされ(そして、あるエッジ810に割り当てられ)た後、疎グラフ生成器410は、幾つかの実施例において、選択されたエレメント510ffが2つのエッジ810にしか接触しない(すなわち、3つ又はそれ以上のエッジ間の接合点ではない)か否かを特定する。この場合、疎グラフ生成器410は2つのエッジを1つのエッジに合成し得る。例えば、図8Dに示されるように、選択されたエレメント510ffは2つの他のエッジ(すなわち、エッジ810c及びエッジ810d)としか接触せず、図8Eで、エッジ810cとエッジ810dが1つのエッジ810へと合成される。フラッドフィルとエレメントマーキングの最終的な結果として、疎グラフ生成器410にはエッジ810に沿って順番が付けられたエレメント510のセット及びノードエレメント812のリストが提供される。疎グラフ416Sからのノード及びエッジのリストは、近くの環境の制約空間(すなわち、コンフィギュレーション空間圧縮マップ500のヨー制約ゾーン510DZ)を通って移動し得る。
[0060] 図9は、複数のエッジ810とノード812に分類されるボロノイセル610が重ねられたコンフィギュレーション空間マップ500を示しており、各エッジ810は他のエッジ810に(ノード812を通じて)、又はヨー自由ゾーン510CZに(同じくノード812を通じて)接続される。疎グラフ生成器410は、疎グラフ416Sを生成する際、幾つかの実施例において、ヨー制約ゾーン510DZの中にあるボロノイセル610とマークされたエレメント510だけを考慮するが、これは、ヨー自由ゾーン510CZを通る経路は後の時点で特定され得るからである。疎グラフ生成器410は、図8A-8Eに関して説明したように、ボロノイセル610とマークされたエレメントを個々のエッジ810及びノード812に分け得る。幾つかの例において、疎グラフ生成器410は、エッジ810がヨー自由ゾーン510CZに接続されるノード812にラベルを付け、又はこれらを識別する。すなわち、疎グラフ生成器410は、ヨー自由ゾーン510CZとヨー制約ゾーン510DZを接続するボロノイセル610に沿ったノード812(すなわち、端若しくはエッジ810又はエッジ810間の接合点)を識別する。疎グラフ生成器410はさらに、複数のエッジ810のための接合点であるノード812を識別し得る。幾つかの例において、疎グラフ生成器410は、同じヨー自由ゾーン510CZに接続されるノード812は全部が相互に接続されていると仮定する。すなわち、疎グラフ生成器は、ヨー自由ゾーン510CZを通る動きを、ノード812間に経路が存在するかぎり(すなわち、同じヨー自由ゾーン510CZに接続されているかぎり)、(少なくとも一時的に)無視し得る。エッジ810及びノード812を備えた疎グラフ生成器410はまず、ボロノイセル610が重ねられたコンフィギュレーション空間圧縮マップ500内でそれ以前に特定されたエッジ810及びノード812に基づいて、ナビゲーション上の重要性を持たないエッジ810を枝切りすることによって最終的な2Dコンフィギュレーションマップ1000(図10)を生成し得る。例えば、図10は、複数のボロノイセル610が重ねられ、最終的な2Dコンフィギュレーションマップ1000を生成するために複数の重要でないエッジ1010が枝切りされたコンフィギュレーション空間圧縮マップ500を示す。すなわち、疎グラフ生成器410は、幾つかの実施例において、閾値長さより短く、ヨー制約ゾーン510DZ内で終了又は終結する、重要でないエッジ1010を、これらはロボット10が通過する上で重要でない可能性が極めて高いため、枝切りする。任意選択により、閾値長さはほぼロボット10の半径であり得る。幾つかの例において、疎グラフ生成器410は、枝切りの後、接合点ノード812が2つ以下のエッジ810に式接続され立てない場合、エッジ810を1つにまとめる。
[0061] 次に図11A及び11Bを参照すると、疎グラフ生成器410は、幾つかの実施例において、最終的な2Dコンフィギュレーションマップ1000(図11A)をマップのSE2表現1100(図11B)に変換する。SE2は、標準的なデカルト座標と共にヨーを含む(すなわち、x座標、y座標、及びヨー)座標系である。すなわち、SE2マップ1100は、最終的な2Dコンフィギュレーションマップ1000をとり、ヨーを含む。図11Bは、ヨーが高さであるSE2マップ1100を示す。ロボット10は何れの数のヨーコンフィギュレーション512でも持ち得る(例えば、前述のように64)が、SE2マップ1100は2つのヨーコンフィギュレーション、すなわち前方と後方のみを考慮することによって簡素化され得る。すなわち、一般に、ロボット10はその移動経路と整合するヨーコンフィギュレーション512内で移動し、それゆえ、SE2マップ1100はこれら2つのヨーコンフィギュレーションのみを考慮することによって大幅に簡素化され得る。2Dマップ1000の各エッジ810は、反対の接線(すなわち、「前方」及び「後方」のヨーコンフィギュレーション1110a、1110bの2つのSE2エッジにより表され得る。各2Dノード812(図11A)は、2Dマップ1000の表現の中でノード812に接続されたエッジ1110(図11B)の数の2倍で表される。例えば、図11Aは、1つのノード812に接続された3つのエッジ810を示しており、それがSE2マップ1100では6つのノード1112へと並進する。ロボット10がノード1112においてその場で回転することが示唆され、疎グラフ生成器410は、ノード1112間の相互接続を、コンフィギュレーション空間全体マップ414からの有効なヨーコンフィギュレーション512に基づいて特定し得る。
[0062] SE2マップ1100を完成させるために、幾つかの実施例において、疎グラフ生成器410は、ロボット10のためのマップ1100の入口と出口を特定する。次に図12A及び12Bを参照すると、疎グラフ生成器410は、オフマップゴール1210(すなわち、標的目的地を直線に沿ってマップ1100の境界に投影し得る。ゴール1210がヨー自由ゾーン510CZ内に設定されると、疎グラフ生成器410はゴール1210に関連付けられるそれぞれのエレメントを使用し得る。しかしながら、ヨー制約ゾーン510DZ内では、疎グラフ生成器410はボロノイセル610としてマークされる最も近いエレメント510に沿って(2Dマップ1000から)、又はヨー自由ゾーン510CZの境界に沿って探索し得る。最も近いエレメントがヨー自由ゾーン510CZの境界上にある場合、疎グラフ生成器410はそのエレメントをゴールに設定し得る。エッジ810上の元も近いエレメントがボロノイセル610としてマークされた場合、疎グラフ生成器410はそれぞれの最も近いエレメントに新たなノード1220を設置することにより、エッジ810を2つに分割し得る。図12Aに示される例において、ゴール1210はヨー制約ゾーン510DZ内に設定される。疎グラフ生成器は、最も近い所望のエレメントがボロノイセル610であると特定する。疎グラフ生成器410は、ゴール1210に最も近いエレメントに新たなノード1220を作り、その前のエッジ810を2つの別々のエッジ810に分離する。幾つかの実施例において、疎グラフ生成器410は、2つの新たなノード1220を作り、1つのノード1220は前方ヨーコンフィギュレーション512を表し、1つのノード1220は後方ヨーコンフィギュレーション512を表す。
[0063] 新しいノード1220が設置されると、疎グラフ生成器410は、ロボット10の出発位置(例えば、ロボットの現在の場所)が前方ヨーコンフィギュレーションノード1220、後方ヨーコンフィギュレーションノード1220、又はその両方の何れに接続されているかを特定する。すなわち、疎グラフ生成器410は、ロボット10がそれぞれのヨーコンフィギュレーションのノード1220に接続できるかを特定する。疎グラフ生成器410は、幾つかの例において、当初の、真のゴール1210と新しいノード1220に沿ったエッジ810の2つのヨーコンフィギュレーション(すなわち、前方及び後方)との間の角度1222を特定する。図12Bに示される例において、角度がある閾値を満たすと(例えば、角度がゾーン1230内にあると)、前方対向ノード1220がロボットの場所に接続される。角度が第二の閾値を満たすと(例えば、角度がゾーン1240内にあると)、後方対向ノード1220がロボットの場所に接続される。角度が第三の閾値を満たすと(例えば、角度がゾーン1250内にあると)、前方対向ノード1220及び後方対向ノード1220の両方がロボットの出発地に接続される。すなわち、ロボット10は、前方又は後方の何れか向かうノード1220の場所まで移動できる。
[0064] 幾つかの例において、疎グラフ生成器410は、ロボット10が障害物と衝突することを示すノード812を接続する。例えば、疎グラフ生成器410は常に、ロボットが中心点から回転することによって方向転換し、これによって一部の方向転換が不可能となり得ると仮定し得る。しかしながら、幾つかの状況では、下位経路生成器130は依然として、ロボット10の中心ではないピボット点で回転させることによって経路をナビゲートすることが可能であり得、これらの状況では、疎グラフ生成器410は生成器120がそうでなければロボットが移動不可能であると判断し得るエッジ810をノード812間に作り得る。
[0065] 再び図4を参照すると、中間ウェイポイント生成器120はまた、概略経路プランナ420も含み、これは、疎グラフ生成器410から疎グラフ416Sを受信して、ロボット10が移動してゴール1210、すなわち、標的の目的地に対応するノード1220(図12A)まで移動するためのトポロジ上適正な経路(すなわち概略経路1310)を特定するように構成される。幾つかの実施形態において、概略経路プランナ420はまた、コンフィギュレーション空間全体マップ414及び/又はコンフィギュレーション空間圧縮マップ500も受信する。次に図4及び13を参照すると、マップ1100はヨー自由ゾーン510CZ内の開始点1320からヨー制約ゾーン510DZを通って別のヨー自由ゾーン510CZまでナビゲートする概略経路1310を含む。
[0066] 経路1310を生成するために、概略経路プランナ420は探索アルゴリズム(例えば、A探索アルゴリズム)を実行し得る。概略経路プランナ420は、探索アルゴリズムを使って2Dヨー自由ゾーン510CZの密グリッド又はグラフ416Dを探索して経路1310をプロットし得る。疎グラフ生成器410はまた、密グラフ416Dを生成して、それを疎グラフ416Sと組み合わせ、組み合わせたグラフを概略経路プランナ420に送信し得る。代替的に、概略経路プランナはこの密グラフ416Dを生成し得る。密グラフはコンフィギュレーション空間圧縮マップ500から特定されたヨー自由ゾーン510CZの相互接続されたノードのリストである。すなわち、疎グラフ416Sがヨー制約ゾーン510DZ内のエレメント510の相互接続されたノード812のリストを含んでいるのと同様に、密グラフ416Dはヨー自由ゾーン510CZ内のエレメント510の相互接続されたノードのリストを含む。ロボット10はヨー自由ゾーン510CZでは自由にスピンし得るため、ヨー自由空間は、方位(すなわち、ヨー)情報を必要としないことから、概略経路プランナ420は密グラフ416D(疎グラフ416Sに関して密)を探索し得る。概略経路プランナ420は、疎グラフ416Sと密グラフ416Dを組み合わせて、最終グラフ416Fを形成し得る。最終グラフ416Fは、ヨー自由ゾーン510CZとヨー制約ゾーン510DZの両方の中の相互接続されたノードの全てを含む。概略経路プランナ420はまた、探索アルゴリズムを使って、方位情報が含められたヨー制約ゾーン510DZ内及び、ヨー自由ゾーン510CZ内で、ボロノイセル610に関する最終グラフ416Fを探索し得る。概略経路プランナ420は、ヨー自由ゾーン510CZをヨー制約ゾーン510DZに関係付け、ヨー制約ゾーン510DZに概略経路1310を通し得る。
[0067] 密グラフ416Dは方位情報を含まない(それゆえ、最終グラフ416Fはヨー自由ゾーン510CZ内の方位情報を含まない)ため、概略経路プランナ420は、幾つかの実施例において、何れかのエッジ810に関する何れかの方位(すなわち、前方又は後方)を逆転すべきか否かを特定する。任意選択により、概略経路プランナ420は、エッジ810に沿って前方を向きながら歩行するようにバイアスされる。概略経路プランナ420は、ヨーの方位を逆転させることできる(すなわち、前方及び後方の両方の方位が有効である)経路1310のセグメントを識別し得る。概略経路プランナ420はすると、経路1310を逆転するためのコスト(すなわち、必要な回転量)を計算し得る。
[0068] 例えば、次に図14のマップ1100を参照すると、概略経路プランナ420は、出発地1410(方位はそれぞれの矢印と一致)からゴール場所1420(方位はそれぞれの矢印と一致)までの経路1430を計画した。前方へのバイアスにより、探索アルゴリズムは、ヨー制約ゾーン510DZを通じて前向きの方位(経路A-C)を選択し得る。概略経路プランナ420は、任意選択により、両方の経路A-C(前方を向く)と経路B-D(後方を向く)の両方のコストを計算する。ある例において、ある開始及びゴールの向きは後方を向いているため、後方経路B-Dのほうが前方向きの経路A-Cより安価であり(すなわち、必要な回転量が少ない)、概略経路プランナ420はそれに応じて経路1430を更新し得る。
[0069] 再び図4を参照すると、中間ウェイポイント生成器120は、幾つかの実施例において、ウェイポイントプレーサ430も含む。ウェイポイントプレーサ430は、コンフィギュレーション空間全体マップ414と、経路1310を含む疎グラフ416Sを概略経路プランナ420から受信する。ウェイポイントプレーサ430は、中間ウェイポイント310を設置するための適当な場所のための経路1310を処理する。ウェイポイントプレーサ430は、幾つかの例において、視線が最初に失われる(例えば、障害物による)まで経路1310に沿って探索して、ウェイポイント310をその場所に設置する。任意選択により、ウェイポイントプレーサ430は、処理時間を短縮するために、探索の前に経路1310をダウンサンプルする。
[0070] 次に図15Aを参照すると、ロボット10は経路1310に沿って、2つの胴部障害物ゾーン510AZ間にあるヨー制約ゾーン510DZを走行する。ウェイポイントプレーサ430は、ロボット10の現在の場所から経路1310に沿った様々な地点まで光線1510を引く。光線1510の1つが胴部障害物ゾーン510AZの一部(又は、代替的に、ロボット10の幅を考慮するために、胴部障害物ゾーン510AZの閾値距離以内)と交差すると、ウェイポイントプレーサ430は中間ウェイポイント310を経路1310上の、視線が失われたとき、又はその直前に光線1510が経路1310と交差する点1530に設置する。それゆえ、視線が失われる場所の特定は、デカルト座標(すなわち、x及びy座標)内で比較的容易である。しかしながら、SE2空間(すなわち、ヨーを含む)内の視線の特定はより複雑となる。
[0071] 次に図15Bを参照すると、ヨーを含めることに対応するために、ウェイポイントプレーサ430は、ダウンサンプルされた経路1310に沿った各点において、最小許容ヨー及び最大許容ヨーを特定して、包絡線1550、1550a-nを生成する。ウェイポイントプレーサ430は、幾つかの例において、ダウンサンプルされた各点における最小(すなわち、最も内側の)包絡線1560、1560a-nを追跡し、包絡線の幅が包絡線閾値より小さくなるか、又は経路1310上の点1530における必要なヨーコンフィギュレーションが包絡線1550の外に出たときの何れかの時点で、中間ウェイポイント310を設置する。図の例において、包絡線1550cのヨーは内側の包絡線1560cの外にあり、中間ウェイポイント310のための候補である。
[0072] 幾つかの例において、ウェイポイントプレーサ430はまた、ヨー自由ゾーン510CZからヨー制約ゾーン510DZに移動する際、方位が閾値量(例えば、60度)より大きく変化した場合に、中間ウェイポイント310を追加する。任意選択により、ウェイポイントプレーサ430は、ゴールでの方位(すなわち、ゴールポーズ)が現在のマップの外にあり(すなわち、ロボットの現在の場所から遠すぎる)、ゴールまでの視線が失われた場合、経路1310の終端に中間ウェイポイント310を追加し得る。それに加えて、ウェイポイントプレーサ430は、ウェイポイントを狭い空間内で接合点からシフトさせ得る。例えば、中間ウェイポイント310は、接合点の周囲での閾値半径の外に出るまで、経路1310に投影され得る。
[0073] 上位ウェイポイント210は、平面上の位置を示す2つの座標(すなわち、x及びy座標)、ヨー値、及び時刻値を含み得る。時刻値は、ロボットがそれぞれのウェイポイント310まで走行するための予想時間量を示し得る。x、y、及びヨー値と共に、ウェイポイントプレーサ430は、同様に、中間ウェイポイント310までの予想時刻値も追加し得る。予想時刻値は、受信した何れかの速度限界を使って、出発地からx、y、及びヨーにおけるウェイポイントまでの最大時間量を考慮して特定され得る。ウェイポイントプレーサ430は、中間ウェイポイント310後の計画軌道上の各上位ウェイポイント210の時間をオフセットし得る。
[0074] 再び図4を参照すると、ウェイポイントプレーサ430は、何れかの中間ウェイポイントをナビゲーションルート112の上位ウェイポイント210に追加する。中間ウェイポイント生成器は、ナビゲーションルート112を下位経路生成器130に伝えて、各ウェイポイント210、310までナビゲートするためのステップ計画142を生成する。中間ウェイポイント生成器120が中間ウェイポイント310は不要であると判断した(又は、適当な場所を見つけられなかった)場合、中間ウェイポイント生成器120は受け取ったナビゲーションルート112を変更せずに下位経路生成器130に伝え得る。
[0075] 図16は、ロボット10のための中間ウェイポイントを生成する方法1600の動作の例示的な配置のフローチャートである。動作1602において、方法1600は、ロボット10のデータ処理ハードウェア36において、ナビゲーションルート112を受信することを含む。ナビゲーションルート112は、出発地113から始まって目的地114で終わる一連の上位ウェイポイント210を含む。ナビゲーションルート112は、ロボット10が走行することになる領域内の静止障害物の場所を表す上位ナビゲーションデータ50に基づく。
[0076] 方法1600は、動作1604において、データ処理ハードウェア36においてイメージセンサ31からロボット10の周囲の環境8の画像データ17を受信することを含む。動作1606で、方法1600は、データ処理ハードウェア36により、少なくとも1つの中間ウェイポイント310を画像データに基づいて生成することと、動作1608において、データ処理ハードウェア36により、少なくとも1つの中間ウェイポイント310をナビゲーションルート112の一連の上位ウェイポイント210に追加することを含む。動作1610において、方法1600は、データ処理ハードウェア36により、ロボット10を出発地113から一連の上位ウェイポイント210及び少なくとも1つの中間ウェイポイント310に沿って目的地114に向かってナビゲートすることを含む。
[0077] 図17は、本明細書に記載されたシステムと方法を実施するために使用され得る例示的なコンピューティングデバイス1700(例えば、データ処理ハードウェア36及びメモリハードウェア20)の概略図である。ここに示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、例に過ぎないものとし、本明細書に記載され、及び/又は特許請求される本発明の実施を限定するものではない。
[0078] コンピューティングデバイス1700は、プロセッサ1710(例えば、データ処理ハードウェア36)、メモリ1720(例えば、メモリハードウェア38)、記憶装置1730、メモリ1720と高速拡張ポート1750に接続される高速インタフェース/コントローラ1740、及び低速バス1770と記憶装置1730に接続される低速インタフェース/コントローラ1760を含む。コンポーネント1710、1720、1730、1740、1750、及び1760の各々は、各種のバスを使って相互接続され、共通のマザボード上に、又はその他の適当な方法で実装され得る。プロセッサ1710は、コンピューティングデバイス1700内で実行されるための命令を処理することができ、これにはメモリ1720内又は記憶装置1730上に記憶される、高速インタフェース1740に連結されたディスプレイ1780等の外部入力/出力デバイス上にグラフィカルユーザインタフェース(GUI)のためのグラフィック情報を表示させる命令が含まれる。他の実装形態において、複数のプロセッサ及び/又は複数のバスが、複数のメモリ及びメモリタイプと共に適切に使用され得る。また、複数のコンピューティングデバイス1700が接続され得て、各デバイスが必要な動作の一部を(例えば、サーババンク、ブレードサーバ群、又はマルチプロセッサシステムとして)提供する。プロセッサ1710は、図1及び4の中間ウェイポイント生成器を実装し得る。
[0079] メモリ1720は、コンピューティングデバイス1700内に非一時的に情報を保存する。メモリ1720は、コンピュータ可読媒体、揮発性メモリユニット、又は不揮発性メモリユニットであり得る。不揮発性メモリ1720は、プログラム(例えば、命令のシーケンス)又はデータ(例えば、プログラム状態情報)をコンピューティングデバイス1700により使用されるために一時的又は永久的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例には、フラッシュメモリ及びリードオンリメモリ(ROM)/プログラマブルリードオリメモリ(PROM)/イレーサブルプログラマブルリードオンリメモリ(EPROM)/エレクトロニカルイレーサブルプログラマブルリードオンリメモリ(EEPROM)(例えば、典型的に、ブートプログラム等、ファームウェアのために使用される)が含まれるが、これらに限定されない。揮発性メモリの例には、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、及びディス又はテープが含まれるが、これらに限定されない。
[0080] 記憶装置1730は、コンピューティングデバイス1700のための大量記憶を提供できる。幾つかの実装形態において、記憶装置1730は、コンピュータ可読媒体である。各種の異なる実装形態において、記憶装置1730はフロッピディスクデバイス、ハードディスクデバイス、光ディスクデバイス、又はテープデバイス、フラッシュメモリ若しくはその他同様のソリッドステートメモリデバイス又は、記憶エリアネットワーク若しくはその他の構成のデバイスを含むデバイスのアレイであり得る。追加的な実装形態において、コンピュータプログラム製品は、情報キャリア内で有形の状態に具現化される。コンピュータプログラム製品は、実行されると、1つ又は複数の方法、例えば前述の方法を実行する命令を含む。情報キャリアは、コンピュータ又は機械可読媒体、例えばメモリ1720、記憶装置1730、又はプロセッサ1710上のメモリである。
[0081] 高速コントローラ1740は、コンピューティングデバイス1700のためのバンド幅集約動作を管理し、他方で、低速コントローラ1760は、よりバンド幅集約性の低い動作を管理する。このような担当作業の割り当ては例示にすぎない。幾つかの実装形態において、高速コントローラ1740は、メモリ1720及び、各種の拡張カード(図示せず)を受け入れ得る高速拡張ポート1750に連結される。幾つかの実装形態において、低速コントローラ1760は、記憶装置1730及び低速拡張ポート1790に連結される。低速拡張ポート1790は、各種の通信ポート(例えば、USB、Bluetooth、イーサネット、無線イーサネット)を含み得て、1つ又は複数の入力/出力デバイス、例えばキーボード、ポインティングデバイス、スキャナ、又はスイッチや又はルータ等のネットワークデバイスに、例えばネットワークアダプタを通じて連結され得る。
[0082] 本明細書の記載のシステム及び技術の各種の実装形態は、デジタル電子機器及び/又は光回路構成、集積回路、特別に設計されたASIC(特定用途集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組合せで実現できる。これらの各種の実装形態は、特定目的用でも汎用でもよい、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、そこにデータ及び命令を送信するために連結された少なくとも1つのプログラマブルプロセッサを含むプログラム可能システム上で実行可能及び/又は解釈可能な1つ又は複数のコンピュータプログラムでの実装を含むことができる。
[0083] これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとしても知られる)は、プログラム可能プロセッサのための機械命令を含み、高レベル手続き型及び/又はオブジェクト指向プログラミング言語及び/又はアセンブリ/機械言語で実装できる。本明細書で使用されるかぎり、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械命令及び/又はデータをプログラム可能プロセッサに提供するために使用されるあらゆるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、及び/又はデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLDs))を指し、機械可読信号として機械命令を受け取る機械可読媒体も含まれる。「機械可読信号」という用語は、機械命令及び/又はデータをプログラム可能プロセッサに提供するために使用されるあらゆる信号を指す。
[0084] 本明細書に記載されるプロセッサ及びロジックフローは、入力データを処理し、出力を生成することによって機能を果たすために1つ又は複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つ又は複数のプログラム可能プロセッサにより実行可能である。プロセッサ及びロジックフローはまた、特殊用途の論理回路構成、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途集積回路)等によっても実行可能である。コンピュータプログラムの実行に適したプロセッサには、例えば汎用及び特殊用途のマイクロプロセッサ、あらゆる種類のデジタルコンピュータの1つ又は複数のプロセッサが含まれる。一般に、プロセッサはリードオンリメモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの基本要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ又は複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つ又は複数の大量記憶装置、例えば磁気、磁気光ディスク、又は光ディスクを含むか、これらからデータを受信し、又はそれらにデータを送信するために動作的に連結される。しかしながら、コンピュータは、このようなデバイスを含んでいなくてもよい。コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体には、あらゆる形態の不揮発性メモリ、媒体、及びメモリデバイスが含まれ、これらには例えば、半導体メモリデバイス、例えばEPROM、EEPROM、及びフラッシュメモリデバイス、磁気ディスク、例えば内蔵ハードディスク若しくはリムーバブルディスク、磁気光ディスク、並びにCD ROM及びDVD-ROMディスクが含まれる。プロセッサとメモリは、特殊用途の論理回路構成により補足され、又はその中に組み込まれることも可能である。
[0085] 様々な実施形態を説明した。しかしながら、本開示の主旨と範囲から逸脱することなく、各種の改良が加えられてよいと理解されたい。したがって、その他の実装形態も以下の特許請求の範囲に含まれる。

Claims (28)

  1. ロボット(10)のデータ処理ハードウェア(36)において、ナビゲーションルート(112)を受信することであって、前記ナビゲーションルート(112)は、出発地(113)から始まって目的地(114)で終わる一連の上位ウェイポイント(210)を含み、前記ナビゲーションルート(112)は、前記ロボット(10)が走行する領域内の静止障害物の場所を表す上位ナビゲーションデータ(50)に基づく、前記ナビゲーションルート(112)を受信することと、
    前記データ処理ハードウェア(36)において、イメージセンサ(31)からの前記ロボット(10)の周囲の環境(8)の画像データ(17)を受信することと、
    前記データ処理ハードウェア(36)により、少なくとも1つの中間ウェイポイント(310)を前記画像データ(17)に基づいて生成することと、
    前記データ処理ハードウェア(36)により、前記ナビゲーションルート(112)の前記一連の上位ウェイポイント(210)に前記少なくとも1つの中間ウェイポイント(310)を追加することと、
    前記データ処理ハードウェア(36)により、前記ロボット(10)を前記出発地(113)から前記一連の上位ウェイポイント(210)及び前記少なくとも1つの中間ウェイポイント(310)に沿って前記目的地(114)に向かってナビゲートすることと、
    を含む方法(1600)。
  2. 各上位ウェイポイント(210)と各中間ウェイポイント(310)は、平面内の位置を示す2つの座標、ヨー値、及び時刻値を含み、前記時刻値は、前記ロボット(10)がそれぞれの前記ウェイポイント(210、310)へと走行するための推定時間量を示す、請求項1に記載の方法(1600)。
  3. 前記データ処理ハードウェア(36)により、前記一連の上位ウェイポイント(210)の各々を前記ナビゲーションルート(112)上に保持することをさらに含む、請求項1~3の何れか1項に記載の方法(1600)。
  4. 前記データ処理ハードウェア(36)において、胴部障害物マップ(412)を受信することをさらに含み、前記胴部障害物マップ(412)は、前記ロボット(12)の胴部(11)が通過できない障害物のマップを含み、
    前記少なくとも1つの中間ウェイポイント(210)を生成することは
    前記胴部障害物マップ(412)に基づく疎グラフ(416S)を生成することであって、前記疎グラフ(416S)は、ノード(812)及びエッジ(810)のリストを含み、前記ノード(812)及びエッジ(810)は、前記ロボット(10)が前記環境(8)中で移動し得る経路を表す、前記疎グラフ(416S)を生成することと、
    ノード(812)の前記リストのうちの第一のノード(812)からノード(812)の前記リストのうちの第二のノード(812)までの概略経路(1310)を計画することであって、前記第一のノード(812)及び前記第二のノード(812)は各々、前記環境(8)内のある空間を表す、前記概略経路(1310)を計画することと、
    前記概略経路(1310)に沿った、前記イメージセンサ(31)の視線が失われる点(1530)を特定することと、
    前記少なくとも1つの中間ウェイポイント(310)の1つを視線が失われる前記点(1530)において生じさせることと、
    を含む、請求項1~4の何れか1項に記載の方法(1600)。
  5. 前記疎グラフ(416S)を生成することは、
    前記胴部障害物マップ(412)に基づいてコンフィギュレーション空間全体マップ(414)を生成することであって、前記コンフィギュレーション空間全体マップ(414)はエレメント(510)の二次元グリッドを含み、前記グリッドの各エレメント(510)は前記環境(8)のある空間を表し、前記コンフィギュレーション空間全体マップ(414)の各エレメント(510)はそれぞれのヨーコンフィギュレーションセット(512)を含み、各ヨーコンフィギュレーション(512)は有効か無効かに分類され、有効ヨーコンフィギュレーション(512)は前記ロボット(10)の、前記それぞれのエレメント(510)に関連付けられた前記空間における障害物との接触の点で安全なヨーコンフィギュレーション(512)を表し、無効ヨーコンフィギュレーション(512)は前記ロボット(10)の、前記それぞれのエレメント(510)に関連付けられた前記空間における障害物との接触の点で安全でないヨーコンフィギュレーション(512)を表す、前記コンフィギュレーション空間全体マップ(414)を生成することと、
    前記コンフィギュレーション空間全体マップ(414)からコンフィギュレーション空間圧縮マップ(500)を生成することであって、前記コンフィギュレーション空間圧縮マップ(500)は、エレメント(510)の第二の二次元グリッドを含み、前記二のグリッドの各エレメント(510)は前記環境(8)のある空間を表し、前記第二のグリッドの各エレメント(510)は、(i)ヨー衝突ゾーン(510BZ)、(ii)ヨー自由ゾーン(510CZ)、又は(iii)ヨー制約ゾーン(510DZ)のうちの1つに分類される、前記コンフィギュレーション空間圧縮マップ(500)を生成することと、
    前記コンフィギュレーション空間圧縮マップ(500)から前記疎グラフ(416S)を生成することと、
    を含む、請求項4に記載の方法(1600)。
  6. 前記第一のノード(812)から前記第二のノード(812)までの前記概略経路(1310)を計画することは、
    前記コンフィギュレーション空間圧縮マップ(500)から密グラフ(416D)を生成することであって、前記密グラフ(416D)は、ヨー自由ゾーン(510CZ)に分類されるエレメント(510)を含む、前記密グラフ(416D)を生成することと、
    前記疎グラフ(416S)からのエッジ(810)を前記密グラフ(416D)からのエレメント(510)に関係付けることと、
    を含む、請求項5に記載の方法(1600)。
  7. 前記エッジ(810)を前記密グラフ(416D)からのエレメント(510)に関係付けることは、
    前記疎グラフ(416S)と前記密グラフ(416D)を複合させて最終グラフ(416F)を生成することと、
    前記最終グラフ(416F)についてA探索アルゴリズムを実行することと、
    を含む、請求項6に記載の方法(1600)。
  8. 前記疎グラフ(416S)を生成することは、複数のボロノイセル(610)を前記コンフィギュレーション空間圧縮マップ(500)の上に重ねることをさらに含み、各ボロノイセル(610)は、前記疎グラフ(416S)上でヨー制約ゾーン(510DZ)に分類され、各ボロノイセル(610)は、ヨー衝突ゾーン(510BZ)に分類される少なくとも2つのエレメント(510)から等距離にある、請求項5に記載の方法(1600)。
  9. 前記疎グラフ(416S)を生成することは、各ボロノイセル(610)をエッジ(810)又はノード(812)の何れかに分類することをさらに含む、請求項8に記載の方法(1600)。
  10. 各ボロノイセル(610)を分類することは、フラッドフィルアルゴリズムを実行することを含む、請求項9に記載の方法。
  11. 前記第一のノード(812)から前記第二のノード(812)への前記概略経路(1310)を計画することは、エッジ(810)を枝切りすることを含み、枝切りされた各エッジ(1010)は、閾値長さ未満であり、ヨー衝突ゾーン(510BZ)又はヨー制約ゾーン(510DZ)の何れかに分類されるエレメント(510)を含む、請求項5に記載の方法(1600)。
  12. 前記概略経路(1310)に沿った、前記イメージセンサ(31)による視線が失われる点(1530)を特定することは、
    前記計画された概略経路(1310)に沿った各エレメント(510)における最小許容ヨー及び最大許容ヨー(1550)を特定することと、
    前記最小許容ヨーと前記最大許容ヨー(1550)に基づいて最小包絡線(1560)を特定することと、
    前記概略経路上(1310)の前記点(1530)における必要なヨーを前記最小包絡線(1560)の外にあることを特定することと、
    を含む、請求項4に記載の方法(1600)。
  13. 前記データ処理ハードウェア(36)により、前記上位ウェイポイント(210)及び前記少なくとも1つの中間ウェイポイント(310)を有する前記ナビゲーションルート(112)を下位経路生成器(130)に送信することをさらに含む、請求項1~12の何れか1項に記載の方法(1600)。
  14. 前記データ処理ハードウェア(36)により、前記少なくとも1つの中間ウェイポイント(310)を前記ナビゲーションルート(112)に追加すべきか否かを特定することと、
    前記少なくとも1つの中間ウェイポイント(310)を前記ナビゲーションルート(112)に追加しないと特定したことに応答して、前記データ処理ハードウェア(36)により、前記ナビゲーションルート(112)を変更せずに前記下位経路生成器(130)へと伝えることと、
    をさらに含む、請求項13に記載の方法(1600)。
  15. ロボット(10)において、
    胴部(11)と、
    前記胴部(11)に連結され、前記ロボット(10)を環境(8)内で操縦するように構成された脚(12)と、
    前記脚(12)と通信するデータ処理ハードウェア(36)と、
    前記データ処理ハードウェア(36)と通信するメモリハードウェア(38)であって、前記データ処理ハードウェア(36)上で実行されると、前記データ処理ハードウェア(36)に、
    ナビゲーションルート(112)を受信することであって、前記ナビゲーションルート(112)は、出発地(113)から始まって目的地(114)で終わる一連の上位ウェイポイント(210)を含み、前記ナビゲーションルート(112)は上位ナビゲーションデータ(50)に基づき、前記上位ナビゲーションデータ(50)は前記ロボット(10)が走行することになる領域内の静止障害物の場所を表す、前記ナビゲーションルート(112)を受信することと、
    イメージセンサ(31)からの前記ロボット(10)の周囲の環境(8)の画像データ(17)を受信することと、
    前記画像データ(17)に基づいて少なくとも1つの中間ウェイポイント(310)を生成することと、
    前記少なくとも1つの中間ウェイポイント(310)を前記ナビゲーションルート(112)の前記一連の上位ウェイポイント(210)に追加することと、
    前記ロボット(10)を前記出発地(113)から前記一連の上位ウェイポイント(210)及び前記少なくとも1つの中間ウェイポイント(310)に沿って前記目的地(114)に向かってナビゲートすることと、
    を含む動作を実行させる命令を記憶するメモリハードウェア(38)と、
    を含むロボット(10)。
  16. 各上位ウェイポイント(210)及び各中間ウェイポイント(310)は、平面内の位置を示す2つの座標、ヨー値、及び時刻値を含み、前記時刻値は、前記ロボット(10)がそれぞれの前記ウェイポイント(210、310)へと走行するための推定時間量を示す、請求項15に記載のロボット(10)。
  17. 前記一連の上位ウェイポイント(210)の各々を前記ナビゲーションルート(112)上に保持することをさらに含む、請求項15又は16に記載のロボット(10)。
  18. 胴部障害物マップ(412)を受信することをさらに含み、前記胴部障害物マップ(412)は、前記ロボット(12)の胴部(11)が通過できない障害物のマップを含み、
    前記少なくとも1つの中間ウェイポイント(210)を生成することは
    前記胴部障害物マップ(412)に基づく疎グラフ(416S)を生成することであって、前記疎グラフ(416S)は、ノード(812)及びエッジ(810)のリストを含み、前記ノード(812)及びエッジ(810)は、前記ロボット(10)が前記環境(8)中で移動し得る経路を表す、前記疎グラフ(416S)を生成することと、
    ノード(812)の前記リストのうちの第一のノード(812)からノード(812)の前記リストのうちの第二のノード(812)までの概略経路(1310)を計画することであって、前記第一のノード(812)及び前記第二のノード(812)は各々、前記環境(8)内のある空間を表す、前記概略経路(1310)を計画することと、
    前記概略経路(1310)に沿った、前記イメージセンサ(31)の視線が失われる点(1530)を特定することと、
    前記少なくとも1つの中間ウェイポイント(310)の1つを視線が失われる前記点(1530)において生じさせることと、
    を含む、請求項15~17の何れか1項に記載のロボット(10)。
  19. 前記疎グラフ(416S)を生成することは、
    前記胴部障害物マップ(412)に基づいてコンフィギュレーション空間全体マップ(414)を生成することであって、前記コンフィギュレーション空間全体マップ(414)はエレメント(510)の二次元グリッドを含み、前記グリッドの各エレメント(510)は前記環境(8)のある空間を表し、前記コンフィギュレーション空間全体マップ(414)の各エレメント(510)はそれぞれのヨーコンフィギュレーションセット(512)を含み、各ヨーコンフィギュレーション(512)は有効か無効かに分類され、有効ヨーコンフィギュレーション(512)は前記ロボット(10)の、前記それぞれのエレメント(510)に関連付けられた前記空間における障害物との接触の点で安全なヨーコンフィギュレーション(512)を表し、無効ヨーコンフィギュレーション(512)は前記ロボット(10)の、前記それぞれのエレメント(510)に関連付けられた前記空間における障害物との接触の点で安全でないヨーコンフィギュレーション(512)を表す、前記コンフィギュレーション空間全体マップ(414)を生成することと、
    前記コンフィギュレーション空間全体マップ(414)からコンフィギュレーション空間圧縮マップ(500)を生成することであって、前記コンフィギュレーション空間圧縮マップ(500)は、エレメント(510)の第二の二次元グリッドを含み、前記二のグリッドの各エレメント(510)は前記環境(8)のある空間を表し、前記第二のグリッドの各エレメント(510)は、(i)ヨー衝突ゾーン(510BZ)、(ii)ヨー自由ゾーン(510CZ)、又は(iii)ヨー制約ゾーン(510DZ)のうちの1つに分類される、前記コンフィギュレーション空間圧縮マップ(500)を生成することと、
    前記コンフィギュレーション空間圧縮マップ(500)から前記疎グラフ(416S)を生成することと、
    を含む、請求項18に記載のロボット(10)。
  20. 前記第一のノード(812)から前記第二のノード(812)までの前記概略経路(1310)を計画することは、
    前記コンフィギュレーション空間圧縮マップ(500)から密グラフ(416D)を生成することであって、前記密グラフ(416D)は、ヨー自由ゾーン(510CZ)に分類されるエレメント(510)を含む、前記密グラフ(416D)を生成することと、
    前記疎グラフ(416S)からのエッジ(810)を前記密グラフ(416D)からのエレメント(510)に関係付けることと、
    を含む、請求項19に記載のロボット(10)。
  21. 前記エッジ(810)を前記密グラフ(416D)からのエレメント(510)に関係付けることは、
    前記疎グラフ(416S)と前記密グラフ(416D)を複合させて最終グラフ(416F)を生成することと、
    前記最終グラフ(416F)についてA探索アルゴリズムを実行することと、
    を含む、請求項20に記載のロボット(10)。
  22. 前記疎グラフ(416S)を生成することは、複数のボロノイセル(610)を前記コンフィギュレーション空間圧縮マップ(500)の上に重ねることをさらに含み、各ボロノイセル(610)は、前記疎グラフ(416S)上でヨー制約ゾーン(510DZ)に分類され、各ボロノイセル(610)は、ヨー衝突ゾーン(510BZ)に分類される少なくとも2つのエレメント(510)から等距離にある、請求項19に記載のロボット(10)。
  23. 前記疎グラフ(416S)を生成することは、各ボロノイセル(610)をエッジ(810)又はノード(812)の何れかに分類することをさらに含む、請求項22に記載のロボット(10)。
  24. 各ボロノイセル(610)を分類することは、フラッドフィルアルゴリズムを実行することを含む、請求項23に記載のロボット(10)
  25. 前記第一のノード(812)から前記第二のノード(812)への前記概略経路(1310)を計画することは、エッジ(810)を枝切りすることを含み、枝切りされた各エッジ(1010)は、閾値長さ未満であり、ヨー衝突ゾーン(510BZ)又はヨー制約ゾーン(510DZ)の何れかに分類されるエレメント(510)を含む、請求項19に記載のロボット(10)。
  26. 前記概略経路(1310)に沿った、前記イメージセンサ(31)による視線が失われる点(1530)を特定することは、
    前記計画された概略経路(1310)に沿った各エレメント(510)における最小許容ヨー及び最大許容ヨー(1550)を特定することと、
    前記最小許容ヨーと前記最大許容ヨー(1550)に基づいて最小包絡線(1560)を特定することと、
    前記概略経路上(1310)の前記点(1530)における必要なヨーを前記最小包絡線(1560)の外にあることを特定することと、
    を含む、請求項18に記載のロボット(10)。
  27. 前記上位ウェイポイント(210)及び前記少なくとも1つの中間ウェイポイント(310)を有する前記ナビゲーションルート(112)を下位経路生成器(130)に送信することをさらに含む、請求項15~26の何れか1項に記載のロボット(10)。
  28. 前記少なくとも1つの中間ウェイポイント(310)を前記ナビゲーションルート(112)に追加すべきか否かを特定することと、
    前記少なくとも1つの中間ウェイポイント(310)を前記ナビゲーションルート(112)に追加しないと特定したことに応答して、前記ナビゲーションルート(112)を変更せずに前記下位経路生成器(130)へと伝えることと、
    をさらに含む、請求項27に記載のロボット(10)
JP2022502242A 2019-08-06 2019-09-13 中間ウェイポイント生成器 Active JP7502409B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962883438P 2019-08-06 2019-08-06
US62/883,438 2019-08-06
US16/569,885 2019-09-13
US16/569,885 US11268816B2 (en) 2019-08-06 2019-09-13 Intermediate waypoint generator
PCT/US2019/051092 WO2021025707A1 (en) 2019-08-06 2019-09-13 Intermediate waypoint generator

Publications (2)

Publication Number Publication Date
JP2022542807A true JP2022542807A (ja) 2022-10-07
JP7502409B2 JP7502409B2 (ja) 2024-06-18

Family

ID=74501887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022502242A Active JP7502409B2 (ja) 2019-08-06 2019-09-13 中間ウェイポイント生成器

Country Status (6)

Country Link
US (3) US11268816B2 (ja)
EP (1) EP4010659A1 (ja)
JP (1) JP7502409B2 (ja)
KR (1) KR20220078563A (ja)
CN (1) CN114174766A (ja)
WO (1) WO2021025707A1 (ja)

Families Citing this family (15)

* 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
US11548151B2 (en) * 2019-04-12 2023-01-10 Boston Dynamics, Inc. Robotically negotiating stairs
KR20220078563A (ko) 2019-08-06 2022-06-10 보스턴 다이나믹스, 인크. 중간 웨이포인트 생성기
US20230022637A1 (en) * 2019-11-28 2023-01-26 Sony Group Corporation Information processing apparatus, information processing method, and program
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
US11720108B2 (en) * 2020-12-22 2023-08-08 Baidu Usa Llc Natural language based indoor autonomous navigation
US20220388170A1 (en) * 2021-06-04 2022-12-08 Boston Dynamics, Inc. Alternate Route Finding for Waypoint-based Navigation Maps
US20220390950A1 (en) * 2021-06-04 2022-12-08 Boston Dynamics, Inc. Directed exploration for navigation in dynamic environments
WO2023140928A1 (en) 2022-01-21 2023-07-27 Boston Dynamics, Inc. Systems and methods for recording robot missions
CN114577217B (zh) * 2022-05-05 2022-07-29 季华实验室 基于冯洛诺伊图的路径规划方法、装置、设备及存储介质
CN117724467A (zh) * 2022-09-08 2024-03-19 华为云计算技术有限公司 一种路径规划方法、相关装置及系统
US20240176348A1 (en) * 2022-11-30 2024-05-30 Earthsense Inc. System and method for autonomous navigation of a field robot
KR102706517B1 (ko) * 2023-08-08 2024-09-12 네이버 주식회사 로봇의 내비게이션 목적지 보정 방법 및 시스템
CN117705115B (zh) * 2023-12-11 2024-06-25 中国南方航空股份有限公司 基于标签法的航路规划方法、装置、存储介质及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
JP2016081404A (ja) * 2014-10-21 2016-05-16 株式会社日立製作所 自律移動装置
JP2017182502A (ja) * 2016-03-30 2017-10-05 株式会社豊田中央研究所 移動体
JP2019500691A (ja) * 2015-12-09 2019-01-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 急速探索ランダム化フィードバック主体の動作計画
JP2019021197A (ja) * 2017-07-20 2019-02-07 株式会社Ihiエアロスペース 経路決定装置と経路決定方法

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111401A (en) * 1990-05-19 1992-05-05 The United States Of America As Represented By The Secretary Of The Navy Navigational control system for an autonomous vehicle
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
US20070282564A1 (en) * 2005-12-06 2007-12-06 Microvision, Inc. Spatially aware mobile projection
US8326469B2 (en) * 2006-07-14 2012-12-04 Irobot Corporation Autonomous behaviors for a remote vehicle
US20100066587A1 (en) 2006-07-14 2010-03-18 Brian Masao Yamauchi Method and System for Controlling a Remote Vehicle
US8843244B2 (en) * 2006-10-06 2014-09-23 Irobot Corporation Autonomous behaviors for a remove vehicle
CA2602879A1 (en) 2006-09-14 2008-03-14 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 農用作業車
US8346391B1 (en) * 2006-12-28 2013-01-01 Science Applications International Corporation Methods and systems for an autonomous robotic platform
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 삼성전자주식회사 로봇 및 그 제어방법
IL200921A (en) * 2009-09-14 2016-05-31 Israel Aerospace Ind Ltd A robotic carry system for infantry and useful methods for the above purpose
US8918209B2 (en) * 2010-05-20 2014-12-23 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
DE112012004769T5 (de) * 2011-11-16 2014-09-04 Flextronics Ap, Llc Konfigurierbare Hardwareeinheit für Autosysteme
US9463574B2 (en) 2012-03-01 2016-10-11 Irobot Corporation Mobile inspection robot
JP2013250795A (ja) 2012-05-31 2013-12-12 Aisin Seiki Co Ltd 移動体誘導装置及び移動体誘導方法
JP5886502B2 (ja) 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム
US9483055B2 (en) 2012-12-28 2016-11-01 Irobot Corporation Autonomous coverage robot
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 上海化学工业区公共管廊有限公司 机器人视频系统
DK2933604T3 (en) 2014-04-14 2017-03-13 Softbank Robotics Europe PROCEDURE FOR LOCATING A ROBOT IN A LOCATION PLAN
US9352470B1 (en) 2014-11-11 2016-05-31 Google Inc. Yaw slip handling in a robotic device
JP6481347B2 (ja) 2014-11-28 2019-03-13 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
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
CN107922119B (zh) 2015-11-25 2020-05-29 株式会社日立制作所 货架配置系统、搬运机器人以及货架配置方法
US9868210B1 (en) 2015-12-30 2018-01-16 Google Inc. Methods and systems for planning a body position of a robotic device
US10471611B2 (en) 2016-01-15 2019-11-12 Irobot Corporation Autonomous monitoring robot systems
US10054447B2 (en) * 2016-08-17 2018-08-21 Sharp Laboratories Of America, Inc. Lazier graph-based path planning for autonomous navigation
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
US12038756B2 (en) 2017-12-19 2024-07-16 Carnegie Mellon University Intelligent cleaning robot
EP3776447A1 (en) * 2018-04-12 2021-02-17 Uber Technologies, Inc. Autonomous vehicle control using service pools across different service entities
CN109029417B (zh) * 2018-05-21 2021-08-10 南京航空航天大学 基于混合视觉里程计和多尺度地图的无人机slam方法
CN108801269B (zh) * 2018-08-29 2021-11-12 山东大学 一种室内云机器人导航系统及方法
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
CN109540142B (zh) * 2018-11-27 2021-04-06 达闼科技(北京)有限公司 一种机器人定位导航的方法、装置、计算设备
KR20220078563A (ko) 2019-08-06 2022-06-10 보스턴 다이나믹스, 인크. 중간 웨이포인트 생성기
CN211956515U (zh) 2020-04-30 2020-11-17 上海允登信息科技有限公司 一种数据中心it设备智能资产盘点系统
CN111604916B (zh) 2020-04-30 2024-04-02 杭州优云科技有限公司 一种机房it设备故障机柜u位定位系统及方法
CN112034861A (zh) 2020-09-15 2020-12-04 航天科工智能机器人有限责任公司 一种仿生自主机器人自主避障系统及其避障方法
US20220390954A1 (en) 2021-06-04 2022-12-08 Boston Dynamics, Inc. Topology Processing for Waypoint-based Navigation Maps
US20220388170A1 (en) 2021-06-04 2022-12-08 Boston Dynamics, Inc. Alternate Route Finding for Waypoint-based Navigation Maps
US20220390950A1 (en) 2021-06-04 2022-12-08 Boston Dynamics, Inc. Directed exploration for navigation in dynamic environments
CN113633219B (zh) 2021-07-23 2022-12-20 美智纵横科技有限责任公司 回充路径确定方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
JP2016081404A (ja) * 2014-10-21 2016-05-16 株式会社日立製作所 自律移動装置
JP2019500691A (ja) * 2015-12-09 2019-01-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated 急速探索ランダム化フィードバック主体の動作計画
JP2017182502A (ja) * 2016-03-30 2017-10-05 株式会社豊田中央研究所 移動体
JP2019021197A (ja) * 2017-07-20 2019-02-07 株式会社Ihiエアロスペース 経路決定装置と経路決定方法

Also Published As

Publication number Publication date
US11268816B2 (en) 2022-03-08
US20230400307A1 (en) 2023-12-14
KR20220078563A (ko) 2022-06-10
EP4010659A1 (en) 2022-06-15
JP7502409B2 (ja) 2024-06-18
US11774247B2 (en) 2023-10-03
US20220155078A1 (en) 2022-05-19
WO2021025707A1 (en) 2021-02-11
US20210041243A1 (en) 2021-02-11
CN114174766A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
JP7502409B2 (ja) 中間ウェイポイント生成器
CN110262518B (zh) 基于轨迹拓扑地图和避障的车辆导航方法、系统及介质
Sadat et al. Feature-rich path planning for robust navigation of MAVs with mono-SLAM
US10705528B2 (en) Autonomous visual navigation
US11747825B2 (en) Autonomous map traversal with waypoint matching
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
US20220388170A1 (en) Alternate Route Finding for Waypoint-based Navigation Maps
WO2003096054A2 (en) Real-time target tracking of an unpredictable target amid unknown obstacles
US20220390950A1 (en) Directed exploration for navigation in dynamic environments
US20220390954A1 (en) Topology Processing for Waypoint-based Navigation Maps
Karkowski et al. Real-time footstep planning using a geometric approach
Fauadi et al. Intelligent vision-based navigation system for mobile robot: A technological review
Smith et al. Real-time egocentric navigation using 3d sensing
Shojaeipour et al. Motion planning for mobile robot navigation using combine quad-tree decomposition and voronoi diagrams
US11865724B2 (en) Movement control method, mobile machine and non-transitory computer readable storage medium
Canh et al. Multisensor data fusion for reliable obstacle avoidance
Deng et al. Landmark selection strategies for path execution
Ai et al. Research on mapping method based on data fusion of lidar and depth camera
Lin et al. SLAM and navigation in indoor environments
Chicaiza et al. Navigation Guided by Visual Markers and Path Planning for Mobile Robots in Confined Environments
Gómez-Ayalde et al. Local planning methods for autonomous navigation on sidewalks: a comparative survey
Rozman et al. Path planning and traversable area marking for stereo vision–based 3D map building
Matta et al. Development of an efficient perception system and a path planning algorithm for autonomous mobile robots
WO2024096819A1 (en) System and method for map building and map- and image-based object control
Sondermann et al. Semantic environment perception, localization and mapping

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240606

R150 Certificate of patent or registration of utility model

Ref document number: 7502409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150