(57)【要約】  所定のターゲット位置への到達をロボットにティーチングするためのシステムおよび方法。システムおよび方法は、ロボットが到達する所定のターゲット位置の表現についての入力を受信することを含む。所定のターゲット位置が特異であるか否かが検査される。所定のターゲット位置が特異でない場合、選択されたコンフィギュレーションを所定のターゲット位置に関連付けることによって、ロボットのティーチングが実施される。所定のターゲットが特異である場合、割り当てられた関節値解を所定のターゲット位置に関連付けることによって、ロボットのティーチングが実施される。【選択図】図５
2020505244.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムによって、所定のターゲットへの到達をロボットにティーチングするための方法において、
ａ）前記ロボットが到達する所定のターゲット位置の表現についての情報入力を受信するステップと、
ｂ）前記所定のターゲット位置が特異であるか否かを検査するステップと、
ｃ）前記所定のターゲット位置が特異でない場合、選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けることによって、前記ロボットをティーチングするステップと、
ｄ）前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けることによって、前記ロボットをティーチングするステップと、
を備える、方法。
【請求項２】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項１記載の方法。
【請求項３】
項目ａ）の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項１または２記載の方法。
【請求項４】
前記ターゲット位置が幾何学的表現で表される場合、項目ｂ）の前記特異についての検査を、逆運動学計算の実施後に行う、請求項１から３までのいずれか１項記載の方法。
【請求項５】
項目ｂ）の前記特異についての検査を、所定の特異点の選択に対してのみ行う、請求項１から４までのいずれか１項記載の方法。
【請求項６】
特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点を改めて検査し、必要に応じて、前記割り当てられた関節値解をクリアし、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングを実施する、請求項１から５までのいずれか１項記載の方法。
【請求項７】
データ処理システムにおいて、
プロセッサと、
アクセス可能なメモリと、を備え、
前記データ処理システムは、特に、
ａ）ロボットが到達する所定のターゲット位置の表現についての情報入力を受信し、
ｂ）前記所定のターゲット位置が特異であるか否かを検査し、
ｃ）前記所定のターゲットが特異でない場合、選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けることによって、前記ロボットをティーチングし、
ｄ）前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けることによって、前記ロボットをティーチングする、
ように構成されている、データ処理システム。
【請求項８】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項７記載のデータ処理システム。
【請求項９】
項目ａ）の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項７または８記載のデータ処理システム。
【請求項１０】
前記ターゲット位置が幾何学的表現で表される場合、項目ｂ）の前記特異についての検査は、逆運動学計算の実施後に行われる、請求項７から９までのいずれか１項記載のデータ処理システム。
【請求項１１】
項目ｂ）の前記特異についての検査は、所定の特異点の選択に対してのみ行われる、請求項７から１０までのいずれか１項記載のデータ処理システム。
【請求項１２】
特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点が改めて検査され、必要に応じて、前記割り当てられた関節値解がクリアされ、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングが実施される、請求項７から１１までのいずれか１項記載のデータ処理システム。
【請求項１３】
実行可能な命令がコーディングされている、非一時的なコンピュータ可読媒体において、
前記命令が実行されると、１つまたは複数のデータ処理システムに、
ａ）ロボットが到達する所定のターゲット位置の表現についての情報入力を受信させ、
ｂ）前記所定のターゲット位置が特異であるか否かを検査させ、
ｃ）前記所定のターゲットが特異でない場合、選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けることによって、前記ロボットのティーチングを実施させ、
ｄ）前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けることによって、前記ロボットのティーチングを実施させる、
非一時的なコンピュータ可読媒体。
【請求項１４】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項１３記載の非一時的なコンピュータ可読媒体。
【請求項１５】
項目ａ）の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項１３または１４記載の非一時的なコンピュータ可読媒体。
【請求項１６】
前記ターゲット位置が幾何学的表現で表される場合、項目ｂ）の前記特異についての検査は、逆運動学計算の実施後に行われる、請求項１３から１５までのいずれか１項記載の非一時的なコンピュータ可読媒体。
【請求項１７】
項目ｂ）の前記特異についての検査は、所定の特異点の選択に対してのみ行われる、請求項１３から１６までのいずれか１項記載の非一時的なコンピュータ可読媒体。
【請求項１８】
特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点が改めて検査され、必要に応じて、前記割り当てられた関節値解がクリアされ、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングが実施される、請求項１３から１７までのいずれか１項記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、コンピュータ支援による設計、視覚化および製造（「ＣＡＤ」）システム、製品ライフサイクル管理（「ＰＬＭ」）システム、製品情報管理（「ＰＤＭ」）システム、ならびに製品および他の項目のデータを管理する同等のシステム（これらをまとめて「製品情報管理」システムまたはＰＤＭシステムと称する）に関する。より詳細には、本開示は、製造環境シミュレーションに関する。
【背景技術】
【０００２】
典型的な産業用ロボットは、複数の関節（例えば、通常は６個またはそれ以上の関節）と、少なくとも１つのキネマティックチェーンと、を有している。典型的には、ロボットのキネマティックチェーンにおいては、通常はその端部においては、機械加工される部品に通常位置するターゲット位置においてロボットタスクを実行するための産業用ツールが取り付けられている。ツールによって実行されるロボットタスクの例には、溶接、スポット溶接、アーク溶接、塗装、コーティング、ドリル加工およびリベット打ち、レーザ切断、縁曲げ、および部品においてツールによって実行される他のタイプの製造作業タスクが含まれるが、ロボットタスクはこれらに限定されるものではない。ロボットのキネマティックチェーンの端部は、ツールセンターポイントフレーム（「ＴＣＰＦ：Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ  Ｆｒａｍｅ」）またはツールセンターポイント（「ＴＣＰ：Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ」）としても公知である。ツールがロボットのキネマティックチェーンに取り付けられている場合、ＴＣＰＦは、ツールの端部である。
【０００３】
図２および図３には、６個の関節ｊ１、ｊ２、ｊ３、ｊ４、ｊ５、ｊ６を備えたロボット２０１の概略図が示されている。図２および図３において、ロボット２０１のキネマティックチェーンの端部２０２はＴＣＰＦでもあり、またターゲット位置に位置決めされている。図２および図３において、機械加工される部品は図示されていない。
【０００４】
本明細書において使用されているように、用語「コンフィギュレーション」とは、ロボットコンフィギュレーションを意味する。当業者には公知であるように、ロボットコンフィギュレーションは、ターゲット位置２０２に到達するための、ロボットに関するロボット関節の配置構成によって定義される。ロボット２０１のＴＣＰＦは、複数のコンフィギュレーションで、ターゲット位置２０２に到達することができる。
【０００５】
ロボットプログラミングの分野において、ティーチング技術は、例えば同一のＴＣＰＦおよび各関節ｊ１〜ｊ６についての同一の値を有することによって、再現可能なやり方で、各ロボットターゲット位置にどのように到達できるかについての、（例えば、プログラムのダウンロードによる）物理的なロボットにティーチングするための技術または（例えば、シミュレーションによる）仮想的なロボットにティーチングするための技術を意味する。
【０００６】
ロボットのツールの先端に関して、デカルト表現で表される所望のターゲット位置に到達するために、逆運動学計算を実施して、考えられる解のセットが求められなければならない。そのセットの各解は、ロボットのツールの先端をターゲット２０２まで駆動させることになる一連の関節値（例えば、ｊｖ１、ｊｖ２、ｊｖ３、ｊｖ４、ｊｖ５、ｊｖ６）として表すことができる。例えば、図２において、ウィンドウ２０３には、それぞれ−８０、９０、０、６０、０、８０である関節値ｊｖ１、ｊｖ２、ｊｖ３、ｊｖ４、ｊｖ５、ｊｖ６を用いる解が示されている。
【０００７】
典型的には、産業用ロボットにおいては、逆運動学計算によって発見された解のそれぞれが、例えば「肘を上げる」および「肘を下げる」などの対応するロボットコンフィギュレーションを有しており、これは、特異点ではない場合の解を一義的に定義するために使用することができる。
【０００８】
「特異でない」のターゲット位置に関して、考えられる解の数は有限である。通常の場合、計算された解とその対応するロボットコンフィギュレーションとの間の１対１の関係を用いる、考えられるコンフィギュレーションの有限数のセットが存在する。
【０００９】
したがって、「特異でない」ターゲット位置の場合には、所定の特定のロボットコンフィギュレーションが、逆運動学計算によって一義的に発見することができる１つの所定の特定の解を決定する。
【００１０】
特異であるターゲット位置は、論理的には、逆運動学計算が無限数の解を返すターゲット位置として定義される。現実的には、特異であるターゲット位置は、ここでは、逆運動学が少なくとも１つのコンフィギュレーションについて複数の解を返すターゲット位置として定義される。
【００１１】
特異点の場合、ターゲット位置までロボットを駆動させることができる複数の解、すなわち複数の一連の関節値が存在する可能性があるという事実は、種々のそのような解決策が同一のロボットコンフィギュレーションを有していることを暗示している。
【００１２】
したがって、ターゲットが複数の特異点を有している場合には、ロボットコンフィギュレーションを割り当てる際の典型的なロボットティーチングプロセスが、残念なことに非常に問題となる。実際のところ、種々の考えられる代替的な解が複数存在する可能性があるという事実に起因して、一貫性のある解および／または各解が、生産現場において、またはロボットプログラム検証およびロボットプログラム確認に使用される任意のオフラインコンピュータ支援ロボティクスツールにおいて産業用ロボットを動作させることは保証されていない。
【００１３】
したがって、改善された技術が所望されている。
【００１４】
発明の概要
種々の開示された実施形態には、所定のターゲット位置への到達をロボットにティーチングするための、方法および対応するシステムおよびコンピュータ可読媒体が含まれる。方法は、ロボットが到達する所定のターゲット位置の表現についての情報入力を受信することを含む。方法は、所定のターゲット位置が特異であるか否かを検査することを含む。所定のターゲット位置が特異でない場合、方法は、選択されたコンフィギュレーションを所定のターゲット位置に関連付けることによって、ロボットをティーチングすることを含む。所定のターゲット位置が特異である場合、方法は、割り当てられた関節値解を所定のターゲット位置に関連付けることによって、ロボットをティーチングすることを含む。
【００１５】
正確に言えば、上記の記載は、当業者が以下の詳細な説明をより良く理解できるよう、本開示の特徴および技術的な利点を一般的に概説したものである。各請求項の対象を成す本開示の付加的な特徴および利点は下記において説明する。当業者であれば理解できるように、当業者は開示された着想および特定の実施形態を、本開示の目的と同じ目的を達成するための修正または他の構造の設計の基礎として、容易に使用することができる。また当業者であれば、そのような等価の構造が最も広い形態での開示の精神および範囲から逸脱しないことを理解するであろう。
【００１６】
以下の詳細な説明に入る前に、本明細書全体にわたり使用される特定の単語および語句の定義を挙げることは有利であると思われる。つまり、「を含む」および「を備える」という表現、ならびにそれらの派生語は、限定を意図しない包含を意味している。「または」という表現は、「および／または」の意味も含んでいる。「と関連付けられた」および「それと関連付けられた」、ならびにそれらの派生語は、「を含む」、「に含まれる」、「と相互接続する」、「を含有する」、「に含有される」、「に接続する」または「と接続する」、「に結合する」または「と結合する」、「と連携可能である」、「と共働する」、「を介在する」、「に並置する」、「に近接する」、「に結び付けられる」または「と結び付けられる」、「を有する」、「の性質を有する」などを意味する場合もある。さらに「コントローラ」という用語は、ハードウェア、ファームウェア、ソフトウェア、またはそれらのうちの少なくとも２つの組み合わせで実装されていようと、少なくとも１つのオペレーションを制御する任意のデバイス、システムまたはそれらの一部を意味している。任意の特定のコントローラに関連付けられた機能を、ローカルであれリモートであれ、集中させてもよいし分散させてもよい、ということに留意されたい。特定の単語および語句に関する定義は、本明細書全体にわたり規定されており、当業者であれば、そのような定義は、大分部でなくとも、多くの事例において、そのような定義した単語および語句の以前の使用にも将来の使用にも適用されると理解するであろう。一部の用語は、多種多様な実施形態を含むことができるが、添付の特許請求の範囲では、それらの用語が特定の実施形態に明確に制限されてもよい。
【００１７】
本開示およびその利点のより完全な理解のために、添付の図面と関連させた以下の説明を参照されたい。図面において、類似の参照番号は、類似の対象を表している。
【図面の簡単な説明】
【００１８】
【図１】１つの実施形態を実現することができるデータ処理システムのブロック図を示す。
【図２】特異であるターゲットおよび第１の関節値セットを用いるロボットの第１の例示的なケースのシナリオを概略的に示す。
【図３】特異であるターゲットおよび第２の関節値セットを用いるロボットの第２の例示的なケースのシナリオを概略的に示す。
【図４】ロボットアームにおける特異点を概略的に例示するための図を概略的に示す。
【図５】本開示の実施形態による、所定のターゲットへの到達をロボットにティーチングするためのフローチャートを概略的に示す。
【００１９】
詳細な説明
下記において説明する図１から図５、および本明細書における本開示の原理を説明するために用いられる種々の実施形態は例示を目的としたものに過ぎず、いかなる点においても本開示の範囲を限定するものではないと解されるべきである。当業者であれば、本開示の基本原理を、適切に構成された任意の装置において実現できることを理解するであろう。本発明の数多くの革新的な教示を、例示的で非限定的な実施形態を参照しながら説明する。
【００２０】
手動の「トライアル・アンド・エラー」アプローチを基礎とする、ターゲット特異点のケースでの所定のターゲットへの到達をロボットにティーチングするための従来技術は、実用的でなく、時間が掛かり、エラーが生じやすく、またそうでなくてもタスクには適していない。
【００２１】
所定のターゲットへの到達をロボットにティーチングするための従来技術は、特異であるターゲットを用いるロボットに対して一貫性のある解を保証しない。
【００２２】
従来技術においては、ロボットプログラムに特異であるターゲットを使用することで、そのターゲットの解に関して予期せぬロボット関節値が生じており、これによって、不正確なシミュレーション結果がもたらされるか、再ダウンロードされるロボットプログラムにおいて誤った値がもたらされる。
【００２３】
従来技術においては、ユーザが、物理的または仮想的なロボットプログラムにおいて特異であるターゲットの使用を回避することが多かった。
【００２４】
実施形態でもって、特異であるターゲットを、仮想的または物理的なロボットプログラム計画において問題なく使用することができる。
【００２５】
実施形態でもって、仮想的なプログラムと物理的なプログラムとの間に整合性が存在する。
【００２６】
実施形態でもって、ユーザは、ロボットプログラムにおいて特異であるターゲットを使用することができるので、改善されたユーザビリティおよびフレキシビリティが存在する。
【００２７】
実施形態でもって、特異であるターゲットの解における関節値が同一であるので、改善された予測性が存在する。
【００２８】
実施形態でもって、シミュレーション結果が実際のロボット挙動を反映する予測性に起因して、改善された精度が存在する。
【００２９】
実施形態でもって、ユーザは特異であるターゲットの種々のやり方での処理を必要としないが、しかしながらソフトウェアがユーザのために自動的にその処理を実行するので、ユーザフレンドリなアプローチが存在する。
【００３０】
実施形態でもって、ロボットシミュレーションが、現実を反映して、高い信頼性で予測可能にレンダリングされる。
【００３１】
実施形態でもって、ユーザには、ロボットシミュレーションの計画のタスクにおいて高いフレキシビリティが提供される。したがって有利には、ユーザは、従来技術ではむしろ回避されていたターゲットをロボットのために使用することができる。
【００３２】
実施形態は、問題の多い特異であるロボットの関節値を自動的に識別し、関節値を、それらのターゲットにおけるロボットの関節値が本来のロボットプログラムの関節値と同一になるようにオフラインシミュレーションにアップロードする。
【００３３】
実施形態は、特異であるロボットのターゲットについての所望の解をオフラインシミュレーションにおいて設定することができる。このことは、特異であるターゲットに関して選択された解が、逆運動学計算がそれらのターゲットにおいて実施されるときには常に使用されることを保証する。このことは、オフラインシミュレーションツールの信頼性のより高いレベル、また関連するシミュレーション結果の予測性のより高いレベルに寄与する。
【００３４】
実施形態は、シミュレーション環境からの仮想プログラムのダウンロードが、同一の物理的なロボットプログラムを生成することを保証することができる。そうでない場合、従来技術によれば、１つの仮想プログラムに関して、特異点が存在する場合には種々のロボットプログラムがもたらされる可能性がある。
【００３５】
実施形態は、仮想シミュレーション環境において特異であるターゲットに関して一貫性のある解を定義することができ、またシミュレーションから物理的なプログラムにプログラムをダウンロードすることで、シミュレーション中に使用された解が物理的なロボットプログラムに書かれた解となることを保証する。
【００３６】
図１には、１つの実施形態を実現することのできるデータ処理システム１００のブロック図が示されており、このデータ処理システム１００は、例えば、特に下記において説明するようなプロセスを実行するためのソフトウェアまたは他の手段によってコンフィギュレートされたＰＤＭシステムとして実現することができ、また特に、下記において説明するような、相互接続され通信を行う複数のシステムのうちの各々１つとして実現することができる。図示されているデータ処理システム１００は、レベル２キャッシュ／ブリッジ１０４に接続されたプロセッサ１０２を含むことができ、このキャッシュ／ブリッジ１０４自体は、ローカルシステムバス１０６に接続されている。例えば、ローカルシステムバス１０６は、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）アーキテクチャのバスであってよい。図示した実施例においては、ローカルシステムバスに、メインメモリ１０８とグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０を、ディスプレイ１１１に接続することができる。
【００３７】
ローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２などの他の周辺機器も、ローカルシステムバス１０６に接続することができる。拡張バスインタフェース１１４によって、ローカルシステムバス１０６は、入力／出力（Ｉ／Ｏ）バス１１６に接続されている。Ｉ／Ｏバス１１６は、キーボード／マウスアダプタ１１８、ディスクコントローラ１２０、およびＩ／Ｏアダプタ１２２に接続されている。ディスクコントローラ１２０を記憶装置１２６と接続することができ、この記憶装置１２６は、機械使用可能または機械可読の任意の適切な記憶媒体であってよい。このような記憶媒体には、リードオンリーメモリ（ＲＯＭ）などの不揮発性でハードコーディング型の媒体、または消去可能で電気的にプログラミング可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、磁気テープ記憶媒体、およびユーザ記録可能型の媒体、例えばフロッピーディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ）もしくはディジタル多目的ディスク（ＤＶＤ）、ならびに他の周知の光学的、電気的または磁気的な記憶デバイスが含まれるが、記憶媒体は、上記のものに限定されるものではない。
【００３８】
図示した実施例において、Ｉ／Ｏバス１１６にはオーディオアダプタ１２４も接続されており、このオーディオアダプタ１２４には、サウンド再生のためにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８は、マウス、トラックボール、トラックポインタ、タッチスクリーンなどのポインティングデバイス（図示せず）のためのコネクションを提供する。
【００３９】
当業者であれば、図１に図示したハードウェアを特定の実現形態のために変更できることを理解するであろう。例えば、図示したハードウェアに加えて、またはその代わりに、光ディスクドライブなどの他の周辺機器も使用することができる。図示した実施例は、例示を目的として呈示したものに過ぎず、本開示に関して構造上の制限を暗示することを意図したものではない。
【００４０】
本開示の１つの実施形態によるデータ処理システムは、グラフィックユーザインタフェースを用いるオペレーティングシステムを含むことができる。オペレーティングシステムによって、同時に複数のディスプレイウィンドウをグラフィックユーザインタフェースに表示することができ、各ディスプレイウィンドウによって、異なるアプリケーションに対するインタフェース、または同一のアプリケーションの異なるインスタンスに対するインタフェースが提供される。ユーザは、ポインティングデバイスによって、グラフィックユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、かつ／または、所望のレスポンスを生じさせるために、マウスボタンのクリックなどのイベントを発生させることができる。
【００４１】
適切に修正が行われていれば、種々の市販のオペレーティングシステムのうちの１つ、例えばＷａｓｈｉｎｇｔｏｎ州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ社の製品であるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）の１つのバージョンを採用することができる。オペレーティングシステムは、上述したような本発明に従って修正または作成される。
【００４２】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワークは、当業者には周知であるように、公用または専用の任意のデータ処理システムネットワークもしくはインターネットも含めた複数のネットワークの組み合わせであってよい。データ処理システム１００は、ネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステム１４０は、やはりデータ処理システム１００の一部ではないが、しかしながら例えば別個の異なるデータ処理システム１００として実現することができる。
【００４３】
手首特異点の例示的なシナリオ
典型的な周知の特異である解は、ロボット位置が０に等しい手首関節を有している解である。例えば、図２および図３には、そのようなタイプの手首特異点を有しているロボット２０１の例示的なシナリオが示されている。同一の特異であるターゲット位置２０２に関して、同一のロボットコンフィギュレーションをもたらす、２つの考えられる異なる関節値解２０３、３０１が存在する。第１の解が、図２のウィンドウ２０３に示されており、そこでは６個の関節値ｊｖ１、ｊｖ２、ｊｖ３、ｊｖ４、ｊｖ５およびｊｖ６が、それぞれ−８０、９０、０、６０、０および８０である。第２の解が、図３のウィンドウ３０１に示されており、そこでは６個の関節値ｊｖ１、ｊｖ２、ｊｖ３、ｊｖ４、ｊｖ５およびｊｖ６が、それぞれ−８０、９０、０、９０、０および５０である。
【００４４】
図２及び図３に例示されているように、関節ｊ４のそれぞれの所定の値に対して、手首関節ｊ５が、値０を有する場合、これを補償することができる関節ｊ６の対応する所定の値が存在し、これによって同一のターゲット位置に位置決めされたＴＣＰＦが維持される。これについては、逆の関係も成り立つ。補償規則は、この実施例に関しては、ｊｖ４＋ｊｖ６＝（ｊｖ４＋Δ）＋（ｊｖ６−Δ）＝１４０となるようなものである。
【００４５】
図４には、特異点を有していないロボットアームを例示する図（上部）および特異点を有しているロボットアームを例示する図（下部）が概略的に示されている。図４の上部には、手首特異点が存在せず、かつ関節ｊ５  ４０２が０ではない、ロボットアームが図示されている。したがって、関節ｊ６  ４０１及び関節ｊ４  ４０３は相互に補償することができる値を有しておらず、ロボットコンフィギュレーションは一義的に決定されている。図４の下部においては、関節ｊ５  ４０５が０であり、手首特異点が存在している。関節ｊ４  ４０６の各値に関して、関節ｊ６  ４０４の対応する値が存在するので、ロボットの同一のコンフィギュレーションに対して、複数の関節値解が考えられる。
【００４６】
図５は、本開示の実施形態による、所定のターゲットへの到達をロボットにティーチングするための方法のフローチャート５００を示す。そのような方法は、例えば、上述の図１のシステム１００によって実施することができるが、しかしながら下記のプロセスにおける「システム」は、上述したようなプロセスを実施するように構成された任意の装置であってもよい。
【００４７】
動作５０５において、ロボットの所定のターゲット位置の表現についての情報入力が受信される。
【００４８】
動作５１０において、所定のターゲット位置が特異であるか否かが検査される。
【００４９】
所定のターゲットが特異ではない場合、動作５１５において、選択されたコンフィギュレーションを所定のターゲット位置に関連付けることによって、ロボットへのティーチングが行われる。
【００５０】
所定のターゲットが特異である場合、動作５２０において、割り当てられた関節値解を所定のターゲット位置に関連付けることによって、ロボットへのティーチングが行われる。
【００５１】
実施形態では、動作５０５の所定のターゲット位置の表現は、ロボットの関節値表現の形であってもよいし、ターゲット自体の幾何学的表現（例えばデカルト表現、例えばｘ，ｙ，ｚ、ｒｘ，ｒｙ，ｒｚ）であってもよい。
【００５２】
動作５０５において、ターゲット位置の表現が関節値表現である場合、実施形態では、動作５２０の割り当てられた関節値解は、例えば物理的なロボットプログラムのアップロードにより受信したような、ターゲット位置の受信した関節値表現であってよいか、または別の実施形態では、割り当てられた関節値解を、ユーザによって手動で割り当てることができるか、または例えばアップロード時にもしくは所定の関節値解を介して、自動的に割り当てることができる。
【００５３】
動作５１０において、特異点の存在の検査は、ターゲットの任意の利用可能な表現について行われる。動作５０５のターゲット位置がデガルト表現で表される実施形態では、続いて、好適には逆運動学計算が実施される。有利には、実施形態では、計算時間を短縮するために、選択された特異点（例えば、手首および／または肘など）のセットに対してのみ検査を実施するオプションを好適には選択することができる。別の実施形態では、すべてのタイプの特異点を検査するオプションを選択することが可能である。
【００５４】
典型的には、実施形態では、適切なコンフィギュレーションを選択するために、動作５１５において、逆運動学計算が使用される。実施形態では、選択されたコンフィギュレーション名のみが保存され、対応する関節値は保存されない。そのようにして、以前に選択した同一のコンフィギュレーション（例えば、肘を上げる、肘を下げる、など）を依然として使用できる間に、ユーザは、有利には、グラフィック位置（したがって、僅かに異なる関節値を有している）において僅かな改善を実施することができる。別の実施形態では、選択されたコンフィギュレーション名と共に、逆運動学計算によって求められた対応する関節値も保存される。
【００５５】
実施形態では、特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点が改めて検査され、必要に応じて、割り当てられた関節値解がクリアされ、続いて逆計算により、ターゲット位置の変化に対して段階的なアプローチでティーチングが実施される。
【００５６】
実施形態は、以下の１つまたは複数の動作を含む：
−ｉ）特異点を認識／識別する；
−ｉｉ）物理的なロボットプログラムから仮想的なロボットプログラムにアップロードする；
−ｉｉｉ）位置をティーチングする；
−ｉｖ）関節値のクリア後に、新たなターゲット位置でもってロボットをコンフィギュレートする；
−ｖ）仮想的なロボットプログラムから物理的なロボットプログラムにダウンロードする。
【００５７】
ｉ）特異点の識別
所定のターゲットが、特異であるものとして、または特異でないものとして識別される。ターゲットが特異点について検査される際には常に、特異点識別技術が使用される。そのような技術は、ターゲットの幾何学的表現に（例えば、逆運動学シミュレーションにより）作用することができるか、またはターゲットの関節値表現に直接的に作用することができる。アプローチの例には、以下のものが含まれるが、これらに限定されるものではない：
１）（１つまたは複数の）どのタイプの特異点（例えば、ｊ５における手首特異点、または肘特異点）が検索されるかを（例えば、ユーザインタフェースまたはコンフィギュレーションファイルを使用して）選択する。特定の関節および関節値について発生している特異点に関して、特異点を生じさせる関節値およびその値のマージンを規定する。このアプローチは、処理能力を節約することができる。何故ならば、各ターゲットにおける無関係な特異点タイプについての検査で時間が浪費されることはないからである。
２）ターゲットにおいて、公知のすべての特異点が連続的に検査される。このアプローチは、ユーザがどの特異点ケースを処理しなければならないかを規定する必要がないのでより簡単な用法ではあるが、しかしながら、複雑な計算に起因して性能は低くなる可能性がある。
３）一般的に、ロボットコンフィギュレーションのうちの少なくとも１つが所定のターゲットに到達することを決定するいずれの技術も、２つ以上の関節値解を有している。
【００５８】
ｉｉ）ロボットプログラムのアップロード
物理的なロボットプログラムからターゲットの関節値が読み出されると、アップロードプロセスが、ターゲットのデカルト表現を生成し、本来のプログラムにあるような関節値を与える解を識別するロボットのコンフィギュレーションを保存する。検査によってターゲットが特異であることが判明した場合、アップロードプロセスは、そのターゲットの関節値も保存する。
【００５９】
ｉｉｉ）位置のティーチング
ターゲット位置が特異でない場合には、選択された解のロボットのコンフィギュレーションがロボットのティーチングのために保存される。そうではなくターゲット位置が特異である場合には、ロボットのコンフィギュレーションに加えて、ターゲットに関して、選択された解におけるロボットの姿勢の関節値もティーチングを目的として保存される。実施形態では、ターゲットが特異でない場合には、選択された解が、逆運動学計算から生じる解のリストの中から必要とされる１つを選ぶことによって選択される。
【００６０】
ｉｖ）関節値解のクリア
実施形態では、ティーチングを目的として保存される関節値を、ターゲット位置の特定の変化の場合に、必要に応じてクリアすることができる。実際には、ターゲットがその特異点に起因して保存された関節値を有しており、かつターゲット座標（例えば、ｘ，ｙ，ｚ、ｒｘ，ｒｙ，ｒｚ）が変化する場合、ターゲットの特異点を改めて評価することができる。ターゲットがもはや特異でない場合、または保存された関節値がロボットをもはやターゲットまで駆動させない場合、保存された関節値が好適にはクリアされる。クリアは、ターゲットの座標が変化したときに、手動でまたは自動的に実行することができる。有利には、実施形態では、ターゲットを再びティーチングすることが可能である。代替的に、動きを２つのサブステップに分割することが可能である：
−ロボットを保存された関節値に向けて前進させる（ロボットは古いターゲットに到達することになる）；
−（新たなターゲットに起因する）Δに関して、通常の逆計算を使用する。このアプローチは、有利には、ターゲットの小さい動きを補償することができ、これは特に、３Ｄの物体が回転され再配置されるシナリオにとって便利である。
【００６１】
ｖ）ロボットプログラムのダウンロード
ターゲットが特異であり、かつ解に関して保存された関節値を有している場合、ダウンロードプロセスがそれらの値を物理的なロボットプログラムに書き込む。そうでない場合、関節値が、（選択されたコンフィギュレーションに応じた）ターゲット座標についての逆運動学を使用して計算される。
【００６２】
実施形態では、ターゲット位置が、特異点に起因して、保存された関節値解を有している場合、保存された関節値解が、ロボットをターゲット位置へと駆動させるかが検査され、駆動させる場合、それらの関節値に関して有利には、解を得るための逆運動学計算を実行する必要はない。
【００６３】
従来技術においては、シミュレーションのためのロボットソフトウェアのアップロードに問題が存在していた。ロボットシミュレーションにおけるユーザの典型的なタスクは、ユーザが、既存のロボットプログラムをオフラインのシミュレーション環境にアップロードし、そのロボットプログラムを検証、検査および評価することである。ロボットプログラムは、各ターゲット位置に関するロボット関節値についての情報を含んでいる。シミュレーション環境においてターゲットを表現し、それによってそれらのターゲットを後に操作できるようにするために、アップロードプロセスは、各ターゲットの関節値を３Ｄ幾何学的表現（ｘ，ｙ，ｚ、ｒｘ，ｒｙ，ｒｚ）に変換する。ロボットのコンフィギュレーションも、変換されたターゲット毎に関連付けられる。このプロシージャに関連する問題は、ロボットについて特異のターゲットが場合する場合、アップロードプロセスの変換結果についての逆運動学の計算の多くが、（同一のコンフィギュレーションを用いたとしても）本来のロボットプログラムにおける本来の関節値とは異なる一連の種々の関節値をもたらしていたということであった。その結果、ユーザは、残念ながら、オフラインシミュレーション製品に関して、特異であるターゲットを含むシミュレートされたロボットプログラムが、アップロードされた本来の物理的なロボットプログラムと整合していない、例えばサイクル時間の計算における種々の不正確性および／または他の機器との衝突を引き起こすということを経験していた。
【００６４】
本開示の１つの実施例を詳細に説明したが、当業者であれば、本発明の最も一般的な思想および範囲から逸脱することなく、種々の変更、置換、変形および改善を行えることを理解するであろう。
【００６５】
本願明細書の記載事項はいずれも、いずれかの特定の構成要素、ステップまたは機能が、特許請求の範囲に含まれるべき本質的な要素であることを暗示すると解してはならず、特許対象の範囲を特定するのは、特許査定時の請求の範囲のみである。
【図１】
2020505244.tif 000003
【図２】
2020505244.tif 000004
【図３】
2020505244.tif 000005
【図４】
2020505244.tif 000006
【図５】
2020505244.tif 000007
【国際調査報告】
2020505244.tif 000008
2020505244.tif 000009