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

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

Info

Publication number
JP2016120556A
JP2016120556A JP2014261872A JP2014261872A JP2016120556A JP 2016120556 A JP2016120556 A JP 2016120556A JP 2014261872 A JP2014261872 A JP 2014261872A JP 2014261872 A JP2014261872 A JP 2014261872A JP 2016120556 A JP2016120556 A JP 2016120556A
Authority
JP
Japan
Prior art keywords
arm
robot
coordinate
tip
control
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
JP2014261872A
Other languages
English (en)
Inventor
太郎 石毛
Taro Ishige
太郎 石毛
郁馬 降▲旗▼
Ikuma Furuhata
郁馬 降▲旗▼
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 セイコーエプソン株式会社
Priority to JP2014261872A priority Critical patent/JP2016120556A/ja
Publication of JP2016120556A publication Critical patent/JP2016120556A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができるロボットシステムを提供すること。
【解決手段】ロボットは、第1アームと、第2アームと、第1力センサーと、を備え、第1アームの先端と第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。
【選択図】図4

Description

この発明は、ロボット、ロボットシステム、制御装置、及び制御方法に関する。
ロボットに精度の高い作業を行わせるため、ロボットの機構や撮像装置、作業環境等の校正について研究・開発が行われている。
これに関し、複数のマニピュレーターで協調作業を行うために、複数のロボットの位置合わせを行う発明が行われている(特許文献1、特許文献2参照)。
例えば、特許文献1に記載の産業用ロボットシステムは、第1のマニピュレーターと第2のマニピュレーターを備える。そして、この特許文献1の産業用ロボットシステムでは、ある回転部に取り付けられた1点の位置を、回転部の回転角を変えながら、第1及び第2のマニピュレーターに対して3回教示することにより、第1及び第2のマニピュレーター間の相対位置及び姿勢を計算する。
また、特許文献2に記載の複数ロボットの相対位置関係取得方式では、第1のロボットに力覚センサ及び形状が既知の面を有する面状ツールを取り付け、第2のロボットに針状ツールを取り付け、針状ツールを面状ツールに所定の力で静的に接触させた状態にする。また、この方式では、力覚センサーで検出される力成分,トルク成分及び第1のロボットの姿勢より力点(接触点)の第1のロボットのベース座標系の位置を求め、さらに第2のロボットの該第2のロボットのベース座標系上の針状ツール先端位置を求める。なお、この方式では、同一直線上にない3点に対して針状ツールを面状ツールに同様に接触させて各々のロボット座標系上の位置を求める。そして、この方式では、これら3点より第1のロボットのベース座標系で表した第2のロボットのベース座標系の同次変換行列の6つのパラメーターを決定し、第1のロボットと第2のロボットの位置関係を得る。
特許第3070329号公報 特開平5−111897号公報
複数のアームを備えるロボットにおいて、上記の特許文献1及び特許文献2に記載のロボットでは、アームを構成するマニピュレーターの間の相対的な位置関係を3点以上計測することにより、複数のアームの間の相対的な位置及び姿勢を算出している。しかしながら、特許文献1及び特許文献2のロボットでは、手作業により3点以上の計測点を教示しなければならず、さらに複数のアームの間の相対的な位置及び姿勢を複数の作業領域で校正する場合、作業領域の数だけ校正作業を繰り返さなければならず、多くの作業時間と労力が必要であった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができるロボット、ロボットシステム、制御装置、及び制御方法を提供する。
本発明の一態様は、第1アームと、第2アームと、第1力センサーと、を備え、前記第1アームの先端と前記第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、ロボットである。
この構成により、ロボットは、第1アームと、第2アームと、第1力センサーと、を備え、第1アームの先端と第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。これにより、ロボットシステムは、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができる。
また、本発明の他の態様は、ロボットにおいて、第2力センサーを備え、前記第1力センサーと前記第2力センサーから取得される情報に基づいて、前記第1アームと前記第2アームのうち少なくとも一方を前記第1力センサーと前記第2力センサーのうちいずれか一方又は両方の出力値に基づいて動作させる、構成が用いられてもよい。
この構成により、ロボットは、第1力センサーと第2力センサーから取得される情報に基づいて、第1アームと第2アームのうち少なくとも一方を第1力センサーと第2力センサーのうちいずれか一方又は両方の出力値に基づいて動作させる。これにより、ロボットは、第1力センサーと第2力センサーのうちいずれか一方又は両方の出力値に基づく制御によって第1アームの先端と第2アームの先端の位置関係を一定にした状態で第1アームと第2アームを動作させることができる。
また、本発明の他の態様は、ロボットにおいて、前記第1アームの先端と前記第2アームの先端とを向かい合わせ、前記第1アームと前記第2アームのうち一方が他方に対して所定の大きさの力を加え続ける状態を保持し、前記位置関係を一定にした状態で前記第1アームと前記第2アームを動作させる、構成が用いられてもよい。
この構成により、ロボットは、第1アームの先端と第2アームの先端とを向かい合わせ、第1アームと第2アームのうち一方が他方に対して所定の大きさの力を加え続ける状態を保持し、第1アームの先端と第2アームの先端との位置関係を一定にした状態で第1アームと第2アームを動作させる。これにより、ロボットは、第1アームの先端の位置と第2アームの先端の位置関係がずれてしまうことを抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記第1アームの先端と前記第2アームの先端との間に治具を挟み込ませ、前記所定の大きさの力を加え続ける状態を保持する、構成が用いられてもよい。
この構成により、ロボットは、第1アームの先端と第2アームの先端との間に治具を挟み込ませ、所定の大きさの力を加え続ける状態を保持する。これにより、ロボットは、治具によって第1アームの先端の位置と第2アームの先端の位置との位置関係がずれてしまうことをより確実に抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記第1アームの所定位置又は前記第2アームの所定位置と、校正したい領域内の3以上の計測点のそれぞれとを一致させ、前記計測点のそれぞれにおいて前記第1アームの所定位置及び前記第2アームの所定位置とともに動く予め決められた点の位置を前記第1アームの座標系及び前記第2アームの座標系で算出し、前記計測点のそれぞれにおいて算出された前記第1アームの座標系及び前記第2アームの座標系での前記予め決められた点の位置に基づいて前記座標変換行列を算出する、構成が用いられてもよい。
この構成により、ロボットは、第1アームの所定位置又は第2アームの所定位置と、校正したい領域内の3以上の計測点のそれぞれとを一致させ、計測点のそれぞれにおいて第1アームの所定位置及び第2アームの所定位置とともに動く予め決められた点の位置を第1アームの座標系及び第2アームの座標系で算出し、計測点のそれぞれにおいて算出された第1アームの座標系及び第2アームの座標系での予め決められた点の位置に基づいて座標変換行列を算出する。これにより、ロボットは、計測点のそれぞれにおいて算出された第1アームの座標系及び第2アームの座標系での予め決められた点の位置に基づいて座標変換行列によりマニピュレーターの間の校正を行うことができる。
また、本発明の他の態様は、第1アームと、第2アームと、第1力センサーと、を備えるロボットと、前記ロボットを動作させる制御装置と、を含み、前記制御装置は、前記第1アームの先端と前記第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、ロボットシステムである。
この構成により、ロボットシステムは、第1アームの先端と第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。これにより、ロボットシステムは、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができる。
また、本発明の他の態様は、ロボットが備える第1アームの先端と、前記ロボットが備える第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、制御装置である。
この構成により、制御装置は、ロボットが備える第1アームの先端と、ロボットが備える第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。これにより、制御装置は、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができる。
また、本発明の他の態様は、ロボットが備える第1アームの先端と、前記ロボットが備える第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、制御方法である。
この構成により、制御方法は、ロボットが備える第1アームの先端と、ロボットが備える第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。これにより、制御方法は、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができる。
以上により、ロボットシステム、ロボット、制御装置、及び制御方法は、第1アームの先端と第2アームの先端との位置関係を一定にした状態で第1アームと第2アームとを動作させ、第1アームの座標系と第2アームの座標系との座標変換行列を算出する。これにより、ロボットシステム、ロボット、制御装置、及び制御方法は、複数の校正したい領域でのマニピュレーターの間の校正を効率的に行うことができる。
本発明の第1実施形態に係るロボットシステム1の一例を示す構成図である。 治具50の一例を示す図である。 制御装置30のハードウェア構成の一例を示す図である。 制御装置30の機能構成の一例を示す図である。 制御装置30によるマニピュレーターの校正処理の流れの一例を示すフローチャートである。 第1エンドエフェクターEND1及び第2エンドエフェクターEND2により治具50が把持された状態の一例を示す図である。 校正領域と、校正領域内の複数の計測点とを例示する図である。 治具50aの一例を示す図である。 第2実施形態に係るロボットシステム2の一例を示す構成図である。 制御装置30aの機能構成の一例を示す図である。 制御装置30aがロボット20に所定の協調作業を行わせる処理の流れの一例を示すフローチャートである。
<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、本発明の第1実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、複数のマニピュレーターを備えるロボット20と、制御装置30を備える。
まず、ロボットシステム1が具備するロボット20と制御装置30について説明する。
ロボット20は、第1動撮像部11と、第2動撮像部12と、第1固定撮像部21と、第2固定撮像部22と、第1力センサー23−1と、第2力センサー23−2と、物体を把持可能な爪部を備える第1エンドエフェクターEND1と、物体を把持可能な爪部を備える第2エンドエフェクターEND2と、第1マニピュレーターMNP1と、第2マニピュレーターMNP2と、図示しない複数のアクチュエーターを備えた双腕ロボットである。
双腕ロボットとは、第1アームと第2アームの2本のアーム(腕)を有するロボットを示す。第1アームは、第1エンドエフェクターEND1と第1マニピュレーターMNP1(又は、第1マニピュレーターMNP1のみ)によって構成される。また、第2アームは、第2エンドエフェクターEND2と第2マニピュレーターMNP2(又は、第2マニピュレーターMNP2のみ)によって構成される。なお、ロボット20は、双腕ロボットに代えて、3本以上のアームを有するロボットであってもよい。なお、以下の説明では、第1マニピュレーターMNP1又は第1エンドエフェクターEND1の動作は、第1アームの動作を示す。また、以下の説明では、第2マニピュレーターMNP2又は第2エンドエフェクターEND2の動作は、第2アームの動作を示す。
また、複数のアクチュエーターはそれぞれ、第1マニピュレーターMNP1が備える各関節、及び第2マニピュレーターMNP2が備える各関節に備えられる。これら複数のアクチュエーターの回転角を示す情報は、それぞれのアクチュエーターに係るエンコーダーにより出力される。
第1アームは、7軸垂直多関節型となっており、支持台と第1マニピュレーターMNP1と第1エンドエフェクターEND1とがアクチュエーターによる連携した動作によって7軸の自由度の動作を行うことができる。なお、第1アームは、6自由度(6軸)以下で動作するものであってもよく、8自由度(8軸)以上で動作するものであってもよい。また、第1アームは、第1動撮像部11を備える。
第1動撮像部11は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。第1動撮像部11は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。
なお、第1動撮像部11と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第1動撮像部11は、図1に示したように第1腕を構成する第1マニピュレーターMNP1の一部に備えられており、第1アームの動きによって移動することが可能である。
第2アームは、7軸垂直多関節型となっており、支持台と第2マニピュレーターMNP2と第2エンドエフェクターEND2とがアクチュエーターによる連携した動作によって6軸の自由度の動作を行うことができる。なお、第2アームは、6自由度(6軸)以下で動作するものであってもよく、8自由度(8軸)以上で動作するものであってもよい。また、第2アームは、第2動撮像部12を備える。
第2動撮像部12は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第2動撮像部12は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。第2動撮像部12は、図1に示したように第2腕を構成する第2マニピュレーターMNP2の一部に備えられており、第2アームの動きによって移動することが可能である。
第1固定撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第1固定撮像部21は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2動撮像部12と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
第2固定撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第2固定撮像部22は、ケーブルによって制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2固定撮像部22と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続される構成であってもよい。
なお、本実施形態において、ロボット20は、第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22の一部又は全部を備えない構成であってもよい。
第1力センサー23−1は、ロボット20の第1エンドエフェクターEND1と第1マニピュレーターMNP1との間に備えられている。第1力センサー23−1は、第1エンドエフェクターEND1に作用した力やモーメントを検出する。第1力センサー23−1は、検出した力やモーメントを示す情報(以下、力センサー情報と称する)を、通信により制御装置30へ出力する。
第2力センサー23−2は、第2エンドエフェクターEND2と第2マニピュレーターMNP2との間に備えられている。第2力センサー23−2は、第2エンドエフェクターEND2に作用した力やモーメントを検出する。第2力センサー23−2は、検出した力やモーメントを示す情報(以下、力センサー情報と称する)を、通信により制御装置30へ出力する。第1力センサー23−1と第2力センサー23−2のうちいずれか一方又は両方により検出された力センサー情報は、例えば、制御装置30によるロボット20の力センサー情報に基づく制御(例えば、コンプライアンス制御等)等に用いられる。なお、以下では、第1力センサー23−1と第2力センサー23−2を区別する必要が無い限り、まとめて力センサー23と称して説明する。また、本実施形態において、ロボット20は、第1力センサー23−1と第2力センサー23−2のうちいずれか一方を備えない構成であってもよい。力センサー情報に含まれる力の大きさやモーメントの大きさを示す値は、力センサーの出力値の一例である。
ロボット20が備える第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22、第1力センサー23−1、第2力センサー23−2、第1エンドエフェクターEND1、第2エンドエフェクターEND2、第1マニピュレーターMNP1、第2マニピュレーターMNP2、図示しない複数のアクチュエーターのそれぞれ(以下、ロボット20が備える各機能部と称する)は、例えば、ロボット20に内蔵されている制御装置30とケーブルによって通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、ロボット20が備える各機能部と制御装置30とは、Wi−Fi(登録商標)等の通信規格により行われる無線通信によって接続されてもよい。
本実施形態において、ロボット20が備える各機能部は、ロボット20に内蔵された制御装置30から制御信号を取得し、取得した制御信号に基づいて第1マニピュレーターMNP1、第1エンドエフェクターEND1、第2マニピュレーターMNP2、第2エンドエフェクターEND2を動かす。
また、ロボット20は、制御装置30を内蔵し、内蔵された制御装置30により制御される。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。
制御装置30は、GUI(Graphical User Interface)を介したユーザーからの操作(例えば、ジョグ(JOG)操作等)を受け付け、受け付けられた操作に基づいた動作を行うようにロボット20を制御する。
次に、ロボットシステム1についての概要を説明する。
ロボットシステム1は、ロボット20が備える複数のマニピュレーター(この一例において、2つのマニピュレーター)の間の校正を行う。以下では、説明の便宜上、ロボット20が備える複数のマニピュレーターの間の校正を、単にマニピュレーターの校正と称して説明する。
ロボットシステム1が行うマニピュレーターの校正とは、第1TCP(Tool Center Point)の位置と、第2TCPの位置とを共通の座標系において表すことができるように、第1座標系における第1TCPの位置を第2座標系における位置に変換(補正)する、又は第2座標系における第2TCPの位置を第1座標系における位置に変換することを示す。ロボットシステム1は、このマニピュレーターの校正を行うため、第1座標系における第1TCPの位置を第2座標系における位置に変換(補正)する座標変換行列を算出する、又は第2座標系における第2TCPの位置を第1座標系における位置に変換する座標変換行列を算出する。
ここで、第1TCPとは、第1マニピュレーターMNP1のTCPを示す。また、第2TCPとは、第2マニピュレーターMNP2のTCPを示す。なお、第1TCPは、第1アームの所定位置の一例である。また、第2TCPは、第2アームの所定位置の一例である。また、第1座標系とは、第1TCPの位置を表す座標系を示す。また、第2座標系とは、第2TCPの位置を表す座標系を示す。なお、第1座標系は、第1アームの座標系の一例である。また、第2座標系は、第2アームの座標系の一例である。
マニピュレーターの校正により、ロボットシステム1は、算出された座標変換行列に基づいて、ロボット20に所定の協調作業を高い精度で行わせることができる。所定の協調作業とは、第1マニピュレーターMNP1と第2マニピュレーターMNP2の両方により行う作業であり、例えば、第1座標系又は第2座標系において第1TCPの位置と、第2TCPの位置とをそれぞれ同じ位置(例えば、ある位置X)に移動させて行う作業である。
より具体的には、所定の協調作業とは、この一例において、ロボット20が第1マニピュレーターMNP1に設けられた第1エンドエフェクターEND1によって把持している物体を、第1エンドエフェクターEND1から第2マニピュレーターMNP2に設けられた第2エンドエフェクターEND2に受け渡す(把持させる)作業等である。なお、以下では、第1座標系と第2座標系の間の座標変換行列を、単に座標変換行列と称して説明する。
なお、以下では、説明の便宜上、順運動学に基づいて算出される第1座標系における第1TCPの位置と、実際の第1TCPの位置とが一致するように第1マニピュレーターMNP1の校正が行われており、順運動学に基づいて算出される第2座標系における第2TCPの位置と、実際の第2TCPの位置とが一致するように第2マニピュレーターMNP2の校正が行われている場合について説明する。
また、ロボットシステム1は、座標変換行列を算出する際、第1エンドエフェクターEND1と、第2エンドエフェクターEND2の両方により図1に示した作業台TB上に配置された治具50を把持する。作業台TBは、例えば、テーブル等の台であるが、治具50を配置可能な床面等、他の台であってもよい。
ここで、図2を参照して、治具50について説明する。図2は、治具50の一例を示す図である。治具50の材質は、例えば、金属等であるが、これに代えて、プラスチック等、他の材質であってもよい。また、治具50の形状は、方形薄板の仕切板51のある面に所定の長さの円柱形状の円柱部52が設けられ、円柱部52が設けられた面とは反対側の仕切板51の面に、円柱部52と同じ形状・構造・大きさを有する円柱部53が設けられている。また、円柱部52の上面に直交する中心軸と、円柱部53の上面に直交する中心軸とは、図2に示した中心軸Lと一致するように設けられている。中心軸Lは、例えば、仕切板51の円柱部52及び円柱部53がそれぞれ設けられた面に直交する軸であり、仕切板51の重心を通る軸である。
ロボットシステム1は、図2に示した治具50の円柱部52を第1エンドエフェクターEND1により把持させる。この際、ロボットシステム1は、第1エンドエフェクターEND1の爪部の先端を、仕切板51の円柱部52が設けられた面に接触させる。また、ロボットシステム1は、図2に示した治具50の円柱部53を第2エンドエフェクターEND2により把持させる。この際、ロボットシステム1は、第2エンドエフェクターEND2の爪部の先端を、仕切板51の円柱部53が設けられた面に接触させる。
そして、ロボットシステム1は、第1エンドエフェクターEND1と第2エンドエフェクターEND2のうちいずれか一方又は両方を力センサー情報に基づく制御によって動作させる。この力センサー情報に基づく制御により、ロボットシステム1は、第1エンドエフェクターEND1の爪部の先端が仕切板51の円柱部52が設けられた面に所定の大きさの力で押し付けられ、第2エンドエフェクターEND2の爪部の先端が、仕切板51の円柱部53が設けられた面に所定の大きさの力で押し付けられる状態を実現する。以下では、説明の便宜上、この状態を、押付状態と称して説明する。
押付状態において、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端とは、仕切板51に押し付けられ続けるため、相対的な位置関係が固定される(一定にされる)。すなわち、ロボットシステム1は、押付状態を実現することで、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定する(一定にする)。なお、第1エンドエフェクターEND1の爪部の先端は、第1アームの先端の一例である。また、第2エンドエフェクターEND2の爪部の先端は、第2アームの先端の一例である。
治具50は、このように第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定することが出来れば、図2に示した構造や形状に限定されない。また、ロボットシステム1は、治具50を用いずに、他の方法によって第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定してもよい。
第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係が固定されると、第1TCPの位置と第2TCPの位置との相対的な位置関係も固定される。従って、以下では、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定することを、TCPの位置関係を固定すると称して説明する。TCPの位置関係とは、第1TCPの位置と第2TCPの位置の相対的な位置関係を示す。
なお、本実施形態において、ロボットシステム1は、第1エンドエフェクターEND1と第2エンドエフェクターEND2の両方によって治具50を挟み込むように把持して押付状態を実現することにより、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定したが、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定する方法はこれに限られない。
例えば、ロボットシステム1は、第1エンドエフェクターEND1の爪部の先端に、第2エンドエフェクターEND2の爪部の先端を接触させ、力センサー情報に基づく制御により押付状態を実現することにより、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定してもよい。
この場合、ロボットシステム1は、押付状態を実現することにより、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との接触位置がずれてしまうことを抑制することができ、その結果、第1エンドエフェクターEND1の爪部の先端と、第2エンドエフェクターEND2の爪部の先端との相対的な位置関係を固定することができる。
ロボットシステム1は、力センサー情報に基づく制御に基づいてTCPの位置関係を固定させたまま、校正領域においてマニピュレーターの校正を行う。校正領域とは、マニピュレーターの校正によって所定の協調作業を高い精度でロボット20に行わせたい作業領域を示す。校正領域の形状は、この一例において立方体であるとするが、これに代えて、直方体や正四面体等、他の三次元形状であってもよい。なお、校正領域は、校正したい領域の一例である。
校正領域におけるマニピュレーターの校正において、ロボットシステム1は、第1TCPの位置又は第2TCPの位置を、校正領域内の複数の計測点のそれぞれと一致させる。そして、ロボットシステム1は、第1TCPの位置又は第2TCPの位置と一致したそれぞれの計測点において、第1座標系における第1TCPの位置と治具50の構造情報(例えば、寸法や形状を示す情報等)とに基づいて第1座標系における治具50の所定部位の位置を算出し、第2座標系における第2TCPの位置と治具50の構造情報とに基づいて第2座標系における治具50の所定部位の位置を算出する。治具50の所定部位の位置は、第1アームの所定位置及び第2アームの所定位置とともに動く予め決められた点の位置の一例である。
この一例において、校正領域内の複数の計測点とは、立方体形状の校正領域における各頂点を示すが、これに代えて、校正領域に含まれる3点以上の他の点であってもよい。また、以下では、各計測点での第1座標系における治具50の所定部位の位置を示す情報と、各計測点での第2座標系における治具50の所定部位の位置を示す情報とをまとめて計測点情報と称して説明する。また、以下では、治具50の所定部位の位置を、単に治具位置と称して説明する。治具位置は、例えば、治具50の重心の位置であるが、これに代えて、治具50に係る他の部位の位置であってもよい。
なお、ロボットシステム1は、各計測点での計測点情報を算出する際、第1座標系における第1TCPの位置と、第2座標系における第2TCPの位置を順運動学に基づいて算出する。ロボットシステム1は、各計測点での計測点情報に基づいて座標変換行列を算出する。校正領域が複数ある場合、ロボットシステム1は、これらの処理を繰り返すことで、校正領域毎に座標変換行列を算出する。校正領域毎の座標変換行列を算出した後、ロボットシステム1は、校正領域毎の座標変換行列に基づいて、校正領域毎に所定の協調作業をロボット20に行わせる。以下では、このロボットシステム1における座標変換行列の算出処理について説明する。
次に、図3を参照して、制御装置30のハードウェア構成について説明する。図3は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備え、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)などを含み、制御装置30が処理する各種情報や画像、プログラム等を格納する。なお、記憶部32は、制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
次に、図4を参照して、制御装置30の機能構成について説明する。図4は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、入力受付部33と、表示部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
制御部36は、制御装置30の全体を制御する。また、制御部36は、マニピュレーターの校正処理の全体を制御する。より具体的には、制御部36は、入力受付部33により受け付けられた操作(例えば、GUI(Graphical User Interface)を介したジョグ操作)に基づいてロボット20を動かすようにロボット制御部41を制御する。
本実施形態では、制御部36がGUIを介して入力受付部33から操作を受け付ける場合について説明する。なお、制御部36は、これに代えて、GUIを介さずにスイッチやボタン等を介して操作を受け付ける構成であってもよい。また、このGUIには、ロボット20を動かすジョグ画面や、第1マニピュレーターMNP1の校正用情報取得動作を開始させるボタン、第2マニピュレーターMNP2の校正用情報取得動作を開始させるボタン等が含まれるとする。
制御部36は、表示制御部40と、ロボット制御部41と、力センサー情報取得部42と、回転角取得部43と、校正領域情報読込部44と、TCP位置算出部45、治具位置算出部46と、座標変換行列算出部47を備える。
表示制御部40は、ロボット20が備える2つのマニピュレーターの間の校正処理に係るGUIを生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、ロボット20が備える2つのマニピュレーターの間の校正処理を開始させるためのボタンや、ロボット20をジョグ操作するためのジョグ等が含まれる。
ロボット制御部41は、制御部36からの要求に応じた動作を行うようにロボット20を制御する。また、ロボット制御部41は、力センサー情報取得部42から力センサー23により検出される力センサー情報を取得し、取得された力センサー情報に基づく制御によりロボット20を制御する。また、ロボット制御部41は、座標変換行列算出部47により校正領域毎に算出された座標変換行列に基づいて、各校正領域において所定の協調作業を行うようにロボット20を制御する。
力センサー情報取得部42は、力センサー23により検出される力センサー情報を取得する。
回転角取得部43は、ロボット20が備える複数のアクチュエーターがそれぞれ備えるエンコーダーから、回転角を示す情報を取得する。そして、回転角取得部43は、取得された複数の回転角を示す情報と、その時点でのロボット20の姿勢を示す情報とを対応付け、計測点情報として記憶部32に記憶させる。ロボット20の姿勢を示す情報とは、例えば、姿勢を区別するためのID等であるが、姿勢を区別することが可能であれば他の情報であってもよい。
校正領域情報読込部44は、記憶部32に予め記憶された校正領域を示す情報を記憶部32から読み込む。校正領域を示す情報には、校正領域を識別する情報と、校正領域内の計測点の位置を示す情報等が含まれる。
TCP位置算出部45は、回転角取得部43により取得された第1マニピュレーターMNP1の複数のアクチュエーターそれぞれに係る回転角に基づいて、第1座標系における第1TCPの位置を順運動学に基づいて算出する。また、TCP位置算出部45は、回転角取得部43により取得された第2マニピュレーターMNP2の複数のアクチュエーターそれぞれに係る回転角に基づいて、第2座標系における第2TCPの位置を順運動学に基づいて算出する。
治具位置算出部46は、記憶部32に予め記憶された治具50の構造情報を読み込む。治具位置算出部46は、校正領域内の複数の計測点毎に、読み込まれた治具50の構造を示す情報と、算出された第1座標系における第1TCPの位置とに基づいて、第1座標系における治具位置を算出する。また、治具位置算出部46は、校正領域内の複数の計測点毎に、読み込まれた治具50の構造情報と、算出された第2座標系における第2TCPの位置とに基づいて、第2座標系における治具位置を算出する。
座標変換行列算出部47は、治具位置算出部46により算出された第1座標系における治具位置及び第2座標系における治具位置に基づいて座標変換行列を算出する。
以下、図5を参照して、制御装置30によるマニピュレーターの校正処理について説明する。図5は、制御装置30によるマニピュレーターの校正処理の流れの一例を示すフローチャートである。まず、表示制御部40は、マニピュレーターの校正処理に係るGUIを表示部35に表示させる(ステップS100)。次に、ロボット制御部41は、ステップS100で表示部35に表示されたGUIを介して入力受付部33によりユーザーから受け付けられたジョグ操作に基づいて、ロボット20に第1エンドエフェクターEND1及び第2エンドエフェクターEND2によって治具50を把持させ、TCPの位置関係を固定する(ステップS110)。
ここで、図6を参照して、第1エンドエフェクターEND1及び第2エンドエフェクターEND2による治具50の把持について説明する。図6は、第1エンドエフェクターEND1及び第2エンドエフェクターEND2により治具50が把持された状態の一例を示す図である。図6に示したように、第1エンドエフェクターEND1は、治具50の円柱部52を把持し、第1エンドエフェクターEND1の複数の爪部の先端のそれぞれを仕切板51の円柱部52が設けられた面に接触させる。また、第2エンドエフェクターEND2は、治具50の円柱部53を把持し、第2エンドエフェクターEND2の複数の爪部の先端のそれぞれを仕切板51の円柱部53が設けられた面に接触させる。
図6に示したように第1エンドエフェクターEND1及び第2エンドエフェクターEND2により治具50を把持させることで、ロボット制御部41は、ステップS130において力センサー情報に基づく制御により前述した押付状態を実現し、TCPの位置関係を固定することができる。なお、図6において、点T1は、第1TCPを示し、点T2は、第2TCPを示す。また、点Gは、治具位置を示す。押付状態においてTCPの位置関係が固定された場合、第1TCPと治具位置の間の相対的な位置関係、及び第2TCPと治具位置の間の相対的な位置関係も固定される。
ステップS110でTCPの位置関係が固定された後、制御部36は、ステップS100で表示部35に表示されたGUIを介してユーザーからマニピュレーターの校正処理の開始操作を受け付ける(ステップS120)。この一例において、マニピュレーターの校正処理の開始操作は、前述のGUIに表示されたマニピュレーターの校正処理の開始ボタンを押下(クリック)する操作であるとするが、他の操作であってもよい。
次に、ロボット制御部41は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2による力センサー情報に基づく制御を開始する(ステップS130)。この第1マニピュレーターMNP1及び第2マニピュレーターMNP2による力センサー情報に基づく制御は、図6に示したように第1エンドエフェクターEND1の爪部の先端と第2エンドエフェクターEND2の爪部の先端によって押付状態を実現する。
より具体的には、この押付状態とは、第1アームの先端(この一例において、第1エンドエフェクターEND1の爪部の先端)と第2アームの先端(この一例において、第2エンドエフェクターEND2の爪部の先端)とが向かい合わせで、第1アームと第2アームのうちの一方が他方に対して所定の大きさの力を加え続ける状態を示す。
次に、ロボット制御部41は、第1マニピュレーターMNP1と第2マニピュレーターMNP2のいずれか一方の力センサー情報に基づく制御を停止させる(ステップS140)。以下では、説明の便宜上、第1マニピュレーターMNP1の力センサー情報に基づく制御を停止させた場合について説明する。また、以下では、力センサー情報に基づく制御を停止させた方のマニピュレーターを、主マニピュレーターと称し、他方のマニピュレーターを従マニピュレーターと称して説明する。すなわち、この一例において、第1マニピュレーターMNP1は、主マニピュレーターであり、第2マニピュレーターMNP2は、従マニピュレーターである。
ステップS140で主マニピュレーターの力センサー情報に基づく制御を停止させることで、ロボット制御部41は、従マニピュレーターの力センサー情報に基づく制御により、従マニピュレーターを主マニピュレーターに追従させる。この追従とは、主マニピュレーターのTCP(この一例において、第1TCP)の動きとともに、従マニピュレーターのTCP(この一例において、第2TCP)を動かすことで、押付状態を実現し続け、その結果、TCPの位置関係を固定し続けることを示す。また、この追従の際、従マニピュレーターの力センサー情報に基づく制御によって、従マニピュレーターが主マニピュレーターに対して所定の大きさの力を加え続ける押付状態を保持する。
次に、校正領域情報読込部44は、記憶部32から校正領域を示す情報を読み込む(ステップS150)。次に、制御部36は、ステップS150で校正領域情報読込部44により読み込まれた校正領域を示す情報に基づいて1以上の校正領域から校正領域を1つずつ選択し、選択された校正領域毎にステップS170からステップS220までの処理を繰り返し行う(ステップS160)。制御部36は、ステップS160で選択された校正領域内の複数の計測点から1つずつ計測点を選択し、選択された計測点毎にステップS180からステップS210までの処理を繰り返し行う(ステップS170)。
ロボット制御部41は、第1TCPを移動させることで、ステップS170で選択された計測点に第1TCP(この一例における主マニピュレーターのTCP)の位置を一致させる(ステップS180)。次に、ロボット制御部41は、ステップS180における第1TCPの移動に伴う第2マニピュレーターMNP2(この一例における従マニピュレーター)の振動が収まるまで待機する(ステップS190)。
より具体的には、ロボット制御部41は、この一例において、所定時間が経過するまで待機し、その後、ステップS200の処理に遷移するが、これに代えて、力センサー23によって第1マニピュレーターMNP1又は第2マニピュレーターMNP2の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する構成等であってもよい。この待機により、制御部36は、第1TCPの位置及び第2TCPの位置を順運動学によって高い精度で算出することができる。
次に、回転角取得部43は、第1マニピュレーターMNP1の複数のアクチュエーターそれぞれが備えるエンコーダーから、第1マニピュレーターMNP1に係る複数の回転角を示す情報を取得する。また、回転角取得部43は、第2マニピュレーターMNP2の複数のアクチュエーターそれぞれが備えるエンコーダーから、第2マニピュレーターMNP2に係る複数の回転角を示す情報を取得する。TCP位置算出部45は、回転角取得部43により取得された第1マニピュレーターMNP1に係る複数の回転角に基づいて、第1TCPの位置を算出する。また、TCP位置算出部45は、回転角取得部43により取得された第2マニピュレーターMNP2に係る複数の回転角に基づいて、第2TCPの位置を算出する(ステップS200)。
次に、治具位置算出部46は、記憶部32から治具50の構造情報を読み込む。そして、治具位置算出部46は、ステップS200でTCP位置算出部45により算出された第1TCPの位置と、読み込まれた治具50の構造情報とに基づいて、第1座標系における治具位置を算出する。また、治具位置算出部46は、ステップS200でTCP位置算出部45により算出された第2TCPの位置と、読み込まれた治具50の構造情報とに基づいて、第2座標系における治具位置を算出する。
治具位置算出部46は、算出された第1座標系における治具位置と、第2座標系における治具位置と、ステップS160で選択された校正領域を識別する情報と、ステップS170で選択された計測点を識別する情報とを対応付けた計測点情報を生成する。治具位置算出部46は、生成された計測点情報を記憶部32に記憶させる(ステップS210)。
このように、ステップS180からステップS210までの処理を繰り返すことで、制御部36は、ステップS160で選択された校正領域内の複数の計測点のそれぞれ毎の計測点情報を記憶部32に記憶させる。ステップS180からステップS210までの繰り返し処理が終わった(ステップS215)後、座標変換行列算出部47は、ステップS160で選択された校正領域内の複数の計測点のそれぞれ毎の計測点情報を記憶部32から読み込む。そして、座標変換行列算出部47は、読み込まれた複数の計測点情報に基づいて、ステップS160で選択された校正領域における座標変換行列を算出する(ステップS220)。そして、座標変換行列算出部47は、ステップS170からステップS220までの繰り返し処理を終了する(ステップS225)。
なお、上記のステップS160からステップS225までの処理において、主マニピュレーター(この一例において、第1マニピュレーターMNP1)の力センサー情報に基づく制御を停止させた場合について説明したが、ロボットシステムは、主マニピュレーター及び従マニピュレーターの両方を力センサー情報に基づく制御によって動作させ、ステップS160からステップS220までの処理を行う構成であってもよい。
このように、ステップS170からステップS220までの処理を繰り返すことで、制御部36は、1以上の校正領域毎の座標変換行列を算出することができる。
ここで、図7を参照して、図6におけるステップS160からステップS225までの処理についての説明を補足する。図7は、校正領域と、校正領域内の複数の計測点とを例示する図である。
図7(A)には、校正領域が1つの例を示す。図7(B)には、校正領域が3つの例を示す。図7(C)には、校正領域が4つの例を示す。また、図7(A)〜(C)において、立方体M1〜M4はそれぞれ、校正領域を示す。以下では、立方体M1〜M4をそれぞれ、校正領域M1〜M4と称して説明する。また、図7(A)において、校正領域M1を示す立方体の頂点N1〜N8は、校正領域M1に係る複数の計測点のそれぞれを示す。以下では、これらの立方体の頂点N1〜N8をそれぞれ、計測点N1〜N8と称して説明する。
例えば、図7(A)のように校正領域が1つの場合、制御部36の各機能部は、第1TCPの位置又は第2TCPの位置を、これら計測点N1〜N8のそれぞれに一致させる。そして、制御部36の各機能部は、第1TCPの位置又は第2TCPの位置が、これら計測点N1〜N8のそれぞれに一致するたびに、治具位置を算出し、算出された治具位置に基づく計測点情報を記憶部32に記憶させる。
図7(B)や図7(C)のように校正領域が複数の場合、制御部36の各機能部は、複数の校正領域から校正領域を1つずつ選択し、選択された校正領域毎にステップS170からステップS220までの処理を繰り返し行い、校正領域毎の座標変換行列を算出する。 なお、各校正領域M1からM4において座標変換行列を算出する場合に、異なる校正領域間に重複する計測点があり既に治具位置を算出済の計測点がある際、制御部36の各機能部は、重複する計測点での治具位置の算出をスキップし、前回算出時のデータを参照するようにしてもよい。また、図7において立方体形状の校正領域M1〜M4を示しているが、これは一例に過ぎず、校正領域は、直方体状や楕円状や球状等、種々の形状の領域であってもよい。
<第1実施形態の変形例>
以下、本発明の第1実施形態の変形例1について説明する。第1実施形態の変形例に係るロボットシステム1は、上記の第1実施形態における治具50を用いたマニピュレーターの校正に代えて、治具50aを用いたマニピュレーターの校正を行う。
図8は、治具50aの一例を示す図である。治具50aは、第1エンドエフェクターEND1により把持する部位が、円柱部52に代えて、把持部52aが仕切板51の面に設けられている。把持部52aは、仕切板51に接合している断面が十字型の柱の形状を有する。また、治具50aは、第2エンドエフェクターEND2により把持する部位が、円柱部53に代えて、把持部53aが仕切板51の把持部52aが設けられた面とは反対側の面に設けられている。把持部53aは、仕切板51に接合している断面が十字型の柱の形状を有する。
ロボットシステム1は、この治具50aを第1エンドエフェクターEND1及び第2エンドエフェクターEND2により把持することで、TCPの位置関係を固定する。これにより、ロボットシステム1は、上記で説明したようにマニピュレーターの校正を行うことができる。
以上説明したように、第1実施形態に係るロボットシステム1は、第1TCPの位置と第2TCPの位置との相対的な位置関係を一定にした状態で第1マニピュレーターMNP1(すなわち、第1腕)と第2マニピュレーターMNP2(すなわち、第2腕)とを動作させ、第1座標系と第2座標系との間の座標変換行列を算出する。これにより、ロボットシステム1は、複数の校正領域でのマニピュレーターの校正を効率的に行うことができる。
また、ロボットシステム1は、第1力センサー23−1と第2力センサー23−2から取得される力センサー情報に基づいて、第1マニピュレーターMNP1と第2マニピュレーターMNP2のうち少なくとも一方を力センサー情報に基づく制御で動作させる。これにより、ロボットシステム1は、力センサー情報に基づく制御によって第1TCPの位置と第2TCPの位置との相対的な位置関係を一定にした状態で第1マニピュレーターMNP1と第2マニピュレーターMNP2を動作させることができる。
また、ロボットシステム1は、第1エンドエフェクターEND1と第2エンドエフェクターEND2とを向かい合わせ、第1マニピュレーターMNP1と第2マニピュレーターMNP2のうち一方が他方に対して所定の大きさの力を加え続ける状態を保持し、第1TCPの位置と第2TCPの位置との相対的な位置関係を一定にした状態で第1マニピュレーターMNP1と第2マニピュレーターMNP2を動作させる。これにより、ロボットシステム1は、第1TCPの位置と第2TCPの位置との相対的な位置関係がずれてしまうことを抑制することができる。
また、ロボットシステム1は、第1エンドエフェクターEND1と第2エンドエフェクターEND2との間に治具50を挟み込ませ、第1マニピュレーターMNP1と第2マニピュレーターMNP2のうち一方が他方に対して所定の大きさの力を加え続ける状態を保持する。これにより、ロボットシステム1は、治具50によって第1TCPの位置と第2TCPの位置との相対的な位置関係がずれてしまうことをより確実に抑制することができる。
また、ロボットシステム1は、第1TCPの位置又は第2TCPの位置と、校正したい領域内の3以上の計測点のそれぞれとを一致させ、計測点のそれぞれにおいて第1TCPの位置及び第2TCPの位置とともに動く治具位置を第1座標系及び第2座標系で算出し、計測点のそれぞれにおいて算出された第1座標系及び第2座標系での治具位置に基づいて座標変換行列を算出する。これにより、ロボットシステム1は、計測点のそれぞれにおいて算出された第1座標系及び第2座標系での治具位置に基づいて座標変換行列によりマニピュレーターの校正を行うことができる。
<第2実施形態>
以下、本発明の第2実施形態について、図面を参照して説明する。図9は、第2実施形態に係るロボットシステム2の一例を示す構成図である。以下では、第1実施形態において説明した方法により算出された座標変換行列に基づいてロボット20に所定の協調作業を行わせる一例について説明する。第2実施形態に係るロボットシステム2は、ロボット20と、制御装置30aを備える。なお、第2実施形態では、第1の実施形態と同様な構成部には、同じ符号を付してある。
ロボットシステム2は、ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の両方により、所定の協調作業を行わせる。本実施形態における所定の協調作業とは、第1エンドエフェクターEND1により図9に示した作業対象Wを把持して所定の待機位置まで移動させ、その後、第1エンドエフェクターEND1から第2エンドエフェクターEND2に作業対象Wを受け渡し、第2エンドエフェクターEND2により所定の配置位置に作業対象Wを配置する作業を示す。
なお、図9に示した制御装置30aは、第1実施形態に係る制御装置30が、第1実施形態において説明した方法によって第1座標系と第2座標系の間の座標変換行列を算出した後の状態である。
作業対象Wは、第3エンドエフェクターEND3と第4エンドエフェクターEND4のうちいずれか一方又は両方によって把持可能な大きさと形状を有する物体であり、例えば、産業機械等に用いられる部品(ネジやボルト等)である。図9において、作業対象Wは、直方体形状の物体として示したが、他の形状や大きさの物体であってもよい。
ロボット20が備える第1固定撮像部21と第2固定撮像部22は、作業対象Wを含む範囲をステレオ撮像する。以下では、第1固定撮像部21と第2固定撮像部22にステレオ撮像された画像を、ステレオ撮像画像と称して説明する。このステレオ撮像画像は、静止画像であるとするが、これに代えて、動画像であってもよい。
制御装置30aは、第1実施形態において説明した方法によって第1マニピュレーターMNP1と第2マニピュレーターMNP2それぞれの校正を行う。また、制御装置30aは、作業対象Wを含む範囲を、第1固定撮像部21及び第2固定撮像部22にステレオ撮像させ、撮像されたステレオ撮像画像に基づいてパターンマッチング等により作業対象Wを検出する。制御装置30aは、ステレオ撮像画像から検出された作業対象Wの、第1座標系又は第2座標系における位置及び姿勢を算出する。以下では、制御装置30aは、ステレオ撮像画像から検出された作業対象Wの、第1座標系における位置及び姿勢を算出する場合について説明する。
制御装置30aは、第1座標系における作業対象Wの位置及び姿勢に基づいて、第1エンドエフェクターEND1に作業対象Wを把持させる。そして、制御装置30aは、第1エンドエフェクターEND1により把持された作業対象Wを、所定の待機位置まで移動させる。制御装置30aは、第1座標系により表される所定の待機位置における作業対象Wの位置及び姿勢を、座標変換行列に基づいて第2座標系における作業対象Wの位置及び姿勢へ変換する。
制御装置30aは、第1エンドエフェクターEND1が把持している作業対象Wを、第2エンドエフェクターEND2により把持させ、第1エンドエフェクターEND1によって作業対象Wが把持された状態を解放する。そして、制御装置30aは、第2エンドエフェクターEND2により把持された作業対象Wを所定の配置位置へ配置させる。なお、この一例において、第1座標系の位置と、ステレオ撮像画像上の位置とは、予めキャリブレーションによって対応付けられているとする。
次に、図10を参照して、制御装置30aの機能構成について説明する。図10は、制御装置30aの機能構成の一例を示す図である。制御装置30aは、記憶部32と、入力受付部33と、表示部35と、制御部36aと、画像取得部55を備える。制御部36aが備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
画像取得部55は、第1固定撮像部21及び第2固定撮像部22によりステレオ撮像されたステレオ撮像画像を取得する。画像取得部55は、取得したステレオ撮像画像を制御部36aに出力する。
制御部36aは、制御装置30aの全体を制御する。制御部36aは、ロボット制御部41と、撮像制御部48と、位置姿勢算出部49と、座標変換部54を備える。
ロボット制御部41は、位置姿勢算出部49により算出された第1座標系における作業対象Wの位置及び姿勢に基づいてロボット20に所定の作業を行わせる。また、第2マニピュレーターMNP2に作業を行わせる際、ロボット制御部41は、座標変換部54により座標変換行列に基づいて第1座標系における作業対象Wの位置及び姿勢から変換された第2座標系における作業対象の位置及び姿勢に基づいて、第2マニピュレーターMNP2を動作させる。
撮像制御部48は、第1固定撮像部21及び第2固定撮像部22に作業対象Wを含む範囲をステレオ撮像させる。
位置姿勢算出部49は、画像取得部55から取得したステレオ撮像画像に基づいて、作業対象Wを検出し、検出された作業対象Wの第1座標系における位置及び姿勢を算出する。
座標変換部54は、記憶部32に記憶された座標変換行列を読み込み、読み込まれた座標変換行列に基づいて第1座標系における作業対象Wの位置及び姿勢を、第2座標系における位置及び姿勢に変換する。なお、座標変換部54は、ロボット20に行わせる所定の協調作業を行う作業領域が複数ある場合、それぞれの作業領域に対応する校正領域を識別する情報に基づいて、作業領域毎の座標変換行列を記憶部32から読み込み、読み込まれた座標変換行列に基づいてロボット20に所定の協調作業を行わせるとする。
以下、図11を参照して、制御装置30aがロボット20に所定の協調作業を行わせる処理について説明する。図11は、制御装置30aがロボット20に所定の協調作業を行わせる処理の流れの一例を示すフローチャートである。まず、撮像制御部48は、第1固定撮像部21及び第2固定撮像部22に作業対象Wを含む範囲をステレオ撮像させる(ステップS300)。次に、画像取得部55は、第1固定撮像部21及び第2固定撮像部22によりステレオ撮像されたステレオ撮像画像を取得し、取得されたステレオ撮像画像を制御部36aに出力する(ステップS310)。
次に、位置姿勢算出部49は、ステップS310で画像取得部55から取得されたステレオ撮像画像から作業対象Wを検出する。そして、位置姿勢算出部49は、検出された作業対象Wの第1座標系における位置及び姿勢を算出する(ステップS320)。次に、ロボット制御部41は、ステップS320において算出された作業対象Wの第1座標系における位置及び姿勢に基づいて、第1エンドエフェクターEND1に作業対象Wを把持させる(ステップS330)。
次に、ロボット制御部41は、第1エンドエフェクターEND1により把持された作業対象Wを所定の待機位置へ移動させる(ステップS340)。次に、座標変換部54は、記憶部32から座標変換行列を読み込む。座標変換部54は、読み込まれた座標変換行列に基づいて、ステップS340において所定の待機位置に移動された作業対象Wの第1座標系における位置及び姿勢を、作業対象Wの第2座標系における位置及び姿勢に変換する(ステップS350)。
次に、ロボット制御部41は、第1エンドエフェクターEND1により把持されている作業対象Wを、第2エンドエフェクターEND2により把持させ、作業対象Wから第1エンドエフェクターEND1を離させる(ステップS360)。次に、ロボット制御部41は、第2エンドエフェクターEND2により把持された作業対象Wを、第2エンドエフェクターEND2に所定の配置位置へ配置させる(ステップS370)。
以上説明したように、本実施形態におけるロボットシステム2は、第1実施形態において説明した方法により算出された座標変換行列に基づいて第1座標系における作業対象Wの位置及び姿勢を、第2座標系における作業対象Wの位置及び姿勢に変換する。これにより、ロボットシステム2は、ロボット20に所定の協調作業を高い精度で行わせることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボットシステム1の制御装置30、ロボットシステム2の制御装置30a)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、2 ロボットシステム、11 第1動撮像部、12 第2動撮像部、20 ロボット、21 第1固定撮像部、22 第2固定撮像部、23、力センサー、23−1 第1力センサー、23−2 第2力センサー、30、30a 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36、36a 制御部、40 表示制御部、41 ロボット制御部、42 力センサー情報取得部、43 回転角取得部、44 校正領域情報読込部、45 TCP位置算出部、46 治具位置算出部、47 座標変換行列算出部、48 撮像制御部、49 位置姿勢算出部、50、50a 治具、51 仕切板、52、53 円柱部、52a、53a 把持部、54 座標変換部、55 画像取得部

Claims (8)

  1. 第1アームと、第2アームと、第1力センサーと、を備え、
    前記第1アームの先端と前記第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、
    ロボット。
  2. 請求項1に記載のロボットであって、
    第2力センサーを備え、
    前記第1力センサーと前記第2力センサーから取得される情報に基づいて、前記第1アームと前記第2アームのうち少なくとも一方を前記第1力センサーと前記第2力センサーのうちいずれか一方又は両方の出力値に基づいて動作させる、
    ロボット。
  3. 請求項1又は2に記載のロボットであって、
    前記第1アームの先端と前記第2アームの先端とを向かい合わせ、前記第1アームと前記第2アームのうち一方が他方に対して所定の大きさの力を加え続ける状態を保持し、前記位置関係を一定にした状態で前記第1アームと前記第2アームを動作させる、
    ロボット。
  4. 請求項3に記載のロボットであって、
    前記第1アームの先端と前記第2アームの先端との間に治具を挟み込ませ、前記所定の大きさの力を加え続ける状態を保持する、
    ロボット。
  5. 請求項1から4のうちいずれか一項に記載のロボットであって、
    前記第1アームの所定位置又は前記第2アームの所定位置と、校正したい領域内の3以上の計測点のそれぞれとを一致させ、前記計測点のそれぞれにおいて前記第1アームの所定位置及び前記第2アームの所定位置とともに動く予め決められた点の位置を前記第1アームの座標系及び前記第2アームの座標系で算出し、前記計測点のそれぞれにおいて算出された前記第1アームの座標系及び前記第2アームの座標系での前記予め決められた点の位置に基づいて前記座標変換行列を算出する、
    ロボット。
  6. 第1アームと、第2アームと、第1力センサーと、を備えるロボットと、
    前記ロボットを動作させる制御装置と、を含み、
    前記制御装置は、
    前記第1アームの先端と前記第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、
    ロボットシステム。
  7. ロボットが備える第1アームの先端と、前記ロボットが備える第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、
    制御装置。
  8. ロボットが備える第1アームの先端と、前記ロボットが備える第2アームの先端との位置関係を一定にした状態で前記第1アームと前記第2アームとを動作させ、前記第1アームの座標系と前記第2アームの座標系との座標変換行列を算出する、
    制御方法。
JP2014261872A 2014-12-25 2014-12-25 ロボット、ロボットシステム、制御装置、及び制御方法 Pending JP2016120556A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014261872A JP2016120556A (ja) 2014-12-25 2014-12-25 ロボット、ロボットシステム、制御装置、及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014261872A JP2016120556A (ja) 2014-12-25 2014-12-25 ロボット、ロボットシステム、制御装置、及び制御方法

Publications (1)

Publication Number Publication Date
JP2016120556A true JP2016120556A (ja) 2016-07-07

Family

ID=56326969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014261872A Pending JP2016120556A (ja) 2014-12-25 2014-12-25 ロボット、ロボットシステム、制御装置、及び制御方法

Country Status (1)

Country Link
JP (1) JP2016120556A (ja)

Similar Documents

Publication Publication Date Title
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP6733239B2 (ja) 制御装置及びロボットシステム
JP2018051704A (ja) ロボット制御装置、ロボット、及びロボットシステム
US20170203434A1 (en) Robot and robot system
CN106945007B (zh) 机器人系统、机器人、以及机器人控制装置
JP6897396B2 (ja) 制御装置、ロボットシステムおよび制御方法
JP6665450B2 (ja) ロボット、制御装置、及びロボットシステム
US20160306340A1 (en) Robot and control device
JP2016120556A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2016013590A (ja) 教示装置、及びロボットシステム
JP2016120530A (ja) ロボット、及びロボット校正システム
JP2016013589A (ja) 教示装置、及びロボットシステム
JP2016120557A (ja) ロボット、及びロボット校正システム
JP2016120531A (ja) ロボット、及びロボット校正システム
JP2013013987A (ja) ロボットシステム
JP2016120558A (ja) ロボット、及びロボットシステム
JP2015221485A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2015182212A (ja) ロボットシステム、ロボット、制御装置、及び制御方法
JP2016120555A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2016120554A (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP2017170571A (ja) ロボット、ロボット制御装置、及びロボットシステム
JP2017100197A (ja) ロボット、及び制御方法
JP2019042837A (ja) ロボット、ロボット制御装置、ロボットシステム、及びロボット制御方法
JP2016013591A (ja) ロボットシステム