JP2022500763A - ロボットのための死角を検出するためのシステム及び方法 - Google Patents

ロボットのための死角を検出するためのシステム及び方法 Download PDF

Info

Publication number
JP2022500763A
JP2022500763A JP2021514048A JP2021514048A JP2022500763A JP 2022500763 A JP2022500763 A JP 2022500763A JP 2021514048 A JP2021514048 A JP 2021514048A JP 2021514048 A JP2021514048 A JP 2021514048A JP 2022500763 A JP2022500763 A JP 2022500763A
Authority
JP
Japan
Prior art keywords
robot
virtual
computer
blind spot
readable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021514048A
Other languages
English (en)
Inventor
ジャン−バティスト パッソ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brain Corp
Original Assignee
Brain Corp
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 Brain Corp filed Critical Brain Corp
Publication of JP2022500763A publication Critical patent/JP2022500763A/ja
Pending legal-status Critical Current

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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • B25J19/061Safety devices with audible signals
    • 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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/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
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

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

Abstract

ロボット装置を使用して死角を検出するためのシステム及び方法が、本明細書において開示される。少なくとも1つの例示的実施形態によれば、ロボットが、死角を決定するためにロボットからの延伸(拡張)された測定値と仮想ロボット又は仮想的な表現のうちのそれぞれの仮想ロボット又は仮想的な表現からの仮想的な測定値との間の交点を決定するために複数の仮想ロボット又は仮想的な表現を利用する可能性がある。さらに、ロボットは、安全性を高めるために、ルートをナビゲートする間、死角の場所を考慮する可能性があり、ロボットは、ルートに沿って死角の近くをナビゲートすると近くの人に警告するためのアクションを実施する可能性がある。

Description

著作権
本特許文書の開示の一部は、著作権保護の対象である資料を含む。著作権の所有者は、特許商標庁(Patent and Trademark Office)の特許のファイル又は記録にそのように記載されているときには特許文書又は特許の開示の誰による複写にも意義がないが、それ以外は、いかなる著作権もすべて有する。
本出願は、概して、ロボット工学に関し、より詳細には、ロボット装置のための死角を検出するためのシステム及び装置に関する。
現在、ロボットは、複数の障害物を含む環境内で動作する可能性がある。これらの障害物は、ロボットがそれらのロボットのセンサを使用して観測することができない障害物の向こう側の領域を含む死角を作る可能性がある。死角の近くをナビゲートするロボットは、ロボット自体及び死角の中の近くの人に安全上のリスクを生じる可能性がある。
例えば、ロボットは、店の通路内の床を清掃するために店の中で動作する可能性がある。ロボットが通路の終わりに近付くとき、ロボットは、通路の棚の向こう側で通路に対して直角に歩く人を観測することができない可能性がある。ロボットがそのロボットのセンサを使用して人を検出することができない可能性があるとき、ロボットは、通路を出ると、通路の近くを歩く人にリスクをもたらす可能性がある。
死角が、ロボットが任意の物体の近くをナビゲートするときに観測される可能性があり、死角を判定することができないロボットは、そのロボット自体及び近くの人に安全上のリスクをもたらす可能性がある。したがって、本開示のシステム及び方法は、複雑な環境内で動作しているときにロボットが死角を検出し、安全性を高めるためのアクションを実施することを可能にする可能性がある。
上述の必要は、とりわけ、ロボット装置を使用して死角を検出するためのシステム、装置、及び方法を提供する本開示によって満たされる。
本明細書において説明される例示的な実施形態は、革新的な特徴を有し、それらの特徴のどの単一の特徴も、それらの望ましい属性に必須でなく、それらの望ましい属性を単独で担わない。請求項の範囲を限定することなく、有利な特徴の一部が、以降にまとめられる。
少なくとも1つの非限定的な例示的実施形態によれば、システムが開示される。システムは、少なくとも1つのセンサユニットと、具現化された複数の特殊な命令及びアルゴリズムを含む非一時的コンピュータ可読ストレージ媒体と、物体を検出すると延伸された測定ビームと1又は2以上の仮想ロボットからの仮想的な測定値との間の共通部分を決定することによって死角を検出するために命令及びアルゴリズムを実行するように構成されたプロセッサを含むコントローラとを含む可能性があるロボットシステムである可能性がある。当業者は、仮想ロボットが1若しくは2以上の仮想プロジェクション(virtual projection)、1若しくは2以上の仮想オブジェクト、1若しくは2以上の仮想相当物(virtual correspondence)、1若しくは2以上の仮想表現、1若しくは2以上の仮想インスタンス、又は1若しくは2以上の仮想的印(virtual indicia)に対応する可能性があることを理解するであろう。そのような特殊な命令及びアルゴリズムを実行することは、特殊な方法で動作するプロセッサをもたらすか又は特殊な方法で動作するようにプロセッサを構成する可能性がある。1又は2以上の仮想ロボット並びにシミュレーションされたロボット及び測定値を含む仮想的な測定値は、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施され、共通部分の場所に基づいて死角を決定する。プロセッサは、ルートに沿って死角から所定の距離に到達するとロボットに安全対策のアクションを実施させるために特殊な命令を実行するようにさらに構成される可能性があり、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び/又は視覚的インジケーションを生成することを含む。
少なくとも1つの非限定的な例示的実施形態によれば、プロセッサは、物体の端を検出するとコンピュータ可読地図上に死角を描く(マッピングする)ために命令を実行するようにさらに構成される可能性があり、物体の端は、角の点によって画定され、ロボットによって移動されるルートに沿って死角に近接している。角の点は、エッジビームの検出によって検出される可能性があり、エッジビームは、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、角の点は、エッジビームの近くで発せられたビームによって場所を特定された物体のものである。
少なくとも1つの非限定的な例示的実施形態によれば、延伸された測定値は、第1の領域によって表され、第1の領域は、物体が原因でロボットに接続されたいかなるセンサの見通し線(line of sight)からも外れたコンピュータ可読地図の部分を含み、第1の領域は、ロボットを中心とし、仮想的な測定値は、コンピュータ可読地図上で少なくとも1つの仮想ロボットの各々から放射状に広がる第2の領域によって表され、死角は、第1の領域と第2の領域との間の重なりの領域を含む。コンピュータ可読地図上で第1の領域を使用して延伸された測定値を表すことは、ロボットがそのロボットのセンサユニットを使用して感知しない可能性があるコンピュータ可読地図上の領域又はセンサユニットの見通し線から外れた領域を表す可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、非一時的コンピュータ可読メモリが、具現化された複数の命令を含み、命令は、特殊なプロセッサによって実行されるとき、物体を検出すると延伸された測定ビームと1又は2以上の仮想ロボットからの仮想的な測定値との間の共通部分を決定することによって死角を検出するように特殊なプロセッサを構成する。1又は2以上の仮想ロボット並びにシミュレーションされたロボット及びシミュレーションされた測定値を含む仮想的な測定値は、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施され、共通部分の場所に基づいて死角を決定する。命令は、死角から所定の距離に到達するとロボットに安全対策のアクションを実施させるように特殊なプロセッサをさらに構成する可能性があり、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び/又は視覚的インジケーションを生成することを含む。
少なくとも1つの非限定的な例示的実施形態によれば、ロボットが死角を検出するための方法が開示される。方法は、物体を検出すると測定ビーム及び1又は2以上の仮想ロボットからの仮想的な測定値を延伸するステップであって、1又は2以上の仮想ロボット及び仮想的な測定値が、物体の現在の位置測定データに基づいて環境のコンピュータ可読地図上でそれぞれ実施されるシミュレーションされたロボット及び測定値を含む、ステップと、共通部分の場所に基づいて死角を決定するステップとを含む。方法は、ロボットによって安全対策のアクションを実施するステップをさらに含み、安全対策のアクションは、もしかすると死角の中にいる可能性がある近くの人にロボットの存在を警告するために可聴音を発すること、ロボットの速度を落とすこと、及び/又は視覚的インジケーションを生成することを含む。
本開示のこれらの及びその他の目的、特徴、及び特性、並びに構造の関連する要素の動作及び機能の方法、及びパーツの組合せ、及び製造の経済性は、添付の図面を参照して下の説明及び添付の請求項を考察するとより明らかになり、添付の図面のすべては、本明細書の一部を形成し、同様の参照番号は、さまざまな図において対応する部分を指定する。しかし、図面が例示及び説明のみを目的としており、本開示の限定の画定として意図されていないことは、はっきりと理解されたい。本明細書及び請求項において使用されるとき、単数形の「a」、「an」、及び「the」は、文脈がそうでないことをはっきりと決定しない限り複数の指示対象を含む。
以降、開示される態様が、開示される態様を説明するために、及び開示される態様を限定しないように提供された添付の図面と関連して説明され、図面において、同様の名称は同様の要素を示す。
本開示の一部の例示的な実施形態による主なロボットの機能構成図である。 本開示の一部の例示的な実施形態によるコントローラ又はプロセッサの機能構成図である。 本開示の一部の例示的な実施形態による、物体を検出しコンピュータ可読地図上で物体の場所を特定するためにセンサを利用するロボットを示す図である。 例示的な実施形態による、ルートに沿ってナビゲートし、センサを使用して物体の場所を特定するロボットを示す図である。 例示的な実施形態による、死角を決定するために複数の仮想ロボットを描く図2Aのロボットを示す図である。 例示的な実施形態による、ルートに沿ってさらにナビゲートし、新しい位置測定データに基づいて死角の場所を更新する図2A〜Bのロボットを示す図である。 例示的な実施形態による、安全を保証するために死角から予め決められた距離においてアクションを実施する図2A〜Cのロボットを示す図である。 例示的な実施形態による、ロボットが死角を検出し、地図上に描き、安全を保証するためのアクションを実施するための方法のプロセスフロー図である。 例示的な実施形態による、ロボットによって決定される死角を生じる可能性がある複数の障害物を含む環境のコンピュータ可読地図を示す図である。 例示的な実施形態による、ルートに沿ってナビゲートする間にロボットが考慮する複数の障害物及び死角を含むコンピュータ可読地図を示す図である。 例示的な実施形態による、角の点及びエッジビームの検出のための方法を示す図である。 例示的な実施形態による、死角の検出のための本開示のシステム及び方法を大まかに示す図である。 本明細書において開示されるすべての図は、(C)Copyright 2018 Brain Corporation社.All rights reservedである。
本明細書において開示される新規性のあるシステム、装置、及び方法のさまざまな態様が、添付の図面を参照して以降でより十分に説明される。しかし、本開示は、多くの異なる形態で具現化される可能性があり、本開示全体を通じて提示されるいかなる特定の構造又は機能にも限定されるとみなされるべきでない。むしろ、これらの態様は、本開示が十分で完全であり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、当業者は、本開示の範囲が本明細書において開示される新規性のあるシステム、装置、及び方法の任意の態様を、本開示のいかなるその他の態様からも独立して実装されるのか又は本開示のいずれかのその他の態様と組み合わされるのかに関わらず包含するように意図されることを理解するであろう。例えば、本明細書において説明される任意の数の態様を使用して装置が実装される可能性があり又は方法が実施される可能性がある。さらに、本開示の範囲は、本明細書において説明される本開示のさまざまな態様に加えて又は本明細書において説明される本開示のさまざまな態様以外にその他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法を包含するように意図される。本明細書において開示される任意の態様は、請求項の1又は2以上の要素によって実装される可能性があることを理解されたい。
特定の態様が本明細書において説明されるが、これらの態様の多くの変更形態及び変形形態は、本開示の範囲内に入る。好ましい態様のいくつかの恩恵及び利点が述べられるが、本開示の範囲は、特定の利点、用途、及び/又は目的に限定されるように意図されていない。詳細な説明及び図面は、限定的ではなく本開示を示すに過ぎず、本開示の範囲は、添付の請求項及びそれらの均等物によって画定される。
本開示は、ロボットのパラメータのバイアス(bias)の決定及び値の計算のための改善されたシステム、装置、及び方法を提供する。
本明細書において使用されるとき、ロボットは、複雑な一連のタスク又はアクションを自律的に実行するように構成された機械的及び/又は仮想的エンティティを含む可能性がある。一部の例示的な実施形態において、ロボットは、コンピュータプログラム及び/又は電子回路によって導かれる及び/又は命令される機械である可能性がある。一部の例示的な実施形態において、ロボットは、ナビゲーションのために構成される電気機械構成要素を含む可能性があり、ロボットは、ある場所から別の場所へと移動する可能性がある。そのようなロボットは、自律的な及び/又は準自律的な車、床掃除機、ローバ(rover)、ドローン、飛行機、ボート、カート、路面電車、車椅子、産業用機器、ストッキングマシン(stocking machine)、移動式プラットフォーム、個人用輸送デバイス(例えば、ホバーボード、SEGWAY(登録商標)など)、ストッキングマシン、トレーラムーバ(trailer mover)、乗り物などを含む可能性がある。また、ロボットは、品物、人、動物、貨物、積荷、物体、手荷物、及び/又は望ましい任意のものをある場所から別の場所に輸送するための任意の自律的な及び/又は準自律的な機械を含む可能性がある。
本明細書において使用されるとき、死角は、センサの見通し線が遮られることが原因でロボットがそのロボットのセンサを使用して観測することができない障害物の向こう側の領域を含む可能性がある。例えば、死角は、廊下の角の近く又は物体の角の近くに見られる可能性がある。
本明細書において使用されるとき、仮想ロボット、仮想プロジェクション、仮想オブジェクト、仮想相当物、仮想表現、仮想インスタンス、又は仮想的印は、ロボットの環境のコンピュータ可読地図上のロボットのシミュレーションを含む可能性があり、シミュレーションは、ロボットのコントローラ又はプロセッサによって実施される。機能を仮想的に実施する仮想ロボットは、異なる場所又は時間にそのロボットの機能をシミュレーションするロボットを含む可能性がある。例えば、ある場所の物体の仮想的な測定値を収集する仮想ロボットは、仮想ロボットの場所においてそのロボット自体をシミュレーションし、物体の現在の位置測定データに基づいて(例えば、環境のコンピュータ可読地図に基づいて)シミュレーションされた測定値を収集するロボットを含む可能性がある。測定値のシミュレーションは、ロボットのコントローラがコンピュータ可読地図に基づいてある場所から別の場所までの距離を測定することからなる可能性がある。例えば、コンピュータ可読地図は、ピクセルを含む可能性があり、各ピクセルは、環境内の空間(例えば、ピクセル当たり1平方インチ)を表す可能性があり、仮想ロボットから物体までのシミュレーションされた又は仮想的な距離の測定値は、コンピュータ可読地図上の仮想ロボットと物体との間のピクセル数に基づいて決定される可能性がある。
本明細書において使用されるとき、ネットワークインターフェースは、限定なしに、FireWire(例えば、FW400、FW800、FWS800T、FWS1600、FWS3200など)、ユニバーサルシリアルバス(「USB,universal serial bus」)、(例えば、USB 1.X、USB 2.0、USB 3.0、USB Type−Cなど)、イーサネット(例えば、10/100、10/100/1000(ギガビットイーサネット)、10−Gig−Eなど)、同軸経由マルチメディアアライアンステクノロジー(「MoCA,multimedia over coax alliance technology」)、Coaxsys(例えば、TVNET(商標))、無線周波数チューナ(例えば、帯域内又はOOB、ケーブルモデムなど)、Wi−Fi(802.11)、WiMAX(例えば、WiMAX(802.16))、PAN(例えば、PAN/802.15)、セルラ(例えば、3G、LTE/LTE−A/TD−LTE/TD−LTE、GSMなど)、IrDAファミリーなどの構成要素、ネットワーク、又はプロセスを含む構成要素、ネットワーク、又はプロセスとの任意の信号、データ、又はソフトウェアインターフェースを含む可能性がある。本明細書において使用されるとき、Wi−Fiは、IEEE−Std.802.11、IEEE−Std.802.11の変種、IEEE−Std.802.11に関連する規格(例えば、802.11a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay)及び/又はその他のワイヤレス規格のうちの1又は2以上を含む可能性がある。
本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び/又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ(「DSP,digital signal processor」)、縮小命令セットコンピュータ(「RISC,reduced instruction set computer」)、複合命令セットコンピュータ(「CISC,complex instruction set computer」)、マイクロプロセッサ、ゲートアレイ(例えば、フィールドプログラマブルゲートアレイ(「FPGA,field programmable gate array」))、プログラマブルロジックデバイス(「PLD,programmable logic device」)、再構成可能コンピュータファブリック(「RCF,reconfigurable computer fabric」)、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ(例えば、ニューロモルフィックプロセッサ)、及び特定用途向け集積回路(「ASIC,application-specific integrated circuit」)などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
本明細書において使用されるとき、コンピュータプログラム及び/又はソフトウェアは、機能を実施する機械が認識可能なステップの任意のシーケンスを含む可能性がある。そのようなコンピュータプログラム及び/又はソフトウェアは、例えば、C/C++、C#、Fortran、COBOL、MATLAB(商標)、PASCAL、GO、RUST、SCALA、Python、アセンブリ言語、マークアップ言語(例えば、HTML、SGML、XML、VoXML)など、及び共通オブジェクトリクエストブローカーアーキテクチャ(「CORBA,Common Object Request Broker Architecture」)、(J2ME、Java Beansなどを含む)Java(商標)、バイナリランタイム環境(例えば、「BREW」)などのオブジェクト指向環境を含む任意のプログラミング言語又は環境で提供される可能性がある。
本明細書において使用されるとき、接続、リンク、及び/又はワイヤレスリンクは、(物理的であるか又は論理的/仮想的であるかに関わらず)任意の2又は3以上のエンティティの間の情報のやりとりを可能にする、それらのエンティティの間の因果関係を含む可能性がある。
本明細書において使用されるとき、コンピュータ及び/又はコンピューティングデバイスは、デスクトップか、ラップトップか、若しくはそれ以外かに関わらずパーソナルコンピュータ(「PC,personal computer」)及びミニコンピュータ、メインフレームコンピュータ、ワークステーション、サーバ、携帯情報端末(「PDA,personal digital assistant」)、ハンドヘルドコンピュータ、組み込みコンピュータ、プログラマブルロジックデバイス、パーソナルコミュニケータ(personal communicator)、タブレットコンピュータ、モバイルデバイス、可搬型ナビゲーション補助機器、J2ME搭載デバイス、セルラ電話、スマートフォン、個人向け統合通信若しくはエンターテインメントデバイス、並びに/又は1組の命令を実行し、着信データ信号を処理することができる任意のその他のデバイスを含む可能性があるがこれらに限定されない。
本開示のシステム及び方法のさまざまな実施形態の詳細な説明が、以降に与えられる。本明細書において検討される多くの例は特定の例示的な実施形態に言及する可能性があるが、本明細書に含まれる説明されるシステム及び方法は、任意の種類のロボット又はロボット用のモジュール式アタッチメントに適用可能であることが理解されるであろう。本開示の内容が与えられれば、本明細書において説明されるテクノロジーに関する無数のその他の実施形態又は用途が、当業者によって容易に想像されるであろう。
有利なことに、本開示のシステム及び方法は、ロボットが(i)ロボットがそのロボットの環境をナビゲートするときに死角を判定し、(ii)ロボットの動作の安全性を高め、(iii)ロボットがロボットの周りの人及びその他の物体を含む複雑な環境内で動作することを可能にする。本開示の内容が与えられれば、その他の利点が、当業者によって容易に認識され得る可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、ロボットシステムが開示される。ロボットシステムは、非一時的コンピュータ可読メモリと、ルートに沿ってロボットの前方に少なくとも1つの仮想ロボットをまず描くことによってルートに沿ってロボットの前方の近くの物体によって作られる死角を検出するために、メモリに記憶された命令を実行するように構成されたプロセッサとを含む可能性があり、物体は、ロボットに接続されたセンサを使用して検出される。少なくとも1つの仮想ロボットが、仮想的な測定値を収集する可能性があり、仮想的な測定値は、コンピュータ可読地図上の物体の現在の位置測定データが与えられたものとして仮想ロボットの場所でロボットが測定すると期待する予想された又はシミュレーションされた測定値からなる。次に、プロセッサは、物体の表面の向こう側の領域を決定するために命令を実行し続ける可能性がある。一部の実施形態において、この領域は、物体を感知するロボットのセンサからの測定値をコントローラが仮想的に延伸することによって決定される可能性がある。最後に、死角が、少なくとも1つの仮想ロボットの仮想的な測定値と物体の向こう側に広がる領域との間の重なりに基づいて検出される可能性がある。検出された死角に最も近い、ロボットがナビゲートしているルートに沿った地点が、プロセッサが命令を実行することによって決定される可能性があり、ロボットは、その地点にナビゲートする前に安全対策のアクションを実施する可能性がある。安全対策のアクションは、ロボットを停止すること、減速すること、若しくはロボットの方向を変えること、及び/又はロボットが死角に近付いているという音若しくは視覚的インジケーションを発することのうちの1つである。
少なくとも1つの非限定的な例示的実施形態によれば、死角を検出するための方法が開示される。方法は、ロボットのプロセッサが少なくとも1つのセンサを使用して、ルートに沿ってナビゲートしている間に物体を検出することと、コンピュータ可読地図上のルートに沿ったロボットの前方に1又は2以上の仮想ロボットを描くことと、(物体が原因で)少なくとも1つのセンサの見通し線の及ばないコンピュータ可読地図上の領域を包含する、ロボットを中心とする第1の領域を決定することと、1又は2以上の仮想ロボットの各々を中心とする第2の領域を決定することと、第1の領域と第2の領域との間の重なりのエリアに基づいて死角を検出することとからなる可能性がある。一部の実施形態において、第2の領域は、それぞれの仮想ロボットを中心とする円形の領域を含む可能性がある。一部の実施形態において、第2の領域は、第2の領域と第1の領域との間の重なりが検出され、死角を示すまで最小エリアから拡張される又は拡大される可能性がある。一部の実施形態において、第1の領域及び第2の領域は、コンピュータ可読地図上で固定の又は予め決められたサイズを含む可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、死角を検出するための方法が開示される。プロセッサがコンピュータ可読命令を実行することによって実施される方法は、プロセッサがルートに沿ったロボットの前の領域を少なくとも部分的に包含する視野を含むセンサから距離の測定値を収集することと、視野に沿った角度の関数として測定された距離の変化が閾値を超え、物体の角が検出されることを示すことに基づいて角の点を検出することとからなる可能性があり、物体の角は、物体の角の向こう側の死角を含むか又は生じる可能性がある。下で図6A〜Bにさらに示されるこの方法は、単独で利用されるか、又はロボットの前方の死角を検出するための、本明細書において開示されるその他の方法と関連して利用される可能性がある。
図1Aは、本開示のいくつかの原理によるロボット102の機能構成図である。図1Aに示されるように、ロボット102は、コントローラ118、メモリ120、ユーザインターフェースユニット112、センサユニット114、ナビゲーションユニット106、アクチュエータユニット108、及び通信ユニット116、並びにその他の構成要素及び下位構成要素(例えば、それらの一部は図示されない可能性がある)を含む可能性がある。特定の実施形態が図1Aに示されるが、本開示の内容が与えられれば当業者に容易に明らかであるように、アーキテクチャは特定の実施形態において変更される可能性があることが理解される。本明細書において使用されるとき、ロボット102は、本開示において説明される任意のロボットを少なくとも部分的に表す可能性がある。
コントローラ118は、ロボット102によって実施されるさまざまな動作を制御する可能性がある。コントローラ118は、1又は2以上のプロセッサ(例えば、マイクロプロセッサ)及びその他の周辺機器を含む及び/又は備える可能性がある。上述のように、本明細書において使用されるとき、プロセッサ、マイクロプロセッサ、及び/又はデジタルプロセッサは、限定なしに、デジタル信号プロセッサ(「DSP」)、縮小命令セットコンピュータ(「RISC」)、複合命令セットコンピュータ(「CISC」)、マイクロプロセッサ、ゲートアレイ(例えば、フィールドプログラマブルゲートアレイ(「FPGA」))、プログラマブルロジックデバイス(「PLD」)、再構成可能コンピュータファブリック(「RCF」)、アレイプロセッサ、セキュアマイクロプロセッサ、特殊プロセッサ(例えば、ニューロモルフィックプロセッサ)、及び特定用途向け集積回路(「ASIC」)などの任意の種類のデジタル処理デバイスを含む可能性がある。そのようなデジタルプロセッサは、単一の一体的な集積回路ダイに含まれるか又は複数の構成要素に分散される可能性がある。
コントローラ118は、メモリ120に動作可能なように及び/又は通信可能なように接続される可能性がある。メモリ120は、限定なしに、読み出し専用メモリ(「ROM,read-only memory」)、ランダムアクセスメモリ(「RAM,random access memory」)、不揮発性ランダムアクセスメモリ(「NVRAM,non-volatile random access memory」)、プログラマブル読み出し専用メモリ(「PROM,programmable read-only memory」)、電気的消去可能プログラマブル読み出し専用メモリ(「EEPROM,electrically erasable programmable read-only memory」)、ダイナミックランダムアクセスメモリ(「DRAM,dynamic random-access memory」)、モバイルDRAM、同期DRAM(「SDRAM,synchronous DRAM」)、ダブルデータレートSDRAM(「DDR/2 SDRAM,double data rate SDRAM」)、拡張データ出力(「EDO,extended data output」)RAM、高速ページモードRAM(「FPM,fast page mode RAM」)、レイテンシ低減DRAM(「RLDRAM,reduced latency DRAM」)、スタティックRAM(「SRAM,static RAM」)、フラッシュメモリ(例えば、NAND/NOR)、メモリスタメモリ、擬似スタティックRAM(「PSRAM,pseudostatic RAM」)などを含む、デジタルデータを記憶するように構成された任意の種類の集積回路又はその他のストレージデバイスを含む可能性がある。メモリ120は、コントローラ118に命令及びデータを提供する可能性がある。例えば、メモリ120は、複数の命令を記憶させた非一時的コンピュータ可読ストレージ装置及び/又は媒体である可能性があり、命令は、ロボット102を動作させるために処理装置(例えば、コントローラ118)によって実行可能である。場合によっては、命令は、処理装置によって実行されるとき、処理装置に本開示において説明されるさまざまな方法、特徴、及び/又は機能を実施させるように構成される可能性がある。したがって、コントローラ118は、メモリ120に記憶されたプログラム命令に基づいて論理及び/又は算術演算を実施する可能性がある。場合によっては、メモリ120の命令及び/又はデータは、一部がロボット102のローカルに置かれ、一部がロボット102の遠隔に(例えば、クラウド、サーバ、ネットワークなどに)置かれたハードウェアの組合せに記憶される可能性がある。
プロセッサが、ロボット102の外部にあり、通信ユニット116を利用してロボット102のコントローラ118に通信可能なように接続される可能性があり、外部プロセッサが、ロボット102からデータを受信し、データを処理し、コンピュータ可読命令をコントローラ118に送り返す可能性があることは、当業者にとって用意に明らかであるに違いない。少なくとも1つの非限定的な例示的実施形態において、プロセッサは、リモートサーバ(図示せず)上にある可能性がある。
一部の例示的な実施形態において、図1Aに示されるメモリ120は、メモリ120及びロボット102の機能を高める特定の方法でセンサデータのライブラリを記憶する可能性がある。場合によっては、センサデータは、物体及び/又は人に少なくとも部分的に関連付けられる可能性がある。例示的な実施形態において、このライブラリは、異なる組成(例えば、材料、反射特性、分子組成など)、異なる照明条件、角度、サイズ、距離、明瞭さ(例えば、ぼけている、遮られている/隠されている、部分的にフレームから外れているなど)、色、周囲の状況、及び/又はその他の条件を有する物体及び/又は人に関連するセンサデータなどの、異なる条件における物体及び/又は人に関連するセンサデータを含む可能性がある。ライブラリのセンサデータは、センサ(例えば、センサユニット114のセンサ若しくは任意のその他のセンサ)によって取得される、並びに/又は異なる照明条件、角度、サイズ、距離、明瞭さ(例えば、ぼけている、遮られている/隠されている、部分的にフレームから外れているなど)、色、周囲の状況、及び/若しくはその他の条件からライブラリセンサデータを(例えば、仮想世界で)生じさせる/シミュレーションするように構成される(例えば、これらのライブラリデータを完全にデジタルで及び/若しくは実際のセンサデータから開始して生じさせる/シミュレーションする可能性がある)コンピュータプログラムによるなどして自動的に生じさせられる可能性がある。ライブラリの画像の数は、利用可能なデータの量、ロボット102が動作する周囲の環境の変動性、物体及び/若しくは人の複雑さ、物体の外見の変動性、ロボットの物理的特性、センサの特性、並びに/或いは(例えば、ライブラリ、メモリ120、及び/又はローカルの若しくは遠隔のストレージ内の)利用可能なストレージ空間の量のうちの1又は2以上に少なくとも部分的に依存する可能性がある。例示的な実施形態においては、ライブラリの少なくとも一部が、ネットワーク(例えば、クラウド、サーバ、分散型ネットワークなど)上に記憶される可能性があり、及び/又はメモリ120にすべて記憶されるわけではない可能性がある。さらに別の例示的な実施形態として、(例えば、共通の製造業者、ユーザ、ネットワークなどによるロボットなどの、共通して関連付けられる)さまざまなロボットが、個々のロボットによってキャプチャされたデータがその他のロボットと集合的に共有されるようにネットワーク化される可能性がある。そのようにして、これらのロボットは、容易に誤りを検出及び/若しくは特定する並びに/又はイベントを支援する能力を促進するためにセンサデータを学習及び/又は共有するように構成される可能性がある。
引き続き図1Aを参照すると、動作ユニット104が、本開示において説明されるさまざまな動作を実施するためにコントローラ118又は任意のその他のコントローラに接続される可能性がある。動作ユニット104のモジュールのうちの1若しくは2以上が、一部の実施形態に含まれる可能性があり、又は動作ユニット104のモジュールのどれも、一部の実施形態に含まれない可能性がある。本開示全体を通じて、さまざまなコントローラ及び/又はプロセッサが参照される可能性がある。一部の実施形態においては、単一のコントローラ(例えば、コントローラ118)が、説明されるさまざまなコントローラ及び/又はプロセッサとして働く可能性がある。その他の実施形態においては、特に1又は2以上の動作ユニット104のために使用されるコントローラ及び/又はプロセッサなどの異なるコントローラ及び/又はプロセッサが、使用される可能性がある。コントローラ118は、動作ユニット104への離散的信号及びアナログ信号を含む、電力信号(power signal)、ステータス信号、データ信号、電気信号、及び/又は任意のその他の望ましい信号などの信号を送信及び/又は受信する可能性がある。コントローラ118は、動作ユニット104を調整及び/若しくは管理し、並びに/又はタイミングを(例えば、同期して若しくは非同期で)設定する、制御電力バジェット(control power budget)をオン/オフする、ネットワークの命令及び/若しくは更新を受信/送信する、ファームウェアを更新する、問い合わせ信号(interrogatory signal)を送信する、ステータスを受信及び/若しくは送信する、並びに/又はロボット102の特徴を実行するための任意の動作を実施する可能性がある。
図1Aにおいて、動作ユニット104は、ロボット102のための機能を実施するさまざまなユニットを含む可能性がある。例えば、動作ユニット104は、少なくとも、ナビゲーションユニット106、アクチュエータユニット108、ユーザインターフェースユニット112、センサユニット114、及び通信ユニット116を含む。動作ユニット104は、ロボット102のさまざまな機能を提供するその他のユニットも含む可能性がある。例示的な実施形態において、動作ユニット104は、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアとの両方で具体化される可能性がある。例えば、場合によっては、動作ユニット104のユニットは、コントローラによって実行されるコンピュータに実装された命令を含む可能性がある。例示的な実施形態において、動作ユニット104のユニットは、ハードコーディングされた論理を含む可能性がある。例示的な実施形態において、動作ユニット104のユニットは、コントローラによって実行されるコンピュータに実装された命令とハードコーディングされた論理との両方を含む可能性がある。動作ユニット104が部分的にソフトウェアで実装される場合、動作ユニット104は、1又は2以上の機能を提供するように構成されたコードのユニット/モジュールを含む可能性がある。
例示的な実施形態において、ナビゲーションユニット106は、環境の地図をコンピュータにより構築及び更新し、地図内でロボット102の場所を特定し(例えば、位置を見つけ)、目的地に/からロボット102をナビゲートする可能性があるシステム及び方法を含む可能性がある。地図作成は、部分的にセンサユニット114によって取得されたデータを、環境を少なくとも部分的に表すコンピュータ可読地図に加えることによって実施される可能性がある。例示的な実施形態において、環境の地図は、ユーザインターフェースユニット112を通じてロボット102にアップロードされるか、ワイヤレスで若しくは有線接続を通じてアップロードされるか、又はユーザによってロボット102に教えられる可能性がある。
例示的な実施形態において、ナビゲーションユニット106は、ロボット102がナビゲートするための方向指示を提供するように構成された構成要素及び/又はソフトウェアを含む可能性がある。ナビゲーションユニット106は、地図作成及び位置測定ユニットによって生じさせられた地図、ルート、及び位置測定情報、センサユニット114及び/又はその他の動作ユニット104からのデータを処理する可能性がある。
引き続き図1Aを参照すると、アクチュエータユニット108が、電気モータ、ガスモータ、駆動マグネットシステム(driven magnet system)、ソレノイド/ラチェットシステム、圧電システム(例えば、尺取り虫モータ(inchworm motor))、磁歪要素、激しいジェスチャ(gesticulation)、及び/又は当技術分野で知られているアクチュエータを駆動する任意の方法などのアクチュエータを含む可能性がある。例示として、そのようなアクチュエータは、ロボット102がルートをナビゲートし、障害物の周りをナビゲートし、カメラ及びセンサを回転させるためのホイールを駆動する可能性がある。
アクチュエータユニット108は、場合によっては、タスクを実施するために作動させるために使用される任意のシステムを含む可能性がある。例えば、アクチュエータユニット108は、駆動マグネットシステム、モータ/エンジン(例えば、電気モータ、燃焼エンジン、蒸気エンジン、及び/若しくは当技術分野で知られている任意の種類のモータ/エンジン)、ソレノイド/ラチェットシステム、圧電システム(例えば、尺取り虫モータ)、磁歪要素、激しいジェスチャ、並びに/又は当技術分野で知られている任意のアクチュエータを含む可能性がある。例示的な実施形態によれば、アクチュエータユニット108は、推進を動力化するなど、ロボット102の移動を許すシステムを含む可能性がある。例えば、動力化された推進は、ロボット102を前方若しくは後方に移動させ、並びに/又はロボット102を方向転換する(例えば、左、右、及び/若しくは任意のその他の方向)際に少なくとも部分的に使用される可能性がある。例示として、アクチュエータユニット108は、ロボット102が移動しているのか若しくは停止されるのかを制御し、及び/又はロボット102がある場所から別の場所にナビゲートすることを可能にする可能性がある。
例示的な実施形態によれば、センサユニット114は、ロボット102の中及び/又は周りの特性を検出する可能性があるシステム及び/又は方法を含む可能性がある。センサユニット114は、複数のセンサ及び/又はセンサの組合せを含む可能性がある。センサユニット114は、ロボット102の内部にある若しくは外部にあるセンサを含み、並びに/又は部分的に内部にある及び/若しくは部分的に外部にある構成要素を有する可能性がある。場合によっては、センサユニット114は、ソナー、光検出及び測距(「LIDAR,light detection and ranging」)センサ、レーダー、レーザー、カメラ(ビデオカメラ(例えば、赤青緑(「RBG,red-blue-green」)カメラ、赤外線カメラ、3次元(「3D,three-dimensional」)カメラ、サーマルカメラなど)、飛行時間(「TOF,time of flight」)カメラ、構造化光カメラを含む)、アンテナ、モーションディテクタ、マイクロフォン、並びに/又は当技術分野で知られている任意のその他のセンサなどの1又は2以上の外受容センサ(exteroceptive sensor)を含む可能性がある。例示的な実施形態によれば、センサユニット114は、生の測定値(例えば、電流、電圧、抵抗、ゲート論理など)及び/又は変換された測定値(例えば、距離、角度、障害物内の検出された点など)を収集する可能性がある。場合によっては、測定値は、集約される及び/又は要約される可能性がある。センサユニット114は、測定値に少なくとも部分的に基づいてデータを生じさせる可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に特定の方法で記憶される可能性がある。例示的な実施形態によれば、測定値は、バイアスを含む可能性がある。そのようなデータ集め、収集、及びデータのフィルタリングは、リアルタイムで実施される可能性があり、それが、ひいてはロボット102の機能を高める。
例示的な実施形態によれば、センサユニット114は、ロボット102の内部の特性を測定する可能性があるセンサを含む可能性がある。例えば、センサユニット114は、温度、電力レベル、ステータス、及び/又はロボット102の任意の特性を測定する可能性がある。場合によっては、センサユニット114は、ロボット102のオドメトリ(odometry)を測定するように構成される可能性がある。例えば、センサユニット114は、加速度計、慣性測定ユニット(「IMU,inertial measurement unit」)、走行距離計、ジャイロスコープ、速度計、(例えば、視覚オドメトリを使用する)カメラ、エンコーダ、クロック/タイマなどのセンサを含む可能性があるオドメトリユニットを含む可能性がある。オドメトリは、ロボット102の自律的なナビゲーション及び/又は自律的なアクションを容易にする可能性がある。このオドメトリは、初期の場所に対するロボット102の位置(例えば、位置はロボットの場所、変位、及び/又は向きを含む可能性があり、本明細書において使用される姿勢という用語と交換可能であることがある可能性がある)を含む可能性がある。そのようなデータは、行列、配列、キュー、リスト、配列、スタック、バッグなどのデータ構造に記憶される可能性がある。
例示的な実施形態によれば、ユーザインターフェースユニット112は、ユーザがロボット102とインタラクションすることを可能にするように構成される可能性がある。例えば、ユーザインターフェースユニット112は、タッチパネル、ボタン、キーパッド/キーボード、ポート(例えば、ユニバーサルシリアルバス(「USB」)、デジタルビジュアルインターフェース(「DVI,digital visual interface」)、ディスプレイポート、E−Sata、Firewire、PS/2、シリアル、VGA、SCSI、audioport、高精細度マルチメディアインターフェース(「HDMI,high-definition multimedia interface」)、パーソナルコンピュータメモリカード国際協会(「PCMCIA,personal computer memory card international association」)ポート、メモリカードポート(例えば、セキュアデジタル(「SD,secure digital」)及びminiSD)、並びに/若しくはコンピュータ可読媒体のためのポート)、マウス、ローラーボール、コンソール、バイブレータ、オーディオトランスデューサ、並びに/又はワイヤレスで接続されるのか若しくは有線によって接続されるのかに関わらずユーザがデータ及び/若しくはコマンドを入力及び/若しくは受け取るための任意のインターフェースを含む可能性がある。ユーザは、音声コマンド又はジェスチャによってインタラクションする可能性がある。ユーザインターフェースユニット218は、限定なしに、液晶ディスプレイ(「LCD,liquid crystal display」)、発光ダイオード(「LED,light-emitting diode」)ディスプレイ、LED LCDディスプレイ、面内切替型(「IPS,in-plane-switching」)ディスプレイ、ブラウン管、プラズマディスプレイ、高精細度(「HD,high definition」)パネル、4Kディスプレイ、Retinaディスプレイ、有機LEDディスプレイ、タッチスクリーン、表面、キャンバス、並びに/又は視覚的な提示のための当技術分野で知られている任意のディスプレイ、テレビ、モニタ、パネル、及び/若しくはデバイスなどのディスプレイを含む可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット112は、ロボット102の本体上に位置付けられる可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット112は、ロボット102の本体から離して位置付けられる可能性があるが、直接的に(例えば、送信機、受信機、及び/若しくはトランシーバを含む通信ユニットを介して)又は間接的に(例えば、ネットワーク、サーバ、及び/若しくはクラウドを通じて)ロボット102に通信可能なように接続される可能性がある。例示的な実施形態によれば、ユーザインターフェースユニット112は、例えば、占有者又はロボットの周りの人に情報を提供するための、ロボットの近くの表面(例えば、床)への画像の1又は2以上の投影を含む可能性がある。情報は、前、左、右、後ろ、斜め、及び/又は任意のその他の方向の移動のインジケーションなどのロボットの将来の移動の方向である可能性がある。場合によっては、そのような情報は、矢印、色、記号などを利用する可能性がある。
例示的な実施形態によれば、通信ユニット116は、1又は2以上の受信機、送信機、及び/又はトランシーバを含む可能性がある。通信ユニット116は、BLUETOOTH(登録商標)、ZIGBEE(登録商標)、Wi−Fi、誘導ワイヤレスデータ送信(induction wireless data transmission)、無線周波数、無線送信、無線周波数識別(「RFID,radio-frequency identification」)、近距離無線通信(「NFC,near-field communication」)、赤外線、ネットワークインターフェース、3G(3GPP/3GPP2)、高速ダウンリンクパケットアクセス(「HSDPA,high-speed downlink packet access」)、高速アップリンクパケットアクセス(「HSUPA,high-speed uplink packet access」)、時分割多元接続(「TDMA,time division multiple access」)、符号分割多元接続(「CDMA,code division multiple access」)(例えば、IS−95A、広帯域符号分割多元接続(「WCDMA,wideband code division multiple access」)など)、周波数ホッピングスペクトラム拡散(「FHSS,frequency hopping spread spectrum」)、直接シーケンススペクトラム拡散(「DSSS,direct sequence spread spectrum」)、移動体通信用グローバルシステム(「GSM,global system for mobile communication」)、パーソナルエリアネットワーク(「PAN,Personal Area Network」)(例えば、PAN/802.15)、マイクロ波アクセスのための世界的相互運用性(「WiMAX,worldwide interoperability for microwave access」)、802.20、ロングタームエボリューション(「LTE,long term evolution」)(例えば、LTE/LTE−A)、時分割LTE(「TD−LTE,time division LTE」)、移動体通信用グローバルシステム(「GSM」)、狭帯域/周波数分割多元接続(「FDMA,frequency-division multiple access」)、直交周波数分割多重(「OFDM,orthogonal frequency-division multiplexing」)、アナログセルラ、セルラデジタルパケットデータ(「CDPD,cellular digital packet data」)などのセルラテクノロジー、衛星システム、ミリ波若しくはマイクロ波システム、音響、赤外線(例えば、赤外線データ協会(「IrDA,infrared data association」))、及び/又は任意のその他の形態のワイヤレスデータ送信などの送信プロトコルを送信/受信するように構成される可能性がある。
通信ユニット116は、信号線及び接地を有する任意のケーブルなどの有線接続上で送信プロトコルを利用して信号を送信/受信するように構成される可能性もある。例えば、そのようなケーブルは、イーサネットケーブル、同軸ケーブル、ユニバーサルシリアルバス(「USB」)、FireWire、及び/又は当技術分野で知られている任意の接続を含む可能性がある。そのようなプロトコルは、コンピュータ、スマートフォン、タブレット、データキャプチャシステム、モバイル電気通信ネットワーク、クラウド、サーバなどの外部システムと通信するために通信ユニット116によって使用される可能性がある。通信ユニット116は、数、レター(letter)、英数字キャラクタ(character)、及び/又は記号からなる信号を送信及び受信するように構成される可能性がある。場合によっては、信号は、高度暗号化標準(「AES,Advanced Encryption Standard」)、RSA、データ暗号化標準(「DES,Data Encryption Standard」)、トリプルDESなどの規格に準拠する128ビット又は256ビット鍵及び/又はその他の暗号化アルゴリズムなどのアルゴリズムを使用して暗号化される可能性がある。通信ユニット116は、ステータス、コマンド、及びその他のデータ/情報を送信及び受信するように構成される可能性がある。例えば、通信ユニット116は、ユーザがロボット102を制御することを可能にするためにユーザオペレータと通信する可能性がある。通信ユニット116は、ロボット102がデータ、ステータス、コマンド、及びその他の通信をサーバに送信することを可能にするためにサーバ/ネットワーク(例えば、ネットワーク)と通信する可能性がある。サーバは、ロボット102を遠隔で監視及び/又は制御するために使用される可能性があるコンピュータ及び/又はデバイスに通信可能なように接続される可能性もある。通信ユニット116は、ロボット102のためにサーバから更新(例えば、ファームウェア又はデータ更新)、データ、ステータス、コマンド、及びその他の通信を受信する可能性もある。
例示的な実施形態において、オペレーティングシステム110は、メモリ120、コントローラ118、電源122、動作ユニット104のモジュール、並びに/又はロボット102の任意のソフトウェア、ハードウェア、及び/若しくは特徴を管理するように構成される可能性がある。例えば、限定なしに、オペレーティングシステム110は、ロボット102のためのハードウェアリソースを管理するためのデバイスドライバを含む可能性がある。
例示的な実施形態において、電源122は、限定なしに、リチウム、リチウムイオン、ニッケルカドミウム、ニッケル金属水素化物(nickel-metal hydride)、ニッケル水素、炭素亜鉛、酸化銀、亜鉛炭素、亜鉛空気、酸化水銀、アルカリ、又は当技術分野で知られている任意のその他の種類のバッテリを含む1又は2以上のバッテリを含む可能性がある。特定のバッテリは、(例えば、共振回路及び/若しくは共振タンク回路による)ワイヤレスで及び/又は外部電源につなぐことなどで充電され得る可能性がある。電源122は、壁のコンセントと、太陽光、風、水、原子力、水素、ガソリン、天然ガス、化石燃料、力学的エネルギー、蒸気、及び/又は任意の電源を電気に変換する電子デバイスとを含むエネルギーの任意の供給源である可能性もある。
(メモリ120、コントローラ118、センサユニット114、ユーザインターフェースユニット112、アクチュエータユニット108、通信ユニット116、地図作成及び位置測定ユニット126、並びに/又はその他のユニットを含む)図1Aに関連して説明されたユニットのうちの1又は2以上は、統合されたシステムなどにおいてロボット102に組み込まれる可能性がある。しかし、例示的な実施形態によれば、これらのユニットのうちの1又は2以上は、取り付け可能なモジュールの一部である可能性がある。このモジュールは、既存の装置がロボットとして振る舞うように、自動化するために既存の装置に取り付けられる可能性がある。したがって、ロボット102に関連して本開示において説明される特徴は、既存の装置に取り付けられる可能性があるモジュールに具体化される、及び/又は統合されたシステム内でロボット102に組み込まれる可能性がある。さらに、場合によっては、当業者は、本開示において説明される特徴の少なくとも一部がクラウド、ネットワーク、及び/又はサーバなどにおいて遠隔で実行される可能性もあることを本開示の内容から理解するであろう。
今後使用されるとき、ロボット102、コントローラ118、又は以下で図に示されるタスクを実施する任意のその他のコントローラ、プロセッサ、若しくはロボットは、当業者によって理解されるように、メモリ120などの非一時的コンピュータ可読ストレージ装置に記憶されたコンピュータ可読命令を実行するコントローラ118又は次に図1Bに示されるプロセッサ130を含む。
次に図1Bを参照すると、図1Aに示されたシステムにおいて使用される特殊なコントローラ118のアーキテクチャが、例示的な実施形態に従って示される。図1Bに示されるように、特殊なコントローラ118は、データバス128、受信機126、送信機134、少なくとも1つのプロセッサ130、及びメモリ132を含む可能性がある。受信機126、プロセッサ130、及び送信機134は、すべてデータバス128を介して互いに通信する。プロセッサ130は、特殊なアルゴリズムを実行するように構成された特殊なプロセッサである可能性がある。プロセッサ130は、プロセッサ130が特殊なアルゴリズムを実行するためにコンピュータコード又は命令を記憶するメモリ132にアクセスするように構成される。図1Bに示されるように、メモリ132は、図1Aに既に示されたメモリ124の特徴のうちのいくつかを含むか、いずれも含まないか、異なる特徴を含むか、又はすべてを含む可能性がある。プロセッサ130によって実行されるアルゴリズムは、下でさらに詳細に検討される。図1Bに示される受信機126は、入力信号124を受信するように構成される。入力信号124は、センサユニット114からのセンサデータ、ユーザ入力、モータのフィードバック、(例えば、リモートサーバからの)外部通信信号、及び/又は特殊なコントローラ118によるさらなる処理を必要とする動作ユニット104からの任意のその他の信号を含むがこれらに限定されない、図1Aに示された複数の動作ユニット104からの信号を含む可能性がある。受信機126は、これらの受信された信号を、データバス128を介してプロセッサ130に伝達する。当業者が理解するように、データバス128は、特殊なコントローラ118の異なる構成要素−受信機、プロセッサ、及び送信機−の間の通信の手段である。プロセッサ130は、以下で検討されるように、メモリ132の特殊なコンピュータ可読命令にアクセスすることによってアルゴリズムを実行する。これらの信号の受信、処理、及び送信の際に特殊なアルゴリズムを実行するプロセッサ130に関するさらに詳細な説明は、図1Aに関連して上で検討されている。
メモリ132は、コンピュータコード又は命令を記憶するためのストレージ媒体である。ストレージ媒体は、とりわけ、光学式メモリ(例えば、CD、DVD、HD−DVD、ブルーレイディスクなど)、半導体メモリ(例えば、RAM、EPROM、EEPROMなど)、及び/又は磁気式メモリ(例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、MRAMなど)を含む可能性がある。ストレージ媒体は、揮発性、不揮発性、ダイナミック、スタティック、読み出し/書き込み、読み出し専用、ランダムアクセス、逐次アクセス、位置アドレス指定可能(location-addressable)、ファイルアドレス指定可能(file-addressable)、及び/又はコンテンツアドレス指定可能(content-addressable)デバイスを含む可能性がある。プロセッサ130は、示されたようにデータバス128を介して送信機134に出力信号を伝達する可能性がある。送信機134は、信号出力136によって示される出力信号を複数の動作ユニット104にさらに伝達するように構成される可能性がある。そのような出力信号の通信は、本明細書において開示されるように、従来と異なる結果をもたらす。
当業者は、図1Bに示されたアーキテクチャが遠隔の場所からロボット装置の制御を実施するように構成された外部サーバのアーキテクチャを示す可能性があることを理解するであろう。つまり、サーバは、データバス、受信機、送信機、プロセッサ、及び特殊なコンピュータ可読命令を記憶するメモリをやはり含む可能性がある。
図2は、本開示の一部の例示的な実施形態による、ロボット102のコントローラ118が位置測定データに基づいてそのロボットの環境のコンピュータ可読地図212をどのようにして生じさせる可能性があるのかを示すために、センサ202を使用してビーム204を発することによって物体206の表面208の距離の測定値を収集して近くの物体206の位置測定データを収集するロボット102を示す。センサ202は、離散的な角度でセンサ202から発せられたビーム204を使用して距離の測定値を収集するように構成された、平面LiDAR(planar LiDAR)又は深度カメラセンサなどのセンサユニット114の光検出及び測距(「LiDAR」)センサを示す可能性があり、ビーム204の一部は、明瞭にするために省略されている。示されるように、一部のビーム204は、物体206の(実線によって示される)表面208に到達し、それによって、コントローラ118が距離の測定値(例えば、ビーム204の飛行時間(「TOF」))及びビーム204がセンサ202から発せられる角度に基づいて表面208の場所を特定することを可能にする。表面208の場所を特定すること(つまり、ビーム204が表面208に到達する場所のx−y位置を収集すること)によって、コントローラ118は、位置測定データとコンピュータ可読地図212の基準座標系(つまり、コンピュータ可読地図212のx−y軸)との比較に基づいて、示されるようにコンピュータ可読地図212上に表面208を描く可能性がある。加えて、一部のビーム204は、例えば、ビーム204が物体206の表面に到達することなくセンサ202の最大検出範囲を超えることが原因で物体の表面208に到達せず、コントローラ118は、それらのビーム204によって物体が検出されないと判定する可能性があり、したがって、コンピュータ可読地図212上にいかなる表面208も描かない可能性がある。
物体206は、表面210がセンサ202からの見通し線から外れていること又は(有限の長さを有する表面208に到達しない一部のビーム204によって示される)センサ202による検出範囲外であることが原因でセンサ202に見えない(破線によって示される)さらなる表面210を含む可能性がある。したがって、これらの表面210は、コンピュータ可読地図212に描かれない。ロボット102が、そのロボットの環境を動き回り、異なる場所でそのロボットのセンサ202を使用して物体206のさらなる位置測定データを収集することによって表面210の場所を特定する可能性があることは当業者によって理解される。さらに、コンピュータ可読地図212が、ロボット102の内部の非一時的コンピュータ可読メモリユニット(例えば、メモリ120)又はロボット102の外部の(例えば、ロボット102に通信可能なように接続された外部サーバ上の)非一時的コンピュータ可読メモリユニットに記憶される可能性があることは当業者によって理解される。コンピュータ可読地図212は、ロボット102がそのロボットの環境内をナビゲートするとき、センサ202によって後の時間に収集された表面208の新しい位置測定データに基づいてロボット102のコントローラ118によってリアルタイムで更新される可能性がある(つまり、コンピュータ可読地図212は、環境内の物体206の位置の検出された変化に基づいて更新される可能性がある)。物体206の表面208の位置測定データを含むコンピュータ可読地図212からのデータは、コントローラ118によってアクセスされる可能性があり、本明細書において開示される機能の一部を実施するために利用される可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、表面208の位置測定データを収集するために複数のセンサ(例えば、センサユニット114)を利用する可能性があり、生じさせられるコンピュータ可読地図212は、1又は2以上のコンピュータ可読地図212の上に重ねられた複数のセンサからの測定値によって生じさせられた表面208の位置測定データをさらに含む可能性がある。少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、例えば、深度カメラなどの、物体206の表面208の場所を特定するための複数の異なる種類のセンサ、及び深度カメラと物体206の表面208との間の距離を決定するために深度カメラによってキャプチャされた画像を利用する特殊な距離測定アルゴリズムを利用する可能性がある。つまり、物体206の表面208の位置測定データを収集するためのLiDARセンサ202の使用は、限定的であるように意図されていない。したがって、本明細書において使用されるとき、センサユニット114を使用して場所を特定された物体を含む任意のコンピュータ可読地図は、2又は3以上のセンサユニット114からのデータを使用して同様に生じさせられる可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、コンピュータ可読地図212は、センサ202又はその他のセンサユニット114が3次元の距離の測定値を収集する(例えば、ビーム204を生じさせる)ように構成される場合、物体206の3次元(「3D」)地図を含む可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、コンピュータ可読地図212は、例えば、物体206の画像をキャプチャする、環境中に置かれた閉回路テレビカメラなどのロボット102の外部のセンサを使用して生じさせられる可能性がある。少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、オペレータ、又は有線若しくはワイヤレス通信を介してロボット102に通信可能なように接続された外部サーバによってコンピュータ可読地図212を提供される可能性がある。
今後使用されるとき、ロボット102がロボット102に利用され得る現在の位置測定データに基づいて機能を実施することは、ロボット102が地図212などのコンピュータ可読地図に基づいて機能を実施することを含む可能性があり、コンピュータ可読地図は、ロボット102の環境内のいずれの物体及びそれらの対応する表面の位置測定も含まないか、又は一部の若しくはすべての物体及びそれらの対応する表面の位置測定を含む可能性がある。
図3Aは、例示的な実施形態による、ルート306に沿ってセンサ308を使用して物体302を検出するロボット102を示す。センサ308は、離散的な角度でセンサ308から発せられたビーム304のTOFに基づいてセンサ308と物体302の表面との間の距離の測定値を収集するように構成されたLiDARセンサを含む可能性がある。センサ308は、一部の実施形態において、2又は3以上の外受容センサユニット114(例えば、深度カメラ、RGBカメラなど)を示す可能性があり、これらのセンサユニット114からのデータが、コンピュータ可読地図を生じさせるためにコントローラ118によって利用される。物体302は、物体302の表面の一部のみが示されることによって示されるように、環境のコンピュータ可読地図上でまだ場所を特定されていない物体を含む可能性がある。環境のコンピュータ可読地図は、ロボット102のメモリ120又は同様のメモリユニット(例えば、ロボット102に通信可能なように接続されたクラウドサーバのメモリユニット)に記憶されたデータを含む可能性があり、データは、環境内の物体302などの物体の位置測定データに対応する。したがって、示されるように、物体302の表面の一部のみが、ロボット102によって検出され、場所を特定された。ロボット102は、図3Bに次に示されるように、物体302を検出すると、あり得る死角318を決定するために複数の仮想ロボット310を描くように構成される可能性がある。当業者は、仮想ロボットが1若しくは2以上の仮想プロジェクション、1若しくは2以上の仮想オブジェクト、1若しくは2以上の仮想相当物、1若しくは2以上の仮想表現、1若しくは2以上の仮想インスタンス、又は1若しくは2以上の仮想的印に対応する可能性があることを理解するであろう。
非限定的な例示的実施形態によれば、センサ308は、例えば、深度カメラ、RGBカメラなどを含む、上で図1Aに示されたセンサユニット114のいくつかの特徴を含むか、いずれの特徴も含まないか、すべての特徴を含むか、又は異なる特徴を含む可能性がある。
当業者は、複数のビーム304がロボット102のセンサ308から発せられる可能性があり、明瞭にするために、ビーム304の大部分が省略されたことを理解するであろう。
図3Bは、例示的な実施形態による、ルート306に沿ってさらにナビゲートし、死角318を検出するためにルート306に沿って複数の仮想ロボット310を描く、上で図3Aに示されたロボット102を示す。仮想ロボット310は、ロボット102がルート306に沿ってナビゲートするときのロボット102のシミュレーションされた将来の位置を含む可能性があり、仮想ロボット310は、示されるように、例えば、180°の測定範囲で物体302(及び図示されていないその他の場所を特定された物体)の現在の位置測定データに基づいて仮想ロボット310の場所においてロボット102がセンサ308によって観測すると予想又は予測するもののシミュレーションされた測定値304を含む、点線によって示される仮想スキャン312を収集してもよい。ロボット102が仮想ロボット310からの複数の仮想的な測定値312をシミュレーションしてもよく、明瞭にするために、仮想的な測定値312の多くが省略されたことは、理解される。仮想ロボット310は、ルート306に沿ってロボット102の前方の距離dの整数倍に位置付けられる可能性があり、dは、オペレータ/製造業者によって設定されたか又はロボット102のコントローラ118によって決定された任意の予め決められた距離である。
死角318の場所を決定するために、ロボット102は、そのロボットの環境のコンピュータ可読地図上で測定値304を仮想的に延伸(拡張)することによって物体302の表面の向こう側の、破線によって示される延伸(extended)されたビーム314を生じさせる可能性がある。死角318は、共通部分316(黒丸)によって示されるように、延伸されたビーム314が物体302を検出しない仮想スキャン312と交差する場所に基づいて定義される可能性がある。同様に、仮想ロボットは、仮想的な測定値312を使用してその仮想ロボットの場所で物体302をもはや検出しない可能性があり、ロボットからの仮想的な測定値312は、死角318を画定するためのさらなる共通部分316を決定するためにさらに利用される可能性がある。いくつかの仮想的な測定値312が、死角318を画定するために仮想ロボットから利用される可能性があり、利用される仮想的な測定値312は、現在の位置測定データに基づいて物体302の表面を検出しない測定値を含む。加えて、明瞭にするために省略された複数の交点316が、死角318内にある可能性がある。環境のコンピュータ可読地図上に描かれる死角318のサイズは、死角318によって包含されるエリアが有限であることを保証するために、予め決められた数の延伸されたビーム314と予め決められた数のビーム312との間の共通部分を含む可能性がある。例えば、死角318によって包含されるエリアは、第1の測定範囲(例えば、0°であるルート502の軸に対して60°〜40°)の20個の延伸されたビーム314と第2の測定範囲(例えば、0°であるルート502の軸に対して180°〜160°)の20個の仮想的な測定値312との間の共通部分316を含むようにしてよい。少なくとも1つの非限定的な例示的実施形態によれば、死角318のサイズは、コンピュータ可読地図上で死角318によって占有される最大の空間の閾値によって制限される可能性があり、又は死角318内の共通部分316の閾値の数(例えば、100個の共通部分)に基づいて画定される可能性がある。
仮想的な測定値312が、コントローラ118がコンピュータ可読地図上で仮想ロボット310と近くの物体302との間の距離を決定することに基づいて決定される可能性があり、仮想的な測定値312が、コンピュータ可読地図に基づき、(例えば、センサ308からのビーム304のTOFをシミュレーションする)シミュレーションされた測定値に限定されない測定された距離を表す可能性があることは当業者に理解される。同様に、延伸されたビーム314は、死角318を決定するためにコンピュータ可読地図上に描かれる若しくは加えられる線、又は光線(ray)を示す可能性があり、ビーム304及び延伸されたビーム314は、示された構成のTOFセンサ308からの測定値に限定されるように意図されていない。例えば、ロボット102は、原点、又はロボット102の(x,y,z)位置がそこを基準に画定される点を含む可能性があり、ビーム304及びそれらの延伸された部分314は、ロボットの原点から描かれ、360°の範囲に延伸する可能性がある。同様に、各仮想ロボット102は、原点を含む可能性があり、仮想的な測定値312は、仮想ロボットの原点から360°の範囲に延伸する線分又は光線である可能性がある。つまり、本明細書において使用されるとき、任意の仮想的な測定値312、ビーム304、又は延伸された測定値314は、コンピュータ可読地図上に加えられた光線又は線分を使用してコントローラ118によって実施される可能性があり、示された例において構成されたTOF LiDARセンサ又はそこからのシミュレーションされた測定値の使用に限定されるように意図されていない。これは、下でさらに図7に示される。
少なくとも1つの非限定的な例示的実施形態によれば、コントローラ118は、死角318の場所を決定するためにルート306に沿った予め決められた場所から複数の光線を生じさせる可能性があり、示される仮想ロボット310は、予め決められた距離dだけ隔てられたルート306に沿った点として実施される可能性があり、仮想的な測定値312及び延伸された測定値314は、コントローラ118が複数の光線を生じさせることによって実施される可能性がある。同様に、ロボット102がセンサ308を含まない場合、コントローラ118は、測定値304及び延伸された測定値314と同様に、コンピュータ可読地図上でロボット102上の点から物体302の向こう側に延伸する複数の光線又は線分を生じさせる可能性がある。光線は、(例えば、シミュレーションされたLiDAR測定値と同様に)離散化された角度の、ルートに沿った予め決められた場所からの線分及びロボット102上の点を含む可能性があり、実質的に同様の幾何学的な関係を使用して物体302の向こう側の光線の間の共通部分に基づいてコンピュータ可読地図上の死角318の場所を決定するために測定値304、312、及び314の代わりに使用される可能性がある。言い換えると、死角318を画定するための共通部分316を決定するために延伸された測定値314を生成するために測定値304を延ばすこと及び仮想的な測定値312を生成する仮想ロボットを使用することは、示されたようにセンサ308を含むロボット102又は仮想ロボット310を生成することができるロボット102への限定であるように意図されておらず、当業者は、複数の実質的に同様の方法が、コンピュータ可読地図上で、示された測定値304、312、及び314の幾何学的な関係と同様に光線を使用して死角318を決定するために実施される可能性があることを認めるであろう。
少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、死角318を決定するために単一の仮想ロボット310を生じさせる可能性がある。単一の仮想ロボット310は、ロボット102の場所に描かれ、単一の仮想ロボット310が少なくとも180°の測定範囲に物体302を検出しなくなる(例えば、示されたように仮想ロボットの位置に移動するまで)までロボット102の前方にルート306に沿って(例えば、ロボット102よりも速く)動かされる可能性がある。それから、死角318が、単一の仮想ロボット310からの仮想的な測定値312とロボット102からの延伸された測定値314との間の共通部分316に基づいて決定される可能性がある。
次に、図3Cを参照すると、ルート306に沿って移動するロボット102から明らかなように、例示的な実施形態によれば、上で図3A〜Bに示されたロボット102が、ルート306に沿ってナビゲートし続ける。ロボット102がルート306に沿ってナビゲートするとき、物体302のさらなる位置測定データが、センサ308から収集される可能性がある。したがって、物体302のさらなる位置測定データが収集されるとき、物体302の追加的な位置測定データが収集されるので、共通部分316の場所が変化する可能性があるとき、死角318の場所が更新される。ロボット102がルート306をナビゲートするとき、複数の仮想ロボット310は、ロボット102及びその他の仮想ロボット310から予め決められた距離dを保つ可能性がある。死角318の決定は、上で図3Bに示されたように、延伸されたビーム314と、現在の位置測定データに基づいて少なくとも180°の測定範囲に物体302を検出しない仮想ロボットからの仮想スキャン312との間の共通部分316に基づいてやはり画定される可能性がある。
示されるように、物体302の上端322のエッジビーム304−E(太線)が、物体302の向こう側に延伸する可能性があり、それによって、ロボット102が物体302の上端322の場所を特定することを可能にする。エッジビーム304−Eは、物体302の表面を検出しないセンサ308から離散的な角度で発せられたビーム304を含む可能性があり、近くのビーム304は、物体302の表面を検出する。エッジビーム304−Eは、エッジビーム304−Eの角度で角度の関数として距離の測定値の変化の(例えば、閾値を超える)著しい増加を検出することによって決定される可能性がある。ロボット102のコントローラ118は、ロボット102が物体302の表面の向こう側に延伸するエッジビーム304−Eを検出すると(つまり、ロボット102が物体302の上端322の場所を特定すると)、コンピュータ可読地図上に死角318の現在の場所を描く可能性がある。したがって、角の点320が、ルート306に最も近い又は近接した物体302の場所を特定された角に基づいて画定される可能性があり、場所を特定された角は、示されるように、死角318の最も近い又は近接した角と実質的に同様の場所を含む可能性があり、角の点320によって画定される可能性がある。角の点320は、物体302の角及び死角318の角が実質的に同様の場所で場所を特定される可能性があるので、それら2つの角を画定する可能性がある。角の点320は、下で図6A〜Bにさらに示されるように、物体302を検出するエッジビーム304−Eの直ぐ隣のビーム304によって検出される。
少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、複数の異なる方法及び/又はセンサユニット114(例えば、撮像カメラ)を使用して物体の上端322を検出する可能性がある。当業者は、ロボット102が上端322を直接観測しない可能性があり、単に、測定値304(例えば、304−E)の大きさの突然の増加に基づいて測定値304が検出する物体302の表面の終わりを検出し、角の点(corner point)320を割り振ることによって終わりを上端322として画定する可能性があることを理解するであろう。
次に、図3Dが、例示的な実施形態による、ルート306に沿ってナビゲートし、ルート306に沿って点326から予め決められた距離Lに到達すると安全対策のアクション324を実施する、上で図3A〜Cに示されたロボット102を示す。ロボット102は、点326から距離Lに到達すると、死角318の近くの安全なナビゲーションを保証するために感嘆符によって示される安全対策のアクション324を実施する可能性がある。安全対策のアクション324は、ロボット102が減速すること、音を発すること、視覚的インジケーション(例えば、光)を表示すること、ロボットの軌道を変えること、及び/又は、例えば、死角318内を歩く人に(人の視点から見て)物体302の後ろからロボット102が近付いていることを警告するための任意のその他の同様の安全対策を含む可能性がある。点326の場所は、死角318又は角の点320からルート306に沿って最も近い又は近接した点を決定するためのユークリッド距離の計算に基づく可能性がある。
有利なことに、本開示は、例えば、店の中の通路内で動作するロボット102などの、死角318を生む可能性がある物体302を含む環境内のロボット102を動作させる安全性を高める可能性がある。投射されたビーム314及び仮想ロボット310の使用は、ロボット102が物体302のいかなる以前の位置測定データもなしにリアルタイムで死角318を決定する可能性があるという点で従来と異なる結果をもたらす。当業者は、上で図3A〜Dに示された物体302の形状が任意の形状を含む可能性があり、示された長方形の形状が死角318によって包含される最大のエリアを与え、限定的であるように意図されていないことを理解するであろう。加えて、当業者は、仮想ロボット310からの測定値312が180°未満の測定範囲で取得される場合、角の点320が実質的に同様の場所に画定される可能性があることを理解するであろう。しかし、仮想ロボット312が少なくとも180°の測定範囲を測定しない場合、コンピュータ可読地図上で死角318によって包含される領域は、ロボット102がセンサ308又はその他のセンサユニット114を使用して検出することができない可能性があるすべての領域を正確に反映しない可能性がある。一部の実施形態において、死角318のサイズの決定は、ロボット102の安全な動作のために必要でない可能性があり、ロボット102が点326に到達する前に安全対策のアクション324を実施する可能性がある場合、点326の場所のみが、死角318の近くでロボット102を安全に動作させるために必要である可能性がある。
図4は、例示的な実施形態による、ロボット102のコントローラ118が死角318を決定し、安全対策のアクション324を実施するための方法400を示す。ロボット102は、環境内の物体302の位置測定データを含まない可能性があり、ロボット102は、ロボット102が(例えば、探査動作モードで)そのロボットの環境内の物体の位置測定データを収集するときに死角318の場所を決定し、地図に描くために方法400を実行する可能性がある。コントローラ118によって実行される方法400の任意のステップが、コントローラ118がメモリ120のコンピュータ可読命令を実行することによって実施されることは理解される。
少なくとも1つの非限定的な例示的実施形態によれば、ロボット102は、そのロボットの環境内の物体302の位置測定データを含むメモリ120に記憶されたそのロボットの環境のコンピュータ可読地図を含む可能性があり、ロボット102は、方法400のステップの一部又はすべてを仮想的に(例えば、コンピュータ可読地図上でシミュレーションされる)又はロボット102がルートをナビゲートするときにリアルタイムで実施する可能性がある。
当業者は、仮想ロボット310によって実施される任意の機能がメモリ120に記憶されたロボット102によって利用され得るデータに基づいてロボット102のコントローラ118が機能をシミュレーションすることを含む可能性があることを理解するであろう。例えば、仮想ロボット310が仮想的な測定値312を実施することは、コントローラ118がメモリ120に記憶されたコンピュータ可読地図上で物体の現在の位置測定データに基づいて予想される測定値をシミュレーションすることを含む可能性がある。
図4に示されるように、ブロック402は、コントローラ118が上で図3Aに示されたようにセンサユニット114のセンサ308を使用してロボット102の近くの物体302を検出することを示す。ロボット102は、センサユニット114からのデータに基づいてそのロボットの環境のコンピュータ可読地図上で物体302の場所を特定する可能性がある。一部の実施形態において、ロボット102は、物体を検出し、コンピュータ可読地図を生成するために2又は3以上のセンサユニット114を利用する可能性がある。
ブロック404は、コントローラ118が、環境のコンピュータ可読地図上で、ルートに沿ってロボット102から予め決められた距離dの整数倍に少なくとも1つの仮想ロボット310を描くことを示す。少なくとも1つの仮想ロボット310は、ロボット102によって収集され、メモリ120に記憶された現在の位置測定データに基づいて物体302の仮想スキャン312を収集する可能性があり、仮想スキャン312は、現在の位置測定データに基づくセンサ308からのシミュレーションされた測定値を含む。
ブロック406は、仮想スキャン312を使用して1又は2以上の仮想ロボット310が物体302の表面を検出しないかどうかをコントローラ118が判定することを示す。仮想スキャン312は、コントローラ118によるシミュレーションされた測定値を含む。1又は2以上の仮想ロボット310が物体302の表面を検出しない場合、コントローラ118は、仮想ロボットに関連して図3Bに示されたように、1又は2以上の仮想ロボット310が物体302の向こう側でシミュレーションされた測定値312を収集しており、それによって、コンピュータ可読地図上の物体302の現在の位置測定データに基づいて死角318を生じる可能性がある物体302の上端322の場所をコントローラ118が仮定することを可能にしていると仮定する可能性がある。
コントローラ118が1又は2以上の仮想ロボット310が物体302の表面を検出しないと判定すると、コントローラ118は、ブロック410に進む。
コントローラ118がどの仮想ロボット310も物体302の表面を検出しないと判定すると、コントローラ118は、一番前の仮想ロボット310の前方の予め決められた距離dにさらなる仮想ロボットを生じさせるためにブロック408に進む可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、コントローラ118は、ステップ404において、複数の仮想ロボット310を生じさせる代わりにルートに沿ったロボット102の場所に単一の仮想ロボット310を生じさせる可能性がある。コントローラ118は、物体302の表面の現在の位置測定データに基づいて単一の仮想ロボット310が少なくとも180°の測定範囲又はセンサ308の測定範囲(つまり、視野)に物体302の表面をもはや検出しなくなるまでルートに沿って単一の仮想ロボット310を動かす可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、ブロック406の判定は、少なくとも1つのそれぞれの仮想ロボット310からの少なくとも1つの仮想的な測定値312が物体302を検出しないかどうかをコントローラ118が判定することからなる可能性がある。この判定は、場合によっては、決定される死角318の形状がロボットのセンサの見通し線から外れた物体302の向こう側の領域を正確に表さないようにする可能性があるが、角の点320及びそれによって点326は、引き続き同じ場所に検出される可能性がある。
ブロック410は、コントローラ118が(例えば、アクチュエータユニット108を使用して)ルートに沿ってロボット102をナビゲートする又は移動させることを示す。ロボット102がルートに沿ってナビゲートするとき、図3Bに示されるように仮想ロボット310がロボット102及びその他の仮想ロボット310から予め決められた距離dを維持する可能性があるので、仮想ロボット310も、ロボット102と同じペースでルートに沿ってナビゲートする。コントローラ118は、ロボット102がルートに沿ってナビゲートするときにロボット102によって受信される新しい位置測定データに基づいて死角318が継続的に更新される可能性があるように、ロボット102がルートに沿ってナビゲートするとき、下で検討されるブロック14に示される機能をリアルタイムで実施する可能性がある。
ブロック412は、コントローラ118がセンサ308からの延伸されたビーム314と少なくとも1つの仮想ロボット310からの仮想的な測定値312との間の交差の点に基づいて共通部分316を決定することを示す。共通部分316は、死角318を示す。延伸されたビーム314は、センサ308から発せられた測定ビーム304の延伸を含む可能性がある。一部の実施形態において、延伸されたビーム314は、物体302の検出された表面の向こう側に延伸する、ロボット102からロボット102の周りに離散的な角度で延伸するコンピュータ可読地図上に加えられた幾何学的な光線又は線分を示す可能性がある。つまり、延伸されたビーム314は、(例えば、下で図7に示されるように)コンピュータ可読地図上に加えられた幾何学形状を使用して具現化される可能性があり、ロボット102の物理的特性又は機能の延伸(例えば、センサ308からの測定値304の延伸)に限定されるように意図されていない。仮想的な測定値312は、それぞれの仮想ロボット310からのシミュレーションされた測定値を含む可能性があり、シミュレーションされた測定値は、それぞれの仮想ロボット310の将来の位置においてセンサ308及び/又はその他のセンサユニット114を使用して物体302の現在の位置測定データに基づいてロボット102が得ると予想する測定値に対応する。共通部分316は、上で図3B〜Cに示されたように、延伸されたビーム314が仮想的な測定値312と交わる場所に基づいて決定される可能性がある。
これらの共通部分316は、コンピュータ可読地図上で死角318を示す可能性があり、コントローラ118は、コンピュータ可読地図上で死角318の場所を特定する可能性がある。物体302の端322が検出されるまで、死角318は、(例えば、上で図3に示されたように)物体302のさらなる表面又はその一部が感知され、場所を特定されるにつれてロボット102の動きとともに移動する可能性があることが理解される。一部の実施形態において、物体302の端322の検出は、次にブロック414に示されるように、コントローラ118に、例えば、物体302の近くを後でナビゲートするためにコンピュータ可読地図上で死角318の位置を決めさせる可能性がある。死角318をコンピュータ可読上に描くことは、死角318の場所を変える環境及び/又は物体302に対する大きな変更が検出されない限り、コントローラ118が死角318を一度地図上に描くことのみを要求される可能性があるので、コントローラ118の計算能力を高める可能性がある。
ブロック414は、物体302の表面の端322が検出されるかどうかをコントローラ118が判定することを示す。コントローラは、エッジビーム304−Eが検出されることに基づいて判定を行う可能性がある。エッジビーム304−Eは、物体302の上端322を示す、図3Cに示されたようにロボット102のセンサ308から物体302の表面の向こう側に延伸する測定ビーム304を含む可能性がある。エッジビーム304−Eは、下で図6Bに示されるように、センサ308によって収集された距離の測定値の大きさの突然の増加(例えば、角度の関数として測定される距離の変化が閾値を超えることを検出すること)に基づいて決定される可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、コントローラ118は、例えば、物体302の端322をキャプチャし、場所を特定する撮像カメラからのデータなど、その他のセンサユニット114を使用して物体302の端322又は角を決定する可能性がある。表面の端322は、(例えば、センサの見通し線又は検出範囲が原因で)ロボット102に見えない物体302の表面の一部を含む可能性がある。当業者は、(例えば、1又は2以上の撮像カメラを使用して)端322を決定するための複数の異なる方法が存在する可能性があり、エッジビーム304−Eを使用して端322を決定することが限定的であるように意図されていないことを理解するであろう。さらに、ブロック418において、コントローラ118は、角の点320の場所を決定する可能性があり、角の点320は、上で図3C〜Dに示され、下で図6A〜Bに示されるように、死角318のルートに最も近い角及び物体302の表面の角を画定する。
コントローラ118が、物体302の表面の端322を検出されたと判定すると、コントローラ118は、ブロック416に進む。一部の実施形態においては、(図3C〜Dに示されるように、物体302の表面全体が場所を特定されることによって)ロボット102がルートに沿って移動するにつれて動かない角の点320の検出が、コントローラ118をブロック416に進ませる可能性がある。
しかし、ブロック414において、コントローラ118が物体302の表面の端322を判定すると、又は一部の実施形態においては、角の点320が固定の場所で検出されない場合、コントローラは、ブロック410のステップの実行に戻る。
ブロック416は、コントローラ118がコンピュータ可読地図上に死角318を描くことを示す。地図に描かれた死角318は、ブロック412において検出された共通部分316によって占められる領域を含む可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、死角318が、コンピュータ可読地図上の単一の点にマッピングされる可能性があり、点は、エッジビーム304−Eと仮想的な測定値312との間のルートに最も近い共通部分316(例えば、上の図3Cに示された角の点320)を含む。
少なくとも1つの非限定的な例示的実施形態によれば、死角318を生じる物体302の角を検出する検出された角の点320が、死角318の場所を示すためにコンピュータ可読地図上に描かれる可能性がある。同様に、一部の非限定的な例示的実施形態において、死角318及び/又は角の点320に最も近いルートに沿った点326が、死角318の場所を示すためにコンピュータ可読地図上に描かれる可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、コントローラ118は、ロボット102がルートに沿って移動するにつれて死角318によって包含される領域を継続的に更新する可能性があり、コントローラ118は、死角318をコンピュータ可読地図に固定の領域として描かない可能性がある。言い換えると、コンピュータ可読地図上の死角318に対応する領域は、ロボット102がルート306又は所望の軌道に沿って移動し、道に沿ってセンサデータを収集するときに継続的に更新される可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、ブロック416は、コントローラ118がコントローラ118に課せられる計算負荷を減らすために仮想ロボット310を削除することをさらに含む可能性がある。
ブロック418は、コントローラ118が点326から距離Lにおいて安全対策のアクション324を実施することを示す。距離Lは、予め決められた距離(例えば、2メートル)又はロボット102の速度、運動量、及び/又は停止距離に基づく距離である可能性がある。安全対策のアクション324は、コントローラ118がロボット102を減速させるか若しくは停止させること(例えば、1若しくは2以上のアクチュエータユニット108への電力を減らすこと)、音を発するデバイス(例えば、スピーカ)を作動させること、視覚的なインジケータ(例えば、ライト)を作動させること、及び/又はロボット102が物体302の死角318又は端322に近付いていることを潜在的に死角318内にいる近くの人に警告するための任意の同様のアクションを含む可能性がある。
有利なことに、方法400は、ロボット102のコントローラ118がロボット102の前方の死角318をリアルタイムで検出することを可能にする可能性がある。ルートに沿ってロボット102の前方の死角318の検出は、コントローラ118が安全対策のアクションを実施するための十分な時間を与えることを可能にする可能性がある。さらに、方法400は、環境内の物体のいかなる以前の位置測定データもなしにコントローラ118が死角318を検出し、場所を特定し、その環境のコンピュータ可読地図上に描くことを可能にする可能性がある。
図5Aは、例示的な実施形態による、ロボット102、複数の物体302、及びロボット102がたどるルート502を含む環境のコンピュータ可読地図500を示す。ロボット102は、物体302の場所及びルート502を含む地図500を提供される可能性があり、ロボット102は、ルート502を安全にナビゲートするために死角318の場所を決定することを要求される可能性がある。ロボット102がルート502に沿ってナビゲートし、測定ビーム304によって示されるようにセンサ308を使用して物体302を検出すると、ロボット102は、死角318の場所を決定するためにルート502に沿ってロボット102自体の前方に少なくとも1つの仮想ロボット310を描く可能性がある。示された単一の仮想ロボット310は、複数の仮想ロボット310のうちの1つである可能性があり、その他の仮想ロボット310は、明瞭にするために省略された。上で図4に示された方法400に従って、ロボット102のコントローラ118は、(破線によって示される)延伸されたビーム314と仮想ロボット310からの(点線によって示される)仮想的な測定値312と交差するエッジビーム302−E(太線)との間の共通部分316(図示せず)に基づいて死角318の場所を決定する可能性があり、仮想的な測定値312は、物体302の現在の位置測定データに基づくセンサ308からのシミュレーションされた測定値を含む。さらに、角の点320が、示されるように、物体302の角及びルート502に最も近い死角318の角として画定される可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、ロボット102のコントローラ118は、コンピュータ可読地図500上の死角318の場所を仮想的に決定する可能性があり、コントローラ118は、ロボット102を仮想ロボット310によって置き換えることによって実質的に同様の方法400を使用して死角318の場所を決定するために図5Aに示されたロボットの場所でロボット102をシミュレーションする可能性がある。有利なことに、死角318の場所を仮想的に決定することは、ロボット102が環境中をナビゲートすることを必要とせずにコントローラ118が死角318の場所を事前に計算することを可能にする可能性がある(例えば、ロボット102は、死角318の場所から遠く離れた遠隔の場所にある可能性がある)。
図5Bは、例示的な実施形態による、ルート502に沿ってナビゲートする間にロボット102が考慮する複数の地図上に描かれた死角318を含むコンピュータ可読地図500を示す。複数の地図上に描かれた死角318は、ロボット102によってルート502の以前のナビゲーション中に地図上に描かれたか、又は地図500上のルート502に沿った場所で方法400を実施するロボット102を(例えば、仮想ロボット310を使用して)シミュレーションすることによって事前に計算された可能性がある。一部の実施形態において、死角318は、上の方法400を使用してリアルタイムで検出される。ロボット102がルート502に沿ってナビゲートするとき、ロボット102は、2つの点320及び326の間の点線によって示されるように、近くの死角318及び/又は対応する角の点320から最も近い、ルート502に沿った点であると決定された点326から距離Lに近付く可能性がある。ロボット102が点326から距離Lをナビゲートすると、ロボット102は、ロボット102が死角318に近付いていることを近くの人に警告するため及び/又は死角318の向こう側に安全にナビゲートするために、感嘆符によって示された安全対策のアクション324を実施する可能性がある。
加えて、図5Bは、ルート502に沿った2つの位置のロボット102又は2つの位置504の2つのロボット102をさらに示す。位置において、ロボット102は、点から距離Lにある可能性がある。距離Lを表す矢印は、限定的であるように意図されていない直覚的に理解可能な例示である。当業者は、距離Lがロボットの正面若しくは近位端、ロボットの中心、又はロボットの背面若しくは遠位端から測られた距離を表す可能性があることを理解するであろう。位置において、2つの周囲の物体302及び/又は死角318の角の点320は、ルート502に沿った同じ場所にあり、それによって、ロボット102に単一の点から距離Lにおいて安全対策のアクション324を実施させる。後で、ロボット102は、第2の点から予め決められた距離Lの第2の場所に到着し、別の安全対策のアクション324を実施する可能性があり、第2の点は、物体302によってロボット102の右側(つまり、示されるように点の左)に引き起こされる別の又は異なる死角318に対応する。しかし、後で、ロボット102がある位置又は第3の場所にあるとき、2つの周囲の物体302及び/又は別の死角318の角の点320は、同じ場所にない可能性があり、又はロボット102によって移動されるルートに沿って互いに離間される可能性があり、それによって、2つの点がそれら点の対応する角の点320又は死角318に最も近い又は近接したルート502に沿った点であると判定されるようにする。追加的な安全対策として、ロボット102は、点から距離Lにおいて安全対策のアクション324を実施し、ロボット102が点の向こう側に(つまり、両方の破線の向こう側に)ナビゲートするまで安全対策のアクション324を実施し続けるようにさらに構成される可能性があり、2つの点の間の距離は、L以下である。次に、ロボット102は、ロボット102が第4の点を通り過ぎるまで安全対策のアクション324の実施を続ける。
少なくとも1つの非限定的な例示的実施形態によれば、安全対策のアクション324は、ロボット102が予め決められた継続時間の間、点326において止まることからなる可能性がある。少なくとも1つの非限定的な例示的実施形態によれば、安全対策のアクション324は、ロボット102のうちの少なくとも1つが音を発すること、視覚的インジケーション(例えば、光)を発すること、又はロボット102の速度を変えることを含む可能性がある。
図6Aは、例示的な実施形態による、物体302の角の点320を検出するための方法を示す。上で図3Aに既に示されたロボット102は、ルート306をナビゲートし、1又は2以上のビーム304を使用して距離の測定値を収集する可能性があり、1又は2以上のビーム304は、センサ308の視野中に離散的な角度で発せられる。エッジビーム304−Eは、物体302の表面の場所を特定しないビーム304を含む可能性があり、(例えば、エッジビーム304−Eの左又は右の)近くのビーム304が、物体302の表面の場所を特定する可能性がある。したがって、物体302の表面の場所を特定し、エッジビーム304−Eの近くにあるこのビーム304は、物体302の角の場所を特定する可能性があり、角のビーム304−Cと表される。したがって、角の点320は、角のビーム304−Cが物体302の表面の場所を特定する点を含むと判定される可能性がある。エッジビーム304−Eは、近くの角のビーム304−Cからの比較的かなり小さな距離の測定値の直ぐ隣のエッジビーム304−Eからのかなり大きな距離の測定値をロボット102のコントローラ118が受信することに基づいて検出される可能性がある。つまり、ビーム304−C、304−Eが発せられる角度θに関するビーム304によって測定される距離の導関数が、閾値を超える。ロボット102がルート306をナビゲートするとき、図3A〜Cに示されるように、物体302の表面のより多くが検出される可能性があり、それによって、物体302の角が検出されるまで角の点320を(この例においては上方向に)移動させ、角の点320は、角の点320を検出するこの幾何学的な方法に従って移動を停止することが理解される。
少なくとも1つの非限定的な例示的実施形態によれば、エッジビーム304−Eは、示されたように、コントローラ118がエッジビーム304−Eからの戻りの測定値(つまり、エッジビーム304−Eの反射)を受信せず、近くの測定ビーム又は角のビーム304−Cからの戻りの測定値を受信することに基づいて決定される可能性がある。例えば、物体302の角が第1のビーム304−Cによって検出され、近くの第2のビーム304−Eがセンサ308のディテクタに戻らない場合、第2のビームが、エッジビーム304−Eを含むと判定される可能性がある。
図6Bは、例示的な実施形態によるエッジビーム304−E及び角の点320を検出するための方法をさらに示すために、図6Aに示されたセンサ308からの測定値を示す。グラフ600は、0°から90°までのセンサ308の視野の部分を示すが、センサ302は、異なる(例えば、より小さな又は大きな)視野を含む可能性がある。グラフ600は、離散的な距離の測定値をそれぞれが生じさせるセンサ308から発せられた離散的なビーム304を示すために点線を使用して示される。部分602内に示されるように、測定された距離の緩やかな増加が、おおよそ三角関数の正弦の関係に従うことが観測される。この傾向は、ビーム304−C及び304−Eがセンサ308から発せられるそれぞれの角度に対応する角度θとθとの間で距離の急激な増加が測定されるまで観測される。角度θとθとの間の角度の間隔は、センサ308の角度分解能を含む可能性がある。この急激な増加は、閾値を超える角度θに関する測定された距離の導関数をさらに生じる可能性があり、それによって、エッジビーム304−Eが角度θで発せられることを示す。したがって、角度θの近くのビーム304−Cが、角のビーム304−Cを含むと判定される可能性があり、角のビーム304−Cが、物体302の角の点320の場所を特定する。
少なくとも1つの非限定的な例示的実施形態によれば、部分604は、そこからの距離を測定する物体が存在しないことが原因でグラフ600に存在しない可能性がある。例えば、物体302が環境内の唯一の物体である場合、部分604内の距離の測定値は、センサ308によって受信される戻りの測定値(つまり、反射されたビーム304)がないことが原因で存在しない可能性がある。エッジビーム304−Eは、この実施形態において、角度θ又は戻りの信号が受信されない第1の角度で発せられたビーム304を含む可能性があり、角のビーム304−Cは、距離の測定値をまだ受信する、エッジビーム304−Eの直ぐ隣のビーム304である可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、死角318が、グラフ600を使用して検出される可能性がある。例えば、角の点320は、ロボット102のコントローラ118が角度θの関数としてセンサ308によって測定された距離の大幅な増加を検出することに基づいて決定される可能性がある。物体の角は、上で図3Cに示されたようにロボット102の死角を生じる可能性がある。したがって、角の点320の検出は、死角318の検出に対応する可能性がある。死角を検出するために角の点320の検出のみを使用することは、死角の誤検出を起こしやすいが、限られた計算リソースを含むロボット102にとっては有益である可能性がある。さらに、ロボット102が慎重に動作することが望ましい場合(例えば、混み合った環境内で動作するロボット102)、死角の誤検出は、ロボット102に許容される可能性があり、死角318を検出するために使用される計算リソースのさらなる削減は、有益である可能性がある。
図7は、例示的な実施形態による、上に示された方法と同様の死角318の検出のための方法を示す。ロボット102のコントローラ118は、ロボット102の環境のコンピュータ可読地図を生成するために任意の又はすべてのセンサユニット114からの測定値を収集する可能性がある。物体706は、コンピュータ可読地図上で部分的に場所を特定された任意の物体又は物体の表面を含む可能性がある。死角318を検出するために、第1の円702が、ロボット102の周りに描かれる可能性があり、第1の円702は、物体702の向こう側のコンピュータ可読地図の領域のみを包含する。つまり、第1の円702は、物体706の向こう側に延伸する、ロボット102の360°の視野中の複数の延伸された測定値314を示す。第1の円702の残りの部分を包含する破線が示され、灰色に塗られた(つまり、ロボット102のセンサユニット114からの見通し線から外れた領域又は物体706の場所を特定された表面の向こう側の領域を表す)円702の部分のみが、死角318の検出のために考慮される。(例えば、ルート708の反対側に)別の物体706が存在する場合、第1の円702は、灰色に塗られた第2の領域を含む可能性があることが理解される。
次に、第2の円704が、ルート708に沿ってロボット102の前方の仮想ロボット310を包含するか又は中心とする可能性がある。第2の円704は、任意のサイズである可能性がある。一部の実施形態において、第2の円704の半径は、第1の円702との重なりが検出されるまで延伸されるか又は大きくされる。一部の実施形態において、第2の円704の半径は、仮想ロボット310とロボット102との間のルート708に沿った距離に等しい。同様に、第2の円704は、上で図3B〜Cに示されたように、360°の視野中の複数の仮想的な測定値312を示す可能性がある。死角318は、2つの円702、704の間の重なり合うエリアからなる可能性があり、角の点320は、ルート708に最も近い死角318の点を含む可能性がある。したがって、点326から予め決められた距離Lまでナビゲートするとロボット102が安全対策のアクションを実施する可能性があるように、死角318に最も近いルート708に沿った点を含む点326が決定される可能性がある。円702、704の使用(つまり、360°の視野中に複数の延伸された測定値314及び仮想的な測定値312を生じさせること)は、図3に示されたようにロボット102の前側に配置された距離測定センサ308を含まないロボット102にとって(例えば、ロボット102の側面のセンサを使用してコンピュータ可読地図を生じさせるロボット102にとって)有利である可能性がある。
当業者は、円の使用が例示を目的とするように意図されており、限定的であるように意図されていないことを理解するであろう。例えば、領域704は、仮想ロボット310から放射状に広がる正方形の領域によって表される可能性があり、角の点320及び点326は、円又は正方形の領域704を使用して示されるようにそれらの点の位置を変えない可能性がある。第2の例として、領域702は、物体706及び/又はその他の物体が原因でロボット102のいかなるセンサユニット114の見通し線からも外れている任意の又はすべての領域を包含する可能性があり、見通し線から外れたこの領域702は、当技術分野で知られている及び/又は本明細書において開示されるその他の方法(例えば、延伸された測定値314によって占められるコンピュータ可読地図の領域を決定すること)を使用して決定される可能性がある。
少なくとも1つの非限定的な例示的実施形態によれば、第1の円702及び第2の円704は、ロボット102の任意のセンサユニット114に見えている又はロボット102の任意のセンサユニット114の視野内にある領域のみを包含する可能性がある。第1の円702は、任意のセンサユニット114の視野内に入る見通し線から外れた(つまり、物体706の場所を特定された表面の向こう側の)領域のみをやはり含む可能性がある。
本開示の特定の態様が方法のステップの特定のシーケンスの観点で説明されているが、これらの説明が本開示のより幅広い方法を示すに過ぎず、特定の応用によって必要とされるように修正される可能性があることは、認識されるであろう。特定のステップは、特定の状況下では不必要又は任意とされる可能性がある。加えて、特定のステップ又は機能が、開示された実施形態に追加される可能性があり、又は2若しくは3以上のステップの実施の順序が、変更される可能性がある。すべてのそのような変更は、本明細書において開示され、請求された開示に包含されるものとみなされる。
上の詳細な説明がさまざまな例示的な実施形態に適用される本開示の新規性のある特徴を示し、説明し、指摘したが、示されたデバイス又はプロセスの形態及び詳細のさまざまな省略、置き換え、及び変更が本開示を逸脱することなく当業者によって成される可能性があることは、理解されるであろう。上述の説明は、本開示を実行する現在考えられる最良の形態のものである。この説明は、限定的であるようにまったく意図されておらず、むしろ、本開示の全体的な原理を示すと解釈されるべきである。本開示の範囲は、請求項を参照して決定されるべきである。
本開示が図面及び上述の説明に詳細に図示され、説明されたが、そのような図示及び説明は、説明的又は例示的であると考えられるべきであり、限定的であると考えられるべきでない。本開示は、開示された実施形態に限定されない。開示された実施形態及び/又は実装形態に対する変更は、図面、本開示、及び添付の請求項を検討することによって、請求された開示を実施する際に当業者によって理解され、生み出される可能性がある。
本開示の特定の特徴又は態様を説明するときの特定の用語の使用は、用語が関連付けられる本開示の特徴又は態様の任意の特定の特性を含むように限定されるように用語が本明細書において再定義されていることを示唆すると受け取られるべきでないことに留意されたい。本出願において使用される用語及び語句並びに特に添付の請求項におけるそれらの変化形は、そうでないことがはっきりと述べられない限り、限定とは反対に制限がない(open ended)とみなされるべきである。上記のことの例として、用語「〜を含む(including)」は、「限定なしに〜を含む(including, without limitation)」、「〜を含むが〜に限定されない(including but not limited to)」などを意味すると読み取られるべきであり、本明細書において使用される用語「含む(comprising)」は、「含む(including)」、「含む(containing)」、又は「〜ことを特徴とする」と同義であり、包含的である又は制限がなく、追加的な記載されていない要素又は方法のステップを除外せず、用語「〜を有する(having)」は、「少なくとも〜を有する(having at least)」と解釈されるべきであり、用語「〜などの」は、「限定なしに〜などの」と解釈されるべきであり、用語「〜を含む(includes)」は、「〜を含むが〜に限定されない(includes but is not limited to)」と解釈されるべきであり、用語「例」は、検討されているものの例示的な事例を提供するために使用され、それらの網羅的又は限定的なリストを提供するために使用されず、「例、ただし限定なし(example, but without limitation)」と解釈されるべきであり、「知られている」、「通常の(normal)」、「標準的な(standard)」、及び同様の意味の用語などの形容詞は、説明されたものを所与の時間の期間に又は所与の時間に利用可能なものに限定するとみなされるべきでなく、それよりも、現在又は将来の任意の時点で利用可能であるか又は知られている可能性がある知られている、通常の、又は標準的なテクノロジーを包含すると読み取られるべきであり、「好ましくは(preferably)」、「好ましい(preferred)」、「所望の(desired)」、又は「望ましい(desirable)」のような用語及び同様の意味の語の使用は、特定の特徴が本開示の構造又は機能にとって決定的である、必須である、又は重要でさえあることを示唆すると理解されるべきでなく、それよりも、特定の実施形態において利用される可能性があり又は利用されない可能性がある代替的な又は追加的な特徴を強調するように意図されているだけであると理解されるべきである。同様に、接続詞「及び(and)」によって連結された一群のものは、それらのもののそれぞれの及びあらゆるものがグループ内に存在することを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び/又は(and/or)」と読み取られるべきである。同様に、接続詞「又は(or)」によって連結された一群のものは、そのグループ内で相互排他的であることを必要とすると読み取られるべきでなく、むしろ、そうでないことがはっきりと述べられない限り「及び/又は(and/or)」と読み取られるべきである。用語「約(about)」又は「およその(approximate)」などは、同義であり、用語によって修飾された値がそれに関連する暗黙的な範囲を有することを示すために使用され、範囲は、±20%、±15%、±10%、±5%、又は±1%である可能性がある。用語「実質的に(substantially)」は、結果(例えば、測定値)が目標値に近いことを示すために使用され、近いとは、例えば、結果が値の80%以内、値の90%以内、値の95%以内、又は値の99%以内であることを意味する可能性がある。また、本明細書において使用されるとき、「画定された(defined)」又は「決定された(determined)」は、「予め画定された(predefined)」又は「予め決められた(predetermined)」及び/又は別の方法で決定された値、条件、閾値、測定値などを含む可能性がある。

Claims (18)

  1. 記憶された複数のコンピュータ可読命令を含む非一時的コンピュータ可読ストレージ媒体であって、前記複数のコンピュータ可読命令が、実行されるときに少なくとも1つのコントローラに、
    ロボットが移動するルートに沿って少なくとも1つの仮想的な表現を描かせ、
    コンピュータ可読地図上の物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を前記少なくとも1つの仮想的な表現を介して収集させ、
    前記ロボットから拡張する少なくとも1つの拡張された測定値と前記物体を検出しない前記少なくとも1つの仮想的な表現の少なくとも1つの仮想的な測定値との間の共通部分に基づいて死角を前記少なくとも1つの仮想的な表現を介して決定させる、前記非一時的コンピュータ可読ストレージ媒体。
  2. 前記複数の仮想的な測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも1つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも1つを含む、請求項1に記載の非一時的コンピュータ可読ストレージ媒体。
  3. 前記少なくとも1つのコントローラが、
    前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするために前記コンピュータ可読命令を実行するようにさらに構成され、前記物体の端が、角の点であり、前記ロボットが移動する前記ルートに沿って前記死角に近接している、請求項1に記載の非一時的コンピュータ可読ストレージ媒体。
  4. 前記少なくとも1つのコントローラが、
    前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するために前記コンピュータ可読命令を実行するようにさらに構成され、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも1つを含む、請求項3に記載の非一時的コンピュータ可読ストレージ媒体。
  5. 前記少なくとも1つのコントローラが、
    エッジビームを検出することによって前記角の点を検出するために前記コンピュータ可読命令を実行するようにさらに構成され、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角の点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、請求項3に記載の非一時的コンピュータ可読ストレージ媒体。
  6. 前記拡張された測定値が、第1の領域によって表され、前記第1の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第1の領域が、前記ロボットを中心とし、
    前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも1つの仮想的な表現の各々から放射状に広がる第2の領域によって表され、
    前記死角が、前記第1の領域と前記第2の領域との間の重なりの領域を含む、請求項1に記載の非一時的コンピュータ可読ストレージ媒体。
  7. 死角を検出するためのシステムであって、
    記憶された複数のコンピュータ可読命令を含むメモリと、
    少なくとも1つのコントローラであって、
    ロボットに接続されたセンサによって物体を検出すると、前記ロボットが移動するルートに沿って少なくとも1つの仮想的な表現を描き、
    コンピュータ可読地図上の前記物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を収集し、
    前記ロボットに接続された前記センサからの少なくとも1つの拡張された測定値と前記物体を検出しない前記少なくとも1つの仮想的な表現の少なくとも1つの仮想的な測定値との間の共通部分に基づいて前記死角を決定するために前記コンピュータ可読命令を実行するように構成された、前記少なくとも1つのコントローラとを含む、システム。
  8. 前記少なくとも1つの拡張された測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも1つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも1つを含む、請求項7に記載のロボットシステム。
  9. 前記少なくとも1つのコントローラが、
    前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記物体の前記端が、角の点によって画定され、前記ロボットが移動する前記ルートに沿って前記死角に近接している、請求項7に記載のロボットシステム。
  10. 前記少なくとも1つのコントローラが、
    前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも1つを含む請求項9に記載のロボットシステム。
  11. 前記少なくとも1つのコントローラが、
    エッジビームを検出することによって前記角点を検出するために前記複数のコンピュータ可読命令を実行するようにさらに構成され、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、請求項10に記載のロボットシステム。
  12. 前記拡張された測定値が、第1の領域によって表され、前記第1の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第1の領域が、前記ロボットを中心とし、
    前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも1つの仮想的な表現の各々から放射状に広がる第2の領域によって表され、
    前記死角が、前記第1の領域と前記第2の領域との間の重なりの領域を含む、請求項9に記載のロボットシステム。
  13. 死角を検出するための方法であって、
    ルートに沿って移動するロボットに接続された少なくとも1つのプロセッサによって、前記ロボットに接続されたセンサによって物体を検出すると前記ルートに沿って少なくとも1つの仮想的な表現を描くステップであって、前記少なくとも1つの仮想的な表現が、コンピュータ可読地図上の前記物体の現在の位置特定データに基づいて前記物体の複数の仮想的な測定値を収集するように構成される、ステップと、
    前記少なくとも1つのプロセッサによって、前記センサからの少なくとも1つの拡張された測定値と前記物体を検出しない前記少なくとも1つの仮想的な表現の少なくとも1つの仮想的な測定値との間の共通部分に基づいて前記死角を決定するステップとを含む、前記方法。
  14. 前記拡張された測定値が、前記物体の向こう側に拡張された測定値の仮想的な拡張を含み、前記複数の仮想的な測定値のうちの少なくとも1つの仮想的な測定値が、前記共通部分を決定するために使用され、前記共通部分が、前記現在の位置特定データに基づいて前記物体を検出しない前記複数の仮想的な測定値のうちの少なくとも1つを含む、請求項13に記載の方法。
  15. 前記物体の端を検出すると前記コンピュータ可読地図上に前記死角をマッピングするステップであって、前記物体の前記端が、角の点によって画定され、前記ロボットが移動する前記ルートに沿って前記死角に近接している、ステップをさらに含む、請求項13に記載の方法。
  16. 前記角の点に近接した前記ルートに沿った点から所定の距離をナビゲートすると安全対策のアクションを実施するステップであって、前記安全対策のアクションが、前記ロボットの視覚的インジケーション、可聴音、軌道の変更、又は速度の変更のうちの少なくとも1つを含む、ステップをさらに含む、請求項15に記載の方法。
  17. エッジビームを検出することによって前記角の点を検出するステップであって、前記エッジビームが、角度の関数としての距離の測定値の変化が閾値を超えることに基づいて検出され、前記角の点が、前記エッジビームの近くで発せられたビームによって位置を特定された前記物体のものである、ステップをさらに含む、請求項16に記載の方法。
  18. 前記拡張された測定値が、第1の領域によって表され、前記第1の領域が、前記物体が原因で前記ロボットに接続されたいかなるセンサの見通し線からも外れた前記コンピュータ可読地図の部分を含み、前記第1の領域が、前記ロボットを中心とし、
    前記仮想的な測定値が、前記コンピュータ可読地図上で前記少なくとも1つの仮想的な表現の各々から放射状に広がる第2の領域によって表され、
    前記死角が、前記第1の領域と前記第2の領域との間の重なりの領域を含む、請求項13に記載の方法。
JP2021514048A 2018-09-12 2019-09-12 ロボットのための死角を検出するためのシステム及び方法 Pending JP2022500763A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862730174P 2018-09-12 2018-09-12
US62/730,174 2018-09-12
PCT/US2019/050774 WO2020056108A1 (en) 2018-09-12 2019-09-12 Systems and methods for detecting blind spots for robots

Publications (1)

Publication Number Publication Date
JP2022500763A true JP2022500763A (ja) 2022-01-04

Family

ID=69777836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021514048A Pending JP2022500763A (ja) 2018-09-12 2019-09-12 ロボットのための死角を検出するためのシステム及び方法

Country Status (4)

Country Link
US (1) US11886198B2 (ja)
EP (1) EP3850457A4 (ja)
JP (1) JP2022500763A (ja)
WO (1) WO2020056108A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652874B (zh) * 2020-06-04 2023-10-20 崧智智能科技(深圳)有限公司 止通规测量方法、装置、终端和计算机可读存储介质
KR20220054104A (ko) * 2020-10-23 2022-05-02 삼성전자주식회사 전자 장치 및 그 제어 방법
CN117690278B (zh) * 2024-02-02 2024-04-26 长沙弘汇电子科技有限公司 一种基于图像识别的地质灾害预警系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5062364B2 (ja) * 2009-11-27 2012-10-31 トヨタ自動車株式会社 自律移動体及びその制御方法
US9840003B2 (en) * 2015-06-24 2017-12-12 Brain Corporation Apparatus and methods for safe navigation of robotic devices
JP6860656B2 (ja) * 2016-05-18 2021-04-21 オキーフェ, ジェームスO’KEEFEE, James 車両の形状に適応したダイナミックステアドlidar
US9910442B2 (en) * 2016-06-28 2018-03-06 Toyota Motor Engineering & Manufacturing North America, Inc. Occluded area detection with static obstacle maps
EP3570063B1 (de) * 2018-05-14 2023-08-30 dSPACE GmbH Verfahren zur schnellen abschätzung einer perspektivischen verdeckung in einer simulation eines bildgebenden sensors

Also Published As

Publication number Publication date
US11886198B2 (en) 2024-01-30
EP3850457A4 (en) 2022-05-18
EP3850457A1 (en) 2021-07-21
WO2020056108A1 (en) 2020-03-19
WO2020056108A9 (en) 2020-05-22
US20210197383A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
JP6949107B2 (ja) 経路を自律走行するようにロボットを訓練するためのシステムおよび方法
US10823576B2 (en) Systems and methods for robotic mapping
US9840003B2 (en) Apparatus and methods for safe navigation of robotic devices
JP2020502636A (ja) ロボットの遠隔操作および/または監視のためのシステムおよび方法
JP2020502630A (ja) 自律ナビゲーションにおける動的経路計画のためのシステムおよび方法
US11613016B2 (en) Systems, apparatuses, and methods for rapid machine learning for floor segmentation for robotic devices
US11886198B2 (en) Systems and methods for detecting blind spots for robots
US11865731B2 (en) Systems, apparatuses, and methods for dynamic filtering of high intensity broadband electromagnetic waves from image data from a sensor coupled to a robot
JP7462891B2 (ja) エスカレータを検出するためのシステム、装置、及び方法
US20210232149A1 (en) Systems and methods for persistent mapping of environmental parameters using a centralized cloud server and a robotic network
WO2021097426A1 (en) Systems and methods for training neural networks on a cloud server using sensory data collected by robots
US20230083293A1 (en) Systems and methods for detecting glass and specular surfaces for robots
US20230168689A1 (en) Systems and methods for preserving data and human confidentiality during feature identification by robotic devices
JP2022512438A (ja) 非ホロノミックロボットシステムの改善された制御のためのシステム及び方法
WO2021252425A1 (en) Systems and methods for wire detection and avoidance of the same by robots
US20220163644A1 (en) Systems and methods for filtering underestimated distance measurements from periodic pulse-modulated time-of-flight sensors
WO2023076576A1 (en) Systems and methods for automatic route generation for robotic devices