JP2015116631A - 制御装置、ロボット、制御方法及びロボットシステム - Google Patents

制御装置、ロボット、制御方法及びロボットシステム Download PDF

Info

Publication number
JP2015116631A
JP2015116631A JP2013260953A JP2013260953A JP2015116631A JP 2015116631 A JP2015116631 A JP 2015116631A JP 2013260953 A JP2013260953 A JP 2013260953A JP 2013260953 A JP2013260953 A JP 2013260953A JP 2015116631 A JP2015116631 A JP 2015116631A
Authority
JP
Japan
Prior art keywords
gripping
robot
point
distance information
data
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
JP2013260953A
Other languages
English (en)
Inventor
佳織 佐藤
Kaori Sato
佳織 佐藤
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 JP2013260953A priority Critical patent/JP2015116631A/ja
Publication of JP2015116631A publication Critical patent/JP2015116631A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】ロボットの把持部を把持位置に最短距離で移動させると衝突が発生する場合でも、衝突を回避して把持作業が可能な教示データを生成することができる制御装置、ロボット、制御方法及びロボットシステム等の提供。
【解決手段】制御装置100は、ロボット300の把持部310の把持位置へ把持部310を移動させる際に通過する通過点から、把持位置までの距離情報を入力するための入力受付画面を表示させる表示処理部130と、入力された距離情報を受け付ける入力情報取得部150と、受け付けた距離情報を用いて、ロボットの教示データを生成する処理部110と、を含む。
【選択図】 図3

Description

本発明は、制御装置、ロボット、制御方法及びロボットシステム等に関係する。
ロボットに対して所望の動作を行わせるためには、例えばロボットの関節(ジョイント)をどのように変化させ、ロボットの手先(TCP:tool center point)をどの時刻にどの位置にもっていくか、といった動作指令を逐一ロボットに与える必要がある。このような動作指令は人間が記述しており、かつ、ロボットに動作指令を与えた後は、人間が確認しながらロボットを動作させる必要がある。人間が行うこの手続きを「教示(ティーチング:teaching)」と呼ぶ。
そして、教示の具体的な方法としては、教示者がロボットのアーム等を手で動かすことでロボット動作を教示するダイレクトティーチングや、ティーチングペンダント等の操作部を操作することでロボット動作を教示するティーチングプレイバック、或いはロボットの実機は使用せずに、コンピューター上でシミュレーションを用いて教示を行うオフラインティーチング等が知られている。また、これらのロボット動作の教示方法に関する発明としては、特許文献1に記載される従来技術なども公開されている。
特開平9−254064号公報
特許文献1では、溶接作業を行う場合についてのみ具体例が開示されており、ワークの把持作業については言及されていないが、把持作業を行う場合には、ワーク等を把持可能なポイント(把持位置)へ、ロボットの把持部を移動させる際に、ロボットの各部がワークや障害物(周辺物)等に衝突してしまうことがある。また、把持作業を行う場合には、ワークや障害物の配置位置などの作業環境によって、適切なアプローチポイント(通過点)が異なる。そして、ワークや障害物の配置位置は、逐次変わることが多い。そのため、把持位置から所定の距離だけ離れているポイントを、毎回アプローチポイントに設定しても、現在のポイント(把持部の現在位置)からアプローチポイントへ把持部を移動させる際に、衝突が発生してしまうことが考えられる。そのため、障害物等への衝突を回避可能な教示データを生成する必要がある。
本発明の一態様は、ロボットの把持部の把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を入力するための入力受付画面を表示させる表示処理部と、入力された前記距離情報を受け付ける入力情報取得部と、受け付けた前記距離情報を用いて、前記ロボットの教示データを生成する処理部と、を含む制御装置に関係する。
本発明の一態様では、把持ポイント(把持位置)に対応するアプローチポイント(通過点)の決定に用いる距離情報を、ユーザーが可変に設定するための入力受付画面の表示処理を行う。そして、入力受付画面においてユーザーが入力した距離情報を取得し、取得された距離情報に基づいて、アプローチ位置姿勢データ(把持位置での位置姿勢データ)を含む教示データを生成する。
これにより、ロボットの把持部を把持位置に最短距離で移動させると衝突が発生する場合でも、衝突を回避して把持作業が可能な教示データを生成することが可能となる。
また、本発明の一態様では、前記入力情報取得部は、前記把持位置における前記把持部の位置姿勢データを受け付け、前記処理部は、前記把持位置での前記位置姿勢データを含む前記教示データを生成してもよい。
これにより、把持ポイントにおいて把持部が、ユーザーにより指定された位置姿勢になる教示データを生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記把持位置での前記位置姿勢データと前記距離情報とに基づいて、前記通過点における前記把持部の位置姿勢データを特定し、前記通過点での前記位置姿勢データを含む前記教示データを生成してもよい。
これにより、アプローチポイントにおける把持部の位置姿勢を特定すること等が可能になる。
また、本発明の一態様では、前記通過点での前記位置姿勢データは、前記距離情報により表される距離だけ、前記把持部の把持方向と交差する方向に、前記把持位置から前記把持部を移動させた時の前記把持部の位置姿勢データであってもよい。
これにより、アプローチポイントから把持ポイントへ把持部を移動させる際に、把持部とワークが衝突しないようにすること等が可能になる。
また、本発明の一態様では、前記距離情報は、第1の把持位置に対応する第1の通過点を決定するために用いる第1の距離情報と、第2の把持位置に対応する第2の通過点を決定するために用いる第2の距離情報とを含み、前記処理部は、前記第1の距離情報と前記第2の距離情報とに基づいて、前記第1の通過点における前記把持部の位置姿勢データと、前記第2の通過点における前記把持部の位置姿勢データとを生成してもよい。
これにより、二つのワークを続けて把持する場合でも、ロボットの各部と障害物等との衝突を回避しつつ、把持作業を行うこと等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記教示データに基づく前記ロボットの動作を、ユーザーが確認するための確認画面を更に表示してもよい。
これにより、生成した教示データに基づいて、ロボットが衝突を回避しつつ動作可能であることを、ユーザーが確認すること等が可能になる。
また、本発明の一態様では、前記表示処理部は、前記ロボットの前記把持部が第1の通過点から第1の把持位置に移動可能であること確認するための前記確認画面を表示させた後に、前記ロボットの前記把持部が第2の通過点から第2の把持位置に移動可能であることを確認するための前記確認画面を表示させてもよい。
これにより、二つの把持作業を行う場合に、衝突が発生しないかをユーザーが確認すること等が可能になる。
また、本発明の他の態様は、把持部と、前記把持部を動作させる制御装置と、を含み、前記制御装置は、把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を受け付けて、前記教示データを生成するロボットに関係する。
また、本発明の他の態様は、ロボットの把持部の把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を受け付けることと、受け付けた前記距離情報を用いて、前記ロボットの教示データを生成することと、を含む制御方法に関係する。
また、本発明の他の態様は、把持部を備えるロボットと、把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を入力するための入力受付画面を表示する表示装置と、入力された前記距離情報を受け付けて、前記ロボットの教示データを生成する制御装置と、を含むロボットシステムに関係する。
本発明の幾つかの態様によれば、ロボットの把持部を把持位置に最短距離で移動させると衝突が発生する場合でも、衝突を回避して把持作業が可能な教示データを生成することができる制御装置、ロボット、制御方法及びロボットシステム等を提供することができる。
また、本発明の幾つかの態様によれば、ロボットの把持部の現在位置と把持位置との間に障害物がある場合でも、障害物との衝突を回避して把持作業が可能な教示データを生成することができる制御装置、ロボット、制御方法及びロボットシステム等を提供することができる。
本実施形態のシステム構成例。 図2(A)、図2(B)は、アプローチポイントによる衝突回避の説明図。 ユーザーインターフェースの一例の説明図。 図4(A)〜図4(C)は、異なるアプローチポイントによる衝突回避の説明図。 アプローチ位置姿勢ベクトルの特定処理の説明図。 図6(A)〜図6(C)は、把持部の移動方向の説明図。 把持作業を2回行う場合の処理の説明図。 図8(A)、図8(B)は、確認画面の説明図。 本実施形態の処理の流れを説明するフローチャート。 図10(A)、図10(B)は、本実施形態のロボットの一例の説明図。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には、上述したように、ダイレクトティーチング、ティーチングプレイバック及びオフラインティーチング等が知られている。
本実施形態では、ワークの把持作業を行うためのロボットの教示データを生成する。把持作業を行う場合には、ワーク等を把持可能なポイント(以下では、把持位置又は把持ポイントと呼ぶ)へ、ロボットの把持部を移動させる際に、ロボットの各部がワークや障害物(周辺物)等に衝突してしまうことがある。
そのため、本実施形態では、障害物等との衝突を回避するために、把持ポイントの前にアプローチポイント(通過点)を設定する。つまり、アプローチポイントを経由して把持ポイントに把持部を到達させる経路を設定して、衝突を回避できるようにする。
また、把持作業を行う場合には、ワークや障害物の配置位置などの作業環境によって、適切なアプローチポイントが異なる。そして、ワークや障害物の配置位置は、逐次変わることが多い。そのため、把持位置から所定の距離だけ離れているポイントを、毎回アプローチポイントに設定しても、現在のポイントからアプローチポイントへ把持部を移動させる際に、衝突が発生してしまうことが考えられる。なお、この具体例については、図4(A)〜図4(C)を用いて後述する。
よって、ロボットによる把持作業を行う場合には、把持ポイントからアプローチポイントまでの距離を、作業環境に応じて、都度、異なる距離に設定できることが望ましい。また、そのためのユーザーインターフェースも必要である。
そこで、本実施形態の制御装置は、ロボットにより把持作業を行う場合に、把持ポイントからアプローチポイントへの距離をユーザーが可変に設定できるようにする。また、そのためのユーザーインターフェースについても説明する。
ここで、本実施形態の具体的なシステム構成例を図1に示す。本実施形態の制御装置100は、ロボット300の教示データの生成処理を行う処理部110と、ユーザーが入力情報を入力するための入力受付画面の表示処理を行う表示処理部130と、入力受付画面においてユーザーが入力した入力情報を取得する入力情報取得部150と、を含む。
そして、処理部110は、生成した教示データをロボット300に通知する。また、表示処理部130は、例えば表示処理として、表示部200に入力受付画面を表示させる処理を行う。具体的に、入力受付画面を表示させる処理とは、例えば入力受付画面の画像情報を生成する処理であってもよいし、表示部200に対して、あらかじめ生成された入力受付画面の画像情報の表示指示を行う処理(表示タイミング制御処理等)であってもよいし、表示指示又は表示部200からの表示要求に応じて、表示部200に入力受付画面の画像情報を出力(送信)する処理であってもよい。なお、処理部110及び表示処理部130の機能は、各種プロセッサー(CPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムなどにより実現できる。
また、表示部200は、例えば液晶であり、表示処理部130からの表示指示に応じて、入力受付画面等の画像情報を表示する。その他にも表示部200は、有機ELパネルや、電子ペーパーなどであってもよい。
そして、入力情報取得部150は、有線又は無線の少なくとも一方を含むネットワークを介して通信を行う通信部(I/F部)であってもよいし、ユーザー(教示者)からの入力等を直接受け付ける場合には、スイッチやボタン、キーボード、マウス或いはタッチパネル等により構成されていてもよい。
なお、制御装置100は、図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
そして、表示処理部130は、ロボット300の把持部310の把持位置へ把持部310を移動させる際に通過する通過点から、把持位置までの距離情報を入力するための入力受付画面を表示させる。
言い換えれば、表示処理部130は、ロボット300の把持部310の把持ポイントに対応するアプローチポイントの決定に用いる距離情報を、ユーザーが可変に設定するための入力受付画面の表示処理を行う。なお、アプローチポイントとは、把持位置のことである。
これに対して、表示部200に表示された入力受付画面を介してユーザーが距離情報を入力し、入力情報取得部150が、入力情報として距離情報を取得する。
さらに、処理部110は、受け付けた距離情報を用いて、ロボットの教示データを生成する。具体的には、処理部110は、取得された距離情報に基づいて、アプローチポイントにおける把持部310の位置姿勢データであるアプローチ位置姿勢データを含む教示データを生成する。なお、距離情報に基づいて、アプローチポイントを求める処理については後述する。
ここで、図2(A)及び図2(B)を用いて、具体例を説明する。本例では、図2(A)に示すように、作業台の上に置かれたワークWKをロボットの把持部(ハンド)HDが把持する作業を行う。ただし、ロボットの把持部HDが現在位置するポイントP1と、ワークWKを把持可能な把持部HDの把持ポイントP2とを結ぶ直線上に、障害物OBが存在するものとする。
本実施形態では、図2(A)に示すように、現在のポイントP1と把持ポイントP2との間にアプローチポイントP3を設ける。そして、アプローチポイントP3を経由して、把持ポイントP2まで把持部HDを移動させ、ワークWKを把持して、エスケープポイントP4に移動させる。これにより、障害物OBとの衝突を回避して、把持作業を行うことができる。
一方で、比較例として、アプローチポイントを設定しない例を図2(B)に示す。図2(B)の矢印DRのように、現在のポイントP1から把持ポイントP2まで把持部HDを最短で移動させる場合には、ポイントPNにおいて、把持部HDと障害物OBが衝突してしまい、把持作業を行うことができない。
以上のように、図2(A)及び図2(B)のような場合において、比較例では障害物と衝突して把持作業ができないが、本実施形態では障害物を回避しつつ、把持作業を行うことができる。
ここで、把持部(ハンド)310とは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着させたりするために用いる部品のことをいう。把持部310は、ハンドであってもよいし、フックであってもよいし、吸盤等であってもよい。なお、1本のアームに対して、複数のハンドを設けても良い。
そして、把持ポイント(把持位置)とは、ワークを把持可能な状態における把持部310のポイント(点)である。そして、把持部310のポイント(単にポイントとも呼ぶ)とは、把持部310の中心位置や重心位置、TCP(Tool Center Point)、マーカーが付された位置、又はロボットのアームのエンドポイントなどである。なお、アームのエンドポイントとは、アームの先端部分のポイントであって、エンドエフェクター以外の他の部分と接続されていない部分のことをいう。例えば、図2(A)の例では、把持ポイントはポイントP2である。
また、アプローチポイント(通過点)とは、現在把持部310が位置するポイントから把持ポイントへ、把持部310を移動させる際に経由するポイント(点)のことである。例えば、図2(A)の例では、把持ポイントP2に対応するアプローチポイントは、ポイントP3である。
さらに、距離情報とは、距離を表す情報である。距離情報は、例えば距離そのものを表す数値であってもよい。
そして、入力受付画面とは、入力情報を入力可能なユーザーインターフェースである。入力受付画面は、例えば図3に示すような画面UIであって、表示部200に表示される。図3の入力受付画面UIでは、スライダーSL1を動かすことにより、把持ポイントからアプローチポイントまでの距離を調整することが可能である。この場合、前述した距離情報は、スライダーSL1の操作情報などであってもよい。また、距離情報として直接、数値を入力してもよい。その他の要素については後述する。
また、位置姿勢データとは、把持部310の位置及び姿勢を表すデータのことをいう。位置姿勢データは、例えば位置姿勢ベクトルを表すデータである。
一方、アプローチ位置姿勢データとは、アプローチポイントにおける把持部310の位置姿勢データである。つまり、通過点での位置姿勢データである。なお、アプローチ位置姿勢データの具体例についても後述する。
さらに、教示データとは、ロボットが行う動作をロボットに教示するためのデータであり、例えばシナリオデータのことである。シナリオデータとは、ロボットが行う処理を規定するデータであり、さらに具体的に言うと、ロボットが行う処理が時系列順に記述されたデータのことをいう。教示データがシナリオデータである場合には、把持部310をアプローチポイントへ移動させる処理が記載されたシナリオデータを生成する。このシナリオデータに基づいて、ロボットを動作させれば、アプローチポイントを経由して把持ポイントへ、把持部310を移動させることができる。
これにより、図2(B)のように、ロボットの把持部を把持ポイントに最短距離で移動させると衝突が発生する場合でも、図2(A)のように、衝突を回避して把持作業が可能な教示データを生成することが可能となる。すなわち、ロボットの把持部が現在位置するポイントと把持ポイントとの間に障害物がある場合でも、障害物との衝突を回避して把持作業が可能な教示データを生成することが可能となる。
ここで、比較例として、特許文献1において開示される発明について説明する。特許文献1の発明では、ロボットにより溶接作業を行う際に、作業開始ポイント(作業開始点)の手前にアプローチポイント(アプローチ点)を自動的に設定し、ロボットのアーム先端に取り付けられたツールを一度アプローチポイントに移動させてから、作業開始ポイントまでツールを移動させて、溶接作業を開始する。
一方で、本実施形態では、ワークの把持作業を行うためのロボットの教示データを生成するが、特許文献1では、溶接作業を行う場合についてのみ具体例が開示されており、ワークの把持作業については言及されていない。
また、特許文献1の発明において、アプローチポイントを自動的に設定する理由は、実際の作業を行う区間(作業区間)と、退避ポイント(退避点)から作業区間に至る区間(エアカット区間)とで、ロボットの動作速度を変更するためである。すなわち、作業区間では、精密な位置合わせが必要なため、ロボットの最大速度よりもずっと小さい速度で動作することが要求されるが、エアカット区間では、作業時間の短縮のため、多少の位置ずれや振動を許容する代わりに、できるだけ速い速度で動作することが要求される。そのため、ロボットの動作区間を分割し、区間毎に動作速度を変えているのである。より具体的には、同文献の図8に示す退避ポイントC0からアプローチポイントCaまでの区間と、エスケープポイント(エスケープ点)Ceから退避ポイントC4までの区間では、ツールを高速で移動させ、アプローチポイントCaから作業開始ポイントC1の区間、作業区間(C1〜C3)及び作業終了ポイントC3からエスケープポイントCeまでの区間では、ツールを低速で移動させる。
一方で、本実施形態では、区間毎に動作速度を変えるためだけではなく、図2(A)及び図2(B)を用いて説明したように、障害物等との衝突を回避するためにアプローチポイントを設定する必要がある。つまり、アプローチポイントを経由して把持ポイントに到達する経路を設定して、衝突を回避できるようにする。
このように、本実施形態と前述した特許文献1の発明では、アプローチポイントを設定する目的が異なる。
また、特許文献1の発明では、作業開始ポイントからアプローチポイントまでの距離として、あらかじめ決められた値(固定値)を用いている。しかし、ロボットの把持作業に特許文献1の手法をそのまま適用すると、後述する図4(B)のような場合に、把持作業を行えないことがある。
ここで、図4(A)〜図4(C)を用いて具体例を説明する。図4(A)〜図4(C)は、図2(A)及び図2(B)と同様にワークWKの把持作業を図示したものである。
ロボットの把持作業に特許文献1の手法をそのまま適用するならば、図4(A)及び図4(B)に示すように、把持ポイントからアプローチポイントまでの距離を固定値D1として、アプローチポイントをポイントP3に設定する。この場合、ワークWKの周囲にある障害物が、図4(A)に示すような障害物OB1である場合には、衝突を回避して、把持作業を行うことが可能である。しかし、図4(B)に示すように、ワークWKの周囲にある障害物が、障害物OB1よりも背が高い障害物OB2である場合には、ポイントPNで衝突が発生してしまい、把持作業を行うことができない。
また、前述した特許文献1では、作業開始ポイントからアプローチポイントまでの距離が固定であるため、距離を指定するインターフェース等についても言及されていない。
これに対して本実施形態では、図3に示すような入力受付画面UIを介して、把持ポイントからアプローチポイントまでの距離を、作業環境に応じて異なる距離にユーザーが設定可能である。
これにより、例えば図4(C)に示すように、障害物がOB2である場合には、把持ポイントからアプローチポイントまでの距離をD2に設定すれば、アプローチポイントP5が求められ、衝突を回避して把持作業を行うことができる。一方で、障害物がOB1である場合には、把持ポイントからアプローチポイントまでの距離をD1に設定すれば、図4(A)に示すように、把持作業を行うことができる。
さらに、本実施形態では、ロボットの教示データを生成し、生成した教示データに基づいて、ロボットが動作した結果を示す確認画面を表示する。これにより、把持作業を行う際に、ロボットの各部がワークや障害物等に衝突せずに移動可能であることを、ユーザーが確認することが可能となる。
2.処理の詳細
次に、本実施形態の処理の詳細について説明する。
前述してきたように、本実施形態の制御装置100は、把持作業用の教示データを生成するが、ワークの把持作業を行う場合には、把持部310が特定の位置姿勢をとらなければ、ワークを把持できないことがよくある。そのため、把持ポイントにおける把持部310の位置姿勢をユーザーが指定できると、より便利である。
そこで、本実施形態では、表示処理部130が、把持ポイントにおける把持部310の把持位置姿勢データを可変に設定するための入力受付画面の表示処理を行う。
ここで、把持位置姿勢データとは、把持ポイントにおける把持部310の位置姿勢データである。
例えば、図3の入力受付画面UIには、把持位置姿勢データを調整するためのスライダー(SL2〜SL7)を設けており、これらを動かすことにより、把持位置姿勢データを自由に設定することができる。そして、スライダーSL2〜スライダーSL7を動かすと、入力受付画面UIの下部に表示される画像IM1〜画像IM4に、スライダーの操作結果が反映される。なお、画像IM1〜画像IM4は、それぞれ異なる方向から見た時のワークWKと把持部HDの位置関係を表す画像である。スライダーSL2〜スライダーSL7を動かすと、画像IM1〜画像IM4に移るワークWKと把持部HDの位置関係が変化する。
さらに、入力情報取得部150は、把持位置における把持部310の位置姿勢データを受け付ける。そして、処理部110は、把持位置での位置姿勢データを含む教示データを生成する。
言い換えれば、入力情報取得部150は、入力情報として、把持部310の把持位置姿勢データを取得する。そして、処理部110は、把持部310のアプローチ位置姿勢データと、取得された把持部310の把持位置姿勢データとを含む教示データを生成する。
これにより、把持位置姿勢データを指定することが可能になり、把持ポイントにおいて把持部310が、ユーザーにより指定された位置姿勢になる教示データを生成すること等が可能になる。ただし、必ずしも把持位置姿勢データをユーザーが入力しなければいけないわけではなく、あらかじめ設定(記憶)された把持位置姿勢データを用いてもよい。
また、処理部110は、把持位置での位置姿勢データと距離情報とに基づいて、通過点における把持部310の位置姿勢データを特定し、通過点での位置姿勢データを含む教示データを生成する。
つまり、処理部110は、把持部310の把持位置姿勢データと距離情報とに基づいて、把持部310のアプローチ位置姿勢データの特定処理を行う。
ここで、アプローチ位置姿勢データの特定処理の詳細について図5を用いて説明する。本例において、位置姿勢データは、位置姿勢ベクトルを表すデータであるものとする。そして、把持ポイントHPにおける把持部HDの位置姿勢ベクトルを、把持位置姿勢ベクトルXと呼び、アプローチポイントAPにおける把持部HDの位置姿勢ベクトルを、アプローチ位置姿勢ベクトルXと呼ぶ。本例のアプローチ位置姿勢データの特定処理では、アプローチ位置姿勢ベクトルXを求める。
まず、図5の把持ポイントHPにおける把持位置姿勢ベクトルXは、下式(1)により表される。
Figure 2015116631
ここで、(x,y,z)は、ワールド座標系Aにおける把持ポイントHPの座標(位置)を表す。なお、ワールド座標系Aは、X軸、Y軸、Z軸からなる座標系であって、位置姿勢ベクトルは全て、ワールド座標系Aを基準にしたものとする。
また、把持ポイントHPの座標(位置)は、下式(2)に示す行列qとして表すことができる。なお、行列の左肩に付記した記号は、基準となる座標系を表すものとする。例えばqは、ワールド座標系Aにおける把持ポイントHPの座標を表す。
Figure 2015116631
そして、式(1)の(φ,θ,ψ)は把持ポイントにおける把持部HDの姿勢を表す。姿勢の表現法は多数あるが、ここでは、ワールド座標系AのX軸周りの回転を表すロール角φ、Y軸周りの回転を表すピッチ角θ、Z軸周りの回転を表すヨー角ψを用いるものとする。
そして、前述した図3の入力受付画面UIでは、スライダーSL2〜スライダーSL4で把持ポイントHPの座標を、スライダーSL5〜スライダーSL7で把持ポイントHPにおける把持部HDの姿勢を調整することが可能である。
次に、把持ポイントHPからアプローチポイントAPまでの距離Dと方向Tに基づいて、ローカル座標系BにおけるアプローチポイントAPの座標を求める。距離Dは、前述した図3の入力受付画面UIのスライダーSL1を動かして入力されたものである。また、方向Tは、あらかじめ決められた方向であってもよいし、ユーザーにより入力された方向であってもよい。そして、ローカル座標系Bは、図5に示すように、把持部HDの現在位置を原点としたTx軸とTy軸とTz軸からなる座標系である。
その結果、ローカル座標系BにおけるアプローチポイントAPの座標は、下式(3)に示す行列pとして求められる。
Figure 2015116631
本例では、ワールド座標系AにおけるアプローチポイントAPの座標を求めたいため、下式(4)により行列pを座標変換して、ワールド座標系AにおけるアプローチポイントAPの座標を表す行列pを求める。
Figure 2015116631
上式(4)における行列は、ローカル座標系Bの任意の点の座標をワールド座標系Aにおける座標に変換する行列であり、下式(5)により表される。
Figure 2015116631
ここで、説明の簡略化のため、式(4)により求められるアプローチポイントAPの座標を、下式(6)のx、y、zとおく。
Figure 2015116631
さらに、アプローチポイントAPにおける把持部HDの姿勢は、把持ポイントHPにおける姿勢と同じ姿勢のままにするため、アプローチ位置姿勢ベクトルXは、下式(7)のように求めることができる。
Figure 2015116631
このように、アプローチポイントにおける把持部310の位置姿勢を特定すること等が可能になる。
より具体的な例を挙げると、例えば把持ポイントHPがワールド座標系Aの原点にあり(x=y=z=0)、φ=θ=ψ=0°であるとする。すなわち、ワールド座標系Aとローカル座標系Bが把持ポイントHPにおいて一致しているとする。そして、把持ポイントHPからアプローチポイントAPまでの距離がDであり、把持ポイントHPからアプローチポイントAPまでの方向が、ワールド座標系AのZ軸の負の方向であるとする。
この時、ローカル座標系BにおけるアプローチポイントAPの座標は、下式(8)により表される。
Figure 2015116631
そして、前述した式(4)により座標変換を行うことで、下式(9)に示すように、ワールド座標系AにおけるアプローチポイントAPの座標が求められる。
Figure 2015116631
また、把持作業を行う場合には、図6(A)に示すように、アプローチポイントAPから把持ポイントHPへ把持部HDを移動させる際に、把持部HDがワークWKと衝突してしまうことがある。これは、図6(A)のように、アプローチポイントAPから把持ポイントHPへの方向DRNGと、把持方向DR1とが、(略)一致している際に起こりやすい。
ここで、把持方向とは、例えば図6(B)に示すように、把持ポイントHPにおいて把持部HDがワークWKを把持する時に、把持部HDがワークWKに力を加える(近付く)方向(DR1又はDR2)のことを言う。
そこで、処理部110は、把持部310の把持方向と交差する方向に、距離情報により表される距離だけ、把持ポイントから把持部310を移動させた時の把持部310の位置姿勢データを、把持部310のアプローチ位置姿勢データとして特定してもよい。
つまり、通過点での位置姿勢データ(アプローチ位置姿勢データ)は、距離情報により表される距離だけ、把持部310の把持方向と交差する方向に、把持位置から把持部310を移動させた時の把持部310の位置姿勢データであってもよい。
ここで、把持部310の把持方向と交差する方向とは、例えば把持部310の把持方向と(略)直交する方向である。例えば、図6(B)の例では、方向DR3または方向DR4である。
これにより、図6(C)に示すように、アプローチポイントAPから把持ポイントHPへの方向DROKと、把持方向DR2(DR1)とを異ならせることができる。なお、図6(C)の例では、方向DROKは、把持方向DR2と直交する方向DR4と一致している。
よって、アプローチポイントから把持ポイントへ把持部を移動させる際に、把持部とワークが衝突しないようにすること等が可能になる。
また、把持作業を行う場合には、特許文献1に例示される溶接作業を行う場合と異なり、二つのワークを続けて把持することがある。例えば、図7に示すように、ワークWK1を把持した後に、ワークWK1を移動させて、代わりにワークWK2を把持する場合である。
しかし、図7の例のように、障害物(OB10及びOB20)がある場合には、特許文献1の方法のようにアプローチポイントを一点しか設定していないと(例えばP22)、二つ目のワークWK2の把持ポイントP25に把持部HDを移動させる際に、把持部HDが障害物OB20に衝突してしまうことがある。
そこで、本実施形態では、把持ポイント毎にアプローチポイントを設定する。すなわち、入力情報取得部150は、入力情報として、第1の把持ポイント(第1の把持位置)に対応する第1のアプローチポイント(第1の通過点)を決定するために用いる第1の距離情報と、第2の把持ポイント(第2の把持位置)に対応する第2のアプローチポイント(第2の通過点)を決定するために用いる第2の距離情報とを取得する。そして、処理部110は、取得された第1の距離情報と第2の距離情報とに基づいて、第1のアプローチポイントにおける把持部310の第1のアプローチ位置姿勢データと、第2のアプローチポイントにおける把持部310の第2のアプローチ位置姿勢データと、を含む教示データを生成する。
例えば、図7の例では、第1の把持ポイントP23に対しては、第1のアプローチポイントP22を設定し、第2の把持ポイントP25に対しては、第2のアプローチポイントP24を設定する。
また、第1のアプローチ位置姿勢データとは、第1のアプローチポイントP22における位置姿勢データである。そして、第1のアプローチ位置姿勢データは、式(1)〜式(7)を用いて前述した方法により、第1の距離情報により表される距離D1と、把持ポイントP23の位置姿勢データとに基づいて求められる。
同様に、第2のアプローチ位置姿勢データとは、第2のアプローチポイントP24における位置姿勢データであり、同様の方法で、第2の距離情報により表される距離D2と、把持ポイントP25の位置姿勢データに基づいて求められる。
その結果、図7に示すように、ポイントP21からポイントP26を順番に通る経路が設定でき、この経路を通るように、ロボットに指示する教示データを生成することができる。
これにより、二つのワークを続けて把持する場合でも、ロボットの各部と障害物等との衝突を回避しつつ、把持作業を行うこと等が可能になる。
また、表示処理部130は、教示データに基づいてロボット300が動作可能であることを、ユーザーが確認するための確認画面の表示処理を行ってもよい。
ここで、確認画面とは、例えばロボットの把持部の移動をアニメーションなどにより、シミュレーションして表示する画面であり、具体的には図8(A)の画面CS1や図8(B)の画面CS2などである。
図8(A)では、把持ポイントP2からアプローチポイントまでの距離をD3に設定した結果、アプローチポイントP31が設定され、障害物OBに衝突せずに移動可能であることが確認できる。
一方で、図8(B)では、把持ポイントP2からアプローチポイントまでの距離をD4に設定した結果、アプローチポイントP32が設定されたが、アプローチポイントP32を通る場合には、把持部HDがポイントPNにおいて障害物OBと衝突してしまうことが確認できる。
これにより、生成した教示データに基づいて、ロボット300が衝突を回避しつつ動作可能であることを、ユーザーが確認すること等が可能になる。ただし、確認画面は、前述した例に限らず、例えば、衝突の有無を表す文字情報を表示する画面などであってもよい。
また、表示処理部130は、ロボット300の把持部310が第1のアプローチポイント(第1の通過点)から第1の把持ポイント(第1の把持位置)に移動可能であることを、ユーザーが確認するための確認画面を表示した後に、ロボット300の把持部310が第2のアプローチポイント(第2の通過点)から第2の把持ポイント(第2の把持位置)に移動可能であることを、ユーザーが確認するための確認画面の表示処理を行ってもよい。
例えば、図7の例では、ポイントP21から把持ポイントP23までの移動をシミュレーションする図8(A)及び図8(B)のような画面を表示し、その後に、把持ポイントP23からポイントP26までの移動をシミュレーションする画面を表示する。なお、二回の把持作業を一度に続けてシミュレーションする画面を表示してもよい。
これにより、二つの把持作業を行う場合に、衝突が発生しないかをユーザーが確認すること等が可能になる。
3.処理の流れ
以下では、図9のフローチャートを用いて、本実施形態の処理の流れについて説明する。
まず、図3に示すような入力受付画面を表示する(S101)。そして、ユーザーが、入力受付画面において、把持ポイントからアプローチポイントまでの距離情報を入力し、入力された距離情報を取得する(S102)。
次に、把持ポイントにおける把持位置姿勢データを取得する(S103)。そして、ステップS102において取得された距離情報と、ステップS103において取得された把持位置姿勢データとに基づいて、アプローチ位置姿勢データを算出する(S104)。例えばアプローチ位置姿勢データは、式(1)〜式(7)を用いて説明した方法により算出される(S104)。
ここで、全ての把持位置姿勢データに対して、アプローチ位置姿勢データを算出したか否かを判断する(S105)。前述した図7のように、把持ポイントが複数ある場合には、アプローチポイントも複数あるため、全てのアプローチ位置姿勢データを算出するまで、ステップS104を繰り返す。
そして、全てのアプローチ位置姿勢データを算出した場合には、取得した把持位置姿勢データと、算出したアプローチ位置姿勢データとを含む教示データを生成する(S106)。
その後に、生成した教示データに基づいて、ロボットを動作させた際に、障害物等と衝突せずに把持作業を行うことができるかを確認するための確認画面を表示する(S107)。例えば、図8(A)や図8(B)に示すような画面である。
そして、確認画面をユーザーが確認した結果、ロボットが問題なく動作すると判断された場合には(S108)、処理を終了し、ロボットの動作に問題があると判断された場合には(S108)、ステップS102から処理をやり直す。
次に、本実施形態のロボット300の構成例を図10(A)及び図10(B)に示す。例えば、図10(A)のロボットは、ロボット本体300(ロボット)と制御装置100とが別体に構成されている。この場合には、制御装置100の一部又は全部の機能は、例えばPC(Personal Computer)により実現される。また、制御装置100の一部又は全部の機能は、有線及び無線の少なくとも一方を含むネットワークによりロボット300と接続されたサーバーにより実現されてもよい。
一方で、本実施形態のロボットは図10(A)の構成に限定されず、図10(B)のようにロボット本体300と制御装置100とが一体に構成されていてもよい。すなわち、ロボット300は、制御装置100を含んでいても良い。具体的には図10(B)に示したように、ロボット300は、ロボット本体(アーム及びハンドを有する)及びロボット本体を支えるベースユニット部を有し、当該ベースユニット部に制御装置100が格納されるものであってもよい。図10(B)のロボット300には、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図10(A)は単腕型の例であるが、ロボット300は図10(B)に示すように双腕型等の多腕型のロボットであってもよい。また、ロボット300は、人手により移動させられるものであってもよいし、車輪を駆動させるモーターを設け、当該モーターを制御装置100により制御することにより、移動させられるものであってもよい。また、制御装置100は、図10(B)のようにロボット300の下に設けられたベースユニット部に設けられるとは限られない。
また、本実施形態のロボットシステムは、把持部310を備えるロボット300と、把持位置へ把持部310を移動させる際に通過する通過点から、把持位置までの距離情報を入力するための入力受付画面を表示する表示装置(表示部200)と、入力された距離情報を受け付けて、ロボット300の教示データを生成する制御装置100と、を含む。
なお、本実施形態の制御装置100、ロボット300及びロボットシステム等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置100、ロボット300及びロボットシステム等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、制御装置、ロボット及びロボットシステムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
100 制御装置、110 処理部、130 表示処理部、150 入力情報取得部、
200 表示部、300 ロボット(ロボット本体)、310 把持部

Claims (10)

  1. ロボットの把持部の把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を入力するための入力受付画面を表示させる表示処理部と、
    入力された前記距離情報を受け付ける入力情報取得部と、
    受け付けた前記距離情報を用いて、前記ロボットの教示データを生成する処理部と、
    を含むことを特徴とする制御装置。
  2. 請求項1において、
    前記入力情報取得部は、
    前記把持位置における前記把持部の位置姿勢データを受け付け、
    前記処理部は、
    前記把持位置での前記位置姿勢データを含む前記教示データを生成することを特徴とする制御装置。
  3. 請求項2において、
    前記処理部は、
    前記把持位置での前記位置姿勢データと前記距離情報とに基づいて、前記通過点における前記把持部の位置姿勢データを特定し、前記通過点での前記位置姿勢データを含む前記教示データを生成することを特徴とする制御装置。
  4. 請求項3において、
    前記通過点での前記位置姿勢データは、
    前記距離情報により表される距離だけ、前記把持部の把持方向と交差する方向に、前記把持位置から前記把持部を移動させた時の前記把持部の位置姿勢データであることを特徴とする制御装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記距離情報は、
    第1の把持位置に対応する第1の通過点を決定するために用いる第1の距離情報と、第2の把持位置に対応する第2の通過点を決定するために用いる第2の距離情報とを含み、
    前記処理部は、
    前記第1の距離情報と前記第2の距離情報とに基づいて、前記第1の通過点における前記把持部の位置姿勢データと、前記第2の通過点における前記把持部の位置姿勢データとを生成することを特徴とする制御装置。
  6. 請求項1乃至5のいずれかにおいて、
    前記表示処理部は、
    前記教示データに基づく前記ロボットの動作を、ユーザーが確認するための確認画面を更に表示させることを特徴とする制御装置。
  7. 請求項6において、
    前記表示処理部は、
    前記ロボットの前記把持部が第1の通過点から第1の把持位置に移動可能であること確認するための前記確認画面を表示させた後に、前記ロボットの前記把持部が第2の通過点から第2の把持位置に移動可能であることを確認するための前記確認画面を表示させることを特徴とする制御装置。
  8. 把持部と、
    前記把持部を動作させる制御装置と、
    を含み、
    前記制御装置は、
    把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を受け付けて、前記教示データを生成することを特徴とするロボット。
  9. ロボットの把持部の把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を受け付けることと、
    受け付けた前記距離情報を用いて、前記ロボットの教示データを生成することと、
    を含むことを特徴とする制御方法。
  10. 把持部を備えるロボットと、
    把持位置へ前記把持部を移動させる際に通過する通過点から、前記把持位置までの距離情報を入力するための入力受付画面を表示する表示装置と、
    入力された前記距離情報を受け付けて、前記ロボットの教示データを生成する制御装置と、
    を含むことを特徴とするロボットシステム。
JP2013260953A 2013-12-18 2013-12-18 制御装置、ロボット、制御方法及びロボットシステム Pending JP2015116631A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013260953A JP2015116631A (ja) 2013-12-18 2013-12-18 制御装置、ロボット、制御方法及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013260953A JP2015116631A (ja) 2013-12-18 2013-12-18 制御装置、ロボット、制御方法及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2015116631A true JP2015116631A (ja) 2015-06-25

Family

ID=53529853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013260953A Pending JP2015116631A (ja) 2013-12-18 2013-12-18 制御装置、ロボット、制御方法及びロボットシステム

Country Status (1)

Country Link
JP (1) JP2015116631A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018181229A1 (ja) * 2017-03-29 2018-10-04 日本電産サンキョー株式会社 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法
WO2020066947A1 (ja) * 2018-09-25 2020-04-02 日本電産株式会社 ロボットの経路決定装置、ロボットの経路決定方法、プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018181229A1 (ja) * 2017-03-29 2018-10-04 日本電産サンキョー株式会社 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法
JPWO2018181229A1 (ja) * 2017-03-29 2020-02-20 日本電産株式会社 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法
JP7074057B2 (ja) 2017-03-29 2022-05-24 日本電産株式会社 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法
WO2020066947A1 (ja) * 2018-09-25 2020-04-02 日本電産株式会社 ロボットの経路決定装置、ロボットの経路決定方法、プログラム

Similar Documents

Publication Publication Date Title
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及系统
Ostanin et al. Interactive robot programing using mixed reality
JP6816364B2 (ja) 制御装置、ロボット、及びロボットシステム
JP6343353B2 (ja) ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置
JP6379874B2 (ja) ティーチングシステム、ロボットシステムおよびティーチング方法
US20180257238A1 (en) Manipulator system
US9186792B2 (en) Teaching system, teaching method and robot system
WO2004085120A1 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
JPWO2014148032A1 (ja) ロボットシステムの制御方法およびロボットシステム
JP2015071206A (ja) 制御装置、ロボット、教示データ生成方法及びプログラム
JP2018176333A (ja) 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法
WO2015137162A1 (ja) 制御装置、ロボットシステム、および制御用データ生成方法
Chan et al. A multimodal system using augmented reality, gestures, and tactile feedback for robot trajectory programming and execution
JP2015116631A (ja) 制御装置、ロボット、制御方法及びロボットシステム
JP2019188545A (ja) ロボット制御装置
WO2021171353A1 (ja) 制御装置、制御方法及び記録媒体
JP2017148909A (ja) 制御装置、ロボット、及びロボットシステム
JP2013226602A (ja) 産業用機械システム
JP2020099977A (ja) 軌道生成装置、軌道生成方法、及びロボットシステム
JP2015100874A (ja) ロボットシステム
JP2009166172A (ja) ロボットのシミュレーション方法及びロボットのシミュレーション装置
JP2018118330A (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
Su et al. An AR-based manipulation system for industrial robots
JP2021096604A (ja) スキャナコントローラ及びスキャナ制御システム
US20230398688A1 (en) Motion trajectory generation method for robot, motion trajectory generation apparatus for robot, robot system, and program

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