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