IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ジーメンス インダストリー ソフトウェア リミテッドの特許一覧

特許7222898ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム
<>
  • 特許-ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム 図1
  • 特許-ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム 図2
  • 特許-ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム 図3
  • 特許-ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム 図4
  • 特許-ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-07
(45)【発行日】2023-02-15
(54)【発明の名称】ロボット製造での所定のターゲットへの到達をロボットにティーチングするための方法およびシステム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20230208BHJP
【FI】
B25J9/22 A
【請求項の数】 15
(21)【出願番号】P 2019542422
(86)(22)【出願日】2018-06-08
(65)【公表番号】
(43)【公表日】2020-02-20
(86)【国際出願番号】 IB2018000621
(87)【国際公開番号】W WO2018229540
(87)【国際公開日】2018-12-20
【審査請求日】2019-07-31
【審判番号】
【審判請求日】2020-09-07
(31)【優先権主張番号】62/518,081
(32)【優先日】2017-06-12
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】519279937
【氏名又は名称】ジーメンス インダストリー ソフトウェア リミテッド
【氏名又は名称原語表記】Siemens Industry Software Ltd
【住所又は居所原語表記】2 Negev St., 7019900 Airport City, Israel
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100113974
【弁理士】
【氏名又は名称】田中 拓人
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100135633
【弁理士】
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】モシェ ハザン
(72)【発明者】
【氏名】グイ バラク
(72)【発明者】
【氏名】ゾハー ベンガッド
(72)【発明者】
【氏名】ロニ ブラチェル
(72)【発明者】
【氏名】ヨナ エイラ
(72)【発明者】
【氏名】イェール セロル
(72)【発明者】
【氏名】ジル ヴェライ
【合議体】
【審判長】見目 省二
【審判官】田々井 正吾
【審判官】大山 健
(56)【参考文献】
【文献】特開昭63-132307(JP,A)
【文献】特開平02-218569(JP,A)
【文献】国際公開第2014/083695(WO,A1)
【文献】特開2010-201592(JP,A)
【文献】特開2015-085427(JP,A)
【文献】特開2010-076058(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/00 - 9/22
(57)【特許請求の範囲】
【請求項1】
データ処理システムによって、所定のターゲットへの到達を、複数の関節を有するロボットにティーチングするための方法において、
a)前記ロボットが到達する所定のターゲット位置の表現についての情報入力を受信するステップと、
b)前記複数の関節のうちの1つの関節の関節値を他の関節の関節値によって補償できるか否かを検査することにより、または、前記ターゲットのコンフィギュレーションのうちの少なくとも1つが2つ以上の考えられる関節値解を有するか否かを判断することにより、前記所定のターゲット位置が特異であるか否かを検査するステップと、
c)前記所定のターゲット位置が特異でない場合、関節値解を保存せずに、関節値解と1対1の関係にある選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けて保存し、前記ロボットをティーチングするステップと、
d)前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けて保存することによって、前記ロボットをティーチングするステップと、
e)特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点を改めて検査し、ターゲットがもはや特異でない場合、または保存された関節値がロボットをもはやターゲットまで駆動させない場合、保存された関節値をクリアし、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングを実施するステップと、
を備える、方法。
【請求項2】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項1記載の方法。
【請求項3】
項目a)の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項1または2記載の方法。
【請求項4】
前記ターゲット位置が幾何学的表現で表される場合、項目b)の前記特異についての検査を、逆計算の実施後に行う、請求項1から3までのいずれか1項記載の方法。
【請求項5】
項目b)の前記特異についての検査を、所定の特異点の選択に対してのみ行う、請求項1から4までのいずれか1項記載の方法。
【請求項6】
データ処理システムにおいて、
プロセッサと、
アクセス可能なメモリと、を備え、
前記データ処理システムは、特に、
a)複数の関節を有するロボットが到達する所定のターゲット位置の表現についての情報入力を受信し、
b)前記複数の関節のうちの1つの関節の関節値を他の関節の関節値によって補償できるか否かを検査することにより、または、ターゲットのコンフィギュレーションのうちの少なくとも1つが2つ以上の考えられる関節値解を有するか否かを判断することにより、前記所定のターゲット位置が特異であるか否かを検査し、
c)前記所定のターゲット位置が特異でない場合、関節値解を保存せずに、関節値解と1対1の関係にある選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けて保存し、前記ロボットをティーチングし、
d)前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けて保存することによって、前記ロボットをティーチングし、
e)特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点を改めて検査し、ターゲットがもはや特異でない場合、または保存された関節値がロボットをもはやターゲットまで駆動させない場合、保存された関節値をクリアし、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングを実施する
ように構成されている、データ処理システム。
【請求項7】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項6記載のデータ処理システム。
【請求項8】
項目a)の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項6または7記載のデータ処理システム。
【請求項9】
前記ターゲット位置が幾何学的表現で表される場合、項目b)の前記特異についての検査は、逆計算の実施後に行われる、請求項6から8までのいずれか1項記載のデータ処理システム。
【請求項10】
項目b)の前記特異についての検査は、所定の特異点の選択に対してのみ行われる、請求項6から9までのいずれか1項記載のデータ処理システム。
【請求項11】
実行可能な命令がコーディングされている、非一時的なコンピュータ可読媒体において、
前記命令が実行されると、1つまたは複数のデータ処理システムに、
a)複数の関節を有するロボットが到達する所定のターゲット位置の表現についての情報入力を受信させ、
b)前記複数の関節のうちの1つの関節の関節値を他の関節の関節値によって補償できるか否かを検査することにより、または、ターゲットのコンフィギュレーションのうちの少なくとも1つが2つ以上の考えられる関節値解を有するか否かを判断することにより、前記所定のターゲット位置が特異であるか否かを検査させ、
c)前記所定のターゲット位置が特異でない場合、関節値解を保存せずに、関節値解と1対1の関係にある選択されたコンフィギュレーションを前記所定のターゲット位置に関連付けて保存し、前記ロボットのティーチングを実施させ、
d)前記所定のターゲット位置が特異である場合、割り当てられた関節値解を前記所定のターゲット位置に関連付けて保存することによって、前記ロボットのティーチングを実施させ、
e)特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点を改めて検査し、ターゲットがもはや特異でない場合、または保存された関節値がロボットをもはやターゲットまで駆動させない場合、保存された関節値をクリアし、続いて逆計算により、前記ターゲット位置の前記変化に対して段階的なアプローチで前記ティーチングを実施させる
非一時的なコンピュータ可読媒体。
【請求項12】
前記割り当てられた関節値解は、ロボットプログラムのアップロードにより受信されるか、手動でまたは自動的に割り当てられた所定の解である、請求項11記載の非一時的なコンピュータ可読媒体。
【請求項13】
項目a)の前記所定のターゲット位置の前記表現は、幾何学的表現であってよいか、または対応するロボットコンフィギュレーションの関節値表現であってよい、請求項11または12記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記ターゲット位置が幾何学的表現で表される場合、項目b)の前記特異についての検査は、逆計算の実施後に行われる、請求項11から13までのいずれか1項記載の非一時的なコンピュータ可読媒体。
【請求項15】
項目b)の前記特異についての検査は、所定の特異点の選択に対してのみ行われる、請求項11から14までのいずれか1項記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、コンピュータ支援による設計、視覚化および製造(「CAD」)システム、製品ライフサイクル管理(「PLM」)システム、製品情報管理(「PDM」)システム、ならびに製品および他の項目のデータを管理する同等のシステム(これらをまとめて「製品情報管理」システムまたはPDMシステムと称する)に関する。より詳細には、本開示は、製造環境シミュレーションに関する。
【背景技術】
【0002】
典型的な産業用ロボットは、複数の関節(例えば、通常は6個またはそれ以上の関節)と、少なくとも1つのキネマティックチェーンと、を有している。典型的には、ロボットのキネマティックチェーンにおいては、通常はその端部においては、機械加工される部品に通常位置するターゲット位置においてロボットタスクを実行するための産業用ツールが取り付けられている。ツールによって実行されるロボットタスクの例には、溶接、スポット溶接、アーク溶接、塗装、コーティング、ドリル加工およびリベット打ち、レーザ切断、縁曲げ、および部品においてツールによって実行される他のタイプの製造作業タスクが含まれるが、ロボットタスクはこれらに限定されるものではない。ロボットのキネマティックチェーンの端部は、ツールセンターポイントフレーム(「TCPF:Tool Center Point Frame」)またはツールセンターポイント(「TCP:Tool Center Point」)としても公知である。ツールがロボットのキネマティックチェーンに取り付けられている場合、TCPFは、ツールの端部である。
[先行技術文献]
[特許文献]
[特許文献1]独国特許出願公開第102012022190号明細書
[特許文献2]国際公開第2017/167687号
[非特許文献]
[非特許文献1]RAKHODAEI, H. "Design and Analysis of a 9 DOF Hybrid Parallel Robot "; The University of Birmingham, School of Mechanical Engineering; Publication [online]. October 2013 [retrieved 17 August 2017]. Retrieved from the Internet: <URL: http://etheses.bham.ac.uk/4668/1/Rakhodaeil3PhD.pdf>; pp 1-100
【0003】
図2および図3には、6個の関節j1、j2、j3、j4、j5、j6を備えたロボット201の概略図が示されている。図2および図3において、ロボット201のキネマティックチェーンの端部202はTCPFでもあり、またターゲット位置に位置決めされている。図2および図3において、機械加工される部品は図示されていない。
【0004】
本明細書において使用されているように、用語「コンフィギュレーション」とは、ロボットコンフィギュレーションを意味する。当業者には公知であるように、ロボットコンフィギュレーションは、ターゲット位置202に到達するための、ロボットに関するロボット関節の配置構成によって定義される。ロボット201のTCPFは、複数のコンフィギュレーションで、ターゲット位置202に到達することができる。
【0005】
ロボットプログラミングの分野において、ティーチング技術は、例えば同一のTCPFおよび各関節j1~j6についての同一の値を有することによって、再現可能なやり方で、各ロボットターゲット位置にどのように到達できるかについての、(例えば、プログラムのダウンロードによる)物理的なロボットにティーチングするための技術または(例えば、シミュレーションによる)仮想的なロボットにティーチングするための技術を意味する。
【0006】
ロボットのツールの先端に関して、デカルト表現で表される所望のターゲット位置に到達するために、逆運動学計算を実施して、考えられる解のセットが求められなければならない。そのセットの各解は、ロボットのツールの先端をターゲット202まで駆動させることになる一連の関節値(例えば、jv1、jv2、jv3、jv4、jv5、jv6)として表すことができる。例えば、図2において、ウィンドウ203には、それぞれ-80、90、0、60、0、80である関節値jv1、jv2、jv3、jv4、jv5、jv6を用いる解が示されている。
【0007】
典型的には、産業用ロボットにおいては、逆運動学計算によって発見された解のそれぞれが、例えば「肘を上げる」および「肘を下げる」などの対応するロボットコンフィギュレーションを有しており、これは、特異点ではない場合の解を一義的に定義するために使用することができる。
【0008】
「特異でない」のターゲット位置に関して、考えられる解の数は有限である。通常の場合、計算された解とその対応するロボットコンフィギュレーションとの間の1対1の関係を用いる、考えられるコンフィギュレーションの有限数のセットが存在する。
【0009】
したがって、「特異でない」ターゲット位置の場合には、所定の特定のロボットコンフィギュレーションが、逆運動学計算によって一義的に発見することができる1つの所定の特定の解を決定する。
【0010】
特異であるターゲット位置は、論理的には、逆運動学計算が無限数の解を返すターゲット位置として定義される。現実的には、特異であるターゲット位置は、ここでは、逆運動学が少なくとも1つのコンフィギュレーションについて複数の解を返すターゲット位置として定義される。
【0011】
特異点の場合、ターゲット位置までロボットを駆動させることができる複数の解、すなわち複数の一連の関節値が存在する可能性があるという事実は、種々のそのような解決策が同一のロボットコンフィギュレーションを有していることを暗示している。
【0012】
したがって、ターゲットが複数の特異点を有している場合には、ロボットコンフィギュレーションを割り当てる際の典型的なロボットティーチングプロセスが、残念なことに非常に問題となる。実際のところ、種々の考えられる代替的な解が複数存在する可能性があるという事実に起因して、一貫性のある解および/または各解が、生産現場において、またはロボットプログラム検証およびロボットプログラム確認に使用される任意のオフラインコンピュータ支援ロボティクスツールにおいて産業用ロボットを動作させることは保証されていない。
【0013】
したがって、改善された技術が所望されている。
【0014】
発明の概要
種々の開示された実施形態には、所定のターゲット位置への到達をロボットにティーチングするための、方法および対応するシステムおよびコンピュータ可読媒体が含まれる。方法は、ロボットが到達する所定のターゲット位置の表現についての情報入力を受信することを含む。方法は、所定のターゲット位置が特異であるか否かを検査することを含む。所定のターゲット位置が特異でない場合、方法は、選択されたコンフィギュレーションを所定のターゲット位置に関連付けることによって、ロボットをティーチングすることを含む。所定のターゲット位置が特異である場合、方法は、割り当てられた関節値解を所定のターゲット位置に関連付けることによって、ロボットをティーチングすることを含む。
【0015】
正確に言えば、上記の記載は、当業者が以下の詳細な説明をより良く理解できるよう、本開示の特徴および技術的な利点を一般的に概説したものである。各請求項の対象を成す本開示の付加的な特徴および利点は下記において説明する。当業者であれば理解できるように、当業者は開示された着想および特定の実施形態を、本開示の目的と同じ目的を達成するための修正または他の構造の設計の基礎として、容易に使用することができる。また当業者であれば、そのような等価の構造が最も広い形態での開示の精神および範囲から逸脱しないことを理解するであろう。
【0016】
以下の詳細な説明に入る前に、本明細書全体にわたり使用される特定の単語および語句の定義を挙げることは有利であると思われる。つまり、「を含む」および「を備える」という表現、ならびにそれらの派生語は、限定を意図しない包含を意味している。「または」という表現は、「および/または」の意味も含んでいる。「と関連付けられた」および「それと関連付けられた」、ならびにそれらの派生語は、「を含む」、「に含まれる」、「と相互接続する」、「を含有する」、「に含有される」、「に接続する」または「と接続する」、「に結合する」または「と結合する」、「と連携可能である」、「と共働する」、「を介在する」、「に並置する」、「に近接する」、「に結び付けられる」または「と結び付けられる」、「を有する」、「の性質を有する」などを意味する場合もある。さらに「コントローラ」という用語は、ハードウェア、ファームウェア、ソフトウェア、またはそれらのうちの少なくとも2つの組み合わせで実装されていようと、少なくとも1つのオペレーションを制御する任意のデバイス、システムまたはそれらの一部を意味している。任意の特定のコントローラに関連付けられた機能を、ローカルであれリモートであれ、集中させてもよいし分散させてもよい、ということに留意されたい。特定の単語および語句に関する定義は、本明細書全体にわたり規定されており、当業者であれば、そのような定義は、大分部でなくとも、多くの事例において、そのような定義した単語および語句の以前の使用にも将来の使用にも適用されると理解するであろう。一部の用語は、多種多様な実施形態を含むことができるが、添付の特許請求の範囲では、それらの用語が特定の実施形態に明確に制限されてもよい。
【0017】
本開示およびその利点のより完全な理解のために、添付の図面と関連させた以下の説明を参照されたい。図面において、類似の参照番号は、類似の対象を表している。
【図面の簡単な説明】
【0018】
図1】1つの実施形態を実現することができるデータ処理システムのブロック図を示す。
図2】特異であるターゲットおよび第1の関節値セットを用いるロボットの第1の例示的なケースのシナリオを概略的に示す。
図3】特異であるターゲットおよび第2の関節値セットを用いるロボットの第2の例示的なケースのシナリオを概略的に示す。
図4】ロボットアームにおける特異点を概略的に例示するための図を概略的に示す。
図5】本開示の実施形態による、所定のターゲットへの到達をロボットにティーチングするためのフローチャートを概略的に示す。
【0019】
詳細な説明
下記において説明する図1から図5、および本明細書における本開示の原理を説明するために用いられる種々の実施形態は例示を目的としたものに過ぎず、いかなる点においても本開示の範囲を限定するものではないと解されるべきである。当業者であれば、本開示の基本原理を、適切に構成された任意の装置において実現できることを理解するであろう。本発明の数多くの革新的な教示を、例示的で非限定的な実施形態を参照しながら説明する。
【0020】
手動の「トライアル・アンド・エラー」アプローチを基礎とする、ターゲット特異点のケースでの所定のターゲットへの到達をロボットにティーチングするための従来技術は、実用的でなく、時間が掛かり、エラーが生じやすく、またそうでなくてもタスクには適していない。
【0021】
所定のターゲットへの到達をロボットにティーチングするための従来技術は、特異であるターゲットを用いるロボットに対して一貫性のある解を保証しない。
【0022】
従来技術においては、ロボットプログラムに特異であるターゲットを使用することで、そのターゲットの解に関して予期せぬロボット関節値が生じており、これによって、不正確なシミュレーション結果がもたらされるか、再ダウンロードされるロボットプログラムにおいて誤った値がもたらされる。
【0023】
従来技術においては、ユーザが、物理的または仮想的なロボットプログラムにおいて特異であるターゲットの使用を回避することが多かった。
【0024】
実施形態でもって、特異であるターゲットを、仮想的または物理的なロボットプログラム計画において問題なく使用することができる。
【0025】
実施形態でもって、仮想的なプログラムと物理的なプログラムとの間に整合性が存在する。
【0026】
実施形態でもって、ユーザは、ロボットプログラムにおいて特異であるターゲットを使用することができるので、改善されたユーザビリティおよびフレキシビリティが存在する。
【0027】
実施形態でもって、特異であるターゲットの解における関節値が同一であるので、改善された予測性が存在する。
【0028】
実施形態でもって、シミュレーション結果が実際のロボット挙動を反映する予測性に起因して、改善された精度が存在する。
【0029】
実施形態でもって、ユーザは特異であるターゲットの種々のやり方での処理を必要としないが、しかしながらソフトウェアがユーザのために自動的にその処理を実行するので、ユーザフレンドリなアプローチが存在する。
【0030】
実施形態でもって、ロボットシミュレーションが、現実を反映して、高い信頼性で予測可能にレンダリングされる。
【0031】
実施形態でもって、ユーザには、ロボットシミュレーションの計画のタスクにおいて高いフレキシビリティが提供される。したがって有利には、ユーザは、従来技術ではむしろ回避されていたターゲットをロボットのために使用することができる。
【0032】
実施形態は、問題の多い特異であるロボットの関節値を自動的に識別し、関節値を、それらのターゲットにおけるロボットの関節値が本来のロボットプログラムの関節値と同一になるようにオフラインシミュレーションにアップロードする。
【0033】
実施形態は、特異であるロボットのターゲットについての所望の解をオフラインシミュレーションにおいて設定することができる。このことは、特異であるターゲットに関して選択された解が、逆運動学計算がそれらのターゲットにおいて実施されるときには常に使用されることを保証する。このことは、オフラインシミュレーションツールの信頼性のより高いレベル、また関連するシミュレーション結果の予測性のより高いレベルに寄与する。
【0034】
実施形態は、シミュレーション環境からの仮想プログラムのダウンロードが、同一の物理的なロボットプログラムを生成することを保証することができる。そうでない場合、従来技術によれば、1つの仮想プログラムに関して、特異点が存在する場合には種々のロボットプログラムがもたらされる可能性がある。
【0035】
実施形態は、仮想シミュレーション環境において特異であるターゲットに関して一貫性のある解を定義することができ、またシミュレーションから物理的なプログラムにプログラムをダウンロードすることで、シミュレーション中に使用された解が物理的なロボットプログラムに書かれた解となることを保証する。
【0036】
図1には、1つの実施形態を実現することのできるデータ処理システム100のブロック図が示されており、このデータ処理システム100は、例えば、特に下記において説明するようなプロセスを実行するためのソフトウェアまたは他の手段によってコンフィギュレートされたPDMシステムとして実現することができ、また特に、下記において説明するような、相互接続され通信を行う複数のシステムのうちの各々1つとして実現することができる。図示されているデータ処理システム100は、レベル2キャッシュ/ブリッジ104に接続されたプロセッサ102を含むことができ、このキャッシュ/ブリッジ104自体は、ローカルシステムバス106に接続されている。例えば、ローカルシステムバス106は、PCI(peripheral component interconnect)アーキテクチャのバスであってよい。図示した実施例においては、ローカルシステムバスに、メインメモリ108とグラフィックアダプタ110も接続されている。グラフィックアダプタ110を、ディスプレイ111に接続することができる。
【0037】
ローカルエリアネットワーク(LAN)/ワイドエリアネットワーク/ワイヤレス(例えばWiFi)アダプタ112などの他の周辺機器も、ローカルシステムバス106に接続することができる。拡張バスインタフェース114によって、ローカルシステムバス106は、入力/出力(I/O)バス116に接続されている。I/Oバス116は、キーボード/マウスアダプタ118、ディスクコントローラ120、およびI/Oアダプタ122に接続されている。ディスクコントローラ120を記憶装置126と接続することができ、この記憶装置126は、機械使用可能または機械可読の任意の適切な記憶媒体であってよい。このような記憶媒体には、リードオンリーメモリ(ROM)などの不揮発性でハードコーディング型の媒体、または消去可能で電気的にプログラミング可能なリードオンリーメモリ(EEPROM)、磁気テープ記憶媒体、およびユーザ記録可能型の媒体、例えばフロッピーディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリーメモリ(CD-ROM)もしくはディジタル多目的ディスク(DVD)、ならびに他の周知の光学的、電気的または磁気的な記憶デバイスが含まれるが、記憶媒体は、上記のものに限定されるものではない。
【0038】
図示した実施例において、I/Oバス116にはオーディオアダプタ124も接続されており、このオーディオアダプタ124には、サウンド再生のためにスピーカ(図示せず)を接続することができる。キーボード/マウスアダプタ118は、マウス、トラックボール、トラックポインタ、タッチスクリーンなどのポインティングデバイス(図示せず)のためのコネクションを提供する。
【0039】
当業者であれば、図1に図示したハードウェアを特定の実現形態のために変更できることを理解するであろう。例えば、図示したハードウェアに加えて、またはその代わりに、光ディスクドライブなどの他の周辺機器も使用することができる。図示した実施例は、例示を目的として呈示したものに過ぎず、本開示に関して構造上の制限を暗示することを意図したものではない。
【0040】
本開示の1つの実施形態によるデータ処理システムは、グラフィックユーザインタフェースを用いるオペレーティングシステムを含むことができる。オペレーティングシステムによって、同時に複数のディスプレイウィンドウをグラフィックユーザインタフェースに表示することができ、各ディスプレイウィンドウによって、異なるアプリケーションに対するインタフェース、または同一のアプリケーションの異なるインスタンスに対するインタフェースが提供される。ユーザは、ポインティングデバイスによって、グラフィックユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、かつ/または、所望のレスポンスを生じさせるために、マウスボタンのクリックなどのイベントを発生させることができる。
【0041】
適切に修正が行われていれば、種々の市販のオペレーティングシステムのうちの1つ、例えばWashington州RedmondのMicrosoft社の製品であるMicrosoft Windows(登録商標)の1つのバージョンを採用することができる。オペレーティングシステムは、上述したような本発明に従って修正または作成される。
【0042】
LAN/WAN/ワイヤレスアダプタ112を(データ処理システム100の一部ではない)ネットワーク130に接続することができ、このネットワークは、当業者には周知であるように、公用または専用の任意のデータ処理システムネットワークもしくはインターネットも含めた複数のネットワークの組み合わせであってよい。データ処理システム100は、ネットワーク130を介してサーバシステム140と通信することができ、このサーバシステム140は、やはりデータ処理システム100の一部ではないが、しかしながら例えば別個の異なるデータ処理システム100として実現することができる。
【0043】
手首特異点の例示的なシナリオ
典型的な周知の特異である解は、ロボット位置が0に等しい手首関節を有している解である。例えば、図2および図3には、そのようなタイプの手首特異点を有しているロボット201の例示的なシナリオが示されている。同一の特異であるターゲット位置202に関して、同一のロボットコンフィギュレーションをもたらす、2つの考えられる異なる関節値解203、301が存在する。第1の解が、図2のウィンドウ203に示されており、そこでは6個の関節値jv1、jv2、jv3、jv4、jv5およびjv6が、それぞれ-80、90、0、60、0および80である。第2の解が、図3のウィンドウ301に示されており、そこでは6個の関節値jv1、jv2、jv3、jv4、jv5およびjv6が、それぞれ-80、90、0、90、0および50である。
【0044】
図2及び図3に例示されているように、関節j4のそれぞれの所定の値に対して、手首関節j5が、値0を有する場合、これを補償することができる関節j6の対応する所定の値が存在し、これによって同一のターゲット位置に位置決めされたTCPFが維持される。これについては、逆の関係も成り立つ。補償規則は、この実施例に関しては、jv4+jv6=(jv4+Δ)+(jv6-Δ)=140となるようなものである。
【0045】
図4には、特異点を有していないロボットアームを例示する図(上部)および特異点を有しているロボットアームを例示する図(下部)が概略的に示されている。図4の上部には、手首特異点が存在せず、かつ関節j5 402が0ではない、ロボットアームが図示されている。したがって、関節j6 401及び関節j4 403は相互に補償することができる値を有しておらず、ロボットコンフィギュレーションは一義的に決定されている。図4の下部においては、関節j5 405が0であり、手首特異点が存在している。関節j4 406の各値に関して、関節j6 404の対応する値が存在するので、ロボットの同一のコンフィギュレーションに対して、複数の関節値解が考えられる。
【0046】
図5は、本開示の実施形態による、所定のターゲットへの到達をロボットにティーチングするための方法のフローチャート500を示す。そのような方法は、例えば、上述の図1のシステム100によって実施することができるが、しかしながら下記のプロセスにおける「システム」は、上述したようなプロセスを実施するように構成された任意の装置であってもよい。
【0047】
動作505において、ロボットの所定のターゲット位置の表現についての情報入力が受信される。
【0048】
動作510において、所定のターゲット位置が特異であるか否かが検査される。
【0049】
所定のターゲットが特異ではない場合、動作515において、選択されたコンフィギュレーションを所定のターゲット位置に関連付けることによって、ロボットへのティーチングが行われる。
【0050】
所定のターゲットが特異である場合、動作520において、割り当てられた関節値解を所定のターゲット位置に関連付けることによって、ロボットへのティーチングが行われる。
【0051】
実施形態では、動作505の所定のターゲット位置の表現は、ロボットの関節値表現の形であってもよいし、ターゲット自体の幾何学的表現(例えばデカルト表現、例えばx,y,z、rx,ry,rz)であってもよい。
【0052】
動作505において、ターゲット位置の表現が関節値表現である場合、実施形態では、動作520の割り当てられた関節値解は、例えば物理的なロボットプログラムのアップロードにより受信したような、ターゲット位置の受信した関節値表現であってよいか、または別の実施形態では、割り当てられた関節値解を、ユーザによって手動で割り当てることができるか、または例えばアップロード時にもしくは所定の関節値解を介して、自動的に割り当てることができる。
【0053】
動作510において、特異点の存在の検査は、ターゲットの任意の利用可能な表現について行われる。動作505のターゲット位置がデガルト表現で表される実施形態では、続いて、好適には逆運動学計算が実施される。有利には、実施形態では、計算時間を短縮するために、選択された特異点(例えば、手首および/または肘など)のセットに対してのみ検査を実施するオプションを好適には選択することができる。別の実施形態では、すべてのタイプの特異点を検査するオプションを選択することが可能である。
【0054】
典型的には、実施形態では、適切なコンフィギュレーションを選択するために、動作515において、逆運動学計算が使用される。実施形態では、選択されたコンフィギュレーション名のみが保存され、対応する関節値は保存されない。そのようにして、以前に選択した同一のコンフィギュレーション(例えば、肘を上げる、肘を下げる、など)を依然として使用できる間に、ユーザは、有利には、グラフィック位置(したがって、僅かに異なる関節値を有している)において僅かな改善を実施することができる。別の実施形態では、選択されたコンフィギュレーション名と共に、逆運動学計算によって求められた対応する関節値も保存される。
【0055】
実施形態では、特異であるターゲット位置が変化する場合、新たなターゲット位置の特異点が改めて検査され、必要に応じて、割り当てられた関節値解がクリアされ、続いて逆計算により、ターゲット位置の変化に対して段階的なアプローチでティーチングが実施される。
【0056】
実施形態は、以下の1つまたは複数の動作を含む:
-i)特異点を認識/識別する;
-ii)物理的なロボットプログラムから仮想的なロボットプログラムにアップロードする;
-iii)位置をティーチングする;
-iv)関節値のクリア後に、新たなターゲット位置でもってロボットをコンフィギュレートする;
-v)仮想的なロボットプログラムから物理的なロボットプログラムにダウンロードする。
【0057】
i)特異点の識別
所定のターゲットが、特異であるものとして、または特異でないものとして識別される。ターゲットが特異点について検査される際には常に、特異点識別技術が使用される。そのような技術は、ターゲットの幾何学的表現に(例えば、逆運動学シミュレーションにより)作用することができるか、またはターゲットの関節値表現に直接的に作用することができる。アプローチの例には、以下のものが含まれるが、これらに限定されるものではない:
1)(1つまたは複数の)どのタイプの特異点(例えば、j5における手首特異点、または肘特異点)が検索されるかを(例えば、ユーザインタフェースまたはコンフィギュレーションファイルを使用して)選択する。特定の関節および関節値について発生している特異点に関して、特異点を生じさせる関節値およびその値のマージンを規定する。このアプローチは、処理能力を節約することができる。何故ならば、各ターゲットにおける無関係な特異点タイプについての検査で時間が浪費されることはないからである。
2)ターゲットにおいて、公知のすべての特異点が連続的に検査される。このアプローチは、ユーザがどの特異点ケースを処理しなければならないかを規定する必要がないのでより簡単な用法ではあるが、しかしながら、複雑な計算に起因して性能は低くなる可能性がある。
3)一般的に、ロボットコンフィギュレーションのうちの少なくとも1つが所定のターゲットに到達することを決定するいずれの技術も、2つ以上の関節値解を有している。
【0058】
ii)ロボットプログラムのアップロード
物理的なロボットプログラムからターゲットの関節値が読み出されると、アップロードプロセスが、ターゲットのデカルト表現を生成し、本来のプログラムにあるような関節値を与える解を識別するロボットのコンフィギュレーションを保存する。検査によってターゲットが特異であることが判明した場合、アップロードプロセスは、そのターゲットの関節値も保存する。
【0059】
iii)位置のティーチング
ターゲット位置が特異でない場合には、選択された解のロボットのコンフィギュレーションがロボットのティーチングのために保存される。そうではなくターゲット位置が特異である場合には、ロボットのコンフィギュレーションに加えて、ターゲットに関して、選択された解におけるロボットの姿勢の関節値もティーチングを目的として保存される。実施形態では、ターゲットが特異でない場合には、選択された解が、逆運動学計算から生じる解のリストの中から必要とされる1つを選ぶことによって選択される。
【0060】
iv)関節値解のクリア
実施形態では、ティーチングを目的として保存される関節値を、ターゲット位置の特定の変化の場合に、必要に応じてクリアすることができる。実際には、ターゲットがその特異点に起因して保存された関節値を有しており、かつターゲット座標(例えば、x,y,z、rx,ry,rz)が変化する場合、ターゲットの特異点を改めて評価することができる。ターゲットがもはや特異でない場合、または保存された関節値がロボットをもはやターゲットまで駆動させない場合、保存された関節値が好適にはクリアされる。クリアは、ターゲットの座標が変化したときに、手動でまたは自動的に実行することができる。有利には、実施形態では、ターゲットを再びティーチングすることが可能である。代替的に、動きを2つのサブステップに分割することが可能である:
-ロボットを保存された関節値に向けて前進させる(ロボットは古いターゲットに到達することになる);
-(新たなターゲットに起因する)Δに関して、通常の逆計算を使用する。このアプローチは、有利には、ターゲットの小さい動きを補償することができ、これは特に、3Dの物体が回転され再配置されるシナリオにとって便利である。
【0061】
v)ロボットプログラムのダウンロード
ターゲットが特異であり、かつ解に関して保存された関節値を有している場合、ダウンロードプロセスがそれらの値を物理的なロボットプログラムに書き込む。そうでない場合、関節値が、(選択されたコンフィギュレーションに応じた)ターゲット座標についての逆運動学を使用して計算される。
【0062】
実施形態では、ターゲット位置が、特異点に起因して、保存された関節値解を有している場合、保存された関節値解が、ロボットをターゲット位置へと駆動させるかが検査され、駆動させる場合、それらの関節値に関して有利には、解を得るための逆運動学計算を実行する必要はない。
【0063】
従来技術においては、シミュレーションのためのロボットソフトウェアのアップロードに問題が存在していた。ロボットシミュレーションにおけるユーザの典型的なタスクは、ユーザが、既存のロボットプログラムをオフラインのシミュレーション環境にアップロードし、そのロボットプログラムを検証、検査および評価することである。ロボットプログラムは、各ターゲット位置に関するロボット関節値についての情報を含んでいる。シミュレーション環境においてターゲットを表現し、それによってそれらのターゲットを後に操作できるようにするために、アップロードプロセスは、各ターゲットの関節値を3D幾何学的表現(x,y,z、rx,ry,rz)に変換する。ロボットのコンフィギュレーションも、変換されたターゲット毎に関連付けられる。このプロシージャに関連する問題は、ロボットについて特異のターゲットが場合する場合、アップロードプロセスの変換結果についての逆運動学の計算の多くが、(同一のコンフィギュレーションを用いたとしても)本来のロボットプログラムにおける本来の関節値とは異なる一連の種々の関節値をもたらしていたということであった。その結果、ユーザは、残念ながら、オフラインシミュレーション製品に関して、特異であるターゲットを含むシミュレートされたロボットプログラムが、アップロードされた本来の物理的なロボットプログラムと整合していない、例えばサイクル時間の計算における種々の不正確性および/または他の機器との衝突を引き起こすということを経験していた。
【0064】
本開示の1つの実施例を詳細に説明したが、当業者であれば、本発明の最も一般的な思想および範囲から逸脱することなく、種々の変更、置換、変形および改善を行えることを理解するであろう。
【0065】
本願明細書の記載事項はいずれも、いずれかの特定の構成要素、ステップまたは機能が、特許請求の範囲に含まれるべき本質的な要素であることを暗示すると解してはならず、特許対象の範囲を特定するのは、特許査定時の請求の範囲のみである。
図1
図2
図3
図4
図5