(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-27
(54)【発明の名称】ロボットの動作計画に有用なロボット操作環境のデジタル表現
(51)【国際特許分類】
B25J 9/18 20060101AFI20230420BHJP
B25J 19/06 20060101ALI20230420BHJP
【FI】
B25J9/18
B25J19/06
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022556467
(86)(22)【出願日】2021-03-16
(85)【翻訳文提出日】2022-10-13
(86)【国際出願番号】 US2021022600
(87)【国際公開番号】W WO2021188566
(87)【国際公開日】2021-09-23
(32)【優先日】2020-03-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520296244
【氏名又は名称】リアルタイム ロボティクス, インコーポレーテッド
【氏名又は名称原語表記】REALTIME ROBOTICS, INC.
【住所又は居所原語表記】27 Wormwood St.,Suite #110,Boston,Massachusetts 02210 United States of America
(74)【代理人】
【識別番号】100105131
【氏名又は名称】井上 満
(74)【代理人】
【識別番号】100105795
【氏名又は名称】名塚 聡
(72)【発明者】
【氏名】ムルガン, アーカッシュ
(72)【発明者】
【氏名】ラム, ジェニ
(72)【発明者】
【氏名】ゴパラクリシュナン, ベンカット, ケー
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707KS11
3C707KS12
3C707KS13
3C707KS16
3C707KS20
3C707KS36
3C707KT03
3C707KT06
3C707KW06
3C707LS15
3C707LT06
3C707LV14
3C707MS08
3C707MS09
(57)【要約】
ロボットの少なくとも一部分の特大表現は操作環境の表現からフィルタリングされ(例えば、ボクセルは特大表現内に完全に存在する任意のオブジェクトについて、占有されていないものとして設定される)、それは、例えば、ロボットの動作計画のために使用され得る操作環境のデジタルモデルを提供する。特大表現はロボットの少なくとも一部分(例えば、付属物)の物理的寸法を超え、ロボットの外側寸法に取り付けられ、それを越えて延在するケーブル及び他の特徴を有利に考慮する。特大表現の特定の寸法は様々な要因、例えば、モデル化され得る、ケーブルの幾何学的形状、ロボット付属物の向き又は位置、ロボット付属物に対するケーブルの向き又は位置、付属物の速度、ケーブルの弛(ゆる)み等に基づくことができ、これらはモデル化することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、第1のロボットの少なくとも付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体、
を備える、システム。
【請求項2】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記3次元操作環境の前記フィルタリングされた表現を使用して、前記第1のロボットの動作計画を実行するステップ
をさらに実行させる、請求項1に記載のシステム。
【請求項3】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、少なくとも前記第1のロボットの前記付属物を包含する前記特大ボリュームの前記3次元表現を生成するステップ
をさらに実行させる、請求項1に記載のシステム。
【請求項4】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の3次元表現を修正して、その少なくとも1つの寸法をその上の少なくとも1つの位置で増加させるステップ
を実行させる、請求項3に記載のシステム。
【請求項5】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の3次元表現を修正して、前記付属物の一部分に沿ってその少なくとも1つの寸法を増加させるステップであって、前記付属物の前記一部分に沿って前記少なくとも1つのケーブルが延在する、該ステップ
を実行させる、請求項3に記載のシステム。
【請求項6】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
それに沿って前記少なくとも1つのケーブルが延在しない前記付属物のいずれの部分の、前記第1のロボットの前記付属物の前記3次元表現におけるいかなる寸法も増加させないステップ
を実行させる、請求項5に記載のシステム。
【請求項7】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
重力に対する前記第1のロボットの前記付属物の少なくとも一部に対する前記少なくとも1つのケーブルの位置に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項3に記載のシステム。
【請求項8】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
重力に対する前記第1のロボットの前記付属物の少なくとも一部の向きと、少なくとも1つのケーブルにおける弛みの量とに少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項3に記載のシステム。
【請求項9】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の寸法の組に基づいて、かつボーダーバッファの仕様の組に基づいて、バウンディングボックス表現を生成するステップ
を実行させる、請求項3に記載のシステム。
【請求項10】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットのジョイント位置の現在の組に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項3に記載のシステム。
【請求項11】
特大ボリュームの前記3次元表現を生成するために、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの基部と、前記第1のロボットの少なくとも2つの付属物と、前記第1のロボットのエンドエフェクタと、前記付属物のうちの1つ又は複数と一緒に移動するように結合された少なくとも2つのケーブルを包含する、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項3に記載のシステム。
【請求項12】
特大ボリュームの前記3次元表現を生成するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記少なくとも1つのケーブルの幾何学的形状に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項3から11のいずれかに記載のシステム。
【請求項13】
特大ボリュームの前記3次元表現を生成するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の少なくとも一部の速度に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、請求項12に記載のシステム。
【請求項14】
操作中に前記3次元操作環境の1つ又は複数の物理的特性をキャプチャする少なくとも1つのセンサーをさらに有する、請求項1に記載のシステム。
【請求項15】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記少なくとも1つのセンサーによって感知された前記3次元操作環境の前記キャプチャされた1つ又は複数の物理的特性から前記3次元操作環境の前記デジタル表現を生成するステップ
をさらに実行させる、請求項14に記載のシステム。
【請求項16】
前記3次元操作環境の前記デジタル表現を生成するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
点群、ボクセルグリッド、表面マップ、メッシュ、占有グリッド、k-aryツリー、ユークリッド距離フィールド表現、階層データ構造又は非階層データ構造のうちの少なくとも1つを生成するステップ
を実行させる、請求項14に記載のシステム。
【請求項17】
前記3次元操作環境の前記デジタル表現を生成するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記3次元操作環境を複数のボクセルとして表し、各ボクセルは、前記3次元操作環境の占有状態を占有又は非占有のうちの少なくとも1つとして表す少なくとも1つのそれぞれの占有値を含む、ステップ
を実行させる、請求項14に記載のシステム。
【請求項18】
前記3次元操作環境の前記デジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
連続しており、それぞれが占有された占有状態を表すそれぞれの占有値を有する、前記3次元操作環境の前記デジタル表現内のボクセルの1つ又は複数のグループを識別するステップ
を実行させる、請求項1に記載のシステム。
【請求項19】
もしあれば、前記3次元操作環境の前記デジタル表現で表される前記物理オブジェクトのうちのどれが、特大ボリュームの3次元表現内に完全に存在するかを決定するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
物理オブジェクトを表すものとして識別された前記3次元操作環境の前記デジタル表現内の前記ボクセルの1つ又は複数のグループの各々について、ボクセルの前記グループが、前記特大ボリュームの前記3次元表現の境界にまたがるかどうかを決定するステップ
を実行させる、請求項18に記載のシステム。
【請求項20】
前記それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定するために、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記3次元操作環境の前記デジタル表現において表される、前記特大ボリュームの前記3次元表現内に完全に存在する前記オブジェクトのいずれかに対応する前記3次元操作環境の前記デジタル表現内の各ボクセルについて、それぞれのボクセルのそれぞれの占有値を、非占有を表すものとして設定するステップ
を実行させる、請求項18に記載のシステム。
【請求項21】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
実行時前期間中に、
少なくとも1つのケーブルを有する前記第1のロボットの少なくとも一部を繰り返し移動させるステップと、
前記第1のロボットの前記一部の各移動中に前記少なくとも1つのケーブルによって占有されるボリュームを表すデータをキャプチャするステップと、
前記少なくとも1つのケーブルのデジタルモデルを生成するステップ
を実行させる、請求項1に記載のシステム。
【請求項22】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第2のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第2のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第2のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現において1つ又は複数の占有値を設定して、少なくとも前記第2のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させる、請求項1に記載のシステム。
【請求項23】
システムの操作方法であって、前記システムは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に結合され、プロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体とを備え、前記方法は
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第1のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を含む、該方法。
【請求項24】
前記3次元操作環境の前記フィルタリングされた表現を使用して、前記第1のロボットの動作計画を実行するステップ
をさらに含む、請求項23に記載の方法。
【請求項25】
前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、前記第1のロボットの前記付属物の対応する周辺寸法を越えて延在する、少なくとも前記第1のロボットの前記付属物と、前記特大ボリュームの少なくとも一部とを包含する、前記特大ボリュームの前記3次元表現を生成するステップ
をさらに含む、請求項23に記載の方法。
【請求項26】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の3次元表現を修正して、その少なくとも1つの寸法をその上の少なくとも1つの位置で増加させるステップを
含む、請求項25に記載の方法。
【請求項27】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の3次元表現を修正して、前記付属物の一部分に沿ってその少なくとも1つの寸法を増加させるステップであって、前記付属物の前記一部分に沿って前記少なくとも1つのケーブルが延在する、該ステップ
を含む、請求項25に記載の方法。
【請求項28】
特大ボリュームの前記3次元表現を生成するステップは
それに沿って前記少なくとも1つのケーブルが延在しない前記付属物のいずれの部分の、前記第1のロボットの前記付属物の前記3次元表現におけるいかなる寸法も増加させないステップ
を含む、請求項27に記載の方法。
【請求項29】
特大ボリュームの前記3次元表現を生成するステップは
重力に対する前記第1のロボットの前記付属物の少なくとも一部に対する前記少なくとも1つのケーブルの位置に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項25に記載の方法。
【請求項30】
特大ボリュームの前記3次元表現を生成するステップは
重力に対する前記第1のロボットの前記付属物の少なくとも一部の向きと、少なくとも1つのケーブルにおける弛みの量とに少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項25に記載の方法。
【請求項31】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の寸法の組に基づいて、かつボーダーバッファの仕様の組に基づいて、バウンディングボックス表現を生成するステップ
を含む、請求項25に記載の方法。
【請求項32】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットのジョイント位置の現在の組に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項25に記載の方法。
【請求項33】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの基部と、前記第1のロボットの少なくとも2つの付属物と、前記第1のロボットのエンドエフェクタと、前記付属物のうちの1つ又は複数と一緒に移動するように結合された少なくとも2つのケーブルとを包含する、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項25に記載の方法。
【請求項34】
特大ボリュームの前記3次元表現を生成するステップは
少なくとも1つのケーブルの幾何学的形状に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項25から33のいずれかに記載の方法。
【請求項35】
特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の少なくとも一部の速度に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、請求項34に記載の方法。
【請求項36】
少なくとも1つのセンサーを介して前記3次元操作環境の1つ又は複数の物理的特性をキャプチャするステップ
をさらに含む、請求項23に記載の方法。
【請求項37】
前記少なくとも1つのセンサーによって感知された前記3次元操作環境の前記キャプチャされた1つ又は複数の物理的特性から前記3次元操作環境の前記デジタル表現を生成するステップ
をさらに含む、請求項36に記載の方法。
【請求項38】
前記3次元操作環境の前記デジタル表現を生成するステップは、
点群、ボクセルグリッド、表面マップ、メッシュ、占有グリッド、k-aryツリー、ユークリッド距離フィールド表現、階層データ構造又は非階層データ構造のうちの少なくとも1つを生成するステップ
を含む、請求項36に記載の方法。
【請求項39】
前記3次元操作環境の前記デジタル表現を生成するステップは、
前記3次元操作環境を複数のボクセルとして表し、各ボクセルは、前記3次元操作環境の占有状態を占有又は非占有のうちの少なくとも1つとして表す少なくとも1つのそれぞれの占有値を含む、ステップ
を含む、請求項36に記載の方法。
【請求項40】
前記3次元操作環境の前記デジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップは
連続しており、それぞれが占有された占有状態を表すそれぞれの占有値を有する、前記3次元操作環境の前記デジタル表現内のボクセルの1つ又は複数のグループを識別するステップ
を含む、請求項23に記載の方法。
【請求項41】
もしあれば、前記3次元操作環境の前記デジタル表現で表される前記物理オブジェクトのうちのどれが、特大ボリュームの3次元表現内に完全に存在するかを決定するステップは
物理オブジェクトを表すものとして識別された前記3次元操作環境の前記デジタル表現内の前記ボクセルの1つ又は複数のグループの各々について、ボクセルの前記グループが、前記特大ボリュームの前記3次元表現の境界にまたがるかどうかを決定するステップ
を含む、請求項40に記載の方法。
【請求項42】
前記それぞれの物理オブジェクトに対応するボリュームを表すように、前記3次元操作環境の前記デジタル表現における1つ又は複数の占有値を非占有と設定するステップは、
前記3次元操作環境の前記デジタル表現で表される、前記特大ボリュームの前記3次元表現内に完全に存在する前記オブジェクトのいずれかに対応する前記3次元操作環境の前記デジタル表現内の各ボクセルについて、それぞれのボクセルのそれぞれの占有値を、非占有を表すものとして設定するステップ
を含む、請求項40に記載の方法。
【請求項43】
実行時前期間中に、
少なくとも1つのケーブルを有する前記第1のロボットの少なくとも一部を繰り返し移動させるステップと、
前記第1のロボットの前記一部の各移動中に前記少なくとも1つのケーブルによって占有されるボリュームを表すデータをキャプチャするステップと、
前記少なくとも1つのケーブルのデジタルモデルを生成するステップ
をさらに含む、請求項23に記載の方法。
【請求項44】
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第2のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第2のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第2のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現において1つ又は複数の占有値を設定して、少なくとも前記第2のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
をさらに含む、請求項23に記載の方法。
【請求項45】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第1のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すように、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの前記ロボット付属物及び前記少なくとも1つの構造を包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体、
を備える、システム。
【請求項46】
前記1つ又は複数の構造はケーブルである、請求項45に記載のシステム。
【請求項47】
前記1つ又は複数の構造は、センサー又はケーブルアタッチメントである、請求項45に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、1つ又は複数のロボットが動作する操作環境(又は、操作環境/作動環境/operational environment)のデジタル表現に関し、操作環境のデジタル表現を使用するロボット動作計画(又は、動作プラニング/モーションプラニング/motion planning)、例えば、センサーに収集された知覚データから生成されたデジタル表現を使用して衝突検出を実行して、ロボットを駆動する動作計画(又は、動作プラン/モーションプラン/motion plan)等を生成するシステム及び方法に関する。
【背景技術】
【0002】
関連技術の説明
動作計画は、ロボット制御及びロボット工学における基本的な問題である。動作計画は、ロボットがスタート状態からゴール状態まで、典型的には3次元操作環境である操作環境内の任意の障害物と、典型的には衝突することなく又は衝突する可能性を低減して、辿ることができる経路を完全に指定する。動作計画の課題は、3次元操作環境の特性が変化しても、動作計画を迅速に行う能力を含む。例えば、3次元操作環境における1つ又は複数の障害物の位置又は形状等の特性は、経時的に変化し得る。
【0003】
典型的には、1つ又は複数のセンサーが1つ又は複数のロボットが動作し得る3次元操作環境に関する情報をキャプチャする(又は、捕捉する)。3次元操作環境は例えば、1つ又は複数のロボットが動作するワークセルの形態をとることができる。ロボットは例えば、それぞれ、エンドエフェクタ又はエンドオブアームツールを有するそれぞれの可動ロボット付属物(又は、付属肢/appendage)を有することができ、1つ又は複数のワークピースと相互作用することができる。キャプチャされたセンサー情報は3次元操作環境のデジタル表現又はモデルを生成するために使用され、3次元操作環境の様々な部分は非占有又はその3次元操作環境内に存在し得る1つ又は複数のオブジェクトによる占有として表される。オブジェクト(又は、物体)は、回避されるべき障害物、又はロボットと相互作用すべきターゲットの形態をとってもよい。デジタル表現は3次元操作環境における様々な障害物との衝突を回避しながら、ロボットを駆動するための動作プランを生成するために動作計画を実行するために使用され得る。
【発明の開示】
【課題を解決するための手段】
【0004】
ロボットは、多くの場合、基部、付属物、及び付属物の遠位端に位置するエンドエフェクタ又はアームエンドツールを含む、多種多様な形態をとり得る。基部は固定されていてもよいし、可動であってもよい。付属物は基部に対して移動可能であり、1つ又は複数のジョイントを介して結合された1つ又は複数のリンクを含むことができ、様々なアクチュエータ(例えば、電気モータ、ステッピングモータ、ソレノイド、電磁石、関連する弁を有するピストン及びシリンダ、並びに加圧流体リザーバ)が、リンクを駆動してジョイントの周りを回転させるように結合及び動作させる。エンドエフェクタは例えば、グリッパ、一対の対向可能な指、回転ドリル、ねじ又はボルトドライバ、溶接ヘッド、センサー等、多種多様な形態のいずれかをとることができる。
【0005】
しばしば、ロボットの一部から外側に(又は、外向きに)延在する構造があってもよい。例えば、ロボットは、1つ又は複数のケーブルに物理的に結合されてもよく、又はロボットの様々な部分に取り付けられた1つ又は複数のケーブルを有する可能性がある。例えば、1つ又は複数のケーブルが、ロボットの基部と付属物との間に延在してもよい。追加的又は代替的に、1つ又は複数のケーブルが、付属物の様々なリンク間又は付属物とエンドエフェクタとの間に延在してもよい。ケーブルは様々な形態をとることができる。例えば、電力を供給するために、又は加圧流体(例えば、油圧、空気圧)を1つ又は複数のアクチュエータに供給するために、1つ又は複数のケーブルが使用され得る。また、例えば、1つ又は複数のケーブルを使用して、通信信号をルーティングすることができ、例えば、1つ又は複数のセンサー(例えば、カメラ、位置又は回転エンコーダ、近接センサー)搭載ロボットから通信信号をルーティングすることができる。ケーブルはそれに沿った様々な点又は位置でロボットに取り付けられてもよく、例えば、付属物に沿った、又は付属物のリンクに沿ったいくつかの点で取り付けられてもよく、付属物、リンク、又はロボットの他の部分の周囲に対して概して外向きに延在してもよい。いくつかの例では、ケーブルの1つ又は複数の部分がロボットの少なくともいくつかの位置及び向きにおいて、ロボットの一部分から垂れ(droop)、たるみ(又は、垂れ下がり/sag)又は垂れ下がり(hang)得る。いくつかの例では、ケーブルの1つ又は複数の部分が、ロボットの部分が移動する、例えば、慣性力がケーブル又はその部分に作用するにつれて、ロボットの部分に対する相対的な位置又は向きを変化させ得る。他の構造(例えば、センサー、3軸加速度計)もまた、ロボットの1つ又は複数の部分に取り付けられ、付属物、リンク、又はロボットの他の部分の周囲に対して外向きに延びることができる。
【0006】
センサー又は知覚データに基づいて3次元操作環境のデジタル表現を生成する際に、所与のロボットが動作計画を実行するときにそれ自体をブロックすることを防止するために、ロボット自体をデジタル表現から「フィルタリング」することが有利であり得る。したがって、ロボットによって占有されている3次元操作環境の一部を、3次元操作環境のデジタル表現において占有されていないものとして示すことが有利であり得る。
【0007】
ロボットによって占有されるボリュームは例えば、任意の所与の時間におけるロボットの1つ又は複数のジョイント位置を考慮に入れることができるロボットのデジタル表現又はモデルを介して指定することができる。このデジタル表現又はモデルは付属物及びエンドエフェクタを含むロボットの外側寸法を非常に正確に表すことができる。しかしながら、このデジタル表現又はモデルはロボットの部分に取り付けられ得る様々な構造を考慮に入れることができず、例えば、ロボットの1つ又は複数の部分に取り付けられ、それとともに移動する1つ又は複数のケーブルを考慮に入れることができない。
【0008】
本明細書で説明するように、ロボットの少なくとも一部分の特大(又は、過大/oversized)表現又は「拡張」("dilated")表現は、3次元操作環境の表現からフィルタリングされる。結果として得られる「フィルタリングされた」表現は例えば、所与のロボットの動作計画に使用することができる3次元操作環境のデジタルモデルを提供する。特大表現は、ロボットに取り付けられ、ロボットの外側寸法を超えて延在する可能性があるケーブル及び他の特徴を有利に考慮するために、ロボットの少なくとも一部分(例えば、付属物)の1つ又は複数の物理的寸法を超える。特大表現の具体的な寸法は様々な要因、例えば、ケーブルの幾何学的形状(又は、ジオメトリ)、ロボット付属物の向き又は位置、ロボット付属物に対するケーブルの向き又は位置、付属物の速度、ケーブルの弛み、たるみ又は張力等に基づくことができる。その表現からロボットをフィルタリングすることは、例えば、ロボット又はその一部の特大表現内に完全に存在する任意のオブジェクトについて、1つ又は複数のボクセルの占有値を非占有と設定することを含み得る。このようにして、3次元操作環境内の各ロボット及びそれに取り付けられた構造(例えば、ケーブル)は3次元操作環境のデジタル表現からフィルタリングされ、それはその同じロボットのための動作計画のために使用され得る。もしあれば、3次元操作環境内の他のロボットは、所与のロボットのための動作計画時に、障害物を構成し、従ってその所与のロボットのための動作計画に使用されるデジタル表現からフィルタリングされない。
【0009】
したがって、ロボット及びロボット又はその一部から延びる関連する構造(例えば、ケーブル)を包含するのに十分な大きさであるように選択又は生成される、ロボットの少なくとも一部分の特大又は「拡張」表現が決定され得る。特大化(オーバーサイジング)の量は例えば、実行時前(又は、プリランタイム/pre-runtime)モデリング中に決定され得るヒューリスティックの組に基づき得る。
【0010】
実際には、特大又は「拡張」表現に対応する領域内に完全に存在する任意のオブジェクト表現が例えば、関連するボクセルの占有値を占有から非占有に変更することによって、非占有として示され得る。完全に領域の外側に存在するか、又は領域を跨ぐ任意のオブジェクト表現は例えば、関連するボクセルの占有値を占有のままにすることによって、占有されているものとして示され得る。
【図面の簡単な説明】
【0011】
図面において、同一の参照番号(又は、番号)は、同様の要素又は作用を示す。図面における要素のサイズ及び相対位置は、必ずしも一定の縮尺で描かれてはいない。例えば、さまざまな要素の形状及び角度は一定の縮尺で描かれず、これらの要素のいくつかは、図面を見やすくするために、随時適当に拡大及び配置されている。さらに、描かれている要素の特定の形状は、特定の要素の実際の形状に関するいかなる情報も伝えることを意図しておらず、図面における認識を容易にするためにのみ選択されている。
【
図1】
図1は、例示的な一実施形態による、1つ又は複数のロボットが動作する操作環境、様々なセンサー及び環境モデリングコンピュータシステムを備える環境モデリングシステム、並びに任意選択の動作プランナ及び任意選択のロボット制御システム(複数可)の概略図である。
【
図2】
図2は、例示的な一実施形態による、
図1の環境モデリングシステムの機能ブロック図である。
【
図3】
図3は
図1の環境モデリングシステムの高レベル動作方法を示す流れ図であり、1つの例示的な実施形態による。
【
図4】
図4は
図1の環境モデリングシステムの動作の低レベルの方法を示す流れ図であり、1つの例示的な実施形態による。
【
図5】
図5は
図1の環境モデリングシステムの動作の低レベルの方法を示す流れ図であり、1つの例示的な実施形態による。
【
図6】
図6は
図1の環境モデリングシステムの動作の低レベルの方法を示す流れ図であり、1つの例示的な実施形態による。
【
図7】
図7は、例示された一実装形態による、プロセッサベースのシステムの低レベル動作方法を示すフロー図である。
【
図8】
図8は、例示された一実装形態による、プロセッサベースのシステムの低レベル動作方法を示すフロー図である。
【発明を実施するための形態】
【0012】
以下の説明では、種々の開示の実施態様が正しく理解されるように、一定の具体的な詳細を以下に説明する。但し、当業者ならば、これら具体的な細部の1つ又は複数を欠いても、又は他の方法、他の構成部材、他の材料でも実施が可能であることは容易に理解するところであろう。他の例では、実施形態の説明を不必要に曖昧にすることを避けるために、コンピュータシステム、アクチュエータシステム、及び/又は通信ネットワークに関連する周知の構造は詳細には図示されておらず、又は説明されていない。他の例では、実施形態の説明を不必要に曖昧にすることを避けるために、知覚データ及び1つ又は複数のオブジェクト等のボリュメトリック(又は、体積的/volumetric)表現を生成するための周知のコンピュータビジョン方法及び技法は詳細に説明されていない。
【0013】
文脈上別段の要求がない限り、以下の明細書及び特許請求の範囲を通して、「含む(comprise)」という用語及び「含む(comprises)」及び「含む(comprising)」等のその変形は「含むが、これらに限定されない(including, but not limited to)」であるとして、確定していない(open)包括的な意味であると解釈されるべきである。
【0014】
本明細書全体を通して、「1つの実装態様」又は「実装形態」又は「1つの実施形態」又は「実施形態」への言及は、実施形態に関連して記述された特定の特徴、構造又は特性が少なくとも1つの実装形態又は少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な場所における「1つの実装形態」又は「実装形態」又は「1つの実施形態において」又は「実施形態において」という表現の出現は、必ずしもすべてが同じ実装形態又は実施形態を指すわけではない。さらに、特定の特徴、構造又は特性は、1つ又は複数の実装形態又は実施形態において、任意の適切な方法で組み合わされ得る。
【0015】
本明細書及び添付の特許請求の範囲で使用されるように、単数表現「1つの(a)」、「1つの(an)」及び「その(the)」は、文脈上明確な指示がない限り、複数の存在を包含するものである。また、表現「又は」は一般に、文脈上明確な指示がない限り、「及び/又は」を包含する意味で用いられる。
【0016】
本明細書及び添付の特許請求の範囲で使用されるように、用語「決定する」、「決定された」(determine、determining及びdetermined)は、衝突が起こるか、又は結果として生じるかの文脈で使用されるときには、所与のポーズ又はいくつかの中間ポーズを介した2つのポーズ間の移動(movement)がロボットの一部分と何らかの物体(例えば、ロボットの別の部分、持続性障害物(又は、永続的障害物/persistent obstacle)、一時的障害物(transient obstacle)又は現在ターゲットとされているオブジェクト以外の何らかのオブジェクト)との間の衝突をもたらすかどうかに関する評価又は予測が行われることを意味する。
【0017】
発明の名称及び要約は便宜上のものであり、本発明の範囲を表すものではなく、又は実施形態を意味するものでもない。
【0018】
概要として、ロボットの少なくとも一部分の特大表現は操作環境の表現からフィルタリングされ(例えば、ボクセルは特大表現内に完全に存在する任意のオブジェクトについて、占有されていないものとして設定される)、それは、例えば、ロボットの動作計画のために使用され得る操作環境のデジタルモデルを提供する。特大表現はロボットの少なくとも一部分(例えば、付属物)の物理的寸法を超え、ロボットの外側寸法(outer dimension)に取り付けられ、それを超えて延在する構造(例えば、ケーブル、ケーブルタイ、センサー、他の特徴)を有利に考慮する。特大表現の特定の寸法は様々な要因、例えば、モデル化され得る、付属構造の幾何学的形状、ロボット付属物の向き(又は、配向/orientation)又は位置、ロボット付属物に対する付属構造の向き又は位置、付属物の速度、付属構造の弛み等に基づくことができる。
【0019】
図1は、1つの例示としての形態に従う、1つ又は複数のロボット102a、102b、102c(3つ示し、まとめて102)が動作しうる3次元操作環境100を示している。簡潔にするために、本明細書では、3次元操作環境100を環境100と呼ぶ。環境100はロボット102が動作し、移動することができる3次元空間を表す。環境100は、任意の所与のロボット102「構成空間」又は「C空間」とは異なることに留意されたい。
【0020】
環境100は、衝突の可能性がある領域を表す障害物106a~106e(まとめて106)を含めることができる。障害物(単数又は複数)106という用語は所与のロボット102の衝突のリスクを表すオブジェクト(例えば、他のロボットを含む無生物の(inanimate)オブジェクト、人及び他の動物を含む生きているオブジェクト)を示すために使用される。
【0021】
これらの障害物106a、106b、106cのいくつかは、静的な障害物又はオブジェクト(すなわち、移動(すなわち、並進、回転)しない又は関連する期間又は実行時(又は、ランタイム/runtime)の間に形状を変化させる障害物又はオブジェクト、例えば、建物、木、岩、家具、ペデスタル(又は、台座/pedestal)、サポートポスト、棚)の形態をとることもある。これらの障害物の中には、環境100において動的障害物又はオブジェクト106d、106d(すなわち、移動(すなわち、並進、回転)しない、又は関連する期間又は実行時の少なくとも一部の間に形状を変化させる障害物又はオブジェクト、例えば、他のロボット、コンテナ、車両又は車両の形式のロボット、人、動物、ローリング又はシフトするアイテム)の形態をとるものもある。例えば、ペデスタル、壁及びサポートポストの組は固定されていてもよく、又は、関連する期間(例えば、実行時)にわたって、移動又は形状変化していなくてもよく、したがって、静的障害物とみなされる。また、例えば、コンテナ、ワークピース、及び別のロボット102の組は関連する期間(例えば、実行時)の間に、移動又は形状変更(例えば、傾斜)することができ、したがって、動的障害物と見なされる。
【0022】
一部の障害物106a-106cは時間の経過とともに変化しない面積又はボリュームを占めており、例えば、ロボットの操作中又は移動中に固定されたままで又は変化しない。したがって、そのような障害物は、静的障害物又は持続性障害物と呼ばれることがある。静的又は持続性障害物(例えば、障害物106a-106c)によって占められる面積又はボリュームはモデルが決定されたり計算回路(circuitry)が構成されたりする時に知ることができ、その時は構成時(又は、構成時間/configuration time)又は実行時前と呼ばれる。
【0023】
その他の障害物106d、106eについては、障害物が占めるそれぞれの面積又はボリュームが変化し、又は例えば、ロボットの操作中又は移動中に変更される等、時間の経過とともに変化することが予想される。したがって、そのような障害物は、動的障害物又は一時的障害物と呼ばれることがある。動的又は一時的障害物(例えば、障害物106d、106e)によって占められる面積又はボリュームは、通常、構成時中には分からず、むしろロボット操作中又は実行時中に決定される。
【0024】
環境100は任意選択で、1つ又は複数のターゲットオブジェクト108a、108b(2つ示し、まとめて108)を含んでもよく、このロボット102が、例えば、ターゲットオブジェクト108を把持する、ターゲットオブジェクト108を動かす、又は、何らかの定義された仕事又は操作を実行するためにターゲットオブジェクト108をエンゲージ(又は、係合)することによって相互作用することが意図されている。ターゲットオブジェクト108は通常障害物とはみなされないが、いくつかの実施形態では例えば、一つのロボット102aが順次エンゲージする複数のターゲットオブジェクト108が存在する場合や、別のロボット102b,102cが特定のターゲットオブジェクト108を対象としないと考えられる場合等に、障害物を構成する可能性がある。いかなるターゲットオブジェクトや、いかなるオブジェクトと相互作用することなく、又はいかなるオブジェクトと係合することなく、様々なポーズの間で移動するロボット(複数可)102を含まない実装形態もある。
【0025】
図1は、限られた数の障害物106及びターゲットオブジェクト108を有する代表的な環境100を示す。典型的な環境は、他のロボットであるオブジェクト、並びに様々な他の自然又は人工の静的及び動的障害物106又はターゲットオブジェクト108を含む、多くの追加の障害物106及びターゲットオブジェクト108を含み得る。環境100によっては、ターゲットオブジェクト108を完全に省略してもよく、又は動的障害物106d、106eさえ省略してもよい。本明細書で教示される概念は、図示されるものよりも人口の多い環境で同様の方法で使用され得る。
【0026】
ロボット102は、直角座標(又は、デカルト)の円筒形、デルタ、極座標、及び垂直関節(vertically articulated)のスカラロボット(SCARA)を含むが、これらに限定されない、任意のタイプのロボットであり得る。ロボット102はまた、例えば、自動車、飛行機、ドローン又は自律的又は半自律的に(すなわち、少なくとも部分的に自律的に)動作し、環境100によって表される空間内を移動することができる任意の他の車両の形態で、移動可能であり得る。
【0027】
図示された実施形態では、ロボット102は基部110と、リンク112a、112b(2つのみ示す。まとめて112)の組により形成された付属物111(1つのみ示す)と、ジョイント114の組(1つのみ示す)を含み、各ジョイント114は、リンク112の各々のペアを物理的に連結している。ロボット102は、また、別のリンク112bと比較して、又は基部110と比較して、1つのリンク112aの動きを駆動する1つ又は複数のアクチュエータ116(1つのみ示す)を含むことができる。アクチュエータ116は例えば、電気モータ、ステッピングモータ、ソレノイド、電磁石、油圧ピストン及びシリンダ、空気圧ピストン及びシリンダ、油圧バルブ、空気圧バルブ、真空システム用のポンプ又は圧縮機、油圧システム、油圧及び/又は空気圧リザーバを含む空気圧システムの多種多様な形態のいずれかをとることができる。ロボット102はまた、エンドエフェクタ又はエンドオブアームツール118、例えば、環境100内のターゲットオブジェクト108に物理的に係合するための対向可能な指、フック又は真空ポートを有する把持器を含み得る。
【0028】
特に、ロボット102は、それに取り付けられ、ロボット102から外側に延在する1つ又は複数の構造を有する可能性がある。図示された例では、ロボット102が第1ケーブル119aと第2ケーブル119b(2つのケーブルのみ示し、まとめて119)を含む。1つ又は複数のケーブル119は例えば、ロボット102の様々な部分に取り付けることができる。例えば、1つ又は複数のケーブル119はロボット102の、基部110と付属物111(例えば、リンク112及びジョイント114によって形成された付属物)との間に延在してもよい。追加的又は代替的に、1つ又は複数のケーブル119は、付属物111の様々なリンク112の間、又は付属物111とエンドエフェクタ118との間に延在してもよい。
【0029】
ケーブル119は様々な形態をとることができる。例えば、1つ又は複数のケーブル119を使用して、電力を供給するか、又は加圧流体(例えば、油圧、空気圧)を、例えば、1つ又は複数のアクチュエータ116に供給することができる。例えば、1つ又は複数のケーブル119を使用して、例えば、1つ又は複数のセンサー搭載ロボット(例えば、カメラ、位置又はロータリエンコーダ、近接センサー、慣性センサー)から、又は1つ又は複数のアクチュエータ116に通信信号をルーティングすることができる。
【0030】
ケーブル119はそれに沿った様々な点又は位置でロボット102に取り付けることができ、例えば、付属物111に沿ったいくつかの点で取り付けることができ、付属物111の周囲又はロボット102の他の部分に対して概して外側に延在する。いくつかの例では、ケーブル119の1つ又は複数の部分がロボット102の少なくともいくつかの位置及び向きにおいて、ロボット102の一部分から垂れ、たるみ又は垂れ下がり得る。いくつかの例では、ケーブル119の1つ又は複数の部分が、ロボット102の一部が移動するときに、例えば、慣性力がケーブル119又はその一部に作用するときに、ロボット102の一部に対する相対的な位置又は向きを変化させることができる。他の構造(例えば、センサー、慣性センサー、例えば、3軸加速度計)もまた、ロボット102の1つ又は複数の部分に取り付けられてもよく、概してそこから外側に延在する。
【0031】
環境モデリングシステム120は1つ又は複数の環境センサー122a、122b、122c、122d(4つ示し、まとめて122)及び環境モデリングコンピュータシステム124から構成されてもよい。
【0032】
環境センサー122は多種多様な形態又はタイプ、例えば、1つ又は複数のデジタルカメラ122a、122b(例えば、飛行時間型デジタルカメラ、3Dカメラ)、1つ又は複数のモーションセンサー(例えば、受動赤外線モーションセンサー)又はレーダ122c、1つ又は複数のLIDARセンサー122d、1つ又は複数のマイクロフォン(図示せず)、1つ又は複数の重量センサー又はロードセル(図示せず)、1つ又は複数の光電セル(又は、電気アイ/electric eye)(例えば、IR光源及びIRセンサーを含む受動赤外線(IR)センサー)(図示せず)、1つ又は複数のエンコーダ(例えば、ポジションエンコーダ、ロータリエンコーダ、リードスイッチ)(図示せず)、1つ又は複数の温度センサー(図示せず)、湿度センサー(図示せず)、及び/又は1つ又は複数の圧力センサー(図示せず)の何れかを取り得る。センサー122は障害物、ターゲットオブジェクト、ロボット、及び/又は環境100内の他の物体の特性(例えば、位置、向き、形状、占有率、移動、速度)を含む環境100の特性を検出する。センサー122は直接、又は収集されたセンサー情報を収集し、随意に前処理する中間のプロセッサベースのシステムを介して、環境モデリングコンピュータシステム124に、有線で、光学的に、無線で、信号を提供することができる。これらの信号のうちの少なくともいくつかは、任意選択で、知覚データを符号化するか、又はさもなければ表すことができる。
【0033】
環境モデリングコンピュータシステム124は回路、例えば、1つ又は複数のプロセッサ及び/又は1つ又は複数の非一時的プロセッサ可読媒体(例えば、不揮発性メモリ、揮発性メモリ、回転(又は、スピニング)記憶媒体)を含むことができ、例えば、非一時的プロセッサ可読媒体によって記憶された、プロセッサ実行可能命令の1つ又は複数の組を実行し得る。環境モデリングコンピュータシステム124はセンサー122のうちの1つ又は複数に通信可能に(例えば、有線で、光学的に、無線で)結合されて、直接的又は間接的のいずれかで、感知された情報、例えば、知覚データを受信することができる。環境モデリングコンピュータシステム124は任意選択で、ロボット102の1つ又は複数のモデル、例えばロボット102の1つ又は複数の運動学的モデル130を受信するように通信可能に結合(例えば、有線で、光学的に、無線で)され得る。運動学的モデル130は例えば、階層的データ構造の形態をとることができる。階層データ構造は例えば、1つ又は複数のタイプのツリーの形態をとることができる。例えば、適切な階層データ構造は、オクツリー(又は、オクトツリー/八分木)、軸整列(axis-aligned)バウンディングボックス(AABB)のツリー、有向(oriented)(非軸整列)バウンディングボックスのツリー、球体のツリー、及び/又は他のツリータイプのデータ構造を含み得る。運動学的モデル130は例えば、非階層的データ構造(例えば、ユークリッド距離フィールド)の形態をとることができる。
【0034】
いくつかの実装形態では、1つ又は複数のプロセッサによるプロセッサ実行可能命令の実行が環境モデリングコンピュータシステム124に、受信されたセンサー情報の一部又はすべてを処理又は前処理させ得る。本明細書で説明するように、環境モデリングコンピュータシステム124は、実行時中の所与の期間に環境100内に存在する任意の障害物を含む、3次元操作環境100の1つ又は複数のデジタル表現又はモデル132を生成することができる。操作環境100のデジタル表現又はモデル132は、有利には「フィルタリングされた」デジタル表現又はモデル132の形態をとることができる。操作環境100のデジタル表現又はモデル132は、所与のロボットの運動計画のために有利に使用され、所与のロボットの特大表現131a、131b、131c(3つ示し、まとめて131)により占有される領域が非占有として示される一方、もしあれば、他のロボットは、所与のロボットのための動作計画のために生成される操作環境100のデジタル表現又はモデル132からフィルタリングされないまま残る場合がある。デジタル表現又はモデル132は多種多様な形態、例えば、占有グリッド、のいずれかをとることができる。
【0035】
1つ又は複数の動作プランナ又は動作計画システム126(1つのみ図示)は環境モデリングコンピュータシステム124に通信可能に(例えば、有線で、光学的に、無線で)結合され、そこから情報を受信し、受信された情報に少なくとも部分的に基づいて動作プランを生成することができる。情報は操作環境100内に存在する任意の障害物(他のロボット102を含む)を含む、操作環境100のデジタル表現又はモデル132(例えば、「フィルタリングされた」デジタル表現又はモデル132)を含み得る。動作プランナ又は動作計画システム126への入力は、各ロボット102によって実行されるタスク、ターゲット又は目標133の組を含むこともできる。タスクを実行することは典型的には動作計画を使用し、次に、動作計画は衝突検出を使用する。
【0036】
動作プランナ又は動作計画システム126はロボット102と一体又はロボット102とは分離してかつ別個であってもよく、又は1つ又は複数の部分がロボット102に搭載されてもよく、一方、1つ又は複数の他の部分はそのロボット102とは離れて(すなわち、オフボード)いてもよい。動作プランナ又は動作計画システム126は回路、例えば、1つ又は複数のプロセッサ及び/又は1つ又は複数の非一時的プロセッサ可読媒体(例えば、不揮発性メモリ、揮発性メモリ、回転記憶媒体)を含むことができ、例えば、非一時的プロセッサ可読媒体によって記憶された、プロセッサ実行可能命令の1つ又は複数の組を実行し得る。動作プランナ又は動作計画システム126は、ロボット102に特定のタスク、例えば、連続する一連のポーズの間で、好ましくは障害物106と衝突せず、又は衝突の可能性を減らして移動させることを実行させるための動作プラン127を生成することができる。動作プランナ又は動作計画システム126は1つ又は複数のロボット制御システム138に通信可能に(例えば、有線で、光学的に、ワイヤレスで)結合されて、特定のロボット102にその動作計画に従わせる又はその動作計画を実行させるそこへの命令を提供することができる。
【0037】
動作プランナ又は動作計画システム126は、衝突検出システム140を含むか、又はそれにアクセスすることができる。衝突検出システム140は回路、例えば、1つ又は複数のプロセッサ及び/又は1つ又は複数の非一時的プロセッサ可読媒体(例えば、不揮発性メモリ、揮発性メモリ、回転記憶媒体)を含むことができ、例えば、非一時的プロセッサ可読媒体によって記憶された、プロセッサ実行可能命令の1つ又は複数の組を実行し得る。衝突検出システム140は有利には「フィルタリングされた」デジタル表現又はモデル132、及び任意選択でロボットの運動学的モデル130(例えば、運動学的モデル130のデータ構造表現)を採用して、所与のロボットと環境100内の障害物106との衝突の確率を、様々なポーズで、又はポーズ間を移動する際に、決定又は検出又は評価する。これらの障害物106は、環境100内の他のロボットを含むことができる。動作プランナ又は動作計画システム126及び/又は衝突検出システム140は例えば、2019年8月6日に出願された国際(PCT)特許出願第PCT/US2019/045270号に記載された動作計画システム及び衝突検出システムの形態をとることができる。
【0038】
ロボット制御システム138は典型的には別個であるが、いくつかの実装形態では共通の回路基板、プロセッサ、又は他の回路内で組み合わせることができる、いくつかの構成要素を含むことができる。例えば、1組のドライバはアクチュエータ116に通信可能に結合された回路を含み、アクチュエータ116(複数可)を駆動して、ロボット102に、定義されたポーズを採用させるか、又は所定の姿勢に移動させることができる。ドライバは例えば、電動モータ、ステッパモータ、ソレノイド、電磁石、油圧ピストン、空気圧ピストン、油圧弁、空気圧弁、真空システム用のポンプ又は圧縮機、油圧システム、及び/又は空気圧システムのうちの任意の1つ又は複数を駆動するモータコントローラ及び同様の回路を含むことができる。
【0039】
図2は、少なくとも1つの例示された実施形態によるシステム200を示す。システム200は
図1に示され、それに関して説明される様々な構成要素又は構造を含み又は実装し得る。
【0040】
システム200は、1つ又は複数のセンサー202、1つ又は複数の環境モデリングコンピュータシステム204、1つ又は複数の動作プランナ206、及び1つ又は複数のロボット208を含むことができる。1つ又は複数の環境モデリングコンピュータシステム204は、1つ又は複数のセンサー202に通信可能に結合されて、そこから知覚情報又はデータを受信することができる。1つ又は複数の環境モデリングコンピュータシステム204は、通信可能に結合されて、3次元操作環境のデジタル表現又はモデルを提供することができる。3次元操作環境のデジタル表現又はモデルは有利にはロボットから外側に延在する構造(例えば、ケーブル)を包含するために、所与のロボットの特大表現131を介して、そこからフィルタリングされた所与のロボットを有し得る。1つ又は複数の動作プランナ206は、通信可能に結合されて、1つ又は複数の動作コントローラ210を介して1つ又は複数のロボット208に動作プラン127(
図1)を提供することができる。
【0041】
前述したように、各ロボット208は付属物の末端にエンドオブアームツール又はエンドエフェクタを備えた、リンクとジョイントの組らなる付属物を備えることができ、及び/又は、そのジョイントを中心にそのリンクを動かすことができる1つ又は複数のアクチュエータ211a、211b、211c(
図2に3つ示し、まとめて211)を備えることができる。各ロボット208は例えば、動作プランナ又は動作計画システム206から制御信号を受信し、アクチュエータ211を駆動するための駆動信号を提供する、1つ又は複数の動作コントローラ(例えば、モータコントローラ)210(1つのみ図示)を含むことができる。動作コントローラ210は、アクチュエータ211のうちの特定のものを制御するために専用であり得る。
【0042】
例示的な環境モデリングコンピュータシステム204が、例示目的で詳細に説明される。当業者であれば、説明は例示的なものであり、説明及び図示された環境モデリングコンピュータシステム204に変更を加えることができることを認識するであろう。
【0043】
環境モデリングコンピュータシステム204は、1つ又は複数のプロセッサ222と、1つ又は複数の関連する非一時的なコンピュータ可読又はプロセッサ可能記憶媒体、例えばシステムメモリ224a、ディスクドライブ(複数可)224b、及び/又はプロセッサ222のメモリ又はレジスタ(図示せず)222を含む。非一時的なコンピュータ可読又はプロセッサ可読記憶媒体224a、224bは、システムバス229のような1つ又は複数の通信チャンネルを介してプロセッサ222aに通信接続されている。システムバス229は、メモリコントローラを有するメモリバス、周辺バス、及び/又はローカルバスを含む、任意の既知のバス構造又はアーキテクチャを採用することができる。このような構成要素の1つ又は複数はさらに、又はその代わりに、1つ又は複数の他の通信チャネル、例えば、1つ又は複数のパラレルケーブル、シリアルケーブル、又は高速通信可能なワイヤレスネットワークチャネル、例えば、ユニバーサルシリアルバス(「USB」)3.0、周辺構成要素相互接続エクスプレス(PCIe)を介して、又はThunderbolt(登録商標)を介して互いに通信し得る。
【0044】
環境モデリングコンピュータシステム204はまた、例えば、ネットワークインターフェース(図示せず)を介して、環境モデリングコンピュータシステム204の様々な構成要素に直接通信可能に結合又は間接的に通信可能に結合される、1つ又は複数のリモートコンピュータシステム212、例えば、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ウルトラポータブルコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルコンピュータ、及び/又はセンサー(
図2には図示せず)に通信可能に結合されてもよい。リモートコンピューティングシステム(例えば、サーバコンピュータ)を使用して、環境モデリングコンピュータシステム204をプログラムし、構成し、制御し、又はさもなければ入力データ(例えば、ロボットモデル)を、インターフェースし又は提供することができる。このような接続は1つ又は複数の通信チャネル214、例えば、1つ又は複数のワイドエリアネットワーク(WAN)、例えば、イーサネット(登録商標)、又はインターネットプロトコルを使用するインターネットを介してもよい。いくつかの実装形態では、実行時前計算又は構成時計算(例えば、ケーブルのモデリング)は環境モデリングコンピュータシステム204とは離れたシステム(例えば、コンピュータシステム212)によって実行され得る。実行時計算は、1つ又は複数の環境モデリングコンピュータシステム204及び/又は動作プランナ206によって実行され得る。
【0045】
先に述べたように、環境モデリングコンピュータシステム204は1つ又は複数のプロセッサ222(すなわち、回路)、非一時的な記憶媒体224a、224b、及び種々のシステム構成要素を結合するシステムバス229を含み得る。プロセッサ222は、1つ又は複数の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ(PLC)等の任意の論理処理装置であってもよい。市販のコンピュータシステムの非限定的な例としては米国Intel(登録商標)社が提供するマイクロプロセッサのCeleron、Core、Core 2、Itanium及びXeonファミリー、米国アドバンストマイクロデバイス社が提供するK8、K10、Bulldozer、及びBobcatシリーズマイクロプロセッサ、米国アップルコンピュータ社が提供するA5、A6及びA7シリーズマイクロプロセッサ、米国クアルコム社が提供するSnapdragonシリーズマイクロプロセッサ、米国オラクル社が提供するSPARCシリーズマイクロプロセッサが挙げられるが、これらに限定されない。
図2に示される種々の構造の構築及びオペレーションは、「MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS」と題された2017年6月9日出願の国際特許出願第PCT/US2017/036880号、「SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME」と題された2016年1月5日出願の国際特許出願公開第WO2016/122840号、「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」と題された2018年1月12日出願の米国特許出願第62/616,783号、「MOTION PLANNING FOR MULTIPLE ROBOTS IN SHARED WORKSPACE」と題された2019年6月24日出願の米国特許出願第62/865,431号、及び/又は2019年8月6日出願の国際特許出願第PCT/US2019/045270号に記載された又は記載されたものに類似する構造、技法及びアルゴリズムを実装し又は採用することができる。
【0046】
システムメモリ224aは、リードオンリーメモリ(「ROM」)226、ランダムアクセスメモリ(「RAM」)228、フラッシュメモリ230、EEPROM(図では示されていない)を含むことができる。ROM226の一部を形成することができる基本入出力システム(「BIOS」)232は起動中などに、環境モデリングコンピュータシステム204内の要素間で情報を転送するのを助ける基本ルーチンを含む。
【0047】
ドライブ224bは例えば、磁気ディスクからの読出し及び磁気ディスクへの書込みのためのハードディスクドライブ、ソリッドステートメモリからの読出し及びソリッドステートメモリへの書込みのためのソリッドステート(例えば、フラッシュメモリ)ドライブ、及び/又はリムーバブル光ディスクからの読出し及びリムーバブル光ディスクへの書込みのための光ディスクドライブであってもよい。環境モデリングコンピュータシステム204はまた、様々な異なる実施形態において、そのようなドライブの任意の組み合わせを含んでもよい。ドライブ(複数可)224bは、システムバス229を介してプロセッサ222と通信することができる。ドライブ(複数可)224bは当業者に知られているように、そのようなドライブとシステムバス229との間に結合されたインターフェース又はコントローラ(図示せず)を含むことができる。ドライブ(複数可)224b及び関連するコンピュータ可読媒体は、環境モデリングコンピュータシステム204のためのコンピュータ可読及び/又はプロセッサ可読及び/又は実行可能命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶装置を提供する。当業者は、WORMドライブ、RAIDドライブ、磁気カセット、デジタルビデオディスク(「DVD」)、ベルヌーイカートリッジ、RAM、ROM、スマートカード等、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体が使用され得ることを理解するであろう。
【0048】
実行可能な指示及びデータはシステムメモリ224aに、例えば、オペレーティングシステム236、1つ又は複数のアプリケーションプログラム238、他のプログラム又はモジュール240及びプログラムデータ242に記憶することができる。アプリケーションプログラム238はプロセッサ222(複数可)に、センサー又は知覚データを収集又は受信すること、3次元環境の表現又はモデルを受信又は生成すること、ロボットの特大表現131(
図1)を受信又は生成すること、そのロボットの特大表現131に対応する領域内に全体的に存在するその3次元環境の表現内のオブジェクトを識別すること、そのロボットの特大表現131に対応する領域内に全体的に存在するオブジェクトによって占有される領域の占有値を占有されていないものとして設定すること、及び、さらなる操作、例えば、動作計画において使用するために、結果として得られる「フィルタリングされた」表現又はモデルを提供することのうちの1つ又は複数を実行させるプロセッサ実行可能命令を含み得る。そのような操作は(例えば、
図3及び8を参照して)本明細書に記載され、参照により本明細書に組み込まれる参照文献に記載されるように実行することができる。アプリケーションプログラム238は、プロセッサ222に他の操作、例えば、任意選択で(センサーを介して取り込まれた)知覚データを処理させる、1つ又は複数の機械可読及び機械実行可能命令を含み得る。プロセッサ実行可能命令はプロセッサ222に、その知覚データから「フィルタリングされた」表現又はモデルを構築させ、所与のロボットによって占有される領域を包含するよりも多いボリュームが、占有されていないものとして示される。アプリケーションプログラム238はさらに、プロセッサ222に、本明細書及び参照により本明細書に組み込まれる参照文献に記載される様々な他の方法を実行させる1つ又は複数の機械実行可能命令をさらに含むことができる。
【0049】
図2ではシステムメモリ224aに記憶されているように示されているが、オペレーシングシステム236、アプリケーションプログラム238、他のアプリケーション、プログラム/モジュール240、及びプログラムデータ242は他の非一時的なコンピュータ又はプロセッサ可読媒体、例えばドライブ(複数可)224bに記憶され得る。
【0050】
必須ではないが、実装の多くはコンピュータ又はプロセッサ可読媒体に記憶され、1つ又は複数のコンピュータ又はプロセッサによって実行されるプログラムアプリケーションモジュール、オブジェクト又はマクロ等、コンピュータ実行可能命令の一般的なコンテキスト(又は、文脈)で説明される。種々の実施形態においては、オペレーションが完全にハードウェア回路で、又はシステムメモリ224a等のメモリストレージに格納されたソフトウェアとして実行され、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)プロセッサ、プログラムドロジックコントローラ(PLC)、電気的プログラマブルリードオンリーメモリ(EEPROM)等の1つ又は複数のハードウェアプロセッサ222によって又はメモリストレージに格納されたハードウェア回路及びソフトウェアの組合せとして実行されることができる。
【0051】
環境モデリングコンピュータシステム204は任意選択で、1つ又は複数の入力/出力構成要素、例えば、モニタ又はタッチスクリーンディスプレイ244、キーパッド又はキーボード246、及び/又はコンピュータマウス248等のポインティングデバイスを含み得る。
【0052】
当業者は、例示された実装、並びに他の実装がロボット、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラマブルコンシューマエレクトロニクス、パーソナルコンピュータ(「PC」)、ネットワーク化されたPC、ミニコンピュータ、メインフレームコンピュータ等を含む、他のシステム構造及び配置、及び/又は他のコンピューティングシステム構造及び配置で実施され得ることを理解するであろう。実装又は実施形態又はその一部は、(例えば、構成時及び実行時に)通信ネットワークを介してリンクされたリモート処理デバイスによってタスク又はモジュールが実行される分散コンピューティング環境において実施され得る。分散コンピューティング環境では、プログラムモジュールがローカル及びリモートメモリ記憶装置又はメディアの両方に配置され得る。しかしながら、ロボットの構成を改善するのを助けるためには、ある種の情報がどこに、そしてどのように記憶されるかが重要であり得る。
【0053】
動作プランナ又は動作計画システム206は、1つ又は複数のプロセッサ250と、1つ又は複数の関連する非一時的コンピュータ可読又はプロセッサ可読記憶媒体、例えば、システムメモリ252、ディスクドライブ(図示せず)、及び/又はプロセッサ250のレジスタ(図示せず)とを備え得る。非一時的コンピュータ可読又はプロセッサ可読記憶媒体(例えば、システムメモリ252)は、システムバス254のような1つ又は複数の通信チャネルを介してプロセッサ250に通信可能に結合される。システムバス254は、メモリコントローラを備えたメモリバス、周辺バス、及び/又はローカルバスを含む、任意の既知のバス構造又はアーキテクチャを採用することができる。このような構成要素のうちの1つ又は複数はさらに、又は代替として、1つ又は複数の他の通信チャネル、例えば、1つ又は複数のパラレルケーブル、シリアルケーブル、又は高速通信可能なワイヤレスネットワークチャネル、例えば、ユニバーサルシリアルバス(「USB」)3.0、周辺機器構成要素相互接続エクスプレス(PCIe)を介して、又はThunderbolt(登録商標)を介して互いに通信し得る。1つ又は複数の通信ポート(図示せず)は、動作プランナ又は動作計画システム206と環境モデリングコンピュータシステム204及び/又は動作コントローラ210との間の通信を提供することができる。動作プランナ又は動作計画システム206は任意選択で、コンピュータ又は端末(図示せず)に通信可能に結合され(例えば、有線で、光学的に、無線で)、ユーザ入力(例えば、モーションサブディビジョン粒度値(motion subdivision granularity value)又は仕様の指示)を可能にすること、ユーザ出力を提供することができる。
【0054】
動作プランナ又は動作計画システム206は、所与のロボットの特大表現131(
図1)が非占有と示されている環境のフィルタリングされた表現又はモデルを受信することができる。動作プランナ又は動作計画システム206はまた、ロボットモデル、タスク、ターゲット目標、ロボットの総数に対する制限、ロボットごとのタスクに対する制限、変数又は他のパラメータに対する限度(又は、境界/bounds)又は制約、及び/又は反復に対する制限を受信し得る。
【0055】
動作プランナ又は動作計画システム206は動作プランナ又は動作計画システム206に動作計画を実行し、通常、衝突評価に依存して、ロボットがタスクを実行するための動作プランを生成させるプロセッサ実行可能命令(アプリケーション256)を実行する。動作プランナ又は動作計画システム206は例えば、衝突検出又は評価を実行することによって動作プランを構築し、衝突検出又は評価に基づいて動作計画グラフ内のエッジのコストを更新し、経路探索又は評価を実行することができる。動作プランナ又は動作計画システム206は例えば、候補ソリューションの集団(又は、母集団/population)を生成し、候補ソリューションをモデリングし、モデリングに少なくとも部分的に基づいてそれぞれの候補ソリューションに関連するコストを生成又は決定し、ロボットのそれぞれのベースの位置及び向き(又は、基本位置及び向き)、ロボットのそれぞれの1つへのタスクの割り当て、及びロボットのそれぞれのターゲットシーケンスのうちの2つ又はそれ以上についての2つ又はそれ以上の非同種パラメータの組にわたって共最適化する(co-optimize)オプティマイザエンジンによって候補ソリューションの集団に対して最適化を実行し、及び/又はマルチロボット操作環境においてロボットを位置決め及び向き付けし、そのロボットにタスクを実行させるために使用され得る出力を提供し得る。
【0056】
図3は、例示的な一実施形態による、
図1の環境モデリングシステムの操作の高レベル方法300を示す。方法300は例えば、1つ又は複数の非一時的なプロセッサ可読媒体上に記憶された命令を実行することによって、1つ又は複数のプロセッサベースのシステムによって実行され得る。
【0057】
方法300は、2つ又はそれ以上のロボット102a-102c(
図1)、208(
図2)が動作する操作環境100(
図1)に関して説明される。したがって、方法300は整数値Nによって指定された総ロボット数のそれぞれに対して、動作計画を順次実行することを可能にする3次元環境の表現又はモデルを生成する反復ループを採用するものとして示されている。ロボット102a~102cに対して連続する順序で実行されるように図示されているが、特定の順序は変更されてもよく、様々な実装はロボット102に対して、ロボット102b、102cの異なるものに対して実行される前に、単一のロボット102aに対して複数回繰り返すことを含む、任意の所望の順序で動作してもよい。いくつかの実施形態では、方法300の1つ又は複数のスレッド又はインスタンスを並行して、例えば、操作環境100における各ロボット102a-102cに対して、別々のスレッド又はインスタンスを同時に動作させてもよい。
【0058】
方法300は302において、例えば、呼び出しルーチン又はモジュールを介した呼び出しに応答して、又は、コンピュータシステム、例えば、環境モデリングコンピュータシステム124(
図1)、204(
図2)への信号の受信又は電力の印加の検出に応答して、開始する。
【0059】
304において、1つ又は複数のセンサー122、202は、1つ又は複数のロボット102、208が動作する3次元操作環境100(
図1)を特徴付けるセンサー又は知覚データをキャプチャする。センサー122、202は多種多様な形態、例えば、デジタルカメラ、LIDARセンサー、マイクロフォン、重量センサー又はロードセル、光電セル(例えば、IR光源及びIRセンサー)、エンコーダ(例えば、ポジションエンコーダ、ロータリエンコーダ、リードスイッチ)、温度センサー、湿度センサー、及び/又は圧力センサーのうちの1つ又は複数をとることができる。センサー又は知覚データは任意の様々な形態でキャプチャされてもよく、任意の様々な形態で、例えば、点群又は占有グリッドとして表されてもよい。
【0060】
例えば、センサー122、202は、センサー又は知覚データ及び/又は他の感知情報を1つ又は複数のプロセッサに提供することができる。センサー又は知覚データはどのボクセル又はサブボリューム(例えば、ボックス)が現在の時間、例えば、事前構成時(又は、構成前時/pre-configuration time)、構成時、実行時において環境内で占有されているかを表すストリームとして提供されてもよい。このセンサー又は知覚データは、占有グリッドの形態で1つ又は複数のプロセッサに提供され得る。特に、環境100内のオブジェクト(例えば、ロボット102、障害物106、ターゲットオブジェクト108)は、ボクセル(3Dピクセル)又は多角形(しばしば三角形)のメッシュのいずれかとしてそれらのそれぞれの表面を表すことによって表され得る。空間の各離散化領域は、3D(ボリュメトリック)ピクセルに相当する「ボクセル」と呼ばれる。
【0061】
306において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124(
図1)、204(
図2)はロボット102(
図1)が動作する3次元環境100(
図1)のデジタル表現又はモデルにアクセスし、及び/又はそれを生成する。例えば、環境モデリングコンピュータシステム124、204は、通信可能に配置された仲介又はセンサー122(
図1)と環境モデリングコンピュータシステム124、204との間に(又は、通信可能に配置されたセンサー122(
図1)と環境モデリングコンピュータシステム124、204との仲介又は間に)通信可能に配置された専用のプロセッサベースのシステムによって収集又は組み立てられたデジタル表現又はモデルにアクセスすることができる。代替的に、環境モデリングコンピュータシステム124はセンサー122から直接センサー又は知覚の情報又はデータを受信し、操作環境の3次元表現又はモデル132(
図1)を生成することができる。
【0062】
したがって、少なくとも1つのセンサー122、202は操作中に、3次元操作環境100の1つ又は複数の物理的特性をキャプチャすることができる。少なくとも1つのプロセッサベースのデバイスは少なくとも1つのセンサー122、202によって感知された3次元操作環境のキャプチャされた1つ又は複数の物理的特性から、3次元操作環境100のデジタル表現を生成する。例えば、プロセッサベースのデバイス(例えば、コンピュータシステム)は、点群、ボクセルグリッド、表面マップ、メッシュ、占有グリッド、又は別のタイプのデータ構造のうちの1つ又は複数を生成し得る。
【0063】
3次元操作環境100は例えば、複数のボクセルとして表されることができ、各ボクセルは、3次元操作環境の占有の状態(condition)又はステート(又は、状態/state)を占有又は非占有のうちの少なくとも1つとして表す少なくとも1つのそれぞれの占有値を含む。いくつかの実装形態では、占有値が占有又は非占有の2つのステートのみを示すブール値である。他の実装形態では、占有値が3つ又はそれ以上の状態、例えば、占有、非占有及び未知を表し得る。さらなる実装形態では、占有値が例えば、それぞれの位置(例えば、ボクセル)についての占有の確率を表す整数値又は実数値であり得る。
【0064】
追加的に又は代替的に、少なくともいくつかの実装形態では環境モデリングコンピュータシステム124、204はセンサー122、202の出力を変換し得る。例えば、環境モデリングコンピュータシステム124、204は、センサー122、202の出力を変換し得、センサー122、202の出力は、複数のセンサー122の出力を組み合わせ得、及び/又はより粗いボクセルを使用して環境100を表し得る。場合によっては、オブジェクトをボックス(矩形プリズム)として表すことが有利であり得る。オブジェクトがランダムに成形されないという事実のために、ボクセルがどのように編成されるかにおいて、かなりの量の構造が存在し得る。したがって、オブジェクトをボックスとして表すことは、ボクセルベースの表現よりもはるかに少ないビットを必要とし得る(すなわち、ボックスの2つの対向する角のx、y、zデカルト座標のみを必要とし得る)。また、ボックスの交差テストを実行することは、ボクセルの交差テストを実行することと複雑さが同等である。
【0065】
308において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204はロボットIを選択し、操作環境100の「フィルタリングされた」表現又はモデルが例えば、ロボットIのための動作計画において使用するために、生成される。いくつかの実装形態では、単一のロボットが存在し得る。他の実装形態では、操作環境100において少なくとも部分的に共有又は動作する2つ又はそれ以上のロボットを含むことができる。ロボットIを選択する際に様々なヒューリスティックを採用することができる。例えば、環境モデリングコンピュータシステム124、204は、それぞれのロボットが実行すべき特定のタスクに割り当てられたそれぞれの優先順位に基づいてロボットを選択し得る。代替的に、環境モデリングコンピュータシステム124、204はロボット(例えば、ロボット102a-102c)を順次繰返し可能である。本明細書で説明するように、この方法は、様々なロボット102a-102cに対して、任意の望ましい順番で繰り返すことができる。
【0066】
310において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204はセンサー又は知覚情報又はデータから、操作環境100の表現又はモデルによって表される、3次元環境100内の1つ又は複数のオブジェクトを識別する。オブジェクトは、3次元表現又はモデルが動作計画のために使用されるロボット(例えば、ロボット102a)を表すことがあり、他のロボット(例えば、102b、102c)を含む操作環境における1つ又は複数の障害物を表すことがあり、及び/又は操作環境100における1つ又は複数のターゲット108を表すことがある。例えば、環境モデリングコンピュータシステム124、204は、3次元操作環境100内に存在する1つ又は複数の物理オブジェクトを表す3次元操作環境100のデジタル表現内の1つ又は複数の要素を識別する。
【0067】
312において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204は、現在のロボットIの3次元の特大表現又は「拡張」モデル131(
図1)にアクセスし及び/又はそれらを生成する。
【0068】
314において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204は、もしあれば、オブジェクトのうちのどれが、ロボットIの拡張モデル又は特大表現131に対応する3次元領域内に完全に存在するかを決定する。例えば、環境モデリングコンピュータシステム124、204は、もしあれば、3次元操作環境100のデジタル表現内に表される物理オブジェクトのうちのどれが、特大ボリューム131の3次元表現内に完全に存在するかを決定し、特大ボリューム131は第1のロボット(例えば、102a)の付属物111(
図1)を少なくとも包含し、特大ボリューム131の少なくとも1つの部分は第1のロボット(例えば、102a)の付属物111の少なくとも対応する周辺寸法(peripheral dimension)を超えて延在して第1のロボットの付属物111に物理的に結合された1つ又は複数のケーブル119(
図1)を包含する。例えば、環境モデリングコンピュータシステム124、204は3次元操作環境100のデジタル表現内の、隣接し、それぞれが占有の占有状態を表すそれぞれの占有値を有するボクセルの1つ又は複数のグループを識別することができる。例えば、接続されたボクセルを一緒にグループ化するために、連結成分(又は、接続コンポーネント/Connected Components)と呼ばれるアルゴリズムを実行することができる。また、例えば、環境モデリングコンピュータシステム124、204は、次いで、物理オブジェクトを表すものとして識別された3次元操作環境のデジタル表現内のボクセルの1つ又は複数のグループの各々について、ボクセルのグループが特大ボリュームの3次元表現の境界にまたがるかどうかを決定することができる。
【0069】
316において、現在のロボットIの拡張モデル又は特大表現131に対応する3次元領域内に完全に存在するオブジェクトのいずれかについて、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204は現在のロボットIがオブジェクトとして除去された操作環境100のフィルタリングされた離散化表現132(
図1)を提供するために、非占有として領域を表す占有値を設定する。例えば、特大ボリューム131の3次元表現内に完全に存在すると決定される任意の物理オブジェクトについて、環境モデリングコンピュータシステム124、204は3次元操作環境100のデジタル表現内の1つ又は複数の占有値を設定して、それぞれの物理オブジェクトに対応するボリュームを非占有として表し、少なくともロボット付属物111及び少なくとも1つのケーブル119を包含する特大ボリューム131が障害物であると示されないか又は表されない、3次元操作環境100のフィルタリングされた表現132を提供する。例えば、3次元操作環境100のデジタル表現に表されるような、特大ボリューム131の3次元表現内に完全に存在するオブジェクトのいずれかに対応する3次元操作環境100のデジタル表現内の各ボクセルについて、環境モデリングコンピュータシステム124は、それぞれのボクセルのそれぞれの占有値を、非占有を表すものとして設定することができる。
【0070】
318において、プロセッサベースのシステム、例えば、動作プランナ126は、3次元操作環境100のフィルタリングされた離散化表現132を使用して、現在のロボットIの動作計画を実行する。
【0071】
多種多様なアルゴリズムが、運動計画を予備形成(preform)するために使用され得る。これらのアルゴリズムの各々は典型的にはロボットの所与のポーズ又はあるポーズから別のポーズへの動きが、ロボット自体又は環境内の障害物のいずれかとの衝突をもたらすかどうかを決定することができる必要がある。
【0072】
記述された又は参照により組み込まれた、衝突検出ハードウェア、ソフトウェア及び/又はファームウェアは単一のロボットポーズ、又は1つのポーズ(例えば、開始ポーズ)から別のポーズ(例えば、終了ポーズ)へのロボット動作が、ロボットをそれ自体、又はロボットが動作する現在の環境内の任意の障害物と衝突させるかを決定又は計算することができる。環境は衝突のリスクを提示するオブジェクト(例えば、無生物オブジェクト、人及び他の動物を含む生きているオブジェクト)である障害物(又は、障害物、すなわち、そのようなオブジェクト)を含むことができる。環境は、ロボットが係合するオブジェクトである1つ又は複数のターゲットオブジェクトを含んでも含まなくてもよい。障害物のうちのいくつかについて、障害物によって占有されるそれぞれのボリュームは動作プランナのモデル又は計算回路が構成される時間、構成時と呼ばれる時間において知られており、実行時と呼ばれる時間においてロボットの動作を通じて固定又は不変のままであることが予想される。これらの障害物は障害物(複数可)が占めるボリュームが構成時中に既知であり、実行時中に固定又は不変のままであると予想されるので、持続性障害物と呼ばれる。他の障害物については、障害物によって占有されるそれぞれのボリュームが構成時には知られておらず、実行時にのみ決定される。これらの障害物は、構成時中に障害物が占有するボリュームが知られていないので、一時的(又は、トランジエントな)障害物と呼ばれる。これらの一時的障害物のうちの1つ又は複数によって占有されるそれぞれのボリュームは、経時的に固定又は非移動又は非変化であり得、静的障害物と呼ばれうる。これらの一時的障害物のうちの1つ又は複数によって占有されるそれぞれのボリュームは経時的に移動又は変化し、動的障害物と呼ばれうる。
【0073】
本明細書で説明される衝突検出ハードウェア、ソフトウェア、及び/又はファームウェアは様々な異なる運動計画アルゴリズム、例えば、確率的ロードマップ(PRM)、迅速探索ランダムツリー(RRT)、RRT*、双方向RRT等のアルゴリズムによって呼び出され(called)、又は呼びかけられ(又は、呼び出され/invoked)得るサブルーチン又は関数として実装され得る。本明細書で説明される衝突検出ハードウェア、ソフトウェア、及び/又はファームウェアは、多くの候補把持ポーズを迅速に評価することによって、把持計画を加速するために使用することもできる。
【0074】
本明細書で説明される様々な実装形態は、典型的には2つ又は3つの構成時入力、すなわち、i)ロボットの動力学的モデル(又は、運動力学的モデル/kinetic model)、ii)構成時におけるその環境内で占める既知のボリュームを有する、環境内の永続的障害物の表現、及び任意選択で、iii)動作細分粒度値又は仕様を使用する。ロボットの動力学的モデルはロボットのいくつかのジョイントのいずれかに対する制約(例えば、肘ジョイントの最小角度及び最大角度)、ロボットの各リンクからロボットのそれぞれの親リンクへの変換、ロボットの各ジョイントの軸、及びロボットの各リンクの幾何学的形状の仕様を含む。
【0075】
本明細書で説明する様々な実装形態は、典型的には2つ又は3つの実行時入力、すなわち、a)開始ポーズ、b)任意選択で、動作が評価されている場合の終了ポーズ、及びc)実行時に環境内で占有する既知のボリュームを有し、構成時にその環境内で占有するボリュームが知られていないその環境内の一時的障害物の表現を使用する。一時的障害物は静的(すなわち、関連する期間又は実行時期間中に、固定されているか、又は移動していないか、又は形状が変化していない)、又は動的(すなわち、関連する期間又は実行時期間の少なくとも一部の間に、移動しているか、又は形状が変化している)であってもよい。数Dの自由度を有するロボットの場合、ポーズはDタプル(又は、D-tuple)として指定されてもよく、タプル(tuple)の各要素はその自由度(ジョイント)の位置又は回転を指定する。
【0076】
衝突検出のための効率的なハードウェアの実装は、オブジェクト、ポーズ、及び/又は動作(又は、動き/motion)を表すためのデータ構造の選択に注意を払うことによって実現することができる。適切に選択されたデータ構造は、記憶に必要なメモリの量、衝突検出に必要なハードウェアの量、衝突検出を実行するための待ち時間、及び電力消費を有利に低減することができる。
【0077】
320において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204は、ロボットの運動計画が完了したかどうかを決定する。ロボットの動作計画が完了していない場合、制御は308に進み、環境モデリングコンピュータシステム124、204は再びロボットを選択する。いくつかの例では環境モデリングコンピュータシステム124、204は最も直前の反復において選択されたものと同じロボットを選択することができる。他の例では環境モデリングコンピュータシステム124、204は最も直前の反復において選択されたロボットとは異なるロボットを選択することができる。
【0078】
ロボットの動作計画が完了した場合、制御は322に進み、方法300は例えば、呼び出されるか、又は再び呼びかけられるまで終了する。代替的に、方法300は連続的に、又は例えば、マルチスレッドプロセッサ上で、又はプロセッサのそれぞれのコア上で、又はそれぞれのプロセッサ上で、複数のスレッドとして実行され得る。
【0079】
図4は、例示的な一実施形態による、
図1の環境モデリングシステムの操作の低レベル方法400を示す。方法400は、方法300の実行の一部として実行され得る。ボクセル及びボクセル空間に関して説明するが、3次元環境の他の表現及び/又は3次元環境内のオブジェクトの他の表現を使用して、同様の方法を実行することができる。そのような他の表現を使用して、オブジェクト表現を識別し、それらのオブジェクト表現が定義された3次元領域内に完全に存在するかどうか、又はそれらのオブジェクト表現が定義された3次元領域の外側に存在するか又はそれに跨るかどうかを決定することができる。
【0080】
402において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124(
図1)、204(
図2)は3次元操作環境100の離散化表現内のボクセルのうちの連続するボクセルの1つ又は複数の集合を識別し、連続するボクセルはすべて、1つ又は複数のオブジェクトのうちのそれぞれの1つとして、3次元操作環境100内の対応する位置を占有と表すそれぞれの占有値を含む。例えば、接続され占有されたボクセルを一緒にグループ化するために、接続されたコンポーネントと呼ばれるアルゴリズムをプロセッサによって実行することができる。多くの他のアルゴリズム及び/又はプロセッサ実行可能命令の組を使用して、近位に隣接するボクセルの組を識別することができる。
【0081】
404において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124、204はもしあれば、ボクセルの1つ又は複数の連続するボクセルののうちのどれが、ロボットの拡張モデル又は特大表現131(
図1)に対応する3次元操作環境100の離散化表現内のボクセルの3次元領域内に完全に存在するかを決定する。
【0082】
406において、現在のロボットI(例えば、第1のロボット102a)の拡張モデル又は特大表現131に対応する操作環境の離散化表現において、ボクセルの3次元領域内に完全に存在する、ボクセルのうち連続するものの1つ又は複数の集合のいずれかに対応する3次元操作環境100の離散化表現における各ボクセルについて、プロセッサベースシステム、例えば、環境モデリングコンピュータシステム124、204は、それぞれのボクセルの占有値を、未占有を表すものとして設定する。実際には、ロボット(例えば、第1のロボット102)の特大又は「拡張」表現131に対応する領域内に完全に存在する任意のオブジェクト表現は例えば、関連するボクセルの占有値又はステートを占有から非占有に変更することによって、非占有として示され得る。全体的にその領域の外側に存在するか、又はその領域にまたがる任意のオブジェクト表現は例えば、関連するボクセルの占有値又はステートを占有のままにすることによって、占有として示され得る。
【0083】
図5は、例示的な一実施形態による、
図1の環境モデリングシステムの操作の低レベル方法500を示す。方法500は、ロボット102の特大又は「拡張」表現131を決定するために使用され得る。方法500は、方法300の実行の一部として実行され得る。
【0084】
方法500は反復ループ502に入り、現在のロボットIの各部分Jを順次処理することができ、ここで、J=1~Mであり、Mはモデル化又は評価される現在のロボットIの部分(例えば、リンク、ジョイント)の総数を表す整数である。
【0085】
504において、プロセッサベースのシステム、例えば、環境モデリングコンピュータシステム124(
図1)、204(
図2)は現在のロボットIの対応する部分Jのそれぞれの特大表現を決定する。現在のロボットIの対応する部分Jのそれぞれの特大表現が現在のロボットIの対応する物理的部分の3次元ボリュームよりも大きい3次元ボリュームを包含する。例えば、プロセッサベースのシステムは第1のロボット(例えば、102a)の付属物111(
図1)の3次元表現を修正して、その少なくとも1つの位置で又はそれに沿ってその少なくとも1つの寸法を増やすことができる。また、プロセッサベースシステムは第1のロボット(例えば、102a)の付属物111の3次元表現を修正して、付属物111の少なくとも1つの部分(例えば、少なくとも1つのケーブル119(
図1)が沿って延在する付属物111の部分)に沿ってその少なくとも1つの寸法を増やすことができる。プロセッサベースシステムは少なくとも1つのケーブル119がそれに沿って延在しないない付属物111のいずれの部分に対しても、第1のロボット(例えば、102a)の付属物111の3次元表現のいかなる寸法も、肯定的にも又意図的にも増やさないことができる。
【0086】
図6は、例示的な一実施形態による、
図1の環境モデリングシステムの操作の低レベル方法600を示す。方法600は、ロボット102(
図1)の特大又は「拡張」表現131(
図1)を決定するために使用され得る。方法600は、方法300及び/又は方法500の実行の一部として実行され得る。
【0087】
方法600は602で反復ループに入り、現在のロボットIの各部分Jを順次処理することができ、ここで、J=1~Mであり、Mは、モデル化又は評価される現在のロボットIの部分の総数を表す整数である。
【0088】
604において、プロセッサベースのシステム、例えば環境モデリングコンピュータシステム124(
図1)、204(
図2)が現在のロボットI(例えば、第1のロボット102a)の所与の部分Jがそれに沿って延在するケーブルを有するか否かを決定する。
【0089】
現在のロボットIの所与の部分Jがそれに沿って延在するケーブルを有しない場合、環境モデリングコンピュータシステム124、204は、606において、表現のために現在のロボットIの部分Jの実際の物理的寸法を使用する。
【0090】
現在のロボットIの所与の部分Jがそれに沿って延在するケーブルを有する場合、環境モデリングコンピュータシステム124、204は、608において、現在のロボットIの部分Jの特大表現を、その特大表現で使用するために決定する。現在のロボットIの部分Jの特大表現は部分Jの実際の物理的寸法を包含し、現在のロボットIの部分Jに沿った少なくとも1つの場所で部分Jの実際の物理的寸法を超えて延びる寸法を有する。特大表現の寸法は現在のロボットIの部分Jの外側に延びる任意の取り付けられた構造(例えば、ケーブル)を包含するように十分に大きくあるべきである。
【0091】
図7は、例示された一実装形態による、プロセッサベースのシステムの操作の低レベル方法700を示す。方法700は、ロボット102(
図1)の特大又は「拡張」表現131(
図1)を決定するために使用され得る。方法700は構成プロセス又は実行時前プロセス中に実行されてもよく、又は代替的に実行時の方法300及び/又は500の実行の一部として実行されてもよい。
【0092】
プロセッサベースのシステムは、ケーブル(複数可)119の幾何学的形状、現在のロボットI(例えば、第1のロボット102)のジョイント位置の現在の組、現在のロボットIの一部分に対するケーブル119の位置及び向き、ケーブル(複数可)119に対する重力の影響、ケーブル(複数可)119における弛み、たるみ、垂れ又は張力の量、及び/又は、例えば、ケーブル(複数可)の慣性力を考慮した、少なくとも現在のロボットIの一部分の部分又はケーブル119の現在の速度のうちの1つ又は複数に基づいて、1つ又は複数のケーブル119(
図1)によって占有されるそれぞれのボリュームをモデル化する。
【0093】
例えば、プロセッサベースのシステムは重力に対する現在のロボットIの付属物111の少なくとも一部に対する少なくとも1つのケーブル119の位置に少なくとも部分的に基づいて、特にケーブル119がたるんだり、垂れたり、垂れ下がったり、揺れたりする場合に、特大ボリュームの3次元表現を生成することができる。例えば、プロセッサベースのシステムは、重力に対する現在のロボットIの付属物111の少なくとも一部の向きに少なくとも部分的に基づいて、特大ボリュームの3次元表現を生成することができる。例えば、プロセッサベースのシステムは、現在のロボットIのジョイント位置の現在の組に少なくとも部分的に基づいて、特大ボリュームの3次元表現を生成することができる。例えば、プロセッサベースのシステムは、現在のロボットIの基部110(
図1)、現在のロボットIの付属物111の少なくとも2つのリンク112a、112b(
図1)、現在のロボットIのエンドエフェクタ及び付属物のうちの1つ又は複数と一緒に移動するように結合される少なくとも2つのケーブル119を包含する特大ボリュームの3次元表現を生成することができる。例えば、プロセッサベースのシステムは、少なくとも1つのケーブル119の幾何学的形状に少なくとも部分的に基づいて、特大ボリュームの3次元表現を生成することができる。例えば、プロセッサベースのシステムは、第1のロボット102の付属物111又はそれに取り付けられたケーブル119の少なくとも一部の速度に少なくとも部分的に基づいて、特大ボリュームの3次元表現を生成することができる。
【0094】
いくつかの実装形態では、プロセッサベースのシステムが第1のロボットの付属物の寸法の組に基づいて、かつロボットの外周からのオフセットを定義するボーダー(boarder)バッファの仕様の組に基づいて、バウンディングボックス表現の形態の特大ボリュームの3次元表現を生成し得る。
【0095】
図8は、例示的な一実施形態による、
図1の環境モデリングシステムの操作の低レベル方法800を示す。いくつかの実装形態では、プロセッサベースのシステムがロボット又はその一部の特大表現の決定を容易にするためにケーブルをモデル化することができる。方法800は構成プロセス又は実行時前プロセス中に実行されてもよく、又は代替的に実行時の方法300及び/又は500の実行の一部として実行されてもよい。
【0096】
802において、実行時前期間中に、プロセッサベースのシステムは、いくつかの動作を実行する。
【0097】
例えば、プロセッサベースのシステムは、804において、少なくとも1つのケーブルを有するロボットの少なくとも一部分の移動を繰り返し引き起こす。
【0098】
また、例えば、プロセッサベースのシステムは、806において、ロボットの一部分の各移動中に1つ又は複数のセンサーから少なくとも1つのケーブルによって占有されるボリュームを表すデータをキャプチャする。
【0099】
また、例えば、プロセッサベースのシステムは、808において、少なくとも1つのケーブルのデジタルモデルを生成する。
【0100】
ケーブル119(
図1)をモデル化することによって、システムは、ロボット102(
図1)の付属物111(
図1)の各セグメントの周りの正確なゾーンを指定する表現を決定又は生成することができる。非常に正確な機械的モデルは、ケーブル119の幾何学的形状、ケーブル119の剛性、ケーブル119がロボット102に取り付けられる取り付け点、ロボット102の現在のジョイント位置の組、ケーブル119のたるみ及び/又は張力の量、並びに/若しくはケーブル119及び/又は付属物111の速度又は加速度の関数として、ケーブル119がどこにあるかをほぼ正確に特定することができる。ケーブル119は任意の様々なコンピュータ支援技法又は表現(例えば、非一様有理Bスプライン(NRUBS))を使用してモデル化され得る。このモデルはロボット動作がシミュレートされる設計時訓練期間中に(例えば、ニューラルネット又は他の機械学習プロセスを介して)学習することができ、ケーブル119がどのように挙動するかを表すモデルが開発される。
【0101】
実施例
【0102】
実施例1. 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第1のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すために、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物と示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体、
を備える、システム。
【0103】
実施例2. 前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記3次元操作環境のフィルタリングされた表現を使用して、前記第1のロボットの動作計画を実行するステップ
をさらに実行させる、実施例1に記載のシステム。
【0104】
実施例3. 前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
少なくとも前記第1のロボットの前記付属物を包含する前記特大ボリュームの前記3次元表現を生成するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、前記第1のロボットの前記付属物の対応する周辺寸法を越えて延在する、該ステップ
をさらに実行させる、実施例1に記載のシステム。
【0105】
実施例4. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の3次元表現を修正して、その少なくとも1つの寸法をその上の少なくとも1つの位置で増加させるステップ
を実行させる、実施例3に記載のシステム。
【0106】
実施例5. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の3次元表現を修正して、前記付属物の一部分に沿ってその少なくとも1つの寸法を増加させるステップであって、前記付属物の前記一部分は前記少なくとも1つのケーブルが延在する、該ステップ
を実行させる、実施例3に記載のシステム。
【0107】
実施例6. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記少なくとも1つのケーブルが延在しない前記付属物のいずれの部分の、前記第1のロボットの前記付属物の前記3次元表現におけるいかなる寸法も増加させないステップ
を実行させる、実施例5に記載のシステム。
【0108】
実施例7. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
重力に対する前記第1のロボットの前記付属物の少なくとも一部に対する前記少なくとも1つのケーブルの位置に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例3に記載のシステム。
【0109】
実施例8. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
重力に対する前記第1のロボットの前記付属物の少なくとも一部の向きと、少なくとも1つのケーブルにおける弛みの量とに少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例3に記載のシステム。
【0110】
実施例9. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の寸法の組に基づいて、かつボーダーバッファ仕様(境界バッファ仕様/boarder buffer specifications)の組に基づいて、バウンディングボックス(bounding box representation)表現を生成するステップ
を実行させる、実施例3に記載のシステム。
【0111】
実施例10. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットのジョイント位置の現在の組に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例3に記載のシステム。
【0112】
実施例11. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの基部と、前記第1のロボットの少なくとも2つの付属物と、前記第1のロボットのエンドエフェクタと、前記付属物のうちの1つ又は複数と一緒に移動するように結合された少なくとも2つのケーブルとを包含する、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例3に記載のシステム。
【0113】
実施例12. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記少なくとも1つのケーブルの幾何学的形状に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例3から11のいずれかに記載のシステム。
【0114】
実施例13. 特大ボリュームの前記3次元表現を生成するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記第1のロボットの前記付属物の少なくとも一部の速度に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を実行させる、実施例12に記載のシステム。
【0115】
実施例14. 操作中に前記3次元操作環境の1つ又は複数の物理的特性をキャプチャする少なくとも1つのセンサーさらに有する、実施例1に記載のシステム。
【0116】
実施例15. 前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記少なくとも1つのセンサーによって感知された前記3次元操作環境の前記キャプチャされた1つ又は複数の物理的特性から前記3次元操作環境の前記デジタル表現を生成するステップ
をさらに実行させる、実施例14に記載のシステム。
【0117】
実施例16. 前記3次元操作環境の前記デジタル表現を生成するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
点群、ボクセルグリッド、表面マップ、メッシュ、占有グリッド、k-aryツリー、ユークリッド距離フィールド表現、階層データ構造又は非階層データ構造のうちの少なくとも1つを生成するステップ
を実行させる、実施例14に記載のシステム。
【0118】
実施例17. 前記3次元操作環境の前記デジタル表現を生成するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記3次元操作環境を複数のボクセルとして表し、各ボクセルは、前記3次元操作環境の占有状態を占有又は非占有のうちの少なくとも1つとして表す少なくとも1つのそれぞれの占有値を含む、ステップ
を実行させる、実施例14に記載のシステム。
【0119】
実施例18. 前記3次元操作環境の前記デジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
連続しており、それぞれが占有の占有状態を表すそれぞれの占有値を有する、前記3次元操作環境の前記デジタル表現内のボクセルの1つ又は複数のグループを識別するステップ
を実行させる、実施例1に記載のシステム。
【0120】
実施例19. もしあれば、前記3次元操作環境の前記デジタル表現で表される前記物理オブジェクトのうちのどれが、特大ボリュームの3次元表現内に完全に存在するかを決定するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
物理オブジェクトを表すものとして識別された前記3次元操作環境の前記デジタル表現内のボクセルの1つ又は複数のグループの各々について、ボクセルの前記グループが、前記特大ボリュームの前記3次元表現の境界にまたがるかどうかを決定するステップ
を実行させる、実施例18に記載のシステム。
【0121】
実施例20. 前記それぞれの物理オブジェクトに対応するボリュームを非占有として表すために、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定するステップは、前記命令は前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記3次元操作環境の前記デジタル表現において表されるような、前記特大ボリュームの前記3次元表現内に完全に存在する前記オブジェクトのいずれかに対応する前記3次元操作環境の前記デジタル表現における各ボクセルについて、それぞれのボクセルのそれぞれの占有値を、非占有を表すものとして設定するステップ
を実行させる、実施例18に記載のシステム。
【0122】
実施例21. 前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
実行時前期間中に、
少なくとも1つのケーブルを有する前記第1のロボットの少なくとも一部を繰り返し移動させるステップと、
前記第1のロボットの前記一部の各移動中に前記少なくとも1つのケーブルによって占有されるボリュームを表すデータをキャプチャするステップと、
前記少なくとも1つのケーブルのデジタルモデルを生成するステップ、
を実行させる、実施例1に記載のシステム。
【0123】
実施例22. 前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第2のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第2のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第2のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の物理オブジェクトについて、前記3次元操作環境の前記デジタル表現に、それぞれの物理オブジェクトに対応するボリュームを非占有として表す1つ又は複数の占有値を設定して、少なくとも前記第2のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させる、実施例1に記載のシステム。
【0124】
実施例23. システムの操作方法であって、前記システムは、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に結合され、プロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体とを備え、前記方法は
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第1のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の物理オブジェクトについて、それぞれの物理オブジェクトに対応するボリュームを非占有として表すために、前記3次元操作環境の前記デジタル表現に1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの前記ロボット付属物及び前記少なくとも1つのケーブルを包含する特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を含む、該方法。
【0125】
実施例24. 前記3次元操作環境のフィルタリングされた表現を使用して、前記第1のロボットの動作計画を実行するステップ
をさらに含む、実施例23に記載の方法。
【0126】
実施例25. 前記第1のロボットの少なくとも付属物と、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、前記第1のロボットの前記付属物の対応する周辺寸法を越えて延在する、前記特大ボリュームの少なくとも1つの部分とを包含する、前記特大ボリュームの前記3次元表現を生成するステップ
をさらに含む、実施例23に記載の方法。
【0127】
実施例26. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の3次元表現を修正して、その少なくとも1つの寸法をその上の少なくとも1つの位置で増加させるステップを
含む、実施例25に記載の方法。
【0128】
実施例27. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の3次元表現を修正して、前記付属物の一部分に沿ってその少なくとも1つの寸法を増加させるステップであって、前記付属物の前記一部分は前記少なくとも1つのケーブルが延在する、該ステップ
を含む、実施例25に記載の方法。
【0129】
実施例28. 特大ボリュームの前記3次元表現を生成するステップは
前記少なくとも1つのケーブルが延在しない前記付属物のいずれの部分の、前記第1のロボットの前記付属物の前記3次元表現におけるいかなる寸法も増加させないステップ
を含む、実施例27に記載の方法。
【0130】
実施例29. 特大ボリュームの前記3次元表現を生成するステップは
重力に対する前記第1のロボットの前記付属物の少なくとも一部に対する前記少なくとも1つのケーブルの位置に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例25に記載の方法。
【0131】
実施例30. 特大ボリュームの前記3次元表現を生成するステップは
重力に対する前記第1のロボットの前記付属物の少なくとも一部の向きと、少なくとも1つのケーブルにおける弛みの量とに少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例25に記載の方法。
【0132】
実施例31. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの付前記属物の寸法の組に基づいて、かつボーダーバッファ仕様の組に基づいて、バウンディングボックス表現を生成するステップ
を含む、実施例25に記載の方法。
【0133】
実施例32. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットのジョイント位置の現在の組に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例25に記載の方法。
【0134】
実施例33. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの基部と、前記第1のロボットの少なくとも2つの付属物と、前記第1のロボットのエンドエフェクタと、前記付属物のうちの1つ又は複数と一緒に移動するように結合された少なくとも2つのケーブルとを包含する、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例25に記載の方法。
【0135】
実施例34. 特大ボリュームの前記3次元表現を生成するステップは
少なくとも1つのケーブルの幾何学的形状に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例25から33のいずれかに記載の方法。
【0136】
実施例35. 特大ボリュームの前記3次元表現を生成するステップは
前記第1のロボットの前記付属物の少なくとも一部の速度に少なくとも部分的に基づいて、特大ボリュームの前記3次元表現を生成するステップ
を含む、実施例34に記載の方法。
【0137】
実施例36. 少なくとも1つのセンサーを介して前記3次元操作環境の1つ又は複数の物理的特性をキャプチャするステップ
をさらに含む、実施例23の方法。
【0138】
実施例37. 前記少なくとも1つのセンサーによって感知された前記3次元操作環境の前記キャプチャされた1つ又は複数の物理的特性から前記3次元操作環境のデジタル表現を生成するステップ
をさらに含む、実施例36に記載の方法。
【0139】
実施例38. 前記3次元操作環境の前記デジタル表現を生成するステップは、
点群、ボクセルグリッド、表面マップ、メッシュ、占有グリッド、k-aryツリー、ユークリッド距離フィールド表現、階層データ構造又は非階層データ構造のうちの少なくとも1つを生成するステップ
を含む、実施例36に記載の方法。
【0140】
実施例39. 前記3次元操作環境の前記デジタル表現を生成するステップは、 前記3次元操作環境を複数のボクセルとして表し、各ボクセルは、前記3次元操作環境の占有状態を占有又は非占有のうちの少なくとも1つとして表す少なくとも1つのそれぞれの占有値を含む、ステップ
を含む、実施例36に記載の方法。
【0141】
実施例40. 前記3次元操作環境の前記デジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップは、
連続しており、それぞれが占有の占有状態を表すそれぞれの占有値を有する、前記3次元操作環境の前記デジタル表現内のボクセルの1つ又は複数のグループを識別するステップ
を含む、実施例23に記載の方法。
【0142】
実施例41. もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、特大ボリュームの3次元表現内に完全に存在するかを決定するステップは
物理オブジェクトを表すものとして識別された前記3次元操作環境の前記デジタル表現内の前記ボクセルの1つ又は複数のグループの各々について、ボクセルの前記グループが、特大ボリュームの前記3次元表現の境界にまたがるかどうかを決定するステップ
を含む、実施例40に記載の方法。
【0143】
実施例42. 前記それぞれの物理オブジェクトに対応するボリュームを表すために、前記3次元操作環境の前記デジタル表現における1つ又は複数の占有値を非占有と設定するステップは、
前記3次元操作環境の前記デジタル表現で表されるような、前記特大ボリュームの前記3次元表現内に完全に存在する前記オブジェクトのいずれかに対応する前記3次元操作環境の前記デジタル表現内の各ボクセルについて、ぞれぞれのボクセルのそれぞれの占有値を、非占有を表すものとして設定するステップ
を含む、実施例40に記載の方法。
【0144】
実施例43. 実行時前期間中に、
少なくとも1つのケーブルを有する前記第1のロボットの少なくとも一部を繰り返し移動させるステップと、
前記第1のロボットの前記一部の各移動中に前記少なくとも1つのケーブルによって占有されるボリュームを表すデータをキャプチャするステップと、
前記少なくとも1つのケーブルのデジタルモデルを生成するステップ
をさらに含む、実施例23に記載の方法。
【0145】
実施例44. もしあれば、前記3次元操作環境の前記デジタル表現で表される物理オブジェクトのうちのどれが、少なくとも第2のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第2のロボットの前記付属物に物理的に結合された1つ又は複数のケーブルを包含するように、少なくとも前記第2のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の物理オブジェクトについて、前記3次元操作環境の前記デジタル表現に、それぞれの物理オブジェクトに対応するボリュームを非占有として表す1つ又は複数の占有値を設定して、少なくとも前記第2のロボットのロボット付属物及び前記少なくとも1つのケーブルを包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
をさらに含む、実施例23に記載の方法。
【0146】
実施例45. 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
3次元操作環境のデジタル表現において、前記3次元操作環境内に存在する1つ又は複数の物理オブジェクトを表す1つ又は複数の要素を識別するステップと、
もしあれば、前記3次元操作環境の前記デジタル表現において表される物理オブジェクトのうちのどれが、少なくとも前記第1のロボットの付属物を包含する特大ボリュームの3次元表現内に完全に存在するかを決定するステップであって、前記特大ボリュームの少なくとも一部は、前記第1のロボットの前記付属物に物理的に結合された1つ又は複数の構造を包含するように、少なくとも前記第1のロボットの前記付属物の対応する周辺寸法を超えて延在する、該ステップと、
前記特大ボリュームの前記3次元表現内に完全に存在すると決定される任意の前記物理オブジェクトについて、前記3次元操作環境の前記デジタル表現に、1つ又は複数の占有値を設定して、それぞれの物理オブジェクトに対応するボリュームを非占有として表す1つ又は複数の占有値を設定して、少なくとも前記第1のロボットの少なくとも1つの前記ロボット付属物及び前記少なくとも1つの構造を包含する前記特大ボリュームが障害物として示されない前記3次元操作環境のフィルタリングされた表現を提供するステップ
を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体、
を備える、システム。
【0147】
実施例46. 前記1つ又は複数の構造がケーブルである、実施例45に記載のシステム。
【0148】
実施例47. 前記1つ又は複数の構造は、センサー又はケーブルアタッチメントである、実施例45に記載のシステム。
【0149】
結論
上記の詳細説明においては、ブロック図、模式図及び実施例を用いて、多様な装置及び/又は方法の実施形態について記載している。これらのブロック図、概略図及び実施例は1つ又は2つ以上の機能及び/又は動作を含んでいるが、当業者には明らかなように、これらのブロック図、流れ図及び実施例におけるそれぞれの機能及び/又は動作は個々に及び/又は一括して、多様なハードウェア、ソフトウェア、ファームウェア、又は事実上任意のこれらの組み合わせによって実装することができる。一実施形態では、本主題がブール回路、特定用途向け集積回路(ASIC)及び/又はFPGAを介して実装され得る。しかしながら、本明細書に開示された実施形態は全体的に又は部分的に、標準的な集積回路における様々な異なる実装形態において、1つ又は複数のコンピュータ上で実行される1つ又は複数のコンピュータプログラムとして(例えば、1つ又は複数のコンピュータシステム上で実行される1つ又は複数のプログラムとして)、1つ又は複数のプロセッサ(例えば、マイクロプロセッサ)上で実行される1つ又は複数のプログラムとして、ファームウェアとして、又はそれらの実質的に任意の組合せとして、実装されることができ、回路を設計すること及び/又は、ソフトウェア及び/又はファームウェアのためのコードを書くことは、本開示に照らして、十分に当業者の技術の範囲内であることを認識されたい。
【0150】
当業者は本明細書に記載された方法又はアルゴリズムの多くが、追加の行為を採用してもよく、いくつかの行為を省略してもよく、及び/又は指定されたものとは異なる順序で行為を実行してもよいことを認識するであろう。
【0151】
さらに、当業者は、本明細書で教示される機構がハードウェア、例えば、1つ又は複数のFPGA又はASICにおいて実装されることが可能であることを理解するであろう。
【0152】
ボクセル空間及びボクセルに関して説明されることが多いが、ロボット、障害物及びターゲットオブジェクトを表すために、様々な他の形態が採用され得る。例えば、様々な幾何学的形状は例えば、オクツリー、ボックスのセット、又はユークリッド距離フィールド(EDF)のいずれかを用いて効率的に表され得る。
【0153】
オクツリーは、ボクセル占有データを記憶するための階層データ構造である。ツリー構造(又は、木構造)は、必要に応じたそのツリーの構造の内在する(又は、固有の/inherent)階層に降下することで衝突検出を可能にし、衝突検出プロセスの計算効率を増加させる。オクツリーの1つの利点は、内在する階層である。もちろん、階層的であり、適切であり得る他のデータ構造が存在する。
【0154】
ボックスのセットは例えば、軸整列バウンディングボックス(AABB)のツリー、方向付けられた(軸整列されていない)バウンディングボックスのツリー、又は球体のツリー等、様々な形態をとることができる。特に、これらのツリー型データ構造のいずれかの葉(又は、リーフ)はデータ構造の他のノードとは異なる形状とすることができ、例えば、全てのノードは、三角形メッシュの形態をとり得るルートノードを除くAABBである。バウンディングボリューム(又は、境界ボリューム)表現の選択は対応するデータ構造を構築するために必要とされる待ち時間と、例えば、衝突検出が完了する前にどのくらいの量のツリーが横断される必要があるかを含む、衝突を計算することの待ち時間との間のトレードオフを伴う。例えば、バウンディングボリュームとして球体を使用することは、高速比較を容易にする(すなわち、球体が互いに重なり合うかどうかを決定することは計算上容易である。)。例えば、本明細書の他の場所で論じられるように、k-ary球体ツリーを使用してロボットの各リンクを表すことが好ましい場合がある。いくつかの実装形態では、環境を表す際のボクセルがAABBのセットに一緒にグループ化され得る。これはボクセルデータを十分に単純化することができ、いくつかの状況ではオクツリーを使用するよりも計算的により速く、よりメモリ効率が高い。
【0155】
EDFは作業空間をボクセルの3Dグリッドに離散化し、各ボクセルの値は、その作業空間内の最も近い障害物までの距離を符号化する。作業空間は、ロボットがロボットの任意のポーズで到達する可能性がある全ての空間を包含する。
【0156】
ロボットは、ジョイントによって接続されたリンクのツリーとしてモデル化することができる。単一のロボット付属物又はアームの場合、この「ツリー」は単項であることが多いが、例えば、2つ以上の子リンクを有するリンクを用いて、より一般的であり得る。
【0157】
実行時を通じて環境内の一貫した又は不変のボリュームを占有し、その占有されたボリュームが構成時に知られている障害物の場合、ユークリッド距離フィールドを用いてそれらの永続的障害物を表すことが好ましい場合がある。
【0158】
上記の種々の実施形態は、更なる実施形態を提供するように組み合わされることが可能である。2017年6月9日に出願された「MOTION PLANNING FOR AUTONOMOUS VEHICLES AND RECONFIGURABLE MOTION PLANNING PROCESSORS」と題された国際特許出願第PCT/US2017/036880号、2016年1月5日に出願された「SPECIALIZED ROBOT MOTION PLANNING HARDWARE AND METHODS OF MAKING AND USING SAME」と題された国際特許出願第WO2016/122840号、2018年1月12日に出願された「APPARATUS, METHOD AND ARTICLE TO FACILITATE MOTION PLANNING OF AN AUTONOMOUS VEHICLE IN AN ENVIRONMENT HAVING DYNAMIC OBJECTS」と題された米国特許出願第62/616,783号、2018年2月6日に出願された「MOTION PLANNING OF A ROBOT STORING A DISCRETIZED ENVIRONMENT ON ONE OR MORE PROCESSORS AND IMPROVED OPERATION OF SAME」と題された米国特許出願第62/626,939号、2018年8月23日に出願された「COLLISION DETECTION USEFUL IN MOTION PLANNING FOR ROBOTICS」と題された米国特許出願第62/722,067号、2019年8月6日に出願された「COLLISION DETECTION USEFUL IN MOTION PLANNING FOR ROBOTICS」と題された国際特許出願第PCT/US2019/045270号、2020年1月22日に出願された「CONFIGURATION OF ROBOTS IN MULTI-ROBOT OPERATIONAL ENVIRONMENT」と題された米国特許出願第62/964,405号、及び2020年3月18日に出願された「DIGITAL REPRESENTATIONS OF ROBOT OPERATIONAL ENVIRONMENT, USEFUL IN MOTION PLANNING FOR ROBOTS」と題された米国特許出願第62/991,487号を含むが、これらに限定されない、本明細書で参照された及び/又はアプリケーションデータシートに列挙された、本出願人に譲渡された米国特許出願公開、米国特許出願、外国特許及び外国特許出願のすべてはその全体が参照により本明細書に組み込まれる。上記の詳細説明に照らして、上記の及び他の変形がそれらの実施形態に対して行われることが可能である。
【0159】
一般に、以下の特許請求の範囲において、使用される用語は特許請求の範囲を、本明細書及び特許請求の範囲に開示される特定の実施形態に限定するように解釈されるべきではなく、そのような特許請求の範囲が権利を与えられる均等物の全範囲とともに、すべての可能な実施形態を含むように解釈されるべきである。したがって、特許請求の範囲は、本開示によって限定されない。
【国際調査報告】