(57)【要約】【課題】ロボットのアームの振動を抑制する。【解決手段】基台に設置され、複数のアーム部材と、アーム部材を基台または他のアーム部材に対して捻る方向に回動可能な３つ以上の捻り関節とを有するアームを備えたロボットで、アームには、捻り関節のうち基台側から数えて３番目の第３捻り関節よりも基台側に角速度センサーを設ける。こうすれば、角速度センサーの出力に基づく関節の制御によってアームの振動が増幅されるようなことはなく、角速度センサーの出力に基づく関節の制御を行わない場合に比べてアームの振動を抑制することができる。【選択図】図１
2015150630.tif 000002
【特許請求の範囲】
【請求項１】
基台と、
前記基台に設置され、複数のアーム部材、および前記アーム部材を前記基台または他の前記アーム部材に対して捻る方向に回動可能な３つ以上の捻り関節を有するアームと、
を備え、
前記アームは、３つ以上の前記捻り関節のうち前記基台側から数えて３番目の第３捻り関節よりも前記基台側に角速度センサーを有する
ことを特徴とするロボット。
【請求項２】
請求項１に記載のロボットであって、
前記アームは、前記アーム部材を他の前記アーム部材に対して屈曲させる方向に回動可能な屈曲関節を、前記第３捻り関節よりも前記基台側に少なくとも１つ有する
ことを特徴とするロボット。
【請求項３】
請求項２に記載のロボットであって、
前記アームの３つ以上の前記捻り関節のうち前記基台側から数えて２番目の第２捻り関節に接続された前記アーム部材に前記角速度センサーが設けられている
ことを特徴とするロボット。
【請求項４】
請求項２に記載のロボットであって、
前記アームの３つ以上の前記捻り関節のうち前記基台側から数えて２番目の第２捻り関節よりも前記第３捻り関節側にある前記屈曲関節に接続された前記アーム部材に前記角速度センサーが設けられている
ことを特徴とするロボット。
【請求項５】
請求項２または請求項４に記載のロボットであって、
前記角速度センサーの出力に基づいて、前記捻り関節および前記屈曲関節のフィードバック制御を実行可能な制御部を備え、
前記第３捻り関節よりも前記基台側にある前記捻り関節および前記屈曲関節のうち前記制御部によってフィードバック制御される何れの関節よりも前記第３捻り関節側に前記角速度センサーが設けられている
ことを特徴とするロボット。
【請求項６】
請求項３に記載のロボットであって、
前記角速度センサーの出力に基づいて、前記角速度センサーよりも前記基台側にある前記捻り関節および前記屈曲関節をフィードバック制御する制御部を備える
ことを特徴とするロボット。
【請求項７】
請求項４に記載のロボットであって、
前記角速度センサーの出力に基づいて、前記角速度センサーよりも前記基台側にある前記捻り関節および前記屈曲関節をフィードバック制御する制御部を備える
ことを特徴とするロボット。
【請求項８】
請求項１ないし請求項７の何れか一項に記載のロボットであって、
前記基台には、前記アームとして、第１アームと第２アームとが設けられている
ことを特徴とするロボット。
【請求項９】
請求項８に記載のロボットであって、
前記基台には、第２の角速度センサーが設けられている
ことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに関する。
【背景技術】
【０００２】
複数のアーム部材が関節で接続されたアームを備えたロボットが知られている。こうしたロボットは、アームの先端にロボットハンドなどの作業部を搭載することによって、組立作業や搬送作業といった様々な作業に活用することができる。
【０００３】
作業を行う際にロボットはアームの関節を動かしてアームの先端のロボットハンドなどを目的の位置や姿勢に移動させる。このとき、アームの関節を停止させる反動でアームの先端には振動が発生するので、その振動が収まるのを待って作業を開始しなければならない。そこで、作業の効率化を図るために、アームの先端側に角速度センサーを搭載しておき、角速度センサーの出力が小さくなるようにアームの各関節の動きを制御することで、アームの振動を抑制する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２４２７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、アームに多くの関節を備えるロボットでは、上記の提案技術のようにアームの先端側に搭載した角速度センサーの出力に基づいてアームの基端側の関節を制御することによって、アームの振動が却って増幅されることがあるという問題があった。
【０００６】
この発明は、従来の技術が有する上述した課題を解決するためになされたものであり、ロボットのアームの振動を抑制することが可能な技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
上述した課題の少なくとも一部を解決するために、本発明のロボットは次の構成を採用した。すなわち、
基台と、
前記基台に設置され、複数のアーム部材、および前記アーム部材を前記基台または他の前記アーム部材に対して捻る方向に回動可能な３つ以上の捻り関節を有するアームと、
を備え、
前記アームは、３つ以上の前記捻り関節のうち前記基台側から数えて３番目の第３捻り関節よりも前記基台側に角速度センサーを有する
ことを特徴とする。
【０００８】
前述したようにアームの先端に角速度センサーを搭載すると、角速度センサーの出力に基づく関節の制御によってアームの振動が増幅されることがあり、詳しくは後述するが、こうした誤った制御となる可能性は、基台と角速度センサーとの間に介在する捻り関節の数が多くなるほど高くなる。そこで、本発明のロボットでは、角速度センサーを搭載する位置をアームの第３捻り関節よりも基台側に限定している。これにより、角速度センサーの出力に基づく関節の制御によってアームの振動が増幅されるようなことはなく、角速度センサーに出力に基づく関節の制御を行わない場合に比べてアームの振動を抑制することができる。
【０００９】
また、上述した本発明のロボットのアームには、アーム部材を他のアーム部材に対して屈曲させる方向に回動可能な屈曲関節を、第３捻り関節よりも基台側に少なくとも１つ設けてもよい。
【００１０】
こうすれば、アームは、屈曲関節の回動によって、基台側から数えて１番目の第１捻り関節の回動軸の軸方向と、２番目の第２捻り関節や３番目の第３捻り関節の回動軸の軸方向とが異なる様々な姿勢をとることが可能となる。
【００１１】
また、上述した本発明のロボットでは、アームの３つ以上の捻り関節のうち基台側から数えて２番目の第２捻り関節に接続されたアーム部材に角速度センサーを設けてもよい。
【００１２】
こうすれば、基台側から数えて１番目の第１捻り関節に接続されたアーム部材に角速度センサーを設ける場合に比べて、角速度センサーの出力には多くの関節の振動成分が含まれることになり、１つの角速度センサーの出力に基づいてそれらの複数の関節を制御することができるので、アームの振動をより細かく抑制することが可能となる。
【００１３】
また、前述した本発明のロボットでは、アームの第２捻り関節よりも第３捻り関節側にある屈曲関節に接続されたアーム部材に角速度センサーを設けてもよい。
【００１４】
こうすれば、第２捻り関節よりも第３捻り関節側に屈曲関節を有するアームでは、その屈曲関節の振動も角速度センサーの出力から検出することができるので、角速度センサーの出力に基づいてその屈曲関節を制御することにより、アームの振動を抑制することができる。
【００１５】
また、こうした本発明のロボットでは、角速度センサーの出力に基づいて捻り関節および屈曲関節のフィードバック制御を実行可能な制御部を備えることとして、第３捻り関節よりも基台側にある捻り関節および屈曲関節のうち制御部によってフィードバック制御される何れの関節よりも第３捻り関節側に角速度センサーを設けてもよい。
【００１６】
こうすれば、フィードバック制御される関節の振動を角速度センサーの出力から検出することができる。そして、角速度センサーの出力に基づいて関節をフィードバック制御することにより、フィードバック制御を行わない場合に比べて速やかにアームの振動を抑制することができる。
【００１７】
また、前述した第２捻り関節に接続されたアーム部材に角速度センサーが設けられた本発明のロボットでは、角速度センサーよりも基台側にある捻り関節および屈曲関節をフィードバック制御する制御部を備えてもよい。
【００１８】
角速度センサーの出力には、基台から角速度センサーまでの間にある関接の振動成分が含まれているので、角速度センサーの出力に基づいて基台側の関節をフィードバック制御してやれば、アームの振動を速やかに抑制することが可能となる。
【００１９】
また、前述した第２捻り関節よりも第３捻り関節側にある屈曲関節に接続されたアーム部材に角速度センサーが設けられた本発明のロボットでは、角速度センサーよりも基台側にある捻り関節および屈曲関節をフィードバック制御する制御部を備えてもよい。
【００２０】
角速度センサーの出力には、基台から角速度センサーまでの間にある関接の振動成分が含まれているので、角速度センサーの出力に基づいて基台側の関節をフィードバック制御してやれば、アームの振動を速やかに抑制することが可能となる。
【００２１】
また、こうした本発明のロボットの基台には、アームとして、第１アームと第２アームとを設けてもよい。
【００２２】
基台に第１アームと第２アームとを設けた双腕型のロボットにおいても、本発明を好適に適用することができる。
【００２３】
また、上述した本発明のロボットの基台には、アームに設けられた角速度センサーとは別に第２の角速度センサーを設けてもよい。
【００２４】
こうすれば、ロボットの設置位置に対して基台が回動可能であるロボットでは、第２の角速度センサーの出力に基づいて基台の動作を制御することにより、基台の振動を抑制することができる。そして、アームに設けた角速度センサーの出力と、基台に設けた第２の角速度センサーの出力とに基づいて、基台に対するアームの振動を検出することができるので、基台の振動の影響を受け難くなり、アームの角速度センサーの出力のみを用いる場合に比べて速やかにアームの振動を抑制することができる。
【図面の簡単な説明】
【００２５】
【図１】第１実施例のロボット１の全体構造を示す説明図である。
【図２】第１実施例の制御部５０の内部構成を示したブロック図である。
【図３】第６モーター制御部５６が行う制御を示したブロック図である。
【図４】第４モーター制御部５４が行う制御を示したブロック図である。
【図５】アーム２０の先端に搭載したジャイロセンサー３０の出力を用いてフィードバック制御を行うことでアーム２０の振動が増幅される理由を示した説明図である。
【図６】第１実施例のロボット１において、アーム部材２４に搭載したジャイロセンサー３０の出力に基づいてフィードバック制御を行う例を示した説明図である。
【図７】アーム部材２５にジャイロセンサー３０を搭載した例を示した説明図である。
【図８】第２実施例のロボット２の全体構造を示す説明図である。
【図９】第２実施例の制御部５０の内部構成を示したブロック図である。
【図１０】本体制御部８０が行う制御を示したブロック図である。
【図１１】第２実施例の右アーム制御部５０Ｒの内部構成を示したブロック図である。
【図１２】第３モーター制御部５３が行う制御を示したブロック図である。
【発明を実施するための形態】
【００２６】
図１は、第１実施例のロボット１の全体構造を示す説明図である。図１（ａ）には、第１実施例のロボット１の大まかな外形形状が示されている。図示されるように、第１実施例のロボット１は、地面に設置される基台１０と、基台１０に対して回動可能に取り付けられたアーム２０と、基台１０内に搭載されてロボット１の全体の動作を制御する制御部５０とを備えている。
【００２７】
アーム２０は、６つのアーム部材２１〜２６と、６つの関節４１〜４６とを備えている。この中のアーム部材２１は、関節４１によって基台１０に対して回動（捻り）可能に取り付けられている。また、アーム部材２２は、関節４２によってアーム部材２１に対して屈曲可能に取り付けられており、アーム部材２３は、関節４３によってアーム部材２２に対して屈曲可能に取り付けられている。更に、アーム部材２４は、関節４４によってアーム部材２３に対して回動（捻り）可能に取り付けられており、アーム部材２５は、関節４５によってアーム部材２４に対して屈曲可能に取り付けられ、アーム部材２６は、関節４６によってアーム部材２５に対して回動（捻り）可能に取り付けられている。尚、アーム部材２６の先端には、ロボットハンド（いわゆるハンド部）や、溶接治具などの図示しない各種の治具（いわゆるエンドエフェクター）が装着される。また、第１実施例のロボット１は、ある関節を動かすことによって、それより先の関節の回動軸の向きが変化するロボット（いわゆる垂直多関節型ロボット）である。
【００２８】
また、関節４１の部分には、関節４１を駆動するための第１モーター４１ｍが搭載されている。同様に、関節４２の部分には関節４２を駆動するための第２モーター４２ｍが搭載され、関節４３の部分には関節４３を駆動するための第３モーター４３ｍが、関節４４の部分には第４モーター４４ｍが、関節４５の部分には第５モーター４５ｍが、関節４６の部分には第６モーター４６ｍが搭載されている。
【００２９】
第１実施例のロボット１では、アーム２０の６つのアーム部材２１〜２６のうちアーム部材２４にジャイロセンサー３０が取り付けられている。ここで、ジャイロセンサー３０は、予め定められた直交する３軸（Ｘ軸、Ｙ軸、Ｚ軸）を回動軸とする角速度（あるいは慣性力）を出力可能なセンサーである。ジャイロセンサー３０は、関節４４の回動軸がジャイロセンサー３０の何れかの軸と一致する向きに取り付けられている。尚、角速度を検出するジャイロセンサー３０の代わりに加速度センサーを用いてもよい。また、第１実施例のジャイロセンサー３０は、本発明の「角速度センサー」に対応する。
【００３０】
また、ジャイロセンサーとしては、光学式ジャイロセンサー、振動型ジャイロセンサーなどが知られているが、ジャイロセンサー３０は、小型化が可能という理由から、圧電材料の薄膜を用いて形成した振動型ジャイロセンサーが採用されている。すなわち、光学式ジャイロセンサーは、サニャック効果を利用する原理上の理由から小型化が困難であるが、振動型ジャイロセンサーは、コリオリ力を利用して角速度を検出するので小型化が可能である。また、振動型ジャイロセンサーにも、圧電方式や静電方式などが知られているが、水晶、あるいは水晶以外の圧電材料の薄膜を用いて角速度を検出する圧電方式の振動型ジャイロセンサーは、小型で安価に作製することが可能である。尚、角速度を検出するジャイロセンサー３０は、加速度を検出する加速度センサーに比べて以下の点で優れている。先ず、加速度センサーは、重力の影響を考慮する必要があるため、このことが誤差要因となる。これに対して、ジャイロセンサー３０は、角速度を検出しているので重力の影響を考慮する必要がない。また、加速度センサーは、加速度の検出感度を高めようとするとサイズが大きくなる。これに対して、ジャイロセンサー３０は、小型であっても検出感度を高めることが可能である。このため、ジャイロセンサー３０の設置の自由度を高くすることができる。
【００３１】
図１（ｂ）には、第１実施例のロボット１が備えるアーム部材２１〜２６や、関節４１〜４６、ジャイロセンサー３０の位置関係が模式的に示されている。以下では、関節４１の角度を角度θ１で表し、関節４２の角度を角度θ２、関節４３の角度を角度θ３、関節４４の角度を角度θ４、関節４５の角度を角度θ５、関節４６の角度を角度θ６で表すものとする。
【００３２】
図２は、第１実施例の制御部５０の内部構成を示したブロック図である。図示されるように制御部５０には、第１モーター４１ｍを制御するための第１モーター制御部５１や、第２モーター４２ｍを制御するための第２モーター制御部５２、第３モーター４３ｍを制御するための第３モーター制御部５３、第４モーター４４ｍを制御するための第４モーター制御部５４、第５モーター４５ｍを制御するための第５モーター制御部５５、第６モーター４６ｍを制御するための第６モーター制御部５６、ロボット１全体の動作を制御するための全体制御部５０ａ、制御プログラムなどを記憶したメモリー５０ｍなどが搭載されている。
【００３３】
第１モーター４１ｍには、第１モーター４１ｍの回転角度θ１を検出する角度センサー４１ｓが搭載されている。同様に、第２モーター４２ｍには、第２モーター４２ｍの回転角度θ２を検出する角度センサー４２ｓが搭載されており、第３モーター４３ｍには、第３モーター４３ｍの回転角度θ３を検出する角度センサー４３ｓが搭載され、第４モーター４４ｍには、第４モーター４４ｍの回転角度θ４を検出する角度センサー４４ｓが、第５モーター４５ｍには、第５モーター４５ｍの回転角度θ５を検出する角度センサー４５ｓが、第６モーター４６ｍには、第６モーター４６ｍの回転角度θ６を検出する角度センサー４６ｓが搭載されている。
【００３４】
そして、それぞれのモーター制御部は、制御対象とするモーターに搭載された角度センサーからの出力に基づいて、それぞれのモーターの動作を制御する。例えば、第６モーター制御部５６は、角度センサー４６ｓで検出した回転角度θ６に基づいて、第６モーター４６ｍの動作を制御する。第１〜第５モーター制御部５１〜５５についても同様に、角度センサー４１ｓ〜４５ｓで検出した回転角度θ１〜θ５に基づいて、第１〜第５モーター４１ｍ〜４５ｍの動作を制御する。但し、第１〜第４モーター制御部５１〜５４については、対応する角度センサー４１ｓ〜４４ｓで検出した回転角度θ１〜θ４だけでなく、ジャイロセンサー３０の出力も用いて、第１〜第４モーター４１ｍ〜４４ｍの動作を制御する。以下、各モーター制御部が行う制御の詳細について説明する。
【００３５】
第５モーター制御部５５および第６モーター制御部５６は、制御対象が第５モーター４５ｍおよび第６モーター４６ｍと異なるものの制御内容は基本的には同様であるため、第６モーター制御部５６を例に用いて説明する。また、第１〜第４モーター制御部５１〜５４は、制御対象が第１〜第４モーター４１ｍ〜４４ｍと異なるものの制御内容は基本的には同様であるため、第４モーター制御部５４を例に用いて説明する。
【００３６】
図３は、第６モーター制御部５６が行う制御を示したブロック図である。第６モーター制御部５６は、全体制御部５０ａから目標位置Ｐｃを受け取って、角度センサー４６ｓで検出する回転角度θ６が目標位置Ｐｃとなるように制御を行う。基本的には角度センサー４６ｓで検出した回転角度θ６をフィードバック制御する大きなループと、その内側で角速度をフィードバック制御する小さなループとを回る制御構造となっている。
【００３７】
図３に示されるように、全体制御部５０ａからの目標位置Ｐｃは位置制御部５６ａに入力される。また、位置制御部５６ａには、角度センサー４６ｓで検出した回転角度θ６が入力される。位置制御部５６ａは、目標位置Ｐｃと回転角度θ６との偏差に応じた目標角速度を生成して角速度制御部５６ｂに入力する。また、角度センサー４６ｓで検出した回転角度θ６は、角速度算出部５６ｃに入力されて角速度に変換された後、角速度制御部５６ｂに入力される。そして、角速度制御部５６ｂは、位置制御部５６ａからの目標角速度と角速度算出部５６ｃからの角速度との偏差に応じて、第６モーター４６ｍの動作を制御する。その制御の結果が、角度センサー４６ｓで検出する回転角度θ６に反映され、位置制御部５６ａに入力されることで位置フィードバック制御が行われ、角速度算出部５６ｃを介して角速度制御部５６ｂに入力されることで角速度フィードバック制御が行われる。
【００３８】
図４は、第４モーター制御部５４が行う制御を示したブロック図である。第４モーター制御部５４も、上述の第６モーター制御部５６と同様に、角度センサー４４ｓで検出した回転角度θ４を用いて制御する。但し、第４モーター制御部５４は、ジャイロセンサー３０の出力も用いて第４モーター４４ｍの動作を制御する。このため、第４モーター制御部５４が行う制御は、角度センサー４４ｓで検出した回転角度θ４を用いて行う位置フィードバック制御および角速度フィードバック制御に、ジャイロセンサー３０の出力を用いて行う角速度フィードバック制御を組み合わせたものとなっている。図４中では、回転角度θ４を用いて行う位置フィードバック制御および角速度フィードバック制御を実線の矢印で表し、ジャイロセンサー３０の出力を用いて行う角速度フィードバック制御を破線の矢印で表している。
【００３９】
第４モーター制御部５４においても、全体制御部５０ａからの目標位置Ｐｃ、および角度センサー４４ｓで検出した回転角度θ４が位置制御部５４ａに入力される。位置制御部５４ａは、目標位置Ｐｃと回転角度θ４との偏差に応じた目標角速度を生成して角速度制御部５４ｂに入力する。また、角度センサー４４ｓで検出した回転角度θ４が角速度算出部５４ｃに入力されて角速度に変換された後、角速度制御部５４ｂに入力される。そして、角速度制御部５４ｂは、位置制御部５４ａからの目標角速度と角速度算出部５４ｃからの角速度との偏差に応じて、第４モーター４４ｍの動作を制御する。さらに、ジャイロセンサー３０の出力が周波数フィルター５４ｅおよび振動算出部５４ｆを介して角速度制御部５４ｂに入力され、第４モーター４４ｍの制御に反映される。
【００４０】
周波数フィルター５４ｅは、ジャイロセンサー３０から出力される角速度のうち、アーム部材２４の振動に対応する周波数を通過させる。尚、第１実施例のロボット１では、アーム部材２４の振動に対応する角速度を得るのに周波数フィルター５４ｅを用いているが、ジャイロセンサー３０よりも基台１０側の各モーター（第１〜第４モーター４１ｍ〜４４ｍ）の角速度を、ジャイロセンサー３０が出力する角速度から減算することで求めるようにしてもよい。また、振動算出部５４ｆは、周波数フィルター５４ｅを通過した周波数の角速度から、関節４４の回動軸回りの角速度成分（振動角速度）を抽出して角速度制御部５４ｂに入力する。尚、第３モーター制御部５３の振動算出部５３ｆは関節４３の回動軸回りの角速度成分を抽出し、第２モーター制御部５２の振動算出部５２ｆは関節４２の回動軸回りの角速度成分を抽出し、第１モーター制御部５１の振動算出部５１ｆは関節４１の回動軸回りの角速度成分を抽出する。そして、角速度制御部５４ｂは、振動算出部５４ｆからの振動角速度を減衰させるように第４モーター４４ｍの動作を制御する。
【００４１】
こうして角速度制御部５４ｂが第４モーター４４ｍを制御する結果、角度センサー４４ｓで検出する回転角度θ４が変化する。また、第４モーター４４ｍによってアーム部材２４が回転する結果、ジャイロセンサー３０が角速度を出力する。このうち、角度センサー４４ｓが検出する回転角度θ４が、位置制御部５４ａに入力されることで位置フィードバック制御が行われ、角速度算出部５４ｃを介して角速度制御部５４ｂに入力されることで角速度フィードバック制御が行われる。また、ジャイロセンサー３０が出力する角速度が周波数フィルター５４ｅおよび振動算出部５４ｆを介して角速度制御部５４ｂに入力されることで角速度フィードバック制御が行われる。特に、角度センサー４４ｓで検出する回転角度θ４が目標位置Ｐｃとなって第４モーター４４ｍを停止させても、暫くの間はアーム２０が振動するので、ジャイロセンサー３０の出力を用いたフィードバック制御が行われる。
【００４２】
このようにジャイロセンサー３０の出力を用いてジャイロセンサー３０よりも基台１０側の各モーター（第１〜第４モーター４１ｍ〜４４ｍ）のフィードバック制御を行うことで、アーム２０の振動を抑制することが可能である。ただし、アーム２０に多くの関節を備えるロボット１では、ジャイロセンサー３０をアーム２０の先端に搭載すると、ジャイロセンサー３０の出力を用いて各モーターのフィードバック制御を行うことで、アーム２０の振動が却って増幅されることがある。
【００４３】
図５は、アーム２０の先端にジャイロセンサー３０を搭載した場合に、ジャイロセンサー３０の出力を用いてフィードバック制御を行うことでアーム２０の振動が増幅される理由を示した説明図である。先ず、図５（ａ）には、関節４１、関節４４、および関節４６の回動軸が同一直線上となる位置まで関節４２、関節４３、および関節４５を回転させて停止させると共に、アーム部材２６の先端に装着したロボットハンド（図示せず）が対象物に対して所定の向きとなるように関節４１、関節４４、および関節４６を回転させて停止させた状態が示されている。この時、アーム２０には、各関節を停止させる反動で関節の回動軸回りの振動が発生する。
【００４４】
図５（ｂ）および図５（ｃ）は、アーム２０の振動のうち関節４１の回動軸と同軸回りの振動（回転）を例示した図表であり、アーム振動の振動モードを図示している。横軸は、アーム２０の基端側（基台１０側）から先端側（アーム部材２６側）までの位置を表しており、縦軸は、振動がない場合を基準として、振動による偏差（角度）を表している。ここで、振動は、主に捻り関節で発生するので、それ以外の要因（各アーム部材の変形など）を省略して説明する。アーム部材２６および関節４６の振動の振幅は等しく、これらは関節４１、関節４４、および関節４６の各振動の振幅を複合したものである。また、関節４４の振動の振幅は、関節４１および関節４４の各振動の振幅を複合したものである。そして、関節４６と関節４４との各振動の振幅の差分が、関節４６に起因する振動の振幅であり、関節４４と関節４１との各振動の振幅の差分が、関節４４に起因する振動の振幅である。尚、図５では、基台１０側からアーム部材２６側を見て時計回りの回転を＋方向とし、反時計回りの回転を−方向とする。
【００４５】
図５（ｂ）に示した振動モードの例では、先ず、関節４１にて＋方向の大きな振動が発生している。そして、関節４４および関節４６でも同様に＋方向の振動が発生しているため、アーム部材２６には＋方向の振動が表れている。この場合には、アーム部材２６に搭載したジャイロセンサー３０の出力に基づいて、図中に白抜きの矢印で示すようにジャイロセンサー３０の出力を小さくする方向（−方向）に関節４１の第１モーター４１ｍをフィードバック制御することによって、アーム２０の振動を抑制することができる。
【００４６】
一方、図５（ｃ）に示した振動モードの例では、先ず、関節４１にて−方向の大きな振動が発生している。関節４４では関節４１の振動を打ち消すように＋方向の振動が発生しているものの、関節４１の振動に比べて小さいので、結果として、関節４４には−方向の振動が表れている。さらに関節４６でも＋方向の振動が発生しており、結果として、関節４６およびアーム部材２６には＋方向の振動が表れている。この場合には、アーム部材２６に搭載したジャイロセンサー３０の出力に基づいて、図中に白抜き矢印で示すようにジャイロセンサー３０の出力を小さくする方向（−方向）に関節４１の第１モーター４１ｍをフィードバック制御すると、関節４１の振動を増幅させることになる。そして、関節４１の振動は、それより先の関節４４や関節４６の振動に影響するので、アーム２０全体として振動が増幅してしまう。
【００４７】
このようにアーム２０の先端（アーム部材２６）が同じ方向に振動している場合でも、アーム２０に多くの関節を備えるロボット１では、各関節の振動の態様は様々であり、アーム２０の先端に搭載したジャイロセンサー３０の出力に基づいて基台１０側の関節４１の第１モーター４１ｍをフィードバック制御することで、アーム２０の振動が増幅してしまうことがある。こうした誤ったフィードバック制御となる可能性は、基台１０とジャイロセンサー３０との間に介在する関節（関節４１の回動軸と同軸回りに回動可能な関節）の数が多くなるほど高くなる。そこで、第１実施例のロボット１では、図１を用いて前述したように、アーム２０を捻る方向に回動可能な捻り関節（関節４１、関節４４、関節４６）のうち、基台１０側から数えて３番目の関節４６よりも基台１０側のアーム部材２４にジャイロセンサー３０を搭載している。
【００４８】
図６は、第１実施例のロボット１において、アーム部材２４に搭載したジャイロセンサー３０の出力に基づいてフィードバック制御を行う例を示した説明図である。図６（ａ）には、図５（ｂ）と同様の振動モードでアーム２０が振動している例が示されている。ジャイロセンサー３０が搭載されたアーム部材２４の振動の振幅は、関節４１および関節４４の各振動の振幅を複合したものであり、アーム部材２４には＋方向の振動が表れている。この場合には、ジャイロセンサー３０の出力に基づいて、図中に白抜きの矢印で示すようにジャイロセンサー３０の出力を小さくする方向（−方向）に関節４１の第１モーター４１ｍをフィードバック制御することによって、アーム２０の振動を抑制することができる。
【００４９】
また、図６（ｂ）には、図５（ｃ）と同様の振動モードでアーム２０が振動している例が示されている。関節４４では関節４１の振動（−方向）を打ち消すように＋方向の振動が発生しているものの、アーム部材２４には依然として−方向の振動が表れている。そのため、ジャイロセンサー３０の出力に基づいて、図中の白抜き矢印で示すようにジャイロセンサー３０の出力を小さくする方向（＋方向）に関節４１の第１モーター４１ｍをフィードバック制御すれば、アーム２０の振動を抑制することができる。
【００５０】
以上のようにアーム部材２４にジャイロセンサー３０を搭載しておけば、関節４１の振動とは逆向きで且つ数倍の角速度の振動が関節４４に発生しない限り、ジャイロセンサー３０の出力に基づくフィードバック制御によってアーム２０の振動が増幅されるようなことはない。そして、一般に関節４４や関節４６よりも大きな荷重がかかる関節４１には、大きな振動が発生する傾向にあることから、関節４１の数倍の角速度の振動が関節４４に発生する可能性は低い。そのため、アーム部材２４に搭載したジャイロセンサー３０の出力に基づくフィードバック制御を行うことにより、フィードバック制御を行わない場合に比べて速やかにアーム２０の振動を抑制することができる。結果として、ロボット１の作業効率を高めることが可能となる。
【００５１】
また、第１実施例のロボット１では、前述したように、関節４１と関節４４との間や、関節４４と関節４６との間に、アーム２０を屈曲させる方向に回動可能な屈曲関節（関節４２、関節４３、関節４５）が設けられている。このため、アーム２０は、関節４６や関節４４の回動軸の軸方向と、関節４１の回動軸の軸方向とが異なる様々な姿勢をとることができる。
【００５２】
また、第１実施例のロボット１では、アーム２０の捻り関節（関節４１、関節４４、関節４６）のうち、基台１０側から数えて２番目の関節４４に接続されたアーム部材２４にジャイロセンサー３０が搭載されている。これにより、基台１０に対して回動（捻り）可能なアーム部材２１にジャイロセンサー３０を搭載する場合に比べて、ジャイロセンサー３０の出力には関節４１から関節４４まで累積した（合成した）多くの振動成分が含まれる。結果として、振動が増幅されてジャイロセンサー３０による振動の検出精度が高まり、さらに、４つの関節４１〜４４で発生する３軸全ての方向の振動成分を検出することができる。このため、１つのジャイロセンサー３０の出力に基づいて４つの関節４１〜４４の第１〜第４モーター４１ｍ〜４４ｍを有効にフィードバック制御することが可能となる。こうして４つの関節４１〜４４の第１〜第４モーター４１ｍ〜４４ｍをフィードバック制御することで、アーム２０の振動をより細かく抑制することができる。
【００５３】
また、第１実施例のロボット１においてジャイロセンサー３０を搭載する位置は、関節４６よりも基台１０側であればアーム部材２４に限られず、図７に示すようにアーム部材２５にジャイロセンサー３０を搭載してもよい。この場合、ジャイロセンサー３０の出力には、関節４１から関節４５までの振動成分が含まれているので、ジャイロセンサー３０の出力に基づいて関節４１〜４５の第１〜第５モーター４１ｍ〜４５ｍをフィードバック制御することが可能となる。尚、ジャイロセンサー３０の出力に基づいて関節４５の第５モーター４５ｍをフィードバック制御する場合、第５モーター制御部５５の制御内容は、基本的には前述した第４モーター制御部５４の制御内容（図４参照）と同様とすればよい。また、ジャイロセンサー３０をアーム部材２５に搭載すると、アーム部材２４に搭載する場合に比べて、基台１０から離れることで振動が増幅されるので、ジャイロセンサー３０による振動の検出精度が高まる。結果として、アーム２０の振動を抑制するための関節４１〜４４の第１〜第４モーター４１ｍ〜４４ｍのフィードバック制御をより精度よく行うことが可能となる。
【００５４】
図８は、第２実施例のロボット２の全体構造を示す説明図である。図８（ａ）には、第２実施例のロボット２の大まかな外形形状が示されている。前述した第１実施例のロボット１は、アーム２０を１つだけ備えた単腕型ロボットであったのに対して、第２実施例のロボット２は、右アーム２０と左アーム６０とを備えた双腕型ロボットである。図示されるように、第２実施例のロボット２は、地面に設置される本体１２と、関節１１によって本体１２に対して回動可能な基台１０とを備えており、右アーム２０および左アーム６０は基台１０に対して回動可能に取り付けられている。本体１２には、ロボット２の全体の動作を制御する制御部５０や、関節１１を駆動するための本体モーター１１ｍが搭載されており、基台１０には、ジャイロセンサー３２が取り付けられている。ジャイロセンサー３２は、前述した第１実施例のジャイロセンサー３０と同様に、３軸（Ｘ軸、Ｙ軸、Ｚ軸）を回動軸とする角速度を出力可能であり、Ｚ軸が関節１１の回動軸と同じ方向となるように取り付けられている。
【００５５】
右アーム２０は、７つのアーム部材２１〜２７と、７つの関節４１〜４７とを備えている。アーム部材２１は、関節４１によって基台１０に対して回動（捻り）可能に取り付けられており、アーム部材２２は、関節４２によってアーム部材２１に対して屈曲可能に取り付けられている。また、アーム部材２３は、関節４３によってアーム部材２２に対して回動（捻り）可能に取り付けられており、アーム部材２４は、関節４４によってアーム部材２３に対して屈曲可能に取り付けられている。更に、アーム部材２５は、関節４５によってアーム部材２４に対して回動（捻り）可能に取り付けられており、アーム部材２６は、関節４６によってアーム部材２５に対して屈曲可能に取り付けられ、アーム部材２７は、関節４７によってアーム部材２６に対して回動（捻り）可能に取り付けられている。尚、アーム部材２７の先端には、ロボットハンドなどの各種の治具（エンドエフェクター）が装着される。
【００５６】
また、関節４１〜４７の部分には、それぞれの関節を駆動するためのモーター４１ｍ〜４７ｍが搭載されている。さらに、アーム部材２１〜２７のうちアーム部材２３にはジャイロセンサー３０が取り付けられている。第２実施例のジャイロセンサー３０は、３軸（Ｘ軸、Ｙ軸、Ｚ軸）のうち何れかの軸が関節４３の回動軸と同じ方向となるように取り付けられている。
【００５７】
左アーム６０は、基台１０に対して右アーム２０と左右対称であり、７つのアーム部材６１〜６７と、７つの関節７１〜７７とを備えている。また、関節７１〜７７の部分には、それぞれの関節を駆動するためのモーター７１ｍ〜７７ｍが搭載されており、アーム部材６１〜６７のうちアーム部材６３にはジャイロセンサー３１が取り付けられている。左アーム６０は、基本的には右アーム２０と同様であるため、以下では右アーム２０を例として説明する。尚、第２実施例のロボット２では、右アーム２０と左アーム６０とが左右対称であるものとして説明するが、必ずしも左右対称である必要はなく、右アーム２０と左アーム６０とを異なる構成（例えば、アーム部材および関節の数が異なる）としてもよい。
【００５８】
図８（ｂ）には、第２実施例のロボット２の本体１２や、関節１１、基台１０、右アーム２０のアーム部材２１〜２７および関節４１〜４７、左アーム６０のアーム部材６１〜６７および関節７１〜７７の位置関係が模式的に示されている。以下では、関節１１の角度を角度θ０で表し、関節４１の角度を角度θ１、関節４２の角度を角度θ２、関節４３の角度を角度θ３、関節４４の角度を角度θ４、関節４５の角度を角度θ５、関節４６の角度を角度θ６、関節４７の角度を角度θ７で表すものとする。
【００５９】
図９は、第２実施例の制御部５０の内部構成を示したブロック図である。図示されるように制御部５０には、右アーム２０のモーター４１ｍ〜４７ｍを制御するための右アーム制御部５０Ｒや、左アーム６０のモーター７１ｍ〜７７ｍを制御するための左アーム制御部５０Ｌ、本体モーター１１ｍを制御するための本体制御部８０、ロボット２全体の動作を制御するための全体制御部５０ａ、制御プログラムなどを記憶したメモリー５０ｍなどが搭載されている。
【００６０】
右アーム２０のモーター４１ｍ〜４７ｍには、回転角度を検出する角度センサー４１ｓ〜４７ｓが搭載されている。同様に、左アーム６０のモーター７１ｍ〜７７ｍには、角度センサー７１ｓ〜７７ｓが搭載されている。また、本体モーター１１ｍには、角度センサー１１ｓが搭載されている。これら角度センサー４１ｓ〜４７ｓ，７１ｓ〜７７ｓ，１１ｓの出力は、制御部５０に入力されている。また、右アーム２０のジャイロセンサー３０や、左アーム６０のジャイロセンサー３１、基台１０のジャイロセンサー３２の出力も制御部５０に入力されている。右アーム制御部５０Ｒ、左アーム制御部５０Ｌ、本体制御部８０は、これらの出力に基づいてモーターの動作を制御する。
【００６１】
図１０は、本体制御部８０が行う制御を示したブロック図である。本体制御部８０は、角度センサー１１ｓで検出した回転角度θ０を用いて位置フィードバック制御および角速度フィードバック制御を行うと共に、ジャイロセンサー３２の出力を用いて角速度フィードバック制御を行う。図１０中では、回転角度θ０を用いて行うフィードバック制御を実線の矢印で表し、ジャイロセンサー３２の出力を用いて行うフィードバック制御を破線の矢印で表している。
【００６２】
図１０に示されるように、全体制御部５０ａからの目標位置Ｐｃ、および角度センサー１１ｓで検出した回転角度θ０は位置制御部８０ａに入力される。位置制御部８０ａは、目標位置Ｐｃと回転角度θ０との偏差に応じた目標角速度を生成して角速度制御部８０ｂに入力する。また、角度センサー１１ｓで検出した回転角度θ０が角速度算出部８０ｃに入力されて角速度に変換された後、角速度制御部８０ｂに入力される。角速度制御部８０ｂは、位置制御部８０ａからの目標角速度と角速度算出部８０ｃからの角速度との偏差に応じて、本体モーター１１ｍの動作を制御する。さらに、ジャイロセンサー３２の出力が周波数フィルター８０ｅおよび振動算出部８０ｆを介して角速度制御部８０ｂに入力され、本体モーター１１ｍの制御に反映される。
【００６３】
周波数フィルター８０ｅは、ジャイロセンサー３２から出力される角速度のうち、基台１０の振動に対応する周波数を通過させる。尚、基台１０の振動に対応する角速度を得るために、周波数フィルター８０ｅを用いる代わりに、ジャイロセンサー３２が出力する角速度から関節１１の角速度を減算することで求めてもよい。次に、振動算出部８０ｆは、周波数フィルター８０ｅを通過した周波数の角速度から、関節１１の回動軸回りの角速度成分（振動角速度）を抽出して角速度制御部８０ｂに入力する。角速度制御部８０ｂは、振動算出部８０ｆからの振動角速度を減衰させるように本体モーター１１ｍの動作を制御する。
【００６４】
こうして角速度制御部８０ｂが本体モーター１１ｍを制御する結果、角度センサー１１ｓで検出する回転角度θ０が変化し、位置制御部８０ａに入力されることで位置フィードバック制御が行われ、角速度算出部８０ｃを介して角速度制御部８０ｂに入力されることで角速度フィードバック制御が行われる。また、本体モーター１１ｍの駆動で基台１０が回転することによってジャイロセンサー３２が角速度を出力し、その出力が周波数フィルター８０ｅおよび振動算出部８０ｆを介して角速度制御部８０ｂに入力されることで角速度フィードバック制御が行われる。
【００６５】
図１１は、第２実施例の右アーム制御部５０Ｒの内部構成を示したブロック図である。図示されるように右アーム制御部５０Ｒには、第１〜第７モーター４１ｍ〜４７ｍのそれぞれを制御するための第１〜第７モーター制御部５１〜５７が搭載されている。それぞれのモーター制御部５１〜５７は、制御対象となるモーター４１ｍ〜４７ｍに搭載された角度センサー４１ｓ〜４７ｓで検出した回転角度θ１〜θ７に基づいて、それぞれのモーター４１ｍ〜４７ｍの動作を制御する。但し、第１〜第３モーター制御部５１〜５３については、対応する角度センサー４１ｓ〜４３ｓで検出した回転角度θ１〜θ３だけでなく、右アーム２０のジャイロセンサー３０および基台１０のジャイロセンサー３２の出力も用いて第１〜第３モーター４１ｍ〜４３ｍの動作を制御する。以下では、各モーター制御部が行う制御について説明するが、第２実施例の第４〜第７モーター制御部５４〜５７の制御内容は、前述した第１実施例の第６モーター制御部５６の制御内容（図３参照）と基本的には同様であることから、説明を省略する。また、第１〜第３モーター制御部５１〜５３の制御内容は、制御対象が第１〜第３モーター４１ｍ〜４３ｍと異なるものの基本的には同様であるため、第３モーター制御部５３を例として説明する。
【００６６】
図１２は、第３モーター制御部５３が行う制御を示したブロック図である。第３モーター制御部５３は、角度センサー４３ｓで検出した回転角度θ３を用いて位置フィードバック制御および角速度フィードバック制御を行うと共に、ジャイロセンサー３０およびジャイロセンサー３２の出力を用いて角速度フィードバック制御を行う。図１２中では、回転角度θ３を用いて行うフィードバック制御を実線の矢印で表し、ジャイロセンサー３０，３２の出力を用いて行うフィードバック制御を破線の矢印で表している。
【００６７】
図１２に示されるように、全体制御部５０ａからの目標位置Ｐｃ、および角度センサー４３ｓで検出した回転角度θ３は位置制御部５３ａに入力される。位置制御部５３ａは、目標位置Ｐｃと回転角度θ３との偏差に応じた目標角速度を生成して角速度制御部５３ｂに入力する。また、角度センサー４３ｓで検出した回転角度θ３が角速度算出部５３ｃに入力されて角速度に変換された後、角速度制御部５３ｂに入力される。角速度制御部５３ｂは、位置制御部５３ａからの目標角速度と角速度算出部５３ｃからの角速度との偏差に応じて、第３モーター４３ｍの動作を制御する。さらに、ジャイロセンサー３０，３２の出力が周波数フィルター５３ｅ，５３ｇおよび振動算出部５３ｆを介して角速度制御部５３ｂに入力され、第３モーター４３ｍの制御に反映される。
【００６８】
周波数フィルター５３ｅは、ジャイロセンサー３０から出力される角速度のうち、アーム部材２３の振動に対応する周波数を通過させる。また、周波数フィルター５３ｇは、ジャイロセンサー３２から出力される角速度のうち、基台１０の振動に対応する周波数を通過させる。アーム部材２３に搭載されたジャイロセンサー３０の出力には、基台１０の振動成分も含まれている。そこで、振動算出部５３ｆは、周波数フィルター５３ｅを通過した角速度と、周波数フィルター５３ｇを通過した角速度との差分を算出することで基台１０に対するアーム部材２３の振動成分を求める。さらに、振動算出部５３ｆは、その差分の角速度から、関節４３の回動軸周りの角速度成分（振動角速度）を抽出して角速度制御部５３ｂに入力する。尚、第２モーター制御部５２の振動算出部５２ｆは関節４２の回動軸回りの角速度成分を抽出し、第１モーター制御部５１の振動算出部５１ｆは関節４１の回動軸回りの角速度成分を抽出する。そして、角速度制御部５３ｂは、振動算出部５３ｆからの振動角速度を減衰させるように第３モーター４３ｍの動作を制御する。
【００６９】
こうして角速度制御部５３ｂが第３モーター４３ｍを制御する結果、角度センサー４３ｓで検出する回転角度θ３が変化し、位置制御部５３ａに入力されることで位置フィードバック制御が行われ、角速度算出部５３ｃを介して角速度制御部５３ｂに入力されることで角速度フィードバック制御が行われる。また、第３モーター４３ｍの駆動でアーム部材２３が回転することによってジャイロセンサー３０が角速度を出力し、その出力が周波数フィルター５３ｅおよび振動算出部５３ｆを介して角速度制御部５３ｂに入力されることで角速度フィードバック制御が行われる。
【００７０】
以上に説明したように、第２実施例のロボット２では、右アーム２０を捻る方向に回動可能な捻り関節（関節４１、関節４３、関節４５、関節４７）のうち、基台１０側から数えて３番目の関節４５よりも基台１０側のアーム部材２３にジャイロセンサー３０を搭載している。このため、前述した第１実施例と同様に、ジャイロセンサー３０の出力に基づくフィードバック制御によって右アーム２０の振動が増幅されるようなことはなく、フィードバック制御を行わない場合に比べて速やかに右アーム２０の振動を抑制することができる。
【００７１】
また、本体１２に対して基台１０が回動可能である第２実施例のロボット２では、基台１０に搭載したジャイロセンサー３２の出力に基づくフィードバック制御により、基台１０の振動を抑制することができる。そして、アーム部材２３に搭載したジャイロセンサー３０の出力と、基台１０に搭載したジャイロセンサー３２の出力とに基づいて、基台１０に対するアーム部材２３の振動を検出することができるので、基台１０の振動の影響を受け難くなり、ジャイロセンサー３０の出力のみを用いる場合に比べて速やかに右アーム２０の振動を抑制することができる。結果として、ロボット２の作業効率を高めることが可能となる。
【００７２】
また、第２実施例のロボット２において右アーム２０のジャイロセンサー３０を搭載する位置は、関節４５よりも基台１０側であればアーム部材２３に限られず、例えばアーム部材２４にジャイロセンサー３０を搭載してもよい。この場合、ジャイロセンサー３０の出力には、関節４４までの振動成分が含まれているので、ジャイロセンサー３０の出力に基づいて関節４１〜４４の第１〜第４モーター４１ｍ〜４４ｍをフィードバック制御することが可能となる。こうして４つの関節４１〜４４の第１〜第４モーター４１ｍ〜４４ｍをフィードバック制御することで、右アーム２０の振動をより細かく抑制することができる。尚、ジャイロセンサー３０の出力に基づいて関節４４の第４モーター４４ｍをフィードバック制御する場合、第４モーター制御部５４の制御内容は、前述した第３モーター制御部５３の制御内容（図１２参照）と同様とすればよい。
【００７３】
以上、本発明のロボットの実施例について説明したが、本発明は上記の実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
【符号の説明】
【００７４】
１…ロボット（単腕型）、    ２…ロボット（双腕型）、    １０…基台、
１１…関節、    １１ｍ…本体モーター、    １１ｓ…角度センサー、
１２…本体、    ２０…アーム（右アーム）、    ２１〜２７…アーム部材、
３０〜３２…ジャイロセンサー、    ４１〜４７…関節、
４１ｍ〜４７ｍ…モーター、    ４１ｓ〜４７ｓ…角度センサー、
５０…制御部、    ５０ａ…全体制御部、    ５０ｍ…メモリー、
５０Ｒ…右アーム制御部、    ５０Ｌ…左アーム制御部、
５１〜５７…モーター制御部、    ６０…左アーム、    ６１〜６７…アーム部材、
７１〜７７…関節、    ７１ｍ〜７７ｍ…モーター、
７１ｓ〜７７ｓ…角度センサー、    ８０…本体制御部。
【図１】
2015150630.tif 000003
【図２】
2015150630.tif 000004
【図３】
2015150630.tif 000005
【図４】
2015150630.tif 000006
【図５】
2015150630.tif 000007
【図６】
2015150630.tif 000008
【図７】
2015150630.tif 000009
【図８】
2015150630.tif 000010
【図９】
2015150630.tif 000011
【図１０】
2015150630.tif 000012
【図１１】
2015150630.tif 000013
【図１２】
2015150630.tif 000014