(57)【特許請求の範囲】
【請求項１】
ロボットの振動を検出する加速度センサを設置する際のセンサ位置決定方法であって、
ベースに対して所定の取り付け位置に取り付けられているとともに当該ベースに対して相対的に動作するアームにおいて、前記取り付け位置よりも前記アームの先端側であって、前記取り付け位置を通り当該アームに沿った方向に延びる仮想的な線上の位置を、当該アームの動作方向とは異なる向きに生じる揺れとねじれに起因する非動作方向振動を検出する複数の前記加速度センサを設置するセンサ位置として決定するセンサ位置決定方法。
【請求項２】
ベースに取り付けられ、当該ベースに対して相対的に動作するアームと、
前記アームにおいて前記ベースとの取り付け位置よりも当該アームの先端側の位置であって、当該取り付け位置を通り当該アームに沿った方向に延びる仮想的な線上の位置に設けられ、当該アームの動作方向とは異なる向きに生じる揺れとねじれに起因する非動作方向振動を検出する加速度センサと、を備え、
前記加速度センサは、前記仮想的な線上に位置して複数設けられているロボット。
【請求項３】
前記ロボットは、
前記ベースに取り付けられ、当該ベースに対して第１軸を中心として回転する第１アームと、
前記第１アームに取り付けられ、当該第１アームに対して第２軸を中心として回転する第２アームと、
前記第２アームに取り付けられ、当該第２アームに対して上下移動および回転するシャフトと、を有する水平多関節型ロボットであり、
複数の前記加速度センサは、前記第１アームにおいて、前記第１軸よりも前記第２軸側であって、当該第１軸と当該第２軸とを通る仮想的な線上に位置して設けられている請求項２記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの振動を検出するセンサを設置する際のセンサ位置決定方法、ロボットに関する。
【背景技術】
【０００２】
ロボットの制御分野では、モデル化したロボットの動作を予めシミュレーションし、所望のシミュレーション結果、例えば所望の振動抑制効果を得られた制御内容を実際のロボットに適用することが一般的に行われている。また、ロボットの振動を抑制する振動抑制制御についても様々な検討がなされており、例えば特許文献１、２では、振動を抑制しながらロボットを動作させることができる制御装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０３８６５９号公報
【特許文献２】特許第５４１１６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、シミュレーション上では所望の振動抑制効果が得られた制御内容を実際のロボットに適用した場合、シミュレーション通りの性能を発揮できないことがある。具体的には、シミュレーション上では現れなかった振動が、誤差として扱うには大きすぎるレベルで生じることがある。なお、ここではロボットの手先の振動、例えば４軸の水平多関節ロボット（ＳＣＡＲＡ（Selective  Compliance  Assembly  Robot  Arm）型ロボット）であれば、ボールねじスプライン等のシャフトの先端部分の振動を想定している。
【０００５】
このとき、振動を検出するセンサをロボットの手先に設けることができれば、振動を直接的に検出できるため、振動を抑制するための制御を正しく行うことができると考えられる。なお、振動を検出するセンサとしては、加速度、速度、傾き、慣性等、振動を直接的または間接的に検出できるものであればよい。
【０００６】
しかしながら、ロボットの手先にセンサを設けることは、一般に想像するよりも困難である。
例えば有線式のセンサをロボットの手先に設ける場合には、上記したように手先がシャフトの先端に位置していることから、センサ用のケーブルをアームおよびシャフトを経由させて配線する必要がある。このとき、単にケーブルを配線すれば良いという訳ではなく、各アームの回転やシャフトの回転および上下動からケーブルを保護するために、いわゆるケーブルリール等の保護部材が必要となる。つまり、センサを手先に設けること自体は比較的容易であったとしても、そのケーブルの取り回しや保護部材の設置といった配線構造が複雑化するという問題がある。
【０００７】
一方、無線式のセンサを用いれば、配線構造の複雑化を回避することができると考えられる。しかし、無線式のセンサを手先に設けた場合、ロボットの動作中にセンサへ給電あるいは充電することが容易ではないことに加えて、ノイズによって無線通信が断続するおそれがある。そして、通信が断続した場合にはロボットの制御そのものができなくなるという問題がある。
【０００８】
そして、根本的な問題として、ロボットの手先の振動がどのようなメカニズムで生じているのかが不明であるため、ロボットのどの位置でどのような物理量を検出すれば手先の振動に相関した振動を検出できるのかが不明なことが挙げられる。
【０００９】
本発明は上記事情に鑑みてなされたものであり、その目的は、センサを設ける際の配線構造が複雑化することを防止しつつ、従来のシミュレーションには現れない振動を検出することができるセンサ位置決定方法、ロボットを提供することにある。
【課題を解決するための手段】
【００１０】
さて、ロボットの制御分野では、モータとアーム間の減速機に存在するバネ要素による振動モードを考慮したいわゆる２慣性系のシミュレーションが利用されている。この振動モードは、減速機等の動力が伝達していく動力伝達機構における動作方向の剛性に起因する振動である。また、２慣性系のシミュレーションは、広く利用されており、その有効性は認知されていると考えられる。
【００１１】
このとき、アームの剛性等の機械的数値はシミュレーション条件に当然盛り込まれており、実際のロボットは、そのシミュレーション条件を満たすような機械的数値の範囲で設計されている。それにも関わらずロボットに振動が生じるということは、従来の２慣性系で考慮されていた振動モードとは異なる振動モードが存在していると考えられる。
【００１２】
そして、発明者らは、振動を生じさせる原因の調査を重ねた結果、実際のロボットでは、２慣性系の振動モードにおける動力伝達機構の動作方向の剛性による振動（以下、便宜的に動作方向振動と称する）以外にも、動力伝達機構の動作方向とは異なる振動（以下、便宜的に非動作方向振動と称する）が存在していることを見いだした。つまり、動作方向とは異なる向きの非動作方向振動がシミュレーションには現れなかった振動の原因であることを突き止めるとともに、その非動作方向振動によってロボットの可動部側が全体的に動作方向以外にも揺れて、その結果、手先に振動が生じていることを見いだした。
【００１３】
ところで、もしも非動作方向振動の存在が今まで認知されていたならば、非動作方向振動に対処するための制御方法が検討されているはずである。しかし、実際には、非動作方向振動の存在を示唆するような考察や非動作方向振動を抑制するための制御方法等は検討されていない。つまり、非動作方向振動は、今まで認知されていなかったと考えられる。そのため、発明者らは、なぜ今まで非動作方向振動が考慮されていなかったのかについて考察した。
【００１４】
最初期の産業用のロボットは、近年のロボットと比べて、格段にアームやギアあるいは軸受け部材などが相対的に太く且つ頑丈であった反面、アームおよび可動部分の全体の重量が相対的に大きかった。２慣性系の場合、共振周波数は、慣性（つまり重量）の逆数の平方根に比例することから、動作方向振動の共振周波数は低くなる。その一方で、アームを構成する部材等は非常に高剛性に作られており、非動作方向共振が存在していたとしても、その共振周波数は高くなっていたと考えられる。
【００１５】
一般的に、複数の共振が存在する場合、低い共振周波数を持つ共振による影響が支配的となる場合が多い。つまり、非動作方向共振は、共振周波数が相対的に高かったことから、アームの位置応答や速度応答へ与える影響は無視できるほど小さかったと考えられる。また、発明者らの研究の結果、非動作方向振動の発生原因には例えば遠心力のように非動作方向に加わる力の存在があることが判明したが、最初期のロボットは、近年のロボットに比べて動作速度が相対的に遅かったため、遠心力による影響は無視できるほど小さかったと考えられる。
【００１６】
これに対して、近年のロボットでは、アームを太く頑丈にする方向から、細く軽量化する方向へとその設計が変化してきている。つまり、アームが軽量化されてきた反面、アームを構成する部材は、最初期のロボットに比べれば低剛性化している。なお、低剛性化しているとはいっても、柔軟アームと呼ばれるようなアーム自体が捻れてしまうような状態ではなく、例えばクロスローラなどの軸支持部で、その回転軸以外の方向に微少振動が発生しているということである。
【００１７】
そのため、複数の共振が存在している状態において支配的な共振が最初期のロボットとは入れ替わってきた、あるいは、両者の共振が近い共振周波数となって互いに影響し合うような状態になってきたと考えられる。さらに、近年のロボットの場合、最初期のロボットと比べてその動作速度が格段に高速化されており、速度の２乗に比例する遠心力の影響がより顕著に現れてきたと考えられる。
【００１８】
例えば４軸の水平多関節型ロボットの場合であれば、３軸目（シャフトに相当する）を上下方向（Ｚ方向）へ直動する支持部が、例えば２軸目（第２アームに相当する）の動きに連動して振動してしまう現象が確認されている。この場合、軸間干渉による振動のようにシャフトの移動方向への振動（動作方向振動に含まれる）とは異なる振動、具体的には、第２アームの円周方向（第２アームの動作方向）や第２アームの直径方向（第２アームに加わる遠心力の方向）への振動が発生している。なお、６軸の垂直多関節型ロボット（ＰＵＭＡ（Programmable  Universal  Manipulation  Arm）型ロボット）や、いわゆる７軸ロボット等の他の構成のロボットにおいても、これに類似する現象により、非動作方向振動が発生している。
【００１９】
また、産業用のロボットにおいては、複数のアームが連結してロボットを構成することが多いため、ある軸が振動した結果、別の軸が干渉して振動するといった現象が発生する。このため、振動特性自体が単純な２慣性系モデルのようにはっきりとしたものとはならならず、複数の共振振動が周波数特定に現れること、また、周波数特性に現れる共振周波数と実際の振動波形に現れる共振周波数とに僅かな相違があることがある。そのため、非動作方向振動が存在していたとしても、非動作方向振動が原因となっていることを突き止めることが困難であったと考えられる。
【００２０】
さらに、動作方向振動と非動作方向振動とでは振動周波数が異なることが多いものの、減速機として例えば波動歯車装置を用いている場合には、その剛性が入力されるトルクに応じて変化することが知られている等、モデル化誤差の原因となる要素が様々であることから、誰も非動作方向振動に想到することがなく、単に誤差として扱われていたものと考えられる。
【００２１】
このような事情によって、シミュレーション上で現れた振動のうち最も影響度の大きいものを動作方向振動として扱い、それ以外は他の軸からの干渉などの誤差として扱っていたことから、非動作方向振動についての検討がなされてこなかったものと考えられる。つまり、最初期のロボットでは非動作方向振動がそれほど顕著ではなく、また、近年のロボットでは非動作方向振動が誤差として扱われていたことが、非動作方向振動が認知されていなかった理由であると推測された。
【００２２】
そして、このような非動作方向振動の存在は、従来のシミュレーションの前提条件であった２慣性系モデルや、干渉を含めた２慣性系モデルを拡張した例えば特許文献１でいう４慣性モデル等の制御モデルでは実際のロボットの振動特性をそもそも表現しきれていなかったことを示しており、極めて重大な技術的意義をもっている。
【００２３】
さて、非動作方向振動の存在が判明したのであれば、その非動作方向振動に起因して生じる振動を抑制するような制御を行えば、シミュレーションには現れなかった手先に生じる振動を抑制することができると考えられる。
【００２４】
近年のロボットの場合、例えば静止しているアームを高速で回転動作させて停止させたときのような回転方向に生じる残留振動（動作方向振動）は、エンコーダにより検出できることから、モータに逆トルクをかけることで動作方向振動を収束させることができる。しかし、近年のロボットであっても、非動作方向振動が考慮されていなかったため、回転方向以外の振動を検出する手段をそもそも備えておらず、また、非動作方向振動の検出自体ができていないことから、その非動作方向振動を収束させる制御も行うこともできない構成となっている。
【００２５】
この場合、ロボットの手先に振動を検出するセンサを設ければ非動作方向振動を含む振動を収束させるための制御を行うことができるものの、前述したように、ロボットの手先にセンサを設けることは困難であるとともに、センサを設けるために配線構造が複雑化してしまうことは好ましくない。
【００２６】
ここで、発明者らが見いだした非動作方向振動によってロボットの可動部側が全体的に揺れているという点が重要になる。すなわち、非動作方向振動によって手先に振動が生じているのであれば、可動部分における非動作方向振動を検出することにより、直接的あるいは間接的に手先の振動を検出することができるのである。
【００２７】
そこで、請求項１に係る発明では、ベースに対して所定の取り付け位置に取り付けられているとともに当該ベースに対して相対的に動作するアームにおいて、その取り付け位置よりも前記アームの先端側であって、取り付け位置を通り当該アームに沿った方向に延びる仮想的な線上の位置を、ロボットの動作方向とは異なる向きに生じる非動作方向振動を検出するセンサを設置するセンサ位置として決定する。
ベースに取り付けられているアームは、ベースとの取り付け位置において支持されている。そのため、非動作方向振動によりロボットの可動部側が全体的に振動する場合、アームは、ベースへの取り付け位置を中心として振動することになる。
【００２８】
そのため、ベースとの取り付け位置よりもアームの先端側であれば、非動作方向振動に起因する振動を検出することができる。つまり、取り付け位置よりもアームの先端側が、動作方向とは異なる向きに振動する範囲となる。そして、この非動作方向振動によって動作方向とは異なる振動が手先に生じていることに鑑みると、アームに生じる非動作方向振動を検出することにより、手先の振動を検出することができる。
【００２９】
このとき、センサは、ベースに取り付けられているアームに設けられている。このため、センサを接続するケーブル長を短くすることができるとともに、手先に設ける場合に比べて経由する関節部分が少なくなり、ケーブルを保護するための保護部材等を最小限とすることができる。これにより、ケーブルの取り回しを容易にすることができるとともに、配線構造を簡略化することができる。
【００３０】
したがって、このような技術的思想に基づいて決定したセンサ位置にセンサを設けることにより、センサを設置する際の配線構造が複雑化することを防止しつつ、従来のシミュレーションには現れない手先の振動の原因であり、手先の振動に相関する非動作方向振動を検出することができる。
【００３１】
また、アームは、取り付け位置で支持されていると考えることができる。そのため、ロボットの動作に伴ってアームがねじれる場合には、取り付け位置ではねじれが生じず、先端側がねじれることになる。このとき、アームの先端側から見ると、アームのねじれは、取り付け位置を通りアームの先端側に延びる仮想的な直線を中心としてねじれていることが分かる。つまり、アームのねじれ量（非動作方向への変位量）は、仮想的な直線から離間する程、大きくなる。
【００３２】
そして、非動作方向振動を検出するセンサにとっては、このねじれ量は誤差になる。そのため、誤差を小さくするためには、センサ位置を上記した仮想的な直線に近づけること、すなわち、アームのねじれに起因する非動作方向への変位量が最小となる仮想的な線上にセンサを設ければよいことも分かる。
【００３３】
また、請求項２に記載した発明は、上記した請求項１に記載した発明と共通する技術的思想に基づいてなされており、ベースに取り付けられ、当該ベースに対して相対的に動作するアームと、アームにおいてベースとの取り付け位置よりも当該アームの先端側に位置するとともに当該取り付け位置を通り当該アームに沿った方向に延びる仮想的な線上に位置して設けられ、当該アームの動作方向とは異なる向きに生じる非動作方向振動を検出するセンサを備えている。
【００３４】
これにより、アームの動作方向とは異なる向きに生じる非動作方向振動を検出することができるとともに、配線構造が複雑化するおそれを低減することができる等、請求項１に係る発明と同様の効果を得ることができる。この場合、ロボットは、例えば６軸の垂直多関節型ロボットや、いわゆる７軸ロボット、あるいは４軸の水平多関節型ロボット等、任意の構成を採用することができる。
【００３５】
この場合、請求項３に記載した発明のように、センサを複数設けることにより、各センサに対して重み付けを行ったり、ノイズ成分を除去するために平均化したりする処理を行うことができ、より精度良く非動作方向振動を検出することができる。
より具体的には、例えば請求項４に記載した発明のように、水平多関節型ロボットにおいては、第１アームにおいて、第１軸と第２軸とを通る仮想的な線上にセンサを設けることにより、第１アームの動作方向とは異なる向きに生じる非動作方向振動を検出することができる。このとき、第１アームはベースに取り付けられていることから、ケーブル長を短くすることができるとともに、ケーブルが経由する関節部分は第１軸だけであるので、配線構造が複雑化することを防止できる。
【図面の簡単な説明】
【００３６】
【図１】第１実施形態におけるロボットシステムの構成を模式的に示す図
【図２】センサを設ける位置を模式的に示す図
【図３】第１アームに生じるＲｙ回転を模式的に示す図
【図４】センサ位置の詳細を模式的に示す図
【図５】Ｊ１軸からセンサまでの距離と第１アームの動作によりセンサに加わる加速度との関係を示す図
【図６】Ｊ１軸からセンサまでの距離と第２アームの動作によりセンサに加わる加速度との関係を示す図
【図７】第２実施形態におけるセンサを設ける位置を模式的に示す図
【図８】第１アームがＲｙ回転した際の各センサに加わる力を模式的に示す図
【図９】複数のセンサによる検出結果の一例を示す図
【発明を実施するための形態】
【００３７】
以下、本発明の複数の実施形態について、図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付し、その詳細な説明は省略する。
（第１実施形態）
本発明の第１実施形態について図１から図６を参照しながら説明する。
図１に示すように、ロボットシステム１は、ロボット２と、ロボット２を制御する制御装置３とを備えている。本実施形態では、ロボット２として、ベース４と、ベース４に取り付けられ、当該ベース４に対して第１軸（Ｊ１）を中心として回転する第１アーム５と、第１アーム５に取り付けられ、当該第１アーム５に対して第２軸（Ｊ２）を中心として回転する第２アーム６と、第２アーム６に取り付けられ、当該第２アーム６に対して上下移動および回転するシャフト７と、を有する水平多関節型ロボットを想定している。
【００３８】
また、シャフト７は、本実施形態では、ボールねじスプラインを想定している。この場合、ロボット２の手先とは、シャフト７の下端側、つまり、第２アーム６に対して上下方向に相対的に移動するとともに、第２アーム６に対して相対的に回転する部分に相当する。なお、シャフト７は、非常に剛性が高く設計されており、シャフト７そのものが撓んだり変形したりすることは考えにくい。
【００３９】
以下、図１に示すように、第１軸（Ｊ１）と同軸となる天地方向をＺ軸（Ｚ方向）、Ｚ軸に直交する方向をそれぞれＸ軸（Ｘ方向）、Ｙ軸（Ｙ方向）として説明する。また、図１に示すＺ軸回りの回転をＲｚ回転と称し、Ｘ軸回りの回転をＲｘ回転と称し、Ｙ軸回りの回転をＲｙ回転と称する。
【００４０】
この場合、Ｒｘ回転とは、第１アーム５を例にすると、図１に示す状態においてベース４との接続位置を中心として第１アーム５がＸ軸回りに回転する状態、より平易に言えば、第１アーム５がねじれた状態に相当する。また、Ｒｙ回転とは、第１アーム５を例にすると、図１に示す状態においてベース４との接続位置を回転中心（Ｃ１。図３参照）として第１アーム５がＹ軸回りに回転する状態、より平易に言えば、第１アーム５の先端がお辞儀をするような状態に相当する。なお、ロボット２の姿勢が図１に示した状態から変化している場合にはＸ軸とＹ軸との対応関係も変化するが、本明細書では、図１に示した状態を基本とし、上記した第１アーム５の先端がお辞儀をするような回転をＲｙ回転と称して説明する。
【００４１】
このロボット２は、図２に示すように、センサ８を備えている。本実施形態では、センサ８は、図示は省略するがケーブルにて接続されている有線式の加速度センサを用いている。このセンサ８は、第１アーム５の動作方向とは異なる向きに加わる加速度を検出することにより、間接的に振動を検出する。本実施形態の場合、センサ８は、第１アーム５の動作方向とは異なる向きとして、第１アーム５に対してＺ方向に加わる加速度を検出する。
【００４２】
センサ８が設けられている第１アーム５は、図示は省略するが、中空に形成されており、その内部に配線や軸受け等の構造物が設けられている。そして、センサ８は、第１アーム５内において、中空部の底面に設けられている。なお、センサ８は、加速度センサに限らず、速度センサや傾きセンサあるいは慣性センサ等、振動を直接的または間接的に検出できるものであればよい。
【００４３】
このセンサ８は、図２の（側面視）に示すように、第１軸（Ｊ１）から当該第１アーム５の先端側に距離Ｌ１だけ離間した位置に設けられている。なお、本実施形態では、距離Ｌ１は、センサ８の中心までの距離として定義している。また、センサ８は、図２の（平面視）に示すように、第１軸（Ｊ１）と第２軸（Ｊ２）とを通る仮想的な直線（ＣＬ１）上に位置して設けられている。つまり、センサ８は、アーム（ここでは、第１アーム５）において、ベース４との取り付け位置（ここでは、第１軸）よりも当該アームの先端側に位置するとともに、当該取り付け位置を通り当該アームの長手方向に沿った方向に延びる仮想的な直線（ここでは、ＣＬ１）上に位置して設けられている。より詳細には、センサ８は、第１軸よりも第２軸側であって、当該第１軸と当該第２軸とを通る仮想的な直線（ＣＬ１）上に位置して設けられている。
【００４４】
次に、上記した構成の作用について説明する。
前述したように、従来の２慣性系モデルでシミュレーションした場合、シミュレーション上では所望の振動抑制効果が得られても、実際のロボット２では手先に振動が生じることがある。そこで、まず、手先の振動、より詳細には、動作方向に生じる振動（動作方向振動）ではなく動作方向とは異なる方向に生じる振動（非動作方向）が、ロボット２のどの位置で観測できるかについて検討してみる。
【００４５】
非動作方向振動は、シャフト７だけが振動している訳ではなく、いわばロボット２の稼動部位全体が動作方向以外に揺れているような状態である。このため、手先の振動は、ロボット２の各部位で観測できる局所的な振動に相関していると考えられる。ただし、ベース４は、設置面に強固に固定されており、言わば固定端であるとも考えられるため、手先の振動が検出されるとは考えにくい。そのため、手先の振動を検出するためには、センサ８を第１アーム５の取り付け位置である第１軸（Ｊ１）よりも手先側に設ける必要があると考えられる。
【００４６】
さて、ロボット２が全体的に振動している場合、手先の振動を最も正確に検出できるのは手先つまりシャフト７の先端である。しかし、前述のように、シャフト７は第２アーム６に対して相対的に移動することから、シャフト７にセンサ８を設けるとケーブルが伸縮したり擦れたりするおそれ等があるため、ケーブルの保護の観点からするとシャフト７にセンサ８を設けることは好ましくない。そのため、第１アーム５または第２アーム６にセンサ８を設けることが望ましいと考えられる。
【００４７】
ここで、第１アーム５にセンサ８を設ける場合と第２アーム６にセンサ８を設ける場合とを比較してみる。第１アーム５は第２アーム６よりもベース４に近いため、第１アーム５にセンサ８を設けることで、ケーブル長を短くすることができる。また、第２アーム６は第１アーム５に対して相対的に回転することから、第２アーム側にセンサ８を設ける場合、第２アーム６の回転動作からケーブルを保護するケーブルリール等の保護構造が必要となる。通常、第２アーム６を駆動するモータは、第１アーム５の下方側の作業領域を確保するために第２アーム６内に設けられていることが多いため、第２アーム６に設ける場合には、ケーブルリール等を設置するためのスペースの確保が難しいことが懸念される。
また、関節部分にはモータや軸受け等の部材が集中して設けられているため、関節を経由するほど、配線構造は複雑化してしまう。そのため、センサ８を設ける際の配線構造の簡略化という観点からは、第１アーム５にセンサ８を設けるのが望ましいと考えられる。
【００４８】
次に、第１アーム５にセンサ８を設ける場合、第１アーム５のどこに設ければよいかについて検討してみる。
第１アーム５は、第１軸（Ｊ１）でベース４に取り付けられているため、第１軸（Ｊ１）は固定端であると考えられる。このような状況においてセンサ８を仮想的な直線（ＣＬ１）上から離れた位置に設けてしまうと、センサ８は、第１アーム５のねじれ（Ｒｘ回転）成分を検出することになる。その結果、第２アーム６の停止位置によっては、第１アーム５のねじれ成分の影響が大きくなり、Ｒｙ回転による加速度の検出に大きな誤差となるおそれがある。つまり、第１アーム５のねじれ成分の影響を最小にするためには、センサ８を仮想的な直線（ＣＬ１）上に設ければよいことが分かる。
【００４９】
また、図３に示すように、非動作方向振動により第１アーム５がＲｙ回転する場合、第１アーム５の先端ほど、その変位量（Ｚ１）つまり加速度の大きさが大きくなる。このため、第１アーム５だけをみた場合には、センサ８と第１軸（Ｊ１）との距離Ｌ１が大きくなるほど、精度よく加速度を検出することができるものと考えられる。
【００５０】
ただし、第１アーム５には、第２アーム６の回転による振動が現れる。そのため、第１アーム５だけを見るのでは無く、第２アーム６による影響も考慮する必要がある。以下、第２アーム６による影響を検討する。
【００５１】
まず、図４に示すように、第２軸（Ｊ２）を原点とし、第２アーム６に沿ったＸ２軸とそのＸ２軸に直交するＹ２軸とを有するＸ２−Ｙ２座標系を設定する。このとき、図２の（平面視）にて示す位置に設けられているセンサ８は、Ｘ２軸から距離Ｄ２、Ｙ２軸から距離Ｌ２に位置することになる。また、センサ８のＺ方向の変位量をＺ２（図３に示すＺ１に相当する）、第２アーム６がＸ２軸を回転軸として回転したときのセンサ８の回転角度をＲｘ２、第２アーム６がＹ２軸を回転軸として回転したときのセンサ８の回転角度をＲｘ２と定義する。
【００５２】
このとき、第２アーム６の取り付け部分（第１アーム５によって支持されている部分）が固定支持（例えば、壁や地面等に固定されている状態）されているとすると、第１アーム５に設けられているセンサ８は、以下の（１）式で示される誤差成分を含んだＺ方向の加速度を検出することになる。
【００５３】
【数１】
0006672636.tif 000002
【００５４】
ただし、（１）式および後述する各式においては、微分をニュートンの記法で表しており、ドット記号（「・」）を１つ付したものが時間に関する一階微分、ドット記号を２つ付したものが時間に関する二階微分を示しているが、使用可能な文字種類の関係上、例えば（１）式の左辺については「Ｚ２の二階微分」のように称して説明する。なお、「Ｚ２の二階微分」とは、変位量の二階微分すなわち加速度に相当する。また、（１）式の右辺の第１項は、第２アーム６のねじれ成分を表している。
【００５５】
さて、上記した誤差成分、つまり、Ｚ２の二階微分が大きくなるのは、（１）式から明らかなように、Ｄ２あるいはＬ２が大きい場合である。つまり、第２アーム６が固定支持されている場合においては、センサ８の位置が第２軸（Ｊ２）から離れるほど、誤差成分が大きくなることになる。
【００５６】
ただし、実際には、第２アーム６は固定支持ではないので、第２アーム６のねじれ成分は、全て第１アーム５の取り付け部分（ベース４によって支持されている部分）に掛かることになる。つまり、第１アーム５で観測される局所的な振動は、直接的に手先の振動に相関したものとなっている。この場合、第２軸（Ｊ２）を原点とした第２アーム６のねじれ成分は、第１アーム５の先端付近には影響を与えることがないため、（１）式で示したＺ２の二階微分の影響をほぼ無視することができる。その結果、第２アーム６の回転に伴う誤差成分は、図５に示すように、センサ８の位置によらず一定値となる。
【００５７】
その一方で、第１アーム５の動作によってセンサ８に加わる加速度は、上記した図３および図５に示すように、第１アーム５のＺ方向の回転中心（Ｃ１）からセンサ８までの距離Ｌ１が大きくなるほど大きくなる。このため、センサ８は、Ｌ１が大きいほど精度良く加速度を検出でき、仮に分解能が低いものを使用する場合であっても、Ｌ１が大きければ、所望の精度で加速度を検出することができる。勿論、Ｌ１が小さい場合であっても、センサ８の分解能が高ければ、所望の精度で検出することができる。
【００５８】
このように、センサ８を設ける位置は、配線構造および第２アーム６による影響を考慮することにより、決定することができる。具体的には、第１軸（Ｊ１）と第２軸（Ｊ２）とを通る仮想的な直線（ＣＬ１）上であることが望ましく、また、第１軸（Ｊ１）からなるべく離間させることで精度を向上させることができる。
【００５９】
さて、このように位置を決定したセンサ８により、第１アーム５に加わるＺ方向の加速度を検出することで、Ｒｙ回転した際の角速度と回転角度とを求めることができる。すなわち、第１アーム５の動作方向とは異なるＲｙ回転による振動を検出することができる。
具体的には、図３に示すように、第１アーム５のＺ方向への回転中心（Ｃ１）からセンサ８までの距離をＬ１とし、第１アーム５がＹ方向を回転軸としてＲｙ回転した場合における半径がＬ１の円の円周上の変位量をＺ１とし、第１アーム５がＹ方向を回転軸として回転した時の回転角度をＲｙ１とする。
さて、図３では変位量を明確にするためにＺ１を誇張して示しているが、実際のロボット２では、Ｚ１に対してＬ１が十分に大きいため、以下の（２）式〜（４）式の関係が成立する。
【００６０】
【数２】
0006672636.tif 000003
【００６１】
これら（２）式〜（４）式から明らかなように、センサ８で検出したＺ方向の加速度から求まるＲｙ回転時の角加速度を積分することで、Ｒｙ回転時の角速度、さらには、Ｒｙ回転時の回転角度（Ｒｙ１）を求めることができる。すなわち、手先の振動に相関する第１アーム５における非動作方向振動を検出することができる。
【００６２】
このように、アームが動作した際にその動作方向とは異なる向きに変異する範囲（第１軸よりも先端側の範囲）を特定し、特定した範囲において、ロボット２が動作した際にアームのねじれに起因して生じる非動作方向への変位量を求め、その非動作方向へ変位量が最小となる位置をセンサ位置として決定することにより、アームに生じる非動作方向振動を精度良く検出することができる。
【００６３】
以上説明した実施形態によれば次のような効果を得ることができる。
ベース４に対して所定の取り付け位置（Ｊ１軸上の回転中心（Ｃ１））に取り付けられているとともに当該ベース４に対して相対的に動作する第１アーム５において、第１アーム５が動作した際に、動作方向とは異なる向きに振動する取り付け位置よりも前記アームの先端側であって、ロボット２が動作した際に当該アームのねじれに起因する振動成分が最小となる取り付け位置を通り当該アームに沿った方向に延びる仮想的な線上の位置（本実施形態では直線上の位置となる）を、ロボット２の振動を検出するセンサ８を設置するセンサ位置として決定する。
【００６４】
なお、図２では簡略化のために第１軸（Ｊ１)を点または線として示しているが、実際には、第１軸は（Ｊ１）は、シャフト部材等の軸部材により構成されている。そのため、本実施形態では、取り付け位置を通る仮想的な線とは、その軸部材の直径の範囲内を通っているものとしている。
【００６５】
ベース４に取り付けられている第１アーム５は、ベース４との取り付け位置において支持されている。そのため、非動作方向振動によりロボット２の可動部側（本実施形態では、第１アーム５、第２アーム６、シャフト７）が全体的に振動する場合、第１アーム５は、ベース４との取り付け位置を中心として振動することになる。
【００６６】
そのため、ベース４との取り付け位置よりも先端側であれば、非動作方向振動に起因する変位を検出することができる。そして、この非動作方向振動によって動作方向とは異なる振動が手先に生じていることに鑑みると、第１アーム５に生じる非動作方向振動を検出することにより、手先の振動を検出することができる。
【００６７】
また、第１アーム５は、取り付け位置で支持されていると考えることができる。そのため、ロボット２の動作（第１アーム５が動作した場合に限らず、第１アーム５が停止している状態で第２アーム６やシャフト７が動作した場合を含む）に伴って第１アーム５がねじれる場合には、取り付け位置ではねじれが生じず、第１アーム５の先端側がねじれることになる。このとき、第１アーム５の先端側から見ると、第１アーム５のねじれは、取り付け位置を通り第１アーム５の先端側に延びる仮想的な直線（ＣＬ１）を中心としてねじれていることが分かる。つまり、第１アーム５のねじれ量（非動作方向への変位量）は、仮想的な直線（ＣＬ１）から離間する程、大きくなる。
【００６８】
この場合、非動作方向振動を検出するセンサ８にとっては、このねじれ量は誤差になる。そのため、誤差を小さくするためには、センサ位置を上記した仮想的な直線に近づけること、すなわち、第１アーム５のねじれに起因する非動作方向への変位量が最小となる仮想的な直線（ＣＬ１）上にセンサ８を設ければよいことが分かる。
【００６９】
さて、センサ８は、ベース４に取り付けられている第１アーム５に設けられている。このため、センサ８を接続するケーブル長を短くすることができるとともに、手先に設ける場合に比べて経由する関節部分が少なくなり、ケーブルを保護するための保護部材等を最小限とすることができる。これにより、ケーブルの取り回しを容易にすることができるとともに、配線構造を簡略化することができる。
【００７０】
したがって、上記したような方法で決定したセンサ位置にセンサ８を設けることで、センサ８を際の配線構造が複雑化することを防止しつつ、従来のシミュレーションには現れない手先の振動の原因であり、手先の振動に相関する非動作方向振動を検出することができる。
この場合、第１アーム５の取り付け位置（第１軸上の回転中心（Ｃ１））から離間するほど、つまり、距離Ｌ１が大きくなるほど、非動作方向振動に相関するＺ方向の加速度の検出精度を向上させることができる。
【００７１】
そして、本実施形態のような４軸の水平多関節型ロボットの場合には、第１アーム５において、第１軸（Ｊ１）と第２軸（Ｊ２）とを通る仮想的な直線（ＣＬ１）上にセンサ８を設けることにより、第１アーム５の動作方向とは異なる向きに生じる非動作方向振動を検出することができる。このとき、第１アーム５はベース４に取り付けられていることから、ケーブル長を短くすることができるとともに、ケーブルが経由する関節部分は第１軸部分だけであるので、配線構造が複雑化することを防止できる。
【００７２】
（第２実施形態）
以下、第２実施形態について図７から図９を参照して説明する。第２実施形態では、複数のセンサを設けている点において、第１実施形態と相違している。
本実施形態の場合、図７に示すように、３つのセンサＳ０〜Ｓ２が、第１軸（Ｊ１）と第２軸（Ｊ２）とを通る仮想的な直線（ＣＬ１）上に設けられている。
このように複数のセンサＳ０〜Ｓ２を設け、各センサＳ０〜Ｓ２の検出データを平均化することにより、まず、Ｒｙ方向の振動の検出精度を高めることができる。
【００７３】
また、Ｚ方向の加速度とＲｙ方向の加速度とを分離することにより、さらに検出精度を高めることもできる。すなわち、第１軸からセンサＳ０までの距離をＬ１、センサＳ１までの距離をＬ２、センサＳ２までの距離をＬ３とし、図８に示すように、第１アーム５がＲｙ方向に変異した際に各センサＳ０〜Ｓ２が検出するＲｙ方向の加速度をそれぞれα０、α１、α２とし、Ｚ方向の加速度をそれぞれβ０〜β２と定義する。また、各センサＳ０〜Ｓ２のＺ方向の変位量をそれぞれＺ０〜Ｚ２（図３に示すＺ１に相当する）とし、第１アーム５がＹ方向を回転軸として回転したときの各センサＳ０〜Ｓ２の回転角度をそれぞれＲｙ１〜Ｒｙ２とする。
【００７４】
この場合、各センサＳ０〜Ｓ２の検出結果には、上記した図３で説明したように以下の（６）式の関係が成立する。ただし、Ｑｉは、（７）式の関係を満たしているものとする。
【００７５】
【数３】
0006672636.tif 000004
【００７６】
そして、例えば第１軸の回転中心（Ｃ１）からの距離に応じて重み付けを行う場合には、以下の（８）式のようにＱｉを定義することにより、回転中心（Ｃ１）からの距離に応じた重み付けを行うことができる。
【００７７】
【数４】
0006672636.tif 000005
【００７８】
このとき、ｋの値は任意であるが、ｋの値を変更することにより、距離Ｌｉに応じて各センサＳ０〜Ｓ２のデータの重み付けを行うことができることできる。一例を挙げると、例えばｋ＝１とすれば、各センサＳ０〜Ｓ２のデータが均等に用いられる。また、例えばｋ＝２とすれば、回転中心（Ｃ１）からの距離が最も大きく同じ分解能であれば最も精度が高くなるセンサＳ２のデータを重視した重み付けを行うことができる。
なお、図９に、５つのセンサを用いてｋ＝２とした場合の重み付けの一例を示しているが、この場合、Ｒｙ回転の角加速度（Ｒｙの二階微分。ここでは便宜的にＲｙ”と示す）は、（６）式から以下のように求めることができる。
【００７９】
Ｒｙ”＝０．０００１・（１．０１／５）
＋０．０００５・（２．０３／１０）
＋０．１２１５・（３０．２／１５０）
＋０．２１６１・（３９．６／２００）
＋０．６６１７・（７５．６／３５０）
＝０．２１０３
また、各センサにノイズの影響が一様に分布していると考えられる場合には、以下の（９）式のようにＱｉを定義してもよい。
【００８０】
Ｑｉ＝１／Ｎ  ・・・（９）
この（９）式の場合、ノイズの影響が均一化された状態で振動を検出することができる。
【００８１】
以上説明した実施形態によれば、次のような効果を得ることができる。
複数の各センサＳ０〜Ｓ２を設けることにより、各センサＳ０〜Ｓ２に対して重み付けを行ったり、ノイズ成分を除去するために平均化したりする処理を行うことができ、非動作方向振動を検出する際の精度を向上させることができる。勿論、第１実施形態と同様に、各センサＳ０〜Ｓ２を設ける際の配線構造が複雑化することを防止しつつ、シミュレーションには現れない手先の振動の原因であり、手先の振動に相関する非動作方向振動を検出することができる。
【００８２】
（その他の実施形態）
本発明は、上記し且つ図面に記載した態様に限定されるものではなく、その要旨を逸脱しない範囲で種々の変形や拡張をすることができる。
実施形態で示した数値は一例であり、これに限定されない。
実施形態で示したセンサの数や配置は一例であり、これに限定されない。すなわち、第１軸（Ｊ１）よりも先端側であってアームに沿った仮想的な直線上であれば、実施形態と異なる位置に設けることができる。
実施形態では本発明を水平多関節型ロボットに適用した例を示したが、本発明は、６軸の垂直多関節型ロボットやいわゆる７軸ロボット等の他の構成にも適用することができる。
【符号の説明】
【００８３】
図面中、２はロボット、４はベース、５は第１アーム（アーム）、８、Ｓ０〜Ｓ２はセンサを示す。
【図１】
0006672636.tif 000006
【図２】
0006672636.tif 000007
【図３】
0006672636.tif 000008
【図４】
0006672636.tif 000009
【図５】
0006672636.tif 000010
【図６】
0006672636.tif 000011
【図７】
0006672636.tif 000012
【図８】
0006672636.tif 000013
【図９】
0006672636.tif 000014