IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ Rapyuta Robotics株式会社の特許一覧

特許7184309複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体
<>
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図1
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図2A
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図2B
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図2C
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図3
  • 特許-複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-28
(45)【発行日】2022-12-06
(54)【発明の名称】複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体
(51)【国際特許分類】
   G05D 1/02 20200101AFI20221129BHJP
【FI】
G05D1/02 S
【請求項の数】 20
(21)【出願番号】P 2021510888
(86)(22)【出願日】2020-03-27
(65)【公表番号】
(43)【公表日】2021-12-16
(86)【国際出願番号】 IB2020052920
(87)【国際公開番号】W WO2020194253
(87)【国際公開日】2020-10-01
【審査請求日】2021-02-26
(31)【優先権主張番号】16/366,286
(32)【優先日】2019-03-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514233897
【氏名又は名称】Rapyuta Robotics株式会社
(74)【代理人】
【識別番号】100134636
【弁理士】
【氏名又は名称】金高 寿裕
(74)【代理人】
【識別番号】100114904
【弁理士】
【氏名又は名称】小磯 貴子
(72)【発明者】
【氏名】リ,ウェン ジェン
(72)【発明者】
【氏名】スクバ,ヘンドリック
【審査官】大古 健一
(56)【参考文献】
【文献】特開2012-190405(JP,A)
【文献】特開2010-61293(JP,A)
【文献】国際公開第2014/181647(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/12
(57)【特許請求の範囲】
【請求項1】
複数ロボットによる衝突のない移動のための2Dナビゲーションマップを生成するためにコンピュータに実装された方法であって、
エリアの画像に複数のバブルを追加することを含む粒子シミュレーションを開始する工程と、
前記粒子シミュレーションに基づいてバブルシミュレーション処理を行い、前記画像上の前記追加された複数のバブルから、記憶されている障害物マップ上の障害物に対する各バブルの反発およびリバウンド操作を使用してバブルの集合を決定する工程であって、前記画像上の前記バブルの集合が前記画像の前記エリアの重なっている空きスペースを含み、前記反発およびリバウンド操作が前記エリアの重なっている空きスペースがなくなるまで1以上のバブルを追加することを含む、工程と、
2Dナビゲーショングラフ内の複数の端部により前記画像上の前記バブルの集合をつなぐことによって2Dナビゲーションマップを生成する工程であって、前記複数の端部が前記エリア内を移動するための移動経路を示し、前記バブルの集合が前記複数の端部によって接続されるノードを示す、前記2Dナビゲーションマップを生成する工程と、
前記生成した2Dナビゲーションマップに基づいて、前記複数のロボットを現在の場所から別の場所に移動する工程と、を備える方法。
【請求項2】
前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を決定する要求を受信する工程と、
前記生成した2Dナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に衝突せずに移動するために必要な最短時間の経路を生成する工程と、をさらに備える、請求項1に記載の方法。
【請求項3】
前記複数のロボットのうちの一以上のロボットに、衝突せずに移動するための前記経路を伝達する工程をさらに備える、請求項2に記載の方法。
【請求項4】
前記エリアの障害物マップを読み出す工程と、前記読み出した障害物マップに対応する画像を生成する工程と、をさらに備える、請求項1に記載の方法。
【請求項5】
前記バブルシミュレーション処理を行ってバブルの集合を決定する工程が、
前記複数のバブルから非空きスペースに重なっているバブルを削除する工程と、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する工程と、を備える、請求項1に記載の方法。
【請求項6】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第1位置から、前記エリアの空きスペースと重なる第2位置に移動させることを含む、請求項1に記載の方法。
【請求項7】
前記バブルシミュレーション内の前記複数のバブルが静的である場合に前記バブルシミュレーションを終了する工程をさらに備える、請求項1に記載の方法。
【請求項8】
複数のロボットによる衝突のない移動のための2Dナビゲーションマップを生成するコンピュータシステムであって、
プログラムコードを格納するメモリと、
前記プログラムコードを実行するプロセッサと、を備え、
前記プロセッサは、
エリアの画像に複数のバブルを追加することを含む粒子シミュレーションを開始し、
前記粒子シミュレーションに基づいてバブルシミュレーションの処理を行い、前記画像上の前記追加された複数のバブルから、記憶されている障害物マップ上の障害物に対する各バブルの反発およびリバウンド操作を使用してバブルの集合を決定し、ここで、前記画像上の前記バブルの集合が前記画像の前記エリアの重なっている空きスペースを含み、前記反発およびリバウンド操作が前記エリアの重なっている空きスペースがなくなるまで1以上のバブルを追加することを含み、
2Dナビゲーショングラフ内の複数の端部により前記画像上の前記バブルの集合をつなぐことによって2Dナビゲーションマップを生成し、ここで、前記複数の端部が前記エリア内を移動するための移動経路を示し、前記バブルの集合が前記複数の端部によって接続されるノードを示し、
前記生成した2Dナビゲーションマップに基づいて、前記複数のロボットを現在の場所から別の場所に移動する、を備えるコンピュータシステム。
【請求項9】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した2Dナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する、請求項8に記載のコンピュータシステム。
【請求項10】
前記プロセッサがさらに前記プログラムコードを実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項9に記載のコンピュータシステム。
【請求項11】
前記プロセッサがさらに前記プログラムコードを実行して、
前記エリアの障害物マップを読み出し、前記読み出した障害物マップに対応する画像を生成する、請求項9に記載のコンピュータシステム。
【請求項12】
前記プロセッサがさらに前記プログラムコードを実行して、
非空きスペースに重なっている複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する、請求項9に記載のコンピュータシステム。
【請求項13】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第1位置から、前記エリアの空きスペースと重なる第2位置に移動させることを含む、請求項8に記載のコンピュータシステム。
【請求項14】
前記プロセッサがさらに前記プログラムコードを実行して、
前記バブルシミュレーション内の前記複数のバブルが静的である場合に前記バブルシミュレーションを終了する、請求項9に記載のコンピュータシステム。
【請求項15】
指示を格納した非一時的なコンピュータ可読媒体であって、コンピュータにより前記指示が実行されると、
エリアの画像に複数のバブルを追加することを含む粒子シミュレーションを開始し、
前記粒子シミュレーションに基づいてバブルシミュレーションの処理を行い、前記画像上の前記追加された複数のバブルから、記憶されている障害物マップ上の障害物に対する各バブルの反発およびリバウンド操作を使用してバブルの集合を決定し、ここで、前記画像上の前記バブルの集合が前記画像の前記エリアの重なっている空きスペースを含み、前記反発およびリバウンド操作が前記エリアの重なっている空きスペースがなくなるまで1以上のバブルを追加することを含み、
2Dナビゲーショングラフ内の複数の端部により前記画像上の前記バブルの集合をつなぐことによって2Dナビゲーションマップを生成し、ここで、前記複数の端部が前記エリア内を移動するための移動経路を示し、前記バブルの集合が前記複数の端部によって接続されるノードを示し、
前記生成した2Dナビゲーションマップに基づいて、複数のロボットを現在の場所から別の場所に移動する処理を行わせる、コンピュータ可読媒体。
【請求項16】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットが現在の場所から別の場所に移動するための衝突のない最短時間の経路を決定する要求を受信し、
前記生成した2Dナビゲーションマップ上で経路探索クエリを実行して、前記複数のロボットが現在の場所から別の場所に移動するために必要な衝突のない最短時間の経路を生成する処理を行わせる、請求項15に記載のコンピュータ可読媒体。
【請求項17】
前記コンピュータがプログラムコードをさらに実行して、
前記複数のロボットのうちの一以上のロボットに衝突のない前記経路を伝達する、請求項16に記載のコンピュータ可読媒体。
【請求項18】
前記コンピュータがプログラムコードをさらに実行して、
前記エリアの障害物マップを読み出し、
前記読み出した障害物マップに対応する画像を生成する、請求項15に記載のコンピュータ可読媒体。
【請求項19】
前記コンピュータがプログラムコードをさらに実行して、
非空きスペースに重なっている前記複数のバブルからバブルを削除し、
前記削除に基づいて、前記画像上の前記複数のバブルから前記バブルの集合を決定する、請求項15に記載のコンピュータ可読媒体。
【請求項20】
前記反発およびリバウンド操作は、バブルを、前記エリアの非空きスペースと重なる第1位置から、前記エリアの空きスペースと重なる第2位置に移動させることを含む、請求項15に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の各実施形態は、ロボットナビゲーションに関し、詳細には、複数のロボットを衝突せずに移動させるための2Dナビゲーションマップの生成に関する。
【背景技術】
【0002】
現在、産業用ロボットの使用が増加している。ロボットは、倉庫、保管場所、配送管理システムなどで使用可能である。ある場所から別の場所に移動する際に、ロボットにはナビゲーションマップが必要となる。
【0003】
このようなナビゲーションマップの主な要件の一つは、倉庫内でロボットが衝突せずに移動できるよう保証することである。ボロノイ図などの現在のグラフはかなり疎であり、衝突のない移動を保証できるほどロバストではない。
【図面の簡単な説明】
【0004】
図面を参照した以下の詳細な記述により、本明細書に開示する各実施形態がよりよく理解されるであろう。
【0005】
図1】一実施形態による、あるエリアの2Dナビゲーションマップを生成し、2Dナビゲーションマップに基づいて複数ロボットの衝突のない移動経路を決定するシステムを示すブロック図。
【0006】
図2A】一実施形態による、2Dナビゲーションマップを生成する処理を示す例示的なブロック図。
図2B】一実施形態による、2Dナビゲーションマップを生成する処理を示す例示的なブロック図。
図2C】一実施形態による、2Dナビゲーションマップを生成する処理を示す例示的なブロック図。
【0007】
図3】一実施形態による、あるエリアでの複数ロボットの移動用の2Dナビゲーショングラフを生成する処理を示すブロック図。
【0008】
図4】一実施形態による、生成した2Dナビゲーションマップに基づいてエリア内で複数のロボットを移動させる処理を示すフロー図。
【発明を実施するための形態】
【0009】
本明細書の実施形態およびその様々な特徴および利点の詳細について、添付の図面に示し以下の説明に詳述される非限定的な実施形態を参照することによってさらに詳しく説明する。本明細書の実施形態を不必要に不明瞭としないために、周知の構成要素および処理技術の説明は省略する。本明細書で使用する各実施例は、これらの実施形態を実用化する方法の理解を容易にすると共に当業者が実施形態を実用化できるようにすることを単に意図したものである。したがって、本明細書の実施形態の範囲を限定するものとして実施例を解釈すべきではない。
【0010】
本明細書の実施形態は、エリア内で複数のロボットを衝突せずに移動させるための2Dナビゲーションマップを生成するための方法およびシステムを開示する。図面、即ち図1図4を参照するが、図全体を通して、類似の参照符号により各実施形態に示した対応する要素を表すものとする。
【0011】
本明細書の実施形態において、複数のロボットを衝突せずに移動させるための2Dナビゲーションマップを生成するための方法およびシステムを開示する。一実施形態において、特定エリアの障害物マップを写真(picture)に変換し、次にこの写真に粒子シミュレーションを適用して、特定エリアの写真を覆う複数のバブルを追加する。シミュレーションにおけるこれらのバブルは自動的に処理(移動または削除)され、写真の空きスペースを覆うバブルの最終的な集合が特定される。次に、空きスペースを覆うバブルを使用して、バブル間の端部を接続して2Dナビゲーションマップを生成する。次に、2Dナビゲーションマップを使用して、エリア内の2点間で衝突のない最短の移動経路を決定する。
【0012】
図1は、一実施形態による、あるエリアの2Dナビゲーションマップを生成するシステム100を示すブロック図である。このシステムにより、2Dナビゲーションマップに基づいて複数ロボット用の衝突のない移動経路を決定する。システム100は、特定エリアの2Dナビゲーションマップを生成するクラウドマップサーバ102を備える。クラウドコンピューティングでは、ユーザが直接に能動的管理せずに、コンピューターシステムリソースをオンデマンドで利用可能である。クラウドマップサーバは、2Dナビゲーションマップを生成および保存するための複数のプロセッサとメモリとを備える。一実施形態において、クラウドマップサーバ102は、データ記憶装置106から特定エリアの障害物マップをインポートし、それを写真または画像に変換する2Dナビゲーションマップ生成装置104を備える。障害物マップとは、特定エリアの様々な障害物と空きスペースとの詳細を含むマップのことである。例えば、倉庫の場合、障害物マップに倉庫内のラック、通路、壁などの詳細を含めてもよい。障害物マップは、障害物マップ画像を処理するために写真または画像に変換される。一実施形態では、障害物マップに含まれる障害物の詳細を含む障害物マップメタデータが、画像とともに生成される。
【0013】
次に、2Dナビゲーションマップ生成装置104は、生成したエリアの画像に対して粒子シミュレーションを開始する。粒子シミュレーションの開始には、生成画像の空間全体がバブルで覆われるまで生成画像にバブルを追加する工程が含まれる。一実施形態では、各バブルが2Dナビゲーションマップ内の一つのノードを表す。各バブルの大きさは、エリアを移動するためにこの2Dナビゲーションマップを使用できるロボットの大きさに比例する。
【0014】
次に、2Dナビゲーションマップ生成装置104は、バブルシミュレーション処理を行い、生成画像に追加されたバブルのうち、エリアの空きスペースと重なっている画像内のバブルの集合を決定する。一例としてこのエリアが倉庫の場合、空きスペースは、通路などのロボットが自由に移動できるエリアであり、非空きスペースは、ロボットの自由な移動の障害となるラックなどである。2Dナビゲーションマップ生成装置104は、非空きスペースに重なるバブルを削除することによって、エリアの空きスペースに重なるバブルの集合を決定することができる。非空きスペースは、障害物を含む該当エリアの情報を含む障害物マップメタデータに基づいて識別される。一実施形態では、2Dナビゲーションマップ生成装置は、反発/リバウンド操作を使用して、エリアの空きスペースと重なるバブルを決定する。一実施形態では、反発/リバウンド操作は、「ビリヤード」ゲームを基にシミュレーションすることができる。「ビリヤード」ゲームでは、ビリヤードテーブルのいずれかの端部やビリヤードテーブル上の別のボールに当たった後にビリヤードボールが跳ね返る。この反発/リバウンド操作に基づいて、バブルがマップの非空きスペースと重なると、当該バブルは元の位置から後ろに移動して、エリアの空きスペースと重なるエリアに配置される。反発/リバウンド操作の場合、画像上のエリアの空きスペースがなくなるまでシミュレーションによってバブルを追加し続ける。別の実施形態では、力場操作(force field operation)を使用して、空きスペースに重なるバブルの集合を決定する。この場合、力場によってバブルは空きスペースに重なる画像の部分に引き寄せられるが、重ならない画像部分には反発する。
【0015】
次に、2Dナビゲーションマップ生成装置104は、シミュレーション内のバブルが静的であればシミュレーション操作を終了する。一実施形態では、2Dマップ生成装置104は、エネルギー最小化原理を使用してバブルが静的であることを確認する。シミュレーション操作に基づいて、画像上で決定されたバブルは、画像内の空きスペースと重なっている画像部分のみを覆った状態となる。次に、2Dナビゲーションマップ生成装置104は、画像上のバブルの端部をつなぐことによってグラフを生成するが、このグラフでは、端部は、エリア内で衝突せずに移動できるようロボットが横切ることのできる経路を示す。より広い経路はより高密度の端部で表すことができ、より狭い経路はより低い密度の端部で表すことができる。2Dナビゲーションマップ生成装置104は、クラウドマップサーバ102のデータ記憶装置106に、生成した2Dナビゲーションマップを格納する。
【0016】
一実施形態において、クラウドマップサーバ102はさらに、エリア内の二つの場所の間で衝突のない移動経路を決定するためのクエリプロセッサであるディスパッチャ108を備える。ディスパッチャ108は、複数のロボット110、112と無線通信し、複数のロボットのうちの任意のロボット、例えばロボット110からエリア内の特定の場所に移動する要求を受信可能である。
【0017】
要求を受信したディスパッチャ108は、生成した2Dナビゲーションマップ上でクエリを実行して、衝突の可能性が最も低く、かつロボットの現在位置とエリア内の特定のポイントとの間を移動するのに必要な移動時間が最小となる移動経路を決定する。一実施形態では、移動経路は、グラフ内の端部を使用した場合に、ロボット104が横断できる複数のポイントのうち一以上の重ならない(disjoint)端部を含む。最後に、ディスパッチャ108は、決定した最短距離の経路を移動経路としてロボット110、112に伝達する。ロボット110、112は、受信した移動経路に基づいて二つの場所の間を移動することができる。
【0018】
このように、本発明は、ロボットナビゲーションの分野における技術的問題を解決する。エリア全体をカバーするバブルシミュレーションに基づいて2Dナビゲーションマップが生成されるため、生成したマップは、エリア内を移動する際に衝突を起こさない移動経路をロボットに提供可能である。
【0019】
図2A図2Cは、一実施形態による2Dナビゲーションマップを生成する処理を示す例示的なブロック図である。図2Aに示すように、障害物マップの画像200に対してシミュレーション操作が開始され、障害物マップの画像をバブルで覆う。
【0020】
図2Bに示される例では、画像200内のエリアの非空きスペースを覆っているバブルが削除または反発/リバウンド操作のいずれかによって除去され、その結果、画像200は、非空きスペースと重ならない空きエリア204、すなわち、物体/障害物を有するエリアと重なるバブルを含むようになる。最後に、図2Cに示すように、ナビゲーションマップ生成装置は、端部を使用してバブルをつなぐことによって2Dナビゲーションマップ206を生成する。ここで端部はエリアを横断するために使用できる経路を示す。
【0021】
図3は、一実施形態による、複数のロボットを用いたあるエリアでの移動用の2Dナビゲーショングラフを生成する処理300を示すブロック図である。最初に、クラウドマップサーバの2Dナビゲーションマップ生成装置は、クラウドマップサーバのメモリからエリアの障害物マップを読み出す(302)。次に、2Dナビゲーションマップ生成装置は、読み出した障害物マップに対応する画像を生成する(304)。次に、2Dナビゲーションマップ生成装置は、粒子シミュレーションを開始して、生成した画像にバブルを追加する(306)。一実施形態では、生成した画像の空間全体をバブルが覆うまで、バブルを画像に追加する。次に、2Dナビゲーションマップ生成装置は、バブルシミュレーションの処理を行い、画像に追加された複数のバブルのうち、エリアの空きスペースと重なっているバブルの集合を決定する(308)。前述のように、バブルシミュレーションでは、(反発/リバウンド操作に基づいて)非空きスペースに重なるバブルを削除または移動させるよう処理される。
【0022】
次に、2Dナビゲーションマップ生成装置は、シミュレーション内のバブルが静的であればシミュレーション操作を終了する(310)。次に、2Dナビゲーションマップ生成装置は、端部を使用して取得したバブルの集合をつなぐことによって2Dナビゲーションマップを生成する(312)。ここでは、端部がエリアを横断するための移動経路を示す。より広い経路はより高密度の端部で表すことができ、より狭い経路はより低い密度の端部で表すことができる。最後に、2Dナビゲーションマップ生成装置は、生成した2Dナビゲーションマップをデータ記憶装置に格納する(314)。方法300の各動作は、提示した順序で実行しても、異なる順序で実行しても、または同時に実行してもよい。さらに、いくつかの実施形態では、図3に挙げたいくつかの動作を省略してもよい。
【0023】
図4は、一実施形態による、生成した2Dナビゲーションマップに基づいてエリア内の複数のロボットの移動経路を決定する処理400を示すフロー図である。最初に、複数のロボットからの要求を受信して、エリア内の複数の場所に移動するための衝突のない経路を決定する(402)。一実施形態では、複数のロボットそれぞれが、移動したい位置を提供してもよい。受信した要求に基づいて、生成した2Dナビゲーションマップ上でディスパッチャが経路探索クエリを実行し、ロボットの現在の場所とロボットが移動を要求する場所との間で衝突のない最短所要時間の経路を順次決定する(404)。一実施形態では、ディスパッチャは、特定の順序で経路探索操作を開始して、シーケンス内の最後のロボットが希望する場所に移動するために衝突のない経路を少なくとも一つ確保できるようにする。例えば、異なる40の場所に移動したいロボットが40台あるとする。この場合、ディスパッチャは、ロボット1の経路探索操作を開始し、ロボット1の現在の場所とロボット1が移動したい場所との間の最短経路を特定する。次に、ディスパッチャは、ロボット2の現在の場所とロボット2が移動したい場所との間の最短経路を選択することによってロボット2の経路探索操作を開始する(406)。この場合、ディスパッチャは、ロボット1に割り当てた経路はすでに割り当て済みと想定し、残った経路に基づいてロボット2の最短経路を決定する。最後のロボットに経路が割り当てられるまでこの処理を続ける。ディスパッチャは、最短所要時間で衝突のない決定した各経路を複数ロボットに伝達する(408)。受信した衝突のない経路に基づいて、各ロボットは現在の場所から移動を要求した場所まで移動する(410)。
【0024】
本明細書に開示される実施形態は、少なくとも一つのハードウェアデバイス上で実行され、ネットワーク要素を制御するためにネットワーク管理機能を実行する少なくとも一つのソフトウェアプログラムを介して実装され得る。ネットワーク要素には、ハードウェアデバイスの少なくとも一つ、またはハードウェアデバイスとソフトウェアモジュールの組み合わせであるブロックが含まれる。
【0025】
本明細書に開示される実施形態は、特定のシミュレーションを使用して特定の空間用のグラフを生成するための方法およびシステムを開示しており、一以上のロボットがその特定の空間での移動にグラフを使用できる。したがって、保護の範囲は、そのようなプログラム、さらにはメッセージを内部に有するコンピュータ可読手段にも拡張されることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイルデバイスまたは任意の適切なプログラム可能デバイス上で実行される際、この方法の一以上のステップを実施するためのプログラムコード手段を含む。方法は、少なくとも一つの実施形態において、例えば超高速集積回路ハードウェア記述言語(VHDL)または別のプログラミング言語で書かれたソフトウェアプログラムを通じてまたはそれと共に実施され、あるいは少なくとも一つのハードウェアデバイス上で実行中の一以上のVHDLまたは複数のソフトウェアモジュールによって実施される。ハードウェアデバイスは、例えば、サーバまたはPCなどの任意の種類のコンピュータ、あるいは一つのプロセッサおよび二つのFPGAなどの任意の組合せを含む、プログラム可能な任意の種類の装置でよい。デバイスがさらに、ASICなどのハードウェア手段、またはASICとFPGAなどのハードウェア手段とソフトウェア手段の組合せ、または少なくとも一つのマイクロプロセッサとソフトウェアモジュールを内部に有する少なくとも一つのメモリとである手段を含んでもよい。つまり、この手段は、少なくとも一つのハードウェア手段および/または少なくとも一つのソフトウェア手段である。本明細書で説明される方法の実施形態を、純粋なハードウェアで、または部分的にハードウェアで、部分的にソフトウェアで実施することができる。このような装置が、ソフトウェア手段のみを含む場合もある。あるいは、例えば複数のCPUを使用して、異なるハードウェアデバイス上で本発明を実施することができる。
【0026】
特定の実施形態についての上述の説明は、本明細書の実施形態の一般的性質を完全に明らかにするので、他者は、現在の知識を適用することにより、一般的な概念から逸脱することなく、様々な応用分野のためにそのような特定の実施形態を容易に修正および/または適合させることができる。したがって、そのような適合および修正は、開示される実施形態の均等物の意味および範囲内に包含されるべきであり、包含されるものとする。本明細書で使用される表現または用語は説明のためのものであり、限定のためのものではないことを理解されたい。本明細書の実施形態について実施形態や実施例によって説明してきたが、本明細書に記載される請求項の趣旨およびその範囲内の修正を加えたうえで本明細書の実施形態を実施できることを当業者は理解されよう。
図1
図2A
図2B
図2C
図3
図4