JP2016120554A - ロボット、ロボットシステム、制御装置、及び制御方法 - Google Patents
ロボット、ロボットシステム、制御装置、及び制御方法 Download PDFInfo
- Publication number
- JP2016120554A JP2016120554A JP2014261868A JP2014261868A JP2016120554A JP 2016120554 A JP2016120554 A JP 2016120554A JP 2014261868 A JP2014261868 A JP 2014261868A JP 2014261868 A JP2014261868 A JP 2014261868A JP 2016120554 A JP2016120554 A JP 2016120554A
- Authority
- JP
- Japan
- Prior art keywords
- manipulator
- robot
- arm
- force sensor
- tcp
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】容易にマニピュレーターの校正を行うことができるロボットを提供すること。【解決手段】ロボットは、アームと、力センサーとを備え、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。【選択図】図7
Description
この発明は、ロボット、ロボットシステム、制御装置、及び制御方法に関する。
ロボットに精度の高い作業を行わせるため、ロボットの機構や撮像装置、作業環境等の校正について研究・開発が行われている。
これに関し、外部の計測装置を使わずにマニピュレーターのTCP(Tool Center Point)を何らかの治具によって機構的に拘束、もしくはマニピュレーター同士を連結することで、マニピュレーターの校正を行う方法が知られている(特許文献1、非特許文献1参照)。
マニピュレーターの駆動とともに移動する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」
しかし、従来の方法では、手作業でマニピュレーターの校正を行う場合、各アクチュエーターの動作を停止させ、手作業でマニピュレーターの姿勢を変えなければならず、時間と労力が必要であった。また、各アクチュエーターを駆動させてマニピュレーターの校正を行う場合、マニピュレーターの校正が完了していないためにマニピュレーターを正確に動かすことができず、TCPが拘束されている状態でマニピュレーターを構成するアクチュエーターや部材等に負荷を掛けずにマニピュレーターを制御することが難しかった。また、マニピュレーターを何らかの治具によって機構的に拘束するためには、マニピュレーターの動作荷重に耐えられる大掛かりな治具が必要となり、校正治具の設置場所や可搬性が損なわれてしまうという問題があった。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、容易にマニピュレーターの校正を行うことができるロボット、ロボットシステム、制御装置、及び制御方法を提供する。
本発明の一態様は、アームと、力センサーとを備え、複数の第2部材のそれぞれ毎に、前記アームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、ロボットである。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットは、容易にマニピュレーターの校正を行うことができる。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットは、容易にマニピュレーターの校正を行うことができる。
また、本発明の他の態様は、ロボットにおいて、前記1の距離は、略0である、構成が用いられてもよい。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが略0の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットは、第1部材の一部を第2部材に接触させた状態を保ったまま、アームに1以上の姿勢を取らせ、アームを校正することができる。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが略0の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットは、第1部材の一部を第2部材に接触させた状態を保ったまま、アームに1以上の姿勢を取らせ、アームを校正することができる。
また、本発明の他の態様は、ロボットにおいて、前記複数の前記第2部材のそれぞれ毎に、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させた後、前記第1部材の前記一部を前記第2部材と前記1の距離とは異なる他の距離に移動させて前記力センサーの初期化を行い、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させる、構成が用いられてもよい。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、第1部材の一部を第2部材と1の距離となるように移動させた後、第1部材の一部を第2部材と1の距離とは異なる他の距離に移動させて力センサーの初期化を行い、第1部材の一部を第2部材と1の距離となるように移動させる。これにより、ロボットは、力センサーに加わる重力等の外力による誤差を抑制することができる。
この構成により、ロボットは、複数の第2部材のそれぞれ毎に、第1部材の一部を第2部材と1の距離となるように移動させた後、第1部材の一部を第2部材と1の距離とは異なる他の距離に移動させて力センサーの初期化を行い、第1部材の一部を第2部材と1の距離となるように移動させる。これにより、ロボットは、力センサーに加わる重力等の外力による誤差を抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記力センサーの前記初期化を行う際、前記第1部材の振動が収まるまで待機した後、前記力センサーの前記初期化を行い、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させる、構成が用いられてもよい。
この構成により、ロボットは、力センサーの初期化を行う際、第1部材の振動が収まるまで待機した後、力センサーの初期化を行い、第1部材の一部を第2部材と1の距離となるように移動させる。これにより、ロボットは、第1部材の振動により生じる力センサーの初期化における誤差を抑制することができる。
この構成により、ロボットは、力センサーの初期化を行う際、第1部材の振動が収まるまで待機した後、力センサーの初期化を行い、第1部材の一部を第2部材と1の距離となるように移動させる。これにより、ロボットは、第1部材の振動により生じる力センサーの初期化における誤差を抑制することができる。
また、本発明の他の態様は、ロボットにおいて、前記第1部材の前記一部を前記第2部材の凹部に接触させた状態で前記アームを複数の姿勢にする、構成が用いられてもよい。
この構成により、ロボットは、第1部材の一部を第2部材の凹部に接触させた状態でアームを複数の姿勢にする。これにより、ロボットは、第1部材の一部の位置を固定したままアームを複数の姿勢にし、アームを校正することができる。
この構成により、ロボットは、第1部材の一部を第2部材の凹部に接触させた状態でアームを複数の姿勢にする。これにより、ロボットは、第1部材の一部の位置を固定したままアームを複数の姿勢にし、アームを校正することができる。
また、本発明の他の態様は、ロボットにおいて、2以上の前記アームを備え、前記2以上の前記アームを一括で校正する、構成が用いられてもよい。
この構成により、ロボットは、2以上のアームを一括で校正する。これにより、ロボットは、2以上のアームによる協調作業の精度を向上させることができる。
この構成により、ロボットは、2以上のアームを一括で校正する。これにより、ロボットは、2以上のアームによる協調作業の精度を向上させることができる。
また、本発明の他の態様は、アームと、力センサーとを備えるロボットと、前記ロボットを動作させる制御装置と、前記アームの先端の回転軸上とは異なる位置に端部を有する第1部材と、複数の第2部材と、を含み、前記制御装置は、前記複数の前記第2部材のそれぞれ毎に、前記アームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、ロボットシステムである。
この構成により、ロボットシステムは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットシステムは、容易にマニピュレーターの校正を行うことができる。
この構成により、ロボットシステムは、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットシステムは、容易にマニピュレーターの校正を行うことができる。
また、本発明の他の態様は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、制御装置である。
この構成により、制御装置は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、制御装置は、容易にマニピュレーターの校正を行うことができる。
この構成により、制御装置は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、制御装置は、容易にマニピュレーターの校正を行うことができる。
また、本発明の他の態様は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、制御方法である。
この構成により、制御方法は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、制御方法は、容易にマニピュレーターの校正を行うことができる。
この構成により、制御方法は、複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、制御方法は、容易にマニピュレーターの校正を行うことができる。
以上により、ロボット、ロボットシステム、制御装置、及び制御方法は、複数の第2部材のそれぞれ毎に、アームの先端に取り付けられた第1部材の一部であってアームの先端の回転軸上とは異なる位置に設けられた第1部材の一部と第2部材とが1の距離となるように移動させた状態で、少なくとも力センサーの出力値に基づいてアームを複数の姿勢にすることによりアームを校正する。これにより、ロボットシステム、ロボット、制御装置、及び制御方法は、容易にマニピュレーターの校正を行うことができる。
<第1実施形態>
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、ロボット20と、制御装置30を備える。ロボットシステム1は、複数の治具を用いてロボット20が備えるマニピュレーターの校正を行う。この一例において、ロボットシステム1は、これら複数の治具として、図1に示した3つの治具J1〜J3を用いる構成であるとするが、4つ以上の治具を用いる構成であってもよい。以下では、治具J1〜J3を区別して説明する必要が無い限り、まとめて治具Jと称して説明する。
以下、本発明の第1実施形態について、図面を参照して説明する。図1は、第1実施形態に係るロボットシステム1の一例を示す構成図である。ロボットシステム1は、ロボット20と、制御装置30を備える。ロボットシステム1は、複数の治具を用いてロボット20が備えるマニピュレーターの校正を行う。この一例において、ロボットシステム1は、これら複数の治具として、図1に示した3つの治具J1〜J3を用いる構成であるとするが、4つ以上の治具を用いる構成であってもよい。以下では、治具J1〜J3を区別して説明する必要が無い限り、まとめて治具Jと称して説明する。
ここで、ロボットシステム1が行うマニピュレーターの校正について説明する。ロボットシステム1は、ロボット20のマニピュレーターが備える複数のアクチュエーターそれぞれの回転角を示す情報を、各アクチュエーターに接続される(又は備える)エンコーダーから取得する。なお、アクチュエーターの回転角は、アームを制御するためのパラメーターの一例である。以下、説明の便宜上、アクチュエーターの回転角を、単に回転角と称して説明する場合がある。
ロボットシステム1は、各エンコーダーから取得された回転角から、順運動学によって現在のマニピュレーターのTCPの位置を制御装置30により算出する。以下では、説明の便宜上、マニピュレーターのTCPの位置を、単にTCPの位置と称して説明する。ロボットシステム1は、この算出されたTCPの位置に基づいて、マニピュレーターにより各種の作業を行うようにロボット20を制御する。
しかし、算出されたTCPの位置は、マニピュレーターを構成する部材の弾性によって生じる誤差や、アクチュエーターの回転に係る誤差等によって、実際のTCPの位置と異なる位置を示す場合がある。例えば、マニピュレーターが1つのアクチュエーターのみを備えている場合を考えると、エンコーダーから取得された回転角をθとし、算出されたTCPの位置を実際のTCPの位置を再現するアクチュエーターの回転角をφとした時、この補正は、以下の式(1)に示すように、ある値η(正又は負のいずれかの値)を回転角θに加算することによって行われる。
φ=θ+η ・・・(1)
以下では、上記の式(1)に示したようなアクチュエーターの回転角を補正するための値ηを、ジョイントオフセットと称して説明する。従って、ロボットシステム1が行うマニピュレーターの校正とは、すなわち、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角毎に、ジョイントオフセットを算出し、算出されたジョイントオフセットによってマニピュレーターが備える複数のアクチュエーターそれぞれの回転角を補正することを示す。以下では、説明の便宜上、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角毎のジョイントオフセットを、単にジョイントオフセットと称して説明する。
このマニピュレーターの校正により、ロボットシステム1は、順運動学によって算出されるTCPの位置と、実際のTCPの位置を精度よく一致させることができる。その結果、ロボットシステム1は、ロボット20が備えるマニピュレーターに高い精度の作業を行わせることができる。以下では、このマニピュレーターの校正のうち、ロボットシステム1がアクチュエーターの回転角を補正するジョイントオフセットを算出し、算出されたジョイントオフセットを制御装置30に教示する(記憶させる)までの処理について説明する。
3つの治具Jはそれぞれ、作業台TBの上面に設置されている。3つの治具Jのそれぞれは、作業台TBの上面において重なり合わないような任意の位置に配置される。作業台TBとは、テーブル等の台であるが、これに代えて、床面や壁面等、3つの治具Jのそれぞれを設置できる他の物体であってもよい。この一例において、3つの治具Jのそれぞれは、板状の金属である。また、治具J1は、上面に凹部H1が設けられ、治具J2は、上面に凹部H2が設けられ、治具J3は、上面に凹部H3が設けられている。以下では、凹部H1〜H3を区別して説明する必要が無い限り、まとめて凹部Hと称して説明する。
なお、3つの治具Jのそれぞれは、凹部Hが設けられていれば、床面や壁面等、他の物体であってもよい。図2は、治具J1の一例を示す図である。本実施形態において、治具J2、J3は、どちらも治具J1と同じ構造を有するとし、説明を省略する。また、3つの治具Jのそれぞれは、上面に凹部Hが設けられていれば、3つの治具Jのそれぞれが互いに異なる構造を有していてもよい。図2に示したように、治具J1の上面には、円錐状の凹部H1が設けられている。
この凹部H1は、TCPの位置を固定したままTCPの姿勢を変化させることができる形状であれば他の形状でもよく、例えば、すり鉢状等であってもよい。また、この一例において、3つの凹部Hのそれぞれは同じ構造を有しているとするが、これに代えて、それぞれが互いに異なる構造を有していてもよい。その場合、3つの凹部Hはそれぞれ、TCPの位置を固定したままTCPの姿勢を変化させることができる形状であるとする。なお、治具Jは、第2部材の一例である。
マニピュレーターの校正を行う際、ロボットシステム1は、TCPの位置をある位置に固定する。ロボットシステム1は、TCPの位置をある位置に固定するため、治具Jを用いる。ロボットシステム1は、ロボット20が備えるエンドエフェクターの所定部位を、治具Jの上面に設けられた凹部Hに接触させる。エンドエフェクターの所定部位は、例えば、第1エンドエフェクターEND1に設けられた突起状の部位の先端である。この先端には、球が設けられている。この球の中心には、第1TCP位置が設定されている。治具Jの上面に設けられた凹部Hは、このようなエンドエフェクターの所定部位が接触した場合、治具Jの上面に沿った方向へのエンドエフェクターの所定部位の動きを固定する。
以下では、説明の便宜上、エンドエフェクターの所定部位を凹部Hに接触させることで、治具Jの上面に沿った方向へエンドエフェクターの所定部位が動かないようにすることを、第1エンドエフェクターEND1の所定部位を凹部Hに嵌めると称して説明する。また、以下では、説明の便宜上、治具J1においてTCPの位置が固定されるある位置を固定位置X1と称し、治具J2においてTCPの位置が固定されるある位置を固定位置X2と称し、治具J3においてTCPの位置が固定されるある位置を固定位置X3と称して説明する。また、以下では、固定位置X1〜X3を区別する必要が無い限り、これらをまとめて固定位置Xと称して説明する。なお、この一例において、第1エンドエフェクターEND1の所定部位が球である場合について説明するが、第1エンドエフェクターEND1の所定部位は、第1マニピュレーターMNP1のTCPの位置が固定位置Xに固定することができれば、球である必要は無く、他の形状であってもよい。
すなわち、ロボットシステム1は、TCPの位置を固定位置Xに固定するため、エンドエフェクターの所定部位を凹部Hに嵌める。そして、ロボットシステム1は、エンドエフェクターの所定部位を凹部Hに嵌めたままの状態で、校正用情報取得動作をロボット20に行わせる。
ここで、エンドエフェクターの所定部位を凹部Hに嵌めたままの状態とは、TCPの位置が固定位置Xに固定されるが、TCPの姿勢は固定されない状態を示す。この一例において、マニピュレーターのTCPの姿勢は、CPU(Central Processing Unit)の計算上、エンドエフェクターの所定部位の姿勢と一致した値を設定して用いる。そして、エンドエフェクターの所定部位の姿勢は、エンドエフェクターの所定部位に設定された座標軸の方向によって規定される。なお、TCPの姿勢は、他の部位の姿勢と一致するように設定されてもよい。
また、校正用情報取得動作とは、エンドエフェクターの所定部位を治具Jの凹部Hに嵌めたままの状態で、マニピュレーターの姿勢を変更する動作を示す。マニピュレーターの姿勢とは、マニピュレーターが備える複数のアクチュエーターそれぞれの回転角によって指定される。
TCPの位置は、エンドエフェクターの所定部位が凹部Hに嵌められたままであるため、校正用情報取得動作によって動くことはない。一方、TCPの姿勢は、校正用情報取得動作によって変化する。このように校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況を実現するためには、エンドエフェクターの所定部位の形状は、球状であることが望ましいが、校正用情報取得動作によってTCPの位置が固定位置Xから変化しなければ他の形状であってもよい。
ここで、図3を参照して、校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況について説明する。図3は、校正用情報取得動作に応じてTCPの位置が変化せず、TCPの姿勢が変化する状況の一例を示す図である。ロボットシステム1は、治具Jの凹部Hにエンドエフェクターの所定部位Oを嵌めたままの状態を保持するため、治具Jの上面に対して鉛直下方に向かって所定部位Oを凹部Hに力F1で押しつけ続ける。
この際、ロボットシステム1は、力センサーから取得する力センサー情報に基づく制御(例えば、コンプライアンス制御等)によって治具Jを破壊しないように所定の大きさの力F1で所定部位Oを凹部Hに押しつけ続ける。このようにすることで、TCPの位置は、固定位置Xに固定され、治具Jの上面に沿った方向へ移動することができなくなる(固定される)。従って、この状態を保持したまま、校正用情報取得動作によってエンドエフェクターが、例えば、矢印F2に沿って動いた場合、所定部位Oの姿勢(すなわち、TCPの姿勢)は変化するが、所定部位Oの位置(すなわち、TCPの位置)は変化しない。
ロボットシステム1は、エンドエフェクターの所定部位を凹部Hに嵌めたまま校正用情報取得動作をロボット20に行わせることで、マニピュレーターの姿勢を変化させる毎に、マニピュレーターが備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する。ロボットシステム1は、取得された複数の回転角を示す情報と、その時のマニピュレーターの姿勢を示す情報とを対応付けて、校正用情報として記憶する。なお、エンドエフェクターの所定部位は、TCPの位置と一致させることが可能な部位であればよく、マニピュレーターの所定部位等の他の部位であってもよい。また、マニピュレーターの姿勢に係る回転角の数は、マニピュレーターの関節数と同数である。
ロボットシステム1は、このような校正用情報の取得を、治具J1〜J3のそれぞれに対して繰り返し行うことで、治具J1〜J3それぞれに対応した校正用情報を取得(記憶)する。なお、以下では、説明の便宜上、ロボットシステム1が、治具J1、J2、J3の順に校正用情報を取得する構成であるとして説明するが、この順に校正用情報を取得する必要はなく、校正用情報を取得する順は任意の順であって良い。
ロボットシステム1は、取得されたすべての校正用情報に基づいて、順運動学からロボット20の姿勢毎にTCPの位置を算出する方程式を導出する。これらの導出された方程式は、各エンコーダーから取得されたアクチュエーターそれぞれの回転角を入力パラメーターとし、TCPの位置を表す座標(3つの座標値)と、ジョイントオフセットとを未知数とする方程式である。なお、TCPの位置は、マニピュレーターのロボット座標系によって表される。
ロボットシステム1は、導出された方程式による連立方程式を解くことにより、未知数であるTCPの位置を表す座標と、ジョイントオフセットを算出する。そして、ロボットシステム1は、算出されたジョイントオフセットに基づいてマニピュレーターの校正を行う。この校正により、ロボットシステム1は、マニピュレーターに高い精度の作業をロボット20に行わせることができる。
ここで、ロボットシステム1が具備するロボット20と制御装置30について説明する。なお、本実施形態では、一例として、ロボット20が2つのマニピュレーターを備える場合について説明する。
ロボット20は、第1動撮像部11と、第2動撮像部12と、第1固定撮像部21と、第2固定撮像部22と、第1力センサー23−1と、第2力センサー23−2と、第1エンドエフェクターEND1と、第2エンドエフェクターEND2と、第1マニピュレーターMNP1と、第2マニピュレーターMNP2と、図示しない複数のアクチュエーターを備えた双腕ロボットである。双腕ロボットとは、2本のアーム(腕)を有するロボットを示し、本実施形態では、第1エンドエフェクターEND1と第1マニピュレーターMNP1によって構成されるアーム(以下、第1アームと称する)と、第2エンドエフェクターEND2と第2マニピュレーターMNP2によって構成されるアーム(以下、第2アームと称する)との2本のアームを有する。
なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットとは、1本のアームを有するロボットを示し、例えば、前述の第1アームと第2アームのうちいずれか一方を有するロボットを示す。また、ロボット20は、双腕ロボットに代えて、3腕以上のロボットであってもよい。3腕以上のロボットとは、3本以上のアームを有するロボットを示す。また、ロボット20は、さらに制御装置30を内蔵し、内蔵された制御装置30により制御される。なお、ロボット20は、制御装置30を内蔵する構成に代えて、外部に設置された制御装置30により制御される構成であってもよい。
また、複数のアクチュエーターはそれぞれ、第1マニピュレーターMNP1が備える各関節、第2マニピュレーターMNP2が備える各関節に備えられる。ここで、図4を参照して、ロボット20が備える第1マニピュレーターMNP1、第2マニピュレーターMNP2の各関節について説明する。図4は、ロボット20が備える第1マニピュレーターMNP1及び第2マニピュレーターMNP2の各関節を例示する図である。図4に示すように、第1マニピュレーターMNP1は、J01〜J07によって示される7つの関節、すなわち7つのアクチュエーターを備える。
また、第2マニピュレーターMNP2は、J11〜J17によって示される7つの関節、すなわち7つのアクチュエーターを備える。関節J01〜J07、関節J11〜J17はそれぞれ、図4に示した矢印に沿って回転する。この回転の回転角を示す情報を、それぞれのアクチュエーターに係るエンコーダーが出力する。
ここで、図5を参照して、ロボット20が備える第1エンドエフェクターEND1について説明する。なお、第2エンドエフェクターEND2は、第1エンドエフェクターEND1と同様の構造を持つため説明を省略する。図5は、第1エンドエフェクターEND1の一例を示す図である。図5に示したように、第1エンドエフェクターEND1は、突起部位Pを備え、その突起部位Pの先端には球TCP1が設けられている。
以下では、この先端の球TCP1を、先端球TCP1と称して説明する。前述のエンドエフェクターの所定部位とは、この先端球を示す。つまり、第1エンドエフェクターEND1の所定部位とは、先端球TCP1を示す。また、先端球TCP1は、先端球TCP1の中心の位置が第1マニピュレーターMNP1のTCPの位置と一致するように設けられる(又は、第1マニピュレーターMNP1のTCPの位置を先端球TCP1の中心の位置と一致するように設定する)。なお、以下では、第2エンドエフェクターEND2の所定部位を、先端球TCP2と称して説明する。また、以下では、説明の便宜上、先端球TCP1の中心の位置を先端球TCP1の位置と称しし、先端球TCP2の中心の位置を先端球TCP2の位置と称して説明する。
突起部位Pは、突起部位の長手方向に延びている中心軸CL2と、第1マニピュレーターMNP1のフランジの中心を通る中心軸CL1とがオフセットOFだけ離れるように第1エンドエフェクターEND1に設けられている。以下では、このように先端球TCP1の中心軸CL2が、第1マニピュレーターMNP1の中心軸CL1からオフセットOFだけ離れている構造を、オフセット構造と称して説明する。
本実施形態において、第1エンドエフェクターEND1は、第1マニピュレーターMNP1を校正するための専用のエンドエフェクターであるとするが、これに代えて、オフセット構造を有する所定部位を備える他のエンドエフェクターであってもよい。なお、中心軸CL1は、図5に示した関節J07の回転軸であり、アームの先端の回転軸の一例である。また、第2エンドエフェクターEND2における中心軸CL1は、図5に示した関節J17の回転軸であり、アームの先端の回転軸の一例である。また、第1エンドエフェクターEND1又は第2エンドエフェクターEND2はそれぞれ、第1部材の一例である。また、先端球TCP1又は先端球TCP2はそれぞれ、第1部材の一部の一例である。
図1に戻る。第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とがアクチュエーターによる連携した動作によって6軸の自由度の動作を行うことができる。なお、第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は、ロボット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動撮像部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及び第2マニピュレーターMNP2の校正用情報取得動作を行う。
制御装置30は、ユーザーにより行われたジョグ操作等の操作を受け付け、受け付けられた操作に基づいた動作をロボット20に行わせる。また、制御装置30は、ロボット20に校正用情報取得動作を行わせる。制御装置30は、ロボット20が行う校正用情報取得動作に基づいて、ロボット20が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。そして、制御装置30は、算出されたジョイントオフセットを記憶する。
次に、図6を参照して、制御装置30のハードウェア構成について説明する。図6は、制御装置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)ディスプレイパネルである。
通信部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は、マニピュレーターの校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、マニピュレーターの校正処理を開始させるためのボタンや、ロボット20をジョグ操作するためのジョグ等が含まれる。
表示制御部40は、マニピュレーターの校正処理においてユーザーにより行われる操作を補助するGUI(Graphical User Interface)を生成し、生成されたGUIを表示部35に表示させる。このGUIには、例えば、マニピュレーターの校正処理を開始させるためのボタンや、ロボット20をジョグ操作するためのジョグ等が含まれる。
校正制御部41は、ロボット制御部42と、力センサー初期化部43と、力センサー情報取得部44と、回転角取得部45と、ジョイントオフセット算出部46と、誤差評価部47と、教示部48を備える。校正制御部41は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正に係る処理の全体を制御する。
より具体的には、校正制御部41は、入力受付部33により受け付けられた操作(例えば、GUIを介したジョグ操作)に基づいてロボット制御部42によりロボット20を動かす。なお、本実施形態において、校正制御部41がGUIを介して入力受付部33から操作を受け付ける場合について説明するが、校正制御部41がGUIを介さずにスイッチやボタン等を介して操作を受け付ける構成であってもよい。また、このGUIには、ロボット20を動かすジョグ画面や、第1マニピュレーターMNP1の校正用情報取得動作を開始させるボタン、第2マニピュレーターMNP2の校正用情報取得動作を開始させるボタン等が含まれるとする。
ロボット制御部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が備える複数のアクチュエーターに係るエンコーダーから、回転角を示す情報を取得する。そして、回転角取得部45は、取得された複数の回転角を示す情報と、その時点での第1マニピュレーターMNP1の姿勢を示す情報(例えば、姿勢を区別するためのID等)とを対応付け、校正用情報として記憶部32に記憶させる。なお、この回転角を示す情報は、第1マニピュレーターMNP1の姿勢を表す。また、治具Jが複数ある場合、校正用情報には、複数の回転角を示す情報に対して先端球TCP1が嵌められた治具Jの凹部Hを示す情報が対応付けられる。治具Jの凹部Hを示す情報とは、例えば、凹部Hそれぞれを区別するためのID等であるが、凹部Hそれぞれを区別することが可能であれば他の情報であってもよい。また、回転角取得部45は、第1マニピュレーターMNP1に対するこれらの処理と同様の処理を、第2マニピュレーターMNP2に対して行う。
回転角取得部45は、第1マニピュレーターMNP1が備える複数のアクチュエーターに係るエンコーダーから、回転角を示す情報を取得する。そして、回転角取得部45は、取得された複数の回転角を示す情報と、その時点での第1マニピュレーターMNP1の姿勢を示す情報(例えば、姿勢を区別するためのID等)とを対応付け、校正用情報として記憶部32に記憶させる。なお、この回転角を示す情報は、第1マニピュレーターMNP1の姿勢を表す。また、治具Jが複数ある場合、校正用情報には、複数の回転角を示す情報に対して先端球TCP1が嵌められた治具Jの凹部Hを示す情報が対応付けられる。治具Jの凹部Hを示す情報とは、例えば、凹部Hそれぞれを区別するためのID等であるが、凹部Hそれぞれを区別することが可能であれば他の情報であってもよい。また、回転角取得部45は、第1マニピュレーターMNP1に対するこれらの処理と同様の処理を、第2マニピュレーターMNP2に対して行う。
ジョイントオフセット算出部46は、記憶部32により記憶された校正用情報を取得する。ジョイントオフセット算出部46は、取得された校正用情報に基づいて、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを算出する。ジョイントオフセット算出部46は、算出されたジョイントオフセットを示す情報を記憶部32に記憶させる。
誤差評価部47は、記憶部32に記憶された第1マニピュレーターMNP1に係る校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32に記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第1マニピュレーターMNP1のTCPの位置を算出する。
そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それら第1マニピュレーターMNP1のTCPの位置のばらつきの度合いを示す量を算出する。以下では、この一例として、このばらつき度合いを示す量が、標準偏差である場合について説明する。すなわち、誤差評価部47は、校正用情報毎に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それらの第1マニピュレーターMNP1のTCPの位置の標準偏差を、第1標準偏差として算出する。なお、ばらつき度合いを示す量は、標準偏差に代えて、例えば、分散や標準誤差等であってもよい。誤差評価部47は、算出された第1標準偏差が所定値未満であるか否かを判定(評価)する。
また、誤差評価部47は、記憶部32に記憶された第2マニピュレーターMNP2に係る校正用情報を1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角を示す情報と、記憶部32により記憶されたジョイントオフセットを示す情報とに基づく順運動学によって、第2マニピュレーターMNP2のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、ロボット20の姿勢毎)に算出されたすべての第2マニピュレーターMNP2のTCPの位置に基づいて、それら第2マニピュレーターMNP2のTCPの位置の標準偏差を、第2標準偏差として算出する。誤差評価部47は、算出された第2標準偏差が所定値未満であるか否かを判定(評価)する。
教示部48は、誤差評価部47により算出された第1標準偏差及び第2標準偏差の両方が所定値Y1未満であると誤差評価部47が判定した場合、第1マニピュレーターMNP1及び第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットを、記憶部32に記憶させる。なお、教示部48は、第1標準偏差が所定値Y1未満であるか否かを判定し、第2標準偏差が所定値Y1とは異なる所定値Y2未満であるか否かを判定する構成であってもよい。
以下、図8を参照して、制御装置30が第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を終えるまでの処理について説明する。図8は、制御装置30が第1マニピュレーターMNP1及び第2マニピュレーターMNP2の校正を終えるまでの処理の流れの一例を示すフローチャートである。まず、表示制御部40は、マニピュレーターの校正処理においてユーザーが行う操作を補助するGUIを表示部35に表示させる(ステップS100)。
次に、制御部36は、ロボット20が備えるマニピュレーター(すなわち、第1マニピュレーターMNP1と第2マニピュレーターMNP2)毎に、ステップS120からステップS210までの処理を繰り返し行う(ステップS110)。以下では、説明の便宜上、最初に第1マニピュレーターMNP1に対してステップS120からステップS210までの処理を行い、次に第2マニピュレーターMNP2に対してステップS120からステップS210までの処理を行う場合について説明する。
そのため、ステップS120からステップS210までの処理については、主に第1マニピュレーターMNP1に対しての処理について説明する。なお、制御部36は、最初に第2マニピュレーターMNP2に対してステップS120からステップS210までの処理を行い、次に第1マニピュレーターMNP1に対してステップS120からステップS210までの処理を行う構成であってもよい。
ロボット制御部42は、ステップS100で表示部35に表示されたGUIを介して入力受付部33により受け付けられたユーザーからのジョグ操作に基づいて、例えば、第1エンドエフェクターEND1の先端球TCP1の位置が3つの治具Jのうちのいずれかの凹部Hに嵌まるまで第1マニピュレーターMNP1を動かす(ステップS120)。
ここで、ロボット制御部42は、ユーザーからのジョグ操作に基づいて、まず治具J1の凹部H1に第1エンドエフェクターEND1の先端球TCP1の位置を嵌めたとして説明する。そして、以下で説明するように、ロボット制御部42は、第1エンドエフェクターEND1の先端球TCP1が治具J1の凹部H1に嵌められた状態を保持したまま、ステップS130からステップS200までの処理を行う。また、ロボット制御部42は、このステップS130からステップS200までの処理を、治具J1、J2、J3の順に繰り返し行う。なお、この順は、一例に過ぎず、他の順であってもよい。
次に、校正制御部41は、ステップS100で表示部35に表示されたGUIを介して第1マニピュレーターMNP1の校正処理を開始するための操作(例えば、第1マニピュレーターMNP1の校正処理を開始するボタンのクリック)を入力受付部33により受け付ける(ステップS130)。次に、ロボット制御部42は、治具J1の凹部H1に嵌められた先端球TCP1を、治具J1の凹部H1から所定方向に所定距離だけ移動させる。そして、力センサー初期化部43は、この時点で第1力センサー23−1の初期化を行う(ステップS140)。
なお、所定方向は、例えば、鉛直上方であるが、他の方向であってもよい。また、所定距離は、先端球TCP1が治具J1の凹部H1から離れる距離であれば良いが、先端球TCP1が治具J1の凹部H1から離れている間に、振動等によって凹部H1が設けられた治具J1の上面に沿った方向に先端球TCP1の位置がずれない(もしくは、ずれたとしてもコンプライアンス制御のような力センサー情報に基づく制御によって先端球TCP1を凹部H1の内壁に沿わせることで容易にずれる前の位置に戻せる)程度の距離が望ましい。なお、先端球TCP1が治具Jの凹部Hから離れている間に、治具Jの上面に沿った方向に先端球TCP1の位置がずれる原因は、先端球TCP1の振動の他にも、この段階で各アクチュエーターの回転角を補正するジョイントオフセットが算出されていないことによる先端球TCP1の位置を移動させる際の誤差や、力センサー23の値の振動(増減)等も考えられる。
また、ロボット制御部42は、治具J1の凹部H1に嵌められた先端球TCP1を、治具Jの凹部Hから所定方向に所定距離だけ移動させた後、先端球TCP1(又は第1マニピュレーターMNP1)の振動が収まるまで待機する。より具体的には、ロボット制御部42は、この待機において、所定時間が経過するまで待機し、その後、ステップS150の処理に遷移するが、これに代えて、力センサー23によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する構成等であってもよい。
次に、ロボット制御部42は、先端球TCP1を再び治具J1の凹部H1に嵌めるためにステップS140における所定方向と逆方向に移動させる。この際、ロボット制御部42は、力センサー情報取得部44から力センサー情報を取得し、取得された力センサー情報に基づく制御により、先端球TCP1が治具J1の凹部H1に嵌まるまで先端球TCP1を移動させる(ステップS150)。先端球TCP1の位置を治具J1の凹部H1に嵌めた後、ロボット制御部42は、凹部H1に嵌められた先端球TCP1に対して、鉛直下方に所定の大きさの力を加える。そして、ロボット制御部42は、ステップS140における所定方向の逆方向に所定の大きさの力を加えた状態を保持したまま、ステップS160からステップS200までの処理を行う。
次に、回転角取得部45は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから、回転角を示す情報を取得する(ステップS160)。なお、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれに係るエンコーダーから回転角を示す情報を取得する際、ロボット制御部42は、第1力センサー23−1によって第1マニピュレーターMNP1の振動の単位時間当たりの振動数を測定し、測定された振動数が予め決められた閾値以下になるまで待機する。これにより、ロボット制御部42は、各アクチュエーターの回転角が、第1マニピュレーターMNP1の振動によって変化してしまうことを抑制することができる。次に、回転角取得部45は、ステップS160で取得された回転角を示す情報に、現在の第1マニピュレーターMNP1の姿勢を示す情報を対応付けた校正用情報を記憶部32に記憶させる(ステップS170)。次に、校正制御部41は、記憶部32に記憶された校正用情報の数が予め定められた規定数以上であるか否かを判定する(ステップS180)。
ここで、この規定数は、ジョイントオフセット算出部46がジョイントオフセットを算出する時に用いる連立方程式の未知数の数以上であれば良く、この一例においては、13であるとする。なお、ステップS190で変更される姿勢によって、第1マニピュレーターMNP1が備える複数のアクチュエーターがそれぞれ一定角以上動くように校正用情報を取得するのが望ましい。
ステップS180で、記憶部32に記憶された校正用情報の数が予め定められた規定数以上ではないと校正制御部41が判定した場合(ステップS180−No)、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を次の姿勢に変更するようにロボット20を制御し(ステップS190)、その後、変更された第1マニピュレーターMNP1の姿勢においてステップS160からステップS180までの処理を行う。
ここで、ロボット制御部42は、第1マニピュレーターMNP1の姿勢を次の姿勢に変更する際、第1マニピュレーターMNP1の姿勢を示す情報を順に読み込み、読み込まれた順に第1マニピュレーターMNP1の姿勢を変更する構成であってもよく、第1マニピュレーターMNP1の姿勢をランダムに変更する構成等であってもよい。以下では、ロボット制御部42が記憶部32に記憶された姿勢を示す情報を順に読み込み、読み込まれた順に第1マニピュレーターMNP1の姿勢を変更する場合について説明する。なお、第1マニピュレーターMNP1又は第2マニピュレーターMNP2の姿勢のそれぞれは、アームの姿勢の一例である。また、ロボット制御部42は、第1姿勢に含まれる姿勢へ第1マニピュレーターMNP1の姿勢を変更する際、コンプライアンス制御により姿勢を変更する。これにより、ロボット制御部42は、第1エンドエフェクターEND1や治具J、第1マニピュレーターMNP1を構成する各部材を破壊してしまうことなく、第1マニピュレーターMNP1の姿勢を変更することができる。
ここで、図9を参照して、ステップS190でロボット制御部42が第1マニピュレーターMNP1の姿勢を変更する処理について説明する。図9は、第1マニピュレーターMNP1の姿勢を例示する図である。図9(A)には、第1マニピュレーターMNP1の姿勢の一例を示す。図9(B)には、第1マニピュレーターMNP1の姿勢の他の例を示す。図9(C)には、第1マニピュレーターMNP1の姿勢の更に他の例を示す。
ロボット制御部42は、先端球TCP1を治具Jの凹部Hに嵌めた状態を保持しながら、例えば、図9(A)に示した第1マニピュレーターMNP1の姿勢から、図9(B)や図9(C)に示した第1マニピュレーターMNP1の姿勢へと第1マニピュレーターMNP1の姿勢を変更する。このように姿勢を変更することで、先端球TCP1の中心に設定されている第1マニピュレーターMNP1のTCPの位置を固定位置Xから変えることなく、第1マニピュレーターMNP1の姿勢毎に異なる複数の回転角であって第1マニピュレーターMNP1に備えられた複数のアクチュエーターそれぞれの回転角を取得することができる。
一方、ステップS180で記憶部32に記憶された校正用情報の数が予め定められた規定数以上であると校正制御部41が判定した場合(ステップS180−Yes)、ロボット制御部42は、治具J1〜治具J3までのすべての治具についてステップS140からステップS190までの処理を繰り返し行ったか否かを判定する(ステップS200)。なお、ステップS140〜ステップS190までの処理は、上述した校正用情報取得動作を第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれに行わせる処理の一例である。
治具J1〜治具J3までのすべての治具についてステップS140からステップS190までの処理を繰り返し行っていないと判定した場合(ステップS200−No)、ロボット制御部42は、記憶部32から治具J1、J2、J3それぞれの上面に設けられた凹部H1〜H3の相対的な位置を示す情報を読み込む。そして、ロボット制御部42は、読み込まれた凹部H1〜H3の相対的な位置を示す情報に基づいて、先端球TCP1が次の治具(この一例では、治具J2)の凹部Hに嵌まるまで移動させる(ステップS210)。その後、力センサー初期化部43は、ステップS140に戻り、第1力センサー23−1の初期化を行う。
一方、治具J1〜治具J3までのすべての治具についてステップS140からステップS190までの処理を繰り返し行っていると判定した場合(ステップS200−Yes)、ロボット制御部42は、ステップS110に戻り、第2マニピュレーターMNP2に対して再びステップS120からステップS210までの処理を行う(ステップS215)。そして、第2マニピュレーターMNP2に対するこれらの処理が終わった後、ジョイントオフセット算出部46は、記憶部32に記憶された校正用情報をすべて読み込む。また、ジョイントオフセット算出部46は、凹部H1〜H3の相対的な位置を示す情報を読み込む。そして、ジョイントオフセット算出部46は、読み込まれた校正用情報及び凹部H1〜H3の相対的な位置を示す情報に基づいて、第1マニピュレーターMNP1及び第2マニピュレーターMNP2のそれぞれに備えられた複数のアクチュエーターに係るジョイントオフセットを算出し、算出されたジョイントオフセットを記憶部32に記憶させる(ステップS220)。
なお、ステップS220におけるジョイントオフセットを示す情報の記憶部32への記憶は、ステップS230における処理においてジョイントオフセットを用いるための一時的な記憶であり、前述のジョイントオフセットの教示とは異なる。
ここで、ジョイントオフセット算出部46によるジョイントオフセットの算出処理について説明する。順運動学では、第1マニピュレーターMNP1に係る校正用情報毎(すなわち、凹部Hそれぞれの位置と、第1マニピュレーターMNP1の姿勢との組み合わせ毎)に、第1マニピュレーターMNP1のTCPの位置及び姿勢を算出する方程式が得られる。これら第1マニピュレーターMNP1のTCPの位置及び姿勢を算出する方程式の入力パラメーターは、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角である。
また、これら第1マニピュレーターMNP1のTCPの位置及び姿勢を算出する方程式の未知数は、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセット(7つのジョイントオフセット)と、凹部H1〜H3それぞれにおける第1マニピュレーターMNP1のTCPの位置を示す座標(9つの座標値)と、第1マニピュレーターMNP1のTCPの姿勢を示す角度(3つの角度値)である。なお、ジョイントオフセット算出部46は、これらの第1マニピュレーターMNP1のTCPの位置を算出する方程式からすべての未知数を算出する必要は無く、例えば、第1マニピュレーターMNP1のTCPの位置に関して機械的に精度を出す場合、第1マニピュレーターMNP1のTCPの位置を算出する必要は無い。
ここで、凹部H1における第1マニピュレーターMNP1のTCPの位置(すなわち、固定位置X1)と、凹部H2における第1マニピュレーターMNP1のTCPの位置(すなわち、固定位置X2)と、凹部H3における第1マニピュレーターMNP1のTCPの位置(すなわち、固定位置X3)とは、凹部H1〜H3の相対的な位置を示す情報によって、凹部H1〜H3のうちいずれか1つの位置によって表すことができる。すなわち、凹部H1〜H3それぞれにおける第1マニピュレーターMNP1のTCPの位置を示す座標は、3つ座標値によって表すことができる。本実施形態において、凹部H1における第1マニピュレーターMNP1のTCPの位置と、凹部H2における第1マニピュレーターMNP1のTCPの位置と、凹部H3における第1マニピュレーターMNP1のTCPの位置とは、固定位置X1の座標によって表すとするが、固定位置X2や固定位置X3の位置によって表してもよい。
一方、順運動学では、第2マニピュレーターMNP2に係る校正用情報毎(すなわち、凹部Hそれぞれの位置と、第2マニピュレーターMNP2の姿勢との組み合わせ毎)に、第2マニピュレーターMNP2のTCPの位置及び姿勢を算出する方程式が得られる。これら第2マニピュレーターMNP2のTCPの位置及び姿勢を算出する方程式の入力パラメーターは、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角である。
また、これら第2マニピュレーターMNP2のTCPの位置及び姿勢を算出する方程式の未知数は、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセット(7つのジョイントオフセット)と、凹部H1〜H3それぞれにおける第2マニピュレーターMNP2のTCPの位置を示す座標(9つの座標値)と、第2マニピュレーターMNP2のTCPの姿勢を示す角度(3つの座標値)である。なお、ジョイントオフセット算出部46は、これらの第2マニピュレーターMNP2のTCPの位置を算出する方程式からすべての未知数を算出する必要は無く、例えば、第2マニピュレーターMNP2のTCPの位置に関して機械的に精度を出す場合、第2マニピュレーターMNP2のTCPの位置を算出する必要は無い。
ここで、第1マニピュレーターMNP1の場合と同様に、凹部H1における第2マニピュレーターMNP2のTCPの位置(すなわち、固定位置X1)と、凹部H2における第2マニピュレーターMNP2のTCPの位置(すなわち、固定位置X2)と、凹部H3における第2マニピュレーターMNP2のTCPの位置(すなわち、固定位置X3)とは、凹部H1〜H3の相対的な位置を示す情報によって、凹部H1〜H3のうちいずれか1つの位置によって表すことができる。すなわち、凹部H1〜H3それぞれにおける第2マニピュレーターMNP2のTCPの位置を示す座標は、3つの座標値によって表すことができる。
本実施形態において、凹部H1における第2マニピュレーターMNP2のTCPの位置と、凹部H2における第2マニピュレーターMNP2のTCPの位置と、凹部H3における第2マニピュレーターMNP2のTCPの位置とは、固定位置X1によって表すとするが、固定位置X2や固定位置X3によって表してもよい。ただし、第1マニピュレーターMNP1のTCPの位置と、第2マニピュレーターMNP2のTCPの位置とは、連立方程式を解く都合上、固定位置X1〜X3のうちのいずれか共通化されていなければならない。
このように、第1マニピュレーターMNP1に係る複数の方程式と、第2マニピュレーターMNP2に係る複数の方程式とに含まれるTCPの位置は、同じ変数によって表されている。これを利用し、第1マニピュレーターMNP1に係る複数の方程式と、第2マニピュレーターMNP2に係る複数の方程式による連立方程式を最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解くことによって、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットと、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットとの両方を算出することができる。
従って、ジョイントオフセット算出部46は、記憶部32から読み込まれた校正用情報に基づいて、第1マニピュレーターMNP1に係る複数の方程式と、第2マニピュレーターMNP2に係る複数の方程式とを導出し、導出された方程式に基づいて連立方程式を一括して最急降下法やニュートン法、レーベンバーグ・マーカート法等のような非線形最適化計算によって解くことで、第1マニピュレーターMNP1が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットと、第2マニピュレーターMNP2が備える複数のアクチュエーターそれぞれの回転角を補正するジョイントオフセットとの両方を算出する。
これにより、ジョイントオフセット算出部46は、第1マニピュレーターMNP1と第2マニピュレーターMNP2との協調作業の精度を向上させることができる。協調作業とは、第1マニピュレーターMNP1のTCPの位置と、第2マニピュレーターMNP2のTCPの位置とをそれぞれ同じ位置に移動させ、第1マニピュレーターMNP1及び第2マニピュレーターMNP2の両方により行う作業である。
また、ロボットシステム1は、マニピュレーターのTCPの位置を相対的な位置が既知である複数点(この一例では、3点であるが、2点以上であればよい)のそれぞれに固定して得られた校正用情報に基づく上記の連立方程式を一括して解くことによってジョイントオフセットを算出する方法を用いることで、マニピュレーターの根元(エンドエフェクターが備えられる側とは反対側の端部)のアクチュエーターの回転角を補正するジョイントオフセットが不定となってしまうことを回避することができ、マニピュレーターが備える複数のアクチュエーターの回転角それぞれに対するジョイントオフセットをすべて算出することができる。
次に、誤差評価部47は、ステップS220で記憶部32に記憶された第1マニピュレーターMNP1に係るジョイントオフセットを示す情報を記憶部32から読み込む。そして、誤差評価部47は、ステップS170で算出された第1マニピュレーターMNP1に係る校正用情報を記憶部32から1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角と、読み込まれたジョイントオフセットとに基づく順運動学により、第1マニピュレーターMNP1のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、第1マニピュレーターMNP1の姿勢毎)に算出されたすべての第1マニピュレーターMNP1のTCPの位置に基づいて、それらのTCPの位置の標準偏差を、第1標準偏差として算出する。
また、誤差評価部47は、ステップS220で記憶部32に記憶された第2マニピュレーターMNP2に係るジョイントオフセットを示す情報を記憶部32から読み込む。そして、誤差評価部47は、ステップS170で算出された第2マニピュレーターMNP2に係る校正用情報を記憶部32から1つずつ読み込み、読み込まれた校正用情報毎に、校正用情報に含まれる回転角と、読み込まれたジョイントオフセットとに基づく順運動学により、第2マニピュレーターMNP2のTCPの位置を算出する。そして、誤差評価部47は、校正用情報毎(すなわち、第2マニピュレーターMNP2の姿勢毎)に算出されたすべての第2マニピュレーターMNP2のTCPの位置に基づいて、それらのTCPの位置の標準偏差を、第2標準偏差として算出する(ステップS230)。
次に、誤差評価部47は、ステップS230で算出された第1標準偏差と、ステップS230で算出された第2標準偏差との両方がそれぞれ所定値未満であるか否かを判定(評価)する(ステップS240)。ステップS230で算出された第1標準偏差と、ステップS230で算出された第2標準偏差とのうちいずれか一方が所定値未満ではないと判定した場合(ステップS240−No)、ロボット制御部42は、ステップS110に戻り、第1マニピュレーターMNP1及び第2マニピュレーターMNP2に係る校正用情報を取得し直すことで、ジョイントオフセットを算出し直す。
一方、ステップS230で算出された第1標準偏差と、ステップS230で算出された第2標準偏差との両方が所定値Y1未満であると誤差評価部47が判定した場合(ステップS240−Yes)、教示部48は、ステップS220で算出されたジョイントオフセットを記憶部32に記憶させる(ステップS250)。なお、本実施形態では、教示部48は、ステップS230で算出された第1標準偏差と、ステップS230で算出された第2標準偏差との両方が所定値Y1未満であるか否かを判定する構成であるとしたが、これに代えて、ステップS230で算出された第1標準偏差と、ステップS230で算出された第2標準偏差とのうちいずれか一方が所定値Y1未満であると誤差評価部47が判定した場合、ステップS220で算出されたジョイントオフセットを記憶部32に記憶させる(教示する)構成であってもよい。
なお、ロボット制御部42は、ステップS150からステップS210までの処理において、先端球TCP1を治具Jの凹部Hに嵌めた状態、すなわち接触させた状態を保持したまま第1マニピュレーターMNP1の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得したが、これに代えて、凹部Hと先端球TCP1とが所定の距離だけ離れた状態を保持したまま第1マニピュレーターMNP1の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得する構成であってもよい。この場合、ロボット制御部42は、先端球TCP1と凹部Hとの相対位置関係が変化しないように(すなわち、相対位置関係を固定して)、第1マニピュレーターMNP1の姿勢を変更する。
また、ロボット制御部42は、ステップS150からステップS210までの処理において、先端球TCP2を治具Jの凹部Hに嵌めた状態、すなわち接触させた状態を保持したまま第2マニピュレーターMNP2の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得したが、これに代えて、凹部Hと先端球TCP2とが所定の距離だけ離れた状態を保持したまま第2マニピュレーターMNP2の姿勢を変更し、各アクチュエーターの回転角を示す情報を取得する構成であってもよい。この場合、ロボット制御部42は、先端球TCP2と凹部Hとの相対位置関係が変化しないように(すなわち、相対位置関係を固定して)、第2マニピュレーターMNP2の姿勢を変更する。先端球TCP1(又は先端球TCP2)と凹部Hとの相対位置関係が固定されている際の先端球TCP1(又は先端球TCP2)と凹部Hとの間の距離は、1の距離の一例である。
以上説明したように、本実施形態におけるロボットシステム1は、複数(この一例において、3つ)の治具Jのそれぞれ毎に、先端球TCP1(又は先端球TCP2)と治具Jとが1の距離となるように移動させた状態で、少なくとも力センサー23から取得される力センサー情報に基づいて第1マニピュレーターMNP1(又は第2マニピュレーターMNP2)を複数の姿勢にすることにより第1マニピュレーターMNP1(又は第2マニピュレーターMNP2)を校正する。これにより、ロボットシステム1は、容易にマニピュレーターの校正を行うことができる。
また、ロボットシステム1は、複数の治具Jのそれぞれ毎に、先端球TCP1(先端球TCP2)と治具Jとが略0の距離となるように移動させた状態で、少なくとも力センサー23から取得される力センサー情報に基づいて第1マニピュレーターMNP1(第2マニピュレーターMNP2)を複数の姿勢にすることにより第1マニピュレーターMNP1(第2マニピュレーターMNP2)を校正する。これにより、ロボットシステム1は、先端球TCP1(先端球TCP2)を治具Jに接触させた状態を保ったまま、第1マニピュレーターMNP1(第2マニピュレーターMNP2)に1以上の姿勢を取らせ、第1マニピュレーターMNP1(第2マニピュレーターMNP2)を校正することができる。
また、ロボットシステム1は、複数の治具Jのそれぞれ毎に、先端球TCP1(先端球TCP2)を治具Jと1の距離となるように移動させた後、先端球TCP1(先端球TCP2)を治具Jと1の距離とは異なる他の距離に移動させて力センサー23の初期化を行い、先端球TCP1(先端球TCP2)を治具Jと1の距離となるように移動させる。。これにより、ロボットシステム1は、力センサー23に加わる重力等の外力による誤差を抑制することができる。
また、ロボットシステム1は、力センサー23の初期化を行う際、第1エンドエフェクターEND1(又は第2エンドエフェクターEND2)の振動が収まるまで待機した後、力センサー23の初期化を行い、先端球TCP1(先端球TCP2)を治具Jと1の距離となるように移動させる。これにより、ロボットシステム1は、先端球TCP1(又は先端球TCP2)の振動により生じる力センサー23の初期化における誤差を抑制することができる。
また、ロボットシステム1は、先端球TCP1(先端球TCP2)を治具Jの凹部Hに接触させた状態で第1マニピュレーターMNP1(第2マニピュレーターMNP2)を複数の姿勢にする。これにより、ロボットシステム1は、先端球TCP1(又は先端球TCP2)の位置を固定したまま第1マニピュレーターMNP1(又は第2マニピュレーターMNP2)を複数の姿勢にし、第1マニピュレーターMNP1(又は第2マニピュレーターMNP2)を制御するためのアクチュエーターの回転角をジョイントオフセットにより校正することができる。
また、ロボットシステム1は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2を一括で校正する。これにより、ロボットシステム1は、第1マニピュレーターMNP1及び第2マニピュレーターMNP2による協調作業の精度を向上させることができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボットシステム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 ジョイントオフセット算出部、47 誤差評価部、48 教示部
Claims (9)
- アームと、力センサーとを備え、
複数の第2部材のそれぞれ毎に、前記アームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、
ロボット。 - 請求項1に記載のロボットであって、
前記1の距離は、略0である、
ロボット。 - 請求項1又は2に記載のロボットであって、
前記複数の前記第2部材のそれぞれ毎に、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させた後、前記第1部材の前記一部を前記第2部材と前記1の距離とは異なる他の距離に移動させて前記力センサーの初期化を行い、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させる、
ロボット。 - 請求項3に記載のロボットであって、
前記力センサーの前記初期化を行う際、前記第1部材の振動が収まるまで待機した後、前記力センサーの前記初期化を行い、前記第1部材の前記一部を前記第2部材と前記1の距離となるように移動させる、
ロボット。 - 請求項1から4のうちいずれか一項に記載のロボットであって、
前記第1部材の前記一部を前記第2部材の凹部に接触させた状態で前記アームを複数の姿勢にする、
ロボット。 - 請求項1から5のうちいずれか一項に記載のロボットであって、
2以上の前記アームを備え、
前記2以上の前記アームを一括で校正する、
ロボット。 - アームと、力センサーとを備えるロボットと、
前記ロボットを動作させる制御装置と、
前記アームの先端の回転軸上とは異なる位置に端部を有する第1部材と、
複数の第2部材と、を含み、
前記制御装置は、
前記複数の前記第2部材のそれぞれ毎に、前記アームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、
ロボットシステム。 - 複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、
制御装置。 - 複数の第2部材のそれぞれ毎に、ロボットが備えるアームの先端に取り付けられた第1部材の一部であって前記アームの先端の回転軸上とは異なる位置に設けられた前記一部と前記第2部材とが1の距離となるように移動させた状態で、少なくとも前記力センサーの出力値に基づいて前記アームを複数の姿勢にすることにより前記アームを校正する、
制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014261868A JP2016120554A (ja) | 2014-12-25 | 2014-12-25 | ロボット、ロボットシステム、制御装置、及び制御方法 |
US14/978,379 US20160184996A1 (en) | 2014-12-24 | 2015-12-22 | Robot, robot system, control apparatus, and control method |
CN201510971069.3A CN105729441A (zh) | 2014-12-24 | 2015-12-22 | 机器人、机器人系统、控制装置以及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014261868A JP2016120554A (ja) | 2014-12-25 | 2014-12-25 | ロボット、ロボットシステム、制御装置、及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016120554A true JP2016120554A (ja) | 2016-07-07 |
Family
ID=56326965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014261868A Withdrawn JP2016120554A (ja) | 2014-12-24 | 2014-12-25 | ロボット、ロボットシステム、制御装置、及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016120554A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114803472A (zh) * | 2022-04-22 | 2022-07-29 | 深圳航天科技创新研究院 | 基于机器人的夹紧控制方法及控制系统 |
-
2014
- 2014-12-25 JP JP2014261868A patent/JP2016120554A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114803472A (zh) * | 2022-04-22 | 2022-07-29 | 深圳航天科技创新研究院 | 基于机器人的夹紧控制方法及控制系统 |
CN114803472B (zh) * | 2022-04-22 | 2023-12-26 | 深圳航天科技创新研究院 | 基于机器人的夹紧控制方法及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160184996A1 (en) | Robot, robot system, control apparatus, and control method | |
USRE47553E1 (en) | Robot, robot system, control device, and control method | |
US11090814B2 (en) | Robot control method | |
CN106945007B (zh) | 机器人系统、机器人、以及机器人控制装置 | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP2016185572A (ja) | ロボット、ロボット制御装置およびロボットシステム | |
US20170203434A1 (en) | Robot and robot system | |
US20180085920A1 (en) | Robot control device, robot, and robot system | |
US20160306340A1 (en) | Robot and control device | |
JP2016120558A (ja) | ロボット、及びロボットシステム | |
JP2016120530A (ja) | ロボット、及びロボット校正システム | |
JP6665450B2 (ja) | ロボット、制御装置、及びロボットシステム | |
JP2016120554A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
CN109323668B (zh) | 三维形状测定装置、机器人系统以及三维形状测定方法 | |
JP2016120555A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP6455869B2 (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2016120557A (ja) | ロボット、及びロボット校正システム | |
JP2016120531A (ja) | ロボット、及びロボット校正システム | |
JP2017047478A (ja) | 制御装置、ロボット及びロボットシステム | |
JP2016155194A (ja) | ロボット、ロボットの制御方法、及びロボットの制御装置 | |
JP2018001321A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2016120556A (ja) | ロボット、ロボットシステム、制御装置、及び制御方法 | |
JP2017100197A (ja) | ロボット、及び制御方法 | |
JP2019042837A (ja) | ロボット、ロボット制御装置、ロボットシステム、及びロボット制御方法 | |
JP2016013610A (ja) | ロボット、及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171010 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20180802 |