(58)【調査した分野】(Int.Cl.,DB名)
前記動作環境条件が、前記ロボットの動作環境の温度、動作環境の湿度および前記ロボットに作用する負荷情報の少なくとも1つである請求項4に記載のロボット制御装置。
【発明を実施するための形態】
【0007】
本発明の一実施形態に係るロボット制御装置1について、図面を参照して以下に説明する。
本実施形態に係るロボット制御装置1は、
図1に示されるロボットシステム100に備えられている。ロボットシステム100は、例えば、垂直多関節型のロボット20と、該ロボット20に接続されるロボット制御装置1とを備えている。ロボット20の種類は限定されるものではない。
【0008】
ロボット20は、
図4に示されるように、床面(被設置面)Fに設置されるベース21と、鉛直な第1軸線回りにベース21に対して回転可能に支持された旋回胴22と、水平な第2軸線回りに旋回胴22に対して回転可能に支持された第1アーム23と、水平な第3軸線回りに第1アーム23に対して回転可能に支持された長手軸を有する第2アーム24と、該第2アーム24の先端に支持された手首ユニット25とを備えている。図中、符号Sはツールである。
【0009】
手首ユニット25は、第2アーム24の先端に、第2アームの長手軸に沿う第4軸線回りに回転可能に支持された第1手首要素26と、第1手首要素26に対して回転可能に支持された第2手首要素27と、第2手首要素27に対して回転可能に支持された第3手首要素28とを備えている。第2手首要素27は、第1手首要素26に対して第4軸線に直交する第5軸線回りに回転可能に支持されている。第3手首要素28は、第2手首要素27に対して第5軸線に直交しかつ第4軸線と第5軸線との交点を通過する第6軸線回りに回転可能に支持されている。
【0010】
ロボット制御装置1は、
図2に示されるように、タイマ11と、クリープ情報を記憶するクリープ情報記憶部12と、ロボット20のマスタリングデータを記憶するマスタリングデータ記憶部13と、補正部14とを備えている。
タイマ11は、ロボット20が設置された際に起動され、設置後の積算時間を計数するとともに、計数された積算時間を補正部14に出力する。
【0011】
マスタリングデータは、ロボット20を原点位置に配置したときの、ロボット20の各軸の回転角度を検出するエンコーダの値である。
マスタリングデータ記憶部13は、例えば、ロボット20が製造された後に実施されるマスタリング作業により生成されるマスタリングデータを記憶している。各ロボット20に対してマスタリング作業を実施することにより、ロボット20の構成部品が個体差による寸法の誤差を有していても、ツールSの先端点を所望の位置に配置することができる。
【0012】
クリープ情報記憶部12は、
図3に示されるように、クリープ変形によるたわみ量と積算時間(累積時間)とを対応付けて記憶している。たわみ量と積算時間との関係は、予め実施される実験により取得されればよい。クリープ情報記憶部12は、たわみ量と積算時間とをテーブルによって対応付けて記憶している。なお、テーブルに代えて、マップあるいは近似式によって記憶していてもよい。
【0013】
ロボット20には、特に重力が作用するアーム23,24に、
図4に示されるように、時間経過とともにクリープ変形が発生する。この
図4においては説明を簡単にするために、第2アーム24のみにクリープ変形が発生している場合を示している。図中実線は、クリープ変形が発生する前のロボット20の原点位置における姿勢を示し、図中、一転鎖線は、クリープ変形が発生した後のロボット20の原点位置における姿勢を示している。たわみ量は、図中矢印によって示されるたわみベクトルである。
【0014】
アーム23,24を軽量素材、例えば、樹脂により構成するとクリープ変形によるたわみが発生し易い。
図4によれば、クリープ変形の前後において、ツールSの先端点は、符号Aの位置から符号A´の位置に移動する。
【0015】
補正部14は、マスタリングデータを補正することによって、クリープ変形により符号A´の位置に移動したツールSの先端点を符号Aの位置に修正する。
図5に、マスタリングデータを補正後のロボット20の原点位置における姿勢を実線により、クリープ変形が発生する前のロボット20の原点位置における姿勢を一転鎖線により示す。
【0016】
補正部14は、タイマ11から入力されてくる積算時間を受け取って、所定の時間間隔で、あるいは必要に応じて、クリープ情報記憶部12に積算時間に対応して記憶されているたわみ量を読み出す。クリープ情報記憶部12に記憶されている積算時間とたわみ量との対応付けが離散的なデータである場合には、データ間を保管してたわみ量を算出すればよい。補正部14は、プロセッサにより構成されている。
【0017】
そして、補正部14は、クリープ情報記憶部12から読みだされたたわみ量を用いてマスタリングデータを補正し、マスタリングデータ記憶部13に記憶されているマスタリングデータを更新する。
【0018】
例えば、
図5に示される例では、クリープ変形後の第4軸線と第5軸線との交点である手首中心の位置をクリープ変形前の位置に戻すのに必要な角度だけ、旋回胴22に対する第1アーム23の角度および第1アーム23に対する第2アーム24の角度を変化させている。その状態で、さらに、クリープ変形前後のツールSの先端点を一致させるのに必要な角度だけ、第1手首要素26に対する第2手首要素27の第5軸線回りの角度も変化させている。すなわち、補正部14により、上記に従ってクリープ変形前の姿勢に対して各軸の角度を変化させた姿勢がクリープ変形後の原点位置の姿勢となるようにマスタリングデータが補正される。
【0019】
このように、本実施形態に係るロボット制御装置1によれば、設置後の時間経過とともにクリープ変形によるたわみ量が増大しても、積算時間と対応付けて記憶されているたわみ量に基づいて、補正部14がマスタリングデータを適時に補正する。これにより、冶具等を用いたマスタリングを再度行うことなく、作業用のツールSの原点であるツールSの先端点の位置精度を良好に保つことができる。
【0020】
なお、本実施形態に係るロボット制御装置1においては、クリープ情報記憶部12に、積算時間とたわみ量とを対応付けて記憶したが、これに代えて、
図6に示されるように、動作環境温度ごとに積算時間とたわみ量とを対応付けて記憶しておいてもよい。
ロボット20が、例えば、クリーンルームのように、動作環境温度の変化しない環境下で継続的に動作させられる場合には、入力されたロボット20の動作環境温度に対応する積算時間とたわみ量との関係から、積算時間に対応するたわみ量を読み出せばよい。動作環境温度は、操作者が入力してもよいし、ロボット制御装置1に備えられる温度計により検出してもよい。
【0021】
これによれば、ロボット20の動作環境温度によっても変動するクリープ変形によるたわみ量をより精度よく推定して、マスタリングデータをより精度よく補正することができる。
動作環境温度に代えて、あるいは、これに加えて、動作環境湿度を用いてもよい。
【0022】
また、ロボット20が、動作環境温度、動作環境湿度あるいはロボット20に作用する負荷等の動作環境条件の変化する環境下で動作させられる場合には、タイマ11が、動作環境条件毎に動作の継続時間と累積時間とを計数し、補正部14が、タイマ11により計数された累積時間におけるたわみ量の時間変化とタイマ11により計数された継続時間とに基づいて算出されるたわみ量の増分を積分して累積たわみ量を算出し、算出された累積たわみ量に基づいて、マスタリングデータおよび機構パラメータの少なくとも一方を補正してもよい。
【0023】
例えば、負荷以外の動作環境条件は一定であると仮定して、
図9に示されるように、重力がアーム23,24に作用せず慣性力のみがアーム23,24に作用する動作Aと、
図10に示されるように、慣性力に加えて重力もアーム23,24に作用する動作Bとが繰り返し実施される場合を例示する。この場合に、
図11に示される動作Aのみが行われる場合の時間とクリープ変形によるたわみ量との関係および
図12に示される動作Bのみが行われる場合の時間とクリープ変形によるたわみ量との関係をクリープ情報記憶部12に記憶しておく。
【0024】
そして、タイマ11により動作Aが行われている継続時間t1および累積時間T1、動作Bが行われている継続時間t2および累積時間T2をそれぞれ計数する。
そして、動作Aが継続時間t1にわたって継続し、動作Aの累積時間がT1となったときには、
図11の累積時間T1におけるたわみ量の時間変化(傾き)をクリープ情報記憶部12から読み出して継続時間t1を乗算する。これにより、動作Aの継続時間t1分のたわみ量δ1を算出する。
【0025】
また、動作Bが継続時間t2にわたって継続し、動作Bの累積時間がT2となったときには、
図12の累積時間T2におけるたわみ量の時間変化(傾き)をクリープ情報記憶部12から読み出して継続時間t2を乗算する。これにより、動作Bの継続時間t2分のたわみ量δ2を算出する。そして、
図13に示されるように、これらのたわみ量を積分することにより、現在のたわみ量δを算出することにすればよい。図中、符号Kは初期たわみ量である。
【0026】
動作環境条件としてロボット20に作用する負荷のみが変動する場合を例示したが、これに限定されるものではなく、他の動作環境条件が変動する場合あるいは1以上の動作環境条件が変動する場合にも適用することができる。
【0027】
また、ロボット20が先端に装着するツールSやツールSによって把持するワークの質量および重心位置、あるいはアーム23,24に取り付ける周辺装置の質量および重心位置によってもクリープ変形によるたわみ量が変化するので、これらの負荷情報に対応付けて積算時間とたわみ量との関係を記憶しておいてもよい。負荷情報はユーザが入力してもよいし、第2アーム24を駆動するモータの電流値、あるいは、第2アーム24にトルクセンサが備えられている場合にはトルクセンサの出力によって測定してもよい。
【0028】
なお、本実施形態においては、クリープ情報記憶部12に記憶されているたわみ量に基づいてマスタリングデータを補正することとしたが、これに代えて、または、これに加えて、
図7に示されるように、機構パラメータを記憶するパラメータ記憶部15を備え、たわみ量に基づいて機構パラメータを補正することにしてもよい。
【0029】
機構パラメータとしては、例えば、ロボット20の各リンクの幾何学的な状態を示すDHパラメータを挙げることができる。ロボット20の全ての動作軸がリンクを相対的に回転させる回転軸である場合には、機構パラメータとして、動作軸毎のDHパラメータを用いることができる。ここで、DHパラメータは、リンク間の距離、動作軸間距離、リンク間の角度、リンクのねじれ角等を含んでいる。また、位置決め誤差を大きくする要因となる機構パラメータの数はロボット20の動作軸の数に一致しているものとする。
【0030】
さらに具体的には、
図4に示されるように、第2アーム24のみにクリープ変形によるたわみが発生した場合には、
図8に示されるように、第2アーム24のオフセット量がL
a0からL
a1に変化し、第2アーム24の長さがL
b0からL
b1に変化したものとみなすことができる。
【0031】
この場合に、クリープ変形前後の第4軸線と第5軸線との交点の変位量D、変位角度θとすると、
θ=sin
−1(D/L
b0)
L
b1=L
b0cosθ
L
a1=L
a0−D
と近似することができる。
【0032】
したがって、DHパラメータを、クリープ変形後の第2アーム24の長さL
b1およびオフセット量L
a1を用いて計算されたDHパラメータに補正することができる。そして、補正後のDHパラメータを用いて逆運動学演算を行って各動作軸の角度を求めることにより、クリープ変形後においても、クリープ変形前と同じ位置にツールSの先端点を配置することができる。これにより、クリープ変形が増大しても、冶具等を用いたマスタリングを再度行うことなく、ツールSの先端点の位置精度を良好に保つことができるという利点がある。
【0033】
また、本実施形態においては、経過時間に対応付けられたたわみ量に基づいて、マスタリングデータの補正あるいは機構パラメータの補正を行う場合を例示したが、これに代えて、機構パラメータおよびマスタリングデータを両方補正することにしてもよい。
例えば、第2アーム24の長さおよびオフセット量の変化については上述したようにDHパラメータの補正により対応し、
図5の第1手首要素26に対する第2手首要素27の角度についてはマスタリングデータの補正によって対応してもよい。
【0034】
また、本実施形態においては、クリープ変形によるたわみが発生する代表的な場合として、重力による曲げモーメントが常時作用している第2アーム24を例示して説明した。これに加えて、第1アーム23についても、一方向の曲げモーメントを受ける動作環境にある場合には、同様にクリープ変形によるたわみを補正してもよい。
【0035】
また、動作プログラムによって、各動作軸の回転の加減速方向が偏っている場合には、そのような動作プログラムの継続的な実行によって、ロボット20の各部が、ロボット20およびツールSの慣性による曲げモーメントを受ける。このため、ロボット20の各部が受ける慣性による曲げモーメントについても、加減速度の大きさ毎に、経過時間に対応付けられたたわみ量を記憶しておけばよい。
【0036】
そして、第1アーム23および第2アーム24が加減速を受ける時間を積算し、クリープ情報記憶部12から積算時間に対応して記憶されているたわみ量を読み出す。これにより、重力によるクリープ変形と同様に、加減速によるクリープ変形が増大する場合についても、マスタリングデータおよび機構パラメータの少なくとも一方の補正によって、冶具等を用いたマスタリングを再度行うことなく、ツールSの先端点の位置精度を良好に保つことができる。