(58)【調査した分野】(Int.Cl.,DB名)
前記代表的経路を生成することは、前記少なくとも1つの基準点の場所に基づいて、前記代表的経路を平行移動させることと、前記少なくとも1つの基準点の配向に基づいて、前記代表的経路を回転させることと、前記少なくとも1つの基準点のサイズに基づいて、前記代表的経路をスケーリングすることとのうちの少なくとも1つを含む、請求項2に記載の方法。
前記代表的経路を表示することは、頭部搭載ディスプレイデバイスを介して、前記作業空間のライブビュー上に前記代表的経路をオーバーレイすることと、画像センサを介して取得される前記作業空間の略リアルタイムの画像上に、前記代表的経路をオーバーレイすることとのうちの少なくとも1つを含む、請求項2に記載の方法。
前記代表的経路近傍に、前記ロボットデバイスの継手と関連付けられる、角度、速度、および加速のうちの少なくとも1つを含むグラフィックインジケータを表示することをさらに含む、請求項2に記載の方法。
【背景技術】
【0003】
(関連技術の説明)
ロボット工学およびコンピュータ支援製造(CAM)の分野における最近の前進は、ロボットデバイスが、伝統的には人によって実施された複雑な仕事を実施することを可能にしてきた。特に、ロボットデバイスの器用さおよび感知能力は、これらのタイプのデバイスが、多くの場合、それらの相対物である人間よりも効率的な様式で種々の仕事を実施するために適合されることを可能にしてきた。結果として、ロボットデバイスは、多くの業界において重要な構成要素となっている。
【0004】
さらに、ロボットデバイスによって実施される仕事が、人および/または他のロボットデバイスと協力して実施されている。これらのタイプの仕事は、多くの場合、ロボットデバイスが人および/または他のロボットデバイスと近接していることを要求するため、ロボットと人との衝突ならびに/もしくはロボット同士の衝突は、重要なリスク要因である。後者のタイプの衝突は、高額であり衝突に関わる一方または両方のロボットに重大な修理を要求し得る一方で、前者のタイプの衝突は、重大な身体障害もしくは人の死をもたらし得る。これらのリスクの極端な性質に起因して、多くの業界は、ロボットデバイスの適用可能な動作およびプロセスへの統合をためらう。
【0005】
衝突のリスクを低減させるために、従来のソフトウェアアプリケーション(例えば、CAMソフトウェアアプリケーション)は、ユーザが、コンピュータスクリーン上で、特定の動作と関連付けられるロボットデバイスの予期される移動をプレビューすることを可能にする。ユーザは、次いで、動作の種々の側面を修正し、ロボットデバイスの経路を変更し、ユーザの具体的な要件に適するようにし得る。
【0006】
上記のアプローチの1つの欠点は、ソフトウェアアプリケーションによって生成されるプレビューが、典型的には、作業環境内に存在し得る他のロボットデバイス、人、機械等を考慮しないことである。したがって、ユーザは、コンピュータスクリーン上でプレビューを見るとき、次いで、アプリケーションソフトウェア内でモデル化されているロボットと、実際の作業環境内の他のロボットデバイス、人、機械等との間の移動および潜在的な相互作用を、モデル化されているロボットがその作業環境内で仕事を実行しているように、頭の中で可視化するよう試みなければならない。そのような頭の中での可視化は、非常に困難であるため、この従来のプロセスは、非常に間違いを起こしやすく、かつ非効率的である。その結果、ユーザは、多くの場合、衝突の全てのリスクを回避するために、過度に慎重かつ最適化されていない様式でロボットデバイスをプログラムする、または最後には動作の間に衝突をもたらす過ちを作成する。
【0007】
さらに、安全懸念および法令のために、ユーザは、動作がロボットデバイスを動作の間に物体と衝突させ得ると考える場合、典型的には、ロボットデバイスのモデル化された行動の1つ以上の側面を再プログラムする必要がある。そのようなアプローチは、非常に反復的、退屈、かつ時間がかかり、ロボットデバイスを適用可能な動作およびプロセスに統合することに対するためらいをさらにもたらし得る。
【0008】
前述の説明が例証するように、ロボットデバイスによって実施されるべき動作の可視化および修正のための改良技術が、有用であろう。
【発明を実施するための形態】
【0014】
(詳細な説明)
以下の説明では、多数の具体的な詳細が、述べられ、本開示の実施形態のより徹底的な理解を提供する。しかしながら、本開示の実施形態が、これらの具体的な詳細うちの1つ以上なく実践され得ることが、当業者に明白となるであろう。
【0015】
図1は、本発明の1つ以上の側面を実装するように構成されるコンピューティングデバイス100の概念的図である。示されるように、コンピューティングデバイス100は、限定ではないが、プロセッサ102と、入力/出力(I/O)デバイス104と、メモリ110とを含む。メモリ110は、データベース114と相互作用するように構成される、経路可視化アプリケーション112を含む。種々の実施形態では、コンピューティングデバイス100は、ディスプレイデバイス120、頭部搭載ディスプレイデバイス122、および/またはセンサ124に結合されてもよい。
【0016】
プロセッサ102は、データを処理し、プログラムコードを実行するように構成される、任意の技術的に実行可能な形態の処理デバイスであってもよい。プロセッサ102は、例えば、限定ではないが、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)等であり得る。
【0017】
メモリ110は、メモリモジュールまたはメモリモジュールの集合を含んでもよい。メモリ110内のデータベース114は、画像、ビデオ、アルゴリズム、グラフィック表現、レンダリングエンジン、追跡ソフトウェア、経路命令、ルックアップテーブル、および/または基準点を追跡することと、グラフィック表現を生成することと、グラフィック表現を表示することと関連付けられる、他のタイプのデータ等を記憶し得る。メモリ110内の経路可視化アプリケーション112は、プロセッサ102によって実行され、経路可視化システム101の機能性全体を実装する。例えば、限定ではないが、経路可視化システム101を介して受信されるマルチメディアコンテンツ(例えば、画像、ビデオ等)が、経路可視化アプリケーション112によって処理され、特定の環境内で1つ以上の基準点を検出かつ追跡し、基準点に基づいてロボットデバイスの経路の表現を生成し得る。経路可視化システム101は、次いで、ロボットデバイスの経路の表現を、センサ124を介して取得され、かつディスプレイデバイス120(例えば、タブレットコンピュータ)を介して表示された環境のリアルタイムの画像(例えば、典型的な捕捉および表示の待機時間を伴って取得かつ表示された画像)上に、表現をオーバーレイすること等によって、ユーザに表示し得る。加えて、いくつかの実施形態では、経路可視化システム101は、頭部搭載ディスプレイデバイス122(例えば、透明な拡張現実ディスプレイ)を介してユーザの視野上に表現をオーバーレイすることによって、ユーザにロボットデバイスの経路の表現を表示し得る。
【0018】
I/Oデバイス104は、入力デバイスと、出力デバイスと、入力を受信かつ出力を提供することの両方が可能であるデバイスとを含んでもよい。例えば、限定ではないが、I/Oデバイス104は、センサ124(例えば、カメラ、深度センサ、レーダセンサ等)にデータを送信および/またはそれからデータを受信する、有線ならびに/もしくは無線の通信デバイス、ディスプレイスクリーン(例えば、ディスプレイデバイス120、頭部搭載ディスプレイデバイス122等)、記憶デバイス、ネットワークデバイス、および/または別のコンピューティングデバイスを含み得る。
【0019】
ディスプレイデバイス120および頭部搭載ディスプレイデバイス122は、環境および/またはロボットデバイスのグラフィック表現の画像、ロボットデバイスの経路、ロボットデバイスと関連付けられる情報等を表示するための、任意の技術的に実行可能なデバイスを含んでもよい。いくつかの実施形態では、ディスプレイデバイス120は、タブレットコンピュータ等のモバイルコンピューティングデバイス内に含まれる。加えて、頭部搭載ディスプレイデバイス122は、仮想現実ヘッドセット(例えば、Oculus Rift(登録商標))および/または拡張現実ヘッドセット(例えば、Microsoft(登録商標)HoloLens(登録商標))等のモバイルコンピューティングデバイス内に含まれてもよい。
【0020】
センサ124は、限定ではないが、可視光センサ、熱画像センサ、レーザ系デバイス、超音波センサ、赤外線センサ、レーダセンサ、深度センサ、全地球測位システム(GPS)デバイス、磁気計、慣性センサ、ジャイロスコープ、加速度計等を含み得る。センサ124は、追跡されるべき環境および/または取得されるべき環境の画像内で、基準点(例えば、視覚特徴、物理特徴、GPS座標等)を可能にする。
図1には1つのセンサ124のみが図示されるが、種々の実施形態では、複数のセンサ124が、実装され、基準点を追跡し、画像を取得する等してもよい。
【0021】
概して、コンピューティングデバイス100は、経路可視化システム101の動作全体を整合させるように構成される。他の実施形態では、コンピューティングデバイス100は、経路可視化システム101の他の構成要素に結合されてもよいが、それらと別個であってもよい。しかしながら、本明細書に開示される実施形態は、経路可視化システム101の機能性を実装するように構成される、任意の技術的に実行可能なシステムを検討する。
【0022】
コンピューティングデバイス100は、全体として、マイクロプロセッサ、特定用途向け集積回路(ASIC)、オンチップシステム(SoC)、デスクトップコンピューティングデバイス、タブレットコンピュータまたは携帯電話等のモバイルコンピュータデバイス、メディアプレーヤ等であってもよい。いくつかの実施形態では、コンピューティングデバイス100は、ディスプレイデバイス120、頭部搭載ディスプレイデバイス122、および/またはセンサ124と統合される。他の実施形態では、コンピューティングデバイス100は、ディスプレイデバイス120、頭部搭載ディスプレイデバイス122、および/またはセンサ124に結合されてもよいが、それらと別個であってもよい。そのような実施形態では、ディスプレイデバイス120、頭部搭載ディスプレイデバイス122、および/またはセンサ124は、コンピューティングデバイス100からデータ(例えば、画像、命令等)を受信し、それにデータを伝送する別個のプロセッサを含んでもよい。しかしながら、本明細書に開示される実施形態は、経路可視化システム101の機能性を実装するように構成される、任意の技術的に実行可能なシステムを検討する。
【0023】
図2は、本発明の種々の実施形態による、作業環境内に含まれる追跡器210およびワークピース220の斜視
図200を図示する。種々の実施形態では、斜視
図200は、ロボットデバイスのグラフィック表現、ロボットデバイス経路、および/またはロボットに関連する他のデータが表示されるべき環境の画像を、画像の上にグラフィック表現をオーバーレイすること等によって表す。いくつかの実施形態では、斜視
図200は、グラフィック表現が表示されるべきユーザの視野を、一方または両方の眼もしくはユーザの正面に位置付けられる透明なディスプレイを介して、グラフィック表現を表示すること等によって表す。
【0024】
示されるように、追跡器210は、特定の環境内に位置付けられ、グラフィック表現が表示されるべき場所を示してもよい。概して、追跡器210は、センサ124を介して認識されることが可能である、任意の識別可能な形状、色、パターン等を含んでもよい。種々の実施形態では、追跡器210は、経路可視化アプリケーション112が、斜視図内の追跡器210の場所、配向、および/またはサイズを判定することを可能にする、明確に異なる形状および/またはパターンを含んでもよい。そのような実施形態では、経路可視化アプリケーション112は、次いで、グラフィック表現を平行移動、回転、および/またはスケーリングし、斜視図内のグラフィック表現を適切に表示し得る。
【0025】
さらに、いくつかの実施形態では、追跡器210の使用の代わりに、またはそれに加え、経路可視化アプリケーション112が、環境内の他のタイプの基準点を検出し、グラフィック表現が、斜視図内に適切に表示されるように、グラフィック表現を平行移動、回転、および/またはスケーリングしてもよい。例えば、経路可視化アプリケーション112は、環境の1つ以上の縁ならびに/もしくは角、および/または環境内の静的オブジェクトの1つ以上の特徴を検出し、これらの基準点を使用し、センサ124を移動させ、ディスプレイデバイス120、122を移動させること等によってもたらされる、斜視
図200に対する変化を追跡し得る。具体的な実施例では、経路可視化アプリケーション112は、表示されるべきグラフィック表現と関連付けられるロボットデバイスの場所を検出し、ロボットデバイスの場所、配向、および/またはサイズへの変化に基づいて、斜視図に対する変化を追跡し得る。
【0026】
図3は、本発明の種々の実施形態による、
図2の作業環境内に表示されたロボットデバイスのグラフィック表現230を図示する。示されるように、経路可視化アプリケーション112は、基準点に基づいてグラフィック表現を平行移動、回転、および/またはスケーリングすること等によって、1つ以上の基準点(例えば、追跡器210)に基づいてロボットデバイスのグラフィック表現230を生成かつ表示する。例えば、経路可視化アプリケーション112は、斜視図に対する正しい配向およびサイズを有するロボットデバイスのグラフィック表現230を生成し、基準点に近接する場所に、ロボットデバイスのグラフィック表現230を表示し得る。
【0027】
さらに、上記に説明されたように、グラフィック表現230と関連付けられるロボットデバイスが、環境内に物理的に存在する場合、経路可視化アプリケーション112は、ロボットデバイス自体の1つ以上の側面を追跡し、グラフィック表現230を適切に生成かつ表示してもよい。例えば、経路可視化アプリケーション112は、物理的なロボットデバイスと略同一の場所に斜視
図200内のロボットデバイスのグラフィック230表現を表示し、下記に説明される経路可視化技術が、物理的なロボットデバイスの実際の場所に対して実施されることを可能にし得る。
【0028】
経路可視化アプリケーション112は、ロボットデバイスのグラフィック表現230を不透明なグラフィックとして表示させ、グラフィック表現230の後方に位置するコンテンツがユーザによって見られることを遮断させ、または半透明のグラフィックとして表示させ、グラフィック表現230の後方に位置するコンテンツを少なくとも部分的に可視状態にさせてもよい。いくつかの実施形態では、経路可視化アプリケーション112は、グラフィック表現230が、物理的なロボットデバイスの上部上に(またはその近傍に)表示されているとき、グラフィック表現230が、物理的なロボットデバイスの「ゴースト」版として出現するように、ロボットデバイスの半透明のグラフィック表現230を生成してもよい。
【0029】
例証および説明の明確化のため、ロボットデバイスの1つのグラフィック表現230のみが、
図3−4Cに示される。しかしながら、種々の実施形態では、経路可視化アプリケーション112は、それぞれが、異なるロボットデバイスに対応する、複数のグラフィック表現を表示してもよい。加えて、グラフィック表現は、1つ以上の物理的なロボットデバイスおよび/または人の近傍に表示され、ユーザが、ロボットデバイスが作業環境内に位置付けられるであろう方法を見ながら、1つ以上の仕事を実施することを可能にしてもよい。例えば、いくつかの実施形態では、経路可視化アプリケーション112は、交差し得る、またはしない場合がある異なる経路を横断する、異なるロボットデバイスの2つ以上のグラフィック表現を同時に生成かつ表示し得る。そのような実施形態では、ユーザは、ロボットデバイスが、仕事を実施するとき、ロボットデバイスが衝突する可能性があるかどうか、ロボットデバイスが、適切に機能して、調和して共有される仕事(例えば、物体を相互の間で渡すこと)を実施するかどうか、および/またはロボットデバイスが、人の近傍に移動する、もしくは環境内の他の物体を衝突する可能性があるかどうか等、相互作用する方法を見ることができる。
【0030】
図4A−4Cは、本発明の種々の実施形態による、
図3のロボットデバイスのグラフィック表現230のために実装された、経路可視化技術を図示する。上記に説明されたように、経路可視化システム101は、ユーザが、ロボットデバイスによって実施されるべき動作と関連付けられる経路を可視化することを可能にする。いくつかの実施形態では、経路可視化は、ロボットデバイスのアニメーション化されたグラフィック表現230、ロボットデバイスの1つ以上の構成要素(例えば、エンドエフェクタ)の予期される経路、ロボットデバイスの構成要素もしくはロボットデバイスのグラフィック表現230によって横断される経路の痕跡、および/またはロボットデバイスの構成要素と関連付けられる種々のタイプの情報を表示することを含む。例えば、経路可視化の間に、経路可視化アプリケーション112は、ロボットデバイスによって実施されるべき動作と関連付けられる経路命令(例えば、Gコード命令等の数値制御(NC)命令)を処理し、経路のグラフィック表現400を生成し得る。経路可視化アプリケーション112は、次いで、ディスプレイデバイス120または頭部搭載ディスプレイデバイス122を介して、経路のグラフィック表現400を表示し得る。
【0031】
経路可視化アプリケーション112によって生成される経路のグラフィック表現400は、1つ以上のロボットデバイス構成要素(例えば、経路命令によって規定される経路区画)によって横断されるべき経路区画405を含んでもよい。例えば、ロボットデバイスによって実施されるべき特定の動作に関する経路のグラフィック表現400が、ロボットデバイスのエンドエフェクタ232の起点から、エンドエフェクタ232が1つ以上のワークピース220と接触するであろう、1つ以上の場所415に延在し得る。
【0032】
経路可視化アプリケーション112によって生成される経路のグラフィック表現400は、経路区画405のうちの1つ以上と関連付けられる制御点410をさらに含んでもよい。例えば、示されるように、制御点405は、経路区画405の端部近傍に位置付けられ、ロボットデバイスによって実施されるべき、明確に異なる移動を示してもよい。加えて、図面6および7と併せてさらに詳細に説明されるように、1つ以上の制御点410は、双方向であり、ユーザが、制御点410を選択かつ手を用いて移動させ、ロボットデバイスによって横断されるべき経路を修正することを可能にしてもよい。
【0033】
いくつかの実施形態では、経路のグラフィック表現400は、ロボットデバイスによって占められるであろう面積または体積を含みながら、経路命令のセットによって規定される特定の動作を実施するであろう。そのような実施形態では、ユーザは、動作を実施するとき、所与のタイムスライスにわたってロボットデバイスによって占められるであろう場所の全てを同時に見ることができる。例えば、経路可視化アプリケーション112は、ロボットデバイスの構成要素が動作の間に進行するであろう動作環境の場所の全てを表す、陰影付けられた体積境界を生成かつ表示し得る。ユーザは、次いで、環境を様々な角度から確認し、陰影付けられた体積境界のいかなる境界もが、ロボットデバイスの動作の間に物体が存在し得る環境および/または場所内の物体と交差するかどうかを判定する。別の実施例では、経路可視化アプリケーション112は、動作の間にロボットデバイスの構成要素が進行するであろう動作環境の場所の全てを表す、体積境界インジケータを生成かつ表示し得る。
【0034】
例証の明確化のため、経路区画405が、直線として
図4A−4Cに図示される。しかしながら、種々の実施形態では、1つ以上のロボットデバイス構成要素は、特定の動作を実施するとき、非線形の経路内を進行してもよい。故に、経路のグラフィック表現400は、直線、曲線、スプライン、連続的な経路区画、非連続的な経路区画等を含む、任意のタイプの経路区画を含んでもよい。例えば、経路のグラフィック表現400が、曲線、スプライン等を含むとき、経路可視化アプリケーション112はまた、経路のグラフィック表現400内に含まれる経路区画405の湾曲を画定する制御点410を表示してもよい。
【0035】
いくつかの実施形態では、経路可視化アプリケーション112は、さらに、ロボットデバイスの構成要素と関連付けられる種々のタイプの情報を表す、1つ以上のグラフィックインジケータ420を生成かつ表示してもよい。例えば、
図4Aに示されるように、グラフィックインジケータ420は、ロボットデバイスのグラフィック表現230の1つ以上の継手近傍に表示され、ロボットデバイスが、動作を実施するにつれての継手の角度(例えば、角度X°、角度Y°、角度Z°)を示してもよい。同一または他の実施形態では、特定の構成要素の速度、特定の構成要素の加速、ならびに/もしくは別の物体または場所からの特定の要素の距離等の、他のタイプの情報が、ロボットデバイスの1つ以上の構成要素の近傍に表示されてもよい。例えば、経路可視化アプリケーション112は、動作を実施するとき、エンドエフェクタ232および/またはロボットデバイスの1つ以上の継手の速度ならびに/もしくは加速を表示する、グラフィックインジケータ420を生成し得る。いくつかの実施形態では、経路可視化アプリケーション112は、動作の可視化が進行するにつれて、グラフィックインジケータ420内に含まれる情報を動的に更新し得る。加えて、経路可視化アプリケーション112は、グラフィックインジケータ420が、ロボットデバイスの対応する構成要素の近傍に存在するように、グラフィックインジケータ420が斜視図内に表示される位置を動的に更新し得る。
【0036】
いくつかの実施形態では、グラフィックインジケータ420は、各継手がその物理的な限界にどのくらい近接しているかを示す、継手リミットメータを含む。このタイプの情報をユーザに提供することによって、ユーザは、経路計画プロセスの間に、より十分な情報を得たうえで決定することができる。例えば、ユーザは、継手が、プロセス内で後に、ロボットが移動することをある様式で妨げ得る、その物理的限界に近付いていることに気づく場合、ロボットの経路および/または構成を変更し、下流のそのような課題を回避し得る。
【0037】
図4Bおよび4Cに示されるように、動作の可視化が進行するにつれて、経路可視化アプリケーション112は、ロボットデバイスのグラフィック表現230をアニメーション化し、ユーザが、ロボットデバイスが動作の間にどのようにかつどこに移動するであろうかを可視化することを可能にする。いくつかの実施形態では、ロボットデバイスのグラフィック表現230の構成要素が経路のグラフィック表現400に沿って移動するにつれて、すでに横断されている経路のグラフィック表現400の部分(例えば、経路区画405)は、経路可視化アプリケーション112によって除去されてもよい。他の実施形態では、ロボットデバイスのグラフィック表現230の対応する構成要素が、それらの部分を横断するにつれて、経路のグラフィック表現400の部分を表示すること等によって、経路のグラフィック表現400が、痕跡として表示される。
【0038】
種々の実施形態では、経路可視化アプリケーション112は、可視化プロセスの間の基準点の場所、サイズ、および/または配向への変化を追跡する。故に、ユーザが可視化プロセスの間にディスプレイデバイス120、122、および/またはセンサ124を移動させる場合、経路可視化アプリケーション112は、ロボットデバイスおよび経路のグラフィックがユーザの視点から適切に表示されるように、ロボットデバイスのグラフィック表現230、経路のグラフィック表現400、ならびに/もしくはグラフィックインジケータ420の場所、サイズ、および/または配向を修正する。例えば、ロボットデバイスのグラフィック表現230に関して、経路可視化アプリケーション112は、斜視図が、ロボットデバイスのグラフィック表現230が特定の動作の間に物理的なロボットデバイスの場所、サイズ、および配向を正確に表すように改変される度に、場所、サイズ、および配向を修正し得る。さらに、経路のグラフィック表現400に関して、経路可視化アプリケーション112は、斜視図が、経路のグラフィック表現400が特定の動作の間にロボットデバイスの構成要素によって進行されるであろう経路を正確に表すように改変される度に、場所、サイズ、および配向を修正し得る。
【0039】
図5は、本発明の種々の実施形態による、ロボットデバイスと関連付けられる経路を表示するための方法ステップの流れ図である。本方法ステップは、
図1−4Cのシステムと併せて説明されるが、当業者は、任意の順序で本方法ステップを実施するように構成されるいかなるシステムもが、種々の実施形態の範囲に該当することを理解するであろう。
【0040】
示されるように、方法500が、ステップ510において開始し、経路可視化アプリケーション112が、ロボットデバイスと関連付けられる経路命令(例えば、Gコード命令等の数値制御(NC)命令)を処理し、ロボットデバイスの1つ以上の構成要素を判定する。いくつかの実施形態では、経路可視化アプリケーション112は、ロボットデバイスによって実施されるべき動作と関連付けられる経路命令を処理し、時間の関数として、3次元空間内の1つ以上の構成要素(例えば、エンドエフェクタ232、継手、アーム等)の座標を判定する。
【0041】
ステップ520において、経路可視化アプリケーション112は、センサ124を介して1つ以上の画像を取得する。次いで、ステップ530において、経路可視化アプリケーション112は、画像内に含まれる1つ以上の基準点(例えば、追跡器210)の場所を検出する。ステップ540において、経路可視化アプリケーション112は、基準点の場所に基づいて1つ以上のグラフィックを生成し、ディスプレイデバイス120または頭部搭載ディスプレイデバイス122を介してグラフィックを表示する。例えば、ステップ540において、経路可視化アプリケーション112は、グラフィックをステップ520において取得された画像上にオーバーレイする、および/またはグラフィックを半透明のディスプレイ(例えば、頭部搭載ディスプレイデバイス122)上に表示し得る。
【0042】
いくつかの実施形態では、ステップ540において、経路可視化アプリケーション112によって生成かつ表示されるグラフィックは、時間の関数として、現在経路が可視化されている部分に基づいて、変動する。例えば、
図4Aに示されるように、経路の開始(すなわち、t=0)が、可視化されている場合、経路可視化アプリケーション112は、経路のグラフィック表現400全体および構成要素が開始位置内に構成される、ロボットデバイスのグラフィック表現230を生成かつ表示し得る。対照的に、経路の後続部分が可視化されている場合(例えば
図4Bに示されるように)、経路可視化アプリケーション112は、構成要素が異なる位置内に構成される、ロボットデバイスのグラフィック表現230を生成かつ表示し得る。
【0043】
次いで、ステップ550において、経路可視化アプリケーション112は、付加的な経路データが可視化されるべきであるかどうかを判定する。例えば、ステップ550において、経路可視化アプリケーション112は、経路の付加的な部分(例えば、
図4Cに示される経路の部分)が、まだ生成および/または表示されていないかどうかを判定し得る。経路可視化アプリケーション112が、付加的な経路データが可視化されるべきであるかどうかを判定する場合、方法500は、1つ以上の付加的な画像が取得されるステップ520に戻る。経路可視化アプリケーション112が、付加的な経路データは可視化されるべきではないと判定する場合、方法500は、終了する。
【0044】
図6は、本発明の種々の実施形態による、
図3の作業環境内のロボットデバイスの経路を修正するための技術を図示する。上記に説明されるように、経路と関連付けられる1つ以上の制御点410は、双方向であり、ユーザが、制御点410を選択かつ手を用いて移動させ、ロボットデバイスによって横断されるべき経路を修正することを可能にしてもよい。例えば、示されるように、ユーザは、制御点410−1を掴み、かつ制御点410−1を右方に移動させ、経路可視化アプリケーション112に経路区画405−1および経路区画405−2を右方に移動、かつエンドエフェクタ232がワークピース220に接触するであろう場所を修正させ得る。
【0045】
他の実施形態では、ユーザが、制御点410−1を掴み、かつ制御点410−1を左方または右方に移動させるとき、経路可視化アプリケーション112は、経路区画405−1、405−2および制御点405−1の場所、長さ、曲率および/または角度を修正するが、エンドエフェクタ232がワークピース220に接触するであろう場所は修正しない。故に、そのような実施形態では、ロボットデバイスの構成要素の経路は、実質的に、ワークピース上で実施されている動作に影響を及ぼすことなく修正されることができる。加えて、種々の実施形態では、ユーザは、1つ以上の経路区画405を掴みかつ修正し、ロボットデバイスの構成要素の経路を修正し得る。さらに、いくつかの実施形態では、ユーザは、ロボットデバイスのグラフィック表現230の構成要素を掴みかつ修正し、動作を実施するときの構成要素の場所および/または角度を修正し得る。
【0046】
図7は、本発明の種々の実施形態による、ユーザ入力を介してロボットデバイスの経路を修正するための方法ステップの流れ図である。本方法ステップは、
図1−6のシステムと併せて説明されるが、当業者は、任意の順序で本方法ステップを実施するように構成されるいかなるシステムもが、種々の実施形態の範囲に該当することを理解するであろう。
【0047】
示されるように、方法700は、ステップ710において開始し、経路可視化アプリケーション112は、センサ124を介して1つ以上の画像を取得する。ステップ720において、経路可視化アプリケーション112は、1つ以上の制御点410の場所および画像内のユーザ入力を検出する。次いで、ステップ730において、経路可視化アプリケーション112は、ユーザ入力が制御点を修正しているかどうかを判定する。例えば、ステップ720において、経路可視化アプリケーション112は、ユーザの指の場所を検出し、ステップ730において、ユーザが、制御点410のうちの1つ以上の近傍でジェスチャ(例えば、掴むジェスチャ、押動するジェスチャ、または引動するジェスチャ)を実施しているかどうかを判定し得る。
【0048】
経路可視化アプリケーション112が、ユーザ入力が制御点410を修正していないことを判定する場合、方法700は、ステップ710に戻る。経路可視化アプリケーション112は、ユーザ入力が制御点410を修正していることを判定する場合、方法700は、ステップ740に進行し、経路可視化アプリケーション112は、修正される制御点に基づいて、経路のグラフィック表現400、ロボットデバイスのグラフィック表現230、および/またはグラフィックインジケータ420を修正する。次いで、ステップ750において、経路可視化アプリケーション112は、修正される制御点に基づいて、経路命令を更新する。方法700は、次いで、ステップ710に戻る。
【0049】
ユーザ入力を介してロボットデバイスの構成要素の経路を修正するための上記の技術が、制御点410に対して説明されるが、本技術はまた、経路区画405および/またはエンドエフェクタ232、継手、アーム等のロボットデバイスのグラフィック表現230の構成要素上で実施され得る。例えば、ステップ720において、経路可視化アプリケーション112は、経路区画405、エンドエフェクタ232、継手、アーム等の近傍でユーザ入力を検出し得る。次いで、ステップ730において、経路可視化アプリケーション112は、ユーザ入力が、経路区画405、エンドエフェクタ232、継手、アーム等の場所を修正しているかどうかを判定し得る。ステップ740において、経路可視化アプリケーション112は、次いで、経路のグラフィック表現400、ロボットデバイスのグラフィック表現230、および/またはグラフィックインジケータ420を修正し、ステップ750において、修正に基づいて経路命令を更新するであろう。加えて、経路可視化アプリケーション112は、逆運動学的な異なる状態間でトグルするためのユーザ入力、継手の加速等を調節するための入力等の、異なるタイプのユーザ入力を検出し得る。
【0050】
要するに、経路可視化アプリケーションは、経路命令を処理し、ロボットデバイスの1つ以上の構成要素の経路を生成する。経路可視化アプリケーションは、次いで、画像を分析し、画像内の1つ以上の基準点を検出する。次いで、経路可視化アプリケーションは、ロボットデバイスに関する情報を提供する、ロボットデバイスの構成要素の経路のグラフィック表現、ロボットデバイスのグラフィック表現、および/または1つ以上のグラフィックインジケータを表示する。
【0051】
本明細書に説明される技術の少なくとも1つの利点は、ロボットデバイスの経路の3次元の表現が、ロボットデバイスの動作環境内に見られ、潜在的な衝突が、そのような衝突が生じる前に検出されることを可能にすることである。加えて、ロボットデバイスの経路は、動作環境自体の中でのユーザ入力を介して修正されることができ、経路への最新情報が、例えば、拡張現実ディスプレイを介して直接見られることができる。故に、ロボットデバイスは、種々のプロセスの中により安全かつ効率的に実装されることができる。さらに、ロボット構成要素に関する詳細情報(例えば、継手角度)が、見られ、ユーザがロボットの複雑な移動を計画するとき、より十分な情報を得たうえで決定することを可能にすることができる。
【0052】
種々の実施形態の説明が、例証の目的ためにもたらされているが、開示される実施形態を包括かつ限定するものではないことが意図される。多くの修正および変形例が、説明される実施形態の範囲および精神から逸脱することなく、当業者に明白となるであろう。
【0053】
本実施形態の側面は、システム、方法、またはコンピュータプログラム製品として具現化されてもよい。故に、本開示の側面は、完全に、ハードウェア実施形態、完全に、ソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または全て概して、本明細書に「モジュール」もしくは「システム」と称され得るソフトウェアおよびハードウェア側面を組み合わせる、ある実施形態の形態を呈してもよい。さらに、本開示の側面は、その上に具現化されるコンピュータ可読プログラムコードを有する、1つ以上のコンピュータ可読媒体内に具現化されるコンピュータプログラム製品の形態を呈してもよい。
【0054】
1つ以上のコンピュータ可読媒体の任意の組み合わせが、利用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、限定ではないが、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、もしくはデバイス、または前述のものの任意の好適な組み合わせであってもよい。コンピュータ可読記憶媒体のより具体的な実施例(包括的ではない一覧)は、1つ以上のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラマブル読取専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取専用メモリ(CD−ROM)、光学記憶デバイス、磁気記憶デバイス、または前述のものの任意の好適な組み合わせを含むであろう。本書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって、もしくはそれに関連して使用するためのプログラムを含有または記憶することができる、任意の有形媒体であってもよい。
【0055】
本開示の側面は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して、上記に説明される。フローチャート図および/またはブロック図の各ブロックおよびフローチャート図ならびに/もしくはブロック図内でのブロックの組み合わせが、コンピュータプログラム命令によって実装されることができることが、理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供され、コンピュータもしくは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートおよび/またはブロック図のブロック内で規定される機能/作用の実装を可能にするように、機械を産出してもよい。そのようなプロセッサは、限定ではないが、汎用プロセッサ、専用プロセッサ、特定用途向けプロセッサ、またはフィールドプログラマブルプロセッサもしくはゲートアレイであってもよい。
【0056】
図内のフローチャートおよびブロック図は、本開示の種々の実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を図示する。この点について、フローチャートまたはブロック図内の各ブロックは、規定される論理関数を実装するための1つ以上の実行可能な命令を含む、モジュール、区画、もしくは部分を表し得る。また、いくつかの代替実装では、ブロック内に記載される関数は、図内に記載される順序外で生じてもよいことにも留意されたい。例えば、連続して示される2つのブロックは、伴われる機能性に応じて、事実上、略同時に実行されてもよい、または時として、逆の順序で実行されてもよい。また、ブロック図および/またはフローチャート図の各ブロックならびにブロック図および/またはフローチャート図内でのブロックの組み合わせは、規定される機能もしくは作用、または特殊目的ハードウェアならびにコンピュータ命令の組み合わせを実施する、特殊目的ハードウェア系システムによって実装されることができることにも留意されたい。
前述は、本開示の実施形態を対象としているが、本開示の他およびさらなる実施形態もまた、その基本的範囲から逸脱することなく案出されてもよく、その範囲は、後に続く請求項によって判定される。