JP2016120530A - ロボット、及びロボット校正システム - Google Patents
ロボット、及びロボット校正システム Download PDFInfo
- Publication number
- JP2016120530A JP2016120530A JP2014259933A JP2014259933A JP2016120530A JP 2016120530 A JP2016120530 A JP 2016120530A JP 2014259933 A JP2014259933 A JP 2014259933A JP 2014259933 A JP2014259933 A JP 2014259933A JP 2016120530 A JP2016120530 A JP 2016120530A
- Authority
- JP
- Japan
- Prior art keywords
- calibration
- robot
- posture
- arm
- manipulator
- 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
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】アームにより正確に作業を行うことができるロボットを提供すること。【解決手段】ロボットは、アームと、力センサーとを備え、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。【選択図】図7
Description
この発明は、ロボット、及びロボット校正システムに関する。
ロボットに精度の高い作業を行わせるため、ロボットの機構や撮像装置、作業環境等の校正について研究・開発が行われている。
これに関し、外部の計測装置を使わずにマニピュレーターのTCP(Tool Center Point)を何らかの治具によって機構的に拘束、もしくはマニピュレーター同士を連結することで、マニピュレーターの校正を行う方法が知られている(特許文献1、非特許文献1参照)。
マニピュレーターの駆動とともに移動するTCPの位置は、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角を与えることによって順運動学に基づいて算出することができる。しかし、与えられた回転角が実現されるようにそれらのアクチュエーターを駆動させた場合に到達する実際のTCPの位置は、マニピュレーターを構成する部材の弾性等による誤差の影響によって、算出されたTCPの位置と異なる位置となる場合がある。マニピュレーターの校正とは、実際のTCPの位置と算出されたTCPの位置との差が小さくなるようにTCPの位置を決定するマニピュレーターの各種パラメーターを補正することを示し、例えば、マニピュレーターが備える各アクチュエーターの回転角を補正することを示す。
http://www.cs.utah.edu/~jmh/Papers/Hollerbach_IJRR96.pdf 「The Calibration Index And Taxonomy for Robot Kinematics Calibration Methods(John M.Hollerbach, et al.): Closed Loop Kinematic Calibration」
しかし、従来の方法では、2つのマニピュレーターによって作業を行う場合、それら2つのマニピュレーターのそれぞれを適切に校正していなければ、正確な作業を行うことができなかった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、アームにより正確に作業を行うことができるためのロボット、及びロボット校正システムを提供する。
本発明の一態様は、アームと、力センサーとを備え、前記アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより校正する第1校正と、前記第1部材の前記一部を前記第2部材と2の距離となるように離した後に、前記第1部材の前記一部を前記第2部材と3の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを前記第1校正における複数の前記姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行うロボットである。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくともセンサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、アームにより正確に作業を行うことができる。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくともセンサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、アームにより正確に作業を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記1の距離と、前記3の距離とは、略同じである、構成が用いられてもよい。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と1の距離と略同じ距離である3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、第1部材の一部を第2部材に対して一定の距離を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と1の距離と略同じ距離である3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、第1部材の一部を第2部材に対して一定の距離を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記1の距離と、前記3の距離とは、両方とも略0である、構成が用いられてもよい。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と距離が0となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と距離が0となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、第1部材の一部を第2部材に接触させた状態を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
この構成により、ロボットは、アームの先端に取り付けられた第1部材の一部を第2部材と距離が0となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と距離が0となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボットは、第1部材の一部を第2部材に接触させた状態を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記第2校正において前記アームを、前記第1部材の前記一部を前記第2部材と前記1の距離となっている状態のままでは移り変わることができない姿勢であって、前記第1校正における複数の前記姿勢とは異なる姿勢にする、構成が用いられてもよい。
この構成により、ロボットは、第2校正においてアームを、第1部材の一部を第2部材と1の距離となっている状態のままでは移り変わることができない姿勢であって、第1校正における複数の姿勢とは異なる姿勢にする。これにより、ロボットは、アームを、第1部材の一部を第2部材と1の距離となっている状態のままでは移り変わることができない姿勢にしてマニピュレーターの校正を行うことができる。
この構成により、ロボットは、第2校正においてアームを、第1部材の一部を第2部材と1の距離となっている状態のままでは移り変わることができない姿勢であって、第1校正における複数の姿勢とは異なる姿勢にする。これにより、ロボットは、アームを、第1部材の一部を第2部材と1の距離となっている状態のままでは移り変わることができない姿勢にしてマニピュレーターの校正を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記第1校正と、前記第2校正とのそれぞれにより、前記アームを制御するパラメーターを校正する、構成が用いられてもよい。
この構成により、ロボット校正システムは、第1校正と、第2校正とのそれぞれにより、アームを制御するパラメーターを校正する。これにより、ロボットは、アームを制御するパラメーターの校正を、アームの校正として行うことができる。
この構成により、ロボット校正システムは、第1校正と、第2校正とのそれぞれにより、アームを制御するパラメーターを校正する。これにより、ロボットは、アームを制御するパラメーターの校正を、アームの校正として行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記アームが備える複数のアクチュエーターそれぞれの回転角を、前記アームを制御するためのパラメーターとして校正する、構成が用いられてもよい。
この構成により、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を、アームを制御するためのパラメーターとして校正する。これにより、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を校正することによって複数の姿勢における第1マニピュレーターMNP1の動作の精度を平均化することができる。
この構成により、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を、アームを制御するためのパラメーターとして校正する。これにより、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を校正することによって複数の姿勢における第1マニピュレーターMNP1の動作の精度を平均化することができる。
また、本発明の他の態様は、ロボットにおいて、前記回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットに基づいて前記アームを制御するためのパラメーターを校正する、構成が用いられてもよい。
この構成により、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットに基づいてアームが備える複数のアクチュエーターそれぞれの回転角を校正する。これにより、ロボットは、ジョイントオフセットによる補正を行うことで、アームが備える複数のアクチュエーターそれぞれの回転角を校正することができる。
この構成により、ロボットは、アームが備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットに基づいてアームが備える複数のアクチュエーターそれぞれの回転角を校正する。これにより、ロボットは、ジョイントオフセットによる補正を行うことで、アームが備える複数のアクチュエーターそれぞれの回転角を校正することができる。
また、本発明の他の態様は、アームと、力センサーとを備えるロボットと、前記ロボットを動作させる制御装置と、第2部材と、を含み、前記制御装置は、前記アームの先端に取り付けられた第1部材の一部を前記第2部材と1の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより校正する第1校正と、前記第1部材の前記一部を前記第2部材と2の距離となるように離した後に、前記第1部材の前記一部を前記第2部材と3の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを前記第1校正における複数の前記姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行うロボット校正システムである。
この構成により、ロボット校正システムは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット校正システムは、アームにより正確に作業を行うことができる。
この構成により、ロボット校正システムは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット校正システムは、アームにより正確に作業を行うことができる。
以上により、ロボット、及びロボット校正システムは、アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくともセンサーの出力値に基づいてアームを複数の姿勢にすることにより校正する第1校正と、第1部材の一部を第2部材と2の距離となるように離した後に、第1部材の一部を第2部材と3の距離となるように移動させた後に、少なくとも力センサーの出力値に基づいてアームを第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット、及びロボット校正システムは、アームにより正確に作業を行うことができる。
<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係るロボット校正システム1の一例を示す構成図である。ロボット校正システム1は、ロボット20と、制御装置30を備える。
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係るロボット校正システム1の一例を示す構成図である。ロボット校正システム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と、図示しない複数のアクチュエーターを備えた双腕ロボットである。また、ロボット20は、さらに制御装置30を内蔵し、内蔵された制御装置30により制御される。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。
双腕ロボットとは、2本のアーム(腕)を有するロボットを示し、本実施形態では、第1エンドエフェクターEND1と第1マニピュレーターMNP1によって構成されるアーム(以下、第1アームと称する)と、第2エンドエフェクターEND2と第2マニピュレーターMNP2によって構成されるアーム(以下、第2アームと称する)との2本のアームを有する。
なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、1本のアームを有するロボットを示し、例えば、前述の第1アームと第2アームのうちいずれか一方を有するロボットを示す。また、ロボット20は、3つ以上のアームを有するロボットであってもよい。
また、複数のアクチュエーターはそれぞれ、第1マニピュレーターMNP1が備える各関節、第2マニピュレーターMNP2が備える各関節に備えられる。ここで、図2を参照して、ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の各関節について説明する。図2は、ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の各関節を例示する図である。図2に示すように、第1マニピュレーターMNP1は、J01〜J07によって示される7つの関節、すなわち7つのアクチュエーターを備える。
また、第2マニピュレーターMNP2は、J11〜J17によって示される7つの関節、すなわち7つのアクチュエーターを備える。関節J01〜J07、関節J11〜J17はそれぞれ、図2に示した矢印に沿って回転する。この回転の回転角を示す情報を、それぞれのアクチュエーターに接続される(又は備えられた)エンコーダーが出力する。以下では、説明の便宜上、それぞれのアクチュエーターに接続されるエンコーダーから回転角を示す情報を取得することを、それぞれのアクチュエーターから回転角を示す情報を取得すると称して説明する。
第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は、例えば、集光された光を電気信号に変換する撮像素子である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とがアクチュエーターによる連携した動作によって7軸の自由度の動作を行うことができる。なお、第2アームは、6自由度(6軸)以下で動作するものであってもよく、8自由度(8軸)以上で動作するものであってもよい。また、第2アームは、第2動撮像部12を備える。
第2動撮像部12は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。
第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の一部又は全部を備えない構成であってもよい。
なお、本実施形態において、ロボット20は、第1動撮像部11、第2動撮像部12、第1固定撮像部21、第2固定撮像部22の一部又は全部を備えない構成であってもよい。
第1力センサー23−1は、第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と称して説明する。また、力センサー情報に含まれる力の大きさやモーメントの大きさを示す値は、力センサーの出力値の一例である。
第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から入力された制御信号を取得し、取得した制御信号に基づいた動作を行う。
制御装置30は、ユーザーからジョグ操作等の操作を受け付け、受け付けられた操作に基づいた動作をロボット20に行わせる。制御装置30は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を行う。それらの校正を行う際、制御装置30は、第1マニピュレーターMNP1に行わせた動作に基づいて、第1マニピュレーターMNP1のTCPの位置を決定する各種パラメーターを補正する。第1マニピュレーターMNP1のTCPの位置を決定する各種パラメーターは、この一例において、第1マニピュレーターMNPが備える複数のアクチュエーターそれぞれの回転角を示すが、他のパラメーターであってもよい。
すなわち、制御装置30は、第1マニピュレーターMNP1に行わせた動作に基づいて、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。また、制御装置30は、第2マニピュレーターMNP2に行わせた動作に基づいて、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。そして、制御装置30は、算出されたジョイントオフセットを記憶する。
以下、制御装置30が行う第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正と、ジョイントオフセットについて説明する。
制御装置30は、第1マニピュレーターMNP1と第2マニピュレーターMNP2のそれぞれの校正を行う。また、制御装置30は、第1マニピュレーターMNP1に対して行う校正処理と同様の処理を、第2マニピュレーターMNP2に対しても行う。そのため、以下では、第1マニピュレーターMNP1の校正についてのみ説明する。従って、以下の説明において、第1マニピュレーターMNP1を第2マニピュレーターMNP2と読み替えたものが、第2マニピュレーターMNP2の校正処理に相当する。
制御装置30は、第1マニピュレーターMNP1と第2マニピュレーターMNP2のそれぞれの校正を行う。また、制御装置30は、第1マニピュレーターMNP1に対して行う校正処理と同様の処理を、第2マニピュレーターMNP2に対しても行う。そのため、以下では、第1マニピュレーターMNP1の校正についてのみ説明する。従って、以下の説明において、第1マニピュレーターMNP1を第2マニピュレーターMNP2と読み替えたものが、第2マニピュレーターMNP2の校正処理に相当する。
制御装置30は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を示す情報を、各アクチュエーターから取得する。以下、説明の便宜上、アクチュエーターの回転角を、単に回転角と称して説明する。なお、この回転角は、アームを制御するためのパラメーターの一例である。
制御装置30は、各アクチュエーターから取得した回転角から、順運動学によって現在の第1マニピュレーターMNP1のTCPの位置を制御装置30により算出する。以下では、説明の便宜上、第1マニピュレーターMNP1のTCPを、第1TCPと称し、第1TCPの位置を、第1TCP位置と称して説明する。制御装置30は、この算出された第1TCP位置に基づいて、第1マニピュレーターMNP1に各種の作業を行わせる。
しかし、算出された第1TCP位置は、第1マニピュレーターMNP1を構成する部材の弾性によって生じる誤差や、アクチュエーターの回転に係る誤差等によって、実際の第1TCP位置と異なる位置を示す場合がある。制御装置30が行う第1マニピュレーターMNP1の校正とは、この算出された第1TCP位置と実際の第1TCP位置との差を補正することを示す。
例えば、第1マニピュレーターMNP1が1つのアクチュエーターのみを備えている場合を考えると、アクチュエーターから取得された回転角をθとし、算出された第1TCP位置と実際のTCPの位置が一致する場合のアクチュエーターの回転角をφとした時、この補正は、以下の式(1)に示すように、ある値η(正又は負のいずれかの値)を回転角θに加算することによって行われる。
φ=θ+η ・・・(1)
以下では、上記の式(1)に示したようなアクチュエーターの回転角を補正するための値ηを、ジョイントオフセットと称して説明する。従って、制御装置30が行う第1マニピュレーターMNP1の校正とは、すなわち、第1マニピュレーターMNP1が備える複数のアクチュエーター毎にジョイントオフセットを算出し、算出されたジョイントオフセットによって第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正することを示す。
ジョイントオフセットを算出する際、制御装置30は、例えば、ジョグ操作等の操作に応じて、第1TCP位置を複数の固定位置それぞれに固定し、複数の固定位置それぞれを記憶する(教示される)。そして、制御装置30は、記憶した複数の固定位置と、予め記憶された相対位置情報に基づいて、第1TCP位置を固定した固定位置から他の固定位置のそれぞれに順に固定する。相対位置情報とは、複数の固定位置の相対的な位置関係を示す情報である。
制御装置30は、第1TCP位置を複数の固定位置のいずれかに固定した状態を保持したまま、第1マニピュレーターMNP1の姿勢を、他の複数の姿勢のそれぞれに順次変更する。以下では、説明の便宜上、制御装置30が第1TCP位置を複数の固定位置のいずれかに固定した状態を保持したまま変更する第1マニピュレーターMNP1の姿勢を、まとめて第1姿勢と称して説明する。換言すると、第1姿勢とは、第1TCP位置を複数の固定位置のいずれかに固定した状態を保持したまま移り変わることが可能な姿勢を示す。
従って、制御装置30は、第1TCP位置を複数の固定位置のいずれかに固定した状態を保持したまま、第1マニピュレーターMNP1の姿勢を、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれをアクチュエーター毎の可動範囲を超えずに回転させることによって実現する姿勢にする。この姿勢が、上述の第1姿勢に含まれる姿勢である。
また、制御装置30は、第1TCP位置を複数の固定位置のいずれかに固定した状態を保持したまま、第1マニピュレーターMNP1の姿勢毎に、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を取得する。そして、制御装置30は、取得した回転角の一部又は全部に基づいて各回転角を補正するジョイントオフセットを算出する。
制御装置30は、算出されたジョイントオフセットに基づいて第1マニピュレーターMNP1の校正を行う。以下では、説明の便宜上、この校正を、第1校正と称して説明する。また、以下では、第1校正において算出された第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、まとめて第1ジョイントオフセットと称して説明する。
制御装置30は、第1校正を終えた後、第1TCP位置を複数の固定位置のいずれとも異なる位置に移動させる。そして、制御装置30は、第1TCP位置を複数の固定位置のいずれかに固定したままでは第1姿勢から移り変わることの出来ない姿勢であって、第1姿勢に含まれる姿勢とは異なる第2姿勢に含まれる姿勢第1マニピュレーターMNP1の姿勢を変更する。
ここで、第2姿勢に含まれる姿勢について説明する。第2姿勢に含まれる姿勢とは、第1TCP位置を固定位置から離さなければ、第1姿勢から連続的に移行できない姿勢を示す。第1マニピュレーターMNP1が備える複数のアクチュエーターのそれぞれの回転可能な範囲は、アクチュエーター毎にある範囲に制限される。このある範囲は、第1マニピュレーターMNP1の形状等の構造によって決まる。以下では、説明の便宜上、このアクチュエーター毎のある範囲を可動範囲と称して説明する。これを踏まえて、第2姿勢に含まれる姿勢は、例えば、第1TCP位置を複数の固定位置のいずれかに固定したまま第1姿勢に含まれる姿勢から移り変わろうとすると、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれのうち、少なくとも1つのアクチュエーターを当該アクチュエーターの可動範囲を超えて回転させなければ実現することが不可能な複数の姿勢である。また、第2姿勢に含まれる姿勢は、例えば、第1TCP位置を複数の固定位置のいずれかに固定したまま第1姿勢に含まれる姿勢から移り変わろうとすると、第1マニピュレーターMNP1を構成する部材同士が衝突してしまう複数の姿勢である。
制御装置30は、第1マニピュレーターMNP1の姿勢を第1姿勢に含まれる姿勢から第2姿勢に含まれる姿勢に変更した後、第1校正の結果と、第1校正において記憶した複数の固定位置と、予め記憶された相対位置情報とに基づいて、再び第1TCP位置を複数の固定位置のそれぞれに順に固定する。なお、制御装置30は、第1マニピュレーターMNP1に第1校正が行われているため、ユーザーからジョグ操作等の操作を受け付けることなく、再び第1TCP位置を複数の固定位置のそれぞれに順に固定することができる。
制御装置30は、第1TCP位置を複数の固定位置のいずれかに再び固定した状態を保持したまま、第2姿勢に含まれる姿勢であって、第1マニピュレーターMNP1の姿勢毎に、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を取得する。そして、制御装置30は、取得された回転角の一部又は全部と、第1校正において取得された回転角の一部又は全部とに基づいて、再びジョイントオフセットを算出する。
制御装置30は、算出されたジョイントオフセットに基づいて第1マニピュレーターMNP1の校正を行う。以下では、説明の便宜上、この校正を、第2校正と称して説明する。また、以下では、第2校正において算出された第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、まとめて第2ジョイントオフセットと称して説明する。
このように、制御装置30は、第1マニピュレーターMNP1の校正を、第1校正と第2校正の二段階に分けて行う。第1校正のみを行った場合、制御装置30は、第1姿勢に含まれる姿勢と第2姿勢に含まれる姿勢との両方を伴う作業を第1マニピュレーターMNP1に行わせる場合、第1マニピュレーターMNP1の姿勢が第1姿勢に含まれる姿勢における動作を第1マニピュレーターMNP1に高い精度で行わせることができたとしても、第1マニピュレーターMNP1の姿勢が第2姿勢に含まれる姿勢における第1マニピュレーターMNP1の動作の精度を保証できない。
一方、第1校正の後に第2校正を行った場合、制御装置30は、第1マニピュレーターMNP1の姿勢が第1姿勢に含まれる姿勢における動作と、第1マニピュレーターMNP1の姿勢が第2姿勢に含まれる姿勢における動作との両方の精度を、ある精度の範囲内に保証することができる。その結果、ロボット校正システム1は、第1マニピュレーターMNP1と第2マニピュレーターMNP2のうちいずれか一方又は両方により作業を行う場合の誤差を抑制することができる。また、ロボット校正システム1は、第1校正を行った後に第2校正を行うことにより、第1マニピュレーターMNP1の複数の姿勢毎の動作の精度を、平均化することができる。
また、ロボット校正システム1は、第1校正の後に第2校正を行った場合、より汎用的なジョイントオフセットを自動的に校正することができる。汎用的とは、第1姿勢に含まれる姿勢に近い姿勢を用いた作業の精度を向上させることができるだけではなく、第1姿勢及び第2姿勢のそれぞれに含まれる姿勢に近い姿勢を用いた作業の精度を向上させることができることを意味する。また、ロボット校正システム1は、第1マニピュレーターMNP1の姿勢を、第1姿勢に含まれる姿勢から、第2姿勢に含まれる姿勢へ移行させる際、第1校正の結果を用いることにより、第1TCP位置を治具Jの凹部Hから離したとしても、ある精度で当該凹部Hへ第1TCPの位置を戻すことができる。
以下では、上記で説明した第1マニピュレーターMNP1の校正において、制御装置30が第1エンドエフェクターEND1の所定部位を図1に示した3つの治具J1〜J3に接触させることで、第1TCP位置を3つの固定位置X1〜X3のそれぞれに順に固定する場合について説明する。なお、第1TCP位置を固定する固定位置は、4つ以上であってもよい。また、以下では、固定位置X1〜X3を区別して説明する必要が無い限り、まとめて固定位置Xと称して説明する。また、以下では、治具J1〜J3を区別して説明する必要が無い限り、まとめて治具Jと称して説明する。
ここで、図3を参照して、第1エンドエフェクターEND1について説明する。なお、第2エンドエフェクターEND2は、第1エンドエフェクターEND1と同様の構造を持つため説明を省略する。図3は、第1エンドエフェクターEND1の一例を示す図である。図3に示したように、第1エンドエフェクターEND1は、突起部位Pを備え、その突起部位Pの先端には球TCP1が設けられている。
以下では、この先端の球TCP1を、先端球TCP1と称して説明する。先端球TCP1は、先端球TCP1の中心の位置が第1TCP位置と一致するように設けられる(又は、第1TCP位置を先端球TCP1の中心の位置と一致するように設定する)。上述の第1エンドエフェクターEND1の所定部位とは、この先端球TCP1を示す。なお、第1エンドエフェクターEND1の所定部位は、第1TCP位置と一致させることが可能な部位であれば他の部位であってもよい。
突起部位Pは、突起部位の長手方向に延びている中心軸CL2と、第1マニピュレーターMNP1のフランジの中心を通る中心軸CL1とがオフセットOFだけ離れるように第1エンドエフェクターEND1に設けられている。以下では、このように先端球TCP1の中心軸CL2が、第1マニピュレーターMNP1の中心軸CL1からオフセットOFだけ離れている構造を、オフセット構造と称して説明する。
なお、本実施形態において、第1エンドエフェクターEND1は、第1マニピュレーターMNP1を校正するための専用のエンドエフェクターであるとするが、これに代えて、先端球TCP1を有する所定部位を備える他のエンドエフェクターであってもよい。また、第1エンドエフェクターEND1は、第1部材の一例である。また、先端球TCP1は、第1部材の一部の一例である。
ここで、図4を参照して、治具Jについて説明する。図4は、治具J1の一例を示す図である。図4に示したように、治具J1には、上面に円錐状の凹部H1が設けられている。なお、図4に示していない治具J2には、上面に凹部H2が設けられ、図4に示していない治具J3には、上面に凹部H3が設けられている。本実施形態において、治具J2、J3は、どちらも治具J1と同じ構造を有するとし、説明を省略する。
なお、3つの治具Jのそれぞれは、上面に凹部Hが設けられていれば、3つの治具Jのそれぞれが互いに異なる構造を有していてもよい。また、以下では、凹部H1〜H3を区別して説明する必要が無い限り、まとめて凹部Hと称して説明する。また、治具Jは、凹部Hが設けられていれば、他の物体であってもよく、他の材質であってもよい。また、凹部Hは、治具Jの上面に設けられる構成に代えて、治具Jの側面や下面等、他の面に設けられる構成であってもよい。また、3つの治具Jのそれぞれは、凹部Hが設けられていれば、床面や壁面等、他の物体であってもよい。
3つの治具Jはそれぞれ、作業台TBの上面に設置されている。3つの治具Jのそれぞれは、作業台TBの上面において重なり合わないような任意の位置に配置される。作業台TBとは、テーブル等の台であるが、これに代えて、床面や壁面等、3つの治具Jのそれぞれを設置できる他の物体であってもよい。この一例において、3つの治具Jのそれぞれは、板状の金属である。
制御装置30は、図4に示したような治具Jの上面に設けられた凹部Hに、第1エンドエフェクターEND1の所定部位を接触させて固定することにより第1TCP位置を固定位置Xに固定する。本実施形態において、第1エンドエフェクターEND1の所定部位は、前述したように第1エンドエフェクターEND1に設けられた先端球TCP1である。治具Jの上面に設けられた凹部Hは、先端球TCP1が接触した場合、治具Jの上面に沿った方向へ先端球TCP1を動かないようにする。
以下では、説明の便宜上、先端球TCP1を凹部Hに接触させることで、治具Jの上面に沿った方向へ先端球TCP1を動かないようにすることを、先端球TCP1を凹部Hに嵌めると称して説明する。すなわち、制御装置30は、先端球TCP1を凹部Hに移動させる。また、制御装置30は、先端球TCP1を凹部Hへの移動を完了した状態で、第1マニピュレーターMNP1の姿勢を変更する。なお、この一例において、第1エンドエフェクターEND1の所定部位が球である場合について説明するが、第1エンドエフェクターEND1の所定部位は、治具Jの凹部Hに嵌めた場合に第1TCP位置を固定位置Xに固定することができれば、球である必要は無く、他の形状であってもよい。
ここで、先端球TCP1を凹部Hに嵌めたままの状態とは、第1TCP位置が固定位置Xに固定されるが、第1TCPの姿勢が固定されない状態を示す。この一例において、第1TCPの姿勢は、CPU(Central Processing Unit)の計算上、先端球TCP1の姿勢と一致した値を設定して用いる。そして、先端球TCP1の姿勢は、先端球TCP1に設定された座標軸の方向によって規定される。なお、第1TCPの姿勢は、他の部位の姿勢と一致するように設定されてもよい。
ここで、図5を参照して、先端球TCP1を凹部Hに嵌めることにより第1TCP位置を固定位置Xから変化させず、第1TCPの姿勢を変化させる状況について説明する。図5は、先端球TCP1を凹部Hに接触させることにより第1TCP位置を固定位置Xから変化させず、第1TCPの姿勢を変化させる状況の一例を示す図である。制御装置30は、治具Jの凹部Hに第1エンドエフェクターEND1の所定部位Oを嵌めたままの状態を保持するため、例えば、治具Jの上面に対して鉛直下方に向かって所定部位Oを凹部Hに力F1で押しつけ続ける。
この際、制御装置30は、力センサー情報に基づく制御によって治具Jを破壊しないように所定の大きさの力F1で所定部位Oを凹部Hに押しつけ続ける。このようにすることで、第1TCP位置は、固定位置Xに固定され、治具Jの上面に沿った方向へ移動することができなくなる(固定される)。従って、この状態を保持したまま第1エンドエフェクターEND1が、例えば、矢印F2に沿って動いた場合、所定部位Oの姿勢(すなわち、TCPの姿勢)は変化するが、所定部位Oの位置(すなわち、第1TCP位置)は変化しない。
なお、この凹部Hは、先端球TCP1を嵌めることによりTCPの位置を固定したままTCPの姿勢を変化させることができる形状であれば他の形状でもよく、例えば、すり鉢状等であってもよい。制御装置30は、先端球TCP1を凹部H1に嵌めることにより、第1TCP位置を固定位置X1に固定する。また、制御装置30は、先端球TCP1を凹部H2に嵌めることにより、第1TCP位置を固定位置X2に固定する。また、制御装置30は、先端球TCP1を凹部H3に嵌めることにより、第1TCP位置を固定位置X3に固定する。
また、この一例において、3つの凹部Hのそれぞれは同じ構造を有しているとするが、これに代えて、それぞれが互いに異なる構造を有していてもよい。その場合、3つの凹部Hはそれぞれ、第1TCP位置を固定したまま第1TCPの姿勢を変化させることができる形状であるとする。なお、治具Jは、第2部材の一例である。
次に、図6を参照して、制御装置30のハードウェア構成について説明する。図6は、制御装置30のハードウェア構成の一例を示す図である。制御装置30は、例えば、CPU31と、記憶部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)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
次に、図7を参照して、制御装置30の機能構成について説明する。図7は、制御装置30の機能構成の一例を示す図である。制御装置30は、記憶部32と、入力受付部33と、表示部35と、制御部36を備える。制御部36が備える機能部のうち一部又は全部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することで実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
制御部36は、制御装置30の全体を制御する。制御部36は、表示制御部40と、校正制御部41を備える。
表示制御部40は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正処理を開始するボタンや、ロボット20をジョグ操作するジョグ等が含まれる。
表示制御部40は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正処理を開始するボタンや、ロボット20をジョグ操作するジョグ等が含まれる。
校正制御部41は、ロボット制御部42と、力センサー初期化部43と、力センサー情報取得部44と、回転角取得部45と、ジョイントオフセット算出部46と、教示部48を備える。校正制御部41は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正に係る処理の全体を制御する。
より具体的には、校正制御部41は、入力受付部33により受け付けられた操作(例えば、表示制御部40により表示されたGUIを介したジョグ操作)に基づいてロボット制御部42によりロボット20を動かす。なお、本実施形態において、校正制御部41は、表示制御部40により表示されたGUIを介して入力受付部33から操作を受け付けるとして説明するが、表示制御部40により表示されたGUIを介さずにスイッチやボタン等を介して操作を受け付ける構成であってもよい。
ロボット制御部42は、校正制御部41からの要求に応じてロボット20を動作させる。また、ロボット制御部42は、力センサー情報取得部44から力センサー23により検出される力センサー情報を取得し、取得された力センサー情報に基づく制御(例えば、コンプライアンス制御等)によりロボット20を制御する。
力センサー初期化部43は、力センサー23により検出される力センサー情報のゼロ点を設定(初期化)する。例えば、力センサー初期化部43は、力センサー23から重力以外検出されていない状態において、力センサー23により検出されている重力の大きさをゼロ点とする。以下では、このような処理を、力センサー23の初期化と称して説明する。
力センサー初期化部43は、力センサー23により検出される力センサー情報のゼロ点を設定(初期化)する。例えば、力センサー初期化部43は、力センサー23から重力以外検出されていない状態において、力センサー23により検出されている重力の大きさをゼロ点とする。以下では、このような処理を、力センサー23の初期化と称して説明する。
力センサー情報取得部44は、力センサー23により検出される力センサー情報を取得する。この際、力センサー情報取得部44は、取得された力センサー情報をロボット制御部42に出力する。
回転角取得部45は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれから回転角を示す情報を取得する。第1校正を行う際、回転角取得部45は、取得された回転角を示す情報と、当該回転角を示す情報を取得した際の先端球TCP1が嵌められた治具Jの凹部Hを示す情報とを対応付けた情報を、第1校正用情報として記憶部32に記憶させる。なお、この回転角を示す情報は、第1マニピュレーターMNP1の姿勢を表す。
回転角取得部45は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれから回転角を示す情報を取得する。第1校正を行う際、回転角取得部45は、取得された回転角を示す情報と、当該回転角を示す情報を取得した際の先端球TCP1が嵌められた治具Jの凹部Hを示す情報とを対応付けた情報を、第1校正用情報として記憶部32に記憶させる。なお、この回転角を示す情報は、第1マニピュレーターMNP1の姿勢を表す。
また、第2校正を行う際、回転角取得部45は、取得された回転角を示す情報と、当該回転角を取得した際の先端球TCP1が嵌められた治具Jの凹部Hを示す情報とを対応付けた情報を、第2校正用情報として記憶部32に記憶させる。なお、治具Jの凹部Hを示す情報とは、例えば、凹部Hそれぞれを区別するためのID等であるが、凹部Hそれぞれを区別することが可能であれば他の情報であってもよい。また、回転角取得部45は、第1マニピュレーターMNP1に対するこれらの処理と同様の処理を、第2マニピュレーターMNP2に対して行う。
ジョイントオフセット算出部46は、記憶部32により記憶された第1校正用情報を取得する。そして、ジョイントオフセット算出部46は、取得した第1校正用情報に基づいて、第1ジョイントオフセットを算出する。また、ジョイントオフセット算出部46は、記憶部32により記憶された第1校正用情報及び第2校正用情報を取得する。そして、ジョイントオフセット算出部46は、取得した第1校正用情報及び第2校正用情報に基づいて、第2ジョイントオフセットを算出する。
教示部48は、ジョイントオフセット算出部46により算出された第1ジョイントオフセットを、記憶部32に記憶させる。また、教示部48は、ジョイントオフセット算出部46により算出された第2ジョイントオフセットを、記憶部32に記憶させる。
以下、図8を参照して、制御装置30が行う第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正の処理について説明する。図8は、制御装置30が行う第1マニピュレーターMNP1及び第2マニピュレーターMNP2それぞれの校正の処理の流れの一例を示すフローチャートである。まず、表示制御部40は、ロボット20が備えるマニピュレーターの校正処理においてユーザーが行う操作を補助するGUIを表示部35に表示させる(ステップS100)。
次に、制御部36は、ロボット20が備えるマニピュレーター(すなわち、第1マニピュレーターMNP1と第2マニピュレーターMNP2)毎に、ステップS120からステップS130までの処理を繰り返し行う(ステップS110)。以下では、説明の便宜上、最初に第1マニピュレーターMNP1に対してステップS120からステップS130までの処理を行い、次に第2マニピュレーターMNP2に対してステップS120からステップS130までの処理を行う場合について説明する。この場合、第2マニピュレーターMNP2の校正の処理は、第1マニピュレーターMNP1の校正の処理と同様の処理を繰り返すため、説明を省略する。なお、この処理の順は、逆であってもよい。
制御部36は、第1マニピュレーターMNP1の第1校正を行う第1校正処理を実行する(ステップS120)。次に、制御部36は、第1マニピュレーターMNP1の第2校正を行う第2校正処理を実行する(ステップS130)。そして、制御部36は、ロボット20が備えるすべてのマニピュレーターに対してステップS120からステップS130までの処理を実行すると(ステップS140)、処理を終了する。なお、制御部36は、ロボット20が備えるマニピュレーター毎にステップS120の第1校正処理を行った後、ロボット20が備えるマニピュレーター毎にステップS130の第2校正処理を行う構成であってもよい。
以下、図9を参照して、図8に示したステップS120の第1校正処理について説明する。図9は、図8に示したステップS120の第1校正処理の流れの一例を示すフローチャートである。なお、以下では、制御装置30が、図8に示したステップS100で表示部35に表示されたGUIを介して入力受付部33により受け付けられたユーザーからのジョグ操作に基づいて固定位置X1〜固定位置X3を教示された後の状態であるとして説明する。まず、ロボット制御部42は、事前に教示されている固定位置X1〜固定位置X3と、予め記憶された相対位置情報とに基づいて第1マニピュレーターMNP1を動かし、固定位置X1〜固定位置X3のうちのいずれかの凹部Hに先端球TCP1を嵌める(ステップS200)。以下では、この一例として、ロボット制御部42が、第1TCP位置を固定位置X1に固定した場合について説明するが、第1TCP位置を固定位置X2や固定位置X3に固定してもよい。
次に、校正制御部41は、図8に示したステップS100で表示部35に表示されたGUIを介して第1マニピュレーターMNP1の校正を開始する操作(例えば、第1マニピュレーターMNP1の校正を開始するボタンのクリック)を入力受付部33により受け付ける(ステップS210)。次に、ロボット制御部42は、治具Jの凹部Hに嵌められた先端球TCP1を治具J1の凹部H1から所定方向に所定距離だけ移動させる。そして、力センサー初期化部43は、この時点で第1力センサー23−1の初期化を行う(ステップS220)。
ここで、所定方向は、例えば、鉛直上方であるが、他の方向であってもよい。また、所定距離は、先端球TCP1が治具J1の凹部H1から離れる距離であれば良いが、先端球TCP1が治具J1の凹部H1から離れている間に、振動等によって凹部H1が設けられた治具J1の上面に沿った方向に先端球TCP1の位置がずれない(もしくは、ずれたとしてもコンプライアンス制御のような力センサー情報に基づく制御によって先端球TCP1を凹部H1の内壁に沿わせることで容易にずれる前の位置に戻せる)程度の距離が望ましい。なお、先端球TCP1が治具J1の凹部H1から離れている間に、治具J1の上面に沿った方向に先端球TCP1の位置がずれる原因は、先端球TCP1の振動の他にも、この段階で各アクチュエーターの回転角を補正するジョイントオフセットが算出されていないことによる先端球TCP1の位置を移動させる際の誤差や、力センサー23の値の振動(増減)等も考えられる。
また、ロボット制御部42は、治具Jの凹部Hに嵌められた先端球TCP1を、治具J1の凹部H1から所定方向に所定距離だけ移動させた後、先端球TCP1(又は第1マニピュレーターMNP1)の振動が収まるまで待機する。より具体的には、ロボット制御部42は、この待機において、所定時間が経過するまで待機し、その後、ステップS230の処理に遷移するが、これに代えて、第1力センサー23−1によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する構成等であってもよい。
次に、ロボット制御部42は、先端球TCP1を再び治具Jの凹部Hに嵌めるために、ステップS220における所定方向と逆方向に先端球TCP1を移動させる。例えば、ステップS220における所定方向が鉛直上方の場合、所定方向の逆方向とは、鉛直下方を示す。この際、ロボット制御部42は、力センサー情報取得部44から力センサー情報を取得し、取得された力センサー情報に基づく制御により、先端球TCP1を治具J1の凹部H1に嵌める(ステップS230)。
先端球TCP1を治具J1の凹部H1に嵌めた後、ロボット制御部42は、凹部Hに嵌められた先端球TCP1に対して、ステップS220における所定方向の逆方向に所定の大きさの力を加える。そして、ロボット制御部42は、凹部H1に嵌められた先端球TCP1に対して、ステップS220における所定方向の逆方向に所定の大きさの力を加えた状態を保持したまま、ステップS240からステップS290までの処理を行う。
次に、回転角取得部45は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれから回転角を示す情報を取得する(ステップS240)。この回転角を示す情報を取得する際、ロボット制御部42は、第1力センサー23−1によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する。これにより、ロボット制御部42は、各アクチュエーターの回転角が、第1マニピュレーターMNP1の振動によって変化してしまうことを抑制することができる。
次に、回転角取得部45は、ステップS240で取得された回転角を示す情報に、現在の先端球TCP1が嵌められている治具Jの凹部Hを示す情報を対応付けた情報を、第1校正用情報として記憶部32に記憶させる(ステップS250)。次に、校正制御部41は、記憶部32に記憶された第1校正用情報の数が予め定められた規定数以上であるか否かを判定する(ステップS260)。
ここで、この規定数は、ジョイントオフセット算出部46が第1ジョイントオフセットを算出する時に用いる連立方程式の未知数の数以上であれば良く、この一例においては、13であるとする。なお、制御部36は、ステップS270で変更される姿勢によって、第1マニピュレーターMNP1が備える複数のアクチュエーターがそれぞれ一定角以上動くように第1校正用情報を取得するのが望ましい。
記憶部32に記憶された第1校正用情報の数が予め定められた規定数以上ではないと校正制御部41が判定した場合(ステップS260−No)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を第1姿勢に含まれる次の姿勢に変更し(ステップS270)、その後、変更された第1マニピュレーターMNP1の姿勢においてステップS240からステップS260までの処理を行う。
ここで、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を第1姿勢に含まれる次の姿勢に変更する際、記憶部32に記憶された第1姿勢に含まれる姿勢を示す情報を順に読み込み、読み込まれた順に第1姿勢に含まれる姿勢へ第1マニピュレーターMNP1の姿勢を変更する構成等であってもよく、第1マニピュレーターMNP1の姿勢を第1姿勢に含まれる姿勢のいずれかに重複しないようにランダムに変更する構成であってもよい。なお、ロボット制御部42は、第1姿勢に含まれる姿勢へ第1マニピュレーターMNP1の姿勢を変更する際、力センサー情報に基づく制御により姿勢を変更する。これにより、ロボット制御部42は、第1エンドエフェクターEND1や治具J、第1マニピュレーターMNP1を構成する各部材を破壊してしまうことなく、第1マニピュレーターMNP1の姿勢を変更することができる。
以下では、ロボット制御部42が記憶部32に記憶された第1姿勢に含まれる姿勢を示す情報を順に読み込み、読み込まれた順に第1姿勢に含まれる姿勢へ第1マニピュレーターMNP1の姿勢を変更する場合について説明する。なお、図9に示したステップS220からステップS260の処理における第1マニピュレーターMNP1又は第2マニピュレーターMNP2の姿勢は、第1校正におけるアームの姿勢の一例である。
ここで、図10を参照して、ステップS270でロボット制御部42が第1姿勢に含まれる姿勢へ第1マニピュレーターMNP1の姿勢を変更する処理について説明する。図10は、第1姿勢に含まれる姿勢であって、第1マニピュレーターMNP1の姿勢を例示する図である。図10(A)には、第1姿勢に含まれる姿勢であって、第1マニピュレーターMNP1の姿勢の一例を示す。図10(B)には、第1姿勢に含まれる姿勢であって、第1マニピュレーターMNP1の姿勢の他の例を示す。図10(C)には、第1姿勢に含まれる姿勢であって、第1マニピュレーターMNP1の姿勢の更に他の例を示す。
ロボット制御部42は、先端球TCP1を治具Jの凹部Hに嵌めた状態を保持しながら、例えば、図10(A)に示した第1マニピュレーターMNP1の姿勢から、図10(B)や図10(C)に示した第1マニピュレーターMNP1の姿勢へと第1マニピュレーターMNP1の姿勢を変更する。このように姿勢を変更することで、先端球TCP1の中心に設定されている第1TCP位置を固定位置Xから変えることなく、第1マニピュレーターMNP1の姿勢毎に異なる複数の回転角であって第1マニピュレーターMNP1に備えられた複数のアクチュエーターそれぞれの回転角を取得することができる。
一方、記憶部32に記憶された第1校正用情報の数が予め定められた規定数以上であると校正制御部41が判定した場合(ステップS260−Yes)、ロボット制御部42は、治具J1〜治具J3までのすべての治具についてステップS220からステップS270までの処理を繰り返し行ったか否かを判定する(ステップS280)。
治具J1〜治具J3までのすべての治具についてステップS220からステップS270までの処理を繰り返し行っていないと判定した場合(ステップS280−No)、ロボット制御部42は、記憶部32から治具J1、J2、J3それぞれの上面に設けられた凹部H1〜H3の相対的な位置を示す情報を読み込む。そして、ロボット制御部42は、予め教示された固定位置X1〜固定位置X3と、読み込まれた凹部H1〜H3の相対的な位置を示す情報とに基づいて、先端球TCP1が次の治具(この一例では、治具J2)の凹部Hに接触するまで移動させる(ステップS290)。その後、力センサー初期化部43は、ステップS220に戻り、第1力センサー23−1の初期化を行う。
一方、治具J1〜治具J3までのすべての治具についてステップS220からステップS270までの処理を繰り返し行っていると判定した場合(ステップS280−Yes)、ジョイントオフセット算出部46は、記憶部32に記憶された第1校正用情報の一部又は全部を読み込む。この一例において、ジョイントオフセット算出部46は、記憶部32に記憶された第1校正用情報の全部を読み込む場合について説明する。また、ジョイントオフセット算出部46は、凹部H1〜H3の相対的な位置を示す情報を読み込む。そして、ジョイントオフセット算出部46は、読み込まれた第1校正用情報と、凹部H1〜H3の相対的な位置を示す情報とに基づいて、第1ジョイントオフセットを算出する(ステップS300)。
ここで、ジョイントオフセット算出部46による第1ジョイントオフセットの算出処理について説明する。順運動学では、第1校正用情報毎(すなわち、凹部Hを示す情報と、第1マニピュレーターMNP1の姿勢を表す各回転角を示す情報との組み合わせ毎)に、第1TCP位置及び第1TCPの姿勢を算出する方程式が得られる。以下では、説明の便宜上、これらの方程式を、まとめて第1校正方程式と称して説明する。第1校正方程式の入力パラメーターは、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角である。また、第1校正方程式の未知数は、第1ジョイントオフセット(7つのジョイントオフセット)と、凹部H1〜H3それぞれにおける第1TCP位置を示す座標(9つの座標値)と、第1TCPの姿勢を示す角度(3つの角度値)である。なお、ジョイントオフセット算出部46は、第1校正方程式からすべての未知数を算出する必要は無く、例えば、第1TCP位置に関して機械的に精度を出す場合、第1TCP位置を算出する必要は無い。また、ジョイントオフセット算出部46は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2を校正する目的において、第1TCPの姿勢も算出する必要は無い。
更に、凹部H1における第1TCP位置と、凹部H2における第1TCP位置と、凹部H3における第1TCP位置とは、凹部H1〜H3の相対的な位置を示す情報によって、凹部H1〜H3のうちいずれか1つの位置を示す座標によって表すことができる。すなわち、凹部H1〜H3それぞれにおける第1TCP位置を示す座標は、3つの座標値を用いて表すことができる。本実施形態において、凹部H1における第1TCP位置を示す座標と、凹部H2における第1TCP位置を示す座標と、凹部H3における第1TCP位置を示す座標とは、凹部H1における第1TCP位置を示す座標を用いて表す場合について説明するが、凹部H2や凹部H3の位置を示す座標を用いて表してもよい。この一例において、ジョイントオフセット算出部46は、第1校正方程式を用いて、第1ジョイントオフセット(7つのジョイントオフセット)と、凹部H1における第1TCP位置(3つの座標値)との10パラメーターを算出する場合について説明する。
ジョイントオフセット算出部46は、記憶部32から読み込まれた第1校正用情報と、凹部H1〜H3の相対的な位置を示す情報とに基づいて、順運動学により第1校正方程式を導出する。そして、ジョイントオフセット算出部46は、第1校正方程式において、凹部H1〜H3それぞれにおける第1TCP位置を示す座標を凹部H1における第1TCP位置を示す座標を用いて表し、第1校正方程式を最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解くことにより、第1ジョイントオフセットを算出する。
次に、教示部48は、ステップS300で算出された第1ジョイントオフセットを記憶部32に記憶する(教示させる)(ステップS310)。
次に、教示部48は、ステップS300で算出された第1ジョイントオフセットを記憶部32に記憶する(教示させる)(ステップS310)。
以下、図11を参照して、図8に示したステップS130の第2校正処理について説明する。図11は、図8に示したステップS130の第2校正処理の流れの一例を示すフローチャートである。なお、図11に示したフローチャートにおいて、図9に示したフローチャートにおける処理と同様の処理(図9に示したステップS220からステップS290までの処理)については、同じ符号を付し、説明を省略する。
まず、ロボット制御部42は、治具Jの凹部Hに嵌められた先端球TCP1を、凹部Hから離れた他の位置に移動させる。例えば、ロボット制御部42は、治具Jの凹部Hに嵌められた先端球TCP1を、凹部Hから上方に移動させる。なお、この移動させた際の先端球TCP1と凹部Hとの間の距離は、例えば、凹部Hの最も深い部分(この一例において、凹部Hの中心)の位置から、先端球TCP1の凹部Hに接触する点までの距離であるが、他の2点間の距離であってもよい。また、この移動させた際の先端球TCP1と凹部Hとの間の距離は、2の距離の一例である。そして、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を第2姿勢に含まれる姿勢のいずれかに変更する(ステップS400)。
ここで、図12を参照して、第2姿勢について説明する。図12は、第1姿勢に含まれる姿勢である第1マニピュレーターMNP1の姿勢の一例と、第2姿勢に含まれる姿勢である第1マニピュレーターMNP1の姿勢の一例とをそれぞれ示す図である。図12(A)には、第1姿勢に含まれる姿勢である第1マニピュレーターMNP1の姿勢の一例を示す。図12(B)には、第2姿勢に含まれる姿勢である第1マニピュレーターMNP1の姿勢の一例を示す。
第1マニピュレーターMNP1の姿勢を、図12(A)に示した第1マニピュレーターMNP1の姿勢から図12(B)に示した第1マニピュレーターMNP1の姿勢に変更する場合、図12(A)の円W1によって示した関節を約180度回転させる必要がある。
しかし、第1マニピュレーターMNP1の構造上、図12(A)の円W1によって示した関節を、治具Jの凹部Hに先端球TCP1を嵌めた状態を保持したまま約180度回転させるためには、第1マニピュレーターMNP1の他の関節のアクチュエーターを、少なくとも1つのアクチュエーターの可動範囲を超えて当該アクチュエーターを回転させなければならない。
しかし、第1マニピュレーターMNP1の構造上、図12(A)の円W1によって示した関節を、治具Jの凹部Hに先端球TCP1を嵌めた状態を保持したまま約180度回転させるためには、第1マニピュレーターMNP1の他の関節のアクチュエーターを、少なくとも1つのアクチュエーターの可動範囲を超えて当該アクチュエーターを回転させなければならない。
従って、第1マニピュレーターMNP1は、治具Jの凹部Hから先端球TCP1を離さなければ、図12(A)に示した第1マニピュレーターMNP1の姿勢から図12(B)に示した第1マニピュレーターMNP1の姿勢に変更することができない。すなわち、上述したように、第1姿勢に含まれる姿勢は、第1TCP位置を固定位置Xに固定したまま第2姿勢に含まれる姿勢に移り変わることができない姿勢である。
ステップS400で第1マニピュレーターMNP1の姿勢を第2姿勢に含まれる姿勢に変更した後、ロボット制御部42は、ステップS120の第1校正処理の結果と、予め教示されている固定位置X1〜固定位置X3と、予め記憶された相対位置情報とに基づいて、第1TCP位置を固定位置X1〜固定位置X3のいずれかに移動させることにより、先端球TCP1を治具Jの凹部Hに嵌める(ステップS410)。以下では、この一例として、ロボット制御部42が、第1TCP位置を固定位置X1に固定した場合について説明するが、第1TCP位置を固定位置X2や固定位置X3に固定してもよい。
なお、ステップS410において、ロボット制御部42は、ステップS120の第1校正処理により算出されたジョイントオフセットを用いて、逆運動学を解くことにより、第1TCP位置を固定位置X1に略性格に移動させることができる。
次に、制御部36は、ステップS220からステップS290までの処理を行い、先端球TCP1を治具Jの凹部Hに嵌めたまま、第1マニピュレーターMNP1の姿勢を第2姿勢に含まれる姿勢に変更し、変更された第1マニピュレーターMNP1の姿勢毎に、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を示す情報を取得する。制御部36は、取得された回転角を示す情報と、第1マニピュレーターMNP1の姿勢を識別する情報とを対応付けた情報を、第2校正用情報として記憶部32に記憶させる。
次に、ジョイントオフセット算出部46は、記憶部32から第1校正用情報の一部又は全部と、第2校正用情報の一部又は全部と、凹部H1〜H3の相対的な位置を示す情報とを読み込む。この一例において、ジョイントオフセット算出部46は、記憶部32から第1校正用情報の全部と、第2校正用情報の全部とを読み込む場合について説明する。ジョイントオフセット算出部46は、読み込まれた第1校正用情報及び第2校正用情報と、凹部H1〜H3の相対的な位置を示す情報とに基づいて、第2ジョイントオフセットを算出する(ステップS420)。
ここで、ジョイントオフセット算出部46による第2ジョイントオフセットの算出処理について説明する。ジョイントオフセット算出部46は、第1校正用情報に基づいて順運動学により、第1校正用情報毎(すなわち、凹部Hそれぞれの位置と、第1マニピュレーターMNP1の姿勢との組み合わせ毎)に、第1TCP位置及び第1TCPの姿勢を算出する方程式を導出する。また、ジョイントオフセット算出部46は、第2校正用情報に基づいて順運動学により、第2校正用情報毎(すなわち、凹部Hを示す情報と、第1マニピュレーターMNP1の姿勢を表す各回転角を示す情報との組み合わせ毎)に、第1TCP位置及び第1TCPの姿勢を算出する方程式を導出する。
以下では、説明の便宜上、ステップS420においてジョイントオフセット算出部46により算出されるこれらの方程式を、まとめて第2校正方程式と称して説明する。第2校正方程式の入力パラメーターは、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角である。また、第2校正方程式の未知数は、第1ジョイントオフセット(7つのジョイントオフセット)と、凹部H1〜H3それぞれにおける第1TCP位置を示す座標(9つの座標値)と、第1TCPの姿勢を示す角度(3つの角度値)である。
ここで、第1校正方程式の場合と同様に、凹部H1における第1TCP位置と、凹部H2における第1TCP位置と、凹部H3における第1TCP位置とは、凹部H1〜H3の相対的な位置を示す情報によって、凹部H1〜H3のうちいずれか1つの位置を示す座標によって表すことができる。すなわち、凹部H1〜H3それぞれにおける第1TCP位置を示す座標は、3つの座標値を用いて表すことができる。本実施形態において、凹部H1における第1TCP位置を示す座標と、凹部H2における第1TCP位置を示す座標と、凹部H3における第1TCP位置を示す座標とは、凹部H1における第1TCP位置を示す座標を用いて表す場合について説明するが、凹部H2や凹部H3の位置を示す座標を用いて表してもよい。この一例において、ジョイントオフセット算出部46は、第1校正用方程式の場合と同様に、第2校正方程式を用いて、第2ジョイントオフセット(7つのジョイントオフセット)と、凹部H1における第1TCP位置(3つの座標値)との10パラメーターを算出する場合について説明する。
従って、ジョイントオフセット算出部46は、第2校正方程式において、凹部H1〜H3それぞれにおける第1TCP位置を示す座標を凹部H1における第1TCP位置を示す座標を用いて表し、第2校正方程式を最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解くことにより、第2ジョイントオフセットを算出する。
次に、教示部48は、ステップS420で算出された第2ジョイントオフセットを記憶部32に記憶する(教示させる)(ステップS430)。この教示により、制御装置30は、固定位置Xを含む作業領域や固定位置Xの近傍の作業領域における作業を第1マニピュレーターMNP1に高い精度で行わせることができる。
次に、教示部48は、ステップS420で算出された第2ジョイントオフセットを記憶部32に記憶する(教示させる)(ステップS430)。この教示により、制御装置30は、固定位置Xを含む作業領域や固定位置Xの近傍の作業領域における作業を第1マニピュレーターMNP1に高い精度で行わせることができる。
なお、第1校正及び第2校正におけるステップS220からステップS270までの処理において、ロボット制御部42は、先端球TCP1を治具Jの凹部Hに嵌めた状態、すなわち接触させた状態を保持したまま第1マニピュレーターMNP1の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得したが、これに代えて、凹部Hと先端球TCP1とが所定の距離だけ離れた状態を保持したまま第1マニピュレーターMNP1の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得する構成であってもよい。この場合、ロボット制御部42は、先端球TCP1と凹部Hとの相対位置関係が変化しないように(すなわち、相対位置関係を固定して)、第1マニピュレーターMNP1の姿勢を変更する。なお、先端球TCP1と凹部Hとの相対位置関係が固定されている際の先端球TCP1と凹部Hとの間の距離は、例えば、凹部Hの最も深い部分(この一例において、凹部Hの中心)の位置から、先端球TCP1の凹部Hに接触する点までの距離であるが、他の2点間の距離であってもよい。また、先端球TCP1と凹部Hとの相対位置関係が固定されている際の先端球TCP1と凹部Hとの間の距離は、1の距離の一例であり、3の距離の一例でもある。
以上説明したように、本実施形態におけるロボット校正システム1は、先端球TCP1を治具Jと1の距離となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を複数の姿勢にすることにより校正する第1校正と、先端球TCP1を治具Jと2の距離となるように離した後に、先端球TCP1を治具Jと3の距離となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット校正システム1は、第1マニピュレーターMNP1により正確に作業を行うことができる。
また、先端球TCP1を治具Jと1の距離となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を複数の姿勢にすることにより校正する第1校正と、先端球TCP1を治具Jと2の距離となるように離した後に、先端球TCP1を治具Jと1の距離と略同じ距離である3の距離となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット校正システム1は、第1部材の一部を第2部材に対して一定の距離を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
また、先端球TCP1を治具Jと距離が0となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を複数の姿勢にすることにより校正する第1校正と、先端球TCP1を治具Jと2の距離となるように離した後に、先端球TCP1を治具Jと距離が0となるように移動させた後に、少なくとも力センサー23から取得した力センサー情報に基づいて第1マニピュレーターMNP1を第1校正における複数の姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行う。これにより、ロボット校正システム1は、第1部材の一部を第2部材に接触させた状態を保ったまま、アームに1以上の姿勢を取らせ、第1校正と第2校正の両方を行うことができる。
また、ロボット校正システム1は、第2校正において第1マニピュレーターMNP1を、先端球TCP1を治具Jと1の距離となっている状態のままでは移り変わることができない姿勢であって、第1校正における複数の姿勢とは異なる姿勢にする。これにより、ロボット校正システム1は、第1マニピュレーターMNP1を、先端球TCP1を治具Jと1の距離となっている状態のままでは移り変わることができない姿勢にしてマニピュレーターの校正を行うことができる。
また、ロボット校正システム1は、第1校正と、第2校正とのそれぞれにより、第1マニピュレーターMNP1を制御するパラメーターを校正する。これにより、ロボット校正システム1は、第1マニピュレーターMNP1を制御するパラメーターの校正を、アームの校正として行うことができる。
また、ロボット校正システム1は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を、第1マニピュレーターMNP1を制御するパラメーターとして校正する。これにより、ロボット校正システム1は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を校正することによって複数の姿勢における第1マニピュレーターMNP1の動作の精度を平均化することができる。
また、ロボット校正システム1は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットに基づいて第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を校正する。これにより、ロボット校正システム1は、ジョイントオフセットによる補正を行うことで、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を校正することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット校正システム1の制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM:Random Access Memory)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1 ロボット校正システム、11 第1動撮像部、12 第2動撮像部、20 ロボット、21 第1固定撮像部、22 第2固定撮像部、23、力センサー、23−1 第1力センサー、23−2 第2力センサー、30 制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36 制御部、40 表示制御部、41 校正制御部、42 ロボット制御部、43 力センサー初期化部、44 力センサー情報取得部、45 回転角取得部、46 ジョイントオフセット算出部、48 教示部
Claims (8)
- アームと、力センサーとを備え、
前記アームの先端に取り付けられた第1部材の一部を第2部材と1の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより校正する第1校正と、
前記第1部材の前記一部を前記第2部材と2の距離となるように離した後に、前記第1部材の前記一部を前記第2部材と3の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを前記第1校正における複数の前記姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行うロボット。 - 請求項1に記載のロボットであって、
前記1の距離と、前記3の距離とは、略同じである、
ロボット。 - 請求項1又は2に記載のロボットであって、
前記1の距離と、前記3の距離とは、両方とも略0である、
ロボット。 - 請求項1から3のうちいずれか一項に記載のロボットであって、
前記第2校正において前記アームを、前記第1部材の前記一部を前記第2部材と前記1の距離となっている状態のままでは移り変わることができない姿勢であって、前記第1校正における複数の前記姿勢とは異なる姿勢にする、
ロボット。 - 請求項1から4のうちいずれか一項に記載のロボットであって、
前記第1校正と、前記第2校正とのそれぞれにより、前記アームを制御するパラメーターを校正する、
ロボット。 - 請求項5に記載のロボットであって、
前記アームが備える複数のアクチュエーターそれぞれの回転角を、前記アームを制御するためのパラメーターとして校正する、
ロボット。 - 請求項6に記載のロボットであって、
前記回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットに基づいて前記アームを制御するためのパラメーターを校正する、
ロボット。 - アームと、力センサーとを備えるロボットと、
前記ロボットを動作させる制御装置と、
第2部材と、を含み、
前記制御装置は、
前記アームの先端に取り付けられた第1部材の一部を前記第2部材と1の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより校正する第1校正と、
前記第1部材の前記一部を前記第2部材と2の距離となるように離した後に、前記第1部材の前記一部を前記第2部材と3の距離となるように移動させた後に、少なくとも前記力センサーの出力値に基づいて前記アームを前記第1校正における複数の前記姿勢とは異なる姿勢を1つ以上取らせることにより校正する第2校正と、を行うロボット校正システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014259933A JP2016120530A (ja) | 2014-12-24 | 2014-12-24 | ロボット、及びロボット校正システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014259933A JP2016120530A (ja) | 2014-12-24 | 2014-12-24 | ロボット、及びロボット校正システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016120530A true JP2016120530A (ja) | 2016-07-07 |
Family
ID=56326924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014259933A Pending JP2016120530A (ja) | 2014-12-24 | 2014-12-24 | ロボット、及びロボット校正システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016120530A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019209422A (ja) * | 2018-06-04 | 2019-12-12 | 株式会社キーレックス | 多関節ロボット用の教示データ作成方法 |
WO2019235023A1 (ja) * | 2018-06-04 | 2019-12-12 | 株式会社キーレックス | 多関節ロボット用の教示データ作成方法及び教示データ校正用座標系検出具 |
JP2019214088A (ja) * | 2018-06-12 | 2019-12-19 | 株式会社キーレックス | 教示データ校正用座標系検出具 |
-
2014
- 2014-12-24 JP JP2014259933A patent/JP2016120530A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019209422A (ja) * | 2018-06-04 | 2019-12-12 | 株式会社キーレックス | 多関節ロボット用の教示データ作成方法 |
WO2019235023A1 (ja) * | 2018-06-04 | 2019-12-12 | 株式会社キーレックス | 多関節ロボット用の教示データ作成方法及び教示データ校正用座標系検出具 |
JP7190152B2 (ja) | 2018-06-04 | 2022-12-15 | 株式会社キーレックス | 多関節ロボット用の教示データ作成方法 |
JP2019214088A (ja) * | 2018-06-12 | 2019-12-19 | 株式会社キーレックス | 教示データ校正用座標系検出具 |
JP7088543B2 (ja) | 2018-06-12 | 2022-06-21 | 株式会社キーレックス | 教示データ校正用座標系検出具 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
CN107414842B (zh) | 控制装置、机器人以及机器人系统 | |
JP6380828B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
CN106945007B (zh) | 机器人系统、机器人、以及机器人控制装置 | |
JP6443837B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2018051704A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
US20170203434A1 (en) | Robot and robot system | |
US20160306340A1 (en) | Robot and control device | |
JP2016120530A (ja) | ロボット、及びロボット校正システム | |
JP2015186834A (ja) | ロボット制御装置、把持部制御装置、ロボット、把持部、ロボット制御方法、及びプログラム | |
JP6665450B2 (ja) | ロボット、制御装置、及びロボットシステム | |
JP2016120558A (ja) | ロボット、及びロボットシステム | |
EP3290164A2 (en) | Robot, robot control device, and robot system | |
JP2016013589A (ja) | 教示装置、及びロボットシステム | |
JP6897398B2 (ja) | 三次元形状測定装置、ロボットシステム、及び三次元形状測定方法 | |
JP2016120557A (ja) | ロボット、及びロボット校正システム | |
JP2016120554A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2016120555A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2016120531A (ja) | ロボット、及びロボット校正システム | |
JP2018017610A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
JP2017100197A (ja) | ロボット、及び制御方法 | |
JP2015226954A (ja) | ロボット、ロボットの制御方法、及びロボットの制御装置 | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016120556A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 |