(57)【要約】【課題】  アームのたわみ等による位置のずれをより精度良く解消できるようにした、アーム位置調整方法及び装置並びにロボットシステムを提供する。【解決手段】  回転駆動するアクチュエータ２０を有する関節部とこれに連結されるフレーム部材とを有するアームと、アクチュエータ２０を制御する制御装置とを有するロボットにおいて、関節部の実際の角度を取得し、制御装置から関節部に与えられる指令角度と関節部の実際の角度とのずれ量を求め、アームの関節部に作用する関節トルクを求め、求めた関節トルクと求めたずれ量とに基づいて関節部のばね定数を算出し、算出したばね定数に基づいて、制御装置から関節部に与えられる指令角度を補正する。【選択図】図１
2010058256.tif 000002
【特許請求の範囲】
【請求項１】
回転駆動するアクチュエータを有する関節部と前記関節部に連結されるフレーム部材とを有するアームと、前記アームが目標の姿勢となるように前記関節部の前記アクチュエータを制御する制御装置とを有するロボットシステムのアーム位置調整方法であって、
前記制御装置から前記関節部に与えられる指令角度と前記関節部の実際の角度の計測値とのずれ量を求めるずれ量取得ステップと、
前記アームの前記関節部に作用する関節トルクを求める関節トルク取得ステップと、
前記関節トルク取得ステップにおいて求めた前記関節トルクと、前記ずれ量検出ステップにおいて求めた前記ずれ量とに基づいて、前記関節部のばね定数を算出するばね定数算出ステップと、
前記ばね定数算出ステップにおいて算出した前記関節部の前記ばね定数に基づいて、前記制御装置から前記関節部に与えられる前記指令角度を補正する指令角度補正ステップと、を有する
ことを特徴とする、アーム位置調整方法。
【請求項２】
前記ずれ量取得ステップでは、
前記フレーム部材の軸方向の角度をそれぞれ検出する角度センサにより、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす角度をそれぞれ計測する
ことを特徴とする、請求項１記載のアーム位置調整方法。
【請求項３】
前記ずれ量取得ステップは、
調整対象とする前記関節部よりも前記アームの先端側に位置するフレーム部材の軸方向がいずれも重力方向と平行になるように前記関節部を駆動する第１駆動ステップと、
前記第１ステップ実行後、前記フレーム部材の前記軸方向と基準方向とのなす第１角度を取得する第１角度取得ステップと、
前記第１角度取得ステップ実行後、前記関節部に所定の角度分の前記指令角度与えて前記フレーム部材の角度を変更する第２駆動ステップと、
前記第２ステップ実行後、前記フレーム部材の前記軸方向と前記基準方向とのなす第２角度を取得する第２角度取得ステップと、
前記第１角度と前記第２角度との差に基づいて前記関節部のずれ量を算出するずれ量算出ステップと、を有する
ことを特徴とする、請求項１又は２記載のアーム位置調整方法。
【請求項４】
前記ずれ量取得ステップは、
前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす無負荷時角度をそれぞれ取得する無負荷時角度取得ステップと、
前記関節部に予め設定された負荷を与える負荷付与ステップと、
前記負荷付与ステップ実行後、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす有負荷時角度をそれぞれ取得する有負荷時角度取得ステップと、
前記無負荷時角度と前記有負荷時角度との差に基づいて前記ずれ量を算出する
ことを特徴とする、請求項１又は２記載のアーム位置調整方法。
【請求項５】
回転駆動するアクチュエータを有する関節部と前記関節部に連結されるフレーム部材とを有するアームと、
前記アームが目標の姿勢となるように前記関節部の前記アクチュエータに指令角度を送出する制御装置と、
前記関節部の実際の角度を取得する角度取得手段と、
前記制御装置から前記関節部に与えられる前記指令角度と前記角度取得手段により取得された前記関節部の実際の角度とのずれ量を算出するずれ量算出手段と、
前記アームの前記関節部に作用する関節トルクを求める関節トルク取得手段と、
前記関節トルク取得手段により求められた前記関節トルクと、前記ずれ量算出手段により求められた前記ずれ量とに基づいて、前記関節部のばね定数を算出するばね定数算出手段と、
前記ばね定数算出手段により求められた前記ばね定数に基づいて、前記制御装置から前記関節部に与えられる前記指令角度を補正する指令角度補正手段と、を有している
ことを特徴とする、アーム位置調整装置。
【請求項６】
前記角度取得手段は、
前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす角度をそれぞれ計測する角度センサを有している
ことを特徴とする、請求項５記載のアーム位置調整装置。
【請求項７】
前記ずれ量取得手段は、
調整対象とする前記関節部よりも前記アーム先端側に位置するフレーム部材の軸方向がいずれも重力方向と平行になるように前記関節部を駆動し、
前記フレーム部材の前記軸方向と基準方向とのなす第１角度を取得し、
前記関節部に所定の角度分の前記指令角度与えて前記フレーム部材の角度を変更し、
前記フレーム部材の前記軸方向と前記基準方向とのなす第２角度を取得し、
前記第１角度と前記第２角度との差に基づいて前記ずれ量を算出する
ことを特徴とする、請求項５又は６記載のアーム位置調整装置。
【請求項８】
前記ずれ量取得手段は、
前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす無負荷時角度をそれぞれ取得し、
前記関節部に予め設定された負荷を与え、
前記関節部に前記負荷が付与された状態において前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす有負荷時角度をそれぞれ取得し、
前記無負荷時角度と前記有負荷時角度との差に基づいて前記ずれ量を算出する
ことを特徴とする、請求項５又は６記載のロボットのアーム位置調整装置。
【請求項９】
回転駆動するアクチュエータを有する関節部と
前記関節部に連結されるフレーム部材とを有するアームと、
前記アームが目標の姿勢となるように前記関節部の前記アクチュエータを制御する制御装置と
請求項５〜８のいずれか１項に記載のアーム位置調整装置とを有している
ことを特徴とする、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節を有するロボットアームのたわみによる位置のずれを補正するアーム位置調整方法及び装置並びにロボットシステムに関する。
【背景技術】
【０００２】
近年、産業用の様々なワークの加工用に多関節ロボットが用いられている。多関節ロボットを用いることにより様々な位置や方向からワークに対して自動で精度の高い加工を行うことができる。
【０００３】
ところが、このような多関節ロボットでは、アームの自重やアームの先端にかかる負荷によって、アームが撓み変形することがある。このアームの変形は、回転軸を有する関節部に特に顕著に生じる。つまり、可動部位ある関節部を形成する部材が弾性変形を起こすことにより、関節部が目標とする位置よりも可動方向に変位することがある。
そして、このアームの変位アームの目標位置と実際のアームの位置とにずれが生じ、これが多関節ロボットによるワークの加工精度の低下の一因となる。
【０００４】
そこで、このような加工精度の低下を抑制するために、従来より、アームの撓みに起因する位置ずれを補正する技術が提案されている。
例えば、特許文献１には、関節部にかかるトルクと予め求めておいた関節部のバネ定数とから関節部のねじれ（撓み）を求め、これに基づいてアームの目標位置を補正することで、撓みによるアームの位置ずれを低減させる技術が開示されている。
【特許文献１】特開２００２−３０７３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、各関節部のバネ定数（剛性）は、関節部の施工公差や関節部に内蔵される減速器の製造公差等に影響されるため、アーム毎に個体差がある。
【０００６】
このため、特許文献１の技術のように、予め求めておいたバネ定数を用いて関節部の撓み量を求める場合には、アームの個体差に起因するバネ定数の誤差により、補正後のアームの実際の位置とアームの目標位置との誤差が大きくなることが考えられる。
【０００７】
特に、複数の関節を有する多関節ロボットの場合には、アームに設けられる関節の数だけ上記のような誤差が生じる場合があり、多関節ロボットによるワークの加工精度の向上の妨げとなることが考えられる。
【０００８】
本発明はこのような問題点に鑑みてなされたものであり、アームのたわみ等による位置のずれをより精度良く解消できるようにした、アーム位置調整方法及び装置並びにロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記問題を解決するため、本発明は、次のように構成した。
請求項１に記載のアーム位置調整方法は、回転駆動するアクチュエータを有する関節部と前記関節部に連結されるフレーム部材とを有するアームと、前記アームが目標の姿勢となるように前記関節部の前記アクチュエータを制御する制御装置とを有するロボットシステムにおけるアーム位置調整方法であって、前記制御装置から前記関節部に与えられる指令角度と前記関節部の実際の角度の計測値とのずれ量を求めるずれ量取得ステップと、前記アームの前記関節部に作用する関節トルクを求める関節トルク取得ステップと、前記関節トルク取得ステップにおいて求めた前記関節トルクと、前記ずれ量検出ステップにおいて求めた前記ずれ量とに基づいて、前記関節部のばね定数を算出するばね定数算出ステップと、前記ばね定数算出ステップにおいて算出した前記関節部の前記ばね定数に基づいて、前記制御装置から前記関節部に与えられる前記指令角度を補正する指令角度補正ステップと、を有することを特徴としている。
【００１０】
また、前記ずれ量取得ステップでは、前記フレーム部材の軸方向の角度をそれぞれ検出する角度センサにより、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす角度をそれぞれ計測することが好ましい（請求項２）。
関節部の両側のフレーム部材の角度を角度センサによって検出し、関節部を挟む２つのフレーム部材のなす角度を求めるというシンプルな構成で、関節部の実際の角度を精度よく計測することができる。
なお、関節部の実際の角度を求める手法としては、この他に光源を配置したアームをカメラで撮影して得られた画像データから関節部の角度を求める方法が考えられる。
【００１１】
また、前記ずれ量取得ステップは、前記関節部よりも先端側に位置するフレーム部材の軸方向が重力方向と平行になるように前記関節部を駆動する第１駆動ステップと、前記第１ステップ実行後、前記フレーム部材の前記軸方向と基準方向とのなす第１角度を取得する第１角度取得ステップと、前記第１角度取得ステップ実行後、前記関節部に所定の角度分の前記指令角度与えて前記フレーム部材の角度を変更する第２駆動ステップと、前記第２ステップ実行後、前記フレーム部材の前記軸方向と前記基準方向とのなす第２角度を取得する第２角度取得ステップと、前記第１角度と前記第２角度との差に基づいて前記関節部のずれ量を算出するずれ量算出ステップと、を有することが好ましい（請求項３）。
即ち、第１駆動ステップで関節部よりもアームの先端側のフレーム部材の軸方向をいずれも重力方向とすることにより、関節部よりも先端側のフレーム部材やフレーム部材に支持される物体の重心の水平位置が関節部と重なるため、関節トルク（モーメント）を無視できる程度に小さくすることができる。したがって、第１角度は関節部が無負荷な状態での角度である。
第２角度（負荷時）と第１角度（無負荷時）との差（即ち、関節部の実際の角度）と指令角度とに基づいてずれ量を算出するので、関節部のばね定数を精度良く求めることができる。
【００１２】
また、前記ずれ量取得ステップは、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす無負荷時角度をそれぞれ取得する無負荷時角度取得ステップと、前記関節部に予め設定された負荷を与える負荷付与ステップと、前記負荷付与ステップ実行後、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす有負荷時角度をそれぞれ取得する有負荷時角度取得ステップと、前記無負荷時角度と前記有負荷時角度との差に基づいて前記ずれ量を算出することが好ましい（請求項４）。
【００１３】
請求項５に記載のアーム位置調整装置は、回転駆動するアクチュエータを有する関節部と前記関節部に連結されるフレーム部材とを有するアームと、前記アームが目標の姿勢となるように前記関節部の前記アクチュエータに指令角度を送出する制御装置と、前記関節部の実際の角度を取得する角度取得手段と、前記制御装置から前記関節部に与えられる前記指令角度と前記角度取得手段により取得された前記関節部の実際の角度とのずれ量を算出するずれ量算出手段と、前記アームの前記関節部に作用する関節トルクを求める関節トルク取得手段と、前記関節トルク取得手段により求められた前記関節トルクと、前記ずれ量算出手段により求められた前記ずれ量とに基づいて、前記関節部のばね定数を算出するばね定数算出手段と、前記ばね定数算出手段により求められた前記ばね定数に基づいて、前記制御装置から前記関節部に与えられる前記指令角度を補正する指令角度補正手段と、を有していることを特徴としている。
【００１４】
また、前記角度取得手段は、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす角度をそれぞれ計測する角度センサを有していることが好ましい（請求項６）。
【００１５】
また、前記ずれ量取得手段は、調整対象とする前記関節部よりも前記アーム先端側に位置するフレーム部材の軸方向がいずれも重力方向と平行になるように前記関節部を駆動し、前記フレーム部材の前記軸方向と基準方向とのなす第１角度を取得し、前記関節部に所定の角度分の前記指令角度与えて前記フレーム部材の角度を変更し、前記フレーム部材の前記軸方向と前記基準方向とのなす第２角度を取得し、前記第１角度と前記第２角度との差に基づいて前記ずれ量を算出することが好ましい（請求項７）。
【００１６】
また、前記ずれ量取得手段は、前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす無負荷時角度をそれぞれ取得し、前記関節部に予め設定された負荷を与え、前記関節部に前記負荷が付与された状態において前記関節部の両側にそれぞれ隣接する前記フレーム部材の軸方向と基準方向とのなす有負荷時角度をそれぞれ取得し、前記無負荷時角度と前記有負荷時角度との差に基づいて前記ずれ量を算出することが好ましい（請求項８）。
請求項９に記載のロボットシステムは、回転駆動するアクチュエータを有する関節部と
前記関節部に連結されるフレーム部材とを有するアームと、前記アームが目標の姿勢となるように前記関節部の前記アクチュエータを制御する制御装置と請求項５〜８のいずれか１項に記載のアーム位置調整装置とを有していることを特徴としている。
【発明の効果】
【００１７】
本願発明（請求項１，５）によれば、アーム毎に関節部の実際の角度を求め、求めた実際の角度と制御装置からの制御用の指令角度との差（即ち、ずれ量）を求め、これに基づいて制御装置から関節部に付与する指令角度を補正するので、個々のアームについてそれぞれ個別にばね定数を求めることができる。そして、このばね定数に基づいて制御装置からの指令角度を補正することにより、アームのたわみ等による位置のずれを解消してより精度良くアームを位置決めすることができる。
これにより、アームの関節部内の減速器の製造公差等に起因する減速機ばね定数の個体差に対してそれぞれ最適な補正を行うことができ、ロボットを用いて行なう加工の精度を向上することができる。特に、各アームの相対的な位置ずれを効果的に解消できるため複数のアームを協働させる場合等に加工精度をより向上させることができる。
【００１８】
また、本願発明（請求項２，６）によれば、関節部の両隣のフレーム部材に角度センサを設けることで、たわみを含めた関節部の実際の角度を確実に得ることができる。
また、本願発明（請求項３，７）によれば、重力による関節部のたわみが実質的に無視できる位置での角度（第１角度）から、フレームの自重により関節部のたわみが生じる位置での角度（第２角度）との差を算出するので、関節部の自重によるたわみ（ずれ量）を精度良く検出することができる。
また、本願発明（請求項４，８）によれば、関節部に負荷を与える前後の角度を測定するので、負荷により生じた関節部のたわみ（ずれ量）を精度良く検出することができる。
【００１９】
［第１実施形態］
以下、本発明の第１の実施の形態について図を参照して説明する。
図１〜図５はいずれも本発明の第１実施形態にかかるアーム位置調整装置を説明するためのものであって、図１はロボットシステムの全体構成を模式的に示す図、図２は制御装置の機能構成を示す模式的なブロック図、図３は関節部のばね定数を求める際のアームの状態を示す模式図、図４はアーム位置調整装置の動作手順を示すフローチャート、図５は関節部のばね定数を求める際のアームの状態を示す模式図である。
【００２０】
（概略構成）
図１に示すように、ロボットシステム（ロボット）１は、アーム２と、アーム２を固設する基台３と、コンピュータにより構成される制御装置（ずれ量算出手段，関節トルク取得手段，指令角度補正手段）１０とを有して構成されている。
アーム２は、いわゆる垂直多関節型のマニプレータであり、直列に複数連なるフレーム部材４ｂａ，４Ｓ，４Ｌ，４Ｕ，４Ｒ，４Ｂ，４Ｔと、各フレーム部材の間に連結される各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔとにより構成されている。
関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔは、それぞれアクチュエータ２０（図２参照）により構成されており、アクチュエータ２０の駆動により隣接するフレーム部材を回転させるようになっている。
フレーム部材４ｂａ，４Ｓ，４Ｌ，４Ｕ，４Ｒ，４Ｂ，４Ｔはそれぞれアーム２にかかる負荷を支える構造部材であり、それぞれアーム２の基端から先端にかけて延在する軸を構成している。
【００２１】
関節部５Ｌ，５Ｕ，５Ｂはそれぞれ回転軸が隣接するフレーム部材の延在方向（軸方向）に対していずれも直交するようになっており、関節部５Ｌ，５Ｕ，５Ｂの駆動によりフレーム部材が揺動するようになっている。
一方、関節部５Ｓ，５Ｒ，５Ｔは、それぞれの回転軸が隣接するフレーム部材の延在方向に平行になっており関節部５Ｓ，５Ｒ，５Ｔの回転駆動によりフレーム部材を回転動作させるようになっている。
また、フレーム部材４Ｔには、溶接トーチ等の図示しないエンドエフェクタやワークを取付けるための取り付け部が設けられている。
【００２２】
６Ｓ，６Ｌ，６Ｒ，６Ｔはそれぞれ角度センサ（角度取得手段）であり、それぞれフレーム部材４Ｓ，４Ｕ，４Ｂの軸方向と基準方向（ここでは重力方向とする）とのなす角度を検出して検出結果を制御装置１０に入力するようになっている。
各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔに内蔵された各アクチュエータ２０は、それぞれ制御装置１０と情報を伝達可能に接続されている。
制御装置１０は、教示等により予め入力された、各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔのそれぞれが位置するべき位置の座標情報に従って各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔがそれぞれの目標位置（指令角度）に達するように各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔを構成するアクチュエータ２０の駆動をそれぞれ制御するようになっている。
【００２３】
ここで、制御装置１０及びアクチュエータ２０の構成についてより詳細に説明する。図２に示すように、制御装置１０は、たわみ補正量算出部１１，ばね定数算出部１２，位置速度制御部１３，トルク制御部１４，微分器１５及び目標位置設定部１６の機能が割り当てられている。
また、アクチュエータ２０は、サーボモータ２１，減速器２２及びエンコーダ（ロータリーエンコーダ）２３により構成されている。
【００２４】
サーボモータ２１は制御装置１０からの指令に応じて駆動し、減速器２２を介して各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔを回転させるようになっている。また、エンコーダ２３は、サーボモータ２１の回転量（回転位置）を検出して制御装置１０に送信するようになっており、制御装置１０ではエンコーダ２３からの入力と減速器２２の減速比から関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔの回転位置を検出するようになっている。
制御装置１０の目標位置設定部１６は、教示等により予め入力された、各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔのそれぞれが位置するべき位置の座標情報（目標位置）から、サーボモータ２１の回転するべき要求角度（指令角度）θｒｅｆを算出するようになっている。
【００２５】
要求角度θｒｅｆは、エンコーダ２３から入力されたサーボモータ２１の検出回転角度θｅｎｃとの差分が計算され、ついでたわみ補正量算出部１１において算出されたたわみ補正量Δθ＊ｃｏｍｐを加算される。そして、位置・速度制御部１３では入力された指令角度（θｒｅｆ−θｅｎｃ＋Δθｃｏｍｐ）からサーボモータ２１に対する要求トルクＴｒｅｆを算出する。要求トルクＴｒｅｆは速度制御における各軸現在速度の差分から加速度を求め、加速度とイナーシャの積から求める。
トルク制御部１４では目標トルクＴｒｅｆに応じてサーボモータ２１に最適なトルク指令値に変換した上でサーボモータ２１に指令を送信するようになっている。
たわみ補正量算出部１１は、ばね定数算出部１２により求められた関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔに対応するばね定数Ｋと位置・速度制御部１３から出力される要求トルクＴｒｅｆから、各関節部５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔのたわみ量Δθ＊ｃｏｍｐを求める。なお、たわみ量Δθｃｏｍｐは、以下の式（１）により算出される。
Δθｃｏｍｐ＝ΔτＬ／ＫＬ                     ・・・(１)
【００２６】
次に図３を参照してばね定数算出部１２によるばね定数Ｋの算出手順について説明する。
まず、回転軸が隣接するフレーム部材の延在方向（軸方向）に対していずれも直交する関節部５Ｌ，５Ｕ，５Ｂを調整対象とし、関節部５Ｌのばね定数ＫＬ、関節部５Ｕのばね定数ＫＵ、関節部５Ｂのばね定数ＫＢを求める。
なお、関節部５Ｓ，５Ｒ，５Ｔはフレーム部材の延在方向に平行な回転軸周りにのみ可動であり、関節部５Ｌ，５Ｕ，５Ｂの回転方向に対する負荷（荷重）による変位（撓み）は相対的に僅かであるので、ここでは、関節部５Ｌ，５Ｕ，５Ｂはそれぞれフレーム部材と一体の構造体（リンク）とみなしている。このため、図示簡略化のため図３では関節部５Ｓ，５Ｒ，５Ｔを省略して模式的に示しており、ここでは各リンクＬ１〜Ｌ４が調整対象となる関節部に５Ｌ，５Ｕ，５Ｂ連結されるフレーム部材とみなす。
なお、フレーム部材の延在方向とは、アーム２の基端から先端にかけて延びる方向であり、フレーム部材をリンクとみなしたときのリンクの長手方向をいう。
なお、図１に示すように傾斜角センサ６Ｓ，６Ｌ，６Ｒ，６Ｔがそれぞれ先端側の関節部（あるいはリンク）に近接して設置されることで、関節部の減速器２２のたわみに加え、リンク自身のたわみ分も測定できるようになっている。
【００２７】
図３に示すように、フレーム部材４Ｓに取り付けられた角度センサ６Ｓは、基台３から関節部５Ｌまでの間のリンク（即ち、フレーム部材４Ｂａ，４Ｓ及び関節部５Ｓ）Ｌ１の軸方向の角度を計測するようになっている。
フレーム部材４Ｌに取り付けられた角度センサ６Ｌは、関節部５Ｌ，５Ｕ間のリンク（即ち、フレーム部材４Ｌ）の軸方向の角度を計測するようになっている。フレーム部材４Ｕに取り付けられた角度センサ６Ｒは、関節部５Ｌから関節部５Ｕまでの間のフレーム部材（即ち、フレーム部材４Ｌ）の軸方向の角度を計測するようになっている。
【００２８】
この際、角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔの取り付け位置は各リンクＬ１〜Ｌ４の内の任意の位置でよい。ただし、取り付け姿勢はロボット座標系Ｙ軸と、角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔの検出する角度がそれぞれ各リンクＬ１〜Ｌ４の軸方向と重力方向とのなす角度となるように取り付け角度が調整されている。
なお、ロボット座標系とは、ロボット（ここでは、アーム）本体に固定された直交座標系であり、ここでは、図３に示すように前後方向にＸ軸、左右方向にＹ軸、上下方向にＺ軸をとっている。この角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔの取り付け角調整には、例えば、角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔを、直交する２つの軸についての角度を計測可能なものを適用し、一方の回転角が変化しないように取り付け姿勢を微調整する等してもよい。
【００２９】
位置Ｐ１は、アーム２全体が重力方向と平行な方向（垂直）に起立したときのアーム先端部の位置（手先位置）で、位置Ｐ２は、実線で示すように位置Ｐ１の状態から関節部５Ｌをここでは９０度（ｄｅｇｒｅｅ）（所定の角度）だけ回転駆動させたときの手先位置である。
図３中、破線で示すように、アーム２の手先位置がＰ１にあるときには、アーム２の各リンクＬ１〜Ｌ４の各重心はいずれも重力方向に平行な１本の直線上に位置する。このため、各関節部５Ｌ，５Ｕ，５Ｂの回転方向にかかる自重による負荷（負荷トルク）は極めて小さいため、各関節部５Ｌ，５Ｕ，５Ｂの回転方向への変位量（撓み）は無視することができる。
【００３０】
一方、アーム２の手先位置がＰ２にあるときには、各関節部５Ｌ，５Ｕ，５Ｂには、アーム２の自重に対してアーム２を水平に保つため、アクチュエータ２０には重力に反する方向への負荷トルクが発生する。このため、この負荷トルクに応じて関節部５Ｌ，５Ｕ，５Ｂの図示しない減速器２２が弾性変形し、その分、関節部５Ｌ，５Ｕ，５Ｂが回転方向へ変位する。
ばね定数算出部１２では、各減速器２２の弾性変形に起因する角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔにより求められる位置Ｐ１の状態と位置Ｐ２の状態との各減速器２２の角度変位（ずれ量）と各減速器２２にかかる負荷トルクとに基づいてばね定数Ｋを算出するようになっている。
以下にばね定数算出部１２の機能をさらに詳細に説明する。
【００３１】
以下、第１実施形態にかかるアーム位置調整態様について説明する。図４に示すようにまず、ステップＳ１では、制御装置１０により、アーム２の手先位置がＰ１に移動される（第１駆動ステップ）。
即ち、各関節部５Ｌ，５Ｕ，５Ｂの先端側にそれぞれ隣接するフレーム部材であるリンクＬ２〜Ｌ４の軸方向が重力方向と平行には以降される。これにより各関節部５Ｌ，５Ｕ，５Ｂにかかる負荷トルクが略０になるようにアクチュエータ２０を制御する。そして、このとき角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔにより計測された各リンクＬ１〜Ｌ４の傾斜角（第１角度）θＰ１Ｂａｓｅ＿Ｓ，θＰ１Ｌ＿Ｓ，θＰ１Ｕ＿Ｓ，θＰ１Ｂ＿Ｓが制御装置１０内の記憶領域に記憶される（第１角度取得ステップ）。
【００３２】
次に、ステップＳ２では、制御装置１０からの指令により関節部５Ｌのみが９０度回転され、関節部５Ｌよりも先端側のフレーム部材アーム２の手先位置がＰ２に移動される（第２駆動ステップ）。このとき角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔから送信された各リンクＬ１〜Ｌ４の傾斜角（第２角度）θＰ２Ｂａｓｅ＿Ｓ，θＰ２Ｌ＿Ｓ，θＰ２Ｕ＿Ｓ，θＰ２Ｂ＿Ｓが制御装置１０内の記憶領域に記憶される（第２角度取得ステップ）。
そして、このときのアーム２の位置速度制御により算出される各関節部５Ｌ，５Ｕ，５Ｂのアクチュエータ２０へのトルク指令値τＬＰ２，τＵＰ２，τＢＰ２が関節トルクとして記憶される（関節トルク取得ステップ）。
【００３３】
そして、ステップＳ３ではステップＳ１で記憶された各リンクＬ１〜Ｌ４の傾斜角θＰ１Ｂａｓｅ＿Ｓ，θＰ１Ｌ＿Ｓ，θＰ１Ｕ＿Ｓ，θＰ１Ｂ＿Ｓと、ステップＳ２で記憶された各リンクＬ１〜Ｌ４の傾斜角θＰ２Ｂａｓｅ＿Ｓ，θＰ２Ｌ＿Ｓ，θＰ２Ｕ＿Ｓ，θＰ２Ｂ＿Ｓとから、ステップＳ１からステップＳ２にアーム２を動作させたときの基台３とリンクＬ１との撓みによる回転変位
2010058256.tif 000003
と、各関節部５Ｌ，５Ｕ，５Ｂの実際の回転角度（実際の角度）ΔθＢａｓｅ＿Ｓ，ΔθＬ＿Ｓ，ΔθＵ＿Ｓ，ΔθＢ＿Ｓが算出される。
なお、基台３とリンクＬ１との回転変位ΔθＢａｓｅ＿Ｓ及び各関節部５Ｌ，５Ｕ，５Ｂの実際の回転角度ΔθＬ＿Ｓ，ΔθＵ＿Ｓ，ΔθＢ＿Ｓはそれぞれ次式（２）で表される。
2010058256.tif 000004
【００３４】
ステップＳ４では、ロボットへの指令角度と、傾斜角センサで計測した実際のリンク移動量（即ち、実際の回転角度）との差からロボットの各軸のたわみ量を算出する。アーム２の各関節部５Ｌ，５Ｕ，５Ｂのアクチュエータ２０に対して制御装置１０から与えられた指令角度（指令値）と、角度センサ６Ｓ，６Ｌ，６Ｒ，６Ｔで計測した各関節部５Ｌ，５Ｕ，５Ｂの実際の回転角度ΔθＬ＿Ｓ，ΔθＵ＿Ｓ，ΔθＢ＿Ｓと、を用いて、各関節部５Ｌ，５Ｕ，５Ｂの指令上の目標角度（即ち、指令角度）に対するずれ量（たわみ角度）ΔθＬ，ΔθＵ，ΔθＢが算出される。
なお、制御装置１０から与えられる指令角度は、角度に限らず、各アクチュエータ２０の駆動量等の指令値でもよく、当該指令値から角度を算出してこれを制御装置１０から与えられる指令角度としてもよい。
即ち、ステップＳ１〜ステップＳ４がずれ量取得ステップに相当する。
各関節部５Ｌ，５Ｕ，５Ｂのたわみ角度ΔθＬ，ΔθＵ，ΔθＢは次式（３）で表される。
2010058256.tif 000005
なお、ここでは、関節部５Ｌに付与される指令角度ΔθＬ＿Ｃの値９０度、関節部５Ｕ及び間接部５Ｂに対する指令回転角度ΔθＵ＿Ｃ，ΔθＢ＿Ｃの値は０度である。
【００３５】
ステップＳ５では、前記たわみ量ΔθＬ，ΔθＵ，ΔθＢと、制御装置１０により算出される各関節部５Ｌ，５Ｕ，５Ｂの関節トルクτＰ２Ｌ，τＰ２Ｕ，τＰ２Ｂを用いて、各関節部５Ｌ，５Ｕ，５Ｂのばね定数（剛性）ＫＬ，ＫＵ，ＫＢが算出（同定）される。
なお、ばね定数は各関節部にかかる単位負荷量あたりのたわみによる角度のずれ量であり、関節部５Ｌのばね定数ＫＬ、関節部５Ｕのばね定数ＫＵ、関節部５Ｂのばね定数ＫＢは次式（４）で表される。
2010058256.tif 000006
なお、本実施形態では角度センサを４つ備える構成としているが、角度センサ６ＳによりθＰ１Ｂａｓｅ＿Ｓ，θＰ２Ｂａｓｅ＿Ｓを計測し、角度センサ６ＴによりθＰ１Ｂａｓｅ＿Ｓ，θＰ２Ｂａｓｅ＿Ｓを計測することでΔθＢａｓｅ＿Ｓを求めた後、求めたΔθＢａｓｅ＿Ｓ及びθＰ１Ｌ＿Ｓ，θＰ２Ｌ＿Ｓとを用いてΔθＬ＿Ｓを求めることができる。このため、角度センサ６Ｌ，６Ｒを省略してもばね定数ＫＬ，ＫＵ，ＫＢを算出することができる。
即ち、位置Ｐ１から位置Ｐ２にアーム２を動かしたときの相対移動量を求めることにより、センサの数を減らすことができる。つまり、すべてのリンクＬ１〜Ｌ４に傾斜角を計測するセンサを搭載する必要はなく、基台３側から順次関節部のばね定数を同定していく手法がとれる。
【００３６】
次に、回転軸がフレーム部材の延在方向（軸方向）と平行である関節部５Ｒを調整対象とする。
図５に示すように、まず、関節部５Ｒよりも先端側の関節部５Ｂを所定角度（ここでは９０°）に設定する。このとき、関節部５Ｒよりも先端側の部材は、関節部５Ｒの回転軸に対して偏りがないため、関節部５Ｒには、関節部５Ｒよりも先端側の部材の重力による負荷トルク（重力モーメントともいう）は実質的にかかっていないものとみなせる。そして、角度センサ６Ｒ，６Ｔにより、重力モーメントのかかっていない姿勢の各リンクの傾斜角（無負荷時傾斜角）θＰ１Ｒ＿Ｓ，θＰ１Ｔ＿Ｓを計測する。
次に、関節部５Ｒを所定角度（ここでは９０°）に回転させる。このとき、関節部５Ｒよりも先端側の部材が関節部５Ｒの回転軸に対して偏心するため、関節部５Ｒには、関節部５Ｒよりも先端側の部材の重力による負荷トルクがかかる。そして、この姿勢において
角度センサ６Ｒ，６Ｔにより、重力モーメントのかかっていない姿勢の各リンクの傾斜角（負荷時傾斜角）θＰ２Ｒ＿Ｓ，θＰ２Ｔ＿Ｓを計測する。
関節軸に重力モーメントがかからない姿勢から重力モーメントがかかる姿勢へロボットの姿勢を変化させることで、同定が可能となる。
以下の式（５）及び式（６）により、角度センサ６Ｒ，６Ｔにより計測された、重力モーメントのかからない姿勢の各リンクの傾斜角無負荷時傾斜角θＰ１Ｒ＿Ｓ，θＰ１Ｔ＿Ｓと、各リンクの負荷時傾斜角θＰ２Ｒ＿Ｓ，θＰ２Ｔ＿Ｓとから実際の回転角度ΔθＲ＿Ｓ，ΔθＴ＿Ｓを求め、各関節部５に付与される指令角度ΔθＬ＿Ｒから、次式（７）よりたわみ角度ΔθＲ，ΔθＴを求める。これから、関節部５Ｒのばね定数ＫＲを算出する。
なお、関節部５Ｔについては、５Ｔの先端側に関節部５Ｔの回転軸に対して偏心しうる重量負荷物を取り付けた状態で、関節軸５Ｔに重力モーメントがかからない姿勢から重力モーメントがかかる姿勢へ関節軸５Ｔを回転させることで、同様にばね定数を算出（同定）することができる。
2010058256.tif 000007
【００３７】
本発明の第１実施形態にかかるアーム位置調整装置及びロボットシステムはこのように構成されているので、各アームの固体毎に最適なばね定数を個別に求めることができ、このばね定数に基づいて制御装置からの指令角度を補正することにより、アームのたわみ等による位置のずれを解消してより精度良くアームを位置決めすることができる。
またばね定数算出に必要な、傾斜角移動量を相対移動量とすることで、センサの数を減らすことや、ロボットの姿勢変化による自重変化のみによる手法にすることでより簡便な構成とすることができる。
また、より基台３に近い関節部５Ｌを位置Ｐ１から位置Ｐ２まで駆動するだけで、関節部５Ｌ，５Ｕ，５Ｂの３箇所についてばね定数をまとめて同定することができる。
また、回転軸がアームの軸方向と平行となる関節部５Ｒ，５Ｔについても先端に関節部５Ｒ，５Ｔの回転により重力による負荷トルクがかかる状態とかからない状態を変更できる姿勢をとり、負荷トルクがかかる状態とかからない状態とでそれぞれ角度センサの計測値を用いることで、ばね定数を精度良く算出することができる。
また、各関節部のばね定数を簡便に算出することができるので、定期的に各関節部のばね定数を算出しておけば、たわみ補正量算出部１１においてアームの経時的な変化等に応じてその都度最適なたわみ補正を行なうことができ、ロボットシステム１の動作精度をより向上させることができる。
【００３８】
次に、本発明の第２の実施の形態について図を参照して説明する。本実施形態は、制御装置の機能構成を除いて第１実施形態と同様に構成されており、第１実施形態と同様の部分については説明を省略し同符号を用いて説明する。
【００３９】
図６，図７はいずれも本発明の第２実施形態を説明するものであり、図６はアームの状態を模式的に示す図、図７はアーム位置調整装置の動作手順を示すフローチャートである。
図６に示すように、本実施形態も第１実施形態同様、各々のリンクＬ１〜Ｌ４に角度センサを設置し、軸のたわみを含んだ実際のロボットの各リンクの傾斜角度を計測する。また図中Ｗは正確な重量が既知の負荷物である。
図６においてＰ３は手先（アーム２の先端）にかける負荷物の取り付けない状態で、ロボットアームをＸ軸方向に伸ばした時（破線）の手先位置を示しており、Ｐ３’は手先に負荷物を取り付けた状態で、前記Ｐ３と同様の位置指令を与えた時（実線）の手先位置を示している。ΔθＬは手先負荷により発生するＬ軸のたわみ量を示している。
【００４０】
図７は第２実施例のフローチャートである。まず、ロボットの手先をＰ３に移動させ、このときの各リンク傾斜角ΔθＰ３Ｂａｓｅ＿Ｓ，ΔθＰ３Ｌ＿Ｓ，ΔθＰ３Ｕ＿Ｓ，ΔθＰ３Ｂ＿Ｓと関節トルクτＰ３Ｌ，τＰ３Ｕ，τＰ３Ｂを計測する（ステップＴ１）。
【００４１】
次に、負荷物体をロボットの手先に把持させ、前記Ｐ３と同様の位置指令を与える。このときの各リンク傾斜角ΔθＰ３′Ｂａｓｅ＿Ｓ，ΔθＰ３′Ｌ＿Ｓ，ΔθＰ３′Ｕ＿Ｓ，ΔθＰ３′Ｂ＿Ｓと、関節トルクτＰ３′Ｌ，τＰ３′Ｕ，τＰ３′Ｂを計測する（ステップＴ２）。
【００４２】
負荷把持前後の角度センサの値ΔθＰ３Ｂａｓｅ＿Ｓ，ΔθＰ３Ｌ＿Ｓ，ΔθＰ３Ｕ＿Ｓ，ΔθＰ３Ｂ＿Ｓ，ΔθＰ３′Ｂａｓｅ＿Ｓ，ΔθＰ３′Ｌ＿Ｓ，ΔθＰ３′Ｕ＿Ｓ，ΔθＰ３′Ｂ＿Ｓから、手先負荷の変化による各軸のたわみ量を次式（８）により計算する。
2010058256.tif 000008
【００４３】
さらに、このときたわみを発生させる関節トルクは、負荷把持前後の関節トルクτＰ３Ｌ，τＰ３Ｕ，τＰ３Ｂ，τＰ３′Ｌ，τＰ３′Ｕ，τＰ３′Ｂを用いて次式（９）のように計算する（ステップＴ３）。
2010058256.tif 000009
各軸の関節トルクは上述したように位置速度制御より算出されるトルク指令値を用いてもよいし，あるいはニュートンオイラー法により計算したトルク値を用いてもよい。
【００４４】
前記たわみ量Δθ＊と、前記たわみを発生させる関節トルクΔτＬ，ΔτＵ，ΔτＢを用いて、次式（１０）から各関節のばね定数ＫＬ，ＫＵ，ＫＢを計算する（ステップＴ４）。
2010058256.tif 000010
以上のようにして、各軸のばね定数を求めることができる。本実施例では計測位置をＰ３の一点としたが、計測の信頼性を上げるために、数点計測し、各軸のたわみ量とたわみを発生させる関節トルクの関係から近似式を用いてばね定数を求めても良い。
次に、回転軸がフレーム部材の延在方向（軸方向）と平行な関節部５Ｒ，５Ｔを調整対象とする。第１実施形態と同様に、関節軸に重力モーメントがかからない姿勢から重力がかかる姿勢へロボットの姿勢を変化させることで、関節部５Ｒ，５Ｔのばね定数の同定が可能となる。
【００４５】
以上、本発明の実施形態について説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば第１実施形態では、ロボットの対象となる関節部よりも先端側のフレーム部材をいずれも重力方向（垂直）に立てた位置とＬ軸を９０度移動させた２つの姿勢からばね定数を同定したが、より精度を向上するために、フレーム部材を９０度駆動する間の姿勢においてたわみ角と、関節トルクとを求める姿勢（フレーム部材の角度）をさらに設け、最小二乗法などの近似式を用いて、各関節部のばね定数を計算しても良い。
また，各関節トルクは上述したように制御装置より算出されるトルク指令値を用いてもよいし，あるいはニュートンオイラー法により計算したトルク値を用いてもよい。
また、実施形態においては、ロボットアームを１台だけ有するロボットシステムについて説明したが、ロボットシステムは、複数のロボットアームで協働して産業用の様々なワークを加工するように構成してもよい。この場合、ロボットシステム内の複数のロボットアームについて、アーム位置の調整を行なうことにより、各ロボットアームの個体差に起因するたわみ量のばらつきを抑制してより動作精度の高いロボットシステムを構成することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の第１実施形態を説明するものであり、ロボットシステムの全体構成を模式的に示す図である。
【図２】本発明の第１実施形態を説明するものであり、制御装置の機能構成を示す模式的なブロック図である。
【図３】本発明の第１実施形態を説明するものであり、関節部のばね定数を求める際のアームの状態を示す模式図である。
【図４】本発明の第１実施形態を説明するものであり、アーム位置調整装置の動作手順を示すフローチャートである。
【図５】本発明の第１実施形態を説明するものであり、関節部のばね定数を求める際のアームの状態を示す模式図である。
【図６】本発明の第２実施形態を説明するものであり、アームの状態を模式的に示す図である。
【図７】本発明の第２実施形態を説明するものであり、アーム位置調整装置の動作手順を示すフローチャートである。
【符号の説明】
【００４７】
１  ロボットシステム（ロボット）
２  アーム
３  基台
４ｂａ，４Ｓ，４Ｌ，４Ｕ，４Ｒ，４Ｂ，４Ｔ  フレーム部材
５Ｓ，５Ｌ，５Ｕ，５Ｒ，５Ｂ，５Ｔ  関節部
６Ｓ，６Ｌ，６Ｒ，６Ｔ  角度センサ
１０  制御装置
１１  たわみ補正量算出部
１２  ばね定数算出部
１３  位置速度制御部
１４  トルク制御部
１５  微分器
１６  目標位置設定部
２０  アクチュエータ
２１  サーボモータ
２２  減速器
２３  エンコーダ
Ｌ１〜Ｌ４  リンク
【図１】
2010058256.tif 000011
【図２】
2010058256.tif 000012
【図３】
2010058256.tif 000013
【図４】
2010058256.tif 000014
【図５】
2010058256.tif 000015
【図６】
2010058256.tif 000016
【図７】
2010058256.tif 000017