(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-11
(54)【発明の名称】動作プランニング
(51)【国際特許分類】
B25J 9/10 20060101AFI20231228BHJP
B25J 19/06 20060101ALI20231228BHJP
【FI】
B25J9/10 A
B25J19/06
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023563338
(86)(22)【出願日】2021-12-21
(85)【翻訳文提出日】2023-08-09
(86)【国際出願番号】 GB2021053396
(87)【国際公開番号】W WO2022136865
(87)【国際公開日】2022-06-30
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】523242011
【氏名又は名称】アダプティブ ロボティクス アーエス
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ホルイェム、エイシュタイン ホフ
(72)【発明者】
【氏名】エッゲン、グートブラント
(72)【発明者】
【氏名】ミーレ、トルシュタイン アンデルセン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS09
3C707KS10
3C707KT03
3C707KT06
3C707LS15
3C707MS08
(57)【要約】
ワークスペース要素(24)に離散化されたワークスペース(4)内のロボットのための動作プランニングを行う方法である。この方法は、第1のモデル(8a)を生成又は受信することと、複数の状態の各々及びそれらの状態の間のそれぞれの遷移に対し、第1のモデル(8a)と少なくとも部分的に衝突している1つ以上のワークスペース要素(26)を含む第1のセットを決定することを含む。第1のセットと、それぞれの状態及び遷移とに関する情報を含む第1のマッピングを生成する。この方法は、第1のモデル(8a)から拡張する第2のモデル(8b)を生成又は受信することと、複数の状態の各々及びそれらの状態の間の遷移に対し、第1のセット内のワークスペース要素に加え、第2のモデル(8b)と少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素(28)を含む第2のセットを決定することをさらに含む。前記第2のセットと、それぞれの状態及び遷移とに関する情報を含む第2のマッピングを生成する。
【特許請求の範囲】
【請求項1】
ロボットのための動作プランニングを行う方法であって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、
第1のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定することと、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶することと、
前記第1のモデルから拡張する第2のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定することと、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶することと、
を含む方法。
【請求項2】
前記第1のモデルは前記ロボットの第1のリンクの表現を含む、請求項1に記載の方法。
【請求項3】
前記第2のモデルは前記ロボットの第2のリンクの表現を含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記第2のモデルは前記ロボットのエンドエフェクタ又は感知装置の表現を含む、請求項1又は請求項2に記載の方法。
【請求項5】
前記他のモデルのうち少なくとも1つから拡張する追加のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記他のセット内の前記ワークスペース要素に加え、前記他のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む追加のセットを決定することと、
前記追加のセットと、前記追加のモデルが前記追加のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの前記遷移とに関する情報を含む追加のマッピングを生成し、前記追加のマッピングを追加のメモリ領域に記憶することと、
をさらに含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項6】
前記追加のモデルは前記ロボットの追加のリンクの表現を含む、請求項5に記載の方法。
【請求項7】
前記追加のモデルは前記ロボットのエンドエフェクタ又は感知装置の表現を含む、請求項5に記載の方法。
【請求項8】
前記エンドエフェクタは、ハンド、グリッパー、爪、ジョー、万力、ピンセット、ピン、ニードル、磁気装置、吸引カップ、溶接工具、切削工具、圧延工具、ハンマー、レーザ、ドリル、メス及び/又は塗料スプレーガンのうちの少なくとも1つを含む、請求項4又は請求項7に記載の方法。
【請求項9】
各モデルによって少なくとも部分的に重複した前記ワークスペース要素のセットを決定するステップは、前記モデルによってもたらされる動きのそれぞれの次元によって許容される前記状態及び遷移をチェックすることを含む、請求項1~請求項8のいずれか一項に記載の方法。
【請求項10】
各モデルによって少なくとも部分的に重複した前記ワークスペース要素のセットを決定するステップは、静的障害物との衝突及び/又は自己衝突について前記状態及び遷移をチェックすることを含む、請求項1~請求項9のいずれか一項に記載の方法。
【請求項11】
前記モデルのうちの少なくとも2つはそれぞれ同一の物理的エンティティの表現である、請求項1~請求項10のいずれか一項に記載の方法。
【請求項12】
前記第1のメモリ領域及び前記第2のメモリ領域はそれぞれメモリ内にあり、必要に応じて前記メモリはローカルである、請求項1~請求項11のいずれか一項に記載の方法。
【請求項13】
前記方法は並列処理ユニットで少なくとも部分的に行われ、必要に応じて、前記並列処理ユニットはグラフィカル処理ユニットを備え、必要に応じて、前記第1のメモリ領域及び前記第2のメモリ領域はそれぞれ前記並列処理ユニットのメモリ内にある、請求項1~請求項12のいずれか一項に記載の方法。
【請求項14】
1つ以上のマッピングがリモートメモリ又はオフチップメモリに記憶される、請求項1~請求項13のいずれか一項に記載の方法。
【請求項15】
前記第1のセット内にある前記第2のセットから1つ以上のワークスペース要素を除去することをさらに含む、請求項1~請求項14のいずれか一項に記載の方法。
【請求項16】
1つよりも多くの前記モデルと少なくとも部分的に衝突している1つ以上のワークスペース要素が、前記モデルの各々に対応する前記セットに含まれる、請求項1~請求項15のいずれか一項に記載の方法。
【請求項17】
1つよりも多くの前記モデルと少なくとも部分的に衝突している1つ以上のワークスペース要素が、前記モデルのうちの1つのみに対応する前記セットに含まれる、請求項1~請求項16のいずれか一項に記載の方法。
【請求項18】
前記ロボットの静的パーツと少なくとも部分的に衝突している1つ以上のワークスペース要素に関する情報を含むベースのマッピングを生成することを含む、請求項1~請求項17のいずれか一項に記載の方法。
【請求項19】
前記マッピングのうちの1つ以上のために記憶された前記情報は複数の注目点を含むことができ、必要に応じて、前記注目点のうちの1つ以上はコーナー及び/又は中心点を含む、請求項1~請求項18のいずれか一項に記載の方法。
【請求項20】
前記ワークスペースを異なる形状及び/又はサイズのワークスペース要素に離散化することを含む、請求項1~請求項19のいずれか一項に記載の方法。
【請求項21】
前記マッピングを使用して前記ロボットがたどる経路を生成することをさらに含む、請求項1~請求項20のいずれか一項に記載の方法。
【請求項22】
1つよりも多くの前記モデルが少なくとも部分的に軸対称であり、複数の回転状態について部分的に同様に占有される前記ワークスペース要素に関する情報を、そのモデルのためのマッピングに1度だけ記憶することを含む、請求項1~請求項21のいずれか一項に記載の方法。
【請求項23】
遷移の一方向へのワークスペース要素のヒットのみを、対応するセットに記憶する、請求項1~請求項22のいずれか一項に記載の方法。
【請求項24】
遷移のワークスペース要素のヒットで、前記遷移がつながる状態のいずれにも見られないものだけを対応するセットに記憶する、請求項1~請求項23のいずれか一項に記載の方法。
【請求項25】
組み合わされた動きに対応するワークスペース要素のヒットを上部リンクに対してのみ記憶し、下部リンクのための単純な遷移を再使用する、請求項1~請求項24のいずれか一項に記載の方法。
【請求項26】
第1の次元及び第2の次元の前記状態及び遷移を構造化ロードマップとして構成し、必要に応じて、PDRMを用いて前記構造化ロードマップを構成する、請求項1~請求項25のいずれか一項に記載の方法。
【請求項27】
ロボットのための動作プランニングを行うように構成された動作プランナであって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、
第1のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定し、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶し、
前記第1のモデルから拡張する第2のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定し、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶する、
ように構成された動作プランナ。
【請求項28】
並列処理ユニットをさらに備え、前記動作プランニングは前記並列処理ユニットを少なくとも部分的に用いて行われ、必要に応じて、前記並列処理ユニットはグラフィカル処理ユニットを備え、及び/又は必要に応じて、前記第1のメモリ領域及び前記第2のメモリ領域はそれぞれ前記並列処理ユニットのメモリ内にある、請求項27に記載の動作プランナ。
【請求項29】
プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含む非一時的コンピュータ可読媒体であって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、前記方法は、
第1のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定することと、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶することと、
前記第1のモデルから拡張する第2のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定することと、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶することと、
を含む、非一時的コンピュータ可読媒体。
【請求項30】
ロボットのための動作プランニングを行う方法であって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、
マッピングのライブラリから第1のマッピングを選択することを含み、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含み、
前記マッピングのライブラリから第2のマッピングを選択することを含み、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、
方法。
【請求項31】
前記マッピングのライブラリからさらなるマッピングを選択することをさらに含み、前記さらなるマッピングは、前記第1のセット及び前記第2のセット内の前記ワークスペース要素に加え、前記第1のモデル及び/又は前記第2のモデルから拡張するさらなるモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含むさらなるセットに関する情報をさらに含み、前記さらなるマッピングは、前記さらなるモデルが前記さらなるセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、請求項30に記載の方法。
【請求項32】
第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第3のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第3のセットに関する情報を含む第3のマッピングと、前記第2のマッピングを置き換えることをさらに含み、前記第3のマッピングは、前記第3のモデルが前記第3のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、請求項30又は請求項31に記載の方法。
【請求項33】
前記モデルのうちの少なくとも2つはそれぞれ同一の物理的エンティティの表現である、請求項30~請求項32のいずれか一項に記載の方法。
【請求項34】
ロボットのための動作プランニングを行うように構成された動作プランナであって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、
マッピングのライブラリから第1のマッピングを選択することであって、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第1のマッピングの選択と、
前記マッピングのライブラリから第2のマッピングを選択することであって、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第2のマッピングの選択と、
を行うように構成された動作プランナ。
【請求項35】
プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含む非一時的コンピュータ可読媒体であって、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されており、前記方法は、
マッピングのライブラリから第1のマッピングを選択することを含み、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含み、
前記マッピングのライブラリから第2のマッピングを選択することを含み、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、
非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットのための動作プランニングに関し、詳細には、これに限定されないが、ロボットアームのような複数のリンクを有するロボットの衝突の検出及び防止のための動作プランニングに関する。
【背景技術】
【0002】
近年では、ロボット工学、特に、理想的にはリアルタイム条件下で変化する環境に適応する能力を備えたフレキシブルロボットに対する関心がますます高まっている。これは、ロボットが人間と一緒に作業をするなど、環境が予測不可能となりうる共同作業の場で特に注目されている。
【0003】
ロボット工学における共通の目的は、動作プランニングを行うこと、すなわち「ワークスペース(作業空間)」として特徴づけられる環境内で1つの位置又は状態から別の位置又は状態に移動するためにロボットがとるのに適した経路を決定することである。
【0004】
これは、例えば、ロボットアームが仕分けを必要とするオブジェクトを含むビン(箱)まで移動し、オブジェクトのうちの1つを持ち上げ、そのオブジェクトを別の適切な容器に移動させ、次いでビン又は何らかの他の位置に戻すことを含むことができる。このプロセスを行うために、これらの状態(すなわち、ベース(基部)において、ビンにおいて及び収容容器において)の各々を、適切な遷移を介して通過するロボットのための経路を計画しなければならない。当技術分野では、このプロセスを一般に「動作プランニング」と呼ぶ。
【0005】
ロボットの動作プランニング時には多くの考慮事項が関連する。ロボットは、状態の間をスムーズかつ効率的に移動することが好ましい。上記のように、ロボットは周囲環境内のオブジェクトとの相互作用が必要になることがある。しかしながら、多くの用途において、ロボットは、例えば環境内の静的オブジェクト、動的ターゲット(人間、動物又は他のロボットなど)及びそれ自体(「自己衝突」)など、環境内の障害物と衝突しないことも重要である。したがって、一般に、特定のタスクをロボットに安全かつ効果的に実行させる適切な経路を計画することを目的としている。もちろん、例えばロボットを使用してボタンを押したりドアを開けたりする場合など、いくつかの用途では衝突が望まれることがある。
【0006】
動作プランニングの一般的な戦略はいくつかのノード及びエッジからなる「ロードマップ」又は「グラフ」を生成することであり、ロードマップ内の各ノードは、詳細に後述するように、ロボットの状態に対応する1つ以上の変数を表す。これらのノードを接続するグラフのエッジは状態の間の遷移を表す。当技術分野でそれ自体知られているグラフ検索技術を使用して、所望の動作を見つけることができる。
【0007】
ロボットの「構成」は、関節(ジョイント)毎に要素(すなわち、ベクトル内のエントリ)を有するベクトルを用いて一般的に説明される関節の角度に対応し、各要素は自由度に対応し、したがってベクトルは一般的に関節の数と同じ数の要素を有する。
【0008】
ロボットの「ポーズ(姿勢)」は、例えば6自由度を有することのできるエンドエフェクタの位置及び向きに対応する。ポーズを構成から計算することができる。多くの場合、所与のポーズをいくつかの構成によって実現することができる(関節の数が6を超える場合、所与のポーズを実現することのできる構成は通常数えきれないほどある)。
【0009】
「構成空間」(又は「C空間」)は、一般的に関節の数と同じ数の次元を有する。
【0010】
ロボットに関連して本明細書で用いる「状態」という用語は、ロボットの構成、ロボットの速度(又はロボットのパーツ)及び時間のうち1つ以上を含むことができる。「遷移」という用語は、それらの異なる状態(すなわち位置、速度、時間などの変化)間の遷移を意味するように用いられる。
【0011】
ワークスペース(すなわち、ロボットの環境の表現)は一般にいくつかの「ワークスペース要素」に離散化され、これらをボクセル、ピクセル、セル又は同様のものとすることができる。オンライン動作プランニング時の動作の効率的な無効化を可能にするために当技術分野で知られている例示的なアプローチは、レベン(P.Leven)及びハッチンソン(S.Hutchinson)の「変化する環境におけるリアルタイム経路プランニングのためのフレームワーク(A framework for real-time path planning in changing environments)」(ジ・インターナショナル・ジャーナル・オブ・ロボティックス・リサーチ(The International Journal of Robotics Research)、2002年)に記載の「動的ロードマップ」(DRM)アプローチであり、これは離散化されたワークスペースとロードマップとの間に「マッピング」を生成することを含む。マッピングはオフラインでの構築が可能であり、どのノード及びエッジがどのワークスペース要素と(一般には全体的に又は部分的に)衝突を引き起こすかに関する情報を含む。さらなるアプローチが、「シューマン-オルセン(Schumann-Olsen,H.)、バッケン(Bakken,M.)、ホルヘム(Holhjem,φ.H.)及びリショルム(Risholm,P.)、2014年、「複雑な動的シーンにおけるリアルタイム動作プランニングのための並列動的ロードマップ(Parallel dynamic roadmaps for real-time motion planning in complex dynamic scenes)、サード・ワークショップ・オン・ロボッツ・イン・クラッター(3rd Workshop on Robots in Clutter)、米国電気電子学会(IEEE)」に記載されている。このアプローチは「並列DRM」(PDRM)アプローチと呼ばれ、「構造化ロードマップ」を構築してこれを活用する方法を記載している。
【0012】
次のオンラインプランニングプロセスの際に、マッピングをルックアップテーブルとして使用することができ、ワークスペース内の障害物と衝突するロードマップ内の任意のノード又はエッジを無効にする。静的障害物の位置及び環境のレイアウトを事前に知ることができる一方で、オンライン動作時に、例えば3Dセンサ(例えば3D又は「ステレオ」カメラ)などのセンサを使用して動的障害物及び環境の変化を検出することができる。例えば、人間、オブジェクト又は他のロボットの位置及び動きをランタイム動作中に検出することができ、及び/又はそれらの挙動を予測することができる。
【0013】
一般に、所与のタスクのための経路を計画するために、ロードマップが設けられたプランナには開始状態及び終了状態が与えられ、プランナはロードマップを使用して、例えば最短経路、最も効率的な経路など、ロードマップを通る衝突なしの適切な経路を見出す。ここでは、無効にしたノード及びエッジは考慮に入れない。
【0014】
しかしながら、当技術分野においてそれ自体が既知である従来のアプローチに従って、マッピングは、所与のロードマップ、物理的なロボットのセットアップ及びローカルワークスペースに対して固定される。ロードマップ、ロボット及び/又はワークスペースのいずれかが変更された場合、マッピング全体を変更して再作成する必要がある。これは、追加されるセンサ、異なるグリッパー(及びグリッパーの状態)、持ち上げられるオブジェクトなど、ロボットに対して行われる任意の物理的変更も含む。これは、計算処理上は特に効率的というわけではなく、変更が行われた場合のためにパーツの種々の順列及び組み合わせをカバーする多数のマッピングを「手元に」用意しておくか、又はロードマップ、ロボット及び/又はワークスペースの変更に対応するためにまったく新しいマッピングを生成する必要があるため、結果としてかなりのメモリ容量が必要になる。
【0015】
本出願人は、ロードマップ、ロボット及び/又はロボットによって持ち上げられるオブジェクトの物理的範囲、ならびにワークスペース(又はワークスペース解像度)を、マッピング全体の再作成の必要なしで変更できるように、よりフレキシブルなマッピングを提供することが特に有利であると認識した。
【発明の概要】
【課題を解決するための手段】
【0016】
第1の態様から見ると、本発明はロボットのための動作プランニングを行う方法を提供する。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
第1のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定することと、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶することと、
前記第1のモデルから拡張する第2のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定することと、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶することと、
を含む。
【0017】
本発明の第1の態様は、ロボットのための動作プランニングを行うように構成された動作プランナにも適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記動作プランナは、
第1のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定し、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶し、
前記第1のモデルから拡張する第2のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定し、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶する、
ように構成されている。
【0018】
また、本発明の第1の態様は、上記のような動作プランナを含むロボットにも適用される。したがって、本発明の第1の態様は、ワークスペース内の複数の状態の間で動作するように構成されたロボットに適用され、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記ロボットは、ロボットのための動作プランニングを行うように構成された動作プランナをさらに含み、前記動作プランナは、 第1のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定し、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶し、
前記第1のモデルから拡張する第2のモデルを生成又は受信し、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定し、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶する、
ように構成されている。
【0019】
本発明の第1の態様は、プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含む非一時的コンピュータ可読媒体にさらに適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
第1のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定することと、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶することと、
前記第1のモデルから拡張する第2のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定することと、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶することと、
を含む。
【0020】
本発明の第1の態様は、プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含むコンピュータソフトウェア製品にさらに適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
第1のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットを決定することと、
前記第1のセットと、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第1のマッピングを生成し、前記第1のマッピングを第1のメモリ領域に記憶することと、
前記第1のモデルから拡張する第2のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記第1のセット内の前記ワークスペース要素に加え、前記第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットを決定することと、
前記第2のセットと、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報を含む第2のマッピングを生成し、前記第2のマッピングを第2のメモリ領域内に記憶することと、
を含む。
【0021】
したがって、本発明の実施形態は、第1のモデル(後述するようにロボットの第1のリンクであってもよい)のためのマッピングを生成し、記憶する一方で、第2のモデル(後述するようにロボットの第2のリンク又は何らかの他のオブジェクトであってもよい)のためのマッピングを第1のモデルのためのマッピングの上に構築する、改善されたアプローチを提供することが理解されよう。ロボットの種々のパーツ及び/又は外部オブジェクト(例えば、ロボットによって操作されるオブジェクト)のマッピングは「モジュール式」であり、これらを互いに組み合わせて動作プランニングに適したロボット全体のマッピングを提供することができる。
【0022】
さらに詳細に後述するように、本発明はマッピング全体の「スワップアウト」を必要とせずに(すなわち、「ロボット全体の」マッピングの置き換えを必要とせずに)ロボットのセットアップを変更することができる。換言すると、ロボット及び/又は環境への変更が望まれる際に、マッピング全体を再生成したり、システムのメモリ及び計算要件を一般的に増加させる多数のロボット全体のマッピングを生成して記憶することなく、含まれる構成要素及びそれらの配置を容易に変更することができる。
【0023】
第2のマッピングは、第1のマッピングにおけるワークスペース要素に追加されるワークスペース要素の「ヒット」(すなわち、第2のモデルと少なくとも部分的に衝突しているワークスペース要素と、これらの衝突を生じた対応する状態及び/又は遷移とに関する情報)を含むため、これにより、さらに詳細に後述するような構造化ロードマップを使用する場合、ロボットが有するリンクの数、リンクのタイプ、ロボットによって運ばれるオブジェクトなど、所与のロボットのセットアップに関連するマッピングを記憶するのに必要なメモリを大幅に圧縮することもできる。
【0024】
上記のように、いくつかの実施形態では、第1及び第2の次元、そして必要に応じていくつか又は全てのさらなる次元の状態及び遷移を、構造化ロードマップを用いて構成することができる。これは、先に言及したPDRM技法を用いて実現可能である。例えば、2リンクのロボットを考察すると、第2のリンクは、第1のリンクの全ての状態に対して、その状態の全てにおいてポーズをとることができる。構造化ロードマップの使用によって、有用なことに、第2の次元などに対してよりも第1の次元に対して一意的な状態をはるかに少なくすることができ、そのリンク(又は他のエンティティ)に対して同じ「サブ状態」を有する全ての状態に対してマッピングを再使用することにより、メモリを大幅に節約することができる。構造化ロードマップは本発明の要件ではないが、本発明はこのような構造化ロードマップに特によく適している。
【0025】
しかしながら、本発明の原理は、ランダムサンプリング技術又は確率的サンプリング技術など、当技術分野でそれ自体が既知であるいずれの他のロードマップ構築アプローチにも適用される。
【0026】
いくつかの実施形態において第1のモデル及び/又は第2のモデルを異なるオブジェクト及び/又は1つ以上のさらなるオブジェクトに置き換え可能な物理エンティティを追加することができ、これらの追加又は代わりのエンティティの各々は、さらなるモデルによって少なくとも部分的に重複した対応する追加の要素とともに記憶されたそれぞれの独自のマッピングを有することができる。このさらなるモデルは、追加又は代わりの物理エンティティの表現を含むことができる。
【0027】
いくつかの実施形態において、前記第1のモデルは前記ロボットの第1のリンクの表現を含む。本発明は、マルチリンクロボット、すなわち複数の自由度を有するロボットアームのような複数のリンクを有するロボットに特によく適している。したがって、重複する可能性のある実施形態のセットにおいて、前記第2のモデルは前記ロボットの第2のリンクの表現を含む。
【0028】
一般に、ロボットがマルチリンクロボットである実施形態において、各リンクはそれぞれの動きの次元(すなわち「自由度」)を提供することができる。したがって、各モデルによって少なくとも部分的に重複した前記ワークスペース要素のセットを決定する前記ステップは、前記モデルによってもたらされる動きのそれぞれの次元によって許容される前記状態(すなわちノード)及び遷移(すなわちエッジ)をチェックすることを含む。
【0029】
重複する可能性のあるいくつかの実施形態において、各モデルによって少なくとも部分的に重複した前記ワークスペース要素のセットを決定する前記ステップは、静的障害物との衝突及び/又は自己衝突について前記状態及び遷移をチェックすることを含む。したがって、環境内の既知の静的障害物及び/又はロボット自体のいずれかとの衝突を必然的にもたらす状態及び遷移を、検討対象から自動的に除外することができる。これは一般に、キネマティックチェーンのさらに外にあるオブジェクト、すなわち後のリンク、エンドエフェクタ及び/又は外部オブジェクトの検討に影響を及ぼすことにもなる。
【0030】
ロボットは、追加的に又は代替的にエンドエフェクタを含むことができる。したがって、第2のモデル(又は本発明の特定の実施形態に関して述べるさらなるモデル)はエンドエフェクタの表現を含むことができる。エンドエフェクタが、通常ロボットアームの端部に位置し、ロボットの環境又は外部オブジェクトと相互作用するデバイスであることを、当業者は理解するであろう。したがって、実施形態のセットにおいて、第2のモデルはロボットのエンドエフェクタの表現を含む。したがって、実施形態の1つのセットにおいて、ロボットをアームリンクとし、アームリンクの遠位端にエンドエフェクタを有してもよい。しかしながら、さらに詳細に後述するように、いくつかの実施形態では、例えば複数のこのようなアームリンクが直列に配置され、最後のリンクの遠位端にエンドエフェクタを有するロボットアームなど、より複雑な構成が提供される。エンドエフェクタは、1つ以上の動きの次元(すなわち自由度)をロボットに提供することもできる。
【0031】
本発明に従って使用することのできる、当技術分野でそれ自体が既知である異なるタイプのエンドエフェクタが多数ある。非限定的な例として、前記エンドエフェクタは、ハンド、グリッパー、爪、ジョー、万力、ピンセット、ピン、ニードル、磁気装置(永久磁石及び/又は電磁石を含む)、吸引カップ、溶接工具、切削工具、圧延工具、ハンマー、レーザ、ドリル、メス及び/又は塗料スプレーガンのうちの少なくとも1つを含むことができる。
【0032】
実施形態の特定のセットにおいて、特定のエンドエフェクタには、その異なる動作位置(又は「エンドエフェクタの状態」)に対応する1つよりも多くのモデルを利用することができる。例えば、グリッパーを、開(すなわち、把持していない)位置で1つのモデルとして、閉(すなわち、把持している)位置で別のモデルとしてモデル化することができる。本発明の実施形態によって提供される有利なモジュール式アプローチにより、動作プランニングを行う際に、エンドエフェクタの現在の状態又は計画された状態に対して適切なモデルを生成又は受信することができる。もちろん、オブジェクトに向かって移動する際には開いたグリッパー、オブジェクトを持ち上げて目的地まで移動する際には閉じたグリッパーなど、経路の異なるセクションに対して異なるマッピングを使用することができる。
【0033】
ロボットは、追加的に又は代替的に感知装置を含むことができる。このような感知装置は、カメラ、ステレオカメラ、赤外線センサ、光検出及び測距(LIDAR)センサ、マイク、超音波センサ、近接センサ、加速度計、ジャイロスコープ、磁力計、温度プローブ、圧力センサ、煙検出器、ガスセンサ、湿度センサ、及びpHプローブを含む群からの1つ以上のセンサを含むことができる。したがって、第2のモデル(又は本発明の特定の実施形態に関して述べられるさらなるモデル)は、感知装置の表現を含むことができる。
【0034】
本発明の原理は、ロボットによって相互作用することのできる「ターゲット」オブジェクトにも適用される。これらは、ロボットがタスクを実行している際に持ち上げられ、運ばれ、操作され、接触され、移動され、押され、引かれなどされうるオブジェクトの種類である。したがって、実施形態のセットでは、第2のモデル又はさらなるモデルなど、少なくとも1つのモデルは外部ターゲットオブジェクトの表現を含む。これは、例えば、ターゲットオブジェクトが製品(例えばボルト、ネジ、金属板、配線、モータ、ガラス、電子機器、パイプなど)に組み立てるためのパーツを含みうる組立ライン上で有用となりうる。この用途の他の非限定的な例としては倉庫保管及びリサイクル工場が挙げられる。
【0035】
ロボットのパーツ(例えばリンク)は一般に状態(すなわちノード)間で2方向に移動することができ、すなわち、遷移(すなわちエッジ)は「前方」(すなわち、ノードAからノードB)又は「後方」(すなわち、ノードBからノードA)に横断できることが理解されよう。エッジは双方向であり、常に同じボリュームを掃引するため、いくつかの実施形態では、遷移の一方向でのワークスペース要素のヒット(すなわち、所与のモデルと少なくとも部分的に衝突するワークスペース要素)のみを記憶する。記憶する方向のエッジを「順方向エッジ」と呼ぶ。反対方向のエッジ、すなわち「逆方向エッジ」のヒットは暗黙的に記憶される。オンラインでの実行時に、逆方向エッジの妥当性をチェックするために隣接ノードの対応する順方向エッジがチェックされる。
【0036】
冗長な情報の記憶を避けるために、いくつかの実施形態では、所与の遷移が接続する状態のいずれにも見つからない、その遷移のヒットのみが記憶される。これは、状態又はノードが互いに近接して配置されている場合、いくつかの遷移又はエッジについて、ヒットがない可能性があることを意味する。換言すると、ノードがヒットを生じる場合、そのノードに接続する全てのエッジについてこれを暗黙的に記憶することができ、これらのエッジのヒットに関する情報の記憶のためにスペースを無駄にすることはない。
【0037】
遷移をロボットのいくつかの関節(すなわち、多次元のエッジ)の組み合わされた動きとすることができる。しかしながら、この組み合わされた動きに寄与する「最下部の」リンク(すなわち、最も内側)については、この動きはそのリンクの単純な動きにすぎず、例えば構造化ロードマップを使用している場合、対応する単純なエッジのために既に記憶されている場合があると本出願人は認識した。したがって、いくつかの実施形態では、組み合わされた動きに対応するワークスペース要素のヒットをより高いリンクについてのみ記憶する一方で、より低いリンクについての単純な遷移を再使用することができる。柔軟性をさらに高めるために、いくつかの実施形態では、組み合わされた遷移(すなわちエッジ)毎のマッピングを別々に記憶することができ、必要に応じてオンラインでの使用のために組み合わせることができる。
【0038】
前述のように、本発明は2つのモデルの使用に限定されず、さらなるオブジェクトも同様に含むことができる。したがって、いくつかの実施形態において、この方法は、
前記他のモデルのうち少なくとも1つから拡張する追加のモデルを生成又は受信することと、
前記複数の状態の各々及びそれらの前記状態の間のそれぞれの前記遷移に対し、前記他のセット内の前記ワークスペース要素に加え、前記他のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む追加のセットを決定することと、
前記追加のセットと、前記追加のモデルが前記追加のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの前記遷移とに関する情報を含む追加のマッピングを生成し、前記追加のマッピングを追加のメモリ領域に記憶することと、
をさらに含む。
【0039】
このような追加のモデルが複数あってもよく、各モデルは他のモデル(すなわち、リンク、エンドエフェクタ又は他のオブジェクトに対応するモデルのいずれか)から任意の適切な構成で拡張することができる。すなわち、ロボット及び外部オブジェクトの種々のパーツは互いに直列に拡張する必要はなく、他の構成が可能であり、これにより、種々のリンク及び/又はオブジェクト、よって対応するモデルはツリー状構造で互いに「分岐」することができ、及び/又はループを形成することができる。各追加のモデルは、必要に応じてロボット、エンドエフェクタ又は外部ターゲットオブジェクトのリンクの表現を含むことができる。
【0040】
したがって、様々な物理エンティティ、すなわちロボットの構成要素及び/又は外部ターゲットオブジェクトのためのマッピングのライブラリを生成し、動作プランニングに使用することができることが理解されよう。ロボットから拡張しうるリンク、エンドエフェクタ及び/又はターゲットオブジェクト毎にマッピングを作成及び記憶することができ、これらのマッピングをライブラリから選択して、ロボットの特定の構成に対する所与のタスクのための経路を容易に計画することができる。このモジュール式アプローチは、ロボットの構成要素(例えば、リンク及びエンドエフェクタ)及び/又は外部オブジェクトのあらゆる組み合わせ及び順列に対してマッピング全体を作成する必要がなく、これにより大幅なメモリ節約を実現することができるため、非常に有益である。マッピングのこのようなライブラリの使用は、マッピングの生成にかなりの時間を要する構成においても有用である。マッピングを事前に生成し、後で使用するためにそれらを記憶することにより、マッピングの所望のセレクションを必要に応じてメモリから取り出すことができる。
【0041】
マッピングをライブラリから選択し、モジュール方式で組み合わせることのできる構成は、それ自体が新規であり、発明的である。したがって、第2の態様から見ると、本発明はロボットのための動作プランニングを行う方法を提供する。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
マッピングのライブラリから第1のマッピングを選択することを含み、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含み、
前記マッピングのライブラリから第2のマッピングを選択することを含み、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む。
【0042】
本発明の第2の態様はロボットのための動作プランニングを行うように構成された動作プランナに適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記動作プランナは、
マッピングのライブラリから第1のマッピングを選択することであって、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第1のマッピングの選択と、
前記マッピングのライブラリから第2のマッピングを選択することであって、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第2のマッピングの選択と、
を行うように構成されている。
【0043】
また、本発明の第2の態様は、上記のような動作プランナを含むロボットにも適用される。したがって、本発明の第2の態様は、ワークスペース内の複数の状態の間で動作するように構成されたロボットに適用され、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記ロボットは、ロボットのための動作プランニングを行うように構成された動作プランナをさらに含み、前記動作プランナは、
マッピングのライブラリから第1のマッピングを選択することであって、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第1のマッピングの選択と、
前記マッピングのライブラリから第2のマッピングを選択することであって、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む、前記マッピングのライブラリからの第2のマッピングの選択と、
を行うように構成されている。
【0044】
本発明の第2の態様はさらに、プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含む非一時的コンピュータ可読媒体に適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
マッピングのライブラリから第1のマッピングを選択することを含み、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含み、
前記マッピングのライブラリから第2のマッピングを選択することを含み、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む。
【0045】
本発明の第2の態様は、プロセッサによって実行されるとロボットのための動作プランニングを行う方法を前記プロセッサに実行させる命令を含むコンピュータソフトウェア製品にさらに適用される。ここで、前記ロボットはワークスペース内の複数の状態の間で動作するように構成されており、前記ワークスペースは複数の離散化されたワークスペース要素によって表され、前記状態の各々は少なくとも1つのそれぞれの遷移を介して少なくとも1つの他の状態に接続されている。前記方法は、
マッピングのライブラリから第1のマッピングを選択することを含み、前記第1のマッピングは、第1のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第1のセットに関する情報を含み、前記第1のマッピングは、前記第1のモデルが前記第1のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含み、
前記マッピングのライブラリから第2のマッピングを選択することを含み、前記第2のマッピングは、前記第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第2のモデルと少なくとも部分的に衝突している1つ以上のさらなるワークスペース要素を含む第2のセットに関する情報を含み、前記第2のマッピングは、前記第2のモデルが前記第2のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む。
【0046】
上記のように、第1のモデル及び第2のモデルはそれぞれ、ロボット、エンドエフェクタ又は外部ターゲットオブジェクトのリンクの表現とすることができる。
【0047】
マッピングへのこのモジュール式「ライブラリ」のアプローチにより、さらなるマッピングをそれから上に加えることができる。したがって、いくつかの実施形態において、この方法は、前記マッピングのライブラリからさらなるマッピングを選択することをさらに含み、前記さらなるマッピングは、前記第1のセット及び前記第2のセット内の前記ワークスペース要素に加え、前記第1のモデル及び/又は前記第2のモデルから拡張するさらなるモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含むさらなるセットに関する情報をさらに含み、前記さらなるマッピングは、前記さらなるモデルが前記さらなるセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む。
【0048】
また、この方法は1つのマッピングの別のマッピングへの置き換えを提供する。したがって、いくつかの実施形態において、前記第2のマッピングを、第1のセット内の前記ワークスペース要素に加え、前記第1のモデルから拡張する第3のモデルと少なくとも部分的に衝突している1つ以上のワークスペース要素を含む第3のセットに関する情報を含む第3のマッピングと置き換えることができ、前記第3のマッピングは、前記第3のモデルが前記第3のセット内のそれぞれの前記ワークスペース要素と少なくとも部分的に衝突しているそれぞれの前記複数の状態及びそれぞれの遷移とに関する情報をさらに含む。したがって、非限定的な例として、現行のセットアップが、エンドエフェクタとしてグリッパーを有するロボットアームに対応する場合、第1のモデル及び第2のモデルはアームリンク及びグリッパーに対応することができる。しかしながら、グリッパーを切削工具に置き換える場合、第2のモデルを、切削工具に対応する第3のモデルに置き換えることができる。
【0049】
もちろん、任意の数の追加及び置き換えを行って、対象となる実際のロボットのセットアップに対応するマッピングを選択できることが理解されよう。
【0050】
本発明の前述の態様に関して上に説明した種々のモデルは、必ずしも異なる物理エンティティに関連する必要はない。いくつかの実施形態において、モデルのうちの少なくとも2つはそれぞれ同一の物理エンティティの表現である。このような構成では、1つのモデルを他のモデルの拡張とし、エンティティが有しうる異なる範囲をカバーすることができる。これは、前述のロボットレベルでモデルをモジュール式で使用できる態様と同様に、特定の物理エンティティのモジュール式モデルをエンティティレベルで提供するものとみなすことができる。換言すると、所与の物理エンティティのための複数のモデルはオニオンのレイヤとして作用し、ここで「外側」モデルは他の「内側」モデルを部分的に又は完全に包みこむか又はそれらから拡張することができる。これは、多数の異なる外部ターゲットオブジェクト、すなわちロボットによって操作されるオブジェクトのマッピングの生成にとりわけ有益となりうる。例えば、ロボットがパイプの長さを操作するように構成されている場合、第1のモデルは特定の直径及び長さを有するパイプを表すことができる一方、第2のモデルは異なる直径及び/又は長さを有するパイプを表すことができ、ここで第2のより大きなパイプのマッピングは第1のより小さなパイプのマッピングの上に「構築される」。
【0051】
この「オニオン」アプローチは、エンドエフェクタなどのロボットのパーツにも有用となりうる。非限定的な例として、第1の指が静止しており、何かを把持するために第2の指を第1の指に向かって及び第1の指から離れるように動かすことのできる2つの指を有するペンチ様のグリッパーを考察する。このグリッパーを単一のモデル(又は、開位置及び閉位置の各々に対して1つである一対のモデル)としてモデル化するのではなく、グリッパーの「静的」パーツ(すなわち、第1の指と、指が伸びている「手」又は「掌」の残りの部分)が1つのモデルによって表され、動的パーツ(すなわち第2の指)が種々の位置(例えば、完全に開いた位置、完全に閉じた位置及び/又は1つ以上の中間位置)のためのさらなるモデルによって表されるように、上記のような「オニオン様の」アプローチを使用することができる。もちろん、これは、(例えば、先のグリッパーの例において双方の指が移動した場合など)複数の移動要素を有するパーツに適用される。
【0052】
次に、第1の指のためにどのワークスペース要素がヒットされているか(すなわち、少なくとも部分的に衝突しているか)、次にその位置に応じて第2の指のためにどの追加の要素がヒットされるかに関する情報を効率的に記憶するマッピングを生成することができる。これにより、グリッパーの構成が変化した(又は変更することが予定されている)場合に、グリッパー全体のモデル、又は従来のアプローチの場合ではグリッパーを含むロボット全体のモデルを交換することなく、第2の指のために使用されるモデルを容易にスワップアウトすることができる。
【0053】
マッピングを記憶するために使用される「メモリ領域」は、データを記憶するためのいずれの適切な構成も可能である。いくつかの実施形態において、第1のメモリ領域及び第2のメモリ領域はそれぞれメモリ内にあり、これらは同一のメモリ内にあってもよい。いずれの追加のメモリ領域も、必要に応じて、その同一メモリ内にあってもよいし異なるメモリ内にあってもよい。メモリは、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ソリッドステートデバイス(SSD)、ハードディスクドライブ(HDD)、FLASHストレージ、専用ビデオRAM(VRAM)又は他の適切なメモリデバイスのうちの少なくとも1つとすることができる。
【0054】
メモリはローカルである、すなわち、動作プランニングを行うために使用されている同一のデバイス、システム又は装置内に位置することが好ましい。少なくともいくつかの実施形態において、マッピングのうちの1つ以上を並列処理ユニットのメモリにローカルに記憶することができるため、本発明の実施形態は、動作プランニングプロセスが並列処理ユニット(例えばGPU)上で少なくとも部分的に実行される場合にとりわけ有益である。これは、外部エンティティへの(例えばネットワークを介した)いかなる接続にも依存することなく、マッピングを必要に応じて迅速に「切り換える」ことができる。いくつかの構成では、並列処理ユニット(例えばGPU)を中央処理ユニット(CPU)と共に使用することができ、マッピングを用いた計算を並列処理ユニットに送ることができる。
【0055】
しかしながら、重複している可能性のある実施形態のセットにおいて、1つ以上のマッピングをリモートメモリ又はオフチップメモリに記憶することができる。この文脈における「リモート」又は「オフチップ」という用語は、動作プランニングを行うデバイス(例えば動作プランナ)の外部又はデバイスの特定の部分(例えば特定のプロセッサ)を意味することが理解されよう。例えば、動作プランニングが特定のプロセッサによって行われている場合、そのプロセッサ及び任意の関連するオンチップメモリの外部にマッピングを記憶することができる。このような構成では、マッピングを外部に(例えば、オフチップストレージ、外部サーバ、別のデバイス上又はクラウド内に)記憶し、動作プランニングを行うデバイスにストリーミングすることができる。「リモート」メモリ構成では、通常データ(例えばロードマップ及び/又はマッピング)をオフチップメモリ(又は何らかの他の外部記憶デバイス)から動作プランナに送信することが理解されよう。そして、データを使用後(このタスクにメモリが必要なくなったら直ちに、所定の時間の経過後、又は別のタスクのためにメモリが必要となったら直ちにのいずれか)に廃棄することができる。モジュール式マッピングは、例えば、ロボット全体ではなくマッピングが必要なパーツのみに関してより小さなマッピングをオフチップメモリからプロセッサに転送することのできる構成において有利となりうる。これにより、ほんの一例として、帯域幅又は信頼性のより低いネットワーク接続を使用することができる。さらに有利なことに、これは、マッピングの生成にかなりの時間を要する場合に有用であり、したがって、必要とされる特定のマッピングを必要に応じて外部メモリからダウンロードできることは特に有益となりうる。
【0056】
いくつかのマッピングをローカルに記憶する(例えば、頻繁に使用されるもの、又は現在使用中のものに密接に関連するもの)一方で他のマッピングをリモートで記憶し、必要に応じてストリーミングできるように、これらのローカルメモリとストリーミングのアプローチのハイブリッドを使用することができる。
【0057】
上記のように、後のセット(例えば第2のセット)は、前のセット(例えば第1のセット)のものに追加された1つ以上のワークスペース要素を含む。したがって、後のセットに関連した対応するモデルを含むことによってヒットされるワークスペース要素は適切なマッピングの生成のために使用されるが、「前の」モデルによって「ヒット」されたワークスペース要素を記憶する必要はない。いくつかの実施形態では、例えば、検討されている新しいモデルによるワークスペース要素の「新しい」ヒットのみを探す検出プロセスを用いることにより、これらの「追加の」ワークスペース要素を直接決定することができる。しかしながら、いくつかの他の実施形態において、この方法は、第1のセット内にある1つ以上のワークスペース要素を第2のセットから除去することを含む。換言すると、第2のセットの決定は、最初に、他の以前のモデルによってヒットされたワークスペース要素の決定も含むことができるが、次に、既に以前のセット内にある1つ以上の(場合によっては全ての)これらのワークスペース要素を除去し、これらを重複して記憶しないようにすることを含むことができる。
【0058】
所与のモデルと少なくとも部分的に衝突しているワークスペース要素を適切なセットに追加し、結果としてマッピングに含むことができるが、これは、そのモデルによって少なくとも部分的に重複したこのようなワークスペース要素の全てをそのセット及びマッピングに追加することを必ずしも意味するものではない。
【0059】
リンク及び/又はオブジェクトが例えば関節又はインターフェースにおいて互いに物理的に接触する場合、1つよりも多くのモデルと少なくとも部分的に衝突しているワークスペース要素がいくつか存在することが理解されよう。いくつかの実施形態では、これらのワークスペース要素は各モデルに対応するセットに含まれる。しかしながら、重複している可能性のあるいくつかの実施形態では、これらの「共有」ワークスペース要素のいくつか又は全てをセットのうちの1つにのみ含むことができる。適切な慣例を選択することができ、例えば、ワークスペース要素を、最も早いセット、すなわちロボットのベースに最も近いリンク又はオブジェクトに対応するセットに含むことができる。このような共有占有を有するワークスペース要素をセットのうちの1つのみに含めることによって必要なメモリの総量をさらに低減することができ、上記のような利点を高めることができる。しかしながら、関節及び/又はインターフェースに関する占有情報が関連するセットの各々に重複して記憶されることから利益を得る特定の構成が存在する場合がある。
【0060】
追加的に又は代替的に、特定のオブジェクト(例えばリンク)と少なくとも部分的に衝突しており、かつ、ロボットの静的パーツ(例えば、リンク及び/又はオブジェクトと、よって対応するモデルのうちの1つ以上が拡張するロボットベース)と少なくとも部分的に重複する1つ以上のワークスペース要素が存在してもよい。これらの「静的」ワークスペース要素を最も「内側」のセット(すなわち、第1のセットのもの)に含んでもよいし、ロボットの静的ベースによってヒットされるため、常に少なくとも部分的に占有されるワークスペース要素に関する情報を含む別個の「ベース」マッピングに記憶してもよい。したがって、いくつかの実施形態において、この方法は、ロボットの静的パーツと少なくとも部分的に衝突している1つ以上のワークスペース要素に関する情報を含むベースマッピングを生成することを含む。
【0061】
上記のように、マッピングは、少なくとも部分的に占有されているワークスペース要素に関する情報を記憶する。これは、いくつかの実施形態において、セット全体をマッピングとして記憶することを意味する場合がある。しかしながら、本出願人は、関連するワークスペース要素に関する情報を記憶する、メモリ効率のさらによい方法が存在しうると認識している。いくつかの実施形態において、マッピングのうちの1つ以上のために記憶された情報は、コーナー及び/又は中心点など複数の注目点を含むことができる。部分的に占有されたワークスペース要素は、「コーナー点」及び/又は「中心点」など、選択された数の「注目点」から再構成されうる1つ以上のアレイ、領域、表面及び/又はボリュームを形成できることが、当業者によって理解されるであろう。例えば、立方体状のオブジェクトに関連するモデルを考える。そのオブジェクトと少なくとも部分的に衝突しているワークスペース要素も立方体を形成することができる。これらの要素の全てを含むセットを記憶することができるが、2つの対向するコーナー(例えば、左下奥のコーナー及び右上手前のコーナー)だけで立方体全体を再構成できる。同様に、例えば、オブジェクトがその中心点からどれだけ遠くまで拡張しているかに関する知識と組み合わせた場合、中心点の知識を用いてオブジェクトを再構成することができ、ここで、この範囲(又は異なる方向における複数のこのような範囲)を必要に応じて中心点と一緒に記憶することができる。
【0062】
ワークスペース要素自体は、全て同一の形状及び/又はサイズである必要はなく、必ずしも「正方形/長方形の」ピクセル又は「立方/立方形の」ボクセルである必要はない。いくつかの実施形態では、ワークスペースを異なる形状及び/又はサイズのワークスペース要素に離散化する。これは、関心の高い領域ではより高い解像度(すなわち、より小さいワークスペース要素、したがってより高いワークスペース要素密度)を可能にする一方で、関心のより低い領域ではより低い解像度(すなわち、より大きいワークスペース要素、したがってより低いワークスペース要素密度)を可能にすることができる。ロボットが、ある環境で人間のオペレータと一緒に作業する特定の例において、人間が通常占有しロボットが殆どのタスクを実行する領域ではより高い解像度を使用する一方で、ロボットの後方や、人間もロボットもあまり時間を費やしそうにない領域の極端な周辺部ではより低い解像度を使用することができる。同様に、様々な形状のワークスペース要素を様々な領域で使用することができる。例えば、要素は、環境の特定のパーツに最も適切な形状に応じて、ある領域では湾曲した断面を有し、別の領域では四辺形の断面を有することができる。
【0063】
マップを初めから作成すると、高解像度マップからマップを再作成するよりも計算コストがかかるため、ワークスペースのサイズ及び解像度の柔軟性は非常に有益である。このようにして、ある範囲の解像度及びサイズのための多数のマップではなく、予め生成された1つの高解像度マップのみを記憶する必要があり、次に、この単一の高解像度マップを、必要性と利用可能な計算リソースに基づいて、様々な用途のために再使用することができる。
【0064】
前述の態様のいずれかのいくつかの実施形態では、マッピングを次に使用して、ロボットがたどる経路を生成することができる。換言すると、適切なマッピングの組み合わせを、ロボット全体に対する単一のマッピングが通常使用されるのと同じように使用して、ロボットが所与のタスクを実行するための適切なプランを生成することができる。
【0065】
前述の種々のモデルによって表される物理的エンティティは、ロボットの環境内で横方向に移動することができる。しかしながら、これらのエンティティのうちの1つ以上は、追加的に又は代替的に、1つ以上の軸を中心に回転することができる。例えば、グリッパーなどのエンドエフェクタは、手首をひねる人間の手と同様に、その主軸を中心に回転することができる。各回転は、ロボットの異なる横方向位置と同じように、ロボットの別の「状態」(例えば構成)を形成することができる。一般に、回転状態を何らかの方法で離散化することができ、これらの離散化した状態のマッピングを生成することができる。しかしながら、本出願人は、エンティティ又はエンティティの一部が1よりも大きい軸対称度を有しうることを認識している。例えば、2つの左右対称のプロペラブレードを有するプロペラのような回転ツールがシャフトの端部に位置し、ここでシャフト(及び従ってプロペラ)はその主軸(即ち長手軸)を中心に回転する。シャフトによってヒットされるワークスペース要素を、プロペラの全ての回転状態において同一とすることができる。同様に、所与の回転でプロペラブレードによってヒットされるワークスペース要素を、180°(すなわち半回転)離れた状態と同じ状態とすることができる。
【0066】
このような場合、そのエンティティが回転する際に少なくとも部分的に占有されるワークスペース要素を、複数の回転位置において同一とすることができる。したがって、いくつかの実施形態では、回転対称モデルの複数の状態に対して部分的に同様に占有されるワークスペース要素を一度だけ記憶することができ、他の状態は、それらのワークスペース要素がマッピングのためのセットに追加されることをもたらした最初の回転的に同一の状態を参照するだけでよい。
【0067】
いくつかの構成において、1つより多くのロボットを一緒に又は互いに近接して使用することができる。前述の態様の原理は、第2のロボット(又は必要に応じて任意の数のさらなるロボット)の動作プランニングにも同様に適用される。
【0068】
マッピングは、マッピング内のワークスペース要素毎に状態識別子及び遷移識別子を含むことができる。換言すれば、グラフ用語を用いて、本発明の実施形態は、ワークスペース要素又はボクセル毎にノード及びエッジの識別子(又は「ID」)を記憶することができる。したがって、各ワークスペース要素(例えばボクセル)は、その要素との部分的又は完全な衝突を表す全てのノード及びエッジのリスト、すなわち「ヒット」のリストを有することができる。ワークスペース要素毎に状態ID及び遷移IDを記憶することにより、メモリ及び計算の最適化に関して改善を行うことができる。もちろん、このような構成において、ワークスペース要素(又はボクセル)の中には、(その要素がいずれのノード又はエッジによってもヒットされていないために)空のリストを有するものがある。
【0069】
しかしながら、他の実施形態では、エッジ毎及び/又はノード毎にワークスペース要素(例えばボクセル)IDを記憶する。
【0070】
本発明の任意の特定の態様に関して上に説明した任意の特徴は、必要に応じて本発明の他の態様に等しく適用されることが理解されるであろう。
【0071】
同様に、本発明の特定の態様に関連する方法、動作プランナ、ロボット、非一時的コンピュータ可読媒体及びコンピュータソフトウェア製品の実施形態に関連して説明するいずれの及び全ての任意の特徴も、その態様に関連する前記方法、動作プランナ、ロボット、非一時的コンピュータ可読媒体及びコンピュータソフトウェア製品の他の実施形態に、必要な変更を加えて同様に適用される。
【0072】
任意の特徴が方法のステップに関連して説明される場合、これは、この同一の方法のステップを行うように構成されたデバイス、装置又はシステム(例えば、上記のような動作プランナ又はロボット)にも適用される。同様に、任意の特徴がデバイス、装置又はシステムの態様に関連して説明される場合、これは、対応する方法のステップ、又はこのようなデバイス、装置又はシステムに作用する方法のステップにも適用される。
【0073】
ここで、添付の図面を参照して、本発明の特定の実施形態を単なる例として説明する。
【図面の簡単な説明】
【0074】
【
図1】環境内のロボットに動作プランニングが必要である一般的な構成の概略図である。
【
図2a】第1のロボットリンクによってヒットされるワークスペース要素を示す概略図である。
【
図2b】第1のロボットリンクによってヒットされるワークスペース要素を示す概略図である。
【
図3】第2のロボットリンクによってヒットされる追加のワークスペース要素を示す概略図である。
【
図4】さらなるロボットリンクによってヒットされるさらなる追加のワークスペース要素を示す概略図である。
【
図5】グリッパーの掌によってヒットされるワークスペース要素を示す概略図である。
【
図6】開位置にある
図5のグリッパーの指によってヒットされるワークスペース要素を示す概略図である。
【
図7】
図6に示すような開位置にあるグリッパーの指によってヒットされる、一意的にマッピングされたワークスペース要素を示す概略図である。
【
図8】閉位置にある
図5のグリッパーの指によってヒットされるワークスペース要素を示す概略図である。
【
図9】
図8に示すような閉位置にあるグリッパーの指によってヒットされる、一意的にマッピングされたワークスペース要素を示す概略図である。
【
図10】小型オブジェクトによってヒットされるワークスペース要素を示す概略図である。
【
図11】追加の「オニオン」レイヤとして中型オブジェクトによってヒットされるワークスペース要素を示す概略図である。
【
図12】さらなる追加の「オニオン」レイヤとして大型オブジェクトによってヒットされるワークスペース要素を示す概略図である。
【
図13】軸対称性を有するロボットリンクによってヒットされるワークスペース要素を示す概略図である。
【発明を実施するための形態】
【0075】
図1は、環境4において動作するロボットアーム2に動作プランニングが必要である一般的な構成の概略図である。ロボットアーム2は、ベース6と、一対のリンク8a、8bと、関節12において互いに接続されたエンドエフェクタ10とからなる。ロボットアーム2には、例えば組立ライン上のパーツを仕分けするために1つのビン14から第2のビン16にアイテムを移動させる仕事が課せられている。しかしながら、ロボットアーム2は多数の静的障害物18、動的障害物20及び人間22を回避しなければならない。
【0076】
ワークスペース4は多数の異なるワークスペース要素24に離散化(すなわち「分割」)されており、説明を容易にするため、これらのうちのほんのわずかが
図1でラベル付けされている。これらのワークスペース要素24の各々はボクセルであり、ワークスペース4は立方体の3次元グリッドに分割されている。しかしながら、
図1のワークスペース要素24は全て同じサイズ及び形状であるがそうである必要はなく、他の例において、ワークスペース4のいくつかの領域では、他の領域と比較して、異なる解像度及び/又は形状を使用してもよいことが理解されるであろう。同様に、2次元の問題を扱う場合、ワークスペースを必要に応じて2次元のワークスペース要素(例えば、ピクセル又は正方形)のグリッドに分割することができる。
【0077】
環境の変化が検出されたか又は捉えられた際にワークスペース4を更新することができる。例えば、3Dカメラなどのセンサを使用して環境及び動的障害物の変化を検出することができる。これに応じて、離散化されたワークスペース4を更新することができる。空間内のエンティティ(例えば、環境内を移動する動的障害物又は人間)の予測された動きに応じて、ワークスペース4を追加的に又は代替的に更新することができる。あくまでも一例として、例えばオブジェクトの物理的配置、オブジェクトまでの距離、オブジェクトのタイプ、又はオブジェクトの予測される動きに関連してワークスペース4の更新を行うことができる。
【0078】
当技術分野で周知のように、動作プランニングを実行する際、ロードマップを使用してロボットの可動範囲を記述することができ、ここでロードマップのノードはロボットがとりうる状態であり、ノードを接続するエッジはこれらの状態の間の遷移である。ロードマップは動作プランニングに使用されるが、ロボットはもちろんロードマップの外に移動することができる。
【0079】
後述する、具体的であるが非限定的な実施例において、「状態」はロボット2の構成に関連する。しかしながら、上記のように、速度、角度、時間、温度などのさらなるパラメータが状態の一部を(追加的に又は代替的に)形成できることが理解されよう。換言すると、(特定の時点において)同一の位置にあるが第1の速度を有するロボットを、ロボットが第2の異なる速度を有する場合とは異なる状態によって表すことができる。
【0080】
ロボット2の動作プランニングを行うために、ロボット2の動作空間を記述するロードマップを生成し、ここでは関節12毎に1つの次元が提供される。しかしながら、先行技術のアプローチで行われるような、ロードマップ全体及びロボット2全体に対して単一のマップを作成する代わりに、本発明の実施形態は、後述するようにリンク(及びエンドエフェクタ、及び任意の他の関連するターゲットオブジェクト)を分離する。
【0081】
本発明の実施形態に従ってマッピングを生成する第1のステップは、リンク8a、8b、エンドエフェクタ10及びターゲットオブジェクト(例えば、一方のビン14からもう一方のビン16に移動されるアイテム)毎にマッピングを分けることである。
【0082】
まず、
図2aに示すように、第1のリンク8aのマッピングを作成し、ここでロボット2を1-DOF(1自由度)ロボットとみなす。これは、第1のリンク8aのモデルを全ての構成(すなわち、全ての可能な状態)に配置し、ロードマップ内の第1の次元、すなわち第1のリンク8aによって提供される自由度によって許容される全てのエッジ(すなわち遷移)をチェックすることによって行われる。
【0083】
種々の状態及び遷移において、第1のリンク8aによって部分的又は全体的に占有されたワークスペース要素26を要素のセットに追加し、次にこのセットを使用して第1のリンク8aのマッピングを生成する。このマッピングは、(全てのワークスペース要素24のうち)異なる状態及び遷移の各々において第1のリンク8aと少なくとも部分的に衝突しているワークスペース要素26のセットに関する情報を効果的に提供する。
【0084】
図2aは単一の構成のためのこれらの要素26を示しているが、異なる状態及び遷移によってヒットされる要素26のセットを、第1の状態100と第2の状態102との間の遷移を示す
図2bにみることができる。ここで、セット内の要素26は、2つの状態(ノード)100、102における第1のリンク8aのモデルによってヒットされる要素26aと、これらの状態の間の遷移(エッジ)の際にヒットされる要素26bとに分けられる。
【0085】
第1のリンク8aのマッピングは別個の「リンク1マップ」としてメモリに記憶される。このマッピングは、先行技術のアプローチによるロボット2全体のマッピングと比べて非常に小さいものになる。
【0086】
次に、
図3に示すように第2のリンク8bのモデルを追加し、ここで最初の2つの次元を考える。新しい2-DOFロボットを全ての構成に配置し、ロードマップ内の全てのエッジについてチェックする。
図3にみられるように、第1のリンク8aと第2のリンク8bとの間の関節の周りでヒットされるいくつかのワークスペース要素27がある。これらの要素27は第1のリンク8aのマッピングに既に記憶されており、よって第2のリンク8bの第2のマッピングを生成する際に無視することができる。したがって、第2のリンク8bによって一意的にヒットされるワークスペース要素28のみを使用して第2のマッピング、すなわち「リンク2マップ」を生成し、これはリンク1マップとは別にメモリに記憶される。
【0087】
したがって、第1のリンク8a及び第2のリンク8bの双方から生じる全てのワークスペース要素のヒットは圧縮され、「下部」リンク、すなわち第1のリンク8aのマッピングにのみ記憶される。下部リンクに対して既に生成されたマッピングを検索することによってヒットの一意性を効率的にチェックすることができ、そのリンクに対して衝突のチェックを行う必要はない。
【0088】
しかしながら、いくつかの構成では、「重複する」要素27が双方のマッピングに含まれるように、これらの要素27に関する情報を使用して第2のマッピングを生成することもある。
【0089】
このルーチンは、
図4に示すように、さらなるオブジェクト9によって、及び対応する自由度を計算することによって続けられ、ロボット2全体が全ての自由度についてマッピングされるまで、マッピングが追加のリンク毎に生成される。
図4では別のリンクがオブジェクト9として示されているが、詳細に後述するように、いずれのエンドエフェクタ及びオブジェクトに対してもこのプロセスを行うことができる。
【0090】
現在ロボット2上にない、代わりのオブジェクト及び/又は追加のオブジェクト(例えば、リンク、エンドエフェクタ又はターゲットオブジェクト)に対してこのプロセスを行うこともできる。例えば、エンドエフェクタとして第2のリンク8bに取り付け可能な異なるツールが多数ある場合、エンドエフェクタ毎にマッピングを生成してメモリに記憶することができる。場合によっては、所与のオブジェクトは、そのオブジェクトの異なる動作状態に関連する2つ以上の記憶されたマッピングを有することができる。例えば、開閉が可能なグリッパーは、開いた状態及び閉じた状態のそれぞれに対してメモリに記憶された別個のマッピングを有することがある。したがって、センサ及びグリッパーなどの新しい装置を同様に追加することができる。装置が接続されたリンクによって、マッピングのために考慮が必要な次元が決まる。考慮された装置からの一意的なヒットは全て別個の「パーツXマップ」にマッピングされる。
【0091】
特定のオブジェクトを1つより多くのマッピングによって表すこともできる。例えば、グリッパーを、「掌」部用の1つのマッピングと、掌に向かって及び掌から離れるように移動する「可動指」部用の別の一対のマッピングとに分割することができ、ここで一方のマッピングは開位置にある指用に記憶され、別のマッピングは閉位置にある指用に記憶される。
【0092】
この例を
図5~
図9に示す。
図5はグリッパーの掌30の概略図であり、この掌30は、ロボット2の遠位端に配置することができるグリッパーエンドエフェクタの一部を形成している。具体的には、
図5は、特定の状態でグリッパーの掌30によってヒットされるワークスペース要素32を示している。
【0093】
グリッパーは2本の指34も有しており、これらは、指34が間隙によって互いに隔てられている開位置と、指34が掌30に対して横方向に移動して互いに近づけられ、これらの間の間隙が減少されてオブジェクトが把持される閉位置との間で操作可能である。
【0094】
図6は、開位置で操作される際に指34によってヒットされるワークスペース要素36を示す概略図であり、
図7は、開位置にある指34によってヒットされる一意的にマッピングされたワークスペース要素38、すなわち、掌30があることによって既にヒットされた「重複する」要素40ではなく、指34があることだけでヒットされる要素38を示している。したがって、掌30用のマッピング内に既に記憶されている要素38はさもなければ冗長であるため、これらの追加のワークスペース要素38のセットに関連する情報のみをマッピングに記憶する必要がある。
【0095】
図8は、閉位置で操作される際に指34によってヒットされるワークスペース要素42を示すさらなる概略図であり、
図9は、閉位置で指34によってヒットされる一意的にマッピングされたワークスペース要素44、すなわち、掌30があることによって既にヒットされた「重複する」要素46ではなく、指34があることだけでヒットされる要素44を示している。前述のように、これらの追加のワークスペース要素44のセットに関連する情報のみを、閉じた指34用のマッピングに記憶する必要がある。
【0096】
次に、開位置及び閉位置における指34のマッピングを、リンクマップと共に、そのパーツ(すなわち、グリッパー)の「パーツマップ」としてメモリ内のライブラリに記憶することができる。そして、所与のタスクのためのグリッパーの現在の状態又は計画された状態に応じて、これらをライブラリから適切に選択することができる。都合のよいことに、これにより、ヒットされるワークスペース要素の唯一の違いが指34の位置によるものであり、他の全てのワークスペース要素のヒット(すなわち、ロボット2の掌及び他のリンクによるもの)が双方の位置において重複している場合に、ロボット全体のための2つの完全なマッピングを記憶することが回避される。
【0097】
エッジを、いくつかの関節12の組み合わされた動きとすることができる。しかしながら、組み合わされた動きに寄与する最下部のリンクにとって、この動きはそのリンクの単純な動きにすぎず、対応する単純なエッジのために既に記憶されている。したがって、組み合わされた動きに対応するエッジのマッピングはより上部のリンクに対してのみ記憶されるのに対し、より下部のリンクの単純なエッジ用のマッピングは再利用される。いくつかの用途では単純なエッジのみが必要である一方、他のより高度な用途では組み合わされたエッジが必要となる場合がある。さらに、必要とする高度なエッジのセットは用途間で異なりうる。柔軟性をさらに高めるために、組み合わされるエッジ毎のリンクマップを別々に記憶し、オンラインでの使用のために必要に応じて組み合わせることができる。
【0098】
全てのマッピングを組み合わせたときのサイズは、組み合わせた1つのロボットマップのサイズとほぼ同じである。所与のロボットセットアップのためのマッピングの組み合わせは、記憶された重複ワークスペース要素(例えば、結合部におけるものが、その関節の両側にある双方のリンクのためのマッピングに記憶される場合など)により、ロボット全体の単一のマッピングよりもわずかに大きいことがあるが、先行技術のアプローチにおいて、予想されるロボットセットアップや操作又は運搬されるオブジェクト毎にロボット全体のマッピングを記憶する必要があることを考慮すると、全体的にかなり大幅なメモリの節約が実現される。したがって、本発明の原理を用いると、ロードマップ及びリンク/パーツの異なる組み合わせの全てを記憶するために必要とされる全体的な記憶空間の大幅な削減と比較して、任意の単一のロボットセットアップのマッピングのためのメモリ要件のわずかなトレードオフを無視することができる。
【0099】
以前のマッピングから拡張されるマッピングは全て、それらが生成された特定の下部リンク(及び、使用されている場合はサブロードマップ)に対して有効である。しかしながら、サブロードマップは、マッピングされたリンクが終わる位置を決定するため全ての次元について同じであるべきである。下にある(又は「内側」の)リンクの運動学を変更することはできない。なぜなら、そうすることで「外側」のリンク(単数又は複数)が終わる位置も変わってしまうからである。
【0100】
換言すると、2つのリンクから構成されるロボットアームの端部にグリッパーエンドエフェクタが設けられたセットアップを有するロボット(すなわち、上部アームである「第1のリンク」、下部アームである「第2のリンク」及びハンドである「エンドエフェクタ」に相当するもの)を考察する。これら2つのリンクはリンクマップ1及びリンクマップ2によってカバーされる。エンドエフェクタのマッピングはその特定のセットアップには有効であるが、第2のリンク(下部アーム)を、リンクマップ3によってカバーされる異なる第3のリンク(すなわち、異なる形状又は物理的範囲を有するなど、異なる下部アーム)と置き換える場合、部分的に占有されているワークスペース要素のセットはキネマティックチェーンの初期段階での変更によって異なる可能性があるため、グリッパーエンドエフェクタのための異なるマッピングが必要になる。しかしながら、最も外側のリンク、パーツ及び次元(例えば、前の例におけるエンドエフェクタ)は、マッピングがキネマティックチェーンでさらに起こることによる影響を受けないため、自由に変更することができる。
【0101】
用途によって必要となる解像度が異なるため、ロードマップの次元に関するこのマッピングの柔軟性は非常に有用である。高解像度を必要とするものもあれば、必要としないものもある。例えば、ロボットは、エンドエフェクタの回転運動を提供することのできる「手首」を有することができる。用途に応じて正確な回転運動を必要とする場合があるが、他の用途では、非常に「粗い」回転のみを必要とする場合がある(「掌を上」及び「掌を下」のような、180°離れた2つの異なる位置の間など)。
【0102】
このような状況において、例えば6-DOFロボットでは、異なる用途のためにシステムを使用する2人の異なるユーザが最初の3つのリンクには同じマッピングを使用し、3つの外側リンクにのみ異なるマッピングを使用することができる。
【0103】
本発明を用いて多数の異なるマッピングを予め計算することができるため、マッピングを異なるリンクに再利用することができ、記憶空間及び計算時間を大幅に節約できる。さらに、選択されたグリッパーで大きく異なるものは、ロボットのマッピングに影響を及ぼさず、別個に生成することができる。
【0104】
ロボット2はランタイム時に異なるオブジェクトを選ぶことができるため、ロボット2の範囲(ロボット2によって操作されるオブジェクトを含む)も通常オンラインで、すなわちロボット2の動作時に、変化する。本発明のモジュール式マッピングアプローチは、ロボット2全体のマッピングを取り替える必要なしに、動作時の所与の時間毎に、存在する適切なリンク及びパーツのためのマッピングを使用する、といった柔軟性を提供する。
【0105】
ロボットの用途において、ロボットはサイズ及び形状の異なる広範囲のオブジェクトを取り扱う必要があることが非常に多い。例えば、倉庫において、ロボットは多くの異なるコンポーネント(例えば、顧客に配送されるオンラインストアからの商品)を配送のために持ち上げなければならない場合があり、これらのコンポーネントの各々は形状又はサイズが異なる(すなわち、これらは異なる物理的範囲を有する)。同様に、リサイクル工場において、ロボットは、異なる物理的範囲を有する異なるタイプのオブジェクト(例えば、ガラスボトル、アルミニウム缶、厚紙など)を分別しなければならない場合がある。
【0106】
ロボット2によって運ばれるか又は操作されるパーツを含む、ロボット2の全てのパーツのマッピングとして、多数のオブジェクトのマップのセットを迅速に管理することは実行不可能となる。1つの解決策は、全てのオブジェクトを、ロボットが操作しなければならない最大の物理的範囲を有するオブジェクトと同等であるとみなすことである。しかしながら、例えば、ロボット2が運んでいるオブジェクトが障害物にぶつかると想定しているために、ロボット2はより長い経路をとることになるが、実際には、操作されるオブジェクトははるかに小さく、より小さいオブジェクトによって許容されるより好ましい(例えば、より短い)経路をたどった場合、実際には障害物にぶつからなかったであろうという結果になる可能性があるため、これは一般に効率的ではない。さらに、このような保守的なアプローチをとることで(すなわち、全てのオブジェクトを可能な限り最大のオブジェクトと同じ大きさとみなすことによって)、実行可能であるはずの目標が、誤った衝突の「検出」のために実行不可能なものとして除外されてしまう場合がある。
【0107】
さらに、ロボットのセットアップ及び操作対象のオブジェクトの全ての異なる組み合わせに必要なマップを全て生成するにはかなりの時間がかかる。また、このような従来技術のアプローチでは、セットアップの変更や新しいタスクに対するシステムの柔軟性も低くなる。この問題を解決するために、本発明の実施形態は、
図10~
図12を参照して後述するように「レイヤ状マップ」のアプローチを導入する。
【0108】
図10は、小型オブジェクト50によってヒットされるワークスペース要素48、すなわち、その小型オブジェクト50と少なくとも部分的に衝突している要素48を示す概略図である。より大きなオブジェクトの場合、これらは、
図11及び
図12に示すように小型オブジェクトから「成長」させることができる。
図11及び
図12では、追加のワークスペース要素のみが記憶される。
【0109】
具体的には、
図11は、小型オブジェクト50から拡張された中型オブジェクト54によってヒットされるワークスペース要素52を追加の「オニオン」レイヤとして示す概略図である。
図12は、中型オブジェクト54から拡張された大型オブジェクト58によってヒットされるワークスペース要素56の追加をさらなる追加の「オニオン」レイヤとして示している。
【0110】
したがって、オニオンが種々のレイヤから構成される態様と同様に、パーツを適切なレイヤからモジュール式に構築することができる。その結果、レイヤ状マップのアプローチは、各パーツ全体に対して単一のマップを作成する代わりに、レイヤ毎にいくつかのマップを作成し、これらを合わせてパーツ全体をマッピングする。したがって、中型オブジェクト54を経路プランニングプロセスのために検討する場合、小型オブジェクト50のマッピングに加え、小型オブジェクト50によってヒットされる要素48の「上にある」中型オブジェクト54によってヒットされる追加のワークスペース要素52の「拡張(アドオン)」マッピングから適切なマッピングを作成することができる。同様に、全ての3つのオブジェクト50、54、58のマッピングを組み合わせることによって大型オブジェクト58を検討することができる。
【0111】
この戦略により、メモリストレージを冗長情報に浪費することなく、広範囲のパーツをマッピングすることが可能である。
【0112】
マッピングは、一度に1つのレイヤに対して作成される。各レイヤは前述と同じ方法で(すなわち、リンク及び/又はエンドエフェクタのチェーンに関連して)作成され、外方に作用する各レイヤは直前の内側レイヤから延びている。各マッピングは所与のレイヤに固有のヒットのみを記憶する、すなわち、内側レイヤのいずれのヒットも記憶しない。結果として、単一構成の場合、1つのパーツを構成する全てのレイヤのヒット数は、パーツ全体の1つのマップのヒット数と全く同じである可能性がある。各レイヤは1つのボクセルよりも小さかったり薄かったりする場合があるため、所与のノード又はエッジが一意的なヒットを生成しないこともある。
【0113】
各レイヤのマッピングは一意的なヒットのみを記憶するため、各「レイヤマップ」は、下にあるレイヤのマップと組み合わせてのみ使用が可能である。したがって、作成の際(すなわち、種々のパーツのマッピングのライブラリの考案時)、パーツをどのように「成長させる」かに関して設計上の決断を下さなければならない。これは、特定の用途及びその特定の実装のための設計要件に依存するため、ここではこれ以上論じないことを理解されたい。
【0114】
レイヤ間の離間距離がワークスペース要素の最大対角線長よりも大きい場合、双方のレイヤが同時に接触するワークスペース要素(ボクセルなど)がないため、これらのレイヤがヒットを共有することはなく、いずれのレイヤのヒットも他のレイヤに対して全て一意的なものである。
【0115】
したがって、本発明はいくつかのパーツのレイヤ状マップをローカルメモリ、例えばGPUなどの並列処理ユニットのメモリにロードすることができる都合のよい構成を提供するものであり、メモリ要件は、各パーツを有するロボット全体に対して個別のマッピングを作成する従来のアプローチよりも最適である。本発明の解決策は、種々のパーツを選択して種々のエンドエフェクタ(グリッパーなど)を使用することができる柔軟なアプローチを提供するものである。
【0116】
本発明のさらなる利点は、マッピングの生成時に選択すべき正確なパーツを知る必要がないことである。ごく少量のオーバーヘッドメモリを使用して形状の大きなセットを作成してオンラインで組み合わせ、操作中の(又は操作を計画している)現行のパーツを取り込むことができる。例えば、センサは、操作される未知のオブジェクトが小型オブジェクト50よりも大きいが中型オブジェクト54の境界内に収まると判断することがあり、したがって中型オブジェクト用の適切なマッピングを使用することができる。
【0117】
(例えば、障害物16、18、20、22との衝突をもたらすノード及び/又はエッジを破棄するための)ロードマップの無効化又はラベル付けは、それ自体が当技術分野で知られている従来のアプローチと同様の方法で実行可能であるが、本明細書で説明したモジュール式マッピングアプローチは、GPUなどの並列処理ユニットによる実行のために無効化プロセスをメモリ効率のより優れたものにする。
【0118】
ノード及びエッジのラベルを「ラベルアレイ」又は何らかの他の適切な保存形式で記憶することができ、これを並列処理ユニット(GPUなど)のメモリに記憶することができる。使用するラベルは、ワークスペース要素(ボクセルなど)が占有されているか又は空いているか(すなわち、バイナリラベル)に対応する程度に簡潔であってもよいし、より複雑なラベルを使用してもよい(例えば、「リスク」番号や占有の可能性、オブジェクトまでの距離、及び/又はオブジェクトが存在すると予想される時間をラベルとして使用することができる)。
【0119】
アレイでは、ワークスペース要素(ボクセル)との交差を生じるロボットリンクに基づいてラベルを階層的に記憶することができ、これは構造化ロードマップを使用する際に特に有用である。このような階層構造では、ベース付近のリンクが、所与のノード又はエッジのラベル付けされたワークスペース要素(ボクセル)と交差する場合、そのリンクまで同一の構成を有する全ての構成及びエッジに暗黙的に同一のラベルが与えられることを意味する。ベースのノード/エッジのラベル付けはいずれも、アームのノード/エッジの全てを暗黙的にラベル付けする。
【0120】
本明細書で説明したモジュール式マッピングのアプローチでは、特定のロードマップ、ロボットのセットアップ及び物理的範囲、運動学及びワークスペースに対応するマッピングの全てを、起動時にGPU(又は他の並列処理ユニット)にロードすることができる。
【0121】
ワークスペース要素のラベル付け(すなわち、占有、空き又は他の何らかの状態としてラベル付けされているかどうか)をチェックし、そのラベルに基づいて、対応するノード/エッジ(そして、構造化ロードマップの場合は暗黙的に記憶された全てのノード/エッジ)をそれに応じてラベル付けすることができる。次に、無効になった、又はラベル付けされたロードマップを使用してグラフ検索を実行し、無効なノード及びエッジが回避された経路を得ることができる。他のラベル(すなわち非バイナリラベル)を使用して、例えばそのエッジ又はノードを通って移動するコストを調整することができ、グラフ検索はコスト関数を使用して「最適な」経路を見出すことができる(ここで、コストは、例えばリスク、エネルギー消費、速度制限などに関係しうる)。
【0122】
図13に示すように、リンクの大部分が関節角度にかかわらず同一の領域をヒットするように、特定の関節を構成することができる。全ての関節角度についてこれらのヒットを一度だけ暗黙的に記憶し、メモリをさらに節約することができる。構造化ロードマップを使用する場合、これらのヒットを下部リンクの一部とみなすことによってこれを行うことができる。マッピングはモジュール式であるため、これは、依然として現行のリンクのマップに暗黙的に記憶されるが、ヒットを生じた「下部」又は「内側」リンクのマッピングの一部である。
【0123】
この特定の例において、
図13に異なる回転状態によって破線で示されるように、リンク60は一方の端部において関節の軸を中心に回転する。この場合、関節によってヒットされるワークスペース要素62はリンク60の全ての回転状態において同じである。したがって、これらの要素62は一度だけ記憶されればよく、そのリンク60の全ての回転状態においてヒットされると判断される。
【0124】
したがって、本発明の実施形態は、異なるオブジェクト(例えば、ロボットリンク、エンドエフェクタ、及び/又はロボットによって操作される外部オブジェクト)のマッピングを適宜組み合わせることのできる「モジュール式」マッピングに分割する、ロボットのための動作プランニングを行うための改善された方法を提供することが分かる。このようなアプローチは、ロボット全体のマッピングの生成が必要な従来のアプローチと比べて、動作プランニングを行うためのメモリ及び/又は計算要件に大きな改善をもたらすことが可能である。
【0125】
当業者は、本明細書に記載した特定の実施形態が例示的なものにすぎず、本発明の範囲内である多くの変形物が想定されることを理解するであろう。
【国際調査報告】