(58)【調査した分野】(Int.Cl.,DB名)
第1のアームと、第1の軸を回転軸として前記第1のアームに対して相対的に回転するとともに当該第1の軸に直交する回転軸である第2の軸が設けられている第2のアームとを少なくとも有するロボットに生じるたわみを補正するたわみ補正方法であって、
前記第1の軸に対して当該第1の軸の回転方向とは異なる向きである非回転方向にかかるモーメントを、前記第2の軸にかかる回転方向の負荷トルクと、前記第2の軸側の自重によるモーメントと、前記第1の軸の回転中心から前記第2の軸の回転中心までの距離と前記第2の軸の回転中心からツールの回転中心までの距離との比とにより求め、
前記第1の軸が非回転方向に傾く角度にて示されるたわみ量を、前記第1の軸の非回転方向にかかるモーメントと、当該第1の軸の非回転方向における剛性とにより求め、
前記たわみ量に基づいて前記ロボットを制御する際の制御値を補正するロボットのたわみ補正方法。
第1のアームと、第1の軸を回転軸として前記第1のアームに対して相対的に回転するとともに当該第1の軸に直交する回転軸である第2の軸が設けられている第2のアームとを少なくとも有するロボットを制御する制御装置であって、
前記第1の軸に対して当該第1の軸の回転方向とは異なる向きである非回転方向にかかるモーメントを、前記第2の軸にかかる回転方向の負荷トルクと、前記第2の軸側の自重によるモーメントと、前記第1の軸の回転中心から前記第2の軸の回転中心までの距離と前記第2の軸の回転中心からツールの回転中心までの距離との比とにより取得するモーメント取得部と、
前記第1の軸が非回転方向に傾く角度にて示されるたわみ量を、取得した前記第1の軸の非回転方向にかかるモーメントと、当該第1の軸の非回転方向における剛性とにより取得するたわみ量取得部と、
取得した前記たわみ量に基づいて前記ロボットを制御する際の制御値を補正する補正部と、
を備えるロボットの制御装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記した特許文献1の場合、求めた関節トルクと実際の値とにずれがあった場合、正しく修正することができない。また、組み付け作業時には、自重だけでなく組み付け時の外力によってたわみが生じることもあるが、その場合には特許文献1のような手法を採用することはできない。
【0007】
かといって、力覚センサなどを先端に取り付けて先端に加わる外力を検出してたわみを求める構成にすると、高精度のセンサ等の追加部品が必要となり、コストの増加を招くことになる。また、たわみが生じないように各軸の剛性を高めることも考えられるが、その場合にはアームが大型化したり重量が増加したりする。そのため、高剛性化と、ロボットの小型化や高速化あるいは軽量化等の要求とを両立させることは難しい。
【0008】
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボットに生じるたわみを補正することができるロボットのたわみ補正方法、ロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0009】
請求項1記載の発明では、第1の軸に対して当該第1の軸の回転方向とは異なる向きである非回転方向にかかるモーメントを、第2の軸にかかる回転方向の負荷トルクと、第2の軸側の自重によるモーメントと、第1の軸の回転中心から第2の軸の回転中心までの距離と第2の軸の回転中心からツールの回転中心までの距離との比と、により求める。続いて、第1の軸が非回転方向に傾く角度を表すたわみ量を、第1の軸の非回転方向にかかるモーメントと、当該第1の軸の非回転方向における剛性とにより求める。
【0010】
これにより、第1の軸のたわみ量を、力覚センサ等の追加部品を必要とすることなく、求めることができる。そして、たわみ量に基づいてロボットを制御するための制御値を補正することにより、アームの剛性を高める必要がないことからロボットの小型化や高速化あるいは軽量化等を阻害することなく、ロボットの関節軸に生じるたわみを補正することができる。
【0011】
請求項2記載の発明では、第2の軸にかかる回転方向の負荷トルクを、当該第2の軸の入力軸側および出力軸側でそれぞれ検出した角度検出値の差分と、当該第2の軸に設けられている減速機24の剛性とにより求める。これにより、追加部品を必要とすることなく、第2の軸にかかる回転方向の負荷トルク、つまりは、たわみ量を求めるために必要とされるパラメータを求めることができる。
【0012】
請求項3記載の発明では、たわみ量を用いて、第1の軸の出力軸側で検出した角度検出値を補正する。これにより、第1の軸がたわんだことにより角度検出値に誤差が生じた場合であっても、第1の軸の実際の回転角度を、正確に取得することができる。したがって、第1の軸の回転角度を正確に制御することができ、例えばツールの先端位置を高精度で位置決めすることができる。
【0013】
請求項4記載の発明では、たわみ量を用いて、第1の軸における推定負荷トルクを補正する。これにより、第1の軸がたわんだことにより負荷トルクの推定に誤差が生じた場合であっても、実際の負荷トルクを高精度で推定することができる。したがって、負荷トルクが過小であると誤判断して過大な力を加えた結果ワークが損傷してしたり、逆に、負荷トルクが過大であると誤判断して必要な力を加えずに組み付けにミスが生じたりすること等を抑制することができる。
【0014】
請求項5記載の発明では、たわみ量を用いて、ツールの先端位置を補正する。これにより、第1の軸がたわんだことによりツールの先端位置がずれた場合であっても、そのずれを補正することができる。したがって、ツールの先端位置を高精度に位置決めすることができ、組み付け位置の間違いや、ワークの表面に傷を付けたりワークを破損したりすること等を抑制することができる。
【0015】
請求項6記載の発明では、第1の軸にかかる非回転方向のモーメントを取得するモーメント取得部と、第1の軸のたわみ量を取得するたわみ量取得部と、たわみ量に基づいて制御値を補正する補正部とを備える。これにより、上記したように、力覚センサ等の追加部品を必要とすることなく、また、アームの剛性を高める必要がないことからロボットの小型化や高速化あるいは軽量化等を阻害することなく、ロボットに生じるたわみを補正することができる。したがって、ツールの先端位置の高精度な位置決め、ツールの先端に加わる力の高精度な検出ができ、高い組み付け精度を必要とされる難易度の高い作業をロボットに行わせることができる。
【発明を実施するための形態】
【0017】
以下、複数の実施形態について図面を参照しながら説明する。
図1に示すように、ロボット1は、いわゆる垂直多関節型ロボットとして周知の構成を備えており、制御装置であるコントローラ10に接続されている。この、コントローラ10は、図示しないマイクロコンピュータ等で構成された制御部11を備えており、制御プログラムを実行することによりロボット1の動作を制御する。
【0018】
また、コントローラ10は、詳細は後述するが、モーメント取得部、たわみ量取得部および補正部に相当する。これらモーメント取得部、たわみ量取得部および補正部は、本実施形態ではコントローラ10の制御部11によって実行されるプログラムによってソフトウェア的に実現されている。
【0019】
ロボット1は、ベース2上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ3が水平方向に回転可能に連結されている。ショルダ3には、第1軸に直交する回転軸である第2軸(J2)を介して上方に延びる下アーム4が回転可能に連結されている。この下アーム4の先端側には、第2軸に平行な回転軸である第3軸(J3)を介して第一上アーム5が回転可能に連結されている。第一上アーム5の先端側には、第3軸に直交する回転軸である第4軸(J4)を介して第二上アーム6が捻り回転可能に連結されている。
【0020】
第二上アーム6の先端側は二股となっており、この二股の間に挟み込まれる態様で、第4軸に直交する回転軸である第5軸(J5)を介して手首7が回転可能に連結されている。そして、手首7には、第5軸に直交する回転軸である第6軸(J6)を介してフランジ8が捻り回転可能に連結されている。これら第1軸〜第6軸は、ロボット1の関節軸に相当する。
【0021】
ロボット1におけるアームの最先端側となるフランジ8には、ハンドやエンドエフェクタ等とも称されるツール9(
図5参照)が取り付けられる。このツール9は、例えばワーク(W。
図5参照)を把持する把持具や、ワーク(W)にねじを組み付けるドライバー等の工具等が想定される。
【0022】
さて、ロボット1の各軸には、アームを回転させる駆動源であるモータがそれぞれ設けられている。各モータは、コントローラ10によって回転角度が制御され、ロボット1の姿勢を変化させる。このうち、
図2に示すように、ベース2内には、第1軸を回転軸とする第1モータ20が、ハウジング21に収容された状態で設けられている。
【0023】
また、第1モータ20には、入力軸側の回転角度を検出する入力軸エンコーダ22、出力軸側の回転角度を検出する出力軸エンコーダ23、および伝達機構としての減速機24等が設けられている。なお、
図2では、説明の簡略化のために断面を示すハッチングは省略している。
【0024】
入力軸エンコーダ22は、第1モータ20の軸部材に接続されており、第1軸と同軸であって当該第1軸に垂直な平面内で回転するエンコーダディスク25と、エンコーダディスク25に光を照射するとともにその反射光を受光する検出素子26とを有している。
【0025】
なお、本実施形態では光源と受光素子とを単一パッケージに組み込んだ反射型のエンコーダを採用しているが、透過型のエンコーダを採用することもできる。この入力軸エンコーダ22は、第1モータ20の回転軸20aに取り付けられている。
【0026】
エンコーダディスク25は、周知のように複数のスリットが設けられており、回転することによって光を反射する部位と透過する部位とが検出素子26に対向する用に構成されている。そして、検出素子26によりスリットからの反射光を検出することにより、エンコーダディスク25の回転角度つまりは第1軸における入力側の回転角度が検出される。なお、入力軸エンコーダ22は、いわゆるインクリメント型やアブソリュート型のものを採用できる。
【0027】
これらエンコーダディスク25および検出素子26は、カバー27により覆われている。このカバー27は、耐熱性を高めるために設けられている耐熱構造物である。つまり、入力軸エンコーダ22は、熱対策やノイズ対策が施されている。
【0028】
検出素子26は、カバー27の内壁においてエンコーダディスク25と対向する位置に設けられている。ここで、エンコーダディスク25と対向する位置とは、エンコーダディスク25に設けられているスリットに対向する位置を意味している。このため、第1モータ20を回転駆動させた場合には、エンコーダディスク25が検出素子26に対して正対した状態で相対的に回転する。これにより、第1モータ20の入力軸側の回転角度が検出される。
【0029】
減速機24は、第1モータ20の軸部材の回転を減速して出力段つまりは出力軸に伝達する。本実施形態では、減速機24として波動歯車装置を採用している。なお、伝達機構としては、減速機24に限らず、第1モータ20の回転力を伝達するものであれば他の構造のものを採用することができるし、波動歯車装置に限らず他の機構のものを採用することができる。この減速機24の回転軸24aに、下アーム4が回転可能に接続される。
【0030】
出力軸エンコーダ23は、減速機24の出力側に設けられており、入力軸エンコーダ22と同様に、第1軸と同軸であって当該第1軸に垂直な平面内で回転するエンコーダディスク25と、エンコーダディスク25に光を照射するとともにその反射光を受光する検出素子26とを有し、出力軸側における第1軸の回転角度を検出する。このとき、出力軸エンコーダ23は、減速機24の回転軸24aに取り付けられている。
【0031】
つまり、第1軸では、入力軸側と出力軸側との双方において、回転角度を検出することが可能となっている。以下、入力軸エンコーダ22や出力軸エンコーダ23によって検出された回転角度を、角度検出値とも称する。これにより、入力軸側と出力軸側との角度検出値を用いて、高精度に回転角度を検出および設定することが可能になっている。
【0032】
また、図示は省略するが、第2軸にも、第1軸と同様に入力軸側と出力軸側とにそれぞれエンコーダが設けられた第2モータが設けられている。つまり、第2軸も、入力軸側と出力軸側との双方において角度検出値を検出することが可能になっている。
【0033】
以下、第2軸における入力軸側と出力軸側との角度検出値のずれ量、つまりは、回転方向におけるずれ量を、ねじれ角と称する。なお、第3軸から第6軸は、入力軸側の回転角度のみを検出可能な態様であってもよいし、出力軸側の回転角度も検出可能な態様であってもよい。
【0034】
次に上記した構成の作用について説明する。
図3に模式的に示すように、第1軸は、ロボット1の設置面に対して概ね垂直な向きに延びており、第2軸は、その第1軸に直交する向きに延びている。このため、本実施形態では、ベース2が第1の軸を有する第1のアームに相当し、ショルダ3が第2の軸を有する第2のアームに相当する。
【0035】
このとき、第2軸側の自重や第2軸側の姿勢変化によって、第1軸には、回転方向(R1)とは異なる非回転方向に外力がかかる。換言すると、第1軸は、第1軸を傾ける向きとなる非回転方向にモーメントがかかり、その結果、第1軸にたわみが生じることになる。このとき、
図3に示すように、第1軸のたわみ方向に加わるモーメント(N1)は、ベース2の下端側が固定されていることから第2軸に加わるねじれ方向のモーメント(N2)に等しくなる。
【0036】
さて、第1軸には、上記したように出力側エンコーダが設けられている。この出力軸エンコーダ23は、
図4(A)に示すように、たわみが生じていない場合には、減速機24の回転軸24aが傾かず、エンコーダディスク25と検出素子26とは互いに正対している。この場合、読み取り位置(P)は、二重線にて模式的に示す正しい位置となる。
【0037】
これに対して、第1軸にたわみが生じた場合には、
図4(B)に示すように、減速機24の回転軸24aが傾いて、エンコーダディスク25が検出素子26に対して正対しなくなる。この場合、読み取り位置(P)は、正しい位置がずれてしまい、その結果、角度検出値に誤差が生じる。そして、角度検出値に誤差が生じると、ツール9の先端位置の精度や負荷トルクの推定に誤差が生じてしまう。
【0038】
そして、第1軸は言わばロボット1の根元であることから、その根元がずれてしまうと、ツール9の先端位置が大きくずれてしまう可能性がある。そのため、第1軸に生じるたわみを検出し、そのたわみを補正することが重要となる。
【0039】
具体的には、
図5に示すように、例えばワーク(W)に対してツール9を垂直方向に押し付ける作業を想定する。なお、ツール9で把持したワーク(W)を垂直方向に押し付ける作業であってもよい。なお、
図5および後述する
図7は、説明の簡略化のために、ロボットを各軸と、軸同士を繋ぐリンクとにより模式的に示している。
【0040】
この場合、ロボット1は、垂直方向下向きに力(F)を加えると、加えた力とは逆方向に反力(Fb)を受ける。つまり、ロボット1は、垂直方向に外力を受ける。そして、その反力は、根元である第1軸に非回転方向のモーメントとなって現れる。
【0041】
このとき、垂直方向に外力を受けた場合には、第1軸にかかる非回転方向のモーメントは、ベース2の下端側が設置面に固定されていることから、第2軸の回転方向にかかる負荷トルクと第2軸側の自重によるモーメントとの和に一致することになる。
【0042】
そのため、第2軸にかかる回転方向の負荷トルクと、第2軸側の自重によるモーメントとを求めることができれば、第1軸にかかる非回転方向のモーメントを求めることができる。そして、第1軸にかかる非回転方向のモーメントを求めることができれば、そのモーメントによって第1軸が非回転方向に傾く角度、つまり、たわみ量を求めることができる。
【0043】
そこで、コントローラ10は、
図6に示す処理において、第1軸にかかる非回転方向のモーメントを取得し(S1)、第1軸のたわみ量を取得し(S2)、たわみ量に基づいて制御値を補正する(S3)。以下、各ステップの詳細について説明する。
まず、以下のように各パラメータを定義する。
【0046】
このうち、第1軸の回転中心と第2軸の回転中心との距離、および第2軸の回転中心とツール9の回転中心との距離は、
図7に示すように、第1軸(J1)、第2軸を設置面に投影した投影位置(J2’)、およびツール9の回転中心(Tc)との間の距離として定義される。
【0047】
このとき、第1軸の回転中心と第2軸の回転中心との距離は、第1軸と第2軸との距離が設計値として既知であるため、ロボットの姿勢から求めることができる。
【0048】
また、第2軸の回転中心とツール9の回転中心との距離は、一般的に第1軸を通る位置を原点として設定される制御座標系において、原点座標と制御値から求まるツール9の先端位置の座標とから求めること等ができる。
【0049】
さて、ロボット1が垂直方向に外力を受ける場合、第1軸にかかる非回転方向のモーメントは、第2軸にかかる回転方向の負荷トルクと、第2軸側の自重によるモーメントと、第1軸の回転中心から第2軸の回転中心までの距離と第2軸の回転中心からツール9の回転中心までの距離との比とから、以下の(1)式のように表される。
【0051】
この第1軸にかかる非回転方向のモーメントは、コントローラ10の制御部11でソフトウェア的に実現されているモーメント取得部によって取得される。
【0052】
そして、第1軸のたわみ量は、以下の(2)式で表される。なお、第1軸の非回転方向の剛性は、減速機24の仕様から求めることができる。あるいは、第1軸の非回転方向の剛性は、減速機24の仕様として公開されている。
【0054】
これら(2)式および(3)式から、第1軸のたわみ量は、以下の(3)式のように求めることができる。
【0056】
この第1軸のたわみ量は、コントローラ10の制御部11でソフトウェア的に実現されているたわみ量取得部によって取得される。
【0057】
さて、第2軸にかかる回転方向の負荷トルクは、周知のように電流値から求めることもできるが、本実施形態のように第2軸に入力軸エンコーダ22および出力軸エンコーダ23を設けている場合には、以下の(4)式に示すように、角度検出値の差分であるねじれ角(θ)から求めることができる。なお、第2軸のねじれ方向の剛性は、減速機24の仕様から求めることができる。あるいは、第2軸のねじれ方向の剛性は、減速機24の仕様として公開されている。
【0059】
また、第1軸の入力軸エンコーダ22および出力軸エンコーダ23の角度検出値の差分(β)は、以下の(5)式のように求めることができる。すなわち、第1軸にかかる非回転方向のモーメントが求まれば、第1軸における角度検出値の差分、つまりは、出力軸の角度検出値の誤差を求めることができる。
【0061】
このとき、比例定数は、ロボット1の設計値から求めた値を採用することもできるが、実測値を採用することもできる。具体的には、
図8に示すように、試験設備を用いて第1軸の出力軸にかかるモーメントを変化させていき、その際に出力軸に生じる出力軸角度誤差を測定し、その傾きを比例定数として採用することもできる。
【0062】
このように、第1軸にかかる非回転方向のモーメントは、第2軸にかかる回転方向の負荷トルクと、第2軸の自重によるモーメントと、第1軸の回転中心から第2軸の回転中心までの距離と第2軸の回転中心からツール9の回転中心までの距離との比とにより求めることができる。また、第1軸にかかる非回転方向のモーメントが求まれば、第1軸のたわみ量を、第1軸の非回転方向にかかるモーメントと、第1軸の非回転方向における剛性とにより求めることができる。
【0063】
そして、これらの結果を用いて制御値を補正することにより、ツール9の先端位置を高精度で位置決めすること、および、負荷トルクを高精度で推定することができる。この補正は、コントローラ10の制御部11でソフトウェア的に実現されている補正部によって行われる。
【0064】
具体的には、上記した(5)式のようにたわみ量から角度検出値の誤差を求めることができるため、出力軸エンコーダ23の出力値つまりは角度検出値を補正することができる。これにより、第1軸において出力軸側の回転角度を誤差なく正確に取得でき、位置決め精度を高めることができるとともに、位置がずれることによってワーク(W)の表面に傷を付けたり、ワーク(W)を破損したりするおそれを低減することができる。
【0065】
また、たわみ量を用いて第1軸における負荷トルクの推定値を補正することができる。これにより、必要な負荷トルクを高精度に特定することができ、過大な押し付け力が発生したり、押し付け力が不足したりするおそれを低減することができる。
【0066】
また、たわみ量を用いて、直接的にツール9の先端位置を補正することも可能となる。例えば、
図7の図示左方側にたわんだ場合には、そのたわみ量に対応する分だけ図示右方側にツール9の先端位置を移動させること等が可能になり、ツール9の先端位置を高精度で位置決めすることができる。すなわち、ロボット1の先端位置姿勢の誤差を補正できる。
【0067】
以上説明した実施形態によれば、次のような効果を得ることができる。
実施形態の補正方法は、第1軸に対してかかる非回転方向のモーメントを、第2軸にかかる回転方向の負荷トルクと、第2軸側の自重によるモーメントと、第1軸の回転中心から第2軸の回転中心までの距離と第2軸の回転中心からツール9の回転中心までの距離との比とにより求め、第1軸のたわみ量を、第1軸の非回転方向にかかるモーメントと当該第1軸の非回転方向における剛性とにより求め、たわみ量に基づいて制御値を補正する。
【0068】
これにより、力覚センサ等の追加部品を必要とすることなく、また、アームの剛性を高める必要がないことからロボット1の小型化や高速化あるいは軽量化等を阻害することなく、外力によって生じるたわみを補正することができる。
また、ツールの先端位置の高精度な位置決め、ツールの先端に加わる力の高精度な検出ができ、高い組み付け精度を必要とされる難易度の高い作業をロボットに行わせることができる。
【0069】
この場合、第2軸にかかる回転方向の負荷トルクを、当該第2軸の入力軸側および出力軸側でそれぞれ検出した角度検出値の差分と、当該第2軸に設けられている減速機24の剛性とにより求める。これにより、追加部品を必要とすることなく、第2軸にかかる回転方向の負荷トルクを求めることができる。
【0070】
そして、たわみ量を用いて第1軸の出力軸側で検出した角度検出値を補正することにより、実際の回転角度と検出値との誤差を少なくすることができ、回転角度を正確に制御することができる。
【0071】
また、たわみ量を用いて第1軸における推定負荷トルクを補正することにより、負荷トルクを高精度で推定することができ、過大な力が加わってワーク(W)が損傷したり、必要な力を発生できずに組み付けミスが生じたりすることを抑制することができる。
【0072】
また、たわみ量を用いてツール9の先端位置を補正することにより、ツール9の先端位置を高精度に位置決めすることができ、組み付け位置の間違いや、ワーク(W)の表面に傷を付けたりワーク(W)が破損したりすること等を抑制することができる。
【0073】
また、第1軸にかかる非回転方向のモーメントを求めるモーメント取得部と、第1軸のたわみ量を求めるたわみ量取得部と、たわみ量に基づいて制御値を補正する補正部と、を備えるコントローラ10によっても、力覚センサ等の追加部品を必要とすることなく、また、アームの剛性を高める必要がないことからロボット1の小型化や高速化あるいは軽量化等を阻害することなく、外力によって生じるたわみを補正することができる。
【0074】
(その他の実施形態)
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で各種の変形や拡張あるいは組み合わせを行うことができる。
【0075】
実施形態ではたわみ量を用いて直接的にツール9の先端位置を補正する例を示したが、たわみを検出しても補正しない条件を設ける構成とすることができる。すなわち、補正部は、インピーダンス制御を行っている最中には位置の補正を行わない構成とすることができる。
【0076】
例えば、
図7において、正確に位置決めされた状態でワーク(W)を押し付け、それによって生じた反力によってたわみが生じたとして、ツール9の先端位置は正しい位置になっていると考えることができる。
【0077】
そのため、
図7において図示左方側にたわんだからといって、たわみ量に対応する分だけツール9の先端位置を図示右方側に移動させると、つまりは、ツールの先端位置を補正してしまうと、ツール9の先端位置が正しい位置からずれてしまう可能性がある。また、ツール9がワーク(W)に押し付けられた状態であることから、ツール9によってワーク(W)の表面をかすったりする可能性がある。
【0078】
そのため、例えばインピーダンス制御を行っている最中は、たわみを検出しても位置の補正、特に加えている力に対して垂直な方向への位置の補正は行わない構成とすることができる。この場合、インピーダンス制御を行っているか否かは、例えばバネ等の部材により押し付け状態での外力を検出する受動的な外力検出部を設けたり、ロボット1に与えた制御値と実際の動作量との差分等から外力を検出する能動的な外力検出部を設けたりすることにより判定することができる。また、制御値からワーク(W)に到達したことを判定することもできる。
【0079】
実施形態では垂直多関節型ロボットを例示したが、水平多関節型ロボットに実施形態の補正方法を適用することができる。
【0080】
実施形態では、ベース2の回転軸(J1)を第1の軸とし、ショルダ2の回転軸(J2)を第2の軸とする例を示した、第1の軸および第2の軸は、これらに限定されない。すなわち、互いに直交している軸であれば、ロボット1の他の回転軸を第1の軸とし、それに直交する軸を第2の軸とし、その回転軸のたわみの算出や補正を行うことができる。