(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-20
(45)【発行日】2024-11-28
(54)【発明の名称】ロボット動作計画及び制御においてクリアランス決定を使用するシステム、方法、及びユーザーインターフェース
(51)【国際特許分類】
B25J 9/22 20060101AFI20241121BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2023532462
(86)(22)【出願日】2021-12-01
(86)【国際出願番号】 US2021061427
(87)【国際公開番号】W WO2022119934
(87)【国際公開日】2022-06-09
【審査請求日】2023-07-06
(32)【優先日】2020-12-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520296244
【氏名又は名称】リアルタイム ロボティクス, インコーポレーテッド
【氏名又は名称原語表記】REALTIME ROBOTICS, INC.
【住所又は居所原語表記】27 Wormwood St.,Suite #110,Boston,Massachusetts 02210 United States of America
(74)【代理人】
【識別番号】100105131
【氏名又は名称】井上 満
(74)【代理人】
【識別番号】100105795
【氏名又は名称】名塚 聡
(72)【発明者】
【氏名】フロイド-ジョーンズ,ウィリアム
(72)【発明者】
【氏名】ムーレイ,シーン
(72)【発明者】
【氏名】トレンブレイ,タイ
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開平09-212229(JP,A)
【文献】特開2020-082332(JP,A)
【文献】特開2019-136848(JP,A)
【文献】特開2019-188530(JP,A)
【文献】特開2016-190315(JP,A)
【文献】特開2016-209969(JP,A)
【文献】特開2020-110885(JP,A)
【文献】国際公開第2020/117958(WO,A1)
【文献】国際公開第2011/096327(WO,A1)
【文献】米国特許出願公開第2008/0125893(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-19/06
G05B 19/4093
G05D 1/00
G06F 17/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサによって実行されるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体を有するシステムによって実行されるモーションプラニングの方法であって、
前記システムによって、ロボットの少なくとも1つの移動について、前記ロボットの少なくとも1つ以上の部分の各々について、前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
前記システムによって、複数のノード及び複数のエッジを有するグラフの形態で前記ロボットの移動のためのロードマップを提示させるステップであって、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは
前記ロボットの構成空間(C空間)における前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記システムによって、前記ロボットの前記部分の少なくとも1つ以上について、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップと、を含
み、
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間の遷移を表す前記エッジのそれぞれ1つと空間的に関連付けられたそれぞれの視覚的表示として前記2つの構成間を移動する際に前記ロボットの少なくとも1部によって経験される最小クリアランスの視覚的表示を提示させるステップを含む方法。
【請求項2】
前記ロボットが少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップが、前記ロードマップの前記提示において前記ロボット付属物の前記リンク、前記ジョイント、及びアームツールの端部の全てについての前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項1に記載の方法。
【請求項3】
前記ロボットが少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップが、前記ロードマップの前記提示において前記ロボット付属物の全体に対する前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項1に記載の方法。
【請求項4】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれのエッジによって接続されたノードのそれぞれの対として表される2つの構成間を移動する際に前記ロボットの任意の部分によって経験される最小クリアランスの視覚的表示を提供するステップを含む、請求項1に記載の方法。
【請求項5】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提供するステップを含む、請求項1に記載の方法。
【請求項6】
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提供するステップを含み、前記単一の数値は、前記エッジのそれぞれの1つによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスのすべての中で最も小さい最小
クリアランスを表す、請求項1に記載の方法。
【請求項7】
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記エッジに空間的に関連付けられた複数の数値として提供するステップを含み、前記複数の数値は、前記エッジによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項1に記載の方法。
【請求項8】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提供するステップを含み、各色はクリアランスの量を表す、請求項1に記載の方法。
【請求項9】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の色として提供するステップを含み、前記単一の色は、前記それぞれのエッジによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小
クリアランスのすべての中で最も小さい最小
クリアランスを表す、請求項1に記載の方法。
【請求項10】
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提供するステップを含み、前記複数の色は、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項1に記載の方法。
【請求項11】
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提供するステップを含み、前記ヒートマップは、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項1に記載の方法。
【請求項12】
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップが、前記ロボットの前記部分と前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定するステップを含む、請求項1に記載の方法。
【請求項13】
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ロボットの少なくとも1つの移動に対し、前記ロボットの少なくとも1つ以上の部分の各々について、前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
複数のノード及び複数のエッジを有するグラフの形態で前記ロボットの移動のためのロードマップを提示させるステップであって、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは
前記ロボットの構成空間(C空間)における前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記ロボットの前記部分の少なくとも1つ以上について、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップと、
を行わせるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を含
み、
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、プロセッサ実行可能命令は、実行されたときに、前記少なくとも1つのプロセッサに、2つの構成間の遷移を表す前記エッジのそれぞれ1つと空間的に関連付けられたそれぞれの視覚的表示として前記2つの構成間を移動する際に前記ロボットの少なくとも1部によって経験される最小クリアランスの視覚的表示を提示させる、システム。
【請求項14】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部の全てについて、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項13に記載のシステム。
【請求項15】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の全体について、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項13に記載のシステム。
【請求項16】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、それぞれのエッジによって接続されたノードのそれぞれの対として表される2つの構成間を移動する際に前記ロボットの任意の部分によって経験される最小クリアランスの視覚的表示を提示させる、請求項13のいずれか一項に記載のシステム。
【請求項17】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提示させる、請求項13に記載のシステム。
【請求項18】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提示させ、前記単一の数値は、前記エッジのそれぞれの1つによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスのすべての中で最も小さい最小
クリアランスを表す、請求項13に記載のシステム。
【請求項19】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記エッジに空間的に関連付けられた複数の数値として提示させ、前記複数の数値は、前記エッジによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項13に記載のシステム。
【請求項20】
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提示させ、各色はクリアランスの量を表す、請求項13に記載のシステム。
【請求項21】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の色として提示させ、前記単一の色は、前記それぞれのエッジによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小
クリアランスのすべての中で最も小さい最小
クリアランスを表す、請求項13に記載のシステム。
【請求項22】
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提示させ、前記複数の色は、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項13に記載のシステム。
【請求項23】
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提示させ、前記ヒートマップは、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小
クリアランスを表す、請求項13に記載のシステム。
【請求項24】
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するために、前記少なくとも1つのプロセッサが、前記ロボットの前記部分と、前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定する、請求項13に記載のシステム。
【請求項25】
前記ロボットの動作に対する少なくとも1つの調整を表す少なくとも1つの入力を受信するステップと、
前記受信された少なくとも1つの入力に少なくとも部分的に基づいて前記ロボットのためのロードマップを調整するステップと、をさらに含む、請求項1に記載の方法。
【請求項26】
ユーザに、1つ又は複数のエッジに関連する移動速度の調整、経路平滑化パラメータの値の調整、前記グラフ内の1つ又は複数のノードの調整、及び1つ又は複数のノードの前記グラフへの追加のうちの1つ又は複数を許可するユーザーインターフェースを提示させるステップをさらに含む、請求項25に記載の方法。
【請求項27】
複数のノード及び複数のエッジを有するグラフの形態でロードマップを提示させるステップが、前記グラフ内の前記ノード及び前記エッジがユーザ選択可能アイコンであるグラフィカルユーザーインターフェースを提示させるステップを含む、請求項25に記載の方法。
【請求項28】
前記少なくとも1つのプロセッサによって実行されると、前記プロセッサ実行可能命令が、前記少なくとも1つのプロセッサに、
前記ロボットの動作に対する少なくとも1つの調整を表す少なくとも1つの入力を受信させ、
前記受信された少なくとも1つの入力に少なくとも部分的に基づいて前記ロボットのためのロードマップを調整させる、請求項13に記載のシステム。
【請求項29】
前記少なくとも1つのプロセッサによって実行されると、前記プロセッサ実行可能命令が、前記少なくとも1つのプロセッサに、
ユーザに、1つ又は複数のエッジに関連する移動速度の調整、経路平滑化パラメータの値の調整、前記グラフ内の1つ又は複数のノードの調整、及び1つ又は複数のノードの前記グラフへの追加のうちの1つ又は複数を許可するユーザーインターフェースを提示させる、請求項28に記載のシステム。
【請求項30】
複数のノード及び複数のエッジを有するグラフの形態でロードマップを提示させるために、前記プロセッサ実行可能命令は、実行されると、前記少なくとも1つのプロセッサに、前記ノード及び前記エッジがユーザ選択可能アイコンであるグラフィカルユーザーインターフェースを提示させる、請求項28に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、ロボットに関し、特に、ロボットのモーションプラニング(又は、動作計画/動作計画を行うこと/motion planning)及び制御に使用されるシステム、方法、及びユーザーインターフェースに関し、例えば、動作環境(operational environment)におけるロボットのモーションプラニング及び動作制御(mortion control)においてクリアランス(又は、間隔/隙間/clearance)又はマージン決定を採用し、クリアランス又はマージン決定は、ロボットの少なくとも一部と動作環境における1つ又は複数の物体との間のクリアランス又はマージンの量を表す、システム、方法、及びユーザーインターフェースに関する。
【背景技術】
【0002】
関連技術の説明
ロボットは、様々な用途及び環境においてユビキタスになりつつある。
【0003】
典型的には、プロセッサベースのシステムがロボットのモーションプラニング及び/又は制御を実行する。プロセッサベースのシステムはたとえば、1つ又は複数のセンサー(たとえば、カメラ、接触センサー、力センサー、エンコーダ)に通信可能に結合されたプロセッサを含み得る。プロセッサベースのシステムは、ロボットに一連のタスクを実行させるためのモーションプラン(又は、動作計画/motion plan)を決定及び/又は実行し得る。モーションプラニングは、ロボット制御及びロボット工学における基本的な問題である。モーションプランはロボットが開始状態から目標状態まで辿ることができる経路を指定し、典型的には、動作環境において任意の物体(例えば、静的障害物、人間を含む動的障害物)と衝突せずに、又は動作環境において任意の物体と衝突する可能性を低減して、タスクを完了する。モーションプラニングへの挑戦は、環境の特性が変化しても非常に速い速度でモーションプラニングを実行する能力を含む。たとえば、環境内の1つ又は複数の物体(又は、オブジェクト)の位置又は向きなどの特性は、経時的に変化し得る。課題は比較的低コストの機器を使用して、比較的低エネルギー消費で、限られた量の記憶装置(例えば、プロセッサチップ回路上のメモリ回路)を用いて、モーションプラニングを実行することをさらに含む。
【0004】
モーションプラニングは、典型的にはしばしば互換的にモーションプラングラフと呼ばれる、ロードマップと呼ばれるデータ構造を使用して実行される。ロードマップは複数のノード及び複数のエッジを備え、各エッジはノードのそれぞれの対のノードを結合する。頂点、ハブ、ウェイポイント、又はビアポイントとしばしば交換可能に呼ばれるノードは、ロボットのポーズ又は構成に対応する。一対のノードの2つのノード間のエッジは一対のノードのうちの一方によって表されるロボットの一方のポーズから、一対のノードのうちの他方によって表されるロボットの他方のポーズへの動作又は遷移(又は、移行/transition)に対応する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
ロボットのモーションプラニングにおける目標の1つは、ロボットによる動作環境内の物体(又は、オブジェクト)との衝突を回避するか、又は少なくともその可能性を低減することである。これらの物体は例えば、ロボットのランタイム動作の前に既知の位置を有する静的オブジェクトを含み得る。これらの物体は追加的に又は代替的に、動的オブジェクト(例えば、別のロボット、人間)を含むことができ、物体の位置又は場所は、ロボットの実行時(又は、ランタイム)動作中に変化し得る。
【0006】
衝突を回避することに加えて、ロボット又はその一部と動作環境内の物体との間のクリアランス又はマージンの量を理解し、考慮することが特に有利であり得る。いくつかの例では、特定のクリアランスが他のクリアランスよりも関連性があり得る。いくつかの例では、異なる量のクリアランスがロボットの異なる部分に対して、又は異なるオペレーションに対して望ましい場合がある。例えば、ロボットのアームツールの溶接ガン端部には、ロボットの肘部に望まれるよりも大きなクリアランスが望まれ得る。
【0007】
十分なクリアランスが存在することを確実にするために、エンジニアは、多くの場合、ロボットの一部又は全部のサイズを拡張する。したがって、拡張されたロボットが衝突することなく移動する場合、クリアランスが十分であるという信頼性が高まる。それにもかかわらず、このアプローチでさえ、少なくとも2つの理由のために失敗する可能性がある。第一に、動作(motion)の全範囲にわたって十分なクリアランスを提供する解決策が存在しない場合がある。静的オブジェクト(例えば、静的障害物)は単に、移動中に所望のクリアランスを許容しない。第二に、現実世界は、クリアランスがもはや十分ではないというシミュレータによって使用されるモデルとは十分に異なることがある。したがって、モーションプランはシミュレートされたワークセルにおいて十分なクリアランスを有し得るが、これらのクリアランスは現実世界のワークセルに適用された場合には十分ではない。したがって、ユーザ又はオペレータはクリアランスを視覚的に評価しようと試みることができるが、そのようなことは任意の合理的な精度で実行することが特に困難である。
【課題を解決するための手段】
【0008】
本明細書に記載されるアプローチはエンジニアがモーションプランをシミュレート又は実行することを可能にし、単にクリアランスを「目分量で測る(eyeballing)」代わりに、有利には、ロボット又はその一部の1つ又は複数の移動(又は、動き/movement)中又は移動に沿ったロボットの1つ又は複数の部分のためのクリアランスのサイズ及び位置の特定の視覚的表示を見ることを可能にする。クリアランスの特定の視覚表示の提供は、エンジニアが例えば、タイトなクリアランスの周りの動きを減速させるために様々なパラメータの値を調整することによって、より保守的な経路平滑化を使用することによって、又はロードマップ内のノード又はエッジを追加又は除去することによって、及び/又はロードマップ内のノード又はエッジを調整することによって、モーションプランを調整するべき場所に正確に、迅速かつ直感的に焦点を合わせることを可能にする。
【0009】
したがって、動作環境内の1つ又は複数の物体に対するロボットの1つ又は複数の部分のクリアランスを計算的に決定し、決定されたクリアランスの視覚的表示を検討するために提示することが特に有利である。例えば、ロボット又はロボット付属物の1つ、2つ、それより多く、又は更には全ての部分についての決定されたクリアランスの量の視覚的表示は、ロボットの動作の表現(representation of motion)において視覚的に提示されてもよい。動作の表現は例えば、ロボットが動作する三次元(3D)空間の表現の形態をとることができ、例えば、ロボットの移動の1つ以上の経路としての表現であってもよい。動作の表現は例えば、ポーズを表すノードと、ポーズ間の遷移又はロボットの移動に対応するエッジとを示すロードマップ又はグラフ表現の形態をとり得る。クリアランスの量は、動作環境で動作する別のロボットを含む1つ又は複数の物体に関して決定され得る。いくつかの実装形態では、決定されたクリアランスの量の表示が動作環境において動作する1つ、2つ、又はさらにはそれを上回るロボットについて提示され得る。
【0010】
ロボットの1つ又は複数の部分について決定されたクリアランスの量は値、たとえば数値(たとえば、ミリメートル、センチメートル、インチ)として提示され得る。ロボットの1つ又は複数の部分のための決定されたクリアランスの量は色(例えば、赤、オレンジ、黄、緑、青)、例えば、クリアランスの量に対応する色、又はさらには指定された公称クリアランス量からの偏差に対応する色として提示され得る。ロボットの1つ又は複数の部分のための決定されたクリアランスの量は例えば、クリアランスの量に対応するか、又はさらには指定された公称クリアランス量からの偏差に対応する色及び/又は色合い(例えば、暗赤、明赤、明緑、暗緑)の移り変わりを伴う、ヒートマップとして提示され得る。ロボットの1つ又は複数の部分のための決定されたクリアランスの量はキュー又は視覚的効果として、例えば、線の重み又は他の視覚的効果(例えば、マーキー、点滅)として提示され得る。
【0011】
決定されたクリアランスの量の視覚的に提示される指標は例えば、対応する動作又は移動に空間的に関連付けられてもよく、例えば、決定されたクリアランスの量の指標は、空間の3D表現における経路又はその一部分に空間的に関連付けられてもよく、又はロードマップ又はグラフ表現におけるエッジ又はその一部分に空間的に関連付けられてもよい。決定されたクリアランスの量の視覚的に提示された指標は例えば、ロボット又はその一部に空間的に関連付けられてもよく、例えば、3D空間の表現において移動するロボット又はその一部のシミュレーションにおいて、例えば、ロボット又はその一部の周囲に色を適用することによって、移動の表現において空間的に関連付けられてもよく、色は、計算的に決定されたクリアランスの量に対応する。
【0012】
決定されたクリアランスの量の視覚的に提示される表示は例えば、動作を実行する際にロボット全体が経験する最小のクリアランスを表すことができる。決定されたクリアランスの量の視覚的に提示される表示は例えば、動作を実行する際にロボットのそれぞれの部分(例えば、ロボット付属物;リンク、ジョイント、アームツールの端部、又はロボット付属物のツール中心点(TCP))によって経験される最小クリアランスを表し得る。例えば、決定されたクリアランスの量の視覚的に提示される表示は指定された移動中に、アームツールのエンド、エンドエフェクタ又はツール中心点、特定のリンク、又は特定のジョイントによって経験されるクリアランスの量を表し得る。
【0013】
各動作は決定されたクリアランスのそれぞれの単一の指標を有してもよく、これは動作の全範囲にわたって経験される最小のクリアランスを表す。あるいは各動作はクリアランスの複数の指標を有してもよく、クリアランスの各指標は動作の範囲に沿ったそれぞれの点において経験される最小のクリアランスを表す。
【0014】
従来、モーションプラニングはエッジに対応する動作が現在の環境と衝突する(例えば、衝突又は衝突の著しい可能性)ロードマップからエッジを除去し、次いで、現在のノードから目標ノード又はいくつかの可能な目標ノードのうちの1つへの最短経路探索を解くことを含む。最短経路探索は、各エッジがコストを有するコストメトリック(又は、コスト距離/cost metric)を組み込むことができる。コストメトリックは関心のある1つ又は複数のパラメータ(たとえば、待ち時間、エネルギーコスト)を反映する。本明細書で説明する手法の少なくとも1つの実装形態では、コストメトリックは決定されたクリアランス情報を組み込むために(たとえば、コスト関数を介して)拡張され得る。これは、有利には決定されたクリアランスを表すロードマップ及び/又はクリアランスを意識したモーションプラニングの生成を可能にし得る。
【0015】
少なくとも1つの実装形態では、例えば、決定されたクリアランスに少なくとも部分的に基づいて、ロードマップの調整を可能にするユーザーインターフェースが提供される。例えば、視覚的に提示されるグラフの形態のロードマップのノード及びエッジは、ユーザ入力を介して除去、移動、追加、又はそれらに関連するパラメータを調整し得るユーザ選択可能なアイコンの形態をとり得る。追加又は代替として、ユーザ選択可能なアイコンのメニュー又は口蓋(又は、パレト/palate)はロードマップのノード及びエッジが修正されること(たとえば、除去される、移動される、コピーされる、又は複製される、及び/又はパラメータの値が調整されること)を可能にし得るか、又は新しいノード又はエッジがロードマップに追加されることを可能にし得る。したがって、ロボット動作は、受信された入力に基づいて調整され得る。追加的又は代替的に、ロボット動作は1つ又は複数の決定されたクリアランスに基づいて、自動的かつ自律的に(すなわち、ユーザ又はオペレータの入力又は介入なしに)調整され得る。
【0016】
説明されたアプローチは、実行前(又は、プレランタイム、ランタイム前)又は構成時間中にロボットのシミュレートされた動作中に実行される、及び/又はロボットの実行時間(又は、ランタイム)動作中に実行されるモーションプラニングにおいて使用され得る。
【図面の簡単な説明】
【0017】
図面において、同一の参照番号は、同様の要素又は作用を示す。図面における要素のサイズ及び相対位置は、必ずしも一定の縮尺で描かれてはいない。例えば、さまざまな要素の形状及び角度は一定の縮尺で描かれず、これらの要素のいくつかは、図面を見やすくするために、随時適当に拡大及び配置されている。さらに、描かれている要素の特定の形状は、特定の要素の実際の形状に関するいかなる情報も伝えることを意図しておらず、図面における認識を容易にするためにのみ選択されている。
【
図1】
図1はタスクを実行するために動作環境で動作する複数のロボットとともに、1つ又は複数のロボットのためのモーションプラニングを実行するためのプロセッサベースのシステムの概略図である。
【
図2】
図2は、複数のロボットのうちの第一ロボットを制御するように通信可能に結合された、
図1のプロセッサベースのシステムの機能ブロック図である。
【
図3】
図3は、1つの例示的な実施形態による、動作環境又は作業セルにおいて動作するロボットのための例示的なロードマップである。
【
図4】
図4はロボットが動作する三次元環境における移動の例示的表現であり、ロボットの部分がたどる多数の経路を含む。
【
図5】
図5は
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示す流れ図であり、少なくとも1つの例示の実施形態により、ロボットの2つ以上の部分のクリアランスを決定し、ロボットの移動の表現の提示におけるロボットの2つ以上の部分の決定されたクリアランスの視覚表示と共に、三次元空間表現における経路として、又はロードマップにおけるエッジとして、ロボットの移動の表現を提示する。
【
図6】
図6は
図1及び
図2のプロセッサベースのシステムにおける、動作環境において動作する2つ以上のロボットのうちの少なくとも1つのためのクリアランスを決定し、三次元空間表現におけるロボットのうちの少なくとも1つの移動の表現を、三次元空間表現における決定されたクリアランスの視覚的表示とともに提示するためのオペレーションの方法を示す流れ図である。
【
図7】
図7は
図1及び
図2のプロセッサベースのシステムにおける、ロボットの1つ又は複数の部分のためのクリアランスを決定し、少なくとも1つの図示された実装形態による、決定されたクリアランスに少なくとも部分的に基づいて、ロードマップのそれぞれのエッジに関連するコストメトリックを設定又は調整するためのオペレーションの方法を示すフロー図である。
【
図8】
図8は、
図7に示された方法の一部として実行可能な、少なくとも1つの図示された実装形態による、それぞれのエッジに関連するコストメトリックを設定又は調整するための、
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図である。
【
図9】
図9は、
図7に示される方法の一部として実行可能な、少なくとも1つの図示される実装形態による、それぞれのエッジに関連するコストメトリックを設定又は調整するための、
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図である。
【
図10】
図10は
図1及び
図2のプロセッサベースのシステムにおける、ロボットの部分のクリアランスを決定し、決定されたクリアランスの視覚的表示を提供し、入力を受信し、受信された入力に少なくとも部分的に基づいてロボットの動きを調整するためのオペレーションの方法を示す流れ図である。
【
図11】
図11は、少なくとも1つの図示された実装形態による、1つ又は複数のロボットの移動又は動作を調整するためにロードマップの少なくとも一部分の調整を可能にするユーザーインターフェースを提供するための、
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図である。
【
図12】
図12は、少なくとも1つの図示された実装形態による、1つ又は複数のロボットの移動又は動作の調整を可能にするグラフィカルユーザーインターフェースを提供するための、
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図である。
【
図13】
図13は
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図であり、少なくとも1つの図示された実装形態による、それぞれのエッジ又は経路に関連付けられた1つ又は複数の数値として、決定されたクリアランスの視覚的表示を提供する。
【
図14】
図14は
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図であり、少なくとも1つの図示された実装形態による、それぞれのエッジ又は経路に関連付けられた1つ又は複数の色として、決定されたクリアランスの視覚的表示を提供する。
【
図15】
図15は、少なくとも1つの図示された実装形態による、それぞれのエッジ又は経路に関連付けられた1つ又は複数のヒートマップとして、決定されたクリアランスの視覚表示を提供するための、
図1及び
図2のプロセッサベースのシステムにおけるオペレーションの方法を示すフロー図である。
【
図16】
図16は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現の提示を、少なくとも1つの図示された実装形態による決定されたクリアランスの指標とともに示し、ここで、移動の表現はロードマップの形態であり、決定されたクリアランスの指標は、ロードマップのエッジによって表される遷移に対応する移動においてロボットの1つ又は複数の部分が受ける最小のクリアランスを表す単一の数値の形態である。
【
図17】
図17は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表現はロードマップの形態であり、決定されたクリアランスの表示は、ロードマップのエッジによって表される遷移に対応する移動においてロボットのそれぞれの部分に経験されるそれぞれのクリアランスを表す複数の数値の形態である。
【
図18】
図18は表示されたユーザーインターフェースの画像であり、少なくとも1つの図示された実装形態による、決定されたクリアランスの表示とともに、ロボット又はその一部の移動の表示の表示を示し、ここで、移動の表示はロードマップの形態であり、決定されたクリアランスの表示は、ロードマップのエッジによって表される遷移に対応する移動を実行する際にロボットの1つ又は複数の部分によって経験される最小のクリアランスを表す単一の色の形態である。
【
図19】
図19は表示されたユーザーインターフェースの画像であり、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに、ロボット又はその一部の移動の表示の表示を示し、ここで、移動の表示はロードマップの形態であり、決定されたクリアランスの表示は、ロードマップ内のエッジによって表される遷移に対応する移動を実行する際にロボットのそれぞれの部分に経験されるそれぞれのクリアランスを表すヒートマップの複数の色の形態である。
【
図20】
図20は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表現は三次元動作環境の表現における1つ又は複数の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表現における経路によって表される移動を実行する際にロボットが経験する最小クリアランスを表す単一の数値の形態である。
【
図21】
図21は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表現は三次元動作環境の表現における1つ又は複数の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表現における経路によって表される移動動きを実行する際にロボットが経験するそれぞれのクリアランスを表す複数の数値の形態である。
【
図22】
図22は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表現は三次元動作環境の表現における1つ又は複数の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表現における経路によって表される移動を実行する際にロボットが経験する最小のクリアランスを表す単一の色の形態である。
【
図23】
図23は表示されたユーザーインターフェースの画像であり、ロボット又はその一部の移動の表現を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表現は三次元動作環境の表現における1つ又は複数の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表現における経路によって表される移動を実行する際にロボットが経験するそれぞれのクリアランスを表すヒートマップの複数の色の形態である。
【
図24】
図24は表示されたユーザーインターフェースの画像であり、ロボットの2つ以上の部分の移動の表示を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表示は三次元動作環境の表示における2つ以上の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表示における経路によって表される移動を実行する際にロボットの2つ以上の部分の各々が経験する最小クリアランスを表す単一の数値の形態である。
【
図25】
図25は表示されたユーザーインターフェースの画像であり、ロボットの2つ以上の部分の移動の表示を、少なくとも1つの例示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表示は三次元動作環境の表示における2つ以上の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表示における経路によって表される移動を実行する際にロボットの2つ以上の部分の各々が経験するそれぞれのクリアランスを表す複数の数値の形態である。
【
図26】
図26は表示されたユーザーインターフェースの画像であり、ロボットの2つ以上の部分の移動の表示を、少なくとも1つの図示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表示は三次元動作環境の表示における2つ以上の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表示における経路によって表される移動を実行する際にロボットの2つ以上の部分の各々が受ける最小のクリアランスを表す単一の色の形態である。
【
図27】
図27は表示されたユーザーインターフェースの画像であり、ロボットの2つ以上の部分の移動の表示を、少なくとも1つの例示された実装形態による決定されたクリアランスの表示とともに示し、ここで、移動の表示は三次元動作環境の表示における2つ以上の経路の形態であり、決定されたクリアランスの表示は、三次元動作環境の表示における経路によって表される移動を実行する際にロボットの2つ以上の部分の各々が経験するそれぞれのクリアランスを表すヒートマップの複数の色の形態である。
【
図28】
図28は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボットの2つ以上の部分の移動の表現の提示を示す、表示されたユーザーインターフェースの画像である。
【発明を実施するための形態】
【0018】
種々の実施態様が正しく理解されるように、開示内容の詳細を以下に説明する。但し、当業者ならば、これら特定の細部の1つ又は2つ以上を欠いても、又は他の方法、他の構成部材、他の材料でも実施が可能であることは容易に理解するところであろう。他の例では、プロセッサベースのシステム、コンピュータシステム、アクチュエータ、アクチュエータシステム、及び/又は通信ネットワーク又はチャネルに関連する周知の構造は実施形態の説明を不必要に不明瞭にすることを避けるために、詳細に図示又は説明されていない。他の事例では実施形態の説明を不必要に不明瞭にすることを避けるために、1つ又は複数のオブジェクトなどの知覚データ及び体積表現を生成するための周知のモーションプラニング方法及び技法ならびに/又はコンピュータビジョン方法及び技法は詳細に説明されていない。
【0019】
文脈上別段の要求がない限り、以下の明細書及び特許請求の範囲を通して、「含む(comprise)」という用語、ならびに「含む(comprises)」及び「含む(comprising)」などのその変形は「含むが、これらに限定されない」という開かれた包括的な意味で解釈されるべきである。
【0020】
本明細書を通して、「1つの実施形態」又は「1つの実施形態」への言及は、実施形態に関連して説明される特定の特徴、構成又は特徴が少なくとも1つの実施形態又は少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体の様々な場所における「1つの実装」又は「1つの実装」又は「1つの実施形態において」又は「1つの実施形態において」という表現の出現は、必ずしもすべてが同じ実装又は実施形態を指すわけではない。さらに、特定の特徴、構造、又は特性は、1つ又は複数の実装形態又は実施形態において、任意の適切な方法で組み合わされ得る。
【0021】
本明細書及び同時提出の特許請求の範囲で用いられているように、単数表現はコンテンツが明確に定められていない限り、複数の存在を包含するものである。また、表現”又は”は一般に、コンテンツが明確に定められていない限り、”及び/又は”を包含する意味で用いられる。
【0022】
本明細書及び添付の特許請求の範囲で使用されるように、用語「モジュール」又は「モジュール」は「プログラム」又は「ロジック」手段回路(例えば、プロセッサ、例えば、マイクロプロセッサー、マイクロコントローラー、中央演算装置(CPU)、CPUコア、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA))が直前にない場合、ハードウエア、ソフトウエア及び/又はファームウエアで定義されたロジック(例えば、1組の命令又はアルゴリズム)を実行する。
【0023】
本明細書及び添付の特許請求の範囲で使用されるように、用語「プログラムモジュール」又は「プログラムモジュール」は、非一時的媒体に記憶された一組の命令又はアルゴリズムの形態で実行し得るロジックを意味する。
【0024】
本明細書及び添付の特許請求の範囲で使用される場合、用語「ロボット」又は「ロボット(複数)」は、ロボット又はロボット及び/又はロボット(複数)の一部の両方を意味する。ロボットに関して一般的に論じられているが、様々な構造、活動、及び/又はオペレーションはその中で動作する1つ、2つ、又はそれ以上のロボットを伴う動作環境に適用可能である。
【0025】
本明細書及び添付の特許請求の範囲で使用される場合、「動作環境」又は「環境」という用語は、1つ、2つ、又はそれを上回るロボットが動作する体積、空間、又は作業セルを指すために使用される。動作環境は様々なオブジェクト、例えば、障害物(すなわち、ロボットが回避すべきアイテム)及び/又はワークピース(すなわち、ロボットが相互作用又は作用すべきアイテム)を含み得る。
【0026】
本明細書及び添付の特許請求の範囲で使用されるように、用語「経路」は二次元又は三次元空間における点の集合又は軌跡を手段し、用語「軌道」はそれらの点のうちの特定の点に到達する時間を含む経路を手段し、任意選択で速度及び/又は加速度も含み得る。
【0027】
本明細書及び添付の特許請求の範囲で使用される場合、「三次元空間表現」又は「3D空間表現」という用語は、二次元又は三次元画像の提示又はディスプレイにおいて視覚的に表されるかどうかにかかわらず、又は非一時的プロセッサ可読媒体に記憶されたデータストラクチャにおいて論理的に表されるかどうかにかかわらず、1つ又は複数のロボットが動作する三次元又は3D動作環境の表現を意味する。
【0028】
本明細書及び添付の特許請求の範囲で使用される場合、用語「ロードマップ」は用語「モーションプラニンググラフ」と互換的に使用され、複数のノード及び複数のエッジを含むグラフ表現を手段し、各エッジはそれぞれのノードのノードを結合し、ノードはロボットのそれぞれの状態、構成又はポーズを表し、エッジは、それぞれのエッジによって結合されたノードの対のノードによって表されるロボットの状態、構成又はポーズのそれぞれの対の間の合法的又は有効なそれぞれの遷移を表す。状態、構成、又はポーズはたとえば、それぞれのロボット102のジョイントの各々についてのジョイント位置、配向、ポーズ、又は座標のセットを表し得る。したがって、各ノードは、ロボット102を備えるジョイントのポーズによって完全に定義されるようなロボット102又はロボット102の一部のポーズを表すことができる。
【0029】
本明細書及び添付の特許請求の範囲で使用されるように、「タスク」という用語は、ロボットが好ましくはその環境内の障害物と衝突することなく、ポーズAからポーズBに遷移するロボットタスクを指すために使用される。タスクは、おそらく、アイテムの把持又は非把持、アイテムの移動又はドロップ、アイテムの回転、アイテムの取り出し又は配置を含み得る。ポーズAからポーズBへの遷移は、任意選択で、1つ又は複数の中間ポーズ間の遷移を含み得る。
【0030】
本明細書及び添付の特許請求の範囲で使用される場合、用語「色」及び「色」は人間が知覚可能に区別可能な色(例えば、赤、オレンジ、緑、青)ならびに人間が知覚可能に区別可能な色合いを指し、色合い又は色合いの差が、色相、値、彩度及び/又は色温度の差によるものであるかどうかは問わない。
【0031】
本明細書及び添付の特許請求の範囲で使用されるように、衝突が発生するか結果が生じるかという文脈で使用されるとき、用語「決定する」、「決定している」、及び「決定された」は、いくつかの中間ポーズを介して2つのポーズ間の所与のポーズ又は移動がロボットの一部分といくつかの物体(例えば、ロボットの別の部分、別のロボットの一部分、永続的障害物、過渡的障害物)との間の衝突をもたらすかどうかについての評価又は予測が行われることを意味する。
【0032】
本明細書及び添付の特許請求の範囲で使用されるように、用語「決定する」、「決定している」、及び「決定された」は、クリアランス又はマージンの文脈で使用されるときには、ロボット又はその一部の動作又は移動、たとえば、ロードマップ内のエッジによって表される経路又は動作又は移動に沿った動作又は移動を実行するときに、ロボット又はその一部と動作環境内の1つ又は複数の物体との間に存在する又は存在するであろう距離又は空間の量について、計算評価又は予測がプロセッサを介して行われることを意味する。
【0033】
本明細書及び添付の特許請求の範囲で使用される場合、用語「センサー」は動作環境の物理的特性を検出するセンサー又はトランスデューサ、ならびにそのような検出センサー又はトランスデューサに関連する任意のトランスデューサ又は他のエネルギー源、例えば、反射、屈折又は他の方法で戻されるエネルギーを放出するトランスデューサ、例えば、発光ダイオード、他の光源、レーザ及びレーザダイオード、スピーカ、触覚エンジン、超音波エネルギー源などを含む。
【0034】
本明細書及び添付の特許請求の範囲で使用されるとき、ロボットのオペレーション又は移動(又は、動き)又は動作への言及はロボット全体のオペレーション又は移動(又は、動き)又は動作、及び/又はロボットの一部分(例えば、ロボット付属物、アームツールの端部、エンドエフェクタ)のオペレーション又は移動(又は、動き)又は動作を含む。
【0035】
少なくともいくつかの実装形態は、所与のロボット(たとえば、第一ロボット)の観点から、オペレーション(たとえば、モーションプラニング、クリアランス決定)に関して、たとえば、動作環境内に1つ又は複数の他のロボットが存在する場合の第一ロボットのモーションプラニングに関して説明される。このような説明における「他のロボット」への言及は、説明されている動作の特定のインスタンスが実行されている特定のロボット以外の環境内の任意の他のロボットを意味する。2つ以上の異なるロボットに対して同様の動作が同時に実行されてもよく、ロボットのうちの第一ロボットに対するモーションプラニング及びクリアランス決定オペレーションの観点からは、ロボットのうちの第二ロボットが他のロボットと見なされることに留意されたい。一方、第二ロボットのモーションプラニング及びクリアランス決定オペレーションの観点からは、第一ロボットが他のロボットを構成すると見なされる。
【0036】
発明の名称及び要約は便宜上のものであり、本発明の範囲を表すものではなく、又は実施形態を意味するものでもない
【0037】
図1は、1つの例示された実施形態による、動作環境104(ワークセルとも呼ばれる)で動作してタスクを実行する1つ又は複数のロボット102a、102b(2つは集合的に102で示される)とともにモーションプラニングを実行するプロセッサベースのシステム100を示す。
【0038】
ロボット102は、多種多様な形態のいずれかをとり得る。典型的には、ロボット102が1つ以上のロボット付属物105(
図1では1つだけを呼ぶ)の形態をとるか、又はそれを有する。ロボット付属物105は、1つ又は複数のリンク105a、1つ又は複数のジョイント105b、典型的にはツール中心点105dに位置するアームツール105cのエンドエフェクタ又はエンドを有する1つ又は複数のリンク機構、及び任意選択で1つ又は複数のケーブルを含み得る。プロセッサベースのシステム100は他の形態のロボット102、例えば、移動可能な付属物を有するか又は有さない自律車両を使用し得る。
【0039】
動作環境104は典型的にはロボット102a、102bが動作及び移動し得る三次元空間を表すが、特定の限定された実装形態では動作環境104は二次元空間又は領域を表し得る。
【0040】
動作環境104は障害物の形態の1つ以上の物体、例えば、機械(例えば、コンベヤ106)、ポスト、ピラー、壁、天井、床、テーブル、人間、及び/又は動物を含み得る。なお、ロボット102b又はその一部は、ロボット102a、102bの一部が衝突を回避するために動作が制御されない場合、空間的及び時間的に重複し得る、又は他の方法で衝突し得る状況において、別のロボット102aの観点から考慮されるとき(すなわち、ロボット102aのモーションプラニング時)、障害物を構成し得ることに留意されたい。動作環境104は作業を実行するタスクの一部としてロボット102が操作するワークアイテム又はワークピース108の形態の1つ又は複数のオブジェクト、たとえば、1つ又は複数のパーセル、パッケージング、ファスナ、ツール、アイテム、又は他のオブジェクトをさらに含み得る。
【0041】
プロセッサベースのシステム100は、1つ又は複数のモーションプランナ110を含み得る。少なくともいくつかの実装形態では、単一のモーションプランナ110を使用して、2つ、それ以上、又はすべてのロボット102のモーションプラニングを実行し得る。他の実装形態では、それぞれのモーションプランナ110がロボット102a、102bの各々についてモーションプラニングを実行するために使用される。
【0042】
モーションプランナ110は例えば、ロボット102による実行のためにそれぞれのモーションプラン115(1つが示されている)をロボット102に提供することによって、ロボット102のうちの1つ又は複数を制御するように任意選択で通信可能に結合される。モーションプランナ110はまた、様々なタイプの入力を受信するように通信可能に結合される。例えば、モーションプランナ110は、ロボット幾何学的モデル112(運動学的モデルとしても知られる)を受信し得る。また、例えば、モーションプランナ110は、タスク114を受信し得る。モーションプランナ110は任意選択で、他のロードマップ117を受信することができ、他のロードマップ117は、モーションプラニング又はクリアランス決定の特定のインスタンスが実行されている所与のロボット102に関して動作環境104内で動作する他のロボット102のためのロードマップ117である。例えば、第一ロボット102aのモーションプラニング又はクリアランス決定に関して、第二ロボット102bは、他のロボットと見なされる。第二ロボット102bのモーションプラニング又はクリアランス決定を実行するとき、第一ロボット102aは、他のロボットと見なされる。
【0043】
モーションプランナ110は、受信した入力に少なくとも部分的に基づいて、ロードマップ116を生成又は生成する。
【0044】
ロボット幾何学的モデル(GEOMODELS)112は例えば、ジョイント、自由度、寸法(例えば、リンク機構の長さ)、及び/又はロボット102のそれぞれの「構成空間」又は「C空間」に関して、所与のロボット102の幾何学的形状を定義する。ロボット幾何学的モデル112のロードマップ(すなわち、モーションプラングラフ)116への変換は例えば、プロセッサベースのサーバシステム(図示せず)によって実行され、モーションプランナ110に提供される、ランタイム又はタスク実行の前に行われ得る。代替として、ロードマップ116は例えば、様々な技法のいずれかを使用して、ロボット幾何学的モデル112を使用して、プロセッサベースのシステム100によって生成され得る。
【0045】
タスク114は例えば、それぞれのロボット102のエンドポーズ、エンド構成又はエンド状態、及び/又は中間ポーズ、中間構成又は中間状態に関して実行されるタスクを指定する。ポーズ、構成又は状態は例えば、それぞれのロボット102のジョイント位置及びジョイント角度/回転(例えば、ジョイントポーズ、ジョイント座標)に関して定義され得る。
【0046】
モーションプランナ110は任意選択的に、例えば感知システム124によって提供される環境モデル120の形態の入力を受信するように通信可能に結合される。環境モデル120は先験的に知られている、及び/又は先験的に知られていない、ワークセル又は動作環境104内の静的及び/又は動的オブジェクトを表す。環境モデル120は例えば、動作環境104に存在する障害物を表す、ポイントクラウド、占有グリッド、ボックス(例えば、境界ボックス)又は他の幾何学的オブジェクト、又はボクセルのストリーム(すなわち、「ボクセル」は、3Dピクセル又は体積ピクセルと等価)の形態をとり得る。環境モデル120は1つ又は複数のセンサー122a、122b(例えば、二次元又は三次元カメラ、飛行時間型カメラ、レーザスキャナ、LIDAR、LEDベースの光電センサー、レーザベースのセンサー、受動赤外線(PIR)モーションセンサー、超音波センサー、ソナーセンサー)を介して感知される生データから、感知システム124によって生成され得る。
【0047】
感知システム124は感知システム124に、ロボット102が様々な異なるシナリオのタスクを実行するように動作する動作環境104の表現のそれぞれの離散化を生成させる1つ又は複数の機械可読命令を実行し得る1つ又は複数のプロセッサを含み得る。感知システム124はプロセッサベースのシステム100とは別個であり、離れていてもよいが、通信可能に結合されている。あるいは、感知システム124がプロセッサベースのシステム100の一部を形成してもよい。
【0048】
モーションプランナ110は、任意選択で、静的オブジェクトデータ(図示せず)の形態の入力を受信するように通信可能に結合される。静的オブジェクトデータは動作環境104内の静的オブジェクトの代表(例えば、サイズ、形状、位置、占有空間)であり、例えば、先験的に知られていてもよい。静的オブジェクトは例えば、動作環境104内の1つ以上の固定構造、例えば、柱、柱、壁、天井、床、コンベヤ106を含み得る。
【0049】
モーションプランナ110はモーションプラン115を動的に生成して、他のロボット102を含む動作環境104内の物体(例えば、コンベヤ106)を考慮しながら、動作環境104内のタスクをロボット102に実行させるように動作可能である。一例として、モーションプランナ110は衝突評価と、ロボット102又はその一部と、他のロボット102を含む動作環境104内の物体(例えば、コンベヤ106)との間の決定されたクリアランスとを考慮に入れる。モーションプランナ110は任意選択で、モーションプラン115を生成するときに、静的オブジェクトデータ及び/又は環境モデル120によって表される先験的な静的オブジェクトの表現を考慮し得る。任意選択的に、所与のロボット(例えば、第一ロボット120a)のモーションプラニング時に、モーションプランナ110は所与の時間における他のロボット102(例えば、第二ロボット102b)の動作状態、例えば、別のロボット102(例えば、第二ロボット102b)が所与の動作又はタスクを完了したかどうかを考慮し、完了している他のロボット(例えば、第二ロボット102b)のうちの1つの動作又はタスクに基づいて、所与のロボット(例えば、第一ロボット102a)のモーションプラニングの再計算を可能にし、したがって、以前に除外された経路又は軌道を利用可能にして、選択し得る。任意選択的に、モーションプランナ110はロボット102の動作状態、例えば、故障状態の発生又は検出、遮断状態の発生又は検出、及び/又はモーションプランニング要求を促進あるいは遅延又はスキップするための要求の発生又は検出を考慮し得る。
【0050】
プロセッサベースのシステム100は1つ又は複数のクリアランス決定及び表示モジュール126、たとえば、それぞれロボット102a、102bの各々のためのそれぞれのクリアランス決定及び表示モジュール126を含み得る。少なくともいくつかの実装形態では、単一のクリアランス決定及び表示モジュール126を使用して、2つ、それを上回る、又はすべてのロボット102のクリアランスを決定し得る。本明細書で説明するように、クリアランス決定及び表示モジュールは、動作環境104内の1つ又は複数のオブジェクトに対するロボット102又はその一部分の動作を評価して、ロボット又はその一部分の動作又は移動中のロボット102又はその一部分と物体との間のクリアランス又はマージンの量を決定する。そのようなものは、衝突評価を実行することに加えて、さらにはその一部としても評価され得る。クリアランス決定及び表示モジュール126は例えば、ロードマップ116において指定された動作をシミュレートし、ロボット102の1つ又は複数の部分(例えば、リンク、ジョイント、アームツールの端部、ツール中心点)と、動作環境104内の1つ又は複数のオブジェクト(動作の範囲にわたって他のロボット102を含む)との間の距離を評価し得る。
【0051】
プロセッサベースのシステム100は、1つ又は複数の提示システム128を含み得る。代替的に、提示システム128はプロセッサベースのシステム100から離れており、別個であるが、通信可能に結合され得る。提示システム128は、ディスプレイスクリーンとも呼ばれる1つ以上のディスプレイ128aを含む。提示システム128は1つ又は複数のユーザーインターフェース構成要素又はデバイス、例えば、キーボード128b、キーパッド、コンピュータマウス128c、トラックボール、スタイラス、又は他のユーザ入力構成要素又はデバイスのうちの1つ又は複数を含み得る。ディスプレイ128aは例えば、ユーザ入出力(I/O)構成要素又はデバイスとして動作するために、タッチスクリーンディスプレイの形態をとり得る。少なくともいくつかの実装形態では、提示システム128が任意選択で、たとえばそれ自体のプロセッサ、メモリ、及び/又は記憶デバイスを有する、コンピュータシステム128d(たとえば、パーソナルコンピュータシステム、高性能ワークステーション、たとえば、CADワークステーション)の形態をとり得る。あるいは動作が例えば、Software as a Service(SaaS)実装におけるウェブベースのインターフェースを介した提示を含むことができ、処理はディスプレイ128aから遠隔的に実行される。
【0052】
プロセッサベースのシステム100は1つ又は複数の修正及び/又は調整モジュール130、たとえば、ロボット102a、102bの各々のためのそれぞれの修正及び/又は調整モジュール130をそれぞれ含み得る。少なくともいくつかの実装形態では、単一の修正及び/又は調整モジュール130が2つ、それを上回る、又はすべてのロボット102のために採用され得る。本明細書で説明されるように、修正及び/又は調整モジュール130は、決定されたクリアランスに少なくとも部分的に基づいて、及び/又は決定されたクリアランスに少なくとも部分的に基づく入力に少なくとも部分的に基づいて、ロードマップに対する修正又は調整を行うことができる。いくつかの例では、修正又は調整が直接的に又は自律的に(すなわち、ユーザ又はオペレータの入力又は他のユーザ又はオペレータの介入なしに)行われ得る。例えば、修正及び/又は調整モジュール130は例えば、決定されたクリアランスが条件(例えば、指定されたクリアランス又は公称クリアランス未満)を満たさない場合、決定されたクリアランスに基づいて、ロードマップ116の1つ又は複数のエッジのそれぞれのコストメトリックを自動的かつ自律的に設定又は調整し得る。いくつかの例では、決定されたクリアランスに関して、それ自体が決定されたクリアランスの指標のユーザ又はオペレータの考慮に少なくとも部分的に基づき得る、ユーザ又はオペレータの介入(例えば、ユーザ又はオペレータの入力、ユーザ又はオペレータの選択)に基づいて、修正又は調整が間接的に行われ得る。例えば、修正及び/又は調整モジュール130は決定されたクリアランスの表示された指標のユーザ評価に基づくユーザ又はオペレータ入力又は介入に基づいて、ノードを追加し、エッジを追加し、ノードを削除し、エッジを削除し、ノードを複製又はコピーし、エッジを複製又はコピーし、ノードを移動し、エッジを移動し、様々なパラメータの値を設定または変化させることができる。
【0053】
図1には、様々な通信経路が矢印で示されている。通信経路はたとえば、1つ又は複数の有線通信経路(たとえば、電気導体、信号バス、又は光ファイバ)及び/又は1つ又は複数のワイヤレス通信経路(たとえば、RF又はマイクロ波ラジオ及びアンテナ、赤外線トランシーバを介する)の形態をとり得る。モーションプランナ110の各々は任意選択で、直接的又は間接的のいずれかで、互いに通信可能に結合されて、動作が計画されているロボット(例えば、ロボット102a)以外のロボット(例えば、ロボット102b)のためのモーションプランナ110に他のロードマップ117を提供し得る。例えば、モーションプランナ110はネットワークインフラストラクチャ、例えば、非専有ネットワークインフラストラクチャ(例えば、イーサネット(登録商標)ネットワークインフラストラクチャ)を介して互いに通信可能に結合され得る。
【0054】
図2は、
図1の第一ロボット102aにモーションプラニングを実行するためのプロセッサベースのシステム100をさらに詳細に示す。プロセッサベースのシステム100は第一ロボット102aの動作を制御するモーションプラン115を生成するモーションプランナ110を含み、オプションとして、例えばコストメトリックの設定を介して、ロードマップ116(
図1)に調整を生じさせ得る。プロセッサベースのシステム100はまた、ロボット又はその一部の動作又は移動中にロボット102又はその一部と物体との間のクリアランス又はマージンの量を決定し、決定されたクリアランスの視覚表示を提示させる、クリアランス決定及び表示モジュール126(
図2において「クリアランスモジュール」とラベル付けされている)を含む。
【0055】
プロセッサベースシステム100は、モーションプランを生成し、任意選択で他のロボット(
図2には図示せず)のためのロードマップの調節を引き起こすための他のモーションプランナを含むことができ、他のロボットのためのクリアランスを決定し、決定されたクリアランスの視覚的指示を提示するための他のクリアランス決定及び表示モジュール126を含み得る。
【0056】
プロセッサベースのシステム100は例えば、少なくとも1つの通信チャネル(例えば、送信機、受信機、トランシーバ、無線機、ルータ、イーサネット(登録商標))を介して通信可能に結合されて、ロードマップ又はモーションプラニンググラフの1つ又は複数のソースからロードマップ又はモーションプラニンググラフを受信し得る。ロードマップ又はモーションプラニンググラフのソースはモーションプランナ110とは別個であり、区別され得、例えば、ロボット102のそれぞれの製造業者によって、又は何らかの他のエンティティによって動作又は制御され得るサーバコンピュータである。ロードマップ又はモーションプラニンググラフはランタイムの前に、例えば、プレランタイム又は構成時間中に、決定され、セットアップされ、又は定義され得る(すなわち、タスクの実行の前に定義される)。これは、有利なことに、応答性が特定の関心事ではないときに、最も計算集約的な作業のいくつかをランタイムの前に実行することを可能にする。ロードマップ又はモーションプラニンググラフは例えば、本明細書に記載されるように、決定されたクリアランスに少なくとも部分的に基づいて調整又は更新され得る。
【0057】
上述のように、各ロボット102は例えば、リンク105a、ジョイント105b、エンドエフェクタ、又はアームツール105cのエンドを含むロボット付属物105(
図1)を含み得る。ロボット102はまた、制御信号又は駆動信号に応答してリンク機構を移動させるように結合され、動作可能な1つ又は複数のアクチュエータ205(3つが図示され、
図2では1つのみがコールアウト)を含み得る。アクチュエータ205は、電動モータ、ステッピングモータ、ソレノイド、空気圧アクチュエータ、又は油圧アクチュエータのうちの1つ又は複数の形態をとり得る。空気圧アクチュエータは例えば、1つ又は複数のピストン、シリンダ、弁、ガスの貯留槽、及び/又は圧力源(例えば、圧縮機、ブロワ)を含み得る。油圧アクチュエータは例えば、1つ又は複数のピストン、シリンダ、弁、流体のリザーバ(例えば、低圧縮性の油圧流体)、及び/又は圧力源(例えば、圧縮機、ポンプ)を含み得る。
【0058】
各ロボット102は例えばモーションプラン115の形態で制御信号を受信し、アクチュエータ205を駆動するための駆動信号を提供する、1つ又は複数のモーションコントローラ(例えば、モータコントローラ)220(
図2に1つのみ示す)を含み得る。
【0059】
各ロボット102a、102b(
図1)のためのプロセッサベースのシステム100があってもよく、あるいは、1つのプロセッサベースのシステム100が2つ以上のロボット102a、102bのためのモーションプラニングを実行してもよい。1つのプロセッサベースのシステム100について、例示の目的で
図2に関して詳細に説明する。当業者は、説明がプロセッサベースのシステム100の同様の又は同一の追加のインスタンスにさえ適用され得ることを認識するであろう。
【0060】
プロセッサベースのシステム100は、1つ又は複数のプロセッサ222と、システムメモリ224a、ドライブ224b、及び/又はプロセッサ222のメモリ又はレジスタ(図示せず)などの1つ又は複数の関連する非一時的コンピュータ可読又はプロセッサ可読記憶媒体とを備え得る。非一時的コンピュータ可読記憶媒体又はプロセッサ可読記憶媒体は、システムバス227などの1つ又は複数の通信チャネルを介してプロセッサ222に通信可能に結合される。システムバス227は、メモリコントローラを有するメモリバス、周辺バス、及び/又はローカルバスを含む、任意の既知のバス構造又はアーキテクチャを採用し得る。そのような構成要素のうちの1つ又は複数はまた、又はその代わりに、1つ又は複数の他の通信チャネル、たとえば、1つ又は複数のパラレルケーブル、シリアルケーブル、又は高速通信可能なワイヤレスネットワークチャネル、たとえば、ユニバーサルシリアルバス(「USB」)3.0、周辺構成要素相互接続エクスプレス(PCIe)を介して、又はThunderbolt(登録商標)を介して互いに通信し得る。
【0061】
プロセッサベースのシステム100はまた、1つ又は複数のリモートコンピュータシステム、たとえば、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ウルトラポータブルコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルコンピュータ、及び/又はセンサー(
図2に図示せず)に通信可能に結合され得る。リモートコンピューティングシステム(たとえば、サーバコンピュータ)はプロセッサベースシステム100及びプロセッサベースシステム100の様々な構成要素にデータ(たとえば、他のロードマップ117、タスクの仕様114)をプログラムする、構成する、制御する、又はさもなければそれとインターフェースするために使用され得る。そのような接続はインターネットプロトコルを使用して、1つ又は複数の通信チャネル、たとえば、1つ又は複数のワイドエリアネットワーク(WAN)、たとえば、イーサネット(登録商標)、又はインターネットを介してであり得る。
【0062】
上述のように、プロセッサベースのシステム100は1つ又は複数のプロセッサ222、(すなわち、回路)、非一過性記憶媒体(例えば、システムメモリ224a、ドライブ224b)、及び様々なシステム構成要素を結合するシステムバス227を含み得る。プロセッサ222は、1つ又は複数のマイクロコントローラ、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、グラフィック処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ(PLC)などの任意の論理処理ユニットであり得る。システムメモリ224aは、読取り専用メモリ(「ROM」)226、ランダムアクセスメモリ(「RAM」)228、フラッシュメモリ230、及びEEPROM(図示せず)を含み得る。基本入出力システム(「BIOS」)232はROM 226によって記憶することができ、起動中などに、プロセッサベースのシステム100内の要素間で情報を転送するのを助ける基本ルーチンを含む。
【0063】
ドライブ224bは例えば、磁気ディスクから読み書きするためのハードディスクドライブ(HDD)、ソリッドステートメモリから読み書きするためのソリッドステートドライブ(SSD、例えば、フラッシュメモリ)、及び/又はリムーバブル光ディスクから読み書きするための光ディスクドライブ(ODD)であり得る。プロセッサベースのシステム100はまた、様々な異なる実施形態におけるそのようなドライブの任意の組合せを含み得る。ドライブ224bは、システムバス227を介してプロセッサ222と通信し得る。(1つ又は複数の)ドライブ224bは、そのようなドライブ224bとシステムバス227との間に結合されたインターフェース又はコントローラ(図示せず)を含み得る。ドライブ224b及び関連するコンピュータ可読媒体は、コンピュータ又はプロセッサ可読及び/又は実行可能命令、データ構造、プログラムモジュール、及びプロセッサベースのシステム100のための他のデータの不揮発性記憶装置を提供する。当業者は、WORMドライブ、RAIDドライブ、磁気カセット、デジタルビデオディスク(「DVD」)、ベルヌーイカートリッジ、RAM、ROM、スマートカードなど、コンピュータによってアクセス可能なデータを記憶し得る他のタイプのコンピュータ可読媒体が使用され得ることを理解するであろう。
【0064】
実行可能な命令及びデータはシステムメモリ224a、たとえば、オペレーティングシステム236、1つ又は複数のアプリケーションプログラム238、及びプログラムデータ242に記憶され得る。アプリケーションプログラム238はプロセッサ(複数可)222に、ロボット102が動作する予定の動作環境104(
図1)の離散化された表現(他のロボット102の計画された動作が障害物として表され得る動作環境104内のオブジェクト(例えば、障害物及び/又はターゲットオブジェクト又はワークピース)を含む)を生成するステップと、衝突評価の結果を呼び出すか、又は他の方法で取得することを含むモーションプランを生成し、ロボット102又はその部分と動作環境104内のオブジェクト(例えば、障害物、例えば、コンベヤ106)との間のクリアランスを決定するステップと、決定されたクリアランスの視覚的表示(例えば、数値、色、ヒートマップ、視覚的手がかり又は効果)とともに、移動の表現(例えば、ロードマップ、三次元空間内の経路の表現)を提示するステップと、例えば、エッジに対するコスト値を設定することを含む、ロードマップ116(
図1)を修正及び/又は調整し、ロードマップ内の利用可能な経路を評価するステップと、任意選択で、決定された複数のロードマップを記憶し、及び/又はロボット102による実行のためにモーションプラン115を提供するステップのうちの1つ又は複数を実行させるプロセッサ実行可能命令、論理、及び/又はアルゴリズムを含み得る。モーションプラニング(例えば、衝突検出又は評価)、衝突検出に基づく、及び/又はクリアランスの決定又は評価に基づく、ロードマップ内のエッジのコスト値の更新は、本明細書及び参照により本明細書に組み込まれる参考文献に記載されるように実行し得る。衝突検出又は評価は、本明細書の他の場所で説明される様々な構造及び技法を使用して実行され得る。クリアランスの決定又は評価は、本明細書の他の箇所に記載される様々な構造及び技術を使用して実行されてもよい。アプリケーションプログラム238はさらに、プロセッサ222に他の動作を実行させる、たとえば、(センサーを介してキャプチャされた)知覚データを任意選択で処理させる、1つ又は複数の機械可読及び機械実行可能命令を含み得る。アプリケーションプログラム238はプロセッサ222に、本明細書及び参照により本明細書に組み込まれる参考文献に記載の様々な他の方法を実行させる1つ又は複数の機械実行可能命令をさらに含み得る。
【0065】
図2にはシステムメモリ224aに記憶されているものとして示されているが、オペレーティングシステム236、アプリケーションプログラム238、及び/又はプログラムデータ242は他の非一時的なコンピュータ可読媒体又はプロセッサ可読媒体、たとえば、ドライブ224bに記憶され得る。
【0066】
プロセッサベースのシステム100のモーションプランナ110は専用のモーションプランナハードウェア(たとえば、FPGA)を含み得るか、又はプロセッサ222ならびにシステムメモリ224a及び/又はドライブ224bに記憶されたプロセッサ実行可能命令、論理又はアルゴリズムを介して、すべて又は一部が実装され得る。
【0067】
モーションプランナ110は、任意選択の動作変換器250、衝突検出器252、及び経路アナライザ256を含むか、又は実装し得る。
【0068】
修正及び/又は調整モジュール130は、ロードマップ調整器259及びコスト設定部254を含み得る。
【0069】
動作変換器250はロボット102のうちの他のもの動作を障害物の表現に変換し、これは、有利には所与のロボット(例えば、ロボット102a)の衝突及びクリアランスを評価するときに、他のロボット(例えば、ロボット102b)の動作を考慮に入れることを可能にする。動作変換器250は、モーションプラン又は動作の他の表現を、例えば他のモーションプランナ110から受信する。次いで、動作変換器250は、動作に対応するエリア又はボリュームを決定する。例えば、動作変換器250は動作を対応する掃引ボリューム、すなわち、モーションプランによって表される、ポーズ間を移動又は遷移する際に対応するロボット又はその一部によって掃引されるボリュームに変換し得る。有利なことに、モーションプランナ110は単に障害物(例えば、掃引ボリューム)を待ち行列に入れるだけでよく、対応する動作又は掃引ボリュームの時間を決定、追跡、又は指示する必要がなくてもよい。所与のロボット102の動作変換器250が他のロボットの動作を障害物に変換するとして説明したが、いくつかの実装形態では他のロボット102b(
図1)が所与のロボット102に特定の動作の障害物表現(たとえば、掃引体積)を与えることもできる。
【0070】
衝突検出器252は衝突検出又は分析を実行し、所与のロボット102又はその一部の遷移又は運動が障害物との衝突をもたらすかどうかを決定する。上述のように、他のロボット102の動作は、有利には障害物として表され得る。したがって、衝突検出器252は1つのロボット(例えば、ロボット102a)の運動が作業セル又は動作環境104(
図1)を通って移動する別のロボット(例えば、ロボット102b)との衝突をもたらすかどうかを決定し得る。
【0071】
いくつかの実装形態では、衝突検出器252がソフトウェアベースの衝突検出又は評価を実装し、たとえば、バウンディングボックス-バウンディングボックス衝突評価、又はロボットの移動中にロボット102によって掃引されるか、又はロボットの一部によって掃引されるボリュームの幾何学的(たとえば、球)表現の階層に基づく評価を実行する。いくつかの実装形態では、衝突検出器252がハードウェアベースの衝突検出又は評価を実装し、たとえば、障害物を表すための専用ハードウェア論理回路のセットを採用し、専用ハードウェア論理回路を通して動作の表現をストリーミングする。ハードウェアベースの衝突検出又は評価では、衝突検出器252が回路の1つ又は複数の構成可能なアレイ、たとえば1つ又は複数のFPGA258を使用することができ、任意選択でブール衝突評価を生成し得る。
【0072】
ロードマップ調整器259はプロセッサ222によって決定された、決定されたクリアランス又はマージンに基づいて、直接的に(例えば、自律的に)又は間接的に(例えば、視覚的表示に基づくユーザ又はオペレータ入力に基づいて)、ロードマップ116(
図1)を調整又は修正する。たとえば、ロードマップ調整器259は1つ又は複数のノードをロードマップ116に追加し、ロードマップ116から1つ又は複数のノードを除去し、及び/又はロードマップ116内の1つ又は複数のノードを移動させ得る。追加又は代替として、ロードマップ調整器259はたとえば、1つ又は複数のエッジをロードマップ116に追加し、ロードマップ116から1つ又は複数のエッジを除去し、及び/又はロードマップ116内の1つ又は複数のエッジを移動させ得る。追加又は代替として、ロードマップ調整器259はたとえば、ロードマップ116に関連付けられた、又はロードマップ116の1つ又は複数のノード又はエッジに関連付けられた1つ又は複数のパラメータの値を設定又は他の方法で調整し得る。たとえば、ロードマップ調整器259は1つ又は複数のエッジに関連する移動速度を調整するか、又はさもなければ設定し、及び/又は経路平滑化パラメータの値を調整し得る。
【0073】
コスト設定部254は、モーションプランナ110による衝突検出又は評価に少なくとも部分的に基づいて、及び任意選択で、クリアランス決定モジュール264によって決定された、決定されたクリアランスに少なくとも部分的に基づいて、ロードマップ116(
図1)内のエッジのコストメトリックを設定又は調整し得る。例えば、コスト設定部254は、衝突をもたらすか、又は衝突をもたらす可能性が高い、及び/又はロボット又はその一部と動作環境104(
図1)内の1つ又は複数の物体との間に不十分なクリアランス(例えば、指定された又は公称クリアランス未満)が維持されることをもたらすか、又はその可能性が高いポーズ間の状態又は動作間の遷移を表すエッジのコストメトリックに対して比較的高い値を設定し得る。また、たとえば、コスト設定部254は、衝突をもたらさないか、またもたらさない可能性が高い、及び/又はロボット又はその一部と動作環境104内の1つ又は複数の物体との間の不十分なクリアランス(たとえば、指定された又は公称クリアランス未満)が維持される可能性が低い、ポーズ間の状態又は動作間の遷移を表すエッジのコストメトリックに対して比較的低い値を設定し得る。コストを設定することは、いくつかのデータ構造(例えば、フィールド、ポインタ、テーブル、ベクトル)を介して対応するエッジに論理的に関連付けられるコストメトリックの値を設定又は調整することを含み得る。コストメトリックは例えば、1つ又は複数のパラメータ、例えば、衝突評価パラメータ、クリアランス評価パラメータ、待ち時間パラメータ、及び/又はエネルギー消費パラメータを用いて、コスト関数に基づいて決定され得る。パラメータは、コスト関数においてそれぞれの重み付けを有し得る。例えば、衝突評価は、クリアランス評価よりも重く重み付けされてもよい。また、例えば、クリアランス評価パラメータは、待ち時間パラメータ及び/又はエネルギー消費パラメータよりも重く重み付けされてもよい。コストメトリックは例えば、0~10、0~100、0~1,000、又は0~1万のスケールであり得る。
【0074】
経路アナライザ256はコストメトリックを有するロードマップを使用してパス(例えば、最適又は最適化された)を決定し得る。例えば、経路アナライザ256は、2つの状態、構成、又はポーズの間の最低コスト又は比較的低コストの経路を決定する最小コスト経路オプティマイザを構成することができ、状態、構成、又はポーズはロードマップ内のそれぞれのノードによって表される。経路アナライザ256は、衝突の可能性及び/又は指定されたクリアランスを維持しない可能性を表す各エッジに論理的に関連付けられたコスト値、及び任意選択で他のパラメータを考慮に入れて、任意の様々な経路発見アルゴリズム、たとえば最低コストの経路発見アルゴリズムを使用又は実行し得る。
【0075】
ベルマン・フォードアルゴリズムを実装するものを含む、最小コスト経路を決定するための様々なアルゴリズム及び構造が使用され得るが、最小コスト経路がロードマップ116内の2つのノード間の経路として決定され、その構成エッジのコストメトリック又は重みの合計が最小化されるような任意のそのようなプロセスを含む(が、これに限定されない)、他のものが使用され得る。このプロセスはロボット102のモーションプラニングの技術を、衝突評価ならびにロボットの動作のクリアランス決定又は評価を表すロードマップ116を使用することによって改善し、指定された又は公称クリアランスを維持しながら、衝突なしでタスクを実行するための「最良の」経路を見つけるための効率及び応答時間を増加させる。
【0076】
モーションプランナ110は任意選択的に、プルーナ(又は、除去器/pruner)260を含み得る。プルーナ260は他のロボットによる動作の完了を表す情報を受信することができ、この情報は、動作完了メッセージと呼ばれる。あるいは、完了を示すためにフラグをセットし得る。それに応答して、プルーナ260は、障害物、又は現在完了している動きを表す障害物の一部分を除去し得る。これは所与のロボット(例えば、ロボット102a)のための新しいモーションプランの生成を可能にすることができ、これはより効率的であり得るか、又は他のロボット(例えば、ロボット102b)の運動によって以前に防止されたタスクの実行に所与のロボットが参加することを可能にし得る。このアプローチは、動作変換器250が動作の障害物表現を生成するときに動作のタイミングを無視することを有利に可能にする一方で、他の技法を使用するよりも良好なスループットを依然として実現する。モーションプランナ110はさらに、衝突検出器252に、障害物の修正を前提として、新しい衝突検出又は評価及びクリアランス決定又は評価を実行させて、エッジに関連するエッジ重み又はコストが修正された更新されたロードマップ116を生成させ、コスト設定部254及び経路アナライザ256に、コストメトリックを更新させ、それに応じて新しい又は修正されたモーションプランを決定させ得る。
【0077】
モーションプランナ110は任意選択のセンサー(例えば、デジタルカメラ、図示せず)からの出力(例えば、環境のデジタル化された表現)を障害物の表現に変換する環境変換器(図示せず)を任意選択で含み得る。したがって、モーションプランナ110は、動作環境104(
図1)内の一時的なオブジェクト、たとえば人、動物などを考慮に入れたモーションプランニングを実行し得る。
【0078】
クリアランス決定及び表示モジュール126は、動作環境104内の1つ又は複数の物体に対するロボット102又はその一部分の動きを評価して、ロボット又はその一部分の動作又は移動中のロボット102又はその一部分と物体との間のクリアランス又はマージンの量を決定する。そのために、クリアランス決定及び表示モジュール126は1つ又は複数のロボット(例えば、ロボット102a、
図1)のロードマップ116又はその一部(例えば、エッジ)によって指定された動作をシミュレート又は実際に実行するランモーションモジュール(又は、実行動作モジュール)262を使用し得る。クリアランス決定及び表示モジュール126は動作がシミュレート又は実際に実行されるときに、他のロボット(例えば、ロボット102b、
図1)を含む動作環境104内の物体に関して、ロボット102の1つ又は複数の部分(例えば、ロボット102a)のクリアランス又はマージンを決定するクリアランス決定モジュール264を含み得る。
【0079】
クリアランスを決定するために、様々なアプローチ、例えば、ポーズドメッシュ又は球体ツリーを使用するアプローチ、あるいは、掃引されたボリュームを使用するアプローチを使用し得る。いくつかの実装形態では、クリアランス検出がロードマップ構築、ロードマップ調整、及び/又は視覚化を含むオフライン使用のためのものである。通常、動的オブジェクトを事前に計画することはできないので、クリアランス検出は、通常、静的オブジェクトに使用される。オフライン使用(例えば、ロードマップ構築、ロードマップ調整、及び/又は視覚化)のためにクリアランス検出が使用されている場合、使用されるアプローチはオンラインアプリケーションで使用される(例えば、ロボットをリアルタイムで制御する)場合と同様に高速である必要はない。
【0080】
クリアランス検出を実行する少なくとも2つのアプローチがある。1つのアプローチはカスタムであるか、又は公的に利用可能なソフトウェア(例えば、フレキシブル衝突ライブラリ又はFCL)に基づくソフトウェアと共に、ポリゴンのメッシュを使用することである。メッシュのセット(例えば、三角形のメッシュ)が与えられると、ソフトウェアは、メッシュ間の距離を決定する。このアプローチは本質的に一般的であり、ロボットに特有ではない。このアプローチを使用する場合、システムは、メッシュ内の(又は、メッシュで)動作環境における障害をカバーする。システムはさらに、ロボットの各運動の掃引ボリュームをメッシュで覆ってもよい。このアプローチの下では、ロボットの動きをいくつかの中間ポーズに分割することがより容易であり得、この場合、中間ポーズの数は例えば、連続するポーズにおけるジョイント角度間の差の閾値を満たすように選択される。次いで、システムは、各ポーズをそれぞれのメッシュでラップする。別のアプローチでは、本システムが出願人自身の特許出願の様々なものに記載されている衝突検出に使用されるデータ構造と少なくともいくつかの点で同様のデータ構造を使用する。たとえば、システムはディスタンスフィールド(又は、ディスタンス関数/距離場/distance field)(たとえば、ユークリッドディスタンスフィールド)を用いて動作環境に存在する障害物を表し、球体ツリーを用いてロボットのポーズを表し得る。球体ツリーからディスタンスフィールド内の任意のものまでの距離を計算することは、システムにとって比較的簡単である。
【0081】
クリアランス決定及び表示モジュール126はまた、決定されたクリアランスを、例えばメモリ又は他の何らかのプロセッサ可読媒体に記憶されたデータ構造において、それぞれの経路又はエッジと論理的に関連付ける、経路又はエッジとの関連付けクリアランスモジュール266を含む。いくつかの実装形態では、クリアランス決定モジュール264又は経路又はエッジとの関連付けクリアランスモジュール266がコスト設定部254に直接通信可能に結合されることができ、その結果、コスト設定部254は決定されたクリアランスに基づいて、エッジに関連するコストメトリックを自動的かつ自律的に(すなわち、ユーザ又はオペレータの入力又は他のユーザ、オペレータ又は人間の介入なしに)設定又は調整し得る。
【0082】
クリアランス決定及び表示モジュール126は例えば、動作環境の三次元空間における経路としてロボット又はその一部の移動又は動作を示す三次元表現の形態で、又はロボットのC空間におけるロボットの構成又はポーズ間の遷移を表すエッジとして動作を示すロードマップの形態で、移動又は動作の表現を提示させる。クリアランス決定及び表示モジュール126はさらに、決定されたクリアランスの視覚的表示を、例えば、数値、色、ヒートマップ、及び/又は合図(又は、手がかり、キュー)又は視覚的効果として、移動又は動作の表現に提示させる。例えば、クリアランス決定及び表示モジュール126は、表示されると、決定されたクリアランスの動作及び視覚的表示の表現を含む表示ファイルを生成する、表示ファイル生成モジュール268を含むことができる。表示ファイル生成モジュール268は決定されたクリアランスの指示のための表示ファイルとは別に、動作の表現のための表示ファイルを生成し得る。代替的に、表示ファイル生成モジュール268は、動作の表現と決定されたクリアランスの指標との両方を組み合わせる表示ファイルを生成し得る。
【0083】
任意選択で、クリアランス決定及び表示モジュール126は1つ又は複数の入力デバイス(たとえば、タッチスクリーンディスプレイ128a、キーボード128b、コンピュータマウス128c)から入力を受信する受信入力モジュール270を含む。受信された入力に基づいて、受信入力モジュール270は、ロードマップ調整器259及び/又はコスト設定部254に命令、コマンド及び/又はデータを提供し得る。
【0084】
プロセッサ222及び/又はモーションプランナ110は、1つ又は複数の中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックコントローラ(PLC)などの任意の論理処理ユニットであり得るか、又はそれらを含み得る。市販のコンピュータシステムの非限定的な例としては米国Intel(登録商標)社が提供するマイクロプロセッサのCeleron、Core、Core 2、Itanium、及びXeonファミリー;米国、米国、アドバンストマイクロデバイス社が提供するK8、K10、Bulldozer、及びBobcatシリーズマイクロプロセッサ;米国、米国、アップルコンピュータ社が提供するA5、A6、及びA7シリーズマイクロプロセッサ;米国、米国、クアルコム社が提供するスナップドラゴンシリーズマイクロプロセッサ;ならびに米国、オラクル社が提供するSPARCシリーズマイクロプロセッサが挙げられるが、これらに限定されない。建設・運営
図2に示される様々な構造、技術及びアルゴリズムは2017年6月9日に出願された「自律走行車及び再構成可能なモーションプランプロセッサのためのモーションプラン」、2016年1月5日に出願された「特殊化されたロボットモーションプランハードウェア及びその使用方法」、2018年1月12日に出願された「動的物体を有する環境における自律走行車のモーションプランを容易にするための装置、方法及び物品」に記載された構造、技術及びアルゴリズムを実施又は使用し得る。及び/又は2020年10月26日に出願された米国特許第63/105542号は本明細書に記載されるように適切に改変されている。
【0085】
必須ではないが、実装の多くはコンピュータ又はプロセッサ可読媒体に記憶され、障害物表現、衝突評価、クリアランス決定、及び他のモーションプラニングオペレーションを実行し得る1つ又は複数のコンピュータ又はプロセッサによって実行される、プログラムアプリケーションモジュール、オブジェクト、又はマクロなどのコンピュータ実行可能命令の一般的な文脈で説明される。
【0086】
モーションプラニングオペレーションは限定はしないが、ロボット幾何学的モデル112(
図1)、タスク114(
図1)、ロードマップ116、及び様々な状態又はポーズにおける、及び/又は状態又はポーズ間の移動中にロボットによって占有される体積(例えば、掃引体積)の表現のうちの1つ、複数、又はすべてを、例えば、点群、ユークリッド距離フィールド、データ構造形式(例えば、階層形式、非階層形式)、及び/又は曲線(例えば、多項式又はスプライン表現)等のデジタル形式に生成又は変換することを含み得る。モーションプラニングオペレーションは静的オブジェクトデータ及び/又は環境モデル120(
図1)によって表される静的又は持続的障害物の表現のうちの1つ又は複数の表現を、デジタル形式、たとえば、点群、ユークリッドディスタンスフィールド、データ構造形式(たとえば、階層形式、非階層形式)、及び/又は曲線(たとえば、多項式又はスプライン表現)に生成又は変換することを任意選択で含み得るが、これらに限定されない。
【0087】
モーションプラニングオペレーションは、限定はしないが、様々な衝突評価技法又はアルゴリズム(たとえば、ソフトウェアベース、ハードウェアベース)を使用して、ロボットの様々な状態又はポーズ、又は状態又はポーズ間のロボットの動作の衝突を決定又は検出又は予測することを含み得る。モーションプラニングオペレーションはロボット又はその一部と、動作を実行する際にロボット又はその一部によって経験される動作環境内の1つ又は複数の物体との間のクリアランスを決定又は検出し、決定されたクリアランスを提示し、決定されたクリアランスに少なくとも部分的に基づいてロードマップを生成又は修正することを含み得るが、これらに限定されない。
【0088】
いくつかの実装形態ではモーションプラニングオペレーションは、限定はしないが、1つ又は複数のモーションプランを決定すること、決定されたモーションプランを記憶すること、及び/又はロボットの動作を制御するためにモーションプランを提供することを含み得る。
【0089】
一実装形態では、衝突検出又は評価が関数呼び出し又は同様のプロセスに応答して実行される。衝突検出器252は、1つ又は複数のフィールドプログラマブルゲートアレイ(FPGA)258及び/又は1つ又は複数の特定用途向け集積回路(ASIC)を介して実装されて、低レイテンシ、比較的低い電力消費、及び処理可能な情報量の増加を達成しながら衝突検出を実行し得る。
【0090】
様々な実装形態では、そのようなオペレーションが完全にハードウェア回路で、又はシステムメモリ224aなどのメモリストレージに記憶されたソフトウェアとして実行されることができ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)プロセッサ、プログラムされた論理コントローラ(PLC)、電気的プログラマブル読取り専用メモリ(EEPROM)などの1つ又は複数のハードウェアプロセッサ222によって実行されることができ、又はハードウェア回路とメモリストレージに記憶されたソフトウェアとの組合せとして実行され得る。
【0091】
全体的又は部分的に使用され得る知覚、ロードマップ構築、衝突検出、及び経路探索の様々な態様は2016年1月5日に出願された「自律走行車及び再構成可能なモーションプランプロセッサのためのモーションプラン」という名称の国際特許出願第WO 2016/122840号、2018年1月12日に出願された「動的な環境における自律走行車のモーションプランを促進するための装置、方法、及び物品」という名称の米国特許出願第62/616,783号にも記載されている。米国特許出願第62/856,548号(2019年6月3日出願、名称「動的障害を有する環境におけるモーションプランを容易にするための装置、方法及び物品」);及び/又は米国特許出願第63/10542号(2020年10月26日出願)は本明細書に記載のように動作するように適切に修正されている。当業者は、図示された実装、ならびに他の実装がロボット、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能な家庭用電化製品、パーソナルコンピュータ(「PC」)、ネットワーク化されたPC、ミニコンピュータ、メインフレームコンピュータなどのものを含む、他のシステム構造及び配置、ならびに/又は他のコンピューティングシステム構造及び配置とともに実施され得ることを理解するであろう。実装又は実施形態又はその一部(例えば、構成時及び実行時)は、タスク又はモジュールが通信ネットワークを介してリンクされるリモート処理デバイスによって実行される分散コンピューティング環境において実施され得る。分散コンピューティング環境では、プログラムモジュールがローカル及びリモートメモリ記憶デバイス又は媒体の両方に配置され得る。しかし、特定のタイプの情報がどこに、そしてどのように記憶されるかは、モーションプランを改善するのを助けるために重要である。
【0092】
例えば、様々なモーションプラニングソリューションがロードマップ116(すなわち、モーションプラニンググラフ)をプロセッサ(例えば、FPGA 258)に「ベイクイン(又は、焼き付け)」し、及びロードマップ116内の各エッジは、プロセッサの非再構成可能ブール回路に対応する。ロードマップ116がプロセッサに「焼き付けられる」設計は複数の又は大きなロードマップを記憶するための限定されたプロセッサ回路を有するという問題をもたらし、一般に、異なるロボットでの使用のために再構成可能ではない。
【0093】
1つの解決策は、ロードマップ116情報をメモリ記憶装置に配置する再構成可能な設計を提供する。このアプローチは回路に焼き付けられる代わりに、メモリに情報を記憶する。別のアプローチはメモリの代わりに、テンプレート化された再構成可能な回路を使用する。
【0094】
上述のように、情報のいくつか(例えば、ロボット幾何学的モデル112)はランタイム前の構成時間中に、捕捉、受信、入力、又は提供され得る。受信された情報は、ロードマップの各エッジについて衝突検出を実行することを含め、構成時間中に処理されてもよく、処理された情報(例えば、ロードマップ内のエッジとして表される動作を実行する際にロボットによって掃引される空間のボリューム)を生成し、動作を高速化するか、又はランタイム中の計算の複雑さを低減するために、ランタイムにおいて後で使用する。
【0095】
ランタイム中に、動作環境104(
図1)全体に対して衝突検出を行うことができ、これには、任意のポーズ又はポーズ間の移動について、ロボット102の任意の部分がロボット102自体の別の部分、他のロボット102又はその部分、動作環境104内の永続的障害物又は静的障害物、又は未知の軌道(例えば、人間又は人間)を有する動作環境104内の過渡的障害物と衝突するか又は衝突すると予測されるかどうかを決定することが含まれる。
【0096】
図3は、ロボット102aの目標が物体との衝突を回避しながらタスクを実行することである場合の、ロボット102a(
図1)のうちの1つのための例示的なロードマップ300を示し、物体は動作環境104(
図1)において動作する他のロボット(例えば、ロボット102b)を含み得る。
【0097】
ロードマップ300は、エッジ310a~310h(図ではノードの対の間の直線として表されている)によって接続された複数のノード308a~308i(図では白丸で表されている)をそれぞれ備える。各ノードは、ロボット102の構成空間におけるロボット102の状態を特徴付ける時間及び変数を、暗黙的又は明示的に表す。構成空間は、C空間と呼ばれることが多く、ロードマップ300に表されるロボット102aの状態又は構成又はポーズの空間である。例えば、各ノードはロボット102aの状態、構成、又はポーズを表すことができ、これは位置、向き、又は位置と向きの組合せを含み得るが、これらに限定されない。状態、構成、又はポーズは例えば、ロボット102aのジョイントのジョイント位置及びジョイント角度/回転(例えば、ジョイントポーズ、ジョイント座標)のセットによって表され得る。
【0098】
ロードマップ300内のエッジは、ロボット102aのこれらの状態、構成、又はポーズ間の有効な又は許容される遷移を表す。ロードマップ300のエッジは、デカルト座標における実際の移動を表すのではなく、C空間における状態、構成、又はポーズ間の遷移を表す。ロードマップ300の各エッジは、ノードのそれぞれの対の間のロボット102aの遷移を表す。例えば、エッジ310aは、2つのノード間のロボット102aの遷移を表す。特に、エッジ310aは、ノード308bに関連する特定の構成におけるロボット102aの状態と、ノード308cに関連する特定の構成におけるロボット102aの状態との間の遷移を表す。ノードは互いに様々な距離で示されているが、これは例示のみを目的としており、これはいかなる物理的距離にも関係しない。しかし、ロードマップ300内のノード又はエッジの数に制限はなく、ロードマップ300内で使用されるノード及びエッジが多いほど、最小コスト経路を選択するより多くの経路があるので、モーションプランナ110(
図1及び2)は、タスクを実行するためのロボット102aの1つ又は複数の状態、構成、又はポーズに従ってより正確かつ精密に最適経路を決定することが可能であり得る。
【0099】
各エッジにはコストメトリックが割り当てられ、又は関連付けられ、割り当ては、例えば、実行時又は実行中に更新され得る。コストメトリックは、各エッジに挿入された1桁の値として
図3に示されている。1桁の値として示されているが、コストメトリックは1桁又は複数桁の整数、実数などを含む様々な形態をとり得る。コストメトリックは、いくつかの異なるパラメータを表し得る。たとえば、コストメトリックは、対応するエッジによって表される動作に対する衝突評価を表し得る。また、例えば、コストメトリックは、それぞれのクリアランス決定を表すことができる。例えば、コストメトリックは、動作環境内の物体の1つ又は複数の指定された又は名目上のクリアランス距離内にロボットの一部が入るようにさせる動作の可能性又は確率の評価を表し得る。エッジに割り当てられたコストメトリック(例えば、重み)は、比較的小さいクリアランスをもたらす、及び/又はロボットの1つ又は複数の部分についてのいくつかの指定された又は公称クリアランスを下回るクリアランスをもたらす遷移に対応するエッジについて、増加され得る。他の箇所で述べたように、ロボットの異なる部分は、異なるそれぞれの指定された又は公称クリアランスに関連付けられてもよい。例えば、溶接ヘッドのクリアランスをロボットのジョイントのクリアランスよりも大きく維持することが望ましい場合がある。
【0100】
衝突評価の例は、2017年6月9日に出願された「自律走行車及び再構成可能なモーションプランプロセッサのためのモーションプラン」と題された国際特許出願第PCT/US2017/036880号、2018年8月23日に出願された「ロボットのためのモーションプランに有用な衝突検出」と題された米国特許出願第62/722,067号、及び2016年1月5日に出願された「特殊ロボットモーションプランハードウェア及びその製造及び使用方法」と題された国際特許出願第WO 2016/122840号に記載されている。
【0101】
ノード間の直接遷移が障害物との衝突を引き起こす確率が比較的高い、及び/又は小さなクリアランス又は指定された又は公称クリアランス未満のクリアランスを経験する確率が比較的高いロードマップ300内のノードの場合、それらのノード間で遷移するロードマップ300のエッジに割り当てられたコストメトリック又は重みは比較的高いコストメトリック(たとえば、10のうち8、9、又は10)が割り当てられ得る。逆に、ノード間の直接遷移が障害物との衝突を引き起こす確率が比較的低い、及び/又は小さなクリアランス又は指定された又は公称クリアランス未満のクリアランスを経験する確率が比較的低いロードマップ300内のノードについて場合、それらのノード間で遷移するロードマップ300のエッジに割り当てられたコストメトリック又は重みは、比較的低いコストメトリック(たとえば、10のうちの0、1又は2)が割り当てられ得る。ノード間の直接遷移が障害物との衝突を引き起こす確率が中間、及び/又は小さなクリアランス又は指定された又は公称クリアランス未満のクリアランスを経験する確率が中間であるロードマップ300内のノードの場合、それらのノード間で遷移するロードマップ300のエッジに割り当てられたコストメトリック又は重みは、高コストでも低コストでもない(たとえば、10のうちの4、5、又は6)、比較的中立的なコストメトリックを割り当てられ得る。
【0102】
上記で説明したように、コストは衝突の確率、及び/又は低クリアランス状況を経験する確率だけでなく、他の要因又はパラメータ(たとえば、待ち時間、エネルギー消費)も反映し得る。本例ではロードマップ300内のロボット102の現在の状態、構成、又はポーズはノード308aにあり、経路は最小コスト分析の結果であるロードマップ300内の経路312(ノード308aからノード308iを通って延びるセグメントを含む太線経路)として示される。
【0103】
多くの鋭いターンを有するロードマップ300内の経路として示されているが、そのようなターンはルート内の対応する物理的なターンを表すものではなく、ロボット102の状態、構成、又はポーズ間の論理的な遷移を表す。例えば、識別された経路312の各エッジはロボット102の物理的構成に対する状態変化を表すことができるが、必ずしも
図3に示される経路312の角度に対応するロボット102の方向の変化を表す必要はない。
【0104】
図4は、ロボット102が動作する三次元環境400における移動の表現を示す。
【0105】
ロボット102は、基部403及びロボット付属物405を含み得る。ロボット付属物405は、複数のリンク405a、405b、405c(3つ示されている)と、リンク405a、405b、405cのそれぞれの対を回転結合する複数のジョイント405d、405eと、ロボット付属物405の遠位端に位置するアームツール405fのエンドエフェクタ又は端部とを含む。ロボット102は1つ以上のアクチュエータ、例えば、電気モータ205(
図2)を含む。
【0106】
三次元環境400の表現は構成又はポーズ間の遷移を実行する際のロボット102のそれぞれの部分(例えば、リンク405a、405b、405c、アームツール405fの端部)の移動又は軌道を表す、いくつかの経路(4つ示されている)406a、406b、406d、406d(4つ示されている)を示す。
【0107】
図5は
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法500を示しており、少なくとも1つの図示された実装形態による、ロボットの1つ又は複数の部分のクリアランスを決定し、ロボットの1つ又は複数の部分の決定されたクリアランスの視覚的表示とともに、ロードマップとしてロボットの1つ又は複数の部分の移動の表現を提示させる。方法500はたとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0108】
方法500は、502で開始する。たとえば、方法500は、プロセッサベースのシステム100、ロボット制御システム及び/又はロボット102の電源投入に応答して、又は呼び出しルーチンからの呼び出し又は起動に応答して開始し得る。方法500は例えば、ロボット102の動作中に、断続的に、又は連続的にさえ実行し得る。
【0109】
504において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボットの1つ又は複数の部分と動作環境内の1つ又は複数の物体との間のクリアランスの量を決定する。例えば、ロボットの各移動について、及びロボットの1つ、2つ、又はそれ以上の部分のそれぞれについて、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボット又はその一部の経路又は軌道に沿って移動する際にロボット又はその一部が経験する、動作環境におけるロボットの部分と1つ又はそれ以上の物体との間のクリアランスのそれぞれの量を計算的に決定する。決定されたクリアランスは例えば、デカルト座標における距離として、又はベクトル値として表すことができる。
【0110】
506において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は、ロボットの1つ又は複数の移動の表現を提示させる。たとえば、クリアランス決定及び表示モジュール126は複数のノード及び複数のエッジを有するロードマップを提示させることができ、各エッジは、それぞれのノードの対のノードを結合する。例えば、表示ファイル生成モジュール268(
図2)は1つ又は複数の表示ファイルを生成し、提示システム128に提供し得る。ノードはロボットのそれぞれの構成を表し、エッジは、それぞれのエッジによって結合されたノードの対のノードによって表されるロボットの構成のそれぞれの対の間のそれぞれの遷移を表す。遷移は、ロボット又はその一部の移動に対応する。
【0111】
508において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は、ロボットの移動の提示において、例えばロードマップの提示において、決定されたクリアランスの1つ又は複数の視覚的指示を提示させる。例えば、クリアランス決定及び表示モジュール126は、ロボットの少なくとも1つ又は複数の部分について、ロボットの部分と環境内の1つ又は複数の物体との間のそれぞれのクリアランス量の視覚的表示を提示させることができる。例えば、表示ファイルの生成モジュール268(
図2)は1つ又は複数の表示ファイルを生成し、提示システム128に提供し得る。決定されたクリアランスの表示は様々な形態、例えば、数値、色、ヒートマップ、及び/又は視覚的合図又は視覚的効果をとり得る。決定されたクリアランスの指標はそれぞれの動作の表現に空間的に関連付けられ、例えば、動作に対応する遷移を表すそれぞれのエッジに空間的に関連付けられ得る。実装形態では、表示ファイル生成モジュール268がロードマップと、決定されたクリアランスの視覚表示とのための別個の画像ファイルを生成し得る。別個の画像ファイルは例えば、視覚的プレゼンテーションの別個の層上に表示されてもよい。他の実装形態では、表示ファイルの生成モジュール268がロードマップと、単一の画像ファイル内の決定されたクリアランスの視覚的指示との両方を含む統合画像ファイルを生成し得る。
【0112】
任意選択で、510において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)が入力を受信する。入力は様々な形態をとることができ、例えば、ロードマップにノード及び/又はエッジを追加し、ロードマップからノード及び/又はエッジを削除し、ロードマップ内のノード及び/又はエッジを移動させ、及び/又は1つ又は複数のパラメータ(例えば、移動速度、経路平滑化パラメータ、エッジのコストメトリック)の値を設定、変更、又は調整するための命令又はコマンドである。クリアランス決定及び表示モジュール126は1つ又は複数のユーザ入力/出力デバイス(たとえば、タッチスクリーンディスプレイ128a)から入力を受信し得る。
【0113】
任意選択で、512において、プロセッサベースのシステム100の構成要素、例えば、ロードマップ調整器259は、決定されたクリアランスに少なくとも部分的に基づいてロボットのロードマップを調整する。そのようなことは、例えば、特定の定義された条件の発生に応答して自律的に起こり得る。そのようなことは、例えば、それ自体が少なくとも部分的に決定されたクリアランスに基づき得る、受信されたユーザ又はオペレータ入力に応答して起こり得る。ロードマップ調整器259は、ロードマップ116(
図1及び
図2)がメモリ又は他のプロセッサ可読記憶装置内に表されるデータ構造の1つ又は複数の構成要素を調整し得る。
【0114】
任意選択で、514において、プロセッサベースのシステム100の構成要素は、ロボットによる実行のためのモーションプラン115(
図1及び
図2)を提供する。例えば、モーションプランナ110は、ロボット又はロボットによる実行のためのロボットコントローラにモーションプランを提供し得る。
【0115】
方法500は例えば、再び呼び出されるまで、516で終了する。いくつかの実装形態では、方法500がたとえば、ロボット又はその一部分に電力が供給されている間、継続的に、又はさらには周期的に動作し得る。
【0116】
図6は
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法600を示し、動作環境において動作するロボット付属物の少なくとも2つ以上の部分についてのクリアランスを決定し、ロボット付属物が動作する三次元空間の表現における経路として、又はロードマップとして、ロボット付属物の2つ以上の部分について決定されたクリアランスの視覚的表示と共に、2つ以上の部分の移動の表現を提示させる。方法600はたとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0117】
方法600は、602で開始する。たとえば、方法600は、プロセッサベースのシステム100、ロボット制御システム及び/又はロボット102の電源投入に応答して、又は呼び出しルーチンからの呼び出し又は呼び出しに応答して開始し得る。方法600は例えば、1つ又は複数のロボット102の動作中に、断続的に、又はさらには連続的に実行し得る。
【0118】
604において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボット付属物の2つ以上の部分と動作環境内の1つ以上の物体との間のクリアランスの量を決定する。例えば、ロボット付属物の各移動について、及びロボット付属物の少なくとも2つ以上の部分の各々について、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボット付属物の2つ以上の部分の経路又は軌道に沿って横断する際にロボット付属物又はその部分によって経験される動作環境におけるロボット付属物の部分と1つ以上の物体との間のクリアランスのそれぞれの量を計算的に決定する。決定されたクリアランスは例えば、デカルト座標における距離として、又はベクトル値として表すことができる。
【0119】
606において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は、ロボット付属物又はその2つ以上の部分の1つ又は複数の移動の表現を提示させる。例えば、クリアランス決定及び表示モジュール126は、ロボット付属物が動作する三次元空間の表現における1つ又は複数の経路を提示させることができる。代替として、クリアランス決定及び表示モジュール126は複数のノード及び複数のエッジを有するロードマップを提示させることができ、各エッジはそれぞれのノードの対のノードを結合する。例えば、表示ファイルの生成モジュール268(
図2)は1つ又は複数の表示ファイルを生成し、提示システム128に提供し得る。三次元空間の表現における1つ又は複数の経路の提示では、経路がロボット付属物又はその一部の移動又は軌道を表す。ロードマップの提示において、ノードはロボットのそれぞれの構成を表し、エッジは、それぞれのエッジによって結合されたノードの対のノードによって表されるロボットの構成のそれぞれの対の間のそれぞれの遷移を表す。これらの遷移は、ロボット付属物又はその一部の移動に対応する。
【0120】
608において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は、ロボット付属物又はその一部の移動の提示において、決定されたクリアランスの1つ又は複数の視覚的指示を提示させる。例えば、クリアランス決定及び表示モジュール126は、ロードマップの提示において視覚的表示を提示させることができる。また、例えば、クリアランス決定及び表示モジュール126は、ロボット付属物が動作する三次元空間の表現の表現において視覚的表示の表現を引き起こすことができる。クリアランス決定及び表示モジュール126は例えば、ロボット付属物の少なくとも2つ以上の部分が、ロボット付属物の部分と環境内の1つ以上の物体との間のそれぞれのクリアランス量の視覚的表示を提示させることができる。決定されたクリアランスの表示は様々な形態、例えば、数値、色、ヒートマップ、及び/又は視覚的合図又は効果をとり得る。決定されたクリアランスの表示は動作のそれぞれの表現に空間的に関連付けられてもよく、例えば、ロボット付属物の部分の動作に対応する遷移を表すそれぞれのエッジに空間的に関連付けられてもよい。クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は画像ファイルを生成し、提示のために画像ファイルを提供し得る。実装形態では、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)がロードマップ及び決定されたクリアランスの視覚的表示のための別個の画像ファイルを生成し得る。別個の画像ファイルは例えば、視覚的プレゼンテーションの別個の層上に表示されてもよい。他の実装形態では、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)がロードマップと、決定されたクリアランスの視覚的指示との両方を含む統合画像ファイルを生成し得る。
【0121】
任意選択で、610において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)が入力を受信する。入力は様々な形態をとることができ、例えば、ロードマップにノード及び/又はエッジを追加し、ロードマップからノード及び/又はエッジを削除し、ロードマップ内のノード及び/又はエッジを移動させ、及び/又は1つ又は複数のパラメータ(例えば、移動速度、経路平滑化パラメータ、エッジのコストメトリック)の値を設定、変更、又は調整するための命令又はコマンドである。クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)は1つ以上のユーザ入力/出力デバイス(例えば、タッチスクリーンディスプレイ128a)からの入力を受信し得る。
【0122】
任意選択で、612において、プロセッサベースのシステム100の構成要素、例えば、ロードマップ調整器259は、決定されたクリアランスに少なくとも部分的に基づいて、ロボット付属物のロードマップ116を調整する。そのようなことは、例えば、特定の定義された条件の発生に応答して自律的に起こり得る。そのようなことは、例えば、それ自体が決定されたクリアランスの少なくとも一部に基づき得る、受信されたユーザ又はオペレータ入力に応答して起こり得る。ロードマップ調整器259は、ロードマップ116がメモリ又は他のプロセッサ可読記憶装置内に表されるデータ構造の1つ又は複数の構成要素を調整し得る。
【0123】
任意選択で、614において、プロセッサベースのシステム100の構成要素は、ロボット付属物による実行のためのモーションプラン115(
図1及び
図2)を提供する。例えば、モーションプランナ110はロボット付属物による実行のために、ロボット付属物又はロボットコントローラにモーションプランを提供し得る。
【0124】
方法600は例えば、再び呼び出されるまで、616で終了する。いくつかの実装形態では、方法600が例えば、ロボット付属物又はその一部分に電力が供給されている間、継続的に、又はさらには周期的に動作し得る。
【0125】
図7は、少なくとも1つの例示の実装形態に従って、
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法700を示し、動作環境において動作する2つ以上のロボット付属物のうちの少なくとも1つの1つ又は複数の部分のクリアランスを決定し、ロボット付属物のうちの少なくとも1つの1つ又は複数の部分の決定されたクリアランスの視覚表示とともに、ロボット付属物又はその部分の少なくとも1つの移動の表示を提示する。例えば、動作環境は第一ロボットを含むことができ、第一ロボットは、第一ロボット付属物であるか、又は第一ロボット付属物を含む。動作環境はまた、第二ロボットを含むことができ、第二ロボットは、第二ロボット付属物であるか、又は第二ロボット付属物を含む。方法700はたとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0126】
方法700は、702で開始する。たとえば、方法700は、プロセッサベースのシステム100、ロボット制御システム及び/又はロボット102の電源投入に応答して、又は呼び出しルーチンからの呼び出し又は起動に応答して開始し得る。方法700は例えば、1つ又は複数のロボット付属物105の動作中に、断続的に、又はさらには連続的に実行し得る。
【0127】
704において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、第一ロボット付属物の1つ又は複数の部分と動作環境内の1つ又は複数の物体との間のクリアランスの量を決定する。例えば、第一ロボット付属物の各移動について、及び第一ロボット付属物の少なくとも1つ又は複数の部分のそれぞれについて、クリアランス決定及び表示モジュール126クリアランス決定モジュール264(
図2)は、第一ロボット付属物又はその一部が第一ロボット付属物又はその一部の経路又は軌道に沿って横断する際に経験する、第一ロボット付属物の一部と動作環境104(
図1)内の1つ又は複数の物体との間のクリアランスのそれぞれの量を決定する。特に、物体は、第二ロボット付属物を含み得る。
【0128】
706において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は第一ロボット付属物又はその一部分、及び任意選択的に、第二ロボット付属物又はその一部分の1つ又は複数の移動の表現を提示させる。例えば、クリアランス決定及び表示モジュール126は、第一ロボット付属物及び第二ロボット付属物が動作する三次元空間の表現における1つ又は複数の経路を提示させることができる。経路は、第一ロボット付属物又はその一部分、及び任意選択で第二ロボット付属物又はその一部分の移動又は軌道を表す。代替として、クリアランス決定及び表示モジュール126は複数のノード及び複数のエッジを有するロードマップを提示させることができ、各エッジはそれぞれのノードの対のノードを結合し、これは第一ロボット付属物又は第二ロボット付属物のうちの1つのみの移動を表すときに特に適し得る。例えば、表示ファイル生成モジュール268(
図2)は1つ又は複数の表示ファイルを生成し、提示システム128に提供し得る。
【0129】
任意選択で、708において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)が、第二ロボット付属物の部分と動作環境内の1つ又は複数の物体との間のクリアランスの量を決定する。例えば、第二ロボット付属物のそれぞれの移動について、及び第二ロボット付属物の少なくとも1つ以上の部分のそれぞれについて、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、第二ロボット付属物又はその一部分が第二ロボット付属物又はその一部分の経路又は軌道に沿って横断する際に経験する第二ロボット付属物の一部分と動作環境における1つ以上の物体との間のそれぞれのクリアランス量を決定する。特に、物体は、第一ロボット付属物を含み得る。
【0130】
710において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268は、少なくとも第一ロボット付属物の移動の提示において、決定されたクリアランスの1つ又は複数の視覚的指示を提示させる。例えば、クリアランス決定及び表示モジュール126は、第一ロボット付属物及び第二ロボット付属物が動作する三次元空間の表現における経路の表現における視覚的表示の表現を引き起こすことができる。例えば、クリアランス決定及び表示モジュール126は、第一ロボット付属物の部分の少なくとも1つ以上について、第一ロボット付属物の1つ以上の部分と環境内の1つ以上の物体との間のクリアランスのそれぞれの量の視覚的表示を提示させることができる。例えば、クリアランス決定及び表示モジュール126は任意選択的に、第二ロボット付属物の部分の少なくとも1つ又は複数について、第二ロボット付属物の1つ又は複数の部分と環境内の1つ又は複数の物体との間のクリアランスのそれぞれの量の視覚的表示を提示させることができる。決定されたクリアランスの表示は動作のそれぞれの表現に空間的に関連付けられてもよく、例えば、ロボット付属物の部分の動作に対応する遷移を表すそれぞれのエッジに空間的に関連付けられてもよい。クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は画像ファイルを生成し、提示のために画像ファイルを転送し得る。実装形態では、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268がロードマップと、決定されたクリアランスの視覚的表示とのための別個の画像ファイルを生成し得る。別個の画像ファイルは例えば、視覚的プレゼンテーションの別個の層上に表示されてもよい。他の実装形態では、クリアランス決定及び表示モジュール126又は(1つ又は複数の)表示ファイル生成モジュール268が単一の表示ファイル内の決定されたクリアランスのロードマップ及び視覚指示の両方を含む統合画像ファイルを生成し得る。
【0131】
任意選択で、714において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)が入力を受信する。入力は様々な形態をとることができ、例えば、ロードマップにノード及び/又はエッジを追加し、ロードマップからノード及び/又はエッジを削除し、ロードマップ内のノード及び/又はエッジを移動させ、及び/又は1つ又は複数のパラメータ(例えば、移動速度、経路平滑化パラメータ、エッジのコストメトリック)の値を設定、変更、又は調整するための命令又はコマンドである。クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)は1つ又は複数のユーザ入力/出力デバイス(たとえば、タッチスクリーンディスプレイ128a)から入力を受信し得る。
【0132】
任意選択で、716において、プロセッサベースのシステム100の構成要素、例えば、ロードマップ調整器259は、決定されたクリアランスに少なくとも部分的に基づいて、第一ロボット付属肢又は第二ロボット付属肢のうちの1つのロードマップ116を調整する。そのようなことは、例えば、特定の定義された条件の発生に応答して自律的に起こり得る。そのようなことは、例えば、それ自体が決定されたクリアランスの少なくとも一部に基づき得る、受信されたユーザ又はオペレータ入力に応答して起こり得る。ロードマップ調整器259は、ロードマップ116がメモリ又は他のプロセッサ可読記憶装置内に表されるデータ構造の1つ又は複数の構成要素を調整し得る。
【0133】
任意選択で、718において、プロセッサベースのシステム100の構成要素は、ロボット付属物による実行のためのモーションプラン115(
図1及び
図2)を提供する。例えば、モーションプランナ110は第一ロボット付属物による実行のために、モーションプラン115を第一ロボット付属物又はロボットコントローラに提供し得る。
【0134】
方法700は例えば、再び呼び出されるまで、720で終了する。いくつかの実装形態では、方法700がたとえば、少なくとも第一ロボット付属物又はその一部分に電力が供給されている間、継続的に又はさらには周期的に動作し得る。
【0135】
図8は
図1及び
図2のプロセッサベースのシステム100における動作の方法800を示し、動作環境において動作するロボットの1つ又は複数の部分のクリアランスを決定し、少なくとも1つの図示された実装形態による、ロボットのためのロードマップのそれぞれのエッジに関連するコストメトリックを設定又は調整する。方法800はたとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0136】
方法800は、802で開始する。たとえば、方法800は、プロセッサベースのシステム100、ロボット制御システム及び/又はロボット102の電源投入に応答して、又は呼び出しルーチンからの呼び出し又は起動に応答して開始し得る。方法800は例えば、1つ又は複数のロボット102の動作中に、断続的に、又はさらには連続的に実行し得る。
【0137】
804において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボットの1つ又は複数の部分と動作環境内の1つ又は複数の物体との間のクリアランスの量を決定する。例えば、ロボットの各移動について、及びロボットの少なくとも1つ以上の部分のそれぞれについて、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボットの1つ以上の部分と、ロボット又はロボットの一部分の経路又は軌道に沿って横断する際にロボット又はロボットの一部分が経験する動作環境内の1つ以上の物体との間のそれぞれのクリアランスの量を決定する。特に、物体は、動作環境で動作する第二ロボットを含み得る。
【0138】
任意選択で、806において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)が入力を受信する。入力は様々な形態をとることができ、例えば、ロードマップにノード及び/又はエッジを追加し、ロードマップからノード及び/又はエッジを削除し、ロードマップ内のノード及び/又はエッジを移動させ、ロードマップ内のノード又はエッジをコピー又は複製し、ならびに/あるいは1つ又は複数のパラメータ(例えば、移動速度、経路平滑化パラメータ、エッジのコストメトリック)の値を設定、変更、又は調整するための命令又はコマンドである。クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)は1つ以上のユーザ入力/出力装置(例えば、タッチスクリーンディスプレイ128a)からの入力を受け取ることができる。
【0139】
808において、プロセッサベースのシステム100の構成要素、例えば、コスト設定部254は、エッジに対応する動作のための決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、ロードマップ116内のそれぞれのエッジに論理的に関連付けられたコストメトリックを設定する。コストメトリックはたとえば、メモリ又は何らかの他のプロセッサ可読媒体に記憶されたロードマップ116を論理的に表すデータ構造内のエッジに論理的に関連付けられ得る。コスト設定部254は例えば、ロードマップの1つ以上のエッジの各々についてコストメトリックを設定してもよい。コスト設定部254は例えば、比較的小さいクリアランス又は狭いクリアランスに関連するエッジのコストメトリックを比較的高い値に設定し、コスト設定部254は、比較的大きいクリアランス又は緩いクリアランスに関連するエッジのコストメトリックを比較的低い値に設定する。これは、モーションプラニング中(例えば、最小又は最低コスト分析中)に相対的に小さいクリアランスを有するものよりも相対的に大きいクリアランスを有するエッジ又は遷移の選択に有利であり得る。追加又は代替として、コスト設定部254は例えば、ロボットのある部分の移動に関連するエッジのコストメトリックを比較的高い値に設定し得、一方、コスト設定部254は、ロボットの他の部分の移動に関連するエッジのコストメトリックを比較的低い値に設定する。これは、ロボットの他の部分(例えば、肘)に対するクリアランスがそれほど厳しくない場合の、ロボットの所与の部分(例えば、溶接ヘッド)に対する相対的に大きいクリアランスを有するエッジ又は遷移の選択に有利になり得る。特に、コストメトリックは、コスト関数に基づいて設定され得る。コスト関数は1つ、2つ、又はそれ以上のコストパラメータ、例えば、i)衝突リスク又は確率、ii)衝突重症度、iii)クリアランスの所望の量、iv)待ち時間、v)エネルギー消費、及び/又はvi)クリアランスの推定量のうちのいずれか1つ又は組み合わせを表し得る。
【0140】
810において、プロセッサベースのシステム100の構成要素、例えば、経路アナライザ256は少なくとも部分的に、決定されたクリアランスを表すか、又はそれを反映するコストメトリックを用いて、ロードマップ116を使用してモーションプラニングを実行する。経路アナライザ256は例えば、多種多様な最小コストアルゴリズムのいずれかを使用し得る。
【0141】
812において、プロセッサベースのシステム100の構成要素は、ロボットによる実行のためのモーションプラン115(
図1及び
図2)を提供する。例えば、モーションプランナ110は、ロボット又はロボットによる実行のためのロボットコントローラにモーションプランを提供し得る。
【0142】
次いで、方法800は例えば、再び呼び出されるまで、814で終了する。いくつかの実装形態では、方法800がたとえば、ロボット又はその一部分に電力が供給されている間、継続的に、又はさらには周期的に動作し得る。
【0143】
図9は
図1及び
図2のプロセッサベースのシステム100における動作の方法900を示しており、少なくとも1つの図示された実装形態に従って、それぞれのエッジに関連するコストメトリックを設定又は調整する。方法900はたとえば、方法800(たとえば、
図8の動作808)の実行の一部として、たとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0144】
902において、プロセッサベースのシステム100の構成要素、例えば、コスト設定部254は、それぞれのエッジによって表される遷移に従って移動する際にロボット又はその一部によって経験される最小クリアランスに少なくとも部分的に基づいて、それぞれのエッジに論理的に関連付けられたコストメトリックを設定する。コストメトリックはたとえば、メモリ又は何らかの他のプロセッサ可読媒体に記憶されたロードマップを論理的に表すデータ構造内のエッジに論理的に関連付けられ得る。
【0145】
図10は
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1000を示しており、少なくとも1つの図示された実装形態に従って、それぞれのエッジに関連するコストメトリックを設定又は調整する。方法1000はたとえば、方法800(たとえば、
図8の動作808)の実行の一部として、たとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0146】
1002において、プロセッサベースのシステム100の構成要素、例えば、コスト設定部254は、それぞれのエッジによって表される移動のための、ロボット付属物のリンク、ジョイント、アームツールの端部、及び任意選択でケーブルのすべてについて、決定された最小距離のすべての中の最も小さい最小距離を表す単一の数値に少なくとも部分的に基づいて、それぞれのエッジに論理的に関連付けられたコストメトリックを設定する。コストメトリックはたとえば、メモリ又は何らかの他のプロセッサ可読媒体に記憶されたロードマップを論理的に表すデータ構造内のエッジに論理的に関連付けられ得る。
【0147】
図11は、少なくとも1つの図示された実装形態に従った、
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1100を示し、ロボットの1つ又は複数の部分のクリアランスを決定し、決定されたクリアランスの視覚表示とともにロボットの1つ又は複数の部分の移動の表現を提示させ、入力を受信し、受信された入力に少なくとも部分的に基づいてロボットの動きを調整するために、ロードマップの少なくとも一部分を調整する。
【0148】
方法1100は、1102で開始する。たとえば、方法1100は、プロセッサベースのシステム100、ロボット制御システム及び/又はロボット102の電源投入に応答して、又は呼び出しルーチンからの呼び出し又は起動に応答して開始し得る。方法1100は例えば、ロボット102の動作中に、断続的に、又は連続的にさえ実行し得る。
【0149】
1104において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボットの1つ又は複数の部分と動作環境内の1つ又は複数の物体との間のクリアランスの量を決定する。例えば、ロボットの各移動について、およびロボットの1つ、2つ、又はそれ以上の部分のそれぞれについて、クリアランス決定及び表示モジュール126又はクリアランス決定モジュール264(
図2)は、ロボット又はその一部の経路又は軌道に沿って移動する際にロボット又はその一部が経験する動作環境104(
図1)内のロボットの部分と1つ又は複数の物体との間のそれぞれのクリアランス量を決定する。特に、物体は、動作環境で動作する第二ロボットを含み得る。
【0150】
任意選択で、1106において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)はロボットの1つ又は複数の部分の移動の提示における決定されたクリアランスの1つ又は複数の視覚的指示とともに、ロボットの1つ又は複数の移動の表現を提示させる。例えば、クリアランス決定及び表示モジュール126は、ロボットが動作する三次元空間の表現における経路の表現を引き起こすことができる。また、例えば、クリアランス決定及び表示モジュール126はロボットのためのロードマップを提示させることができ、エッジは、移動又は動作に対応する遷移を表す。決定されたクリアランスの表示は様々な形態、例えば、数値、色、ヒートマップ、及び/又は視覚的合図又は視覚的効果をとり得る。決定されたクリアランスの表示は動作のそれぞれの表現に空間的に関連付けられてもよく、例えば、動作を表すそれぞれの経路に空間的に関連付けられてもよく、又は、動作に対応する遷移を表すそれぞれのエッジに空間的に関連付けられてもよい。クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)は画像ファイルを生成し、提示のために画像ファイルを転送し得る。実装形態では、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)がロードマップ及び決定されたクリアランスの視覚的表示のための別個の画像ファイルを生成し得る。別個の画像ファイルは例えば、視覚的プレゼンテーションの別個の層上に表示されてもよい。他の実装形態では、クリアランス決定及び表示モジュール126又は表示ファイル生成モジュール268(
図2)がロードマップと、決定されたクリアランスの視覚的指示との両方を含む統合画像ファイルを生成し得る。
【0151】
1108において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126又は受信入力モジュール270(
図2)が入力を受信する。入力は様々な形態をとることができ、例えば、ロードマップにノード及び/又はエッジを追加し、ロードマップからノード及び/又はエッジを削除し、ロードマップ内のノード及び/又はエッジを移動させ、ロードマップからノード及び/又はエッジをコピー又は複製し、ならびに/あるいは1つ又は複数のパラメータ(例えば、移動速度、経路平滑化パラメータ)の値を設定、変更、又は調整するための命令又はコマンドである。クリアランス決定及び表示モジュール126又は受信入力モジュール270は1つ以上のユーザ入力/出力デバイス(例えば、タッチスクリーンディスプレイ128a)からの入力を受信し得る。
【0152】
1110において、プロセッサベースのシステム100の構成要素は、受信された入力に少なくとも部分的に基づいて、ロードマップの少なくとも一部分を調整する。たとえば、プロセッサベースのシステム100の構成要素は、1つ又は複数の移動の速度を調整し得る。いくつかの実装形態では、ロードマップ調整器259が決定されたクリアランスに少なくとも部分的に基づいてロボットのロードマップを調整する。そのようなことは、例えば、特定の定義された条件の発生に応答して自律的に起こり得る。そのようなことは、例えば、それ自体が決定されたクリアランスの少なくとも一部に基づき得る、受信されたユーザ又はオペレータ入力に応答して起こり得る。ロードマップ調整器259は、ロードマップがメモリ又は他のプロセッサ可読記憶装置内で表されるデータ構造の1つ又は複数の構成要素を調整し得る。
【0153】
次いで、方法1100は例えば、再び呼び出されるまで、1112で終了する。いくつかの実装形態では、方法1000がたとえば、ロボット又はその一部分に電力が供給されている間、継続的に、又はさらには周期的に動作し得る。
【0154】
図12は
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1200を示し、少なくとも1つの図示された実装形態による、1つ又は複数のロボットの移動又は動作の調整を可能にするユーザーインターフェースを提供する。方法1100はたとえば、方法500(
図5)、600(
図6)、700(
図7)、800(
図8)、及び1100(
図11)のいずれかの実行の一部として、たとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0155】
1202において、プロセッサベースのシステム100の構成要素は、例えばロードマップの調整を含む、1つ又は複数のロボットの移動又は動作の調整を可能にするユーザーインターフェースを提示させる。ユーザーインターフェースは、ツールバー、プルダウンメニュー、ポップアップメニュー、パレット、スクロールバー、ラジオボタン、塗りつぶし可能フィールド、ダイアログボックス、プロンプト、ユーザ選択可能アイコン、及び/又は他のユーザーインターフェース要素のうちの1つ又は複数を含み得る。ユーザーインターフェースは例えば、ユーザが1つ以上のパラメータのための値を設定することを可能にすることができ、例えば、1つ以上のエッジに関連する移動の速度、経路平滑化パラメータの値、及び/又はロードマップ内の1つ以上のエッジに割り当てられたコストメトリックのうちの1つ以上を制御し得る。ユーザーインターフェースは例えば、ユーザがロードマップ内の1つ又は複数のノード及び/又はエッジを調整し、1つ又は複数のノード及び/又はエッジをロードマップに追加し、ロードマップから1つ又は複数のノード及び/又はエッジを除去し、ロードマップから1つ又は複数のノード及び/又はエッジをコピー又は複製し、及び/又はロードマップ内の1つ又は複数のノード又はエッジを移動することを可能にし得る。ユーザーインターフェースはたとえば、ノード又はエッジを一意に識別する一意の識別子の使用を介して、又はユーザ入力/出力デバイスを介したノード又はエッジの選択を介して、修正、調整、又は削除のためのノード又はエッジの指定を可能にし得る。ユーザーインターフェースは例えば、プルダウンメニュー、ポップアップメニュー、ダイアログボックス、又はノード、エッジ、又はロードマップに関連付けられた塗りつぶし可能なフィールドを介して、ノード又はエッジ、又はロードマップのための1つ又は複数のパラメータの値の設定又は指定が設定されることを可能にし得る。
【0156】
図13は
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1300を示しており、少なくとも1つの図示された実装形態による、1つ又は複数のロボットの移動又は動作の調整を可能にするグラフィカルユーザーインターフェースを提供する。方法1300はたとえば、方法500(
図5)、600(
図6)、700(
図7)、800(
図8)、及び1100(
図11)のいずれかの実行の一部として、たとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0157】
1302において、プロセッサベースのシステム100の構成要素は、表示されたロードマップ内のノード及び/又はエッジがユーザ選択可能アイコンであるグラフィカルユーザーインターフェースを提示させる。グラフィカルユーザーインターフェースは、ツールバー、プルダウンメニュー、ポップアップメニュー、パレット、スクロールバー、ラジオボタン、塗りつぶし可能フィールド、ダイアログボックス、プロンプト、ユーザ選択可能アイコン、及び/又は他のユーザーインターフェース要素のうちの1つ又は複数を含み得る。特に、グラフィカルユーザーインターフェースはロードマップの構成要素であるいくつかのユーザ選択可能要素、例えば、ユーザ選択可能ノード及び/又はユーザ選択可能エッジを含み得る。ノード又はエッジの選択は例えば、変更、調整、コピー又は複製、又は削除のためにノード又はエッジを選択し得る。ノード又はエッジの選択は例えば、選択されたノード又はエッジに対してドラッグアンドドロップ操作が実行されることを可能にし得る。ノード又はエッジの選択は例えば、ポップアップメニュー又はダイアログボックスを提示させることができ、例えば、ノード、エッジ、又はロードマップに関連する1つ又は複数のパラメータの値の設定を可能にする。いくつかの実装形態では、エッジ又は経路又はその一部分の選択が決定されたクリアランスの指示をポップアップ値又は色又は視覚効果として提示させ得る。
【0158】
図14は
図1及び
図2のプロセッサベースのシステム100における動作の方法1400を示し、少なくとも1つの図示された実装形態による、それぞれのエッジ又は経路に関連する数値として、決定されたクリアランスの視覚的表示を提供する。方法1400は例えば、方法500(
図5)、600(
図6)、700(
図7)及び1100(
図11)のいずれかの実行の一部として、例えば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0159】
1402において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126(
図1)又は表示ファイル生成モジュール268(
図2)は1つ又は複数の数値(例えば、整数、実数)の形態で2つの構成間を移動する際にロボットが受ける最小クリアランスの視覚的表示を提供する。数値はクリアランスの量を表してもよく、例えば、規定された単位の組(例えば、インチ、ミリメートル、センチメートル)で指定されてもよい。数値は最小クリアランスが経験された2つの構成間の遷移を表すそれぞれのエッジ又は経路と空間的に関連付けられ得る(例えば、リード線(又は、引出線/lead line)に近接して、リード線を伴って、又は伴わずに)。例えば、数値はそれぞれのエッジ又は経路に近接して、又は隣接して、又はさらにはその上に、例えば、エッジ又は経路の始点又は終点において、及び/又は、エッジ又は経路の始点及び/又は終点の間のエッジ又は経路に沿った1つ又は複数の中間点において、提示されてもよい。したがって、各エッジ又は経路は、エッジ又は経路に対応する移動中に経験される最小クリアランスを表す単一の数値を有し得る。あるいは、各エッジ又は経路がエッジ又は経路に対応する動作又は移動の異なる部分においてロボットの異なる部分が経験する最小クリアランスを表す2つ以上の数値を有する可能性がある。
【0160】
図15は、少なくとも1つの図示された実装形態による、
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1500を示し、それぞれのエッジ又は経路に関連する色として、決定されたクリアランスの視覚的表示を提供する。方法1500は例えば、方法500(
図5)、600(
図6)、700(
図7)及び1100(
図11)のいずれかの実行の一部として、例えば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0161】
1502において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126(
図1)又は表示ファイル生成モジュール268(
図2)は、2つの構成間を移動する際にロボットが受ける最小クリアランスの視覚的表示を1つ又は複数の色として提供する。色はクリアランスの量(例えば、1.0ミリメートル未満は赤色、1.0センチメートル超は緑色)を表し得る。色は、最小クリアランスが経験された2つの構成間の遷移を表すそれぞれのエッジ又は経路に空間的に関連付けられ得る。例えば、それぞれのエッジ又は経路は、決定されたクリアランスに対応する色で表されてもよい。また、例えば、特定の色が決定されたクリアランスに対応する場合、それぞれのエッジ又は経路は、透明な色重ねでオーバーレイされてもよい。したがって、各エッジ又は経路は、エッジ又は経路に対応する移動中に経験される最小クリアランスを表す単一の色を有し得る。あるいは、各エッジ又は経路が2つ以上の色を有して、エッジ又は経路に対応する移動中にロボットの異なる部分が経験する最小クリアランス、又は対応する動作又は移動の異なる部分において経験する最小クリアランスを表してもよい。
【0162】
図16は、少なくとも1つの図示された実装形態による、
図1及び
図2のプロセッサベースのシステム100におけるオペレーションの方法1600を示し、それぞれのエッジ又は経路に関連付けられたヒートマップとして、決定されたクリアランスの視覚的表示を提供する。方法1600はたとえば、方法500(
図5)、600(
図6)、700(
図7)、800(
図8)、及び1100(
図11)のいずれかの実行の一部として、たとえば、プロセッサベースのシステム100(
図1)の1つ又は複数のプロセッサ222(
図2)によって実行され得る。
【0163】
1602において、プロセッサベースのシステム100の構成要素、例えば、クリアランス決定及び表示モジュール126(
図1)又は表示ファイル生成モジュール268(
図1)は、2つの構成間を移動する際にロボット付属物が受ける最小クリアランスの視覚的表示をヒートマップとして提供する。ヒートマップは色の濃淡を含む異なる色を含むことができ、色又は色の濃淡はそれぞれの決定されたクリアランスを表す(例えば、0.25ミリメートル未満は暗赤色、0.25ミリメートル超0.5ミリメートル未満は明赤色、0.5ミリメートル超1.0ミリメートル未満は暗緑色、1.0ミリメートル超5.0ミリメートル未満は明緑色)。ヒートマップは、最小クリアランスが経験された2つの構成間の遷移を表すそれぞれのエッジ又は経路に空間的に関連付けられ得る。例えば、それぞれのエッジ又は経路は、決定されたクリアランスに対応するヒートマップで表されてもよい。また、例えば、それぞれのエッジ又は経路は透明なヒートマップ重ねでオーバーレイされてもよく、ヒートマップの特定の色又は濃淡は決定されたクリアランスに対応する。したがって、各エッジ又は経路は、エッジ又は経路に対応する移動中に受ける最小クリアランスを表すそれぞれのヒートマップを有し得る
【0164】
各動作のためのヒートマップを提供することは、潜在的な問題を提示する(例えば、ロードマップのエッジによって表される)動作の部分に人間のユーザ又はオペレータの注意を引くのに役立つ。したがって、エッジをプレビューするとき、ユーザ又はオペレータはエッジのどの部分を見るべきかを知り、潜在的な問題をより迅速に識別する。例えば、1センチメートルのクリアランスが許容可能であるが、5ミリメートルのクリアランスが許容可能ではない場合、十分なクリアランス(すなわち、指定されたクリアランス又は公称クリアランス)のないエッジのそれらの部分をエッジの他の部分とは異なって色分けすることは、特にコンピュータディスプレイスクリーン上で、5ミリメートルの差を視覚的に検出することが例外的に困難であるので、潜在的な問題をより容易に明らかにする。指定されたクリアランス又は公称クリアランスがエッジの中央で違反された場合、それは、中間ノード又は中間地点でこれが回避可能である可能性があることをユーザ又はオペレータに即座に伝える。エッジの終点のみが指定された又は公称クリアランスに違反している場合、それは容認可能であり、不可避であると見なされ得る。
【0165】
図17は少なくとも1つの図示された実装形態による、決定されたクリアランスの表示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース1700を示す。
【0166】
ユーザーインターフェース1700はユーザ選択可能なアイコンのセット、例えば、いくつかのプルダウンメニュー、例えば、ノードプルダウンメニュー1702a、エッジプルダウンメニュー1702b、及びパラメータ設定プルダウンメニュー1702cを含むツールバー1702を含み得る。ノードプルダウンメニュー1702aは、ロードマップのノードが追加、削除、移動、コピー、又は他の方法で修正されることを可能にする。エッジプルダウンメニュー1702bは、ロードマップのエッジが追加、除去、移動、対処、又は他の方法で修正されることを可能にする。パラメータ設定プルダウンメニュー1702cは、ロードマップのパラメータが追加、削除、移動、又は他の方法で修正されることを可能にする。
【0167】
特に、移動の表現はいくつかのノード1706a、1706b(2つだけがコールアウト)及びエッジ1708a、1708b(2つだけがコールアウト)を有するロードマップ1704の形態であり、決定されたクリアランスの表示は、ロードマップ1704内のエッジ1708a、1708bによって表される遷移に対応する移動を実行する際にロボットの1つ又は複数の部分によって経験される最小クリアランスを表す単一の数値1710(1つのみが示される)の形態である。
【0168】
図18は少なくとも1つの図示された実装形態による、決定されたクリアランスの表示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース1800を示す。
【0169】
ユーザーインターフェース1800はユーザ選択可能なアイコンのセット、例えば、
図17のものと同様又は同一の、いくつかのプルダウンメニュー、例えば、ノードプルダウンメニュー1702a、エッジプルダウンメニュー1702b、及びパラメータ設定プルダウンメニュー1702cを含むツールバー1702を含み得る。
【0170】
特に、移動の表現はいくつかのノード1806a、1806b(2つだけがコールアウト(又は、2つだけに符号付与))及びエッジ1808a、1808b(2つだけがコールアウト)を有するロードマップ1804の形態であり、決定されたクリアランスの表示は、ロードマップ1804内のエッジによって表される遷移のセットに対応する移動を実行する際にロボットの部分によって経験されるそれぞれのクリアランスを表す複数の数値1810a、1810b、1810n(7つ示され、3つだけがコールアウト)の形態である。
【0171】
図19は少なくとも1つの図示された実装形態による、決定されたクリアランスの表示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース1900を示す。
【0172】
ユーザーインターフェース1900は
図17のものと同様又は同一の、いくつかのプルダウンメニュー、例えば、ノードプルダウンメニュー1702a、エッジプルダウンメニュー1702b、及びパラメータ設定プルダウンメニュー1702cを含む、ユーザ選択可能なアイコンのセット、例えば、ツールバー1702を含み得る。
【0173】
特に、移動の表現はいくつかのノード1906a、1906b(2つだけがコールアウト)及びエッジ1908a、1908b(2つだけがコールアウト)を有するロードマップ1904の形態であり、決定されたクリアランスの表示は、ロードマップ1904においてそれぞれのエッジ1908a、1908bによって表される遷移に対応する移動を実行する際にロボットの1つ又は複数の部分によって経験される最小クリアランスを表す、単一色1910a、1910b、1910c(クロスハッチングによって表される色、3つがコールアウト)の形態である。
【0174】
図20は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース2000を示す。
【0175】
ユーザーインターフェース2000は
図17のものと同様又は同一の、いくつかのプルダウンメニュー、例えば、ノードプルダウンメニュー1702a、エッジプルダウンメニュー1702b、及びパラメータ設定プルダウンメニュー1702cを含む、ユーザ選択可能アイコンのセット、例えば、ツールバー1702を含み得る。
【0176】
特に、移動の表現はいくつかのノード2006a、2006b(2つだけがコールアウト)及びエッジ2008a、2008b(2つだけがコールアウト)を有するロードマップ2004の形態であり、決定されたクリアランスの表示は、ロードマップ2004においてエッジ2008a、2008bによって表される遷移のセットに対応する移動を実行する際にロボットの1つ又は複数の部分が経験したそれぞれのクリアランスを表す1つ又は複数のヒートマップ2012(3つが示され、1つがコールアウト)を構成する複数の色2010a、2010b、2010c、2010d、2010e、2010f(クロスハッチングによって表される色の濃淡を含む色、6つがコールアウト)の形態である。
【0177】
図21は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース2100を示す。
【0178】
ユーザーインターフェース2100はユーザ選択可能なアイコンのセット、例えば、いくつかのプルダウンメニュー、例えば、パラメータ設定プルダウンメニュー2102aを含むツールバー2102を含み得る。
【0179】
特に、移動の表現は三次元動作環境2104の表現における1つ又は複数の経路2108(1つが示されている)の形態であり、決定されたクリアランスの表示は、三次元動作環境2104の表現における経路2108によって表される移動を実行する際にロボットが受ける最小のクリアランスを表す単一の数値2110の形態である。単一の数値2110は例えば、リード線の有無にかかわらず、それに近接又は隣接して、経路2108に空間的に関連付けられて提示される。三次元動作環境2104の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つが示されている)の表現を含み得る。
【0180】
図22は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース2200を示す。
【0181】
ユーザーインターフェース2200は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0182】
特に、移動の表現は三次元動作環境2204の表現における1つ又は複数の経路2208(1つが示される)の形態であり、決定されたクリアランスの表示は、三次元動作環境2204の表現における経路2208によって表される移動を実行する際にロボットが経験するそれぞれのクリアランスを表す複数の数値2210a、2210b、2210c、2210d、2210e(5つが示される)の形態である。数値2210a、2210b、2210c、2210d、2210eは経路2108のそれぞれの部分に空間的に関連付けられて提示され、例えば、リード線の有無にかかわらず、それに近接又は隣接して提示される。三次元動作環境2204の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つ示される)の表現を含み得る。
【0183】
また、
図22にはカーソル2214が示されており、これは1つ又は複数の入力/出力デバイス(例えば、タッチスクリーンディスプレイ128a)を介して、ユーザ選択可能なアイコン(例えば、経路2208又はその一部、パラメータ設定プルダウンメニュー2102a)を選択するように、ユーザ又はオペレータによって制御され得る。経路2208を選択することは、例えば、経路についての情報を提示するポップアップメニュー又はダイアログボックスの提示、及び/又は経路2208に関連する様々なパラメータの値の変更を可能にし得る。経路2208の一部を選択することは、例えば、経路2208の選択された部分に対応する動作の部分に対応するクリアランス値を提示させることができる。経路2208の選択は、経路2208の一部分の上にカーソル2214を配置して1回クリックすることによって行うことができる。経路2208の一部分の選択は経路2208の一部分の上にカーソル2214を配置してダブルクリックすることによって行うことができ、経路2208全体の選択との区別を可能にする。
【0184】
図23は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース2300の画像である。
【0185】
ユーザーインターフェース2300は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0186】
特に、移動の表現は三次元動作環境2304の表現における1つ又は複数の経路2308a、2308b(2つ示される)の形態であり、決定されたクリアランスの表示は三次元動作環境の表現における経路2308a、2308bのそれぞれのものによって表される移動を実行する際にロボットが受ける最小のクリアランスを表す単一の色(例えば、第一色2310a、第二色2310b、クロスハッチングによって示される色)の形態である。三次元動作環境2304の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つが示されている)の表現を含み得る。
【0187】
図24は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボット又はその一部の移動の表現の提示を示す、表示されたユーザーインターフェース2400を示す。
【0188】
ユーザーインターフェース2400は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0189】
特に、移動の表現は三次元動作環境2404の表現における1つ又は複数の経路2408(1つが示される)の形態であり、決定されたクリアランスの表示は、三次元動作環境2404の表現における経路2408によって表される移動を実行する際にロボットが受けるそれぞれのクリアランスを表すヒートマップ2412を構成する複数の色2410a、2410b、2410c、2410d(クロスハッチングによって表される色の濃淡を含む色、4つが示される)の形態である。三次元動作環境2404の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つが示されている)の表現を含み得る。
【0190】
図25は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボットの2つ以上の部分の移動の表現の提示を示す、表示されたユーザーインターフェース2500を示す。
【0191】
ユーザーインターフェース2500は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0192】
特に、移動の表現は三次元動作環境2504の表現におけるロボット付属物2516のそれぞれの部分2516a、2516b、2516c(3つがコールアウト)の2つ以上の経路2508a、2508b、2508c(3つ示される)の形態であり、決定されたクリアランスの表示は、三次元動作環境2504の表現における経路2508a、2508b、2508cによって表される移動を実行する際にロボットの2つ以上の部分の各々が受ける最小のクリアランスを表す単一の数値2510a、2510b、2510b、2510c(3つが示され、各経路2508a、2508b、2508cについて1つずつ示される)の形態である。値2510a、2510b、2510cは経路2508a、2508b、2508cのそれぞれのものに空間的に関連付けられてもよく、例えば、リード線の有無にかかわらず、それに近接又は隣接してもよい。三次元動作環境2504の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つ示される)の表現を含み得る。
【0193】
図26は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボットの2つ以上の部分の移動の表現の提示を示す、表示されたユーザーインターフェース2600を示す。
【0194】
ユーザーインターフェース2600は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0195】
特に、移動の表現は、三次元動作環境2604の表現におけるロボット付属物2616のそれぞれの部分2616a、2616b、2616c(3つがコールアウト)の2つ以上の経路2608a、2608b、2608c(3つが示される)の形態である。決定されたクリアランスの表示は経路2608a、2608b、2608cの各々についての複数の数値2610a、2610b、2610c、2610d(各経路について4つ、図を見やすくするために経路の1つ2608cについて4つのセット1つをコールアウト)の形態であり、数値2610a、2610b、2610c、2610dは、三次元動作環境2604の表示において経路2608a、2608b、2608cによって表される移動を実行する際にロボットの2つ以上の部分の各々が受けるそれぞれのクリアランスを表す。値2610a、2610b、2610c、2610dは経路2608cのそれぞれのものに空間的に関連付けられてもよく、例えば、リード線の有無にかかわらず、それに近接又は隣接してもよい。三次元動作環境2604の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つが示されている)の表現を含み得る。
【0196】
図27は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボットの2つ以上の部分の移動の表現の提示を示す、表示されたユーザーインターフェース2700を示す。
【0197】
ユーザーインターフェース2700は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0198】
特に、移動の表現は三次元動作環境2704の表現におけるロボット付属物2716のそれぞれの部分2716a、2716c(2つがコールアウト)の2つ以上の経路2708a、2708b(2つが示される)の形態であり、決定されたクリアランスの表示は各経路2708a、2708bの単一の色2710a、2710bの形態であり、単一の色は、三次元動作環境2704の表現における経路2708a、2708bによって表される移動を実行する際にロボット2716の2つ以上の部分2716a、2716cの各々によって経験される最小のクリアランスを表す。三次元動作環境2704の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つが示されている)の表現を含み得る。
【0199】
図28は少なくとも1つの図示された実装形態による、決定されたクリアランスの指示とともに、ロボットの2つ以上の部分の移動の表現の提示を示す、表示されたユーザーインターフェース2800を示す。
【0200】
ユーザーインターフェース2800は、一組のユーザ選択可能なアイコン、例えば
図21のものと類似又は同一の、例えば多数のプルダウンメニュー、例えばパラメータ設定プルダウンメニューを含むツールバー2102を含み得る。
【0201】
特に、移動の表現は三次元動作環境2804の表現におけるロボット付属物2816のそれぞれの部分2816a、2816c(2つがコールアウト)の2つ以上の経路2808a、2808b(2つが示される)の形態であり、決定されたクリアランスの表示は、三次元動作環境2804の表現における経路2808a、2808bによって表される移動を実行する際にロボット2816の2つ以上の部分2816a、2816cの各々が受けるそれぞれのクリアランスを表す1つ以上のヒートマップ2812(2つが示され、1つがコールアウト)を構成する複数の色2810a、2810b、2810c、2810c、2810d(クロスハッチングによって表される色の濃淡を含む色、1つの経路2808aに対して4つがコールアウト)の形態である。三次元動作環境2804の表現は、動作環境に存在する1つ又は複数のオブジェクト2112a、2112b(2つ示される)の表現を含み得る。
【0202】
上記の詳細説明においては、ブロック図、模式図及び実施例を用いて、多様な装置及び/又は方法の実施形態について記載している。これらのブロックダイヤグラム、概略図及び実施例は1つ又は2つ以上の機能及び/又は動作を含んでいるが、当業者には明らかなように、これらのブロックダイヤグラム、流れ図及び実施例におけるそれぞれの機能及び/又は動作は個々に及び/又は一括して、多様なハードウェア、ソフトウェア、ファームウェア、又は事実上任意のこれらの組み合わせによって実装し得る。一実施形態では、本主題がブール回路、特定用途向け集積回路(ASIC)及び/又はFPGAを介して実装され得る。しかしながら、本明細書に開示される実施形態は全体的に又は部分的に、標準的な集積回路における様々な異なる実装形態において、1つ又は複数のコンピュータ上で実行される1つ又は複数のコンピュータプログラムとして(例えば、1つ又は複数のコンピュータシステム上で実行される1つ又は複数のプログラムとして)、1つ又は複数のプロセッサ(例えば、マイクロプロセッサ)上で実行される1つ又は複数のプログラムとして、ファームウェアとして、又はそれらの実質的に任意の組合せとして、実装されることができ、ソフトウェア及び/又はファームウェアのための回路及び/又はコードを設計することは、本開示に照らして、十分に当業者の技術の範囲内であることを認識されたい。
【0203】
当業者は本明細書に記載された方法又はアルゴリズムの多くが、追加の行為を採用してもよく、いくつかの行為を省略してもよく、及び/又は指定されたものとは異なる順序で行為を実行してもよいことを認識するであろう。
【0204】
上記の種々の実施形態は、更なる実施形態を提供するように組み合わされることが可能である。本願明細書に記載されている、及び/又は記載されている、譲渡された米国特許出願、米国特許出願、外国特許出願のすべて 2017年6月9日に出願された「自律走行車及び再構成可能なモーションプランプロセッサのためのモーションプラン」と題された国際特許出願第PCT/US2017/036880号、2016年1月5日に出願された「特殊ロボットモーションプランハードウェア及びその製造及び使用方法」と題された国際特許出願第WO 2016/12840号、2018年1月12日に出願された「動的物体を有する環境における自律走行車のモーションプランを容易にするための装置、方法及び物品」と題された米国特許出願第62/616,783号、米国特許出願第 2018年2月6日に出願された米国特許出願第62/856,548号(2019年6月3日出願)2019年6月24日に出願された「複数のロボットを共有するためのモーションプラニング」と題された米国特許出願第62/865,431号、2020年6月23日に出願された「複数のロボットを共有するためのモーションプラニング」と題された国際特許出願第PCT/US2020/039193号、2020年10月26日に出願された「ロボットの動作に使用される安全システム及び方法」と題された米国特許出願第63/105,542号、及び/又は12月2日に出願された米国特許出願第63/120,412号「SYSTEMS, METHODS, and USER INTERFACES PLOYING CLEARANCE DETERMINATIONS in robot planning and CONTROL」と題された、本明細書に記載されるように適切に改変された、その全体が参照により本明細書に組み込まれる。上記の詳細説明に照らして、上記の及び他の変形がそれらの実施形態に対して行われることが可能である。
【0205】
一般に、以下の特許請求の範囲において、使用される用語は特許請求の範囲を、本明細書及び特許請求の範囲に開示される特定の実施形態に限定するように解釈されるべきではなく、そのような特許請求の範囲が権利を与えられる等価物の全範囲とともに、すべての可能な実施形態を含むように解釈されるべきである。したがって、特許請求の範囲は、本開示によって限定されない。
下記は、本願の出願当初に記載の発明である。
<請求項1>
モーションプラニングの方法であって、
ロボットの少なくとも1つの移動について、前記ロボットの少なくとも1つ以上の部分の各々について、前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
複数のノード及び複数のエッジを有するグラフの形態で前記ロボットの移動のためのロードマップを提示させるステップであって、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは前記ロボットの構成空間(C空間)内の前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記ロボットの前記部分の少なくとも1つ以上について、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップと、を含む方法。
<請求項2>
前記ロボットが少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップが、前記ロードマップの前記提示において前記ロボット付属物の前記リンク、前記ジョイント、及びアームツールの端部の全てについての前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項1に記載の方法。
<請求項3>
前記ロボットが少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップが、前記ロードマップの前記提示において前記ロボット付属物の全体に対する前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項1に記載の方法。
<請求項4>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれのエッジによって接続されたノードのそれぞれの対として表される2つの構成間を移動する際に前記ロボットの任意の部分によって経験される最小クリアランスの視覚的表示を提供するステップを含む、請求項1~3のいずれか一項に記載の方法。
<請求項5>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的な表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提供するステップを含む、請求項1~3のいずれか一項に記載の方法。
<請求項6>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提供するステップを含み、前記単一の数値は、前記エッジのそれぞれの1つによって表される前記移動のための、に前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項1に記載の方法。
<請求項7>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記エッジに空間的に関連付けられた複数の数値として提供するステップを含み、前記複数の数値は、前記エッジによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項1に記載の方法。
<請求項8>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提供するステップを含み、各色はクリアランスの量を表す、請求項1~3又は6~7のいずれか一項に記載の方法。
<請求項9>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の色として提供するステップを含み、前記単一の色は、前記それぞれのエッジによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項1に記載の方法。
<請求項10>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提供するステップを含み、前記複数の色は、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離を表す、請求項1に記載の方法。
<請求項11>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップは、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提供するステップを含み、前記ヒートマップは、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーおズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離を表す、請求項1に記載の方法。
<請求項12>
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップが、前記ロボットの前記部分と前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定するステップを含む、請求項1~3、6~7、又は9~11のいずれか一項に記載の方法。
<請求項13>
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1~12のいずれかに記載の方法を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体と、を含む、システム。
<請求項14>
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ロボットの少なくとも1つの移動に対し、前記ロボットの少なくとも1つ以上の部分の各々について、前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
複数のノード及び複数のエッジを有するグラフの形態で前記ロボットの移動のためのロードマップを提示させるステップであって、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは前記ロボットの構成空間(C空間)内の前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記ロボットの前記部分の少なくとも1つ以上について、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップと、
を行わせるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を含む、システム。
<請求項15>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部の全てについて、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項14に記載のシステム。
<請求項16>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の全体について前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項14に記載のシステム。
<請求項17>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、それぞれのエッジによって接続されたノードのそれぞれの対として表される2つの構成間を移動する際に前記ロボットの任意の部分によって経験される最小クリアランスの視覚的表示を提示させる、請求項14~16のいずれか一項に記載のシステム。
<請求項18>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提示させる、請求項14~16のいずれか一項に記載のシステム。
<請求項19>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提示させ、前記単一の数値は、前記エッジのそれぞれの1つによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項14に記載のシステム。
<請求項20>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記エッジに空間的に関連付けられた複数の数値として提示させ、前記複数の数値は、前記エッジによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項14に記載のシステム。
<請求項21>
前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提示させ、各色はクリアランスの量を表す、請求項14~16又は19~20のいずれか一項に記載のシステム。
<請求項22>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の色として提示させ、前記単一の色は、前記それぞれのエッジによって表される前記移動のための、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項14に記載のシステム。
<請求項23>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提示させ、前記複数の色は、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離を表す、請求項14に記載のシステム。
<請求項24>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロードマップの前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提示させ、前記ヒートマップは、前記エッジの前記それぞれの1つによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際に前記ロボット付属物がとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項14に記載のシステム。
<請求項25>
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するために、前記少なくとも1つのプロセッサが、前記ロボットの前記部分と、前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定する、請求項14~16、19~20、又は22~24のいずれか一項に記載のシステム。
<請求項26>
動作環境において動作するロボットのためのモーションプラニングの方法であって、前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を有し、前記動作環境は1つ又は複数の物体を含み、前記方法は、
前記ロボットの少なくとも1つの移動について、前記ロボット付属物の前記少なくとも2つのリンク、少なくとも1つのジョイント及び前記アームツールの端部のそれぞれについて、その2つ以上の部分と前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップと、
三次元空間(3D空間)表現又はロードマップ表現のうちの少なくとも1つにおいて前記ロボットの前記少なくとも1つの移動を提示させるステップであって、前記3D空間表現は前記動作環境における前記ロボットの動作を表す1つ又は複数の経路の形態をとり、前記ロードマップ表現は複数のノード及び複数のエッジを有するグラフの形態をとり、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは前記ロボットの構成空間(C空間)における前記ロボットのそれぞれの構成を表し、前記エッジはそれぞれのエッジによって結合されたノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記3D空間表現又はロードマップ表現における前記ロボット付属物の2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記決定されたクリアランスの量の視覚的表示は、前記3D空間表現における前記ロボット付属物の1つ又は複数の経路に空間的に関連し、又は前記ロボット付属物の遷移のそれぞれのものを表す前記エッジの1つ又は複数に空間的に関連する、該ステップと、を含む、方法。
<請求項27>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールのすべてについての前記3D空間表現又は前記ロードマップ表現の前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項26に記載の方法。
<請求項28>
前記ロボットは少なくとも1つのケーブルをさらに含み、前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記ロボット付属物の全体についての前記3D空間表現又は前記ロードマップ表現の前記提示において前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項26に記載の方法。
<請求項29>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現内のそれぞれの経路に沿って移動するか、又は前記ロードマップ表現内のそれぞれのエッジによって接続されたそれぞれのノードの対として表される2つの構成間を移動する際に、前記ロボットの任意の部分によって経験される最小クリアランスの視覚的表示を提供するステップを含む、請求項26~28のいずれか一項に記載の方法。
<請求項30>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれの経路に沿って移動する際に又は2つの構成間を移動する際に前記ロボットの少なくとも2つの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提供するステップを含む、請求項26~28のいずれか一項に記載の方法。
<請求項31>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれの経路に沿って移動する際に又は2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提供するステップを含み、前記単一の数値は、前記それぞれの経路又は前記エッジのそれぞれの1つによって表される前記移動のための前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについて前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項26~28のいずれか一項に記載の方法。
<請求項32>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれの経路に沿って移動する際に又は2つの構成間で移動する際に前記ロボット付属物のいずれかの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の数値として提供するステップを含み、前記複数の数値は、前記ロボット付属物が前記経路のそれぞれの1つに沿って移動する際に、又は前記それぞれのエッジによって接続された前記ノードの対のノードによって表される前記構成間を遷移する際にとる、前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項26~28のいずれかに記載の方法。
<請求項33>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現におけるそれぞれの経路に沿って移動する際か、又は前記ロードマップ表現における2つの構成間を移動する際に前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提供するステップを含み、各色はクリアランスの量を表す、請求項26~28のいずれか一項に記載の方法。
<請求項34>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の前記視覚的表示を提示させるステップは、前記経路のそれぞれの1つに沿って移動する際か、又は2つの構成間を移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた単一色として提供すること、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一色として提供するステップを含み、前記単一色は、前記それぞれの経路又は前記それぞれのエッジによって表される前記移動に対する前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項26~28のいずれか一項に記載の方法。
<請求項35>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるステップは、それぞれの経路に沿って又は2つの構成間で移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提供するステップを含み、前記複数の色は、前記ロボット付属物が前記経路のそれぞれの1つに沿って移動する際に、又は前記エッジのそれぞれの1つによって接続された前記ノードの対の前記ノードによって表される前記構成間で遷移する際にとられる、前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項26~28のいずれかに記載の方法。
<請求項36>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の前記視覚的表示を提示させるステップは、それぞれの経路に沿って又は2つの構成間で移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提供するステップを含み、前記ヒートマップは、前記経路のそれぞれの1つに沿って移動する際に又は前記エッジのそれぞれの1つによって接続された前記ノードの対の前記ノードによって表される前記構成間で遷移する際にとられる、前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項26~28のいずれか一項に記載の方法。
<請求項37>
前記ロボットの2つ以上の部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップは、前記ロボットの2つ以上の部分と前記動作環境内で動作する別のロボットの少なくとも1つの部分との間のそれぞれのクリアランスの量を決定するステップを含む、請求項26~28のいずれか一項に記載の方法。
<請求項38>
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項26~37のいずれか一項に記載の方法を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体と、を含む、システム。
<請求項39>
少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を有するロボットのモーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記ロボットの少なくとも1つの移動について、前記ロボット付属物の前記少なくとも2つのリンク、前記少なくとも1つのジョイント、及び前記アームツールの端部のそれぞれについて、その2つ以上の部分と前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランスの量を決定させるステップと、
三次元空間(3D空間)表現又はロードマップ表現のうちの少なくとも1つにおいて前記ロボットの前記少なくとも1つの移動を提示させるステップであって、前記3D空間表現は前記動作環境における前記ロボットの動作を表す1つ又は複数の経路の形態をとり、前記ロードマップ表現は複数のノード及び複数のエッジを有するグラフの形態をとり、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは前記ロボットの構成空間(C空間)における前記ロボットのそれぞれの構成を表し、前記エッジは、前記それぞれのエッジによって結合された前記ノードの対のノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表す、該ステップと、
前記3D空間表現又はロードマップ表現における前記ロボット付属物の前記2つ以上の部分に対する前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記決定されたクリアランスの量の前記視覚的表示は、前記3D空間表現における前記ロボット付属物の1つ又は複数の経路に空間的に関連付けられた、又は前記ロボット付属物の前記遷移のそれぞれのものを表す前記エッジの1つ又は複数に空間的に関連付けられた、該ステップと、をを実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を備えるシステム。
<請求項40>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記3D空間表現又は前記ロードマップ表現の前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項39に記載のシステム。
<請求項41>
前記ロボットは少なくとも1つのケーブルをさらに含み、前記3D空間表現又は前記ロードマップ表現の前記提示において、前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の全体についての前記3D空間表現又は前記ロードマップ表現の前記提示において前記決定されたクリアランスの量の視覚的表示を提示させる、請求項39に記載のシステム。
<請求項42>
前記3D空間表現又は前記ロードマップ表現の前記提示において、前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記3D空間表現内のそれぞれの経路に沿って移動するか、又は前記ロードマップ表現内のそれぞれのエッジによって接続されたそれぞれのノードの対として表される2つの構成間を移動する際に、前記ロボットの任意の部分が経験する最小クリアランスの視覚的表示を提示させる、請求項39~41のいずれか一項に記載のシステム。
<請求項43>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボットの2つ以上の部分がそれぞれの経路に沿って移動するか、又は2つの構成間を移動する際に経験する最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた少なくとも1つの数値として提示させる、請求項39~41のいずれか一項に記載のシステム。
<請求項44>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の任意の部分がそれぞれの経路に沿って移動するか、又は2つの構成間を移動する際に経験する最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の数値として提示させ、前記単一の数値は、前記それぞれの経路又は前記エッジのそれぞれの1つによって表される前記移動のための前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてに対する前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項39~41のいずれか一項に記載のシステム。
<請求項45>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能な命令は、前記少なくとも1つのプロセッサに、前記ロボット付属物の任意の部分がそれぞれの経路に沿って移動するか、又は2つの構成間を移動する際に経験する最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の数値として提示させ、前記複数の数値は、前記ロボット付属物が前記経路のそれぞれの1つに沿って移動する際に、又は前記それぞれのエッジによって接続された前記ノードの対のノードによって表される前記構成間の遷移の際にとる、前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてに対する前記決定された最小距離を表す、請求項39~41のいずれかに記載のシステム。
<請求項46>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記3D空間表現内のそれぞれの経路に沿って移動するか、又は前記ロードマップ表現内の2つの構成間を移動する際に、前記ロボットの少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記移動を表す前記経路のそれぞれの1つに空間的に関連図けられた、又は前記ロードマップ表現内の前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた1つ又は複数の色として提示させ、各色はクリアランスの量を表す、請求項39~41のいずれか一項に記載のシステム。
<請求項47>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記経路のそれぞれの1つに沿って移動するか、又は2つの構成の間を移動する際に、前記ロボット付属物のいずれかの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成間の遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた単一の色として提示させ、、前記単一の色は前記経路又は前記エッジによって表される前記移動についての前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてのための前記決定された最小距離のすべてうちの最も小さい最小距離を表す、請求項39~41のいずれか一項に記載のシステム。
<請求項48>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、それぞれの経路に沿って移動するか、又は2つの構成間で移動する際に前記ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連した、又は前記ロードマップ表現における前記2つの構成間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられた複数の色として提示させ、、前記複数の色は、前記ロボット付属物が、前記経路の前記それぞれの1つに沿って移動するか、前記エッジの前記それぞれの1つによって接続される前記ノードの対のノードによって表される前記構成間で遷移する際にとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項39~41のいずれか一項に記載のシステム。
<請求項49>
前記3D空間表現又は前記ロードマップ表現の前記提示において前記ロボット付属物の前記2つ以上の部分についての前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、それぞれの1つの経路に沿って移動するか、又は2つの構成間を移動する際に、前記ロボット付属物の任意の部分にによって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記移動を表す前記経路のそれぞれの1つに空間的に関連付けられた、又は前記ロードマップ表現における前記2つの構成の間の前記遷移を表す前記エッジのそれぞれの1つに空間的に関連付けられたヒートマップとして提示させ、前記ヒートマップは、、前記ロボット付属物が前記経路の前記それぞれの1つに沿って移動する際に、又は前記エッジの前記それぞれの1つによって接続される前記ノードの対のノードによって表される前記構成間で遷移する際にとる前記ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項39~41のいずれか一項に記載のシステム。
<請求項50>
前記ロボットの2つ以上の部分と動作環境内の1つ以上の物体との間のそれぞれのクリアランスの量を決定するために、前記少なくとも1つのプロセッサは、前記ロボットの2つ以上の部分と、前記動作環境内で動作する別のロボットの少なくとも1つの部分との間のそれぞれのクリアランスの量を決定する、請求項39~41のいずれか一項に記載のシステム。
<請求項51>
動作環境において動作する第一ロボット及び第二ロボットのためのモーションプラニングの方法であって、前記第一ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第一ロボット付属物を有し、前記第二ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第二ロボット付属物を有し、
前記第一ロボット付属物又は前記第二ロボット付属物のうちの少なくとも1つの少なくとも1つの移動に対し、前記第一ロボット付属物の少なくとも一部分と、前記第二ロボットを含む前記動作環境内の少なくとも1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
三次元空間(3D空間)表現における前記第一又は前記第二ロボット付属物の前記少なくとも1つの移動を提示させるステップと、
前記3D空間表現における前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記第一ロボット付属物に対する前記決定されたクリアランスの量の前記視覚的表示は、前記3D空間表現における前記第一ロボットの前記第一ロボット付属物のそれぞれの経路に空間的に関連付けられ、前記それぞれの経路のいずれの視覚的表現とも視覚的に区別可能である、該ステップと、を含む、方法。
<請求項52>
前記第一ロボット付属物又は前記第二ロボット付属物のうちの少なくとも1つの少なくとも1つの移動に対し、前記第二ロボット付属物の少なくとも一部分と、前記第一ロボットを含む前記動作環境内の少なくとも1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
前記3D空間表現における前記第二ロボットの前記第二ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記第二ロボット付属物のための前記決定されたクリアランスの量の前記視覚的表示は、前記3D空間表現における前記第一ロボットの前記第二ロボット付属物のそれぞれの経路に空間的に関連付けられる、該ステップと、をさらに含む請求項51に記載の方法。
<請求項53>
前記3D空間表現における前記第二ロボットの前記第二ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の前記視覚的表示の前記提示が持続する間に行われる、請求項52に記載の方法。
<請求項54>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部の全てについての前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項51~53のいずれか一項に記載の方法。
<請求項55>
前記第一ロボット付属物は少なくとも1つのケーブルをさらに含み、前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記第一ロボット付属物の全体に対する前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップを含む、請求項51に記載の方法。
<請求項56>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を提供するステップを含む、請求項51~53のいずれか一項に記載の方法。
<請求項57>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の少なくとも一部によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記経路に空間的に関連付けられる少なくとも1つの数値として提供するステップを含む、請求項51~53のいずれか一項に記載の方法。
<請求項58>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現と空間的に関連付けられた単一の数値として提供するステップを含み、前記単一の数値は、前記それぞれの経路によって表される前記移動のための前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてに対する前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項51~53のいずれか一項に記載の方法。
<請求項59>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた複数の数値として提供するステップを含み、前記複数の数値は、前記3D空間表現において表される前記経路に沿って移動する際に前記第一ロボット付属物がとる前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項51~53のいずれか一項に記載の方法。
<請求項60>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の少なくとも一部によって経験される最小クリアランスの視覚的表示を、前記3D空間表現において表される前記経路に空間的に関連付けられる1つ又は複数の色として提供するステップを含み、各色はクリアランスの量を表す、請求項51~53のいずれか一項に記載の方法。
<請求項61>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現における経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現における前記経路に空間的に関連付けられた単一色として提供するステップを含み、前記単一色は前記3D空間表現における前記経路によって表される前記移動のための、前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項51~53のいずれか一項に記載の方法。
<請求項62>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現における経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現の前記経路に空間的に関連付けられた複数の色として提供するステップを含み、前記複数の色は、前記3D空間表現内の前記経路に沿って移動する際に前記第一ロボット付属物がとる前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項51~53のいずれか一項に記載の方法。
<請求項63>
前記3D空間表現の前記提示において前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるステップは、前記3D空間表現において表された経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられたヒートマップとして提供するステップを含み、前記ヒートマップは、前記3D空間表現内で表された前記経路に沿って移動する際に前記第一ロボット付属物がとる前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項51~53のいずれか一項に記載の方法。
<請求項64>
動作環境において動作する第一ロボット及び第二ロボットのためのモーションプラニングにおいて使用するためのシステムであって、前記第一ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第一ロボット付属物を有し、前記第二ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第二ロボット付属物を有し、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項52~63のいずれか一項に記載の方法を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体と、を備える、システム。
<請求項65>
動作環境において動作する第一ロボット及び第二ロボットのためのモーションプラニングにおいて使用するためのシステムであって、前記第一ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第一ロボット付属物を有し、前記第二ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備える第二ロボット付属物を有し、前記システムは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
前記第一ロボット付属物又は前記第二ロボット付属物のうちの少なくとも1つの少なくとも1つの移動のために、前記第一ロボット付属物の少なくとも一部分と、前記第二ロボットを含む前記動作環境内の少なくとも1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップと、
三次元空間(3D空間)表現における前記第一ロボット付属物又は前記第二ロボット付属物の前記少なくとも1つの移動を提示させるステップと、
前記3D空間表現における前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記第一ロボット付属物のための前記決定されたクリアランスの量の前記視覚的表示は、前記3D空間表現における前記第一ロボットの前記第一ロボット付属物のそれぞれの経路に空間的に関連付けられ、前記それぞれの経路のいずれの視覚的表現とも視覚的に区別可能である、該ステップと、を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を備える、システム。
<請求項66>
前記プロセッサ実行可能命令は少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサにさらに、
前記第一ロボット付属物又は前記第二ロボット付属物のうちの少なくとも1つの少なくとも1つの移動について、前記第二ロボット付属物の少なくとも一部分と、前記第一ロボットを含む前記動作環境内の少なくとも1つ又は複数の物体との間のそれぞれのクリアランスの量を決定させるステップと、
3D空間表現における前記第二ロボットの前記第二ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるステップであって、前記第二ロボット付属物のための前記決定されたクリアランスの量の前記視覚的表示は、前記3D空間表現における前記第一ロボットの前記第二ロボット付属物のそれぞれの経路に空間的に関連付けられた、該ステップと、を実行させる、請求項65に記載のシステム。
<請求項67>
前記プロセッサ実行可能命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、前記3D空間表現における前記第二ロボットの前記第二ロボット付属物の前記決定されたクリアランスの量の視覚的表示を、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の前記視覚的表示の前記提示が持続する間に提示させる、請求項66に記載のシステム。
<請求項68>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を、前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてのための前記3D空間表現の前記提示において提示させる、請求項65~67のいずれか一項に記載のシステム。
<請求項69>
前記第一ロボット付属物は少なくとも1つのケーブルをさらに含み、前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させ、前記プロセッサ実行可能命令は、前記少なくとも1つのプロセッサに、前記第一ロボット付属物の全体に対する前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させる、請求項65に記載のシステム。
<請求項70>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を提示させる、請求項65~67のいずれか一項に記載のシステム。
<請求項71>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内で表される経路に沿って移動する際に前記第一ロボット付属物の少なくとも1つの部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた少なくとも1つの数値として提示させる、請求項65~67のいずれか一項に記載のシステム。
<請求項72>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内で表された経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた単一の数値として提示させ、前記単一の数値は、前記それぞれの経路によって表される前記移動のための前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてのための前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項73>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内で表された経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた複数の数値として提示させ、前記複数の数値は、前記3D空間表現内で表された前記経路に沿って移動する際に前記第一ロボット付属物がとる前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてに対する前記決定された最小距離を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項74>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現において表される経路に沿って移動する際に前記第一ロボット付属物の少なくとも一部によって経験される最小クリアランスの視覚的表示を、前記3D空間表現において表される前記経路に空間的に関連付けられた1つ又は複数の色として提示させ、各色は、クリアランスの量を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項75>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物のための前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内の経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた単一色として提示させ、前記単一色は、前記3D空間表現内の前記経路によって表される前記移動に対する前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離のすべての中で最も小さい最小距離を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項76>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内の経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられた複数の色として提示させ、前記複数の色は、前記3D空間表現内の前記経路に沿って移動する際に前記第一ロボット付属物がとる、前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項77>
前記3D空間表現の前記提示において、前記第一ロボットの前記第一ロボット付属物の前記決定されたクリアランスの量の視覚的表示を提示させるために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記3D空間表現内で表された経路に沿って移動する際に前記第一ロボット付属物の任意の部分によって経験される最小クリアランスの視覚的表示を、前記3D空間表現内の前記経路に空間的に関連付けられたヒートマップとして提示させ、前記ヒートマップは、前記3D空間表現内で表される前記経路に沿って移動する際に前記第一ロボット付属物がとる、前記第一ロボット付属物の3つ以上のポーズのそれぞれのものにおける前記第一ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてについての前記決定された最小距離を表す、請求項65~67のいずれか一項に記載のシステム。
<請求項78>
複数のノード及びエッジを含むロードマップを使用するモーションプラニングの方法であって、各々のエッジが前記ノードのそれぞれの対を結合し、前記ノードが前記ロボットの構成空間(C空間)内のロボットのそれぞれの構成を表し、前記エッジが前記それぞれのエッジによって結合された前記ノードによって表される前記構成間の利用可能な遷移を表し、
前記ロボットの少なくとも1つの部分について、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップであって、前記それぞれのクリアランスの量は、前記ロボットがシミュレーション又は物理的動作において少なくとも1つの移動を実行するときの、前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間のクリアランスの量を表す、該ステップと、
前記ロードマップの少なくとも1つのエッジであって、前記少なくとも1つのエッジは、シミュレーション又は物理的動作における前記ロボットの前記少なくとも1つの移動のそれぞれの1つを表す該少なくとも1つのエッジについて、前記それぞれの少なくとも1つの移動のために、前記ロボットの前記部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられたコストメトリックを設定するステップと、
前記ロードマップの少なくとも一部を使用してモーションプラニングを実行するステップと、を含む、方法。
<請求項79>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロボットの前記少なくとも1つの部分と動作環境における1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップは、前記それぞれの少なくとも1つの移動のために、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてと、前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップを含む、請求項78に記載の方法。
<請求項80>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロボットの前記少なくとも1つの部分と動作環境における1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップが、前記それぞれの少なくとも1つの移動のために、前記ロボット付属物の前記リンク、前記少なくとも1つのジョイント、前記少なくとも1つのケーブル、前記アームツールの端部のすべてと、前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップを含む、請求項78に記載の方法。
<請求項81>
前記少なくとも1つの移動のために、前記ロボットの前記部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられたコストメトリックを設定するステップは、前記それぞれのエッジによって表される経路に沿って移動する際に前記ロボットの任意の部分によって経験される最小クリアランスに少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられた前記コストメトリックを設定するステップを含む、請求項78に記載の方法。
<請求項82>
前記ロボットが、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記少なくとも1つの移動のために、前記ロボットの前記部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられたコストメトリックを設定するステップが、前記それぞれのエッジによって表される前記移動のために、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべての前記決定された最小距離のすべての中で最も小さい最小距離を表す単一の数値に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられた前記コストメトリックを設定するステップを含む、請求項78に記載の方法。
<請求項83>
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランス量を決定するステップは、前記ロボットの前記部分と、前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定するステップを含む、請求項78に記載の方法。
<請求項84>
複数のノード及びエッジを含むロードマップを使用するモーションプラニングのためのシステムであって、各々のエッジが前記ノードのそれぞれの対を結合し、前記ノードが前記ロボットの構成空間(C空間)内のロボットのそれぞれの構成を表し、前記エッジが前記それぞれのエッジによって結合された前記ノードによって表される前記構成間の利用可能な遷移を表し、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項78~83のいずれか一項に記載の方法を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体と、を備える、システム。
<請求項85>
複数のノード及びエッジを含むロードマップを使用するモーションプラニングのためのシステムであって、各々のエッジが前記ノードのそれぞれの対を結合し、前記ノードが前記ロボットの構成空間(C空間)内のロボットのそれぞれの構成を表し、前記エッジが前記それぞれのエッジによって結合された前記ノードによって表される前記構成間の利用可能な遷移を表し、前記システムは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに
前記ロボットの少なくとも1つの部分について、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップであって、前記それぞれのクリアランスの量は前記ロボットがシミュレーション又は物理的動作において少なくとも1つの移動を実行するときの、前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間のクリアランスの量を表す、該ステップと、
前記ロードマップの少なくとも1つのエッジであって、前記少なくとも1つのエッジはシミュレーション又は物理的動作における前記ロボットの前記少なくとも1つの移動のそれぞれの1つを表す該エッジについて、前記それぞれの少なくとも1つの移動について、前記ロボットの前記部分と前記動作環境における前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられたコストメトリックを設定するステップと、
前記ロードマップの少なくとも一部を使用してモーションプラニングを実行するステップと、をさせるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を備える、システム。
<請求項86>
前記ロボットが、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するために、前記プロセッサ実行可能命令が前記少なくとも1つのプロセッサに、前記それぞれの少なくとも1つの移動のために、前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてと、前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランスの量を決定させる、請求項85に記載のシステム。
<請求項87>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、少なくとも1つのケーブルと、アームツールの端部とを備えるロボット付属物を含み、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記それぞれの少なくとも1つの移動のために、前記ロボット付属物の前記リンク、前記少なくとも1つのジョイント、前記少なくとも1つのケーブル、前記アームツールの端部のすべてと、前記動作環境内の前記1つ又は複数の物体との間のそれぞれのクリアランスの量を決定させる、請求項85に記載のシステム。
<請求項88>
前記それぞれの少なくとも1つの移動のために、前記ロボットの前記部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連するコストメトリックを設定するために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記それぞれのエッジによって表される経路に沿って移動する際に前記ロボットの任意の部分によって経験される最小クリアランスに少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連する前記コストメトリックを設定させる、請求項85に記載のシステム。
<請求項89>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記少なくとも1つの移動のために、前記ロボットの前記部分と前記動作環境における前記1つ又は複数の物体との間の前記決定されたそれぞれのクリアランスの量に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられたコストメトリックを設定するために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記それぞれのエッジによって表される前記移動のための前記ロボット付属物の前記リンクと、前記ジョイントと、前記アームツールの端部のすべてに対する前記決定された最小距離のすべての中で最も小さい最小距離を表す単一の数値に少なくとも部分的に基づいて、前記それぞれのエッジに論理的に関連付けられた前記コストメトリックを設定させる、請求項85に記載のシステム。
<請求項90>
前記ロボットの前記部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するために、前記プロセッサ実行可能命令は前記少なくとも1つのプロセッサに、前記ロボットの前記部分と前記動作環境内で動作する別のロボットの部分との間のそれぞれのクリアランスの量を決定させる、請求項85に記載のシステム。
<請求項91>
モーションプラニングの方法であって、前記方法は、
ロボットの少なくとも1つの部分について、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップであって、前記それぞれのクリアランスの量は、前記ロボットがシミュレーション又は物理的オペレーションにおいて実行されるモーションプラニングに従って少なくとも1つの移動を実行するときの、前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間のクリアランスの量を表す、該ステップと、
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるステップと、
前記ロボットの動作に対する少なくとも1つの調整を表す少なくとも1つの入力を受信するステップと、
前記受信された少なくとも1つの入力に少なくとも部分的に基づいて前記ロボットのためのロードマップを調整するステップと、を含む方法。
<請求項92>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるステップは、複数のノード及び複数のエッジを有するグラフの形態のロードマップを提示させるステップを含み、各エッジはそれぞれのノードの対の前記ノードを結合し、前記ノードは前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対の前記ノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表し、各遷移は前記ロボットのそれぞれの移動に対応する、請求項91に記載の方法。
<請求項93>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるステップは、三次元空間(3D)表現における1つ又は複数の経路を提示させるステップを含み、各経路は前記ロボットのそれぞれの移動に対応する、請求項91に記載の方法。
<請求項94>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるステップは、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるステップを含む、請求項92又は93に記載の方法。
<請求項95>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるステップは、前記遷移又は前記移動を表すエッジ又は経路のうちの少なくとも1つに空間的に関連付けられた前記移動中に前記ロボット付属物の任意の部分が経験する最小クリアランスを表す数値又は色のうちの少なくとも1つを提示させるステップを含む、請求項94に記載の方法。
<請求項96>
前記ロボットは、少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるステップは、前記遷移又は前記移動を表すエッジ又は経路のうちの少なくとも1つに空間的に関連付けられた前記移動中に前記ロボット付属物の2つ以上の部分が経験する最小クリアランスを表す数値又は色のうちの少なくとも1つを提示させるステップを含む、請求項94に記載の方法。
<請求項97>
前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるステップが、それぞれのクリアランスの量に対応する2つ以上の色を有するヒートマップを提示させるステップを含む、請求項94に記載の方法。
<請求項98>
ユーザに、1つ又は複数のエッジに関連する移動速度の調整、経路平滑化パラメータの値の調整、グラフ内の1つ又は複数のノードの調整、及び1つ又は複数のノードのグラフへの追加のうちの1つ又は複数を許可するユーザーインターフェースを提示させるステップをさらに含む、請求項91に記載の方法。
<請求項99>
複数のノード及び複数のエッジを有するグラフの形態のロードマップを提示させるステップが、前記グラフ内の前記ノード及び前記エッジがユーザ選択可能アイコンであるグラフィカルユーザーインターフェースを提示させるステップを含む、請求項91に記載の方法。
<請求項100>
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項91~99のいずれか一項に記載の方法を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的なプロセッサ可読媒体と、を含む、システム。
<請求項101>
モーションプラニングに使用するためのシステムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
ロボットの少なくとも1つの部分について、前記ロボットの前記少なくとも1つの部分と動作環境内の1つ又は複数の物体との間のそれぞれのクリアランスの量を決定するステップであって、前記それぞれのクリアランスの量は、前記ロボットがシミュレーション又は物理的オペレーションにおいて実行されるモーションプラニングに従って少なくとも1つの移動を実行するときの、前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間のクリアランスの量を表す、該ステップと、
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるステップと、
前記ロボットの動作に対する少なくとも1つの調整を表す少なくとも1つの入力を受信するステップと、
前記受信された少なくとも1つの入力に少なくとも部分的に基づいて前記ロボットのためのロードマップを調整するステップと、を実行させるプロセッサ実行可能命令を記憶する少なくとも1つの非一時的プロセッサ可読媒体と、を含む、システム。
<請求項102>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるために、前記プロセッサ実行可能命令は実行されると、前記少なくとも1つのプロセッサに、複数のノード及び複数のエッジを有するグラフの形態のロードマップを提示させ、各エッジはそれぞれのノードの対のノードを結合し、前記ノードは前記ロボットのそれぞれの構成を表し、前記エッジは前記それぞれのエッジによって結合された前記ノードの対の前記ノードによって表される前記ロボットの前記構成のそれぞれの対の間のそれぞれの遷移を表し、各遷移は、前記ロボットのそれぞれの移動に対応する、請求項101に記載のシステム。
<請求項103>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるために、前記プロセッサ実行可能命令は実行されると、前記少なくとも1つのプロセッサに、三次元空間(3D)表現内の1つ又は複数の経路を提示させ、各経路は、前記ロボットのそれぞれの移動に対応する、請求項101に記載のシステム。
<請求項104>
前記ロボットの前記少なくとも1つの部分と前記動作環境内の前記1つ又は複数の物体との間の前記決定されたクリアランスの量の表現を含む、前記少なくとも1つの移動の視覚的表現を提示させるために、前記プロセッサ実行可能命令は、実行されると、前記少なくとも1つのプロセッサに、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させる、請求項102又は103に記載のシステム。
<請求項105>
前記ロボットは少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるために、前記プロセッサ実行可能命令は、実行されると、前記少なくとも1つのプロセッサに、、前記移行又は前記移動を表すエッジ又は経路のうちの少なくとも1つに空間的に関連付けられた前記移動中に前記ロボット付属物の任意の部分が経験する最小クリアランスを表す数値又は色のうちの少なくとも1つを提示させる、請求項104に記載のシステム。
<請求項106>
前記ロボットが少なくとも2つのリンクと、少なくとも1つのジョイントと、アームツールの端部とを備えるロボット付属物を含み、前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるために、前記プロセッサ実行可能命令が、実行されると、前記少なくとも1つのプロセッサに、前記遷移又は前記移動を表すエッジ又は経路のうちの少なくとも1つに空間的に関連付けられた前記移動中に前記ロボット付属物の2つ以上の部分によって経験される最小クリアランスを表す数値又は色のうちの少なくとも1つを提示させる、請求項104に記載のシステム。
<請求項107>
前記決定されたクリアランスの量を表す数値又は色のうちの少なくとも1つを提示させるために前記プロセッサ実行可能命令が、実行されると、前記少なくとも1つのプロセッサに、それぞれのクリアランスの量に対応する2つ以上の色を有するヒートマップを提示させる、請求項104に記載のシステム。
<請求項108>
ユーザに、1つ又は複数のエッジに関連する移動速度の調整、経路平滑化パラメータの値の調整、前記グラフ内の1つ又は複数のノードの調整、及び1つ又は複数のノードの前記グラフへの追加のうちの1つ又は複数を許可するユーザーインターフェースを提示させるステップ、をさらに含む、請求項100に記載のシステム。
<請求項109>
複数のノード及び複数のエッジを有するグラフの形態のロードマップを提示させるために、前記プロセッサ実行可能命令が実行されると、前記少なくとも1つのプロセッサに、前記ノード及び前記エッジがユーザ選択可能アイコンであるグラフィカルユーザーインターフェースを提示させる、請求項100に記載のシステム。