(57)【要約】【課題】ロボットの動作中にアームに発生する振動を抑制し、稼動中のアーム位置精度の向上を図る。【解決手段】ロボットの制御装置、制御方法は、連結された複数のリンクを含み構成されたアーム２０と、アーム２０を構成するリンクを駆動する駆動部４０とを有するロボットのアームの振動を抑制するロボットの制御方法であって、振動を抑制する対象の位置としての制振位置が移動するアーム実速度を検出し、検出されたアーム実速度と、駆動部４０の駆動量を基に算出された、制振位置が駆動されるアーム駆動速度と、を比較して得られるアームひずみ速度を算出し、算出されたアームひずみ速度に基づいて駆動部を補正制御することを特徴とする。【選択図】図２
2014028407.tif 000002
【特許請求の範囲】
【請求項１】
連結された複数のリンクを含み構成されたアームと、前記アームを備えるロボット本体
と、複数の前記リンクをそれぞれ駆動する複数の駆動部とを有するロボット、の前記アー
ムの振動を抑制するロボットの制御装置であって、
前記アームの振動を抑制する対象の位置としての制振位置に取り付けられ、前記制振位
置の加速度および角速度の少なくとも一方を検出する慣性センサーと、
前記制振位置と前記ロボット本体との間にある前記リンクを駆動する前記駆動部の駆動
量を検出する角度センサーと、
前記慣性センサーが検出する前記制振位置の加速度および角速度の少なくとも一方から
前記制振位置のアーム実速度を算出する第１演算部と、
前記角度センサーが検出する前記駆動部の駆動量から駆動速度を算出し、前記駆動量お
よび前記駆動速度に基づき前記制振位置のアーム駆動速度を算出する第２演算部と、
前記アーム実速度と前記アーム駆動速度とに基づき、前記制振位置の前記アーム実速度
と前記アーム駆動速度の差に対応するアームひずみ速度を算出する第３演算部と、
前記アームひずみ速度に基づき、前記ロボット本体と前記制振位置との間にある前記リ
ンクを駆動する前記駆動部毎の補正速度を算出する第４演算部と、
前記駆動量と、前記駆動速度と、前記補正速度と、に基づき、前記ロボット本体と前記
制振位置との間にある前記リンクを駆動する前記駆動部を制御する制御部と、を備えるこ
とを特徴とするロボットの制御装置。
【請求項２】
前記第３演算部には、算出した前記アームひずみ速度の波形に含まれる所定の周波数以
下の低周波成分を除去するフィルターを更に備えることを特徴とする請求項１に記載のロ
ボットの制御装置。
【請求項３】
連結された複数のリンクを含み構成されたアームと、前記リンクを駆動する駆動部とを
有するロボット、の前記アームの振動を抑制するロボットの制御方法であって、
前記アームの振動を抑制する対象の位置としての制振位置が移動する速度であるアーム
実速度を検出するステップと、
検出された前記アーム実速度と、前記駆動部の駆動量を基に算出された、前記制振位置
が駆動される速度であるアーム駆動速度と、を比較して得られる前記アーム実速度と前記
アーム駆動速度の差に対応するアームひずみ速度を算出するステップと、
算出された前記アームひずみ速度に基づいて前記駆動部を補正制御するステップと、を
含むことを特徴とするロボットの制御方法。
【請求項４】
連結された複数のリンクを含み構成されたアームと、前記アームを備えるロボット本体
と、複数の前記リンクをそれぞれ駆動する複数の駆動部とを有するロボット、の前記アー
ムの振動を抑制するロボットの制御方法であって、
前記アームの振動を抑制する対象の位置としての制振位置に取り付けられた慣性センサ
ーによって前記制振位置の加速度および角速度の少なくとも一方を検出する慣性量検出ス
テップと、
前記制振位置と前記ロボット本体との間にある前記リンクを駆動する前記駆動部の駆動
量を角度センサーによって検出する駆動量検出ステップと、
前記慣性センサーが検出する前記制振位置の加速度および角速度の少なくとも一方から
前記制振位置のアーム実速度を算出するアーム実速度算出ステップと、
前記角度センサーが検出する前記駆動部の駆動量から駆動速度を算出し、前記駆動量お
よび前記駆動速度に基づき前記制振位置のアーム駆動速度を算出するアーム駆動速度算出
ステップと、
前記アーム実速度と前記アーム駆動速度とに基づき前記制振位置のアームひずみ速度を
算出するアームひずみ速度算出ステップと、
前記アームひずみ速度に基づき、前記ロボット本体と前記制振位置との間にある前記リ
ンクを駆動する前記駆動部毎の補正速度を算出するひずみ補正速度算出ステップと、
前記駆動量と、前記駆動速度と、前記補正速度と、に基づき、前記ロボット本体と前記
制振位置との間にある前記リンクを駆動する前記駆動部を制御する駆動部制御ステップと
、を含むことを特徴とするロボットの制御方法。
【請求項５】
前記アームひずみ速度算出ステップには、算出した前記アームひずみ速度の波形に含ま
れる所定の周波数以下の低周波成分を除去する低周波成分除去ステップを更に含むことを
特徴とする請求項４に記載のロボットの制御方法。
【請求項６】
前記ひずみ補正速度算出ステップは、前記制振位置と前記ロボット本体との間にある前
記リンクを駆動する前記駆動部のうち、予め選択した駆動部を対象に行なうことを特徴と
する請求項４または請求項５に記載のロボットの制御方法。
【請求項７】
前記ひずみ補正速度算出ステップにおいて、前記ロボット本体と前記制振位置との間に
ある前記リンクを駆動する前記駆動部毎の補正速度の算出は、予め設定した前記駆動部毎
の重み付けを伴って行なうことを特徴とする請求項４ないし請求項６のいずれか一項に記
載のロボットの制御方法。
【請求項８】
請求項１または請求項２に記載のロボットの制御装置を備えることを特徴とするロボッ
ト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御装置、制御方法、およびロボットに関する。
【背景技術】
【０００２】
産業用ロボットに対しては、その高速化、多機能化、高精度化、省電力化の更なる要求
が継続している。それらを具現する多関節ロボットは、高速化、省電力化を実現するため
の軽量化と、高精度化を実現する高剛性化とが相反する要素であるため、制御技術として
それらの両立が図られてきた。例えば、特許文献１では、ロボットの動作が停止するとき
に発生するロボット先端の振動を抑制する方法が提案されている。具体的には、ロボット
の先端に加速度センサーを備え、検出したねじれ角速度とねじれ角度とに基づいて、ねじ
れが解消するような補償量を、各リンクを駆動するモーターの制御入力に加算することに
より制振する方法である。これにより、停止時の位置精度の向上や、振動が治まるまでの
待機時間の短縮が図られた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３６３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の制御方法（制振方法）では、ロボットの動作中に発
生している振動を抑制することができないという課題があった。具体的には、加速度検出
のタイミングが、ロボットの動作が停止するときを前提としたものであるため、例えば、
ロボットアームが移動中に発生している振動や動作ひずみを解消することができず、ロボ
ットに塗装や溶接など、移動させながらの作業を行なわせた場合には、振動によるそれら
の作業の精度低下を抑制することができないという課題があった。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の
適用例または形態として実現することが可能である。
【０００６】
［適用例１］本適用例に係るロボットの制御装置は、連結された複数のリンクを含み構
成されたアームと、前記アームを備えるロボット本体と、複数の前記リンクをそれぞれ駆
動する複数の駆動部とを有するロボット、の前記アームの振動を抑制するロボットの制御
装置であって、前記アームの振動を抑制する対象の位置としての制振位置に取り付けられ
、前記制振位置の加速度および角速度の少なくとも一方を検出する慣性センサーと、前記
制振位置と前記ロボット本体との間にある前記リンクを駆動する前記駆動部の駆動量を検
出する角度センサーと、前記慣性センサーが検出する前記制振位置の加速度および角速度
の少なくとも一方から前記制振位置のアーム実速度を算出する第１演算部と、前記角度セ
ンサーが検出する前記駆動部の駆動量から駆動速度を算出し、前記駆動量および前記駆動
速度に基づき前記制振位置のアーム駆動速度を算出する第２演算部と、前記アーム実速度
と前記アーム駆動速度とに基づき、前記制振位置の前記アーム実速度と前記アーム駆動速
度の差に対応するアームひずみ速度を算出する第３演算部と、前記アームひずみ速度に基
づき、前記ロボット本体と前記制振位置との間にある前記リンクを駆動する前記駆動部毎
の補正速度を算出する第４演算部と、前記駆動量と、前記駆動速度と、前記補正速度と、
に基づき、前記ロボット本体と前記制振位置との間にある前記リンクを駆動する前記駆動
部を制御する制御部と、を備えることを特徴とする。
【０００７】
本適用例に係るロボットの制御装置によれば、慣性センサーから得られるアーム実速度
の情報と、角度センサーから得られるアーム駆動速度の情報とに基づいて制振位置のアー
ムひずみ速度が算出される。また、算出されたアームひずみ速度に基づいて、ロボット本
体と制振位置との間にあるリンクを駆動する駆動部毎の補正速度が算出される。この駆動
部毎の補正速度に基づいてそれぞれの駆動部を制御することで、制振位置に発生する振動
を抑制することができる。
【０００８】
更に詳しく説明すると、例えば、軽量で剛性が高く、撓みや撓みによる振動などが無い
理想的なロボットの場合には、実際のアームの速度が、略このアーム駆動速度を示すこと
になる。これに対し、慣性センサーから得られるアーム実速度は、慣性センサーが取り付
けられた制振位置の実際の動きによって検出される速度である。つまり、理想的な剛性を
有さないアームの撓みなどにより、実際の動作に伴って発生する振動などの速度成分を含
んだ速度である。従って、アーム実速度とアーム駆動速度との差異を評価することによっ
て、撓みや振動による速度成分を抽出することができる。抽出したこの速度成分を、それ
ぞれのリンクを駆動する駆動部に補正速度として分配し、撓みや振動を抑制するトルクを
発生させることで、振動の抑制をはかることが可能となる。
【０００９】
アーム実速度とアーム駆動速度との差異評価による振動の抑制を随時行なうことで、停
止時の振動ばかりでなく、駆動時（動作中）におけるアームの振動も抑制することができ
る。その結果、駆動時のアーム位置精度をより高く制御することができる。また、停止時
の振動に対しても、アームの停止動作を待たずに抑制することができるため、停止後に振
動が治まるまでの待機時間を短縮することが出来る。
以上のように、本適用例に係るロボットの制御装置によれば、多関節ロボットなどにお
いて、より高精度化、高速化などをはかることができる。
【００１０】
［適用例２］上記適用例に係るロボットの制御装置において、前記第３演算部には、算
出した前記アームひずみ速度の波形に含まれる所定の周波数以下の低周波成分を除去する
フィルターを更に備えることが好ましい。
【００１１】
本適用例のように、アームひずみ速度の低周波成分を除去するフィルターを更に備える
ことにより、アーム実速度とアーム駆動速度との差異評価による振動成分の抽出をより適
確に行なえるようになる。具体的には、アームひずみ速度の低周波成分を除去することに
より、ロボットアームの本来の動作を抑制するような補正が誤って行なわれることや、慣
性センサーのオフセット誤差などの影響を軽減できるようになる。
【００１２】
［適用例３］本適用例に係るロボットの制御方法は、連結された複数のリンクを含み構
成されたアームと、前記リンクを駆動する駆動部とを有するロボット、の前記アームの振
動を抑制するロボットの制御方法であって、前記アームの振動を抑制する対象の位置とし
ての制振位置が移動する速度であるアーム実速度を検出するステップと、検出された前記
アーム実速度と、前記駆動部の駆動量を基に算出された、前記制振位置が駆動される速度
であるアーム駆動速度と、を比較して得られる前記アーム実速度と前記アーム駆動速度の
差に対応するアームひずみ速度を算出するステップと、算出された前記アームひずみ速度
に基づいて前記駆動部を補正制御するステップと、を含むことを特徴とする。
【００１３】
本適用例に係るロボットの制御方法によれば、アーム実速度とアーム駆動速度とを比較
して得られるアームひずみ速度を算出するステップと、算出されたアームひずみ速度に基
づいて駆動部を補正制御するステップとを含むことにより、ロボットの動作中における振
動を抑制することができる。その結果、駆動時（動作中）のアーム位置精度をより高く制
御することができる。また、停止時の振動に対しても、アームの停止動作を待たずに抑制
することができるため、停止後に振動が治まるまでの待機時間を短縮することが出来る。
つまり、本適用例に係るロボットの制御方法によれば、多関節ロボットなどにおいて、よ
り高精度化、高速化などをはかることができる。
【００１４】
［適用例４］本適用例に係るロボットの制御方法は、連結された複数のリンクを含み構
成されたアームと、前記アームを備えるロボット本体と、複数の前記リンクをそれぞれ駆
動する複数の駆動部とを有するロボット、の前記アームの振動を抑制するロボットの制御
方法であって、前記アームの振動を抑制する対象の位置としての制振位置に取り付けられ
た慣性センサーによって前記制振位置の加速度および角速度の少なくとも一方を検出する
慣性量検出ステップと、前記制振位置と前記ロボット本体との間にある前記リンクを駆動
する前記駆動部の駆動量を角度センサーによって検出する駆動量検出ステップと、前記慣
性センサーが検出する前記制振位置の加速度および角速度の少なくとも一方から前記制振
位置のアーム実速度を算出するアーム実速度算出ステップと、前記角度センサーが検出す
る前記駆動部の駆動量から駆動速度を算出し、前記駆動量および前記駆動速度に基づき前
記制振位置のアーム駆動速度を算出するアーム駆動速度算出ステップと、前記アーム実速
度と前記アーム駆動速度とに基づき前記制振位置のアームひずみ速度を算出するアームひ
ずみ速度算出ステップと、前記アームひずみ速度に基づき、前記ロボット本体と前記制振
位置との間にある前記リンクを駆動する前記駆動部毎の補正速度を算出するひずみ補正速
度算出ステップと、前記駆動量と、前記駆動速度と、前記補正速度と、に基づき、前記ロ
ボット本体と前記制振位置との間にある前記リンクを駆動する前記駆動部を制御する駆動
部制御ステップと、を含むことを特徴とする。
【００１５】
本適用例に係るロボットの制御方法によれば、慣性センサーから得られるアーム実速度
の情報と、角度センサーから得られるアーム駆動速度の情報とに基づいて制振位置のアー
ムひずみ速度が算出される。また、算出されたアームひずみ速度に基づいて、ロボット本
体と制振位置との間にあるリンクを駆動する駆動部毎の補正速度が算出される。この駆動
部毎の補正速度に基づいてそれぞれの駆動部を制御することで、制振位置に発生する振動
を抑制することができる。
【００１６】
更に詳しく説明すると、例えば、軽量で剛性が高く、撓みや撓みによる振動などが無い
理想的なロボットの場合には、実際のアームの速度が、略このアーム駆動速度を示すこと
になる。これに対し、慣性センサーから得られるアーム実速度は、慣性センサーが取り付
けられた制振位置の実際の動きによって検出される速度である。つまり、理想的な剛性を
有さないアームの撓みなどにより、実際の動作に伴って発生する振動などの速度成分を含
んだ速度である。従って、アーム実速度とアーム駆動速度との差異を評価することによっ
て、振動による速度成分を抽出することができる。抽出したこの振動の速度成分を、それ
ぞれのリンクを駆動する駆動部に補正速度として分配し、振動を抑制するトルクを発生さ
せることで、振動の抑制をはかることが可能となる。
【００１７】
アーム実速度とアーム駆動速度との差異評価による振動の抑制を随時行なうことで、停
止時の振動ばかりでなく、駆動時（動作中）におけるアームの振動も抑制することができ
る。その結果、駆動時のアーム位置精度をより高く制御することができる。また、停止時
の振動に対しても、アームの停止動作を待たずに抑制することができるため、停止後に振
動が治まるまでの待機時間を短縮することが出来る。
以上のように、本適用例に係るロボットの制御方法によれば、多関節ロボットなどにお
いて、より高精度化、高速化などをはかることができる。
【００１８】
［適用例５］上記適用例に係るロボットの制御方法において、前記アームひずみ速度算
出ステップには、算出した前記アームひずみ速度の波形に含まれる所定の周波数以下の低
周波成分を除去する低周波成分除去ステップを更に含むことが好ましい。
【００１９】
本適用例のように、アームひずみ速度の低周波成分を除去する低周波成分除去ステップ
を更に含むことにより、アーム実速度とアーム駆動速度との差異評価による振動成分の抽
出をより適確に行なえるようになる。具体的には、アームひずみ速度の低周波成分を除去
することにより、ロボットアームの本来の動作を抑制するような補正が誤って行なわれる
ことや、慣性センサーのオフセット誤差などの影響を軽減できるようになる。
【００２０】
［適用例６］上記適用例に係るロボットの制御方法において、前記ひずみ補正速度算出
ステップは、前記制振位置と前記ロボット本体との間にある前記リンクを駆動する前記駆
動部のうち、予め選択した駆動部を対象に行なうことが好ましい。
【００２１】
本適用例に係るロボットの制御方法によれば、例えば、予め、振動を抑制する制御の必
要が無い駆動部がわかっている場合や、意図して制御を行わない駆動部がある場合などに
、その駆動部を制御の対象から外しておくことで、各ステップの処理がより簡略化され、
処理スピードをあげるなど、より効率的に処理を行なうことができる。
【００２２】
［適用例７］上記適用例に係るロボットの制御方法の前記ひずみ補正速度算出ステップ
において、前記ロボット本体と前記制振位置との間にある前記リンクを駆動する前記駆動
部毎の補正速度の算出は、予め設定した前記駆動部毎の重み付けを伴って行なうことが好
ましい。
【００２３】
本適用例に係るロボットの制御方法によれば、駆動部毎の補正速度の大きさを、予め設
定した駆動部毎の重み付けで配分することにより、ロボットの仕様や特性、またはロボッ
トに行なわせる作業負荷（例えば、ロボットハンドが保持する物の重さなど）に合わせて
、より効果的な振動の抑制制御を行なうことができる。具体的には、例えば、ロボット本
体に近い部分の駆動部の制振トルクをより大きく設定することで、振動の抑制をより効果
的に行なうことができたり、ロボットの一連の動作の中で、ロボットハンドが保持する物
が変わり、重さが変化する場合などにおいて、振動の抑制をより効果的に行なうことがで
きたりする。
【００２４】
［適用例８］本適用例に係るロボットは、適用例１または適用例２に記載のロボットの
制御装置を備えることを特徴とする。
【００２５】
本適用例によれば、ロボットとして上記のロボットの制御装置を用いることにより、ロ
ボットの動作中に発生している振動をより効果的に抑制することができるようになる。そ
の結果、より高精度化、高速化などがはかられたロボットを提供することができる。例え
ば、アームを移動させながら高精度の作業を行なわせる場合などにおいて、振動によるそ
れらの作業の精度低下を抑制することができる。
【図面の簡単な説明】
【００２６】
【図１】実施形態１に係るロボットのリンクモデルを示す概略図。
【図２】実施形態１に係るロボットの制御装置の機能ブロック図。
【図３】ロボットの制御方法としての制振方法を示すフローチャート。
【図４】実施形態２に係るロボットのリンクモデルを示す概略図。
【図５】実施形態３に係るロボットのリンクモデルを示す概略図。
【図６】実施形態４に係るロボットの概略図。
【発明を実施するための形態】
【００２７】
以下に本発明を具体化した実施形態について、図面を参照して説明する。以下は、本発
明の一実施形態であって、本発明を限定するものではない。なお、以下の各図においては
、説明を分かりやすくするため、実際とは異なる尺度で記載している場合がある。
【００２８】
（実施形態１）
まず、実施形態１に係るロボットの制御装置および制御方法について説明する。
図１は、実施形態１に係るロボットの制御装置を搭載するロボット２００のリンクモデ
ルを示す概略図である。なお、図１において、ロボットの制御装置は図示を省略している
。
ロボット２００は、６軸の多関節ロボットであり、連結された６つのリンク１０（１０
ａ〜１０ｆ）を含み構成されたアーム２０と、アーム２０を備えるロボット本体３０と、
リンク１０をそれぞれ駆動する６つの駆動部４０（４０ａ〜４０ｆ）などから構成されて
いる。
以下、“アーム”は、“複数のリンクが連結された構造体”として説明する。また、そ
れぞれのリンクを連結する関節としての連結部は、それぞれのリンクを駆動する機能を持
つ駆動部として説明する。
【００２９】
アーム２０は、６つのリンク１０ａ〜１０ｆが順に駆動部４０ａ〜４０ｆを介して連結
され、アーム２０の一方の端部を構成するリンク１０ｆの先端部は、ハンド部としてハン
ドツールや溶接ガン、スプレーガンなど（図示省略）が備えられる。
アーム２０の他方の端部は、駆動部４０ａを介してロボット本体３０に連結されている
。
駆動部４０ａ，４０ｄ，４０ｆは、連結するリンク１０ａ，１０ｄ，１０ｆの軸を回転
駆動させるモーターを備えている。
駆動部４０ｂ，４０ｃ，４０ｅは、連結するリンク１０ｂ，１０ｃ，１０ｅの連結角度
が変わるようにリンクを回動させるモーターを備えている。
【００３０】
上記のような構成のロボット２００は、アーム２０の一方の端部がロボット本体３０に
支持される片持ち構造であるため、アーム２０には、構造体としてのアーム２０の剛性や
動作スピード、ハンド部の重量負荷などに応じた撓みや、撓みによる振動が発生する。ア
ーム２０の動作位置精度の向上や、動作のスピードアップなどを図る場合に、予めこの撓
み量や振動を考慮したプログラミングにより、位置精度を向上させ、また高速な動作の位
置制御を行なうこともできるが、その場合のプログラミングの負荷が大きく、あるいは動
作解析など大きな困難が伴う。そのため、動作中に発生する撓みや振動を検知しながら、
それらを抑制する制御を行なうことがより簡便であり好ましい。
本実施形態に係るロボットの制御装置は、この制御機能を有している。以下にその機能
について説明する。
【００３１】
図２は、実施形態１に係るロボットの制御装置としての制振装置１００の機能ブロック
図である。
制振装置１００は、動作中の、あるいは停止時のロボット２００において、アーム２０
に発生する撓みや振動（以下“撓みや振動”を、撓みも含めて“振動”という）を抑制す
るロボットの制御装置であって、角度センサーとしてのエンコーダー５０（５０ａ〜５０
ｆ）、慣性センサー６０、演算制御部８０などから構成される。
【００３２】
まず、エンコーダー５０、慣性センサー６０について、図１に戻り説明する。
エンコーダー５０（５０ａ〜５０ｆ）は、駆動部４０ａ〜４０ｆが備えるモーターのそ
れぞれの回転角度θ1〜θ6、つまり駆動部４０の駆動量を検出する。
慣性センサー６０は、６軸センサーであり、取り付け位置の加速度および角速度を検出
する。つまり、慣性センサー６０は、図１においてＸ，Ｙ，Ｚ軸方向の加速度（ｘ”，ｙ
”，ｚ”）、およびＸ，Ｙ，Ｚ軸まわりの角速度（Ｒｘ’，Ｒｙ’，Ｒｚ’）を検出する
。
制振装置１００では、慣性センサー６０を、アーム２０の振動を抑制する対象の位置と
しての制振位置に取り付ける。ロボット２００は、慣性センサー６０をリンク１０ｆ（つ
まり、アーム２０の先端部のリンク）に取り付けた例を示している。
【００３３】
次に、図２に戻り、演算制御部８０について説明する。
演算制御部８０は、第１演算部８１〜第４演算部８４、制御部８５、およびヤコビ行列
演算部８７などから構成される。
第１演算部８１は、慣性センサー６０が検出する制振位置の加速度および角速度から制
振位置のアーム実速度を算出する。
第２演算部８２は、エンコーダー５０が検出する駆動部４０の駆動量から駆動速度を算
出し、駆動速度および制振位置に対応するヤコビ行列Ｊに基づき制振位置のアーム駆動速
度を算出する。ヤコビ行列Ｊは、ヤコビ行列演算部８７において、エンコーダー５０が検
出する駆動量情報などに基づき算出される。
第３演算部８３は、第１演算部８１が算出したアーム実速度と、第２演算部８２が算出
したアーム駆動速度に基づき制振位置のアームひずみ速度を算出する。また、第３演算部
８３には、フィルター８６を備え、算出したアームひずみ速度の波形に含まれる所定の周
波数以下の低周波成分を除去している。本実施形態では、所定の周波数として、１Ｈｚに
設定し、１Ｈｚ以下の低周波成分を除去している。フィルター８６は、ＨＰＦ（High Pas
s Filter）により構成されている。
第４演算部８４は、第３演算部８３が算出したアームひずみ速度に基づき、逆ヤコビ行
列Ｊ-1によってロボット本体３０と制振位置との間にあるリンク１０を駆動する駆動部４
０毎の補正速度を算出する。逆ヤコビ行列Ｊ-1は、ヤコビ行列演算部８７において、エン
コーダー５０が検出する駆動量情報などに基づき算出される。
制御部８５は、第４演算部８４が算出した補正速度に基づき、ロボット本体３０と制振
位置との間にあるリンク１０を駆動する駆動部４０を制御する。
【００３４】
図３は、本実施形態のロボットの制御方法としての制振装置１００による制振方法を示
すフローチャートである。
図３のフローチャートを参照し、図１に示すロボット２００のリンクモデルを対象とし
て演算制御部８０、および演算制御部８０による制振方法について具体的に説明する。
【００３５】
まず、ロボット２００の稼動に伴い、ロボット２００の構成仕様（各リンクの連結間距
離など）、慣性センサー６０が取り付けられたロボット２００における制振位置の情報、
エンコーダー５０（５０ａ〜５０ｆ）が検出する回転角度θ1〜θ6などに基づいて、制振
位置に対応するヤコビ行列Ｊを求める（ステップＳ１）。
次に、ヤコビ行列Ｊの逆行列を演算して逆ヤコビ行列Ｊ-1を求める（ステップＳ２）。
ヤコビ行列Ｊおよび逆ヤコビ行列Ｊ-1は、以下に示す関係式を満たす。
【００３６】
【数１】
2014028407.tif 000003
【００３７】
次に、第１演算部８１において、慣性センサー６０が検出（ステップＳ３）する制振位
置の加速度および角速度
（ｘ1”，ｙ1”，ｚ1”、Ｒｘ1’，Ｒｙ1’，Ｒｚ1’）
から制振位置のアーム実速度
（ｘ1’，ｙ1’，ｚ1’、Ｒｘ1’，Ｒｙ1’，Ｒｚ1’）
を算出する（ステップＳ４）。
次に、第２演算部８２において、エンコーダー５０が検出（ステップＳ５）する駆動部
４０ａ〜４０ｆの駆動量（回転角度θ1〜θ6）から駆動速度θ’
（θ’1，θ’2，θ’3，θ’4，θ’5，θ’6）
を算出し（ステップＳ６）、駆動速度および制振位置に対応するヤコビ行列Ｊに基づき制
振位置のアーム駆動速度
（ｘ2’，ｙ2’，ｚ2’、Ｒｘ2’，Ｒｙ2’，Ｒｚ2’）
を算出する（ステップＳ７）。
【００３８】
次に、第３演算部８３において、第１演算部８１が算出したアーム実速度と、第２演算
部８２が算出したアーム駆動速度の差異を演算して、制振位置のアームひずみ速度
（ｘ1’−ｘ2’，ｙ1’−ｙ2’，ｚ1’−ｚ2’、Ｒｘ1’−Ｒｘ2’，Ｒｙ1’−Ｒ
ｙ2’，Ｒｚ1’−Ｒｚ2’）
を算出し（ステップＳ８）、第３演算部８３に備えるフィルター８６により、算出したア
ームひずみ速度の波形に含まれる所定の周波数以下の低周波成分を除去する（ステップＳ
９）。具体的には、本実施形態ではＨＰＦによって、１Ｈｚ以下を除去する。
【００３９】
次に、第４演算部８４において、第３演算部８３が算出したアームひずみ速度に基づき
、逆ヤコビ行列Ｊ-1によってロボット本体３０と制振位置との間にあるリンク１０を駆動
する駆動部４０毎の補正速度θ’ｒ（θ’ｒ1〜θ’ｒ6）を算出する（ステップＳ１０）
。補正速度θ’ｒ（θ’ｒ1〜θ’ｒ6）は、以下に示す関係式を満たす。
【００４０】
【数２】
2014028407.tif 000004
【００４１】
次に、制御部において、駆動量（回転角度θ1〜θ6）と、駆動速度θ’と、補正速度θ
’ｒとに基づき、ロボット本体３０と制振位置との間にあるリンク１０を駆動する駆動部
４０に対してフィードバック制御を行なう（ステップＳ１１）。具体的には、駆動部４０
ａ〜４０ｆの各々に分配された補正速度θ’ｒ（θ’ｒ1〜θ’ｒ6）を打ち消す方向のト
ルクが発生するように、それぞれの駆動部４０ａ〜４０ｆが備えるモーターを制御する。
次に、制御を終了するか否かを判断し（ステップＳ１２）、引き続きロボットの制御を
継続する場合には、ステップＳ１に戻る。
【００４２】
以上述べたように、本実施形態によるロボットの制御装置、制御方法によれば、以下の
効果を得ることができる。
慣性センサー６０から得られるアーム実速度の情報と、エンコーダー５０から得られる
アーム駆動速度の情報とに基づいて制振位置のアームひずみ速度が算出される。また、算
出されたアームひずみ速度に基づいて、ロボット本体３０と制振位置との間にあるリンク
１０を駆動する駆動部４０毎の補正速度が算出される。この駆動部４０毎の補正速度に基
づいてそれぞれの駆動部４０を制御することで、制振位置に発生する振動を抑制すること
ができる。
【００４３】
更に詳しく説明すると、エンコーダー５０から得られる制振位置のアーム駆動速度は、
複数の駆動部４０を制御する指令（例えば、予めプログラミングされた指令）に追従する
ように制御される駆動量から算出される速度であるため、動作に伴いアーム２０に発生す
る振動などによる速度成分の非常に少ない速度である。つまり、軽量で剛性が高く、撓み
や撓みによる振動などが無い理想的なロボットの場合には、実際のアーム２０の速度が、
略このアーム駆動速度を示すことになる。
これに対し、慣性センサー６０から得られるアーム実速度は、慣性センサー６０が取り
付けられた制振位置の実際の動きによって検出される速度である。つまり、理想的な剛性
を有さないアーム２０の撓みなどにより、実際の動作に伴って発生する振動などの速度成
分を含んだ速度である。従って、アーム実速度とアーム駆動速度との差異を評価すること
によって、振動による速度成分を抽出することができる。抽出したこの振動の速度成分を
、それぞれのリンク１０を駆動する駆動部４０に補正速度として分配し、振動を抑制する
トルクを発生させることで、振動の抑制をはかることが可能となる。
【００４４】
アーム実速度とアーム駆動速度との差異評価による振動の抑制を随時行なうことで、停
止時の振動ばかりでなく、駆動時（動作中）におけるアーム２０の振動も抑制することが
できる。その結果、駆動時のアーム位置精度をより高く制御することができる。また、停
止時の振動に対しても、アーム２０の停止動作を待たずに抑制することができるため、停
止後に振動が治まるまでの待機時間を短縮することが出来る。
【００４５】
また、アームひずみ速度の波形に含まれる所定の周波数以下の低周波成分を除去するフ
ィルター８６を更に備えることにより、アーム実速度とアーム駆動速度との差異評価によ
る振動成分の抽出をより適確に行なえるようになる。具体的には、アームひずみ速度の低
周波成分を除去することにより、アーム２０の本来の動作を抑制するような補正が誤って
行なわれることや、慣性センサー６０のオフセット誤差などの影響を軽減できるようにな
る。
【００４６】
以上のように、本実施形態に係るロボットの制御装置、および制御方法によれば、多関
節ロボットなどにおいて、より高精度化、高速化などをはかることができる。
【００４７】
なお、第３演算部８３には、フィルター８６を備え、算出したアームひずみ速度の波形
に含まれる所定の周波数以下の低周波成分として１Ｈｚ以下の低周波成分を除去している
と説明したが、必ずしも１Ｈｚ以下である必要はない。制振位置の制振状況に応じて適宜
決定することが望ましい。また、必ずしもフィルター８６を備える必要はない。例えば、
算出したアームひずみ速度に除去すべき低周波成分が無い場合や、無視できる場合などに
おいては、フィルター８６を省くことが可能である。
また、ヤコビ行列Ｊおよび逆ヤコビ行列Ｊ-1は、ヤコビ行列演算部８７において、エン
コーダー５０が検出する駆動量情報などに基づき算出すると説明したが、必ずしもロボッ
ト２００の稼動中に演算しながら求める必要はない。例えば、予め制振するタイミングを
定めておき、そのタイミングに合わせたヤコビ行列Ｊおよび逆ヤコビ行列Ｊ-1を予めテー
ブルとして準備しておき、制振するタイミングに合わせて都度対応するヤコビ行列Ｊや逆
ヤコビ行列Ｊ-1を選択する方法であっても良い。この場合には、演算制御部８０にヤコビ
行列演算部８７を備えておく必要はない。
【００４８】
（実施形態２）
次に、実施形態２に係るロボットの制御装置および制御方法について説明する。なお、
説明にあたり、上述した実施形態と同一の構成部位については、同一の符号を使用し、重
複する説明は省略する。
図４は、実施形態２に係るロボットの制御装置を搭載するロボット２０１のリンクモデ
ルを示す概略図である。
ロボット２０１は、制振装置１０１（図示省略）を搭載するロボット２００と同様の６
軸の多関節ロボットである。
制振装置１０１は、慣性センサーとして３軸の角速度（Ｒｘ’，Ｒｙ’，Ｒｚ’）を検
出するジャイロセンサー（以下慣性センサー６１）を用いている点を除き、制振装置１０
０と同じである。また、本実施形態では、慣性センサー６１は、リンク１０ｄに取り付け
られている。つまり、実施形態１では、慣性センサー６０がリンク１０ｆに取り付けられ
、アーム２０の先端部分の振動を抑制させたのに対し、本実施形態では、慣性センサー６
１を４番目のリンク１０ｄに取り付け、アーム２０の中程を制振位置としている。また、
実施形態１では、慣性センサー６０が６軸の加速度および角速度センサーであったのに対
して、本実施形態では、３軸の角速度（Ｒｘ’，Ｒｙ’，Ｒｚ’）を検出するジャイロセ
ンサーを用いている。実施形態２は、これらの点を除き、実施形態１と同じである。
【００４９】
本実施形態おける振動を抑制するためのフィードバック制御は、慣性センサー６１が取
り付けられている制振位置からロボット本体３０側にある駆動部に対して行なう。つまり
、３軸の角速度情報に基づき、自由度が１つ多い駆動部４０ａ〜４０ｄの４つの駆動部に
対して制御を行なう。このように、冗長性のある制御の場合は、重み付き疑似逆行列によ
って制御を配分する。
本実施形態に対応するヤコビ行列Ｊ1および重み付き疑似逆行列Ｊ1#を以下に示す。
【００５０】
【数３】
2014028407.tif 000005
【００５１】
上式において重み付き疑似逆行列Ｊ1#は、以下の関係式によって与えられる。
Ｊ1#-＝Ｗ-1Ｊ1T（Ｊ1TＷ-1Ｊ1T）-1
Ｊ1#は、これによって求められる駆動部４０ａ〜４０ｄの各々に分配された補正速度θ
’ｒ（θ’ｒ1〜θ’ｒ4）の重みを付けた自乗和が最小となる行列である。つまり、自由
度分について、振動を抑制するための動きを最小の値としている。
また、Ｗは４×４の重み付け行列である。つまり、駆動部４０ａ〜４０ｄの各々に分配
する補正速度θ’ｒの値に重み付けを行なっている。
制振装置１０１および制振方法は、逆ヤコビ行列Ｊ-1に代わり重み付き疑似逆行列Ｊ1#
を使用する点を除き、実施形態１の場合と同様である。
【００５２】
本実施形態のように、同じ仕様のロボットであっても、制振させる対象の位置によって
、慣性センサーを取り付ける位置を変えることで、同様に振動の抑制を行なうことができ
る。
また、駆動部４０毎の補正速度の大きさを、予め設定した駆動部４０毎の重み付けで配
分することにより、ロボット２０１の仕様や特性、またはロボット２０１に行なわせる作
業負荷（例えば、ロボットハンドが保持する物の重さなど）に合わせて、より効果的な振
動の抑制制御を行なうことができる。具体的には、例えば、ロボット本体３０に近い部分
の駆動部４０の制振トルクをより大きく設定することで、振動の抑制をより効果的に行な
うことができたり、ロボット２０１の一連の動作の中で、ロボットハンドが保持する物が
変わり、重さが変化する場合などにおいて、振動の抑制をより効果的に行なうことができ
たりする。
【００５３】
（実施形態３）
次に、実施形態３に係るロボットの制御装置および制御方法について説明する。なお、
説明にあたり、上述した実施形態と同一の構成部位については、同一の符号を使用し、重
複する説明は省略する。
図５は、実施形態３に係るロボットの制御装置を搭載するロボット２０２のリンクモデ
ルを示す概略図である。
ロボット２０２は、制振装置１０２（図示省略）を搭載する双腕の多関節ロボットであ
り、７軸双腕を成す２本のアーム２１、旋回アーム２２、ロボット本体３０、制振装置１
０２などを含み構成されている。
【００５４】
アーム２１は、７つのリンク１１ｂ〜１１ｈが順に駆動部４１ｂ〜４１ｈを介して連結
されている。アーム２１の一方の端部を構成するリンク１１ｈの先端部は、ハンド部とし
てハンドツールや溶接ガン、スプレーガンなど（図示省略）が備えられる。
旋回アーム２２は、リンク１１ａと駆動部４１ａなどから構成され、リンク１１ａの一
方の端部は、駆動部４１ａを介してロボット本体３０に連結され、他方の端部は、２つの
駆動部４１ｂを介してそれぞれの駆動部４１ｂに連結される２つのアーム２１を支持して
いる。つまり、アーム２１の他方の端部は、駆動部４１ｂを介して旋回アーム２２に連結
されている。
駆動部４１ａ，４１ｂ，４１ｄ，４１ｆ，４１ｈは、連結するリンク１１ａ，１１ｂ，
１１ｄ，１１ｆ，１１ｈの軸を回転駆動させるモーターを備えている。
駆動部４１ｃ，４１ｅ，４１ｇは、連結するリンク１１ｃ，１１ｅ，１１ｇの連結角度
が変わるようにリンクを回動させるモーターを備えている。
【００５５】
それぞれの駆動部４１ａ〜４１ｈは、その駆動量（モーターの回転角度）を検出するエ
ンコーダー５０ａ〜５０ｈを備えている。
エンコーダー５０（５０ａ〜５０ｈ）は、駆動部４１ａ〜４１ｈが備えるモーターのそ
れぞれの回転角度θ1〜θ8を検出する。
また、慣性センサー６１が、アーム２１のそれぞれのリンク１１ｅに取り付けられてい
る。
【００５６】
本実施形態における振動を抑制するためのフィードバック制御は、それぞれのアーム２
１に対して独立して行なう。従って、制振装置１０２は、２つの制振装置１０１が並列処
理されるように構成されている。
なお、制振装置１０２は、このような構成（２つの制振装置１０１を備えて並列して処
理する構成）ではなく、１つの制振装置１０１を、それぞれのアーム２１に対してタイム
シェアリングする方法であっても良い。つまり、１つの制振装置１０１による処理を、２
つのアーム２１に対して切り替えながら独立して行なう構成としても良い。
また、本実施形態における振動を抑制するための状態フィードバック制御は、それぞれ
のアーム２１に共通する旋回アーム２２に対しては行なわない。つまり、それぞれのアー
ム２１が備える慣性センサー６１が検出する３軸の角速度情報に基づき、駆動部４１ｂ〜
４１ｅの４つの駆動部に対して制御を行なう。
本実施形態に対応するヤコビ行列Ｊ2および重み付き疑似逆行列Ｊ3#を以下に示す。
【００５７】
【数４】
2014028407.tif 000006
【００５８】
上式においてヤコビ行列Ｊ2は、駆動部４１ａ〜４１ｅの５軸（θ1〜θ5）が反映する
行列であるので、３×５の行列で与えられる。これに対して、制御を行なう対象の駆動部
は、駆動部４１ｂ〜４１ｅの４軸（θ2〜θ5）であるため、重み付き疑似逆行列Ｊ3#は、
４軸（θ2〜θ5）を対象とした３×５のヤコビ行列Ｊ3を用いて以下の関係式により求め
られる。
Ｊ3#-＝Ｗ-1Ｊ2T（Ｊ2TＷ-1Ｊ2T）-1
Ｊ3#は、これによって求められる駆動部４１ｂ〜４１ｅの各々に分配された補正速度θ
’ｒ（θ’ｒ2〜θ’ｒ5）の重みを付けた自乗和が最小となる行列である。つまり、実施
形態２と同様に自由度分について、振動を抑制するための動きを最小の値としている。
【００５９】
本実施形態のように、予め、振動を抑制する制御の必要が無い駆動部がわかっている場
合や、意図して制御を行わない駆動部がある場合などに、その駆動部を制御の対象から外
しておくことで、各ステップの処理がより簡略化され、処理スピードをあげるなど、より
効率的に処理を行なうことができる。
【００６０】
（実施形態４）
次に、上述した実施形態におけるロボットをより具体的に示す実施形態４に係るロボッ
トについて説明する。なお、説明にあたり、上述した実施形態と同一の構成部位について
は、同一の符号を使用し、重複する説明は省略する。
図６は、実施形態４に係るロボット２０３の概略図である。
ロボット２０３は、制振装置１０２を搭載する双腕の多関節ロボットであり、２本のア
ーム２３、旋回アーム２４、ハンド７０、ロボット本体３０、制振装置１０２などを含み
構成されている。
【００６１】
アーム２３は、リンク１３ｂとリンク１３ｃとが駆動部４３ｃを介して連結され、アー
ム２３の一方の端部に駆動部４３ｄを介してハンド７０が備えられている。ハンド７０は
、所定の物体を把持する機能を有している。
旋回アーム２４は、リンク１３ａと駆動部４３ａなどから構成され、リンク１３ａの一
方の端部は、駆動部４３ａを介してロボット本体３０に連結され、他方の端部は、２つの
駆動部４３ｂを介してそれぞれの駆動部４３ｂに連結される２つのアーム２３を支持して
いる。つまり、アーム２３の他方の端部は、駆動部４３ｂを介して旋回アーム２４に連結
されている。
【００６２】
駆動部４３ｂ，４３ｃは、連結するリンクの連結角度が変わるようにリンク１３ｂ，１
３ｃを回動させるモーターを備えている。
駆動部４３ａ，４３ｄは、それぞれが連結するリンク１３ａ、ハンド７０の軸を回転駆
動させるモーターを備えている。
また、それぞれの駆動部４３ａ〜４３ｄは、その駆動量（モーターの回転角度）を検出
するエンコーダー５０ａ〜５０ｄを備えている。
慣性センサー６１は、アーム２３のそれぞれのリンク１３ｃに取り付けられている。
【００６３】
ロボット本体３０は、旋回アーム２４、および旋回アーム２４を介して２つのアーム２
３を支持し、床などに設置される。またロボット本体３０の内部には、制振装置１０２な
どを含むロボットコントローラー３１が備えられている。
ロボットコントローラー３１は、制振装置１０２などの制御を含み、ロボット２０３全
体の制御を行なう。
【００６４】
以上のような構成の双腕の多関節ロボットにおいても、制振装置１０２を搭載している
ため、上述したロボットの制御方法と同様に、動作中のアーム２３に発生する振動を抑制
することができる。その結果、高精度で高速な動作がフレキシブルに可能な多関節ロボッ
トとしての機能をより一層高めたロボットを提供することができる。例えば、ハンド７０
にスプレーガンなどを装着して塗装対象物に塗装する場合などにおいて、アーム２３に発
生する振動による塗装むらが発生する傾向がある場合などにおいて、その振動を抑制する
ことによって、塗装むらを軽減することなどが可能となる。
【符号の説明】
【００６５】
１０…リンク、２０…アーム、３０…ロボット本体、３１…ロボットコントローラー、
４０…駆動部、５０…エンコーダー、６０…慣性センサー、７０…ハンド、８０…演算制
御部、８１〜８４…第１〜第４演算部、８５…制御部、８６…フィルター、８７…ヤコビ
行列演算部、１００…制振装置、２００…ロボット。
【図１】
2014028407.tif 000007
【図２】
2014028407.tif 000008
【図３】
2014028407.tif 000009
【図４】
2014028407.tif 000010
【図５】
2014028407.tif 000011
【図６】
2014028407.tif 000012