(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-06
(45)【発行日】2025-02-17
(54)【発明の名称】オブジェクト位置分析
(51)【国際特許分類】
G05D 1/43 20240101AFI20250207BHJP
G06T 7/77 20170101ALI20250207BHJP
【FI】
G05D1/43
G06T7/77
【外国語出願】
(21)【出願番号】P 2020153538
(22)【出願日】2020-09-14
【審査請求日】2023-06-22
(32)【優先日】2019-09-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518102470
【氏名又は名称】トヨタ リサーチ インスティテュート,インコーポレイティド
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【氏名又は名称】河野 努
(74)【代理人】
【識別番号】100141162
【氏名又は名称】森 啓
(72)【発明者】
【氏名】ブランドン ノースカット
【審査官】大古 健一
(56)【参考文献】
【文献】特開2011-059905(JP,A)
【文献】特開2014-209293(JP,A)
【文献】国際公開第2019/151387(WO,A1)
【文献】特許第3745364(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
G06T 7/77
(57)【特許請求の範囲】
【請求項1】
観察されたオブジェクトの位置に基づいてロボット装置を制御する方法であって、
異なる時間帯における環境内のオブジェクトを観察するステップであって、前記環境は前記異なる時間帯において同じ状態のままである、ステップと、
該オブジェクトに対して、複数のノードを含むロケーションクラスタを生成するステップであって、前記複数のノードのうちの各ノードは、複数の観察のうちの1つの観察に関連するものであり、複数の観察の各観察は、異なる時間帯のうちの1つの時間帯に対応するものである、ステップと、
前記ロケーションクラスタの重心に基づいて前記環境の前記オブジェクトをローカライズするステップと、
前記
異なる時間帯における前記オブジェクトの観察に基づいて、前記オブジェクトの観察された位置についての確率分布を生成するステップと、
コストマップを前記環境のマップ上にオーバーレイするステップであって、前記コストマップは、前記環境における前記ローカライズオブジェクトに関連する前記オブジェクトの前記確率分布を識別するために、前記確率分布に関連する、ステップと、
前記コストマップおよび前記環境の前記マップに基づいて、前記環境内で動作を実行するように前記ロボット装置を制御するステップと、
を含む方法。
【請求項2】
前記異なる時間帯における前記オブジェクトの前記観察を使用して、連続分布を推定するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記確率分布は、前記連続分布に基づく、請求項2に記載の方法。
【請求項4】
前記確率分布から前記コストマップを生成するステップをさらに含む、請求項1に記載の方法。
【請求項5】
第1閾値より大きい第1オブジェクト確率を有する前記環境内の第1領域を回避する、または、第2閾値より大きい第2オブジェクト確率を有する前記環境内の第2領域にナビゲートするために前記ロボット装置を制御するステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記確率分布に基づいて、前記環境内にオブジェクトを配置するように前記ロボット装置を制御するステップをさらに含む、請求項1に記載の方法。
【請求項7】
観察されたオブジェクト位置に基づいてロボット装置を制御するための装置であって、該装置は、メモリと、前記メモリに結合された少なくとも1つのプロセッサとを備え、
前記少なくとも1つのプロセッサは、異なる時間帯における環境内のオブジェクトを観察し、前記環境は前記異なる時間帯において同じ状態のままであり、
該オブジェクトに対して、複数のノードを含むロケーションクラスタを生成し、ここで、該複数のノードのおける各ノードは、複数の観測のうちの1つの観測に関連するものであり、複数の観察の各観察は、前記異なる時間帯のうちの1つの時間帯に対応するものであり、
前記ロケーションクラスタの重心に基づいて前記環境の前記オブジェクトをローカライズし、
前記
異なる時間帯における前記オブジェクトの観察に基づいて、前記オブジェクトの観察された位置についての確率分布を生成し、
コストマップを前記環境のマップ上にオーバーレイし、ここで、該コストマップは、前記環境における前記ローカライズオブジェクトに関連する前記オブジェクトの前記確率分布を識別するために前記確率分布に関連するものであり、
前記コストマップおよび前記環境の前記マップに基づいて、前記環境内で動作を実行するように前記ロボット装置を制御するように構成される、
装置。
【請求項8】
前記少なくとも1つのプロセッサはさらに、前記異なる時間帯における前記オブジェクトの前記観察を使用して連続分布を推定するように構成される、
請求項7に記載の装置。
【請求項9】
前記確率分布は、前記連続分布に基づく、
請求項8に記載の装置。
【請求項10】
前記少なくとも1つのプロセッサは、前記確率分布から前記コストマップを作成するようにさらに構成される、
請求項7に記載の装置。
【請求項11】
前記少なくとも1つのプロセッサは、前記ロボット装置を、第1閾値より大きい第1オブジェクト確率を有する前記環境内の第1領域を回避するか、または、第2閾値より大きい第2オブジェクト確率を有する前記環境内の第2領域にナビゲートするために制御するようにさらに構成される、
請求項10に記載の装置。
【請求項12】
前記少なくとも1つのプロセッサはさらに、前記確率分布に基づいて、前記環境内にオブジェクトを配置するために前記ロボット装置を制御するように構成される、
請求項7に記載の装置。
【請求項13】
観察されたオブジェクト位置に基づいてロボット装置を制御するために記録されたプログラムコードを有する非一時的コンピュータ可読媒体であって、
該プログラムコードは、プロセッサによって実行され、異なる時間帯における環境内のオブジェクトを観察するプログラムコードであって、前記環境は前記異なる時間帯において同じ状態のままである、プログラムコードと、
前記オブジェクトに対して、複数のノードを含むロケーションクラスタを生成し、該複数のノードのおける各ノードは、複数の観測のうちの1つの観測に関連するものであり、複数の観察の各観察は、前記異なる時間帯のうちの1つの時間帯に対応するものである、
プログラムコードと、
前記ロケーションクラスタの重心に基づいて前記環境の前記オブジェクトをローカライズするプログラムコードと、
前記
異なる時間帯における前記オブジェクトの観察に基づいて、前記オブジェクトの観察された位置についての確率分布を生成するプログラムコードと、
コストマップを前記環境のマップ上にオーバーレイするプログラムコードであって、 前記コストマップは、前記環境における前記ローカライズオブジェクトに関連する前記オブジェクトの前記確率分布を識別するために前記確率分布に関連する、プログラムコードと、
前記コストマップおよび前記環境の前記マップに基づいて、前記環境内で動作を実行するように前記ロボット装置を制御するためのプログラムコードと、
を含む、
非一時的コンピュータ可読媒体。
【請求項14】
前記プログラムコードは、前記異なる時間帯における前記オブジェクトの前記観察を使用して連続分布を推定するためのプログラムコードをさらに含む、
請求項13に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記確率分布は、前記連続分布に基づく、
請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記プログラムコードはさらに、前記確率分布からコストマップを生成するプログラムコードを含む、
請求項13に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記プログラムコードは、前記ロボット装置を、第1閾値より大きい第1オブジェクト確率を有する前記環境内の第1領域を回避するか、または、第2閾値より大きい第2オブジェクト確率を有する前記環境内の第2領域にナビゲートするように制御するためのプログラムコードをさらに含む、
請求項16に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示のある態様は一般に、オブジェクト検出に関し、より詳細には、環境内のオブジェクトの空間的および時間的知識に基づいてオブジェクトを検出するためのシステムおよび方法に関する。
【背景技術】
【0002】
ロボット装置は環境内のオブジェクトを識別するために、カメラなどの1つ以上のセンサを使用することができる。識別された各オブジェクトの位置を推定することができる。さらに、各ローカライズされたオブジェクトにラベルを割り当てることができる。従来のオブジェクト位置特定システムでは、推定された各オブジェクト位置が推定タイムスタンプと共にデータベースに格納することができる。
【0003】
ほとんどのシステムでは、画像が毎秒10フレームのような毎秒多数のフレームで生成される。各フレームは、複数のオブジェクトを含むことができる。各フレーム内のフレームの数およびオブジェクトの数は、従来のオブジェクト検出システムによって使用されるストレージリソースの量を増大させる。さらに、従来のオブジェクトローカライゼーションシステムはオブジェクトをローカライズするために画像を処理するために、増加した量の処理リソースを使用することができる。
【0004】
従来のオブジェクト検出システムは、偽ポジティブおよび偽ネガティブの位置推定を生成し得る。すなわち、推定されたオブジェクト位置ごとに、いくつかの推定値は有効であり得るが、他のいくつかは無効であり得る。
【0005】
使用されるリソースの量を低減するために、オブジェクト検出システムを改善することが望ましい。また、偽ポジティブおよび偽ネガティブの数を低減するために、オブジェクト検出システムを改善することが望ましい。
【発明の概要】
【0006】
本開示の一態様では、観察されたオブジェクト位置に基づいてロボット装置を制御するための方法が開示される。この方法は、環境内のオブジェクトを観察することを含む。この方法はまた、観察されたオブジェクトの位置についての確率分布を生成することを含む。本方法は、生成された確率分布に基づいて環境内で行動を実行するようにロボット装置を制御するステップをさらに含む。
【0007】
本開示の別の態様では、非一時的プログラム・コードが記録された非一時的コンピュータ可読媒体が開示される。プログラム・コードは、ロボット・デバイス・ベースの観察されたオブジェクト位置を制御するためのものである。プログラム・コードは、プロセッサによって実行され、環境内のオブジェクトを観察するためのプログラム・コードを含む。プログラム・コードはまた、観察されたオブジェクトの位置の確率分布を生成するためのプログラム・コードを含む。プログラム・コードは、生成された確率分布に基づいて環境内で動作を実行するようにロボット装置を制御するためのプログラム・コードをさらに含む。
【0008】
本開示の別の態様は、観察されたオブジェクト位置に基づいてロボット装置を制御するための装置を対象とする。この装置は、メモリと、メモリに結合された1つ以上のプロセッサとを有する。プロセッサは、環境内のオブジェクトを観察するように設定されている。プロセッサはまた、観察されたオブジェクトの位置についての確率分布を生成するように構成される。プロセッサは、生成された確率分布に基づいて環境内で動作を実行するようにロボット装置を制御するようにさらに構成される。
【0009】
これは、以下の詳細な説明がよりよく理解され得るように、本開示の特徴および技術的利点をかなり広く概説したものである。本開示のさらなる特徴および利点は、以下に記載される。本開示は、本開示と同じ目的を実行するための他の構造を修正または設計するための基礎として容易に利用され得ることが、当業者によって理解されるべきである。そのような同等の構成が、添付の特許請求の範囲に記載される本開示の教示から逸脱しないことも、当業者によって理解されるべきである。本開示の特徴であると考えられる新規な特徴はその構成および動作方法の両方に関して、さらなる目的および利点とともに、添付の図面と関連して考慮される場合、以下の説明からより良く理解される。しかしながら、各図は、例示および説明の目的のためだけに提供され、本開示の限定の定義として意図されないことが明確に理解されるべきである。
【図面の簡単な説明】
【0010】
本開示の特徴、性質、および利点は図面と併せて以下に記載される詳細な説明からより明らかになり、図面において、同様の参照符号は、全体を通して対応して識別する。
【
図1】
図1は、本開示の態様による環境内のロボットの一例を示す。
【
図2】
図2は、本開示の態様によるクラスタリング分析マップの例を示す。
【
図3】
図3は、時間オブジェクト位置を観察することによって、環境内のオブジェクト位置のクラスタリング分析マップを生成する例を示す。
【
図4B】
図4Bは、本開示の態様によるコストマップの例を示す。
【
図4C】
図4Cは、本開示の態様による、ある期間にわたって統合されたオブジェクト位置を有するコストマップの例を示す。
【
図5】
図5は、本開示の態様による、オブジェクト位置特定システムのためのハードウェアインプリメンテーションの例を示す図である。
【
図6】
図6は、本開示の態様による、観察されたオブジェクト位置に基づいてロボット装置を制御する方法のためのフロー図を示す。
【発明を実施するための形態】
【0011】
添付の図面に関連して以下に記載される詳細な説明は様々な構成の説明として意図されており、本明細書で説明される概念が実施され得る唯一の構成を表すことを意図していない。詳細な説明は、様々な概念の完全な理解を提供する目的で、特定の詳細を含む。しかしながら、これらの概念は、これらの特定の詳細なしに実施されることができることは当業者には明らかである。いくつかの例では、周知の構造および構成要素が、そのような概念を曖昧にすることを回避するために、ブロック図形式で示される。
【0012】
視覚オブジェクト分類を実行する従来のシステム(例えば、オブジェクト検出ネットワーク)は、偽ポジティブおよび偽ネガティブ検出を生成する。偽ポジティブおよび偽ネガティブの検出は、検出の精度を低下させる。視覚的オブジェクト検出のためのシステムまたは方法はオブジェクト位置を分析するために、検出されたオブジェクト位置を推定するシステムまたは方法と組み合わせることができる。検出された視覚オブジェクトは、バウンディングボックスによって識別されることができる。オブジェクト位置の分析は、クラスタリング分析と呼ぶことができる。
【0013】
クラスタリング分析から誤りを検出することができる。さらに、クラスタリング分析に基づいて、真のオブジェクト位置を推定することができる。クラスタリング分析は静的環境を仮定し、この仮定を利用して、環境内のオブジェクトの数をカウントし、各オブジェクトの推定された真の位置を改善し、空間クラスタの一部ではない検出(例えば、偽ポジティブ検出)を拒絶する。
【0014】
これに加えて、またはこれに代えて、確率密度関数を使用して、オブジェクト位置推定値を分析することができる。確率密度関数(例えば、確率密度解析)は、静的環境を仮定しない。確率密度解析では、クラスタリング解析、オブジェクト計数、または誤った検出推定を使用しない。一構成では、オブジェクトの空間的および時間的探索が確率密度分析に基づいて実行され得る。
【0015】
ロボット装置は、1つ以上のセンサを使用して、環境内のオブジェクトを識別することができる。センサは、赤-緑-青(RGB)カメラ、無線検出測距(RADAR)センサ、光検出測距(LiDAR)センサ、または別の種類のセンサを含むことができる。センサによって捕捉された画像において、1つ以上の識別されたオブジェクトの位置が推定されることができる。各オブジェクトの位置推定値は、推定タイムスタンプと共に格納することができる。推定タイムスタンプは、オブジェクトが推定位置にあった時間を識別する。1つの構成では、深度カメラ(depth camera)によって生成された点群で検出バウンディングボックス重心を登録することによって、3次元(3D)オブジェクト位置を決定する。
【0016】
ほとんどのシステムでは、画像が毎秒10フレームのような毎秒多数のフレームで生成される。さらに、各フレームは、複数のオブジェクトを含むことができる。各フレーム内のフレームの数およびオブジェクトの数は、従来のオブジェクト検出システムによって使用されるストレージリソースの量を増大させる。さらに、従来のオブジェクト検出システムは、画像を処理するために増加した量の処理リソースを使用することができる。
【0017】
従来のオブジェクト検出システムは、偽ポジティブおよび偽ネガティブの位置推定値を生成することもできる。すなわち、フレーム内で検出されたオブジェクトごとに、いくつかの検出が有効であることがあり、他のいくつかは無効であることがある。
【0018】
本開示の態様は、環境内のオブジェクトの数を推定するために密度ベースのクラスタ化機能を使用することを対象とする。この推定は、真のオブジェクト位置に対する観察密度が高密度閾値よりも大きいという仮定に基づいている。さらに、偽ポジティブオブジェクト位置の観察密度は、低密度閾値未満である。
【0019】
本開示では、簡略化のために、ロボット装置をロボットと言う。さらに、オブジェクトは、環境内の静止オブジェクトおよび動的オブジェクトを含むことができる。オブジェクトは人工オブジェクト(例えば、椅子、机、車、本など)、自然オブジェクト(例えば、岩、樹木、動物など)、およびヒトを含むことができる。
【0020】
図1は、本開示の態様による、環境102内のロボット100の一例を示す。
図1の例では、ロボット100は人間型ロボットであり、環境102は台所である。本開示の態様は、人間型ロボットに限定されない。ロボット100は、ドローンまたは車両のような任意のタイプの自律型または半自律型装置であってよい。さらに、ロボット100は、任意のタイプの環境にあってもよい。
【0021】
1つの構成では、ロボット100がロボット100の1つ以上のセンサを介して環境102の1つ以上の画像を取得する。ロボット100は、各画像内の1つ以上のオブジェクトを位置特定することができる。ローカライゼーションは画像内のオブジェクトの位置(例えば、座標)を決定することを指す。従来のオブジェクト検出システムでは、バウンディングボックスを使用して、画像内のオブジェクトの位置を示すことができる。ローカライズされたオブジェクトは、チェア104のようなオブジェクトの1つ以上の特定のクラス、または画像内のすべてのオブジェクトであってもよい。オブジェクトは、事前訓練されたオブジェクト検出ニューラルネットワークなどのオブジェクト検出システムを介して局所化することができる。
【0022】
説明したように、画像(例えば、フレーム)内の1つ以上の識別されたオブジェクトを、ローカライズすることができる。1つの構成では、オブジェクト位置推定器が環境内で経時的に観察される。具体的には、クラスタリング分析が様々な時間ウィンドウ(例えば、異なる期間)にわたってオブジェクト位置推定器に適用されることができる。
【0023】
図2は、本開示の態様によるクラスタリング分析マップ200の一例を示す。
図2の例では、オブジェクト位置推定器が環境中で経時的に観察された。各ノード202、208は、環境内のオブジェクトの推定位置の位置を識別する。
図2に示すように、いくつかのノード202(例えば、非クラスタ化ノード202)は、クラスタに関連付けられていなくてもよい。他のノード208(例えば、クラスタ化されたノード208)は、重心204の周りにクラスタ化されることができる。クラスタ化されていないノード202は、偽ポジティブと見なされることができる。簡潔にするために、
図2のクラスタ化されていないノード202およびクラスタ化されていないノード208の各々にはラベルは提供されていない。
【0024】
図2の例では、クラスタ内ノード208がエッジノード210またはコアノード212であってもよい。エッジ・クラスタ内ノード210のサイズ(例えば、直径)は、コア・クラスタ内ノード212のサイズよりも小さい。各エッジ・イン・クラスタ化ノード210は、1つの近隣ノードに関連付けられ、近隣ノードの距離は距離閾値未満である。各コア・クラスタ内ノード212は、1つの近隣ノードに関連付けられ、近隣ノードの距離は距離閾値未満である。一構成では、環境は3D環境であるため、重心204は3D重心である。重心204は、オブジェクトの真の位置に関連付けることができる。
【0025】
一般に、クラスタ化ノード202は、同一オブジェクトまたは同一クラスのオブジェクトの位置推定値である。例えば、オフィスでは、オフィス家具の位置は、ペンや紙のようなオフィス用品の位置よりも動的ではない。ある位置の領域内のノード202は、クラスタ化されることができる。例えば、オフィス椅子の位置に対応するノード202は、その位置が観察の過程にわたって特定のエリア内にある場合、クラスタを形成することができる。3D重心204(例えば、平均重心)は、各クラスタについて決定されることができる。
【0026】
密度ベースのクラスタ化の場合、オブジェクト位置推定の精度は、各クラスタの3D重心204に基づいて決定することができる。3D重心204に基づいてオブジェクトの位置を推定することは、推定の精度を改善することができる。さらに、オブジェクト定位機能の精度は、各クラスタの3D標準偏差に基づいて決定されることができる。各クラスタの3D平均を使用して、オブジェクトの真の位置を推定することができる。標準偏差は、クラスタの分散を決定するために使用されることができる。標準偏差が閾値よりも大きい場合、オブジェクトの真の位置に不確実性が存在する可能性がある。オブジェクトの位置の不確実性は、標準偏差の分散が減少すると減少する。したがって、標準偏差は、オブジェクトの位置の精度に相関する。
【0027】
図3は、本開示の態様による、クラスタリング分析マップ350を生成する例を示す。
図3に示すように、クラスタリング分析マップ350は、環境300内のオブジェクト302、304の観察に基づく。
図3では、ロボットが環境300内のオブジェクト(例えば、椅子304およびテーブル302)の位置をある期間にわたって観察することができる。ロボットは、各観察のために椅子304およびテーブル302の位置を位置決めすることができる。
【0028】
多数の観察の後、ロボットはクラスタリング解析を実行してクラスタリング解析マップ350を生成することができる。クラスタリング解析マップ350は、クラスタ内ノード314および非クラスタノード316を含む。クラスタ化されていないノード316は、環境300から分離された観察である。クラスタ内ノード314は、同じオブジェクト304、302の反復観察とみなすことができる。各重心318、320、322は、真のオブジェクト位置と見なされる。例えば、重心318、322は椅子304の推定された真の位置に対応する。セントロイド320は、テーブル302の推定された真の位置に対応する。重心318、320、322は、3D重心であってもよい。
【0029】
偽ポジティブは、従来の畳み込みニューラルネットワーク検出器では一般的である。クラスタリング分析(例えば、密度ベースのクラスタリング)は空間環境における多数のオブジェクトの推定値を改善し、それによって偽ポジティブを低減する。密度ベースのクラスタ化を使用して、同様の、または同じ位置における複数の検出のための密度基準を設定することができる。したがって、同じオブジェクトの反復観察を考慮することができる。すなわち、1つの構成では、密度ベースのクラスタ化を使用して、複数の観察を考慮し、孤立した観察を廃棄する。さらに、密度ベースのクラスタ化は、繰り返される観察を統一されたオブジェクトインスタンスに融合することができる。各クラスタは、瓶または植物などのオブジェクトのインスタンスを表す。
【0030】
図2の例では、各クラスタがオブジェクトの複数の観察に基づいて1つのオブジェクトに対応している。例えば、オブジェクトの数百または数千の個々の検出を各クラスタに使用することができる。さらに、クラスタリング分析は、位置推定の品質を決定するために使用されることができる。すなわち、クラスタリング分析は、位置推定器がどれだけうまく実行しているかを決定することができる。
【0031】
一構成では、オブジェクト位置を経時的に観察することによって、環境内のオブジェクト位置の確率分布を生成することができる。すなわち、確率密度関数(例えば、確率密度解析)は、マップ上の任意の所定の位置にあるオブジェクトを発見する確率を表すために、一連の観察を用いて連続分布を推定する。したがって、確率密度関数を使用して、空間環境内のオブジェクトに関する空間的および時間的知識を表すことができる。推定された確率密度関数に対応するデータのメモリ・フットプリントは、従来のオブジェクト局在化システムに対応するデータのメモリ・フットプリントよりも小さい。例えば、従来のオブジェクト局在化システムは、1GBのオブジェクト観察ログを生成することができる。対照的に、推定確率密度関数は50KBであってもよい。メモリ・フットプリントが減少するため、カーネル密度推定は、ロボット装置間で転送され得る。したがって、ロボット装置は、環境内のオブジェクト位置に関する知識を共有することができる。
【0032】
上で述べたように、確率密度関数解析は、すべての観察構成を用いて連続分布を推定する。環境内のオブジェクト位置の確率分布は、時間オブジェクト位置を観察することによって生成される。確率分布からランダムサンプルを抽出することができる。分布からのランダムな標本は確率が低い領域とは対照的に、確率が高い領域にある可能性が高くなる。さらに、マップグリッド上の分布を評価することは、オブジェクトを含む可能性がより高いマップの領域を示すヒートマップ(例えば、コストマップ)を提供することができる。
【0033】
ロボット装置はオブジェクトの探索時間を短縮するために、高い確率の領域をサンプリングすることができる。オブジェクトが高確率領域(例えば、最も可能性の高い位置)にない場合、オブジェクト探索は、低確率の領域をサンプリングすることができる。確率分布は、高確率領域と低確率領域を区別することによって探索時間を減らすことができる。1つの構成において、オブジェクトが起こりそうにない位置(例えば、低確率領域)に発見された場合、ロボット装置はそのオブジェクトを最も起こりそうな位置(例えば、高確率領域)に戻すことができる。
【0034】
別の例として、特定のオブジェクトは、特定の高確率領域および低確率領域に対応し得る。例えば、第1セットの椅子は台所のダイニングテーブル用であり、第2セットの椅子は正式なダイニングテーブル用である。この例では台所が第1椅子セットのための高い確率の領域であり、台所の外側の領域は低い確率の領域である。例えば、正式なダイニングルームは、第1椅子セットのための低確率領域であってもよい。さらに、正式なダイニングルームは第2椅子セットのための高い確率の領域であり、台所は、第2椅子セットのための低い確率の領域である。
【0035】
図4Aは、本開示の態様による環境400の画像を示す。
図4Aの例では、環境は道路402および歩道424を含む。1つの構成では、ロボットが時間環境400を観察する。例えば、ロボットは、24時間にわたって環境400を観察することができる。観察に基づいて、ロボットは、環境400内のオブジェクト位置の確率分布を生成する。オブジェクトは、人間であっても、別のタイプのオブジェクトであってもよい。確率分布は、コストマップを生成するために使用されることができる。
【0036】
図4Bに示すように、コストマップ450は、環境内のオブジェクトの確率密度分析に基づいて生成することができる。コストマップ450は、2Dまたは3D確率密度関数に基づいてもよい。したがって、エゴビュー(ego view)またはトップダウンビューなど、任意のタイプのマップを生成することができる。
【0037】
コストマップ450では、低確率領域を高確率領域と区別することができる。各領域に確率値を割り当てることができる。確率値または確率値範囲は、色または他の視覚的表現によって視覚化されることができる。たとえば、確率の低い領域の色またはシェーディングは、確率の高い領域とは異なることができる。異なる粒度レベルを占有確率に割り当てることができる。例えば、
図4Bに示すように、確率領域は、低(404)、軽(406)、中(408)、高(410)、または非常に高(412)であってもよい。オブジェクトがある位置に存在する確率は、コストマップ内のその位置に割り当てられた値から決定することができる。オブジェクトがある位置に存在する確率は、オブジェクト確率と呼ぶことができる。
【0038】
図4Cは、ある期間にわたって統合されたオブジェクト位置452を有するコストマップ450の一例を示す。
図4Cの例では、期間は24時間であってもよい。時間、日、週、月などの他の期間も考えられる。
【0039】
図4Cの例では、各オブジェクト位置452がヒトなどのオブジェクトの位置を表す。コストマップ450は、確率密度解析に基づいて生成される。上述したように、確率密度分析はコストマップ450上の任意の所与の位置でオブジェクトを見つける確率を表すために、すべての観察を使用して連続分布を推定する。コストマップは、データに適合するいくつかの数の2Dガウス関数を持つガウス混合モデルと考えることができる。
【0040】
各オブジェクトまたはオブジェクトタイプは、特定の高確率領域および低確率領域に対応し得る。例えば、家庭環境における台所用品の場合、高い確率は台所であり、低い確率の領域はバスルームである。別の例として、家庭環境の衣類の場合、高確率領域は1つ以上のクローゼットであり、低確率領域は台所である。本開示の態様によれば、ロボット装置はユーザの指示またはユーザの介入なしに、環境内のオブジェクトをその「ホーム」ロケーション(例えば、高確率領域)に戻すことができる。
【0041】
上述したように、コストマップは、確率分布から生成することができる。コストマップは、環境のマップ上にオーバーレイされることができる。一構成では、経路計画機能がオーバーレイされたコストマップを使用して、特定のオブジェクトに遭遇する確率を最小化または最大化することができる。
図4Bおよび4Cに示されるように、低確率領域は、高確率領域から区別され得る。
【0042】
1つの構成では、ロボットがルート計画のためにコストマップオーバーレイを使用する。例えば、ロボットの経路は、ロボットが人間のようなオブジェクトに遭遇する可能性のある領域を迂回することができるように計画することができる。また、ロボットは、人間のようなオブジェクトに遭遇する可能性が増加する経路に、コストマップの逆を使用してもよい。すなわち、確率密度関数を探索して、1つ以上のオブジェクトに遭遇する機会を最大化または最小化することができる。
【0043】
一例では、1つ以上のオブジェクトを回避するために、ロボットはしきい値よりも大きい確率領域を回避するルートを計画することができる。例えば、ロボットは、中程度の確率領域408、高確率領域410、および非常に高い確率領域412を回避することができる(
図4B~C参照)。前述の確率領域は例えば、ロボットのタスク、燃料レベル、コスト、および/または、他の要因に基づいて、閾値を決定することができる。
【0044】
別の例では1つ以上のオブジェクトに遭遇するために、ロボットは閾値よりも大きい確率領域を含むルートを計画することができる。例えば、ロボットは、中程度の確率領域408、高確率領域410、および非常に高い確率領域412を含むルートを計画することができる(
図4B~C参照)。さらに、または代替として、この例では、ロボットが閾値未満である確率領域を回避するルートを計画することができる。例えば、ロボットは、低確率領域404および/または低確率領域406を回避するルートを計画することができる(
図4B~C参照)。前述の確率領域は例えば、ロボットのタスク、燃料レベル、コスト、および/または、他の要因に基づいて、閾値を決定することができる。
【0045】
本開示の態様によれば、ソファ、テーブル、および鉢植え植物などの静止オブジェクトは、静止位置確率密度関数を有する。人、コーヒーマグ、ペット、椅子などの動的オブジェクトは動的であり、非定常確率密度関数を有する。非定常分布を持つオブジェクトの場合、確率密度関数は異なる頻度で推定されることがある。例えば、確率密度関数は、1日の1つ以上の異なる時間、異なる曜日、異なる月などの間に推定することができる。
【0046】
一構成では、この環境において非動的オブジェクトを見つける確率が時間に基づいて変化し得る。一構成では、ロボットが時間的に関連する分布に基づいて動的オブジェクトを探索することができる。探索は特定のオブジェクト、またはロボットが認識し、ロケーションを推定することができる任意の他のオブジェクトに限定することができる。
【0047】
いくつかの実施形態では、空間内の人々の確率分布に基づいて、アルゴリズムは歩行交通のフローに対する影響を最小限に抑えるために、または空間内の未使用の家具を識別するために、家具配置を決定することができる。空間内の人々の確率分布に基づいて、環境内の最適な広告配置を決定することができる。さらに、空間内の人々の確率分布に基づいて、人々が異なる位置で広告にどれだけ長く係わっているかを決定することができる。
【0048】
図5は、本開示の態様による、オブジェクト位置特定システム500のためのハードウェアインプリメンテーションの一例を示す図である。オブジェクト位置特定システム500は、車両、ロボット装置、または別の装置の構成要素であってもよい。例えば、
図5に示すように、オブジェクト位置特定システム500はロボット528(例えば、ロボット装置)の構成要素である。
【0049】
本開示の態様は、ロボット528の構成要素であるオブジェクト位置特定システム500に限定されない。バス、ボート、ドローン、または車両などの他の装置も、オブジェクト位置特定システム500を使用するために考えられる。ロボット528は、少なくとも自律動作モードおよび手動動作モードで動作してもよい。
【0050】
オブジェクト位置特定システム500は、一般にバス550によって表されるバス・アーキテクチャを用いて実現することができる。バス550は、オブジェクト位置特定システム500の特定の用途および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含むことができる。バス550は、プロセッサ520、通信モジュール522、位置モジュール518、センサモジュール502、移動モジュール526、ナビゲーション・モジュール525、およびコンピュータ可読媒体515によって表される、1つ以上のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を共にリンクする。また、バス550は、タイミングソース、周辺装置、電圧レギュレータ、および、電力管理回路のような種々の他の回路をリンクさせることができ、これらは当技術分野で周知であり、したがって、これ以上は説明しない。
【0051】
オブジェクト位置特定システム500は、プロセッサ520、センサ部502、オブジェクトロケーション分析部508、通信部522、ロケーション部518、移動モジュール526、ナビゲーション・モジュール525、およびコンピュータ可読媒体515に結合されたトランシーバ516を含む。トランシーバ516は、アンテナ555に結合される。トランシーバ516は、伝送媒体を介して様々な他のデバイスと通信する。例えば、トランシーバ516は、利用者またはリモートデバイスからの伝達を介してコマンドを受信することができる。別の例として、トランシーバ516は、統計および他の情報をオブジェクト位置解析モジュール508からサーバ(図示せず)に送信することができる。
【0052】
オブジェクト位置システム500は、コンピュータ可読媒体515に結合されたプロセッサ520を含む。プロセッサ520は、本開示による機能性を提供するコンピュータ可読媒体515上に記憶されたソフトウェアの実行を含む処理を実行する。ソフトウェアは、プロセッサ520によって実行されると、ロボット528、または部502、508、515、516、518、520、522、525、526のいずれかなどの特定のデバイスについて説明された様々な機能をオブジェクトロケーション装置500に実行させる。コンピュータ可読媒体515はまた、ソフトウェアを実行するときにプロセッサ520によって操作されるデータを記憶するために使用されることができる。
【0053】
センサモジュール502は、第1センサ506および第2センサ505などの異なるセンサを介して測定値を得るために使用されることができる。第1センサ506は、2D画像を捕捉するための、立体カメラまたは赤-緑-青(RGB)カメラのような視覚センサであってもよい。第2センサ505は、光検出測距(LIDAR)センサまたは無線検出測距(RADAR)センサのような測距センサであってもよい。もちろん、本開示の態様は、センサ505、506のいずれかについて、例えば、熱センサ、ソナーセンサ、および/またはレーザなどの他のタイプのセンサも考えられるので、前述のセンサに限定されない。
【0054】
第1センサ506および第2センサ505の測定値は、本明細書に記載される機能を実施するために、コンピュータ可読媒体515と共に、プロセッサ520、センサ部502、オブジェクト位置分析部508、通信部522、位置特定部518、移動モジュール526、ナビゲーション・モジュール525のうちの1つ以上によって処理されることができる。一構成では、第1センサ506および第2センサ505によって捕捉されたデータがトランシーバ516を介して外部装置に送信されることができる。第1センサ506および第2センサ505は、ロボット528に結合されてもよく、またはロボット528と通信してもよい。
【0055】
位置モジュール518は、ロボット528の位置を決定するために使用されることができる。例えば、位置決め部518は、全地球測位システム(GPS)を使用して、ロボット528の位置を決定してもよい。通信モジュール522は、トランシーバ516を介した通信を容易にするために使用され得る。例えば、通信モジュール522は、WiFi、LTE(long term evolution)、5Gなどの異なるワイヤレスプロトコルを介して通信能力を提供するように構成され得る。通信モジュール522はまた、オブジェクト位置特定システム500のモジュールではないロボット528の他の構成要素と通信するために使用されることができる。
【0056】
移動モジュール526は、ロボット528の移動を容易にするために使用されることができる。別の例として、移動モジュール526は、モータおよび/またはバッテリなどの、ロボット528の1つ以上の動力源と通信状態であることができる。移動は、車輪、可動肢、プロペラ、トレッド、フィン、ジェットエンジン、および/または他の移動源を介して証明することができる。
【0057】
また、オブジェクト位置システム500は移動モジュール526を介して、経路を計画したり、ロボット528の移動を制御したりするためのナビゲーション・モジュール525を含む。経路は、オブジェクト位置分析モジュール508を介して提供されるデータに基づいて計画されることができる。モジュールは、プロセッサ520内で実行されるソフトウェア・モジュール、コンピュータ可読媒体515内に常駐/ストレージされるソフトウェア・モジュール、プロセッサ520に結合された1つ以上のハードウェアモジュール、またはそれらの何らかの組合せとすることができる。
【0058】
オブジェクト位置分析モジュール508は、センサモジュール502、トランシーバ516、プロセッサ520、通信モジュール522、位置モジュール518、移動モジュール526、ナビゲーション・モジュール525、およびコンピュータ可読媒体515と通信することができる。1つの構成において、オブジェクト位置解析モジュール508は、センサモジュール502からセンサデータを受信する。センサモジュール502は、第1センサ506および第2センサ505からセンサデータを受信することができる。本開示の態様によれば、センサモジュール502はデータをフィルタリングして、ノイズを除去し、データを符号化し、データを復号し、データをマージし、フレームを抽出し、または他の機能を実行することができる。代替構成では、オブジェクト位置解析モジュール508が第1センサ506および第2センサ505から直接センサデータを受信することができる。
【0059】
一構成では、オブジェクト位置分析モジュール508が、プロセッサ520、位置モジュール518、コンピュータ可読媒体515、第1センサ506、および/または第2センサ505からの情報に基づいて、オブジェクトの確率領域を決定する。確率領域は、観察されたオブジェクトのオブジェクト位置の確率分布を生成することによって決定することができる。確率領域に基づいて、オブジェクト位置解析モジュール508は、ロボット528の1つ以上の動作を制御することができる。
【0060】
例えば、動作は、ロボット528のためのルートを計画することであってもよい。経路は、1つ以上のオブジェクトに遭遇すること、またはそれを回避することなど、所与のタスクに基づいて決定することができる。オブジェクト位置解析モジュール508は、プロセッサ520、位置モジュール518、コンピュータ可読媒体515、移動モジュール526、および/またはナビゲーション・モジュール525を介して経路をプランニングすることができる。
【0061】
図6は、本開示の態様による、観察されたオブジェクト位置に基づいてロボット装置を制御するためのフロー
図600を示す。簡略化のために、ロボット装置は、ロボットと称される。
図6に示すように、ブロック602において、ロボットは環境内のオブジェクトを観察する。オブジェクトは、LiDAR、RADAR、および/またはRGBカメラなどのロボットの1つ以上のセンサを介して観察することができる。オブジェクトは、時間、日などの期間にわたって観察することができる。
【0062】
ブロック604では、ロボットが観察されたオブジェクトの位置についての確率分布を生成する。1つの構成では、ロボットがある期間にわたるオブジェクトの観察を用いて連続分布を推定する。この構成では、確率分布は連続分布に基づく。
【0063】
コストマップは、確率分布から生成されることができる。コストマップは、ヒートマップとも呼ばれる。コストマップは、環境のマップ上にオーバーレイされることができる。コストマップは、2Dまたは3Dコストマップであってもよい。
【0064】
ブロック606では、ロボットが生成された確率分布に基づいて環境内で行動を実行する。ロボットは、コストマップに基づいて制御されることができる。一例として、ロボットは、第1閾値よりも大きい第1オブジェクト確率を有する環境内の第1領域を回避することができる。さらに、または代替として、ロボットは、第2閾値よりも大きい第2オブジェクト確率で環境内の第2領域にナビゲートすることができる。
【0065】
別の構成では、ロボットが確率分布に基づいて、位置外のオブジェクトを識別することができる。例えば、ロボットは、低確率領域内のオブジェクトを識別することができる。ロボットは誤って配置されたオブジェクトを意図された(例えば、正しい)位置に戻すことができる。
【0066】
教示に基づいて、当業者は、本開示の技術的範囲が本開示の任意の他の態様から独立して実装されるか、またはそれと組み合わされるかにかかわらず、本開示の任意の態様をカバーすることが意図されることを理解すべきである。例えば、記載された任意の数の態様を使用して、装置が実装されてもよく、または方法が実施されることができる。さらに、本開示の技術的範囲は、記載された本開示の様々な態様に加えて、またはそれ以外の、他の構造、機能性、または構造および機能性を使用して実施されるそのような装置または方法をカバーすることが意図される。本開示の任意の態様は、請求項の1つ以上の要素によって具現化され得ることを理解されたい。
【0067】
「例示的」という語は本明細書では「例示、実例、または例証として働く」ことを意味するために使用され、「例示的」として本明細書に記載される任意の態様は必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。
【0068】
特定の態様が本明細書で説明されるが、これらの態様の多くの変形および置換は本開示の技術的範囲内にある。好ましい態様のいくつかの利益および利点が言及されているが、本開示の技術的範囲は特定の利益、使用、または目的に限定されるようには意図されていない。むしろ、本開示の態様は異なる技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であることが意図されており、それらのいくつかは、図面および好ましい態様の以下の説明において例として示されている。詳細な説明および図面は本開示を限定するのではなく単に例示するものであり、本開示の技術的範囲は、添付の特許請求の技術的範囲およびその均等物によって定義される。
【0069】
本明細書で使用されるように、用語「決定する」は多種多様な行動を包含する。例えば、「決定する」は、計算、算出、処理、導出、調査、ルックアップ(例えば、表、データベースまたは別のデータ構造においてルックアップする)、確認することなどを含むことができ、さらに、「決定する」は、受信すること(例えば、情報を受信すること)、アクセスすること(例えば、メモリ内のデータにアクセスすること)などを含むことができ、さらに、「決定する」は、解決すること、選択すること、選択すること、確立することなどを含むことができる。
【0070】
本明細書で使用されるように、項目のリスト「のうちの少なくとも1つ」を指す語句は単一の項目を含み、これらの項目の任意の組み合わせを指す。一例として、「a、b、またはcのうちの少なくとも1つ」はa、b、c、a-b、a-c、b-c、およびa-b-cを包含することが意図される。
【0071】
本開示に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、本開示で説明された機能を実行するように特別に構成されたプロセッサを用いて実装または実行され得る。プロセッサは、ニューラル・ネットワーク・プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、ディスクリート・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、または、本明細書で説明する機能を実行するように設計されたそれらの任意の組合せとすることができる。あるいは、処理システムが本明細書に記載される神経系のニューロンモデルおよびモデルを実施するための1つ以上のニューロモーフィック・プロセッサを含んでもよい。プロセッサは、本明細書に記載されるように特別に構成されたマイクロプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、本明細書で説明されるように、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアに関連する1つ以上のマイクロプロセッサ、またはそのような他の特別な構成として実装されることができる。
【0072】
本開示に関連して説明される方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェア・モジュール、またはこれら2つの併用において直接的に実施可能である。ソフトウェア・モジュールは、ランダムアクセスメモリ、読出し専用メモリ、フラッシュメモリ、消去可能プログラマブル読出し専用メモリ、電気的消去可能プログラマブル読出し専用メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または、所望のプログラム・コードを命令またはデータ構造の形成で持ち運んだり記憶したりするために使用することができ、コンピュータによってアクセスすることができる他の任意の媒体を含む、ストレージまたは機械読出し可能媒体に存在することができる。ソフトウェア・モジュールは、単一の命令、または多くの命令を含み、異なるプログラム間、および複数のストレージ媒体にまたがって、いくつかの異なるコードセグメントに分配することができる。ストレージ媒体はプロセッサが記憶媒体から情報を読み取り、ストレージ媒体に情報を書き込むことができるように、プロセッサに結合することができる。代替的な実施例では、ストレージ媒体はプロセッサと一体であってもよい。
【0073】
本明細書で開示される方法は、説明される方法を達成するための1つ以上のステップまたはアクションを備える。方法のステップおよび/または動作は、特許請求の範囲から逸脱することなく、互いに、交換することができる。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
【0074】
説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ハードウェアで実施される場合、ハードウェア構成例は、装置内の処理システムを含むことができる。処理システムは、バス・アーキテクチャを用いて実現することができる。バスは、処理システムの特定の用途および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含むことができる。バスは、プロセッサ、機械可読媒体、およびバス・インターフェースを含む様々な回路を一緒にリンクすることができる。バス・インターフェースは、ネットワーク・アダプタを、特にバスを介して処理システムに接続するために使用することができる。ネットワーク・アダプタは、信号処理機能を実施するために使用することができる。いくつかの態様では、ユーザインターフェース(例えば、キーパッド、ディスプレイ、マウス、ジョイスティックなど)もバスに接続され得る。バスは、また、タイミングソース、ペリフェラル、電圧レギュレータ、電力管理回路等のような、当技術分野で周知である種々の他の回路をリンクさせることができ、したがって、これ以上は説明しない。
【0075】
プロセッサは、機械可読媒体上に記憶されたソフトウェアの実行を含む、バスおよび処理の管理に責任を負うことができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその他と呼ばれるかどうかにかかわらず、命令、データ、またはそれらの任意の組合せを意味すると解釈されるべきである。
【0076】
ハードウェア実装では、機械可読媒体がプロセッサとは別の処理システムの一部であり得る。しかし、当業者には容易に理解されるように、機械可読媒体、またはその任意の部分は、処理システムの外部にあってもよい。例として、機械可読媒体は、伝送線、データによって変調された搬送波、および/または装置とは別個のコンピュータ製品を含むことができ、これらはすべて、バス・インターフェースを介してプロセッサによってアクセスすることができる。代替的に、または添加、機械可読媒体、またはその任意の部分は、キャッシュおよび/または特殊化されたレジスタファイルを有する場合など、プロセッサに統合され得る。説明した様々なコンポーネントはローカルコンポーネントなどの特定の位置を有するものとして説明することができるが、特定のコンポーネントが分散コンピューティングシステムの一部として構成されるなど、様々な方法で構成することもできる。
【0077】
機械可読媒体は、多数のソフトウェア・モジュールを含むことができる。ソフトウェア・モジュールは、伝送モジュールと受信モジュールとを含んでもよい。各ソフトウェア・モジュールは、単一のストレージデバイス内に存在してもよく、複数のストレージデバイスに分散してもよい。一例として、ソフトウェア・モジュールは、トリガ・イベントが発生したときにハード・ドライブからRAMにロードされることができる。ソフトウェア・モジュールの実行中、プロセッサはアクセス速度を向上させるために、命令の一部をキャッシュにロードすることがある。次に、プロセッサによって実行されるために、1つ以上のキャッシュラインを特殊目的レジスタファイルにロードすることができる。以下のソフトウェア・モジュールの機能を参照すると、そのソフトウェア・モジュールからの指示を実行するときに、そのような機能がプロセッサによって実装されることが理解されるのであろう。さらに、本開示の態様は、そのような態様を実装するプロセッサ、コンピュータ、機械、または他のシステムの機能の改善をもたらすことを理解されたい。
【0078】
ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の1つ以上の命令またはコードとして記憶または送信されることができる。コンピュータ可読媒体は、コンピュータストレージ媒体と、ある位置から別の位置へのコンピュータプログラムの転送を容易にする任意のストレージ媒体を含む通信媒体との両方を含む。
【0079】
さらに、本明細書で説明される方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合に、ユーザ端末および/または基地局によってダウンロードされ、かつ/または、そうでなければ取得され得ることを諒解されたい。例えば、そのような装置は本明細書で説明される方法を実行するための手段の伝送を容易にするために、サーバーに結合されることができる。あるいは、本明細書で説明される様々な方法は、ユーザ端末および/または基地局はストレージ手段を装置に結合または提供すると、様々な方法を得ることができるように、ストレージ手段を介して提供され得る。さらに、本明細書で説明される方法および技法をデバイスに提供するための任意の他の任意の適切な技術を利用することができる。
【0080】
当然のことながら、特許請求の範囲は、上述の正確な構成および構成要素に限定されるものではない。特許請求の範囲から逸脱することなく、上述の方法および装置の配置、動作、および詳細において、様々な修正、変化、および変形を行うことができる。