[第1実施形態]
図1は、第1実施形態に係るロボット装置500の斜視図である。図1に示すロボット装置500は、ロボット100と、ロボット100を制御するロボット制御装置300と、ロボット100を教示する教示ペンダント600と、を備える。ロボット100は、産業用ロボットである。ロボット制御装置300がロボット100を制御することにより、ロボット100に第1ワークW1を把持させ、第1ワークW1を第2ワークW2に組み付けて物品を製造する作業をロボット100に行わせる。教示ペンダント600は、ロボット制御装置300に接続可能に構成され、ユーザがロボット100の動作を教示する、即ち教示点を作成するのに用いられる。
ロボット100は、ロボットアーム101と、ロボットアーム101の先端に設けられたエンドエフェクタの一例であるロボットハンド102と、を有する。ロボットアーム101は、垂直多関節のロボットアームである。ロボットアーム101は、関節J1〜J6で連結されたリンク120〜126と、各関節J1〜J6に配置された駆動装置110とを備える。各駆動装置110は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
ロボットアーム101の基端であるリンク120は、固定端であり、架台150に固定されている。ロボットアーム101の先端であるリンク126は、自由端であり、ロボットハンド102が取り付けられている。ロボットハンド102は、複数のフィンガ104を有し、ワーク等を把持することができる。
ロボット制御装置300は、コンピュータで構成されており、不図示のCPUを有する。ロボット制御装置300は、物品を製造する、例えばワークW1をワークW2に組み付ける際に、ロボットアーム101の各関節J1〜J6にかかるトルクの値を取得して、ロボットアーム101を力制御する。
図2は、第1実施形態に係るロボットアーム101の関節J1に配置された駆動装置110の部分断面図である。図3は、図2に示す駆動装置110を分解した部分断面図である。以下、関節J1の駆動装置110を例に説明し、他の関節J2〜J6の駆動装置については、サイズや性能が異なるものもあるが、同様の構成であるため、説明を省略する。
駆動装置110は、第1リンクの一例である図1に示すリンク120と、第2リンクの一例である図1に示すリンク121との間に配置されている。駆動装置110は、駆動源の一例である電動のモータ13を有する。モータ13は、サーボモータであり、例えばブラシレスDCサーボモータやACサーボモータである。モータ13は、不図示の固定子が固定されたハウジング14と、不図示の回転子に接続された軸(以下、「回転軸」という)15と、を有する。また、駆動装置110は、モータ13の回転軸15の回転を減速して出力する減速機11を有している。モータ13には、回転軸15の回転角度を検出するエンコーダ50が設けられている。
駆動装置110は、第1部位の一例であって、図1に示すリンク120に固定される固定部材1を有する。固定部材1は、配線用の穴部59を有する。また、駆動装置110は、減速機11により固定部材1に対して回転される第2部位の一例であるベース部材3を有する。モータ13の回転軸15、及び減速機11の出力側のベース部材3、後述する弾性体4、及び図1に示すリンク121は、軸線L1を中心に回転する。即ち、軸線L1は、ベース部材3の回転軸線である。
減速機11は、いかなる減速機であってもよいが波動歯車減速機が好適であり、本実施形態では波動歯車減速機である。図4は、第1実施形態に係る減速機の正面図である。図2、図3、及び図4に示すように、減速機11は、モータ13の回転軸15に連結された、減速機の入力側の軸(入力軸)であるウェブジェネレータ16を有する。また、減速機11は、減速機の出力側の軸(出力軸)であるフレクスプライン17を有する。また、減速機11は、固定軸であるサーキュラスプライン18を有する。
固定部材1には、モータ13のハウジング14がボルトで固定されている。また、固定部材1には、サーキュラスプライン18と、クロスローラベアリング20の外輪とが固定されている。フレクスプライン17には、回転軸19が固定されている。回転軸19は、クロスローラベアリング20の内輪に固定されている。
回転軸19には、ベース部材3が固定されている。ベース部材3は、配線用の穴部60A及び60B(図3)を有する。なお、フレクスプライン17と回転軸19とが別体に構成されているが、一体であってもよい。また、回転軸19とベース部材3とが別体に構成されているが、一体であってもよい。また、これらフレクスプライン17、回転軸19及びベース部材3が一体であってもよい。
ウェブジェネレータ16は、楕円カム161と、楕円カム161の外周に設けられた転がり軸受け162とを有する。モータ13の回転軸15は、ウェブジェネレータ16の楕円カム161に接続されている。
フレクスプライン17は、カップ形状の薄肉の胴部171と、胴部171に設けられ、回転軸19が取り付けられる取付部172と、を有する。胴部171の外側には、周方向に複数の歯が設けられている。胴部171は、ウェブジェネレータ16によって楕円変形させられる。サーキュラスプライン18は、フレクスプライン17よりも歯数の多い内歯車である。
ウェブジェネレータ16は、フレクスプライン17を楕円形状に押し広げ、図4に示すように、サーキュラスプライン18と楕円カム161の長径方向の2箇所P,Qで噛み合わせる。フレクスプライン17は、ウェブジェネレータ16の1回転当たり2周期の割合で、径方向に繰り返し変位することになる。このとき、フレクスプライン17とサーキュラスプライン18の歯数が異なるので、ウェブジェネレータ16が1回転したとき、サーキュラスプライン18に対してフレクスプライン17が歯数の差だけ回転する。この波動歯車減速機の減速比Nは、例えば50である。
以上の構成により、モータ13の回転軸15が軸線L1まわりに回転すると、減速機11のウェブジェネレータ16が軸線L1まわりに回転し、固定部材1に対して、フレクスプライン17が減速されて軸線L1まわりに相対回転する。したがって、フレクスプライン17に固定された回転軸19、及び回転軸19に固定されたベース部材3が固定部材1に対して軸線L1まわりに相対回転する。減速機11の出力側の回転角度が、リンク120に対するリンク121の相対角度、即ち関節J1の回転角度となる。
更に、駆動装置110は、減速機11の出力側に配置される弾性体4を有する。弾性体4は、トルクを検出するのに用いる部材である。弾性体4は、ベース部材3に固定される外側リング28と、第3部位の一例である内側リング29と、弾性部の一例である複数の板ばね30と、を有する。図5は、第1実施形態に係る弾性体4の斜視図である。複数の板ばね30は、外側リング28と内側リング29とを連結するように軸線L1を中心とする周方向に互いに間隔をあけて配置されている。複数の板ばね30は、外側リング28の主面及び内側リング29の主面に対して垂直に設けられ、軸線L1を中心に放射状に配置されている。各板ばね30は、曲げ方向の剛性が他の方向よりも低い。即ち、各板ばね30は、図5中の座標系において、Z軸(軸線L1)まわりの回転方向θに柔らかく、X,Y軸まわりの回転方向及び並進方向には硬い。これにより、内側リング29は、外側リング28に対して複数の板ばね30の変形分、軸線L1まわりに相対変位する。図2に示すように、内側リング29は、出力部材5に固定されている。出力部材5は、図1に示すリンク121に固定される。図5に示す弾性体4の複数の板ばね30は、トルクを検出する方向である回転方向θ以外の方向の剛性が高いため、その方向の変形が小さくなり、測定誤差を小さくすることができる。
外側リング28及び内側リング29は、それぞれ取付部31を有する。取付部31は、ねじ止め用、又はピン止め用の穴である。
本実施形態では、駆動装置110は、図2に示す検出装置200を備えている。検出装置200は、関節J1の角度を検出するとともに、関節J1にかかるトルクを検出するものである。図6は、第1実施形態に係る検出装置200の斜視図である。検出装置200は、第1センサの一例である検出ヘッド71と、第1センサの一例である検出ヘッド72と、第2センサの一例である検出ヘッド91と、第2センサの一例である検出ヘッド92とを有する。図2及び図3には、検出ヘッド71及び72のうちの一方の検出ヘッド71と、検出ヘッド91及び92のうちの一方の検出ヘッド91と、が図示されている。
検出ヘッド71及び72は、関節J1の角度を検出するためのものである。検出ヘッド91及び92は、関節J1にかかるトルクを検出するためのものである。検出装置200は、配線板21を有する。配線板21は、例えばプリント配線板である。検出ヘッド71、72、91及び92は、配線板21に配置(実装)されている。配線板21は、本実施形態ではリング状に形成されており、第1主面である主面21Aと、主面21Aとは反対側の第2主面である主面21Bとを有する。検出ヘッド71及び72は、主面21Aに配置(実装)され、検出ヘッド91及び92は、主面21Bに配置(実装)されている。
検出装置200は、検出ヘッド71及び72に対向するように配置されたスケール6を有する。固定部材1に対するベース部材3の相対角度、即ち関節J1の回転角度は、可動範囲内で変化する。各検出ヘッド71及び72により関節の角度を広い範囲で検出するために、スケール6は、1周分必要であり、リング状に形成されている。スケール6には、周方向にパターンが形成されている。スケール6と検出ヘッド71及び72とにより、エンコーダ70が構成されている。エンコーダ70は、本実施形態ではロータリエンコーダである。エンコーダ70は、インクリメンタル式及びアブソリュート式のいずれであってもよいが、本実施形態ではインクリメンタル式のものである。また、エンコーダ70は、光学式、磁気式、及び静電容量式のいずれのものであってもよいが、本実施形態では光学式のものである。即ち、検出ヘッド71及び72の各々は、発光部及び受光部を有し、スケール6に光を照射して、スケール6からの反射光を受光する。各検出ヘッド71及び72は、光電変換して電気信号を出力する。
検出装置200は、検出ヘッド91及び92それぞれに対向するように配置されたスケール81及び82を有する。各検出ヘッド91及び92により検出するのは、弾性体4の板ばね50の変形量(例えば50μm)の分だけである。したがって、スケール81及び82は、円周の一部分だけでよい。スケール81及び82と検出ヘッド91及び92とにより、エンコーダ90が構成されている。エンコーダ90は、本実施形態ではロータリエンコーダである。エンコーダ90は、インクリメンタル式及びアブソリュート式のいずれであってもよいが、本実施形態ではインクリメンタル式のものである。また、エンコーダ90は、光学式、磁気式、及び静電容量式のいずれのものであってもよいが、本実施形態では光学式のものである。即ち、検出ヘッド91は、発光部231及び受光部241を有し、スケール81に光を照射して、スケール81からの反射光を受光する。検出ヘッド92は、発光部232及び受光部242を有し、スケール82に光を照射して、スケール82からの反射光を受光する。各検出ヘッド91及び92は、光電変換して電気信号を出力する。なお検出ヘッド91及び92は、実際にはスケール81及び82に対して円周方向に相対変位するものであるが、その変位量は微小(例えば50μm)であるため、直線方向の相対変位と見做しても差し支えない。したがって、エンコーダ90は、リニアエンコーダであってもよい。リニアエンコーダを用いれば、検出装置200の製造が容易となる。
各検出ヘッド71、72、91及び92は、本実施形態では同様の構成である。図6において、図示は省略しているが、各検出ヘッド71及び72は、各検出ヘッド91及び92と同様の発光部及び受光部を有する。
スケール6は、図2に示す固定部材1に固定して設けられている。配線板21は、図2に示すベース部材3に支持されており、本実施形態ではベース部材3に固定されている。したがって、各検出ヘッド71及び72は、固定部材1に対するベース部材3の相対変位に応じた信号を出力する。
スケール81及び82は、図2に示す弾性体4の内側リング29に固定して設けられている。したがって、各検出ヘッド91及び92は、ベース部材3に対する内側リング29の相対変位に応じた信号を出力する。
図6に示すように、検出装置200は、これら検出ヘッド71、72、91及び92から受けた信号を処理する機能、及びデータを送受信する機能を有する処理回路25を備えている。処理回路25は、1つの半導体パッケージで構成されており、配線板21に配置(実装)されている。配線板21には、ロボット制御装置300(図1)に電気的に接続された電源線及び信号線を含む配線27と電気的に接続するコネクタ26が配置(実装)されている。即ち、各関節に配置された検出装置200はロボット制御装置300に電気的に接続されている。
このように、検出ヘッド71、72、91及び92を1つの配線板21に集約することで、コネクタやケーブルを削減でき、検出装置200を小型化及びコストダウンすることができる。また、この配線板21に、これらの信号を処理する機能やデータを送受信する機能を有する処理回路25が配置されているので、コネクタやケーブルを削減でき、検出装置200を小型化及びコストダウンすることができる。
図2に示すように、ベース部材3は、配線板21を位置決めするための窪み部53を有する。この構造により、配線板21をベース部材3に固定する作業、例えばネジ止めするときの作業が簡便になる。ベース部材3は、検出ヘッド71とスケール6とを対向させるための穴54と、検出ヘッド72とスケール6とを対向させるための不図示の穴と、を有する。
図6に示すように、配線板21は、ベース部材3にねじ止め又はピン止めされる取付部22を複数有する。各取付部22は、ねじ穴又はピン穴である。
検出ヘッド71及び72は、軸線L1を中心とする仮想的な円周上に等間隔に、即ち軸線L1を中心に180度異なる箇所に配置されている。同様に、検出ヘッド91及び92は、軸線L1を中心とする仮想的な円周上に等間隔に、即ち軸線L1を中心に180度異なる箇所に配置されている。
図7は、第1実施形態に係る検出装置200のブロック図である。なお、図2に示すエンコーダ50は、減速機11の入力側の軸である回転軸15の回転に応じた信号を出力する第3センサの一例である検出ヘッド51と、検出ヘッド51に対向する不図示のスケールとからなる。エンコーダ50は、ロータリエンコーダである。エンコーダ50は、光学式、磁気式及び静電容量式のいずれであってもよい。また、エンコーダ50は、インクリメンタル式及びアブソリュート式のいずれであってもよいが、アブソリュート式が好ましい。
図7に示す処理回路25は、例えばマイクロコンピュータで構成されている。処理回路25は、CPU(Central Processing Unit)201を有する。また、処理回路25は、記憶部として、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、を有する。更に、処理回路25は、バス210と、複数のインタフェース211、212、213、214、215及び216と、を有する。CPU201、ROM202、RAM203、インタフェース211〜216は、互いに通信可能にバス210で接続されている。
CPU201は、各種の処理を実行する。ROM202は、CPU201に各種の処理を実行させるためのプログラム220を記憶する記憶装置、即ちプログラム220が記録された記録媒体である。RAM203は、CPU201の処理結果等、各種データを一時的に記憶する記憶装置である。
インタフェース211には、ロボット制御装置300が接続されている。CPU201は、インタフェース211を介してロボット制御装置300に検出結果を示す信号を送信する。
インタフェース212には、関節の角度を検出するための検出ヘッド71が接続されている。インタフェース213には、関節の角度を検出するための検出ヘッド72が接続されている。各インタフェース212及び213は、各検出ヘッド71及び72の発光部に光を点滅させる信号を送信するとともに、各検出ヘッド71及び72の受光部からの信号を受信して、CPU201に出力する。
インタフェース214には、関節のトルクを検出するための検出ヘッド91が接続されている。インタフェース215には、関節のトルクを検出するための検出ヘッド92が接続されている。各インタフェース214及び215は、各検出ヘッド91及び92の発光部に光を点滅させる信号を送信するとともに、各検出ヘッド91及び92の受光部からの信号を受信して、CPU201に出力する。インタフェース216には、モータ13の回転角度を検出するための検出ヘッド51が接続されている。インタフェース216は、検出ヘッド51の発光部に光を点滅させる信号を送信するとともに、検出ヘッド51の受光部からの信号を受信して、CPU201に出力する。このようにしてCPU201は、現在の位置情報を、所定の時間間隔で各検出ヘッド71、72、91、92及び51から取得する。
図8は、第1実施形態に係るロボット装置の制御システムのブロック図である。図7に示すCPU201は、プログラム220を実行することにより、図8に示すように、角度信号処理部251、トルク信号処理部252、及び角度信号処理部253として機能する。角度信号処理部251は、関節J1の角度、即ち固定部材1に対するベース部材3の相対角度の値を求める処理をする。トルク信号処理部252は、関節J1にかかるトルク、即ち弾性体4の外側リング28が固定されるベース部材3と、弾性体4の内側リング29が固定される出力部材5との間にかかるトルクの値を求める処理をする。角度信号処理部253は、減速機11の入力側の軸であるモータ13の回転軸15の回転角度の値を求める処理をする。CPU201は、これらの演算結果を、ロボット制御装置300に出力する。
ここで、検出ヘッド71及び72、即ち配線板21は、回転軸15の回転中心である軸線L1に対して偏心することがある。即ち、検出ヘッド71及び72における角度の測定中心が軸線L1に対してずれることがある。このずれを偏心誤差という。偏心誤差があると、関節の回転に伴い検出ヘッド71及び72の位置が変動する。
この偏心誤差の方向をφとし、大きさをδとする。さらに、検出ヘッド7
1及び7
2の取付け半径をR、関節の回転角度をθとすると、2つの検出ヘッドの検出値s
0及びs
180は以下の式となる。
上式の第2項が偏心誤差である。この2式を変形すると回転角度θは、以下の式となる。
この式のようにs0とs180とを平均することで、回転角度θにおいて偏心誤差を除去できる。つまり、検出ヘッド71及び72を対向配置することにより、偏心誤差を低減した角度検出が可能である。検出ヘッド91及び92についても同様の演算処理を行う。検出ヘッド91及び92で検出された角度θと、外側リング28、内側リング29、板ばね30で構成される弾性体4の剛性係数とを用いることで、トルクの値を算出することができる。
ところで、本実施形態では、減速機11の出力側に検出装置の検出ヘッド71、72、91及び92、並びに配線板21が配置されているため、これらの検出結果に減速機11の歪みによって変位する誤差が重畳する。特に、本実施形態では、減速機11が波動歯車減速機であるため、その誤差が顕著に現れる。
具体的に説明すると、ウェブジェネレータ16がフレクスプライン17を楕円形状に変形させて、楕円形状のフレクスプライン17の長径方向の2箇所でサーキュラスプライン18と噛み合わせる。ウェブジェネレータ16が回転することにより、フレクスプライン17が、ウェブジェネレータ16の1回転当たり2周期の割合で、半径方向に繰り返し変位することになる。その繰り返し変位が減速機11の出力側に固定されたベース部材3に伝達され、その結果、配線板21と共に各検出ヘッド71、72、91及び92が変位し、各検出ヘッド71、72、91及び92における検出誤差の原因となる。つまり、ウェブジェネレータ16の繰り返し変位が、減速機11の出力側に設けられた弾性体4へ伝達されるため、トルク伝達が無い状態にも関わらずトルクが発生しているように検出される。
図9(a)は、第1実施形態におけるトルクの検出誤差成分の値を示すグラフである。図9(b)は、第1実施形態において検出誤差成分を含むトルクの値を示すグラフである。図9(a)及び図9(b)において、横軸は減速機11の出力軸の回転角度の値、縦軸はトルクの値を示す。図9(a)は、関節に掛るトルクが0、即ち無負荷状態を示し、図9(b)は、関節に掛るトルクが3Nmの負荷状態を示す。なお、図9(a)及び図9(b)に示すトルクの値は、検出ヘッド91及び92からの信号に基づいて求めたトルクの値(検出値)である。また、図9(a)及び図9(b)に示す回転角度の値は、検出ヘッド71及び72からの信号に基づいて求めた角度の値である。
図9(a)に示すように、トルクの検出誤差成分の値は、減速機11の出力軸の回転角度の値に対して周期的に変化する波形(トルクリップル)となる。図9(a)では、トルクの検出誤差成分の値は、±1Nmの範囲で変化する。これに、関節へ3Nmの負荷を与えた場合、トルクの検出値は、図9(b)に示すように、トルク検出誤差成分が重畳されて3Nm(点線)を中心として誤差を含んだ値となる。
減速機11の減速比を50とすると、減速機11の入力軸の1回転当たり、出力軸が1/50回転することになる。つまり、減速機11の出力側に設けられた検出ヘッド71、72、91及び92が1周するのに対して2×50=100周期の検出誤差成分が現れる。そこで、本実施形態では、CPU201は、誤差成分を補正したトルクの値を求める。
以下、トルクの値を求める方法、即ちトルクの検出方法について説明する。CPU201は、現在値の角度情報から、以下のようにして補正されたトルクの値を求める。図10は、第1実施形態に係る検出方法を示すフローチャートである。なお、図7に示すROM202には、エンコーダ70の角度情報である相対角度の値と、トルク誤差成分である補正値との対応関係を示すデータ230が予め記憶されているものとする。即ち、データ230は、図9(a)に示すデータであり、予め実験又はシミュレーションにより求められたものである。このデータ230は、テーブルであってもよいし、演算式であってもよい。図11は、第1実施形態に係る処理部の一部の処理機能を示す機能ブロック図である。図11には、図8に示すトルク信号処理部252の機能を更に細分化して図示している。トルク信号処理部252は、演算処理部261、262及び263に分けられる。
角度信号処理部251は、エンコーダ70の各検出ヘッド71及び72から出力された信号を取得する(S1)。角度信号処理部251は、これら2つの検出ヘッド71及び72から取得した信号に基づいて、減速機11の出力側の角度である、固定部材1に対するベース部材3の相対角度の値Xoutを求める(S2)。また、演算処理部261は、エンコーダ90の各検出ヘッド91及び92から出力された信号を取得する(S3)。演算処理部261は、これら2つの検出ヘッド91及び92から取得した信号に基づいて、関節に作用するトルク、即ちベース部材3と内側リング29との間に作用するトルクの値Taを求める(S4)。このトルクの値Taには、図9(b)に示すように、誤差成分、即ちトルクリップルが含まれている。演算処理部262及び263は、トルクの値Taを相対角度の値Xoutに応じて補正する(S5)。ステップS5の処理を具体的に説明すると、演算処理部262及び263は、ROM202(図7)に記憶されたデータ230に基づく、相対角度の値に対応する補正値ΔTで、トルクの値Taを補正する。即ち、演算処理部262は、データ230を照合し、ステップS2で求めた角度の値Xoutに対応する補正値ΔTのデータを読み出す。そして、演算処理部263は、ステップS4で求めたトルクの値Taから補正値ΔTを減じる。なお、ROM202に記憶させておく補正値の正負の符号を逆にしておく、即ち図9(a)に示すデータを180度、逆の位相にしておけば、ステップS4で求めたトルクの値Taに補正値ΔTを加算すればよい。
図9(c)は、補正後のトルクの値Tを示すグラフである。図9(c)に示すように、補正後のトルクの値Tは、トルクリップルが除かれた波形となる。演算処理部263は、ロボット制御装置300に補正後のトルクの値Tを出力する(S6)。ロボット制御装置300は、図1に示すワークW1をワークW2に組み付けるよう、取得したトルクの値Tに応じてロボットアーム101を制御する。これにより、ワークW1がワークW2に組み付けられ、物品が製造される。
ロボットアーム101の各関節J1〜J6にかかる負荷は、リンク等の負荷、組立時の負荷などにより無負荷ではない。さらに、各関節J1〜J6にかかる負荷は、ロボットアーム101の姿勢などによって絶えず変化する。減速機11は、負荷に応じて弾性変形するため、減速機11の入力軸の回転角度が同じであっても、減速機11の出力軸の回転角度は負荷に応じて異なる。
本実施形態では、トルクの補正に用いる位置情報が、減速機11の出力側に配置されたエンコーダ70からの信号に基づく情報である。エンコーダ70及びエンコーダ90は、減速機11の出力側に設けられており、負荷に応じて変化する位置情報はエンコーダ70の出力結果に現れる。つまり、負荷に変化を含んだ情報でトルクの値を補正できるため、より高精度にトルクの検出誤差成分を除去することができ、高精度にトルクの値を求めることができる。
検出ヘッド71及び72と検出ヘッド91及び92は、同じベース部材3に配線板21を介して固定されている。したがって、減速機11の変形による影響が、検出ヘッド71及び72と検出ヘッド91及び92に同じように現れることになる。また、軸線L1の方向に視て、検出ヘッド71と検出ヘッド91とが重なるように配置され、検出ヘッド72と検出ヘッド92とが重なるように配置されている。このため、ベース部材3及び配線板21の熱膨張による変位が、検出ヘッド71と検出ヘッド91に同じように現れ、検出ヘッド72と検出ヘッド92に同じように現れる。このため、周囲環境(例えば、温度又は湿度)の影響を含んだエンコーダ70の出力を基に、周囲環境の影響を含んだエンコーダ90の出力から減じることができる。結果として、周囲環境の影響を除いた出力補正が可能となり、環境に対しても高精度にトルクの値を求めることができる。
本実施形態では、軸線L1の方向に視て、検出ヘッド71と検出ヘッド91とが重なるように配置され、検出ヘッド72と検出ヘッド92とが重なるように配置されている。このため、トルクの値Taから補正値ΔTを減算(又は加算)するだけの単純な補正演算を行うだけでよく、複雑な位相演算を行う必要がない。なお、軸線L1の方向に視て、検出ヘッド71と検出ヘッド91との相対位置が一致しているのが好ましいが、僅かにずれていてもよい。検出ヘッド71と検出ヘッド91とのずれ量は、軸線L1を中心に±5度以内であるのが好ましい。検出ヘッド72と検出ヘッド92についても同様である。
更に、本実施形態では、検出ヘッド71及び72と検出ヘッド91及び92とが同一構成である。よって、デバイス特有の特性、例えば温度ドリフト特性が同様となり、高精度にトルクの値を求めることができる。また、リンクの位置と、リンクにかかっているトルクを同一構成の検出装置を用いて算出するため、位置とトルクの両方を算出しつつ、トルクの算出に関しては、減速機に起因するトルクリップルの誤差を補正することができる。
トルクの値が高精度になるため、このトルクの値を用いたロボット制御装置300におけるロボットアーム101の力制御が安定化する。安定したロボットアーム101の力制御が実現されるので、安定して物品を製造することができる。また、安定して力制御を行うことができるので、ロボットにより物品を製造する作業時間を短縮することができる。
[第2実施形態]
第2実施形態に係る検出装置について説明する。図12は、第2実施形態に係る検出装置200Aの斜視図である。第1実施形態では、軸線L1の方向に視て、検出ヘッド71と検出ヘッド91とが重なるように配置され、検出ヘッド72と検出ヘッド92とが重なるように配置されている場合について説明した。第2実施形態では、これら検出ヘッドの配置関係が第1実施形態と異なり、それ以外の構成は、第1実施形態と同様である。このため、第1実施形態と同様の部分については、説明を省略する。
検出装置200Aは、第1実施形態と同様、エンコーダ70と、エンコーダ90とを有する。エンコーダ70は、第1センサの一例である検出ヘッド71と、第1センサの一例である検出ヘッド72とを有する。エンコーダ90は、第2センサの一例である検出ヘッド91と、第2センサの一例である検出ヘッド92とを有する。各検出ヘッド71及び72は、第1実施形態と同様、配線板21の主面21Aに配置されている。各検出ヘッド91及び92は、第1実施形態と同様、配線板21の主面21Bに配置されている。
第2実施形態では、軸線L1の方向に視て、検出ヘッド71と検出ヘッド91とが、ベース部材3の回転方向に略90度ずれるように配置され、検出ヘッド72と検出ヘッド92とが、ベース部材3の回転方向に略90度ずれるように配置されている。即ち、検出ヘッド71と検出ヘッド91とが、軸線L1を中心に略90度ずれるように配置されている。また、検出ヘッド72と検出ヘッド92とが、軸線L1を中心に略90度ずれるように配置されている。ここで、略90度とは、90度である場合と、90度に対して僅かにずれた角度である場合を含むものである。このずれ量は、±5度以内であるのが好ましい。即ち、略90度は、90度±5度の範囲内であるのが好ましい。
図13は、第2実施形態におけるトルクの検出誤差成分の値を示すグラフである。図13において、横軸は減速機11の出力軸の回転角度の値、縦軸はトルクの値を示す。図13は、関節に掛るトルクが0、即ち無負荷状態を示す。なお、図13に示すトルクの値は、検出ヘッド91及び92からの信号に基づいて求めたトルクの値(検出値)である。また、図13に示す回転角度の値は、検出ヘッド71及び72からの信号に基づいて求めた角度の値である。
図13に示すように、トルクの検出誤差成分の値は、減速機11の出力軸の回転角度の値に対して周期的に変化する波形(トルクリップル)となる。図13では、トルクの検出誤差成分の値は、±1Nmの範囲で変化する。第2実施形態では、エンコーダ70とエンコーダ90との配置関係が、第1実施形態と90度異なるため、図13に示す波形は、図9(a)に示す波形に対して180度ずれた逆位相の波形となる。
本実施形態では、図7のROM202に記憶させたデータ230は、図13の関係にある。このため、CPU201は、図10のステップS5において、ステップS4で求めたトルクの値Taに、データ230に基づく補正値ΔTを加算することにより、補正したトルクの値Tを求める。なお、ROM202に記憶させておく補正値の正負の符号を逆にしておく、即ち図13に示すデータを180度、逆の位相にしておけば、ステップS4で求めたトルクの値Taから補正値ΔTを減算すればよい。
このように、エンコーダ70とエンコーダ90との配置関係が、第1実施形態と90度異なっても、第1実施形態と同様、高精度にトルクの値を求めることができる。
[第3実施形態]
第3実施形態に係る検出装置について説明する。なお、第3実施形態における検出装置のハードウェア構成は、第2実施形態における検出装置と同様である。第3実施形態では、CPU201(図7)の処理内容、即ちプログラム220の内容が異なる。したがって、検出装置のハードウェア構成については、説明を省略する。第3実施形態では、第1実施形態で説明した図10に示すフローチャートのステップS5の補正処理が第1実施形態と異なる。図14は、第3実施形態に係る処理部の一部の処理機能を示す機能ブロック図である。第3実施形態では、図8に示すトルク信号処理部252の処理に代わって、図14に示すトルク信号処理部252Bの処理を行う。図14には、トルク信号処理部252Bの機能を更に細分化して図示している。トルク信号処理部252Bは、演算処理部261、262A、262B及び263に分けられる。
第3実施形態では、図2に示す減速機11の入力軸が一定の角度に保持されているものと見做せる場合について説明する。減速機11の出力側にトルク負荷が加えられると、減速機11が変形する。その変形量は出力側に配置されたエンコーダ70で検出可能である。
具体的に説明すると、図14に示す演算処理部262Aは、角度信号処理部251から相対角度の値Xoutを取得して、ある基準値に対する変位量ΔXを求める。演算処理部262Bは、変位量ΔXを、減速機11の剛性係数Kに基づいて、トルクの値に換算して補正値ΔTとする。補正値ΔTはK×ΔXで求めることができる。剛性係数Kは、定数であり、予めROM202に記憶されている。そして、演算処理部263は、トルクの値Taに補正値ΔTを加算することにより、補正したトルクの値Tを求めることができる。
このように、トルク信号処理部252Bは、相対角度の値Xout、及び減速機11の剛性係数Kに基づいて、トルクの値Taを補正して、トルクの値Tを求める。減速機11が波動歯車減速機である場合、その剛性は低いため、補正に必要な十分な感度でトルクの値Tを計測することができる。
なお、第3実施形態では、第2実施形態の図12に示すように検出ヘッド71、72、91及び92を配置した場合について説明したが、第1実施形態の図6に示すように検出ヘッド71、72、91及び92を配置してもよい。この場合、演算処理部263は、トルクの値Taから補正値ΔTを減算することにより、補正したトルクの値Tを求めることができる。
[第4実施形態]
第4実施形態に係る検出装置について説明する。なお、第4実施形態における検出装置のハードウェア構成は、第2実施形態における検出装置と同様である。第4実施形態では、CPU201(図7)の処理内容、即ちプログラム220の内容が異なる。したがって、検出装置のハードウェア構成については、説明を省略する。
第3実施形態では、図2の減速機11の入力軸が一定の角度に保持されているものと見做せる場合について説明した。つまり、第3実施形態で説明した方法は、ロボットアーム101の関節をほとんど動作させない状況に限られる。このような状況の例としては、ロボットアームを力制御して組立作業を行う場合において、組立開始時を荷重のゼロ点としてリセットする場合、力制御による組立の対象が金属等の剛体である場合などである。
第4実施形態では、図2の減速機11の入力軸の角度が一定であるか否かに関係なく、トルクの値を求める場合について説明する。第4実施形態では、第1実施形態で説明した図10に示すフローチャートのステップS5の補正処理が第1実施形態と異なる。図15は、第4実施形態に係る処理部の一部の処理機能を示す機能ブロック図である。第4実施形態では、図8に示すトルク信号処理部252の処理に代わって、図15に示すトルク信号処理部252Cの処理を行う。図15には、トルク信号処理部252Cの機能を更に細分化して図示している。トルク信号処理部252Cは、演算処理部261、262C、262B及び263に分けられる。
本実施形態では、エンコーダ50は、アブソリュート型のロータリエンコーダであるのが好ましい。エンコーダ50は、図7に示す検出ヘッド51のほか、回転総数をカウントする不図示のカウンタ、及び不図示のカウンタに電力を供給する不図示のバックアップ電池を有している。このエンコーダ50により、減速機11の入力軸の回転角度、即ちモータ13の回転軸15の回転角度を検出することができる。
減速機11の出力側にトルク負荷が加えられると、減速機11が変形する。その変形量は、減速機11の入力側に配置されたエンコーダ50と、出力側に配置されたエンコーダ70とで検出可能である。
具体的に説明すると、図15に示す角度信号処理部253は、エンコーダ50により出力された信号を取得して、モータ13の回転軸15の回転角度の値Xinを求める。角度信号処理部251は、第1実施形態と同様、相対角度の値Xoutを求める。演算処理部262Cは、回転角度の値Xinと、相対角度の値Xoutとを取得して、減速機11における変位量ΔXを求める。具体的には、減速機11の減速比をNとすると、変位量ΔXは、Xout−Xin/Nで求まる。例えば、減速比Nを50とすると、変位量ΔXは、Xout−Xin/50で求めることができる。減速比Nのデータは、予め図7のROM202に記憶されている。演算処理部262Bは、変位量ΔXを、減速機11の剛性係数Kに基づいてトルクの値に換算して補正値ΔTとする。補正値ΔTはK×ΔXで求めることができる。剛性係数Kは、定数であり、予めROM202に記憶されている。そして、演算処理部263は、トルクの値Taに補正値ΔTを加算することにより、補正したトルクの値Tを求めることができる。
このように、トルク信号処理部252Cは、回転角度の値Xin、相対角度の値Xout、減速機11の剛性係数K、及び減速比Nに基づいて、トルクの値Taを補正して、トルクの値Tを求める。減速機11が波動歯車減速機である場合、その剛性は低いため、補正に必要な十分な感度でトルクの値Tを計測することができる。
ロボットアームの力制御による物品の組立時に、ロボットアームの関節が比較的大きな移動量となる場合、例えば組立の対象ワークがスポンジ等の柔軟物の場合であっても、高精度にトルクの値Tを求めることができる。よって、ロボットアームの力制御が安定し、安定して物品を製造することができる。
なお、第4実施形態では、第2実施形態の図12に示すように検出ヘッド71、72、91及び92を配置した場合について説明したが、第1実施形態の図6に示すように検出ヘッド71、72、91及び92を配置してもよい。この場合、演算処理部263は、トルクの値Taから補正値ΔTを減算することにより、補正したトルクの値Tを求めることができる。
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
上述の実施形態では、ロボットアーム101が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアームであってもよい。
上述の実施形態では、コンピュータ読み取り可能な記録媒体がROM202であり、ROM202にプログラム220が格納される場合について説明するが、これに限定するものではない。プログラム220は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム220を供給するための記録媒体としては、図7に示すROM202のほか、記録ディスク、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。
上述の実施形態では、処理回路25がロボットアームに搭載される場合について説明したが、これに限定するものではない。例えば、ロボット制御装置に搭載される場合、又はロボットアーム及びロボット制御装置とは別の制御ユニットに搭載される場合であってもよい。
上述の実施形態では、検出ヘッド71、72、91、92、及び51の信号の処理を、1つの処理回路25(CPU201)が行う場合について説明したが、これに限定するものではなく、複数の処理回路(CPU)で分担して行ってもよい。その際、複数の処理回路を同じ配線板21に配置してもよいし、一部又は全部の処理回路を配線板21とは別の配線板に配置してもよい。例えば、検出ヘッド71及び72の信号を処理する回路と、検出ヘッド91及び92の信号を処理する回路とを別々の半導体パッケージ(CPU)で構成してもよい。その際、2つの配線板のそれぞれに半導体パッケージを配置し、2つの配線板同士をケーブルで接続するように構成してもよい。また、検出ヘッド51は、検出ヘッド71、72、91及び92対して離れた位置、具体的にはモータ13に配置されている。したがって、検出ヘッド71、72、91及び92の信号を処理する回路(CPU)と、検出ヘッド51の信号を処理する回路(CPU)とに分けてもよい。
上述の実施形態では、補正後のトルクの値Tをそのままロボット制御装置300に出力する場合について説明したが、これに限定するものではない。例えば、トルクの値Tに対して、更に別の補正処理を施してから、ロボット制御装置300に出力するようにしてもよい。
また、処理回路25は、ロボット制御装置300の処理負荷の低減、及びノイズ低減のために、検出ヘッド71、72、91及び92の近傍であるロボットアーム101の関節に配置されているのが好ましいが、これに限定するものではない。例えば処理回路25がロボット制御装置300に配置されていてもよい。また、処理回路25の処理の一部又は全部を、ロボット制御装置300のCPUに行わせてもよい。処理回路25の処理の全部を、ロボット制御装置300のCPUに行わせる場合、処理回路25を省略してもよい。
また、検出ヘッド71及び72がベース部材3の側に配置される場合について説明したが、これに限定するものではなく、固定部材1の側に配置されてもよい。この場合、スケール6はベース部材3の側に配置すればよい。いずれにしても、固定部材1に対するベース部材3の相対変位に応じた信号を検出ヘッド71及び72から取得可能である。
また、検出ヘッド91及び92がベース部材3の側に配置される場合について説明したが、これに限定するものではなく、内側リング29の側に配置されてもよい。この場合、スケール81及び82はベース部材3の側に配置すればよい。いずれにしても、ベース部材3に対する内側リング29の板ばね30の弾性変形による相対変位に応じた信号を検出ヘッド91及び92から取得可能である。
また、トルクの値を補正する一連の処理を、ソフトウェアで実現する場合について説明したが、これに限定するものではなく、一連の処理の一部又は全部をハードウェアで実現してもよい。
上述の実施形態では、リンク120と固定部材1とが別体で構成される場合について説明したが、これに限定するものではなく、リンク120と固定部材1とが連結されていればよく、一体物であってもよい。また、リンク121と出力部材5とが別体で構成される場合について説明したが、これに限定するものではなく、リンク121と出力部材5とが連結されていればよく、一体物であってもよい。また、出力部材5と弾性体4の内側リング29とが別体に構成される場合について説明したが、これに限定するものではなく、出力部材5と内側リング29とが連結されていればよく、一体物であってもよい。また、出力部材5を省略して、リンク121が直接、内側リング29に連結されていてもよい。
また、上述の実施形態では、第1センサの一例として2つの検出ヘッド71及び72がある場合について説明したが、2つに限定するものではなく、例えば一方の検出ヘッドが省略されていてもよい。同様に、第2センサの一例として2つの検出ヘッド91及び92がある場合について説明したが、2つに限定するものではなく、例えば一方の検出ヘッドが省略されていてもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述した実施形態では、ロボット装置500が複数の関節を有する多関節ロボットアームを用いた場合を説明したが、関節の数はこれに限定されるものではない。ロボット装置の形式として、垂直多軸構成を示したが、パラレルリンク型など異なる形式の関節においても上記と同等の構成を実施することができる。
また、ロボット装置500の構成例を各実施形態の例図により示したが、これに限定されるものではなく、当業者において任意に設計変更が可能である。また、ロボット装置500に設けられる各モータは、上述の構成に限定されるものではなく、各関節を駆動する駆動源は例えば人工筋肉のようなデバイス等であってもよい。
また上述した実施形態は、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる機械に適用可能である。