JP2015112655A - 制御装置、ロボット、教示データ生成方法及びロボットシステム - Google Patents

制御装置、ロボット、教示データ生成方法及びロボットシステム Download PDF

Info

Publication number
JP2015112655A
JP2015112655A JP2013254758A JP2013254758A JP2015112655A JP 2015112655 A JP2015112655 A JP 2015112655A JP 2013254758 A JP2013254758 A JP 2013254758A JP 2013254758 A JP2013254758 A JP 2013254758A JP 2015112655 A JP2015112655 A JP 2015112655A
Authority
JP
Japan
Prior art keywords
gripping
robot
workpiece
posture
teaching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013254758A
Other languages
English (en)
Inventor
工藤 真
Makoto Kudo
真 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013254758A priority Critical patent/JP2015112655A/ja
Publication of JP2015112655A publication Critical patent/JP2015112655A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】入力受付画面を用いて入力された把持姿勢を利用して、把持部にワークを把持させることで、ユーザーにとってわかりやすい形態で、安定した把持動作を実行する教示データを生成する制御装置、ロボット、教示データ生成方法及びロボットシステム等を提供すること。【解決手段】制御装置100は、ワークの把持姿勢を入力するための入力受付画面を表示させる表示処理部110と、ロボットの教示データを生成する処理部120を含み、処理部120は、入力された把持姿勢を用いてロボットの把持部319でワークを把持させることによって、教示データを生成する。【選択図】 図1

Description

本発明は、制御装置、ロボット、教示データ生成方法及びロボットシステム等に関する。
ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には、ユーザー(教示者)がロボットのアーム等を手で動かすことでロボット動作を教示するダイレクトティーチングや、ティーチングペンダント等の操作部を操作することでロボット動作を教示するティーチングプレイバック、或いはロボットの実機は使用せずにコンピューター上でシミュレーションを用いて教示を行うオフラインティーチング等が知られている。
例えば特許文献1には、ロボットの把持部(ハンド)とワークが当接した場合にロボットが受ける力に基づいてワークの位置を検出し、検出したワークの位置を用いたロボット制御を行う手法が開示されている。
また特許文献2には、画像に基づきワークの把持部位に対応する素形状モデルの指定を受け付け、指定された素形状モデルに基づいて当該ワークの把持を適切に行う把持パターンを選択する手法が開示されている。
また特許文献3には、画像に基づきワークの複数の把持点を指定した上で、当該把持点を表すベクトル等を用いたベクトル演算により、把持位置姿勢を教示する手法が開示されている。
特開2009−220248号公報 特開2009−214212号公報 特開平11−58279号公報
特許文献1では、画像に基づいてハンドを制御し、その都度力を検出してワーク位置の検出、及びその後のワークの把持動作等を行う。そのため、動作の度に把持の仕方が変化することになり、安定した把持動作をロボットに実行させることが難しい。
特許文献2では、ロボットの実機を用いずに素形状モデルにより把持動作を教示し、また特許文献3では、同様にロボットの実機を用いずに画像に基づき決定された把持点を用いたベクトル演算により、把持動作を教示する。よっていずれの手法も、教示時には実際の把持部を用いてワークを把持させないため、安定した把持動作をロボットに実行させることが難しい。
本発明の一態様は、ワークの把持姿勢を入力するための入力受付画面を表示させる表示処理部と、ロボットの教示データを生成する処理部と、を含み、前記処理部は、入力された前記把持姿勢を用いて前記ロボットの把持部で前記ワークを把持させることによって、前記教示データを生成する制御装置に関係する。
本発明の一態様では、入力受付画面を用いて把持姿勢の入力を受け付け、当該把持姿勢を用いてロボットの把持部を用いて実際にワークを把持することで教示データを生成する。入力受付画面を用いる(オフラインティーチング処理を用いる)ことで、教示におけるユーザー入力を簡略化すること等が可能になり、ロボットの把持部でワークを把持させる(ダイレクトティーチング処理を行う)ことで安定した把持動作を実現する教示データを生成すること等が可能になる。
また、本発明の一態様では、前記ワークの前記把持姿勢は、前記ワークが配置される作業台に対して、斜め方向に前記ワークを把持する姿勢であってもよい。
このようにすれば、システムによる自動生成が難しい斜め方向での把持を、ユーザー入力等の外部入力に基づいて実現すること等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記ワークを把持する際の、前記把持部の把持位置から、把持動作のアプローチ位置までの距離を表す距離情報を可変に設定するための前記入力受付画面を表示させ、前記処理部は、前記距離情報に基づくオフラインティーチング処理を行って、前記教示データを生成してもよい。
これにより、把持位置からアプローチ位置までの距離情報の入力により、オフラインティーチング処理を行うこと等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記ワークを把持する際の、前記把持部の前記把持位置及び前記把持姿勢を表す把持位置姿勢を可変に設定するための前記入力受付画面を表示させ、前記処理部は、前記距離情報及び前記把持位置姿勢に基づく前記オフラインティーチング処理を行って、前記教示データを生成してもよい。
これにより、把持位置姿勢の入力により、オフラインティーチング処理を行うこと等が可能になる。
また、本発明の一態様では、前記処理部は、前記距離情報及び前記把持位置姿勢に基づいて、前記アプローチ位置、及び前記アプローチ位置における前記把持部の姿勢であるアプローチ姿勢を表すアプローチ位置姿勢を特定し、前記アプローチ位置姿勢及び前記把持位置姿勢に基づいて、前記教示データを生成してもよい。
これにより、入力された情報からアプローチ位置を特定することで、教示データを生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記ワークを認識する物体認識処理を行って前記アプローチ位置を求め、求めた前記アプローチ位置を起点として前記オフラインティーチング処理により教示された前記把持動作を実行することで、前記ロボットの前記把持部で前記ワークを把持させてもよい。
これにより、物体認識処理の結果と、オフラインティーチング処理で特定されたアプローチ位置とに基づいて、把持動作を実行すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記把持姿勢を用いて前記把持部で前記ワークを把持させる際に検出されたセンシング情報に基づいて、最終的な前記教示データを生成してもよい。
これにより、把持動作で検出されたセンシング情報を用いて、最終的な教示データを生成すること等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記把持姿勢を用いて前記把持部で前記ワークを把持させるダイレクトティーチング処理の際に、前記ダイレクトティーチング処理用の前記入力受付画面である第2の入力受付画面を表示させ、前記処理部は、前記第2の入力受付画面において入力された入力情報に基づいて、前記ダイレクトティーチング処理を行ってもよい。
これにより、ダイレクトティーチング処理用の入力受付画面を用いて入力された入力情報に基づいて、ダイレクトティーチング処理を行うこと等が可能になる。
また、本発明の一態様では、前記表示処理部は、把持動作におけるアプローチ動作中の前記ロボットの前記把持部の開き量情報を、可変に設定するための前記第2の入力受付画面を表示させてもよい。
これにより、第2の入力受付画面を用いて把持部の開き量情報を入力すること等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記ロボットの前記把持部の把持の深さ情報及び把持の強さ情報の少なくとも一方の情報を、可変に設定するための前記第2の入力受付画面を表示させてもよい。
これにより、第2の入力受付画面を用いて把持の深さ情報及び把持の強さ情報の少なくとも一方を入力すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記ワークを認識する物体認識処理を行い、前記物体認識処理の結果に基づいて、前記把持姿勢を用いて前記把持部で前記ワークを把持させる際の前記ロボットの動作開始位置を決定してもよい。
これにより、物体認識処理の結果と、入力受付画面を用いて入力された情報とに基づいて、ダイレクトティーチング処理を実行すること等が可能になる。
また、本発明の他の態様は、ワークを把持する把持部と、前記把持部を動作させる制御装置と、を含み、前記制御装置は、前記ワークの把持姿勢を入力するための入力受付画面を表示させ、入力された前記把持姿勢を用いてロボットの前記把持部で前記ワークを把持させることによって、教示データを生成するロボットに関係する。
本発明の他の態様では、入力受付画面を用いて把持姿勢の入力を受け付け、当該把持姿勢を用いてロボットの把持部を用いて実際にワークを把持することで教示データを生成する。入力受付画面を用いることで、教示におけるユーザー入力を簡略化すること等が可能になり、ロボットの把持部でワークを把持させることで安定した把持動作を実現する教示データを生成すること等が可能になる。
また、本発明の他の態様は、ワークの把持姿勢を入力するための入力受付画面を表示させることと、入力された前記把持姿勢を用いてロボットの把持部で前記ワークを把持させることによって、教示データを生成することと、を含む教示データ生成方法に関係する。
本発明の他の態様では、入力受付画面を用いて把持姿勢の入力を受け付け、当該把持姿勢を用いてロボットの把持部を用いて実際にワークを把持することで教示データを生成する。入力受付画面を用いることで、教示におけるユーザー入力を簡略化すること等が可能になり、ロボットの把持部でワークを把持させることで安定した把持動作を実現する教示データを生成すること等が可能になる。
また、本発明の他の態様は、ロボットと、前記ロボットを動作させる制御装置と、前記ロボットがワークを把持する把持姿勢を入力するための入力受付画面を表示する表示部と、を含み、前記制御装置は、入力された前記把持姿勢を用いて前記ロボットに把持部で前記ワークを把持させることによって、前記ロボットの教示データを生成するロボットシステムに関係する。
本発明の他の態様では、入力受付画面を用いて把持姿勢の入力を受け付け、当該把持姿勢を用いてロボットの把持部を用いて実際にワークを把持することで教示データを生成する。入力受付画面を用いることで、教示におけるユーザー入力を簡略化すること等が可能になり、ロボットの把持部でワークを把持させることで安定した把持動作を実現する教示データを生成すること等が可能になる。
以上より、本発明の幾つかの態様によれば、入力受付画面を用いて入力された把持姿勢を利用して、把持部にワークを把持させることで、ユーザーにとってわかりやすい形態で、安定した把持動作を実行する教示データを生成する制御装置、ロボット、教示データ生成方法及びロボットシステム等を提供することができる。
本実施形態に係る制御装置の構成例。 本実施形態に係る制御装置の詳細な構成例。 本実施形態に係るロボットの構成例。 本実施形態に係るロボットの他の構成例。 図5(A)、図5(B)は把持部の位置、姿勢の説明図。 図6(A)、図6(B)は斜め方向の把持を説明する図。 斜め方向でない把持動作の典型的な例。 図8(A)、図8(B)は、アプローチ位置による衝突回避の説明図。 オフラインティーチングで用いられる入力受付画面の例。 図10(A)〜図10(C)は把持部の移動方向の説明図。 図11(A)、図11(B)はアプローチ位置を求める手法の説明図。 図12(A)、図12(B)は把持部の開き量の説明図。 ダイレクトティーチングで用いられる入力受付画面の例。 アプローチ動作時における把持部と障害物の衝突の例。 図15(A)、図15(B)は把持の深さの説明図。 図16(A)〜図16(C)は把持部の他の構成例と、把持の深さの説明図。 本実施形態の処理を説明するフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。従来、ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には上述したように、ダイレクトティーチング、ティーチングプレイバック、オフラインティーチング等が知られている。
しかし近年、非常に広汎な領域でロボットが利用されるようになってきている。そのため、ロボットに対して教示を行うユーザーが、当該ロボットについての専門知識を充分有していないというケースも多くなると想定される。つまり、ロボットに対する教示は専門知識が充分でないユーザーであっても実行可能な程度に、わかりやすい形態で行われることが望ましい。その点、ティーチングペンダント等を用いたティーチングプレイバックでは、教示を行うユーザーはロボットについての知識が必要となり、且つティーチングペンダントの使用方法等を習熟しておく必要がある点で好ましくない。
またオフラインティーチングでは、ユーザーに対してわかりやすい入力インターフェースを提示し、ユーザーから入力された情報に基づいて、システム側でロボット動作を自動生成することで、教示を容易にすることも可能である。ユーザーからどのような入力を受け付け、それをシステム側でどのように処理するかは種々の手法が考えられ、例えば上述した特許文献2や特許文献3の手法等が開示されている。
しかし、オフラインティーチングではロボットや把持対象となるワーク等は実物が用いられるわけではない。そのため、オフラインティーチングにより教示されたロボット動作が、実際には安定した把持動作を実現するものでない可能性があり得る。例えば、ロボットの把持部(狭義にはハンド)の形状やワークの形状を3Dモデルで再現することは容易としても、ワークの重量バランスや表面の摩擦等に関する情報まで再現することは、オフラインティーチングの処理負荷を考えると現実的とは言えない。そのため、オフラインティーチングで把持動作を作成できたとしても、当該把持動作を実際に行ったところ、ワークをバランスよく把持できず落下させてしまうというおそれもある。その他、ユーザーフレンドリーの観点からユーザーによる入力をシンプルにしたり、システム側の処理負荷軽減の観点からユーザー入力に基づく処理をシンプルなものとしたりすれば、それだけ実際のロボットやワークに比べて必要な情報が欠落する。そのため、オフラインティーチングの結果として得られるロボット動作が、実機では安定的な動作とならない可能性を考慮することが重要となる場面も大いに考えられる。
そこで本出願人は、オフラインティーチング処理により把持動作の教示を行ってオフライン生成教示データを生成し、当該オフライン生成教示データを用いて実際のロボット、ワークを用いた把持動作を実行する手法を提案する。そして、実際に行われた把持動作に基づいて、最終的な(出力結果となる)教示データを生成する。すなわち、本実施形態の手法では、オフラインティーチング処理の結果を用いてダイレクトティーチング処理を実行することになる。
具体的には、本実施形態の制御装置100は図1に示したように、ワークの把持姿勢を入力するための入力受付画面を表示させる表示処理部110と、ロボット(後述する図3等のロボット本体300に対応)の教示データを生成する処理部120を含む。そして、処理部120は、入力された把持姿勢を用いてロボットの把持部(後述する図3のハンド等に対応)でワークを把持させることによって、教示データを生成する。
具体的には、処理部120は、入力受付画面を用いた入力に基づいて、ワークを把持する把持動作のためのオフラインティーチング処理を行ってもよい。オフラインティーチング処理の結果として取得されるオフライン生成教示データには、上記の把持姿勢等が含まれることになる。そして処理部120は、オフライン生成教示データを用いて、ロボットの把持部でワークを把持する把持動作を行わせるダイレクトティーチング処理を行い、ダイレクトティーチング処理の結果に基づいて最終的な教示データを生成する。
ここで、教示データとは、ロボットが行う動作をロボットに教示するためのデータであり、例えばシナリオデータのことである。シナリオデータとは、ロボットが行う処理を規定するデータであり、さらに具体的には、ロボットが行う処理が時系列順に記述されたデータである。
また、オフライン生成教示データとは、オフラインティーチング処理により生成される教示データであり、本実施形態においては最終的な教示データの生成過程において生成される中間的な教示データである。特許文献2や特許文献3に示したように、オフラインティーチングのみからでも、ロボットに動作を教示するためのデータが取得されるため、オフラインティーチング処理の結果として得られるデータは教示データである。本実施形態においても、入力受付画面を用いたオフラインティーチング処理の結果は、ロボットに動作を教示する情報であるため、教示データの一種である。しかし、本実施形態は上述したように、オフラインティーチングだけで教示が終了するのではなく、当該オフラインティーチング処理の結果を用いたダイレクトティーチング処理も実行して出力結果を求める。つまり、本実施形態でのオフラインティーチング処理の結果は、形式上教示データと呼ぶことができるものであるが、最終出力そのものではないため、最終的な教示データと区別するためオフライン生成教示データと表記する。
また、ティーチングにおいては、動作主体がユーザーの場合もあれば制御装置100の場合もある。例えば、図9を用いて後述するように、オフラインティーチング時に用いられる入力受付画面の表示は制御装置100が行う。一方、入力受付画面を用いて(具体的にはSL1〜SL7等のスライダーを操作して)距離情報等を入力するのはユーザーである。さらに、入力された距離情報等からオフライン生成教示データを生成する処理は制御装置100が行う。本実施形態において、「オフラインティーチング」という用語は、制御装置100が主体となるステップと、ユーザーが主体となるステップの両方を含む教示全体を表すものとする。それに対して、本実施形態における「オフラインティーチング処理」という用語は、上記「オフラインティーチング」のうち、制御装置100において実行されるステップを表すものとする。同様に、「ダイレクトティーチング処理」は「ダイレクトティーチング」のうち、制御装置100により実行されるステップを表す。
これにより、オフラインティーチング処理により把持動作を教示するにとどまらず、教示された当該把持動作をロボット実機を用いて実行するダイレクトティーチング処理を行うため、最終的な教示データに従った把持動作を安定したものにすることが可能になる。なぜなら、最終的な教示データは、ロボットの実機で実際のワークを把持する把持動作により取得されたデータであるため、当該教示データを用いた把持動作は、ダイレクトティーチング時に一度行った把持動作を再現するものとなるためである。つまり、ダイレクトティーチング時に安定して把持できることを確認しておけば、教示データにより再現された把持動作も高確率で安定したものとなることが期待される。
さらに、本実施形態の手法では、ダイレクトティーチングを行う際に、ユーザーによる複雑な作業、或いは負担の大きい作業が不要であるという利点もある。通常のダイレクトティーチングでは、ユーザーが所望するロボット動作がどのようなものであるか、制御装置100側に充分な情報が入力されないことが一般的である。例えば、ロボット動作に関する情報が全く入力されなければ、ロボット自身はそもそも動作不可能であるため、ダイレクトティーチングではユーザーは逐一ロボットを移動させる作業が必要になる。その点、本実施形態ではダイレクトティーチングの前処理としてオフラインティーチングを実行している。よって、オフラインティーチングの結果として、上述したようにロボットを動作させるに足る教示データがオフライン生成教示データとして取得されているのであるから、当該オフライン生成教示データによりロボットを駆動させれば、ダイレクトティーチングにおけるロボット動作の多くの部分を制御装置100に委ねることが可能である。つまり本実施形態では、ダイレクトティーチングは一からロボット動作を教示するものというより、オフラインティーチングにより教示されたロボット動作を、実際のロボットやワークを用いて修正したり、必要な動作を追加するという性格の処理である。
なお、入力受付画面を用いて入力されるワークの把持姿勢は、ワークが配置される作業台に対して、斜め方向にワークを把持する姿勢であってもよい。ここでの斜め方向とは、ワークが配置される作業台(作業平面)に垂直な方向に対して、0度ではない所与の角度を有した方向をいう。また、「斜め方向で把持する」とは、ワークを把持している状態の把持部の方向が斜め方向であることを表す。ここでの把持部の方向は、図5(A)に示したようにアーム310に対して把持部319が取り付けられる位置であるエンドポイントEPから、把持部319の重心方向(或いはTCP(Tool Center Point))を向く方向である基準方向DRa等を用いて定義すればよい。或いは、図10(B)を用いて後述するように、把持部319の把持方向DR1,DR2と交差する方向(狭義には直交する方向)DR3,DR4を設定し、DR3或いはDR4を基準方向として用いてもよい。把持方向DR1,DR2の詳細については後述する。
把持部319の方向を以上のように定義した場合、図6(A)のC1やC2の状態は、把持部319の方向が作業台に垂直な方向に対して、それぞれθ1,θ2だけずれるため斜め方向の把持である。一方、図6(B)のC3の状態は、把持部319の方向が作業台に垂直な方向となるため、斜め方向の把持ではない。
斜め方向での把持を想定した場合、作業台に垂直な方向からの角度のズレ量はC1やC2に示したように多くのパターンが考えられる。さらにC1やC2の把持位置へのアプローチもどのような経路が妥当であるか、制御装置100側で自動的に決定することは難しい。つまり、斜め方向での把持を考慮した場合、ダイレクトティーチングにおけるロボット動作を制御装置100に委ねるのではなく、オフラインティーチングの形でユーザーが教示するとよい。
以下、本実施形態に係る制御装置100やロボット(ロボットシステム)の詳細な構成例について説明し、その後本実施形態の処理を具体的に説明する。最後に、フローチャートを用いて本実施形態の処理の流れを説明する。
2.システム構成例
図2に本実施形態に係る制御装置100の詳細なシステム構成例を示す。ただし、制御装置100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図2に示したように、制御装置100は、表示処理部110と、処理部120と、ロボット制御部130を含み、処理部120は、入力受付部121と、オフラインティーチング処理部123と、ダイレクトティーチング処理部125と、物体認識部127とを含む。
表示処理部110は、ユーザーからの入力受付に用いられる入力受付画面を表示部200に表示する処理を行う。表示処理部110の処理により表示される入力受付画面は種々考えられるが、オフラインティーチングにおいては図9に示した画面であってもよく、ダイレクトティーチングにおいては図13に示した画面であってもよい。なお、本明細書ではオフラインティーチングで用いられる画面とダイレクトティーチングで用いられる画面を区別するために、ダイレクトティーチングでの入力受付画面を「第2の入力受付画面」と表記する。入力受付画面の詳細については、オフラインティーチング及びダイレクトティーチングの詳細を説明する箇所で後述する。
処理部120は、入力受付画面を用いたユーザー入力(入力情報)等に基づいて、種々の処理を行う。この処理部120の機能は、各種プロセッサー(CPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。
ロボット制御部130は、処理部120の処理により生成された情報に基づいて、ロボット本体300の制御を行う。具体的には、ロボット本体300のアーム310や把持部319(ハンド)を駆動するモーターの制御を行う。なお、モーターの制御を行うとともに、モーターの駆動結果に基づいてトルクリミット情報を取得する処理を合わせて行ってもよい。
入力受付部121は、入力受付画面を用いたユーザーによる入力を受け付ける処理を行う。オフラインティーチング処理部123は、オフラインティーチング処理用の入力受付画面に対して、入力受付部121が受け付けたユーザー入力に基づいてオフラインティーチング処理を行ってオフライン生成教示データを生成する。ここでのオフラインティーチング処理により教示されるロボット動作は、上述したようにワークを斜め方向から把持する把持動作となる。
ダイレクトティーチング処理部125は、オフラインティーチング処理部123で生成されたオフライン生成教示データに基づいてダイレクトティーチング処理を行う。その際に、ダイレクトティーチング処理用の入力受付画面に対して、入力受付部121が受け付けたユーザー入力を合わせて用いてもよい。ダイレクトティーチングでは実際にロボットを動作させるため、ダイレクトティーチング処理部125は、ロボット制御部130に対してオフライン生成教示データ等に基づくロボット動作を指示する。
物体認識部127は、ロボットの作業空間におけるワークの位置姿勢を認識する物体認識処理を行う。物体認識処理は例えば画像認識処理により実現されればよく、さらに具体的には作業台の上方に配置された撮像部からの撮像画像に対する画像処理であってもよい。画像処理の具体的な処理内容も種々考えられるが、例えばワークのモデルデータをテンプレートとしたテンプレートマッチング等、広く知られた手法により実現できる。物体認識処理の結果は、ダイレクトティーチング処理部125に出力され、ダイレクトティーチング処理において用いられる。ただし、場合によっては物体認識部127を省略する構成としてもよい。
処理部120の各部において行われる処理の詳細については後述する。
また本実施形態の手法は、図3に示したように、ワークを把持する把持部319と、把持部319を動作させる制御装置100を含み、制御装置100は、ワークの把持姿勢を入力するための入力受付画面を表示させ、入力された把持姿勢を用いてロボットの把持部319でワークを把持させることによって、教示データを生成するロボットに適用できる。図3の構成であれば、本実施形態に係るロボットは制御装置100と、ロボット本体300を含む。
ロボット本体300は、アーム310と、当該アーム310の先端等に設けられる把持部319(広義にはエンドエフェクター)を含む。ここで、把持部319とは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着させたりするために用いる部品のことをいう。把持部319は、ハンドであってもよいし、フックであってもよいし、吸盤等であってもよい。なお、1本のアームに対して、複数のハンドを設けてもよい。
これにより、容易なユーザー入力により、実機を用いて把持動作に関する教示データを生成するとともに、生成した教示データに基づく把持動作を実際にロボット本体300に実行させる制御を行うロボット(ロボットシステム)を実現することが可能になる。ここでのロボットは、図3に示したようにロボット本体300と制御装置100が別体として設けられるものであってもよい。
なお、本実施形態に係るロボットの構成例は図3に限定されない。例えば、図4に示したように、ロボットは、ロボット本体300と、ベースユニット部400を含んでもよい。
ロボット本体300は双腕ロボットであってもよく、頭部や胴体に相当する部分に加え、第1のアーム310と第2のアーム320を含む。図4では第1のアーム310は、関節311,313と、関節の間に設けられるフレーム315,317から構成され、第2のアーム320についても同様のものとしたがこれに限定されない。また、第1のアーム310及び第2のアーム320の先端にはエンドエフェクター(把持部319)が設けられる。なお、図4では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。
ベースユニット部400は、ロボット本体300の下部に設けられ、ロボット本体300を支持する。図4の例では、ベースユニット部400には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部400が車輪等を持たず、床面等に固定される構成であってもよい。図4のロボットシステムでは、ベースユニット部400に制御装置100が格納されることで、ロボット本体300と制御装置100とが一体として構成される。
また、本実施形態の手法は、ロボットと、ロボットを動作させる制御装置100と、ロボットがワークを把持する把持姿勢を入力するための入力受付画面を表示する表示部(例えば図2に示した表示部200や図3に示したディスプレイ等)を含み、制御装置100は、入力された把持姿勢を用いてロボットに把持部319でワークを把持させることによって、ロボットの教示データを生成するロボットシステムに適用できる。なお、ここではロボットシステムに含まれる構成としてロボットと制御装置100と表示部を示したが、他の構成を追加してもよい。例えば、物体認識処理等において撮像部を用いる場合であれば、本実施形態のロボットシステムは、当該撮像部を含むものであってもよい。
3.具体的な処理の例
次に本実施形態の処理の具体例について説明する。以下、オフラインティーチング、ダイレクトティーチング、及び物体認識処理を詳細に説明する。なお、オフラインティーチングについては、距離情報に入力に基づいてアプローチ位置を設定する手法を例にとって説明するが、本実施形態のオフラインティーチングは斜め方向での把持動作を教示するものであればよく、後述の手法以外の手法を広く適用可能である。
3.1 オフラインティーチング
把持部319によりワークを把持する際の、把持部319の位置(以下、把持位置と表記する)と、把持部319の姿勢(以下、把持姿勢と表記する)が何らかの手法により決定された場合、ロボット動作開始時の状態から上記把持位置及び把持姿勢(以下、把持位置姿勢とも表記する)までの間を直線的に移動、或いは姿勢変更することで、把持動作を実現可能である。
なお、把持部319は大きさを有する物体であり、且つ可変構造を有する場合も多いことから、把持部の位置をどのように定義するかは種々考えられる。本実施形態では、把持部319が設けられるアーム310のエンドポイントEPを把持部319の位置として用いてもよい。例えば、図5(A)に示したように、アーム310の先端のエンドポイントEPに把持部319が設けられる場合、当該エンドポイントEPの位置により把持部319の位置を表現すればよい。例えば、グローバル座標系(ワールド座標系)としてxyz3軸の座標系が設定される場合には、把持位置はEPの座標値(x,y,z)により表現できる。また、把持部319の姿勢は所与の基準姿勢に対する回転等で表現すればよい。例えば、図5(B)に示したように、xyzの各軸まわりの回転をu,v,wとした場合には、所与の把持部319の姿勢は(u,v,w)により表現できる。つまりこの場合、把持部319の1つの位置姿勢は、(x,y,z,u,v,w)で表現される情報となる。
しかし、直線的な移動を行った場合に、ロボットの各部がワークや障害物(周辺物)等に衝突してしまうことがある。例えば、図8(A)の例では、ロボットの把持部HDが現在位置するポイントP1と、ワークWKを把持可能な把持部HDの把持位置P2とを結ぶ直線上に、障害物OBが存在するため、矢印DRのように、把持位置P2まで把持部HDを最短で移動させた場合には、ポイントPNにおいて、把持部HDと障害物OBが衝突してしまう。
そこで本実施形態のオフラインティーチング処理では、アプローチ位置を設定し、設定したアプローチ位置を経由して把持位置(及び把持姿勢)に到達する経路を設定して、衝突を回避する。ここでのアプローチとはロボットの把持部を把持対象であるワークの位置まで直線的に移動させる動作を表し、アプローチ位置とはアプローチの開始状態における把持部319の位置を表すものである。
具体的には、図8(B)に示すように、現在のポイントP1と把持位置P2との間にアプローチ位置P3を設ける。そして、アプローチ位置P3を経由して、把持位置P2まで把持部HDを移動させ、ワークWKを把持して、エスケープポイントP4に移動させる。これにより、障害物OBとの衝突を回避して、把持作業を行うことができる。
しかし図8(B)等を見れば明らかなように、障害物OBとの衝突を回避可能なアプローチ位置は1つ或いは少数に限定されるものではなく、多様な点をアプローチ位置として設定可能である。また、把持部319の制御を考慮している以上、アプローチ位置における把持部319の姿勢(アプローチ姿勢)も設定する必要があるが、アプローチ姿勢についても種々の姿勢を設定可能である。そのため、アプローチ位置及びアプローチ姿勢(以下、アプローチ位置姿勢)をユーザーが手動で設定しようとすると、非常に多数の候補の中から妥当なものを選択する処理をユーザーに行わせることになり、ユーザー負担が大きい。上述したように、教示手法はユーザーにとってわかりやすいことが重要であるのだから、ユーザー負担が大きいオフラインティーチングは好ましいものと言えない。
そこで本実施形態のオフラインティーチングでは、把持位置からアプローチ位置までの距離を表す距離情報の入力をユーザーから受け付け、当該距離情報に基づいてアプローチ位置を設定する。
具体的には、表示処理部110は、ワークを斜め方向に把持する際の、把持部319の把持位置から、把持動作のアプローチ位置までの距離を表す距離情報をユーザーが可変に設定するための入力受付画面の表示処理を行い、処理部120(狭義にはオフラインティーチング処理部123)は、距離情報に基づくオフラインティーチング処理を行って、オフライン生成教示データを取得する。
ここで、入力受付画面とは、入力情報を入力可能なユーザーインターフェースである。入力受付画面は、例えば図9に示すような画面UIであって、表示部200に表示される。図9の入力受付画面UIでは、スライダーSL1を動かすことにより、把持位置からアプローチ位置までの距離を調整することが可能である。この場合、前述した距離情報は、スライダーSL1の操作情報などであってもよい。また、距離情報として直接、数値を入力してもよい。その他の要素については後述する。
このようにすれば、ユーザーは把持位置からアプローチ位置までの距離を表す距離情報を入力すればよく、アプローチ位置の設定を含むオフラインティーチングにおけるユーザー負担を軽減することが可能である。ただし、図9に距離情報以外を入力可能なインターフェースが設けられていることからもわかるように、ユーザーが距離情報以外の情報を合わせて入力することは妨げられない。入力する情報が増えるほど、オフラインティーチング処理により生成されるオフライン生成教示データに基づくロボット動作を、よりユーザーの意図に沿ったものとすることが可能である。よって情報入力に伴うユーザー負担と、生成されるオフライン生成教示データの精度のバランスを考慮して、ユーザーによる入力内容を決定してもよい。
例えば、ワークの把持作業を行う場合には、把持部319が特定の位置姿勢をとらなければ、ワークを把持できないことがよくある。そのため、把持位置姿勢をユーザーが指定できると、より便利である。
よって、表示処理部110は、ワークを斜め方向に把持する際の、把持部319の把持位置及び把持姿勢を表す把持位置姿勢を可変に設定するための入力受付画面の表示処理を行い、処理部120は、距離情報及び把持位置姿勢に基づくオフラインティーチング処理を行って、オフライン生成教示データを取得してもよい。
例えば、図9の入力受付画面UIには、把持位置姿勢を調整するためのスライダー(SL2〜SL7)を設けており、これらを動かすことにより、把持位置姿勢を自由に設定することができる。そして、スライダーSL2〜スライダーSL7を動かすと、入力受付画面UIの下部に表示される画像IM1〜画像IM4に、スライダーの操作結果が反映される。なお、画像IM1〜画像IM4は、それぞれ異なる方向から見た時のワークWKと把持部HDの位置関係を表す画像である。スライダーSL2〜スライダーSL7を動かすと、画像IM1〜画像IM4に移るワークWKと把持部HDの位置関係が変化する。
これにより、ユーザー把持位置姿勢を指定することが可能になり、ユーザーの意図に沿った把持動作を実現する教示データを生成すること等が可能になる。ただし、必ずしも把持位置姿勢データをユーザーが入力しなければいけないわけではなく、あらかじめ設定(記憶)された把持位置姿勢を用いてもよい。
距離情報及び把持位置姿勢が取得されたら、オフラインティーチング処理部123ではアプローチ位置姿勢の特定処理を行う。具体的には、処理部120は、距離情報及び把持位置姿勢に基づいて、アプローチ位置、及びアプローチ位置における把持部319の姿勢であるアプローチ姿勢を表すアプローチ位置姿勢を特定し、特定したアプローチ位置姿勢及び把持位置姿勢を含むオフライン生成教示データを取得する。
このままでは、把持位置を中心として距離情報により表される距離を半径とする球面上の点がアプローチ位置の候補となってしまいアプローチ位置が特定されていないし、アプローチ姿勢についても特定されていない。よってオフラインティーチング処理部123では、距離情報と把持位置姿勢に基づいて、何らかの手法によりアプローチ位置姿勢を特定する必要がある。アプローチ位置姿勢が特定できれば、把持位置姿勢との間を例えば直線的に移動、及び姿勢変化させることで、把持動作を実現するオフライン生成教示データを生成可能となる。
距離情報と把持位置姿勢からアプローチ位置姿勢を特定する手法は種々考えられる。例えば、把持位置からアプローチ位置までの方向情報をあらかじめ設定しておけば、アプローチ位置は、把持位置から上記方向情報により表される方向へ距離情報で表される距離だけ移動した位置であると特定できる。また、アプローチ姿勢についても、あらかじめ設定しておいてもよい。或いは、方向情報やアプローチ姿勢を、入力受付画面を用いてユーザーに入力させてもよい。
しかし、方向情報やアプローチ姿勢をユーザーに入力させたのでは、ユーザー負担が大きくなる。また、方向情報やアプローチ姿勢としてあらかじめ設定された固定値を用いた場合、ワークや障害物の配置状況、或いは把持位置姿勢等によっては、特定されるアプローチ位置姿勢が適切なものとならない可能性がある。例えば、設定したアプローチ位置では障害物を回避できなかったり、アプローチ位置を経由することでアームの移動距離が不必要に長くなるおそれがある。
よって本実施形態では、方向情報やアプローチ姿勢についても、把持位置姿勢に基づいて自動的に設定する。具体的には、アプローチ姿勢は把持姿勢と同一の姿勢とすればよい。このようにすれば、アプローチの開始から把持位置に到達するまで、把持部319の姿勢を変化させる必要がなくなるため、オフライン生成教示データに基づくロボット制御を容易なものとできる。
また、把持位置からアプローチ位置までの方向情報としては、把持姿勢により規定される方向を設定すればよい。把持作業を行う場合には、図10(A)に示すように、アプローチ位置APから把持位置HPへ把持部HDを移動させる際に、把持部HDがワークWKと衝突してしまうことがある。これは、図10(A)のように、アプローチ位置APから把持位置HPへの方向DRNGと、把持方向DR1とが、一致している際(広義にはDRNGとDR1との角度差が小さい場合)に起こりやすい。ここで、把持方向とは、例えば図10(B)に示すように、把持位置HPにおいて把持部HDがワークWKを把持する時に、把持部HDがワークWKに力を加える(近付く)方向(DR1又はDR2)のことを言う。
そこで、処理部120は、把持部319の把持方向と交差する方向を上記方向情報として、把持部319のアプローチ位置を特定してもよい。ここで、把持部319の把持方向と交差する方向とは、例えば把持部319の把持方向と直交する方向(広義には把持方向とのなす角度が90±δ度となる方向であり、ここでδはある程度小さい値)である。例えば、図10(B)の例では、方向DR3または方向DR4である。
これにより、把持位置姿勢から自動的に方向情報を設定してアプローチ位置を特定することが可能になるとともに、特定されたアプローチ位置を用いた把持動作において、把持部319とワークが衝突する可能性を抑止することが可能になる。
この場合、入力された距離情報により表される距離をDとし、把持位置姿勢を(x1,y1,z1,u1,v1,w1)とし、方向情報により表される方向の単位ベクトルを(ex,ey,ez)とし、アプローチ位置姿勢を(x2,y2,z2,u2,v2,w2)とすれば、アプローチ位置は下式(1)により求めることができ、アプローチ姿勢は(u2,v2,w2)=(u1,v1,w1)と求めることができる。
Figure 2015112655
或いは、図11(A)、図11(B)に示したようにグローバル座標系(xyz軸により規定される座標系)と、把持部319に対応し、把持位置を原点とするローカル座標系(TxTyTz軸により規定される座標系)を設定してもよい。この場合、把持位置から距離Dだけ離れたアプローチ位置は、ローカル座標系では(0,0,−D)と表現できる。また、ローカル座標系は把持部319の把持姿勢に対応するものであるから、グローバル座標系を基準とした場合に、x軸まわりにu1、y軸まわりにv1、z軸まわりにw1だけ回転した座標系となる。つまり、グローバル座標系での把持位置を(x1,y1,z1)、アプローチ位置姿勢を(x2,y2,z2)とすれば、アプローチ位置は下式(2)により求めることができる。この場合も、アプローチ姿勢は(u2,v2,w2)=(u1,v1,w1)である。
Figure 2015112655
上式(2)を用いた場合、数式上は上記方向情報を意識しなくてもよいものとなるが、把持部319の把持姿勢に基づいて、アプローチ位置の方向を決定している点に変わりはない。図11(B)の例であれば、把持位置からアプローチ位置へ向かう方向を、把持姿勢に基づいて決定されるローカル座標系のTz軸負方向としている。
以上で説明したように、本実施形態のオフラインティーチングでは、ユーザーの入力負担を軽減しつつ、衝突の回避等が可能なロボット動作を実現する教示データをオフライン生成教示データとして生成することができる。
3.2 ダイレクトティーチング
次にダイレクトティーチングについて説明する。ダイレクトティーチング処理部125では、オフラインティーチング処理部123で生成されたオフライン生成教示データに基づいてロボット動作を実行して、最終的な(出力結果である)教示データを生成する。
具体的には、ダイレクトティーチング処理部125は、オフライン生成教示データに従ったロボット動作の実行をロボット制御部130に対して指示する。この際、ロボット制御部130ではロボット本体300に含まれる各関節を駆動させるモーター(例えばアーム320の関節を駆動させるモーター)を制御することになる。上述したように、オフライン生成教示データが、アプローチ位置姿勢と把持位置姿勢を特定するという抽象度の高い情報である場合も考えられるため、ダイレクトティーチング処理部125では、必要に応じてオフライン生成教示データを関節角を指定するデータ、或いはモーターの駆動量を指定するデータに変換する処理を行ってもよい。例えば、把持部319の位置姿勢が定まっている場合に、当該位置姿勢を実現するためのアーム320の関節角の値は、広く知られたインバースキネマティクス処理により求めることができる。よってダイレクトティーチング処理部125において、アプローチ位置姿勢、把持位置姿勢、及びその中間点での位置姿勢のそれぞれについて、インバースキネマティクス処理を行う等の処理を行えばよい。なお、教示データに基づくロボット制御については種々の手法が知られており、本実施形態ではそれらを広く適用可能であるため、これ以上の詳細な説明は省略する。
ただし、オフラインティーチングでは把持動作に必要な情報が全て教示されているとは限らない。例えば、上述したオフラインティーチングの例であれば、把持部319の姿勢には、把持部319に含まれる可動部の開き量(動き量、閉じ量)は規定されていない。ここでの可動部とは、例えば図12(A)の把持部319であれば指構造F1,F2に対応し、開き量とは、F1とF2がどれだけ開いているか、すなわちF1とF2の間の距離等を表す情報である。図12(A)と図12(B)を比べた場合、図12(A)は開き量が大きく(閉じ量が小さく)、図12(B)は開き量が小さい(閉じ量が大きい)。つまり上述のオフラインティーチングでは、指構造の状態がどのように変化したとしても、他の部分が変化しないのであれば(例えばエンドポイントEPからTCPへの方向が一定であれば)、姿勢は同一であるものとしていた。そのため、把持部319をアプローチ位置姿勢から把持位置姿勢へ変化させる教示データは生成できたとしても、当該教示データには、把持位置姿勢において指構造等の可動部をどのように動かしてワークを把持するかを表す情報が含まれていない。
本実施形態ではそれら不足している情報を、実際の把持動作において補うものである。具体的には、処理部120(狭義にはダイレクトティーチング処理部125)は、オフライン生成教示データを用いたワークを斜め方向に把持する把持動作において検出されたセンシング情報に基づいて、最終的な教示データを生成する。
さらに具体的には、把持部319が把持位置姿勢に到達した後に、把持動作を試行してその結果から可変部(指構造等)の閉じ量を決定する。具体的には、可変部を駆動するモーターに、トルクリミッター或いはそれに類する構造物を設けておき、所定以上の過負荷が生じた場合にその旨を表す情報を取得すればよい。
この場合、把持動作において取得されるセンシング情報は、ロボットを駆動するモーターのトルクリミット情報である。図12(A)に示したように把持部が開かれている状態から、図12(B)に示したように把持部が閉じられた状態に移行する際には、モーターを駆動させ可変部を閉じる方向のトルクを発生させる。しかし、可変部とワークが接触し、充分な強さでワークの把持が行われた状態では、さらに可変部を閉じる方向のトルクを発生させようとすると高い負荷が生じることになる。この状態は可変部を過剰に閉じようとしているものと判定できるため、可変部の閉じ量としてその際の値を用いれば、教示対象であるワークを安定して(充分な力で)把持することが可能である。
また、ダイレクトティーチングにより教示する把持動作に関して、ユーザーが何らかの把持パラメーターを入力してもよい。具体的には、表示処理部110は、ダイレクトティーチング処理の際に、ダイレクトティーチング処理用の入力受付画面である第2の入力受付画面を表示し、処理部120は、第2の入力受付画面において入力された入力情報に基づいて、ダイレクトティーチング処理を行う。
このようにすれば、ダイレクトティーチング処理における、オフラインティーチングでは教示しきれなかった動作を追加する処理、或いは抽象的な動作教示であったものを具体的なものとする処理等について、ユーザーの意図を反映させることが可能になる。
例えば、表示処理部110は把持動作におけるアプローチ動作中のロボットの把持部319の開き量情報を、ユーザーが可変に設定するための第2の入力受付画面の表示処理を行ってもよい。ここでの第2の入力受付画面とは、例えば図13の画面であり、図13のB1に示したスライダーによりアプローチ時の把持部319の開き量を入力可能としている。
図6(B)のC3に示した斜め方向でない把持の場合、アプローチ経路はワークの鉛直上方から鉛直下方へ向かうものが妥当と考えられる。その際、ワークの上方は一般的にアーム320や把持部319の移動領域であるため、障害物が存在する可能性が低い。よって、アプローチ時には把持部319の開き量を大きく(狭義には最大に)しても、障害物との衝突の可能性は低い。むしろ、開き量を大きくすることで、把持部319の指がワークの上面等に衝突する可能性を抑止できて望ましいと言える。
しかし、本実施形態では斜め方向からの把持を想定しているため、アプローチの経路上に他のワークや作業台等、障害物が存在する可能性を考慮しなくてはならない。その場合、開き量を大きくしてしまうと図14に示したように、把持部319等が障害物(図14の例であれば作業台)に衝突する可能性を高めてしまうため望ましくない。また、適切な開き量は障害物の存在状況に応じて変化するものであるため、開き量を制御装置100側で自動的に決定することも難しい。よって本実施形態では、図13のB1に示したように、アプローチ時の開き量は作業環境を目視できるユーザーにより入力させるものとする。これにより、アプローチ動作中に把持部319が障害物に衝突する可能性を抑止することが可能になる。
或いは、表示処理部110は、ロボットの把持部319の把持の深さ情報及び把持の強さ情報の少なくとも一方の情報を、ユーザーが可変に設定するための第2の入力受付画面の表示処理を行ってもよい。ここでの第2の入力受付画面とは、例えば図13の画面であり、図13のB2に示したスライダーによりアプローチ時の把持の深さ情報を入力可能とし、B3の示したラジオボタンにより把持の強さ情報を入力可能としている。
ここで把持の深さとは、把持部319の可動部分とワークの接触位置を表す情報である。例えば、面A1(この面の方向からの把持動作を生成する教示処理を行うことから、以下では処理対象面とも表記する)側から、面A2と面A3に把持部の指を押しつけてワークを把持する場合に、図15(A)に示したように接触位置を面A1に近い位置にして把持してもよいし、或いは図15(B)に示したようにA2,A3と指の接触位置を作業台に近い位置にして把持してもよい。本実施形態では、図15(B)のように処理対象面から遠い位置(作業台に近い位置)での把持状態を「把持が深い」と表現し、図15(A)のように処理対象面に近い位置での把持状態を「把持が浅い」と表現する。
上述したように、本実施形態では、オフラインティーチングにより把持位置は決定されている。よって図5(A)に示した把持部のようにワークに接触するパーツと、指との相対位置が変化しない場合には、把持の深さを調節することは難しい。しかし図16(A)に示したように、パーツ3193が移動可能な構成であれば、パーツ3193と指3191,3192との相対位置を変化させられる。よって、図16(B)に示したようにパーツ3193を押し出した状態とすれば、指3191,3192によるワークの把持は浅いものとできる。一方、図16(C)に示したようにパーツ3193を引いた状態とすれば、指3191,3192によるワークの把持は深いものとできる。
つまり図16(A)に示したような把持部の構成であれば、第2の入力受付画面を用いてユーザーからの把持の深さに関する情報を受け付け、当該情報に対応した把持動作を実現する教示データを生成することが可能になる。図16(A)の構成であれば、把持を深くする指示があった場合にはパーツ3193を引き、逆に把持を浅くする指示があった場合にはパーツ3193を押し出す制御を行えばよい。パーツ3193の制御後に、ダイレクトティーチング処理を行って教示データを生成すれば、当該教示データは把持の深さに関してユーザーの意図を反映したものとなる。
また、把持の強さは上述したように把持部の可変部(例えば指3191,3192)を駆動するモーターのトルクリミット情報により決定される。その際、リミットとする負荷の程度は設定により変更可能である。例えば、比較的小さな負荷でもリミットであると判定すれば、可変部によりワークに加えられる力は比較的小さくなるし、比較的大きな負荷にならなければリミットと判定しないものとすれば、可変部によりワークに加えられる力は比較的大きくなる。つまり、第2の入力受付画面を用いてユーザーから把持の強さに関する情報を受け付け、当該情報に基づいてトルクのリミットを設定することで、ユーザーの指示に対応した把持動作を実現する教示データを生成することが可能になる。
なお、第2の入力受付画面は図13の画面に限定されず、第2の入力受付画面により入力される情報も上述のものに限定されない。例えば、把持部319が4本の指を持つ構造であって、各指は四角形の頂点の位置に配置され、指のうち2つを使って第1の方向で挟み込む動作を行い、残りの2つを使って第1の方向と交差する(狭義には直交する)第2の方向で挟み込む動作を行う場合には、指の用い方を入力してもよい。一例としては、4つの指のうち2つの指を使わずに、一方向のみから挟み込む把持動作を実行させる入力を行ってもよい。或いは、2つの指による挟み込みと、残り2つの指による挟み込みに時間差を設ける把持動作を実行させる入力を行ってもよい。その他、第2の入力受付画面に表示される項目、及び第2の入力受付画面を用いて入力される情報については、種々の変形実施が可能である。
以上で説明したように、オフラインティーチングで得られたオフライン生成教示データ、第2の入力受付画面を用いてユーザーから入力される情報、センシング情報等を合わせることで、実際にロボットとワークを用いて斜め方向での把持動作を実行することが可能になる。よって、実行された把持動作を再現する教示データを生成すれば、安定した把持動作を再現することが可能である。
例えば、オフライン生成教示データ等を用いた把持動作におけるロボットパラメーター(例えばロボットに含まれる各関節の関節角の値)を逐一記憶しておき、当該ロボットパラメーターに従ったロボット制御を行うことで、把持動作を再現してもよい。或いは、把持動作の柔軟性を向上させるために上記関節角等に比べて抽象化されたパラメーターを教示データとして生成してもよい。ここでの教示データは、例えば把持位置姿勢、アプローチ位置姿勢、アプローチ時の把持部319の開き量情報、把持状態での把持部319の開き量情報、把持の深さ情報、把持の強さ情報等を含む情報である。
3.3 物体認識処理
以上の説明では、オフラインティーチング処理で得られたオフライン生成教示データからダイレクトティーチング処理(実際にロボットに把持動作を行わせる処理)を実行可能なものとしていた。しかし、オフライン生成教示データの形式によっては、ダイレクトティーチングを実行するに当たってワークを認識する物体認識処理が必要となることも考えられる。
ロボットの把持部319を所望の位置に移動させる場合には、当該位置とロボットとの相対的な位置関係を規定しなくてはいけない。例えばワークに対して設定されるワーク座標系で、上記所望の位置が(xw,yw,zw)であると決定されたとしても、ロボットが理解できるロボット座標系において当該位置がどのような座標値となるかがわからなければ、把持部319を所望の位置まで移動させることはできない。つまりロボット動作を適切に行うためには、処理部120では、オフライン生成教示データをロボット座標系で表現する等、ロボットを基準として理解することが必要になる。
よって、オフライン生成教示データに含まれるアプローチ位置姿勢や把持位置姿勢が、ロボットに対して設定されるロボット座標系で表現されている場合は、オフライン生成教示データを用いたダイレクトティーチング処理はそのまま実行できる。或いはオフライン生成教示データがグローバル座標系で設定されていても、ロボットの位置姿勢も同様にグローバル座標系で取得済みであれば、オフライン生成教示データをロボット座標系に変換可能であるため、オフライン生成教示データを用いたダイレクトティーチング処理はそのまま実行できる。
一方で、オフライン生成教示データがワークに対して設定されるワーク座標系等で表現され、且つ当該ワーク座標系とロボット座標系との関係が不明である場合には、制御装置100ではロボットとワークの相対位置関係を理解できず、ダイレクトティーチング処理を実行することができない。オフラインティーチングで用いられる入力受付画面の例が図9で表されるように、オフライン生成教示データの生成に当たってロボットの基準位置姿勢(ロボット座標系に対応)を考慮しない場合は多く、そのままではダイレクトティーチング処理を実行できない可能性は充分あり得る。
そこで、本実施形態の処理部120は、ワークを認識する物体認識処理を行ってアプローチ位置を求め、求めたアプローチ位置を起点としてオフラインティーチング処理により教示された把持動作を実行することで、ダイレクトティーチング処理を行う。
ここで物体認識処理自体は、ワークを撮像した撮像画像に対するワークのモデルデータをテンプレートとしたテンプレートマッチング等、広く知られた手法により実現できるため、詳細な説明は省略する。
これにより、ワークの画像上での位置姿勢を認識することが可能になる。この際、撮像画像を撮像する撮像部とロボットの相対位置関係は一般的に既知であるため、撮像画像上の位置をロボット座標系での位置に変換することが可能である。そのため、オフライン生成教示データに含まれる情報がワーク座標系で表現される場合等であっても、それらの情報をロボット座標系の座標値等へ変換することができる。本実施形態のオフラインティーチングでは、アプローチ位置姿勢から把持位置姿勢へ向かって距離Dだけ移動させるという動作を教示する。よって、物体認識処理によりアプローチ位置(及びアプローチ姿勢)をロボット座標系に変換することができれば、当該位置を起点としてオフラインティーチングで教示された動作を実行すれば、所望の把持動作を実現することができる。
また、本実施形態のオフラインティーチング処理はアプローチ位置姿勢を設定するものに限定されない。よってより一般的には、処理部120は、ワークを認識する物体認識処理を行い、物体認識処理の結果に基づいて、ダイレクトティーチング処理において行われる把持動作でのロボットの動作開始位置を決定する。
上述の手法以外のオフラインティーチングであっても、結果として生成されるオフライン生成教示データには動作開始位置(及び姿勢)と動作終了位置(及び姿勢)は含まれるはずである。つまり動作開始位置をロボット座標系で表現することができれば、当該動作開始位置を起点としてオフライン生成教示データに基づくロボット制御を行えば、オフラインティーチングで教示されたロボット動作を実現することができる。
なお、ロボット座標系に変換する情報は、アプローチ位置や動作開始位置に限定されるものではなく、把持位置や動作終了位置、或いは中間位置等、オフライン生成教示データに含まれる他のデータもロボット座標系に変換してもよい。
4.処理の流れ
図17に本実施形態の処理を説明するフローチャートを示す。この処理が開始されると、まず表示処理部110によりオフラインティーチング処理用の入力受付画面の表示処理が行われる(S101)。この入力受付画面は、上述した図9の画面等である。入力受付画面によるユーザー入力に基づいて、オフラインティーチング処理を行ってオフライン生成教示データを生成する(S102)。
次に、ワークの位置姿勢を認識する物体認識処理を行ってオフライン生成教示データをロボット座標系に変換する等の作業を行う(S103)。表示処理部110は、ダイレクトティーチング処理用の第2の入力受付画面の表示処理を行う(S104)。この第2の入力受付画面は、上述した図13の画面等である。
そして、オフライン生成教示データ、物体認識処理の結果、第2の入力受付画面によるユーザー入力等を用いて、ダイレクトティーチング処理を行って最終的な(出力結果である)教示データを生成する(S105)。
なお、本実施形態の制御装置100等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置100等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また制御装置100等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
100 制御装置、110 表示処理部、120 処理部、121 入力受付部、
123 オフラインティーチング処理部、125 ダイレクトティーチング処理部、
127 物体認識部、130 ロボット制御部、200 表示部、
300 ロボット本体、310 アーム、311,313 関節、
315,317 フレーム、319 把持部、320 アーム、
400 ベースユニット部、3191,3192 指、3193 パーツ、
EP エンドポイント、HD 把持部、HP 把持位置、OB 障害物、WK ワーク

Claims (14)

  1. ワークの把持姿勢を入力するための入力受付画面を表示させる表示処理部と、
    ロボットの教示データを生成する処理部と、
    を含み、
    前記処理部は、
    入力された前記把持姿勢を用いて前記ロボットの把持部で前記ワークを把持させることによって、前記教示データを生成することを特徴とする制御装置。
  2. 請求項1において、
    前記ワークの前記把持姿勢は、前記ワークが配置される作業台に対して、斜め方向に前記ワークを把持する姿勢であることを特徴とする制御装置。
  3. 請求項1又は2において、
    前記表示処理部は、
    前記ワークを把持する際の、前記把持部の把持位置から、把持動作のアプローチ位置までの距離を表す距離情報を可変に設定するための前記入力受付画面を表示させ、
    前記処理部は、
    前記距離情報に基づくオフラインティーチング処理を行って、前記教示データを生成することを特徴とする制御装置。
  4. 請求項3において、
    前記表示処理部は、
    前記ワークを把持する際の、前記把持部の前記把持位置及び前記把持姿勢を表す把持位置姿勢を可変に設定するための前記入力受付画面を表示させ、
    前記処理部は、
    前記距離情報及び前記把持位置姿勢に基づく前記オフラインティーチング処理を行って、前記教示データを生成することを特徴とする制御装置。
  5. 請求項4において、
    前記処理部は、
    前記距離情報及び前記把持位置姿勢に基づいて、前記アプローチ位置、及び前記アプローチ位置における前記把持部の姿勢であるアプローチ姿勢を表すアプローチ位置姿勢を特定し、前記アプローチ位置姿勢及び前記把持位置姿勢に基づいて、前記教示データを生成することを特徴とする制御装置。
  6. 請求項3乃至5のいずれかにおいて、
    前記処理部は、
    前記ワークを認識する物体認識処理を行って前記アプローチ位置を求め、求めた前記アプローチ位置を起点として前記オフラインティーチング処理により教示された前記把持動作を実行することで、前記ロボットの前記把持部で前記ワークを把持させることを特徴とする制御装置。
  7. 請求項1乃至6のいずれかにおいて、
    前記処理部は、
    前記把持姿勢を用いて前記把持部で前記ワークを把持させる際に検出されたセンシング情報に基づいて、最終的な前記教示データを生成することを特徴とする制御装置。
  8. 請求項1乃至7のいずれかにおいて、
    前記表示処理部は、
    前記把持姿勢を用いて前記把持部で前記ワークを把持させるダイレクトティーチング処理の際に、前記ダイレクトティーチング処理用の前記入力受付画面である第2の入力受付画面を表示させ、
    前記処理部は、
    前記第2の入力受付画面において入力された入力情報に基づいて、前記ダイレクトティーチング処理を行うことを特徴とする制御装置。
  9. 請求項8において、
    前記表示処理部は、
    把持動作におけるアプローチ動作中の前記ロボットの前記把持部の開き量情報を、可変に設定するための前記第2の入力受付画面を表示させることを特徴とする制御装置。
  10. 請求項8又は9において、
    前記表示処理部は、
    前記ロボットの前記把持部の把持の深さ情報及び把持の強さ情報の少なくとも一方の情報を、可変に設定するための前記第2の入力受付画面を表示させることを特徴とする制御装置。
  11. 請求項1乃至10のいずれかにおいて、
    前記処理部は、
    前記ワークを認識する物体認識処理を行い、前記物体認識処理の結果に基づいて、前記把持姿勢を用いて前記把持部で前記ワークを把持させる際の前記ロボットの動作開始位置を決定することを特徴とする制御装置。
  12. ワークを把持する把持部と、
    前記把持部を動作させる制御装置と、
    を含み、
    前記制御装置は、
    前記ワークの把持姿勢を入力するための入力受付画面を表示させ、
    入力された前記把持姿勢を用いてロボットの前記把持部で前記ワークを把持させることによって、教示データを生成することを特徴とするロボット。
  13. ワークの把持姿勢を入力するための入力受付画面を表示させることと、
    入力された前記把持姿勢を用いてロボットの把持部で前記ワークを把持させることによって、教示データを生成することと、
    を含むことを特徴とする教示データ生成方法。
  14. ロボットと、
    前記ロボットを動作させる制御装置と、
    前記ロボットがワークを把持する把持姿勢を入力するための入力受付画面を表示する表示部と、
    を含み、
    前記制御装置は、
    入力された前記把持姿勢を用いて前記ロボットに把持部で前記ワークを把持させることによって、前記ロボットの教示データを生成することを特徴とするロボットシステム。
JP2013254758A 2013-12-10 2013-12-10 制御装置、ロボット、教示データ生成方法及びロボットシステム Pending JP2015112655A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013254758A JP2015112655A (ja) 2013-12-10 2013-12-10 制御装置、ロボット、教示データ生成方法及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013254758A JP2015112655A (ja) 2013-12-10 2013-12-10 制御装置、ロボット、教示データ生成方法及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2015112655A true JP2015112655A (ja) 2015-06-22

Family

ID=53526951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013254758A Pending JP2015112655A (ja) 2013-12-10 2013-12-10 制御装置、ロボット、教示データ生成方法及びロボットシステム

Country Status (1)

Country Link
JP (1) JP2015112655A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018176404A (ja) * 2017-04-21 2018-11-15 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP7074386B1 (ja) * 2021-01-28 2022-05-24 KiQ Robotics株式会社 ロボットシステム、把持制御方法、把持制御プログラム、及び、記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018176404A (ja) * 2017-04-21 2018-11-15 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP7074386B1 (ja) * 2021-01-28 2022-05-24 KiQ Robotics株式会社 ロボットシステム、把持制御方法、把持制御プログラム、及び、記録媒体

Similar Documents

Publication Publication Date Title
JP2015112654A (ja) 制御装置、ロボット、教示データ生成方法及びロボットシステム
US9089971B2 (en) Information processing apparatus, control method thereof and storage medium
JP6361213B2 (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
Lambrecht et al. Spatial programming for industrial robots based on gestures and augmented reality
JP6733239B2 (ja) 制御装置及びロボットシステム
JP6039434B2 (ja) ロボットが用いる把持パターンを生成する方法及び計算機プログラム製品
JP2015071206A (ja) 制御装置、ロボット、教示データ生成方法及びプログラム
JP2014137644A (ja) 認識プログラム評価装置および認識プログラム評価方法
JP2019018272A (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
JP2013144355A5 (ja)
Cruciani et al. Dexterous manipulation graphs
JP2018167334A (ja) 教示装置および教示方法
US10960553B2 (en) Robot control device and robot system
Gorjup et al. An intuitive, affordances oriented telemanipulation framework for a dual robot arm hand system: On the execution of bimanual tasks
JP5888591B2 (ja) 把持制御方法と把持制御実行装置
TW202122225A (zh) 使用先進掃描技術之用於機器人箱揀取的系統及方法
JP2015054378A (ja) 情報処理装置、ロボット、シナリオ情報生成方法及びプログラム
Adjigble et al. An assisted telemanipulation approach: combining autonomous grasp planning with haptic cues
JP2018144228A (ja) ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
JP6706777B2 (ja) 制御装置、ロボット、及びロボットシステム
TWI649169B (zh) 把持位置姿勢教導裝置、把持位置姿勢教導方法及機器人系統
JP2015112655A (ja) 制御装置、ロボット、教示データ生成方法及びロボットシステム
Qin et al. Task-oriented robot-to-human handovers in collaborative tool-use tasks
JP2015085459A (ja) ロボット、ロボットシステム、制御装置及び制御方法
Lopez et al. Taichi algorithm: Human-like arm data generation applied on non-anthropomorphic robotic manipulators for demonstration

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160616

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624