(57)【要約】      （修正有）【課題】角度伝達誤差の位相を精確に同定することができる減速機角度伝達誤差同定システムを提供する。【解決手段】第１変動データは第１関節制御部２４が第１モータ１１の出力軸１１ａを第１方向に一定の第１目標速度で回転させると同時に第２関節制御部２７が第２モータ１６の出力軸１６ａを一定の第２目標速度で回転させたときの第１モータの角度伝達誤差に起因する第２関節の動作の周期的な変動を示すデータであり、第２変動データは第１関節制御部が第１モータの出力軸を第２方向に一定の第１目標速度で回転させると同時に第２関節制御部が第２モータの出力軸を一定の第２目標速度で回転させたときの第１モータの角度伝達誤差に起因する第２関節の動作の周期的な変動を示すデータである変動データ取得部と、周期関数算出部４３と、平均位相算出部４４と、角度伝達誤差同定部４６と、を含む。【選択図】図２
2018192578.tif 000002
【特許請求の範囲】
【請求項１】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
前記第１モータの動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの動作を制御する第２関節制御部と、
互いに関連づけられた第１変動データと第２変動データとを取得する変動データ取得部であって、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて前記第１関節の回動範囲の所定の領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータである変動データ取得部と、
前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出部と、
前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出部と、
前記平均位相に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定部と、を含む、減速機角度伝達誤差同定システム。
【請求項２】
前記第２関節駆動部は、前記第２モータの前記出力軸の回転速度を検知するための情報を検知する第２モータ出力軸情報検知部を更に有し、
前記第２関節制御部は、前記第２モータの前記出力軸の目標速度と前記第２モータの前記出力軸の回転速度との速度偏差に基づいて前記第２モータの回転速度が前記目標速度を維持するように指令値を生成し、且つ該指令値に基づいて前記第２モータの動作を制御し、
前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータは、前記第１モータの前記出力軸の回転角と前記第２モータの前記速度偏差又は前記指令値との関係を示すデータである、請求項１に記載の減速機角度伝達誤差同定システム。
【請求項３】
前記角度伝達誤差同定部は、前記第１減速機の角度伝達誤差の周期的な変動をモデル化した周期関数を算出し、前記周期関数の位相を前記位相算出部が算出した前記平均位相に基づいて設定する、請求項１又は２に記載の減速機角度伝達誤差同定システム。
【請求項４】
前記第１減速機は波動減速装置である、請求項１乃至３の何れかに記載の減速機角度伝達誤差同定システム。
【請求項５】
前記第１変動データ及び前記第２変動データを取得したときの前記第２モータの前記出力軸の回動速度は前記第１モータの前記出力軸の回動速度よりも遅い、請求項１乃至４の何れかに記載の減速機角度伝達誤差同定システム。
【請求項６】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
前記第１モータの動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの動作を制御する第２関節制御部と、
第１変動データと第２変動データと対応重力トルク値とを含み、前記第１変動データと前記第２変動データと前記対応重力トルク値とが互いに関連づけられている変動データセットを複数取得する変動データ取得部であって、複数の前記変動データセットはそれぞれ前記第１関節の回動範囲の互いに異なる所定の領域に対応するデータセットであり、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて対応する前記領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて対応する前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の前記第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記対応重力トルク値は対応する前記領域において前記第１減速機の前記出力軸に作用する重力トルクの値である変動データ取得部と、
複数の前記変動データセットのそれぞれについて、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出部と、
複数の前記変動データセットのそれぞれについて、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出部と、
複数の前記変動データセットのそれぞれの前記平均位相とそれぞれの前記平均位相に対応する前記対応重力トルク値とに基づいて前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を算出する位相同定部と、
前記位相同定部が算出した前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定部と、を含む、減速機角度伝達誤差同定システム。
【請求項７】
前記第２関節駆動部は、前記第２モータの前記出力軸の回転速度を検知するための情報を検知する第２モータ出力軸情報検知部を更に有し、
前記第２関節制御部は、前記第２モータの前記出力軸の目標速度と前記第２モータの前記出力軸の回転速度との速度偏差に基づいて前記第２モータの回転速度が前記目標速度を維持するように指令値を生成し、且つ該指令値に基づいて前記第２モータの動作を制御し、
前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変化変動を示すデータは、前記第１モータの前記出力軸の回転角と前記第２モータの前記速度偏差又は前記指令値との関係を示すデータである、請求項６に記載の減速機角度伝達誤差同定システム。
【請求項８】
前記位相同定部は、前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係をモデル化した関数を算出し、
前記角度伝達誤差同定部は、前記第１減速機の角度伝達誤差の周期的な変動をモデル化した周期関数を算出し、前記周期関数の位相を前記位相同定部が算出した関数とする、請求項６又は７に記載の減速機角度伝達誤差同定システム。
【請求項９】
前記位相同定部は、前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を最小二乗法を用いて一次関数を算出する、請求項８に記載の減速機角度伝達誤差同定システム。
【請求項１０】
前記第１減速機は波動減速装置である、請求項６乃至９の何れかに記載の減速機角度伝達誤差同定システム。
【請求項１１】
前記第１変動データ及び前記第２変動データを取得したときの前記第２モータの前記出力軸の回動速度は前記第１モータの前記出力軸の回動速度よりも遅い、請求項６乃至１０の何れかに記載の減速機角度伝達誤差同定システム。
【請求項１２】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
前記第１モータの動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの動作を制御する第２関節制御部と、を備えるロボットシステムの減速機角度伝達誤差同定方法であって、
互いに関連づけられた第１変動データと第２変動データとを取得する変動データ取得ステップであって、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて前記第１関節の回動範囲の所定の領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータである変動データ取得ステップと、
前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出ステップと、
前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出ステップと、
前記平均位相に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定ステップと、を含む、減速機角度伝達誤差同定方法。
【請求項１３】
第１関節及び第２関節を含む複数の関節を有するロボットアームと、
出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、
前記第１モータの動作を制御する第１関節制御部と、
出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、
前記第２モータの動作を制御する第２関節制御部と、を備えるロボットシステムの減速機角度伝達誤差同定方法であって、
第１変動データと第２変動データと対応重力トルク値とを含み、前記第１変動データと前記第２変動データと前記対応重力トルク値とが互いに関連づけられている変動データセットを複数取得する変動データ取得ステップであって、複数の前記変動データセットはそれぞれ前記第１関節の回動範囲の互いに異なる所定の領域に対応するデータセットであり、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて対応する前記領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて対応する前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記対応重力トルク値は対応する前記領域において前記第１減速機の前記出力軸に作用する重力トルクの値である変動データ取得ステップと、
複数の前記変動データセットのそれぞれについて、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出ステップと、
複数の前記変動データセットのそれぞれについて、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出ステップと、
複数の前記変動データセットのそれぞれの前記平均位相とそれぞれの前記平均位相に対応する前記対応重力トルク値とに基づいて前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を算出する位相同定ステップと、
前記位相同定ステップにおいて算出した前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定ステップと、を含む、減速機角度伝達誤差同定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、減速機角度伝達誤差同定システム及び減速機角度伝達誤差同定方法に関する。
【背景技術】
【０００２】
従来からロボット制御装置が知られている（例えば特許文献１参照）。
【０００３】
このロボット制御装置は、ハーモニックドライブ(登録商標)減速機の誤差振動（回転ムラ）を打ち消すための補正信号を出力する補正信号発生手段を備えている。この補正信号発生手段は、補正信号の位相差ａを設定する位相設定器を有し、位相差ａは、誤差振動が最も小さくなる位相差を実測的に求められる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−１５３６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載のロボット制御装置は、補正信号の位相差を試行錯誤的に求めていたため、位相差の同定に時間がかかる場合があるという問題があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明のある態様に係る減速機角度伝達誤差同定システムは、第１関節及び第２関節を含む複数の関節を有するロボットアームと、出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、前記第１モータの動作を制御する第１関節制御部と、出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、前記第２モータの動作を制御する第２関節制御部と、互いに関連づけられた第１変動データと第２変動データとを取得する変動データ取得部であって、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて前記第１関節の回動範囲の所定の領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータである変動データ取得部と、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出部と、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出部と、前記平均位相に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定部と、を含む。
【０００７】
この構成によれば、角度伝達誤差の位相を精確に同定することができる。これによって、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができる。また、角度伝達誤差の位相を迅速に同定することができる。
【０００８】
更に、位相の同定のための計測手段を別途設ける必要が無く、システムの構成を簡素化することができ、製造に有利、且つ、製造コストも安価となる。
【０００９】
前記第２関節駆動部は、前記第２モータの前記出力軸の回転速度を検知するための情報を検知する第２モータ出力軸情報検知部を更に有し、前記第２関節制御部は、前記第２モータの前記出力軸の目標速度と前記第２モータの前記出力軸の回転速度との速度偏差に基づいて前記第２モータの回転速度が前記目標速度を維持するように指令値を生成し、且つ該指令値に基づいて前記第２モータの動作を制御し、前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータは、前記第１モータの前記出力軸の回転角と前記第２モータの前記速度偏差又は前記指令値との関係を示すデータであってもよい。
【００１０】
この構成によれば、角度伝達誤差の位相を適切に同定することができる。
【００１１】
前記角度伝達誤差同定部は、前記第１減速機の角度伝達誤差の周期的な変動をモデル化した周期関数を算出し、前記周期関数の位相を前記位相算出部が算出した前記平均位相に基づいて設定してもよい。
【００１２】
この構成によれば、角度伝達誤差の位相を適切に同定することができる。
【００１３】
前記第１減速機は波動減速装置であってもよい。
【００１４】
この構成によれば、波動減速装置の角度伝達誤差の位相を適切に同定することができる。
【００１５】
前記第１変動データ及び前記第２変動データを取得したときの前記第２モータの前記出力軸の回動速度は前記第１モータの前記出力軸の回動速度よりも遅くてもよい。
【００１６】
この構成によれば、角度伝達誤差の位相をより精確に同定することができる。
【００１７】
上記課題を解決するため、本発明の他の態様に係る減速機角度伝達誤差同定システムは、第１関節及び第２関節を含む複数の関節を有するロボットアームと、出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、前記第１モータの動作を制御する第１関節制御部と、出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、前記第２モータの動作を制御する第２関節制御部と、第１変動データと第２変動データと対応重力トルク値とを含み、前記第１変動データと前記第２変動データと前記対応重力トルク値とが互いに関連づけられている変動データセットを複数取得する変動データ取得部であって、複数の前記変動データセットはそれぞれ前記第１関節の回動範囲の互いに異なる所定の領域に対応するデータセットであり、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて対応する前記領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて対応する前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の前記第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記対応重力トルク値は対応する前記領域において前記第１減速機の前記出力軸に作用する重力トルクの値である変動データ取得部と、複数の前記変動データセットのそれぞれについて、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出部と、複数の前記変動データセットのそれぞれについて、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出部と、複数の前記変動データセットのそれぞれの前記平均位相とそれぞれの前記平均位相に対応する前記対応重力トルク値とに基づいて前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を算出する位相同定部と、前記位相同定部が算出した前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定部と、を含む。
【００１８】
この構成によれば、角度伝達誤差の位相を精確に同定することができる。これによって、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができる。また、角度伝達誤差の位相を迅速に同定することができる。
【００１９】
更に、位相の同定のための計測手段を別途設ける必要が無く、システムの構成を簡素化することができ、製造に有利、且つ、製造コストも安価となる。
【００２０】
前記第２関節駆動部は、前記第２モータの前記出力軸の回転速度を検知するための情報を検知する第２モータ出力軸情報検知部を更に有し、前記第２関節制御部は、前記第２モータの前記出力軸の目標速度と前記第２モータの前記出力軸の回転速度との速度偏差に基づいて前記第２モータの回転速度が前記目標速度を維持するように指令値を生成し、且つ該指令値に基づいて前記第２モータの動作を制御し、前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータは、前記第１モータの前記出力軸の回転角と前記第２モータの前記速度偏差又は前記指令値との関係を示すデータであってもよい。
【００２１】
この構成によれば、角度伝達誤差の位相を適切に同定することができる。
【００２２】
前記位相同定部は、前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係をモデル化した関数を算出し、前記角度伝達誤差同定部は、前記第１減速機の角度伝達誤差の周期的な変動をモデル化した周期関数を算出し、前記周期関数の位相を前記位相同定部が算出した関数としてもよい。
【００２３】
この構成によれば、角度伝達誤差の位相を適切に同定することができる。
【００２４】
前記位相同定部は、前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を最小二乗法を用いて一次関数を算出してもよい。
【００２５】
この構成によれば、角度伝達誤差の位相を適切に同定することができる。
【００２６】
前記第１減速機は波動減速装置であってもよい。
【００２７】
この構成によれば、波動減速装置の角度伝達誤差の位相を適切に同定することができる。
【００２８】
前記第１変動データ及び前記第２変動データを取得したときの前記第２モータの前記出力軸の回動速度は前記第１モータの前記出力軸の回動速度よりも遅くてもよい。
【００２９】
この構成によれば、角度伝達誤差の位相をより精確に同定することができる。
【００３０】
上記課題を解決するため、本発明のある態様に係る減速機角度伝達誤差同定方法は、第１関節及び第２関節を含む複数の関節を有するロボットアームと、出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、前記第１モータの動作を制御する第１関節制御部と、出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、前記第２モータの動作を制御する第２関節制御部と、を備えるロボットシステムの減速機角度伝達誤差同定方法であって、互いに関連づけられた第１変動データと第２変動データとを取得する変動データ取得ステップであって、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて前記第１関節の回動範囲の所定の領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータである変動データ取得ステップと、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出ステップと、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出ステップと、前記平均位相に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定ステップと、を含む。
【００３１】
この構成によれば、角度伝達誤差の位相を精確に同定することができる。これによって、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができる。また、角度伝達誤差の位相を迅速に同定することができる。
【００３２】
更に、位相の同定のための計測手段を別途設ける必要が無く、システムの構成を簡素化することができ、製造に有利、且つ、製造コストも安価となる。
【００３３】
上記課題を解決するため、本発明の他の態様に係る減速機角度伝達誤差同定方法は、第１関節及び第２関節を含む複数の関節を有するロボットアームと、出力軸が前記第１関節に接続された第１減速機と、出力軸が前記第１減速機の入力軸に接続され、該第１減速機を介して前記第１関節を回動させる第１モータとを有する第１関節駆動部と、前記第１モータの動作を制御する第１関節制御部と、出力軸が前記第２関節に接続され、前記第２関節を回動させる第２モータを有する第２関節駆動部と、前記第２モータの動作を制御する第２関節制御部と、を備えるロボットシステムの減速機角度伝達誤差同定方法であって、第１変動データと第２変動データと対応重力トルク値とを含み、前記第１変動データと前記第２変動データと前記対応重力トルク値とが互いに関連づけられている変動データセットを複数取得する変動データ取得ステップであって、複数の前記変動データセットはそれぞれ前記第１関節の回動範囲の互いに異なる所定の領域に対応するデータセットであり、前記第１変動データは前記第１関節制御部が前記第１モータの前記出力軸を第１方向に一定の第１目標速度で回転させて対応する前記領域の一方の端の位置から他方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記第２変動データは前記第１関節制御部が前記第１モータの前記出力軸を前記第１方向と反対の回転方向である第２方向に一定の前記第１目標速度で回転させて対応する前記領域の他方の端の位置から一方の端の位置に前記第１関節を回動させるように制御すると同時に前記第２関節駆動部が前記第２モータの前記出力軸を一定の第２目標速度で回転させたときの前記第１モータの角度伝達誤差に起因する前記第２関節の動作の周期的な変動を示すデータであり、前記対応重力トルク値は対応する前記領域において前記第１減速機の前記出力軸に作用する重力トルクの値である変動データ取得ステップと、複数の前記変動データセットのそれぞれについて、前記第１変動データをモデル化した第１周期関数及び前記第２変動データをモデル化した第２周期関数を算出する周期関数算出ステップと、複数の前記変動データセットのそれぞれについて、前記第１周期関数の位相と前記第２周期関数の位相の平均値である平均位相を算出する位相算出ステップと、複数の前記変動データセットのそれぞれの前記平均位相とそれぞれの前記平均位相に対応する前記対応重力トルク値とに基づいて前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係を算出する位相同定ステップと、前記位相同定ステップにおいて算出した前記第１減速機の前記出力軸に作用する重力トルク値と前記平均位相との相関関係に基づいて、前記第１減速機の角度伝達誤差の周期的な変動を算出する角度伝達誤差同定ステップと、を含む。
【００３４】
この構成によれば、角度伝達誤差の位相を精確に同定することができる。これによって、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができる。また、角度伝達誤差の位相を迅速に同定することができる。
【００３５】
更に、位相の同定のための計測手段を別途設ける必要が無く、システムの構成を簡素化することができ、製造に有利、且つ、製造コストも安価となる。
【発明の効果】
【００３６】
本発明は、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができるという効果を奏する。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態１に係る減速機角度伝達誤差同定システムを含むロボットシステムの構成例を概略的に示す図である。
【図２】図１のロボットシステムの制御系統の構成例を概略的に示すブロック図である。
【図３】図１のロボットシステムの第１指令演算部及び第２指令演算部の制御系統の構成例を概略的に示すブロック図である。
【図４】図１のロボットシステムのロボットの基端側関節の回動範囲の第１〜第４領域の一例を説明する説明図である。
【図５】図１のロボットシステムの第１変動データの一例を示すグラフである。
【図６】図１のロボットシステムの周期関数算出部によって算出された第１周期関数と第２周期関数を示すグラフである。
【図７】図１のロボットシステムの角度伝達誤差の位相と重力トルクの位相との相関関係の一例を示すグラフである。
【図８】図１のロボットシステムの動作例を示すフローチャートである。
【図９】図１のロボットシステムの動作例を示すフローチャートである。
【図１０】本発明の実施の形態３に係るロボットシステムの動作例を示すフローチャートである。
【図１１】角度伝達誤差の説明図である。
【発明を実施するための形態】
【００３８】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００３９】
（実施の形態１）
図１は、本発明の実施の形態１に係る減速機角度伝達誤差同定システムを含むロボットシステム１００の構成例を概略的に示す図である。図２は、図１のロボットシステム１００の制御系統の構成例を概略的に示すブロック図である。
【００４０】
図１に示すように、減速機角度伝達誤差同定システムを含むロボットシステム１００は、ロボット１と、制御装置２とを備える。
【００４１】
［ロボットの構成例］
ロボット１は、多関節型ロボットの産業用ロボット（多関節ロボット）である。
【００４２】
ロボット１は、基部３と、ロボットアーム４と、ハンド５とを含む。基部３は、例えば床面に固定されて載置され、ロボットアーム４及びハンド５を支持している。
【００４３】
ロボットアーム４は、複数の関節を備え、基端部が基部３に対して回動可能に連結されている。ロボットアーム４の関節は、複数の関節が基端部から先端部に向かって一列に連なっている。減速機角度伝達誤差同定システムにおいて角度伝達誤差を同定する関節が基端側関節（第１関節）７を構成し、先端側関節８よりもロボットアーム４の基端側に位置する関節から選択された１の関節である。また、先端側関節（第２関節）８は、基端側関節７の角度伝達誤差の同定に用いるための信号（速度偏差、指令値）の生成に用いる関節であり、基端側関節７よりもロボットアーム４の先端側に位置する関節である。なお、先端側関節８を減速機角度伝達誤差同定システムにおいて角度伝達誤差を同定する関節とし、基端側関節７を先端側関節８の角度伝達誤差の同定に用いるための信号（速度偏差、指令値）の生成に用いる関節としてもよい。
【００４４】
図２に示すように、ロボットアーム４の各関節は、関節を駆動する駆動部を有し、出力軸が対応する関節（回動軸）に接続された減速機と、出力軸が減速機の入力軸に接続され、減速機を介して対応する関節を回動させる駆動源であるサーボモータと、サーボモータの出力軸の回転角を検知するエンコーダとを有する。なお、サーボモータの出力軸の回転速度は、エンコーダの回転角を時間微分することにより算出される。このように、エンコーダは、サーボモータの出力軸の回転速度を検知するための情報を検知する。減速機は、例えば波動歯車装置（ハーモニックドライブ（登録商標））である。しかし、これに限られるものではない。以下、説明の便宜上、基端側関節７を駆動するサーボモータ、減速機、及びエンコーダをそれぞれ第１モータ１１、第１減速機１３、及び第１エンコーダ（第１モータ出力軸情報検知部）１２といい、これらが基端側関節駆動部（第１関節駆動部）９を構成する。また、先端側関節８を駆動するサーボモータ、減速機、及びエンコーダをそれぞれ第２モータ１６、第２減速機１８、及び第２エンコーダ（第２モータ出力軸情報検知部）１７といい、これらが先端側関節駆動部（第２関節駆動部）１０を構成する。
【００４５】
第１減速機１３及び第２減速機１８に係る波動歯車装置は、サーキュラスプラインと、フレクスプラインと、ウェーブジェネレータとを備える。サーキュラスプラインは、剛性の内歯歯車であり、例えば筐体と一体的に設けられる。フレクスプラインは、可撓性を有する外歯歯車であり、サーキュラスプラインと歯合する。フレクスプラインは、サーキュラスプラインよりも歯数が少なく、出力軸１３ｂと接続される。ウェーブジェネレータは、フレクスプラインの内側に接触する楕円状のカムであり、入力軸１３ａと接続されている。そして、入力軸を回転させることによって、ウェーブジェネレータがフレクスプラインとサーキュラスプラインとの噛み合い位置を移動させ、サーキュラスプラインとフレクスプラインの歯数差に応じてフレクスプラインが回転軸周りに回転し、出力軸が回転する。波動歯車装置は、小型・軽量、高減速比、高トルク容量、ノンバックラッシ等の特徴からロボットの駆動機構の減速機に適した特性を有する。
【００４６】
ところで、図１１に示すように、波動歯車装置などの減速機には、加工誤差等により、減速機に入力される入力回転角に減速比を乗じた理論上の出力回転角と、実際の出力回転角との差である角度伝達誤差が生じる。この角度伝達誤差は、モータの出力軸の回転に伴って周期的な変化として表れる。このような減速機出力軸の角度伝達誤差ATEは、以下の式（１）に係る関数を用いたモデルによって近似的に表現することが可能である。
【００４７】
【数１】
2018192578.tif 000003
【００４８】
図１に示すように、ハンド５は、物品の保持等の所定の動作を行うことができるように構成され、ロボットアーム４の先端部に取り付けられている。
【００４９】
［制御装置の構成例］
図２に示すように、制御装置２は、演算部２１と、記憶部２２と、各関節を制御する制御部とを含む。各関節を制御する制御部には基端側関節７の回動動作を制御する基端側関節制御部（第１関節制御部）２４及び先端側関節８を制御する先端側関節制御部（第２関節制御部）２７が含まれる。
【００５０】
基端側関節制御部２４は、第１モータ１１の動作を制御する。基端側関節制御部２４は、第１モータ１１の出力軸１１ａの目標速度に基づいて電流指令を生成する第１指令演算部２５と、当該電流指令に基づいて第１モータ１１に供給される電流を制御する第１電流制御部２６とを有する。
【００５１】
図３は、ロボットシステム１００の第１指令演算部２５及び第２指令演算部２８の制御系統の構成例を概略的に示すブロック図である。
【００５２】
第１指令演算部２５は、例えばマイクロコントローラ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等のプログラマブルロジックデバイス（ＰＬＤ）などの演算器を含む。演算器は、集中制御する単独の演算器で構成されていてもよく、互いに協働して分散制御する複数の演算器で構成されてもよい。図３に示すように、第１指令演算部２５は、位置指令生成部３１と、速度指令生成部３３と、角度伝達誤差補償部３４と、電流指令生成部３６と、重力補償部３７とを含む。位置指令生成部３１、速度指令生成部３３、角度伝達誤差補償部３４、電流指令生成部３６、及び重力補償部３７は、所定の制御プログラムを図示しない演算部が実行することにより実現される機能ブロックである。なお、本実施の形態において、第１指令演算部２５は、演算部２１と別体の演算器で構成されているが、一体であってもよい。
【００５３】
位置指令生成部３１は、入力された目標位置に基づいて位置指令を生成する。位置指令とは、第１モータ１１の出力軸１１ａの位置（回転角）を制御するための制御量である。角度伝達誤差補償部３４は、角度伝達誤差を補償するために必要な制御量を算出し、これを例えば目標位置に加算し、目標位置の値を補正する。速度指令生成部３３は、位置指令と第１エンコーダ１２が検知した第１モータ１１の出力軸１１ａの回転角との位置偏差に基づいて速度指令を生成する。速度指令とは、第１モータ１１の出力軸１１ａの回転速度を制御するための制御量である。電流指令生成部３６は、速度指令の値と第１モータ１１の出力軸１１ａの回転速度との速度偏差に基づいて電流指令を生成する。電流指令とは、第１モータ１１の巻線に供給する電流を制御するための制御量である。第１電流制御部２６は、第１指令演算部２５が生成した電流指令に基づいて第１モータ１１に供給される電流を制御する。
【００５４】
図２に示すように、先端側関節制御部２７は、第２モータ１６の出力軸１６ａの目標速度と第２モータ１６の出力軸１６ａの回転速度との速度偏差に基づいて第２モータ１６の回転速度が目標速度を維持するように指令値を生成し、且つこの指令値に基づいて第２モータ１６の動作を制御する。先端側関節制御部２７は、第２モータ１６の出力軸１６ａの目標速度に基づいて電流指令を生成する第２指令演算部２８と、当該電流指令に基づいて第２モータ１６に供給される電流を制御する第２電流制御部２９とを有する。第２指令演算部２８及び第２電流制御部２９の構成は、それぞれ第１指令演算部２５及び第１電流制御部２６と同様であるのでその詳細な説明を省略する。
【００５５】
演算部２１は、例えばマイクロコントローラ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等のプログラマブルロジックデバイス（ＰＬＤ）などの演算器で構成される。演算部は、集中制御する単独の制御器で構成されていてもよく、互いに協働して分散制御する複数の制御器で構成されてもよい。演算部２１は、指令部４１と、変動データ取得部４２と、周期関数算出部４３と、平均位相算出部４４と、位相同定部４５と、角度伝達誤差同定部４６とを含む。指令部４１、変動データ取得部４２、周期関数算出部４３、平均位相算出部４４、位相同定部４５、及び角度伝達誤差同定部４６は、所定の制御プログラムを演算部２１が実行することにより実現される機能ブロックである。
【００５６】
指令部４１は、動作プログラムに基づき目標位置を生成し、出力する。出力された目標位置は、各関節を制御する制御部に入力される。本実施の形態において、目標位置とは、サーボモータの出力軸の回転角である。モータの出力軸を一定の回転速度で回転させるときは、指令部４１は、この回転速度に応じた目標位置を生成する。
【００５７】
図４は、ロボット１の基端側関節７の回動範囲の第１〜第４領域の一例を説明する説明図である。図５は、第１変動データ５２の一例を示すグラフである。
【００５８】
変動データ取得部４２は、指令部４１を介してロボット１を制御し、複数の変動データセット５１を取得する。複数の変動データセットはそれぞれ基端側関節７の回動範囲Ｒの互いに異なる所定の領域に対応するデータセットである。本実施の形態において、変動データ取得部４２は、４つの変動データセット５１（第１変動データセット５１ａ，第２変動データセット５１ｂ，第３変動データセット５１ｃ，第４変動データセット５１ｄ）を取得する。図４に示すように、第１変動データセット５１ａ、第２変動データセット５１ｂ、第３変動データセット５１ｃ及び第４変動データセット５１ｄは、それぞれ基端側関節７の第１領域Ｒａ、第２領域Ｒｂ、第３領域Ｒｃ及び第４領域Ｒｄに対応するデータセットである。各変動データセット５１は、互いに関連付けられた第１変動データ５２と第２変動データ５３と対応重力トルク値５４とを含む。なお、変動データセット５１は、単一のデータファイルであってもよく、互いに関連付けられた複数のデータファイルであってもよい。なお、図２においては、第２〜第４変動データセット５１ｂ、５１ｃ、５１ｄの第１変動データ５２、第２変動データ５３及び対応重力トルク値５４を省略して表している。
【００５９】
図５に示すように、第１変動データ５２は、基端側関節制御部２４が第１モータ１１の出力軸１１ａを第１方向Ｒ１（図１参照）に一定の第１目標速度で回転させて対応する領域の一方の端の位置から他方の端の位置に基端側関節７を回動させるように制御すると同時に先端側関節制御部２７が第２モータ１６の出力軸を一定の第２目標速度で回転させたときの第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差（第２モータ１６の出力軸１６ａの目標速度と第２モータ１６の出力軸１６ａの回転速度との速度偏差）との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差に基づいて生成された指令値（電流指令値など）との関係を示すデータである。先端側関節８の速度偏差は、電流指令生成部３６が電流指令を生成する際に用いる速度指令の値と第２モータ１６の出力軸１６ａの回転速度との速度偏差である。
【００６０】
本実施の形態において、第１変動データセットの第１変動データ５２は、図４に示すように、基端側関節制御部２４が第１領域Ｒａの第１位置Ｐａ１から第２位置Ｐａ２に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータ（図５参照）である。また、第２変動データセット５１ｂの第１変動データ５２は、基端側関節制御部２４が第２領域Ｒｂの第１位置Ｐｂ１から第２位置Ｐｂ２に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。更に、第３変動データセット５１ｃの第１変動データ５２は、基端側関節制御部２４が第３領域Ｒｃの第１位置Ｐｃ１から第２位置Ｐｃ２に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。また、第４変動データセット５１ｄの第１変動データ５２は、基端側関節制御部２４が第４領域Ｒｄの第１位置Ｐｃ１から第２位置Ｐｃ２に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。
【００６１】
第２変動データ５３は、基端側関節制御部２４が第１モータ１１の出力軸１１ａを一定の第１方向Ｒ１と反対の回転方向である第２方向Ｒ２（図１参照）に一定の第１目標速度で回転させて対応する領域の他方の端の位置から一方の端の位置に基端側関節７を回動させるように制御すると同時に先端側関節制御部２７が第２モータ１６の出力軸１６ａを一定の第２目標速度で回転させたときの第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差（第２モータ１６の出力軸１６ａの目標速度と第２モータ１６の出力軸１６ａの回転速度との速度偏差）との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差に基づいて生成された指令値（電流指令値など）との関係を示すデータである。すなわち、第２変動データ５３は、第１変動データ５２に係る基端側関節制御部２４の基端側関節７の回動方向とは反対方向に基端側関節７を回動させたときの第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差に基づいて生成された指令値（電流指令値など）との関係を示すデータである。また、第１変動データ５２を取得する際の第１モータ１１の出力軸１１ａ及び第２モータ１６の出力軸１６ａの回転速度は同一となるように制御される。
【００６２】
本実施の形態において、第１変動データセットの第２変動データ５３は、図４に示すように、基端側関節制御部２４が第１領域Ｒａの第２位置Ｐａ２から第１位置Ｐａ１に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。また、第２変動データセット５１ｂの第２変動データ５３は、基端側関節制御部２４が第２領域Ｒｂの第２位置Ｐｂ２から第１位置Ｐｂ１に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。更に、第３変動データセット５１ｃの第２変動データ５３は、基端側関節制御部２４が第３領域Ｒｃの第２位置Ｐｃ２から第１位置Ｐｃ１に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。また、第４変動データセット５１ｄの第２変動データ５３は、基端側関節制御部２４が第４領域Ｒｄの第２位置Ｐｃ２から第１位置Ｐｃ１に基端側関節７を回動させるように制御した際に取得した第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータである。
【００６３】
なお、第１変動データ５２及び第２変動データ５３を取得する際、変動データ取得部４２は、先端側関節８の回動速度が基端側関節７の回動速度よりも遅くなるように先端側関節８を回動させる。これによって、先端側関節８の回動が第１モータ１１の出力軸１１ａの回動に与える影響を抑制することができ、角度伝達誤差の位相をより精確に同定することができる。更に好ましくは、第１変動データ５２及び第２変動データ５３を取得する際、変動データ取得部４２は、先端側関節８が停止しない程度にゆっくりと先端側関節８を回動させる。これによって、先端側関節８に静止摩擦力が働くことを防止することができ、先端側関節８の回動が第１モータ１１の出力軸１１ａの回動に与える影響を抑制しつつ、第１変動データ５２及び第２変動データ５３を適切に取得することができる。
【００６４】
また、第１変動データ５２及び第２変動データ５３は、第１モータ１１の角度伝達誤差に起因する先端側関節８の動作の周期的な変動を示すデータであればよい。したがって、第１変動データ５２及び第２変動データ５３は、第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差に基づいて生成された指令値との関係を示すデータに限られない。
【００６５】
ところで、第１モータ１１の出力軸１１ａを一定の回転速度で回転させても第１減速機１３の角度伝達誤差によって、第１減速機１３の出力軸１３ｂは一定の回転速度で回転せずに、出力軸１３ｂの回転速度にうねりが生じてロボットアーム４が振動し、先端側関節８が振動する。その結果、先端側関節制御部２７が、第２モータ１６の回転速度が一定の目標速度を維持するように指令値を生成し、且つこの指令値に基づいて第２モータ１６の動作を制御しても、先端側関節８に働く慣性モーメントに基づいて先端側関節８の第２モータ１６の出力軸１６ａの実回転速度が周期的に変化する。そして、第２モータ１６の出力軸１６ａの周期的に変化する実回転速度と一定値をとる目標速度との速度偏差も周期的に変化する。また、このとき先端側関節８を回動させる先端側関節制御部２７が第２モータ１６の出力軸１６ａを一定の回動速度で回動させるために先端側関節制御部２７の電流指令生成部３６は、フィードバック制御によって第２モータ１６に供給する電流を調整すべく、速度偏差を０に近づけるように電流指令値を変化させる。このように、周期的に変動する第１減速機１３の角度伝達誤差に起因して、第２指令演算部２８の速度偏差及び電流指令値が周期的に変化する。すなわち、第１変動データ５２及び第２変動データ５３の速度偏差又は電流指令値は周期的に変動し、その周波数は第１減速機１３の角度伝達誤差の周波数と同じ値をとる。
【００６６】
図２に示すように、対応重力トルク値５４は、各変動データセット５１に対応する領域（図４のＲａ，Ｒｂ，Ｒｃ，Ｒｄ）において第１減速機１３の出力軸１３ｂに作用する重力トルクの値（Ｇ１〜Ｇ４）である。これらの重力トルク（Ｇ１〜Ｇ４）は、例えば第１指令演算部２５の重力補償部３７によって算出される値であり、例えば対応する領域において第１減速機１３の出力軸１３ｂに作用する重力トルクの平均値である。
【００６７】
周期関数算出部４３は、複数の変動データセット５１のそれぞれについて、第１変動データ５２をモデル化した第１周期関数Ｆ１及び第２変動データ５３をモデル化した第２周期関数Ｆ２を算出する。本実施の形態において、周期関数算出部４３は、式（１）に係る関数を用いたモデルによって近似的に表現し、図５に示すように、第１周期関数Ｆ１を振幅Ａ１、周波数ｆ１及び位相φ１をパラメータに有するｓｉｎ関数として算出する。また、周期関数算出部４３は、第１周期関数Ｆ２を振幅Ａ２、周波数ｆ２及び位相φ２をパラメータに有するｓｉｎ関数として算出する。なお、周波数ｆ１及びｆ２は、減速機に固有の値であり、波動歯車減速機である第１減速機１３においてその周波数は２であることが知られている。
【００６８】
図６は、周期関数算出部４３によって算出された第１周期関数Ｆ１と第２周期関数Ｆ２を示すグラフである。
【００６９】
図６に示すように、平均位相算出部４４は、複数の変動データセットのそれぞれについて、第１周期関数Ｆ１の位相φ１と第１周期関数Ｆ２の位相φ２との平均値である平均位相φａを算出する。図６に示す関数Ｆａは、Ｆ１及びＦ２と同じ振幅及び周波数を有し、位相がφａである関数を表したものである。以下、第１〜第４の変動データセット５１ａ，５１ｂ，５１ｃ，５１ｄの平均位相をそれぞれ、φａ１，φａ２，φａ３，φａ４という。
【００７０】
なお、先端側関節制御部２７の制御遅れ等に起因して、角度伝達誤差による第１モータ１１の出力軸１１ａの回転速度の変化が第２指令演算部２８の速度偏差又は指令値の変化として表れるまでにタイムラグが存在し、角度伝達誤差の位相と第１周期関数Ｆ１の位相φ１、及び角度伝達誤差の位相と第１周期関数Ｆ２の位相φ２とは一致しない。しかし、角度伝達誤差と第１周期関数Ｆ１との間の位相差と、角度伝達誤差と第１周期関数Ｆ２との間の位相差とは等しいと見做すことができるため、第１周期関数Ｆ１の位相φ１と第１周期関数Ｆ２の位相φ２の平均値である平均位相φａを算出し、これを対応する変動データセットの角度伝達誤差の位相として取り扱う。
【００７１】
図７は、角度伝達誤差の位相と重力トルクの位相関係の一例を示すグラフである。
【００７２】
位相同定部４５は、複数の変動データセットのそれぞれの平均位相φａ１〜φａ４と、それぞれの平均位相φａ１〜φａ４に対応する対応重力トルクＧ１〜Ｇ４の値とに基づいて第１減速機１３の出力軸１３ｂに作用する重力トルクの値と平均位相との相関関係を算出する。
【００７３】
本実施の形態において、位相同定部４５は、図７に示すように、第１減速機１３の出力軸１３ｂに作用する重力トルクの値と平均位相φａとの相関関係をモデル化した以下の式（２）に係る一次関数Ｆ３を算出し、これを角度伝達誤差の位相として取り扱う（同定する）。
【００７４】
【数２】
2018192578.tif 000004
【００７５】
位相同定部４５は、上記式（１）の係数φ０及びａを最小二乗法を用いて算出する。
【００７６】
なお、角度伝達誤差の位相は、減速機の出力軸に作用するトルクに応じて変化することが判っている。本実施の形態において、位相同定部４５は、当該角度伝達誤差の位相の変化を減速機の出力軸に作用するトルクの一次関数として表したモデルによって近似的に表現しており、これによって角度伝達誤差の補償をより精確におこなうことができる。
【００７７】
角度伝達誤差同定部４６は、位相同定部４５が算出した第１減速機１３の出力軸１３ｂに作用する重力トルクの値と平均位相φａとの相関関係に基づいて、第１減速機１３の角度伝達誤差の周期的な変動を算出する。すなわち、角度伝達誤差同定部４６は、位相同定部４５が算出した関数に基づいて角度伝達誤差の位相φを算出する。そして、この算出した位相φ、所定の周波数ｆ及び振幅Ａを用いて、第１減速機１３の角度伝達誤差の周期的な変動をモデル化した上述した式（１）に係る周期関数を算出する。
【００７８】
なお、第１減速機１３の構造に応じて所定の周波数ｆが固有の値をとる場合は、周波数ｆを当該固有の値としてもよい。例えば、第１減速機１３が波動歯車装置である場合、上述の通り、周波数ｆの値は２である。
【００７９】
図２に示すように、記憶部２２は、ＲＯＭ、ＲＡＭ等のメモリを有する。記憶部２２には、所定のプログラムが記憶されていて、演算部２１がこれらのプログラムを読み出して実行することにより、各種の処理が行われる。また、記憶部２２には、複数の変動データセット５１が格納されている。
【００８０】
［動作例］
次に、ロボットシステム１００の動作例を説明する。
【００８１】
＜角度伝達誤差の同定処理動作＞
図８及び図９は、ロボットシステム１００の動作例を示すフローチャートである。
【００８２】
以下、角度伝達誤差の同定処理動作について説明する。
【００８３】
まず、図８に示すように、変動データ取得部４２は、第１変動データセット５１ａを取得する（ステップＳ１）。
【００８４】
第１変動データセット５１ａの取得処理動作において、図９に示すように、変動データ取得部４２は、基端側関節７を所定位置（第１領域Ｒａの第２方向Ｒ２側）に位置させると共に、先端側関節８を先端側関節８と基端側関節７とが干渉する姿勢に位置させる（ステップＳ１１）。この先端側関節８と基端側関節７とが干渉する姿勢とは、式（３）に係る動力学方程式の慣性行列の相互慣性係数が大きい姿勢をいう。
【００８５】
【数３】
2018192578.tif 000005
【００８６】
次に、変動データ取得部４２は、基端側関節制御部２４が第１モータ１１の出力軸１１ａを第１方向Ｒ１に一定の第１目標速度で回転させて対応する領域の一方の端の位置から他方の端の位置に基端側関節７を回動させるように制御する（ステップＳ１２）。そしてこれと同時に先端側関節制御部２７が第２モータ１６の出力軸を一定の第２目標速度で回転させる（ステップＳ１３）。そして、この動作中の第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータを取得する（ステップＳ１４）。
【００８７】
次に、変動データ取得部４２は、基端側関節制御部２４が第１モータ１１の出力軸１１ａを一定の第１方向Ｒ１と反対の回転方向である第２方向Ｒ２に一定の第１目標速度で回転させて対応する領域の他方の端の位置から一方の端の位置に基端側関節７を回動させるように制御する（ステップＳ１５）。そしてこれと同時に先端側関節制御部２７が第２モータ１６の出力軸１６ａを一定の第２目標速度で回転させる（ステップＳ１６）。そして、この動作中の第１モータ１１の出力軸１１ａの回転角と速度偏差との関係を示すデータを取得する（ステップＳ１７）。
【００８８】
次に、変動データ取得部４２は、第１変動データ５２と第２変動データ５３と第１領域Ｒａにおいて第１減速機１３の出力軸１３ｂに作用する重力トルクの値Ｇ１を関連付けて、記憶部２２に記憶させる（格納する）（ステップＳ１８）。この格納されたデータが第１変動データセットを構成する。このように、変動データ取得部４２は、第１変動データセット５１ａの取得処理動作を行う。
【００８９】
そして、図８に示すように、第１変動データセットの取得処理動作に係る上記ステップＳ１１〜ステップＳ１４と同様に、変動データ取得部４２は、第２変動データセット５１ｂ〜第４変動データセット５１ｄの取得処理動作を行う（ステップＳ２〜ステップＳ４）。
【００９０】
なお、本動作例においては、第１変動データセット５１ａ〜第４変動データセット５１ｄを順番に取得しているが、これに代えて、基端側関節駆動部９を第１方向Ｒ１に回転させて取得したデータから第１領域Ｒａ〜第４領域Ｒｄの第１変動データ５２を取得し、次に基端側関節駆動部９を第２方向Ｒ２に回転させて取得したデータから第１領域Ｒａ〜第４領域Ｒｄの第２変動データ５３を取得し、次に各領域の第１変動データ５２と第２変動データ５３と第１減速機１３の出力軸１３ｂに作用する重力トルクの値とを互いに関連付けて各変動データセットを取得してもよい。
【００９１】
次に、周期関数算出部４３は、第１〜第４変動データセット５１ａ，５１ｂ，５１ｃ，５１ｄのそれぞれについて、第１変動データ５２をモデル化した第１周期関数Ｆ１及び第２変動データ５３をモデル化した第１周期関数Ｆ２を算出する（ステップＳ５）。
【００９２】
次に、平均位相算出部４４は、第１〜第４変動データセット５１ａ，５１ｂ，５１ｃ，５１ｄのそれぞれについて、第１周期関数Ｆ１の位相φ１と第１周期関数Ｆ２の位相φ２の平均値である平均位相φａを算出する（ステップＳ６）。
【００９３】
次に、位相同定部４５は、第１〜第４変動データセット５１ａ，５１ｂ，５１ｃ，５１ｄに係る平均位相φａに基づいて、上記式（２）の係数φ０及びａを最小二乗法を用いて算出し、第１減速機１３の出力軸１３ｂに作用する重力トルクの値と平均位相φａとの相関関係をモデル化した一次関数を算出する（ステップＳ７）。
【００９４】
次に、角度伝達誤差同定部４６は、位相同定部４５が算出した関数に基づいて角度伝達誤差の位相φを算出する。そして、この算出した位相φ、所定の周波数ｆ及び振幅Ａを用いて、第１減速機１３の角度伝達誤差の周期的な変動をモデル化した周期関数を算出する（ステップＳ８）。そして、角度伝達誤差補償部３４は、角度伝達誤差同定部４６が算出した周期関数を用いて角度伝達誤差の補償を行う。
【００９５】
このように、本実施の形態において、ロボットシステム１００は、角度伝達誤差を同定することができる。
【００９６】
以上に説明したように、本発明のロボットシステム１００は、先端側関節８の電流指令の値に基づいて基端側関節７の角度伝達誤差の位相を同定するように構成されているので、角度伝達誤差の位相を精確に同定することができる。これによって、角度伝達誤差を精確に補償することでき、ロボットのハンドの振動を抑制することができる。また、角度伝達誤差の位相を迅速に同定することができる。
【００９７】
更に、ロボットシステム１００は、ロボット１の動作の制御に用いられる速度偏差又は指令値に基づいて角度伝達誤差の位相を同定するように構成されているので、位相の同定のための計測手段を別途設ける必要が無い。このように、減速機角度伝達誤差同定システムを含むロボットシステム１００の構成を簡素化することができ、製造に有利、且つ、製造コストも安価となる。
【００９８】
（実施の形態２）
上記実施の形態１において、角度伝達誤差同定部４６は、所定の振幅Ａを用いて第１減速機１３の角度伝達誤差の周期的な変動をモデル化した周期関数を算出した。
【００９９】
本実施の形態において、位相同定部４５が算出した関数により求めた位相φ、所定の周波数ｆ、及び任意の振幅値を設定した周期関数を用いた角度伝達誤差の補償を行ってロボット１を動作させ、最適な振幅値を試行錯誤的に求めるよう構成されている。
【０１００】
（実施の形態３）
以下では実施の形態３の構成、動作について、実施の形態１との相違点を中心に述べる。
【０１０１】
本実施の形態において、平均位相算出部４４は、各変動データセット５１について、それぞれ以下の第１仮平均位相φａｘ及び第２仮平均位相φａｙを算出する。
【０１０２】
φａｘ＝（φ１＋φ２）／２
φａｙ＝（φ１＋φ２＋２π）／２
また、変動データ取得部３４２は、指令部４１を介してロボット１を制御し、ロボット１を動作させ、第１において、第３変動データ及び第４変動データを取得する。第３変動データは、位相φａｘ、所定の周波数ｆ、及び所定の振幅Ａを設定した周期関数を用いて角度伝達誤差の補償を行って対応する領域においてロボット１を動作させたときの第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と先端側関節８の速度偏差に基づいて生成された指令値との関係を示すデータである。第４変動データは、位相φａｙ、所定の周波数ｆ、及び所定の振幅Ａを設定した周期関数を用いて角度伝達誤差の補償を行って第１領域Ｒａにおいてロボット１を動作させたときの第１モータ１１の出力軸１１ａの回転角と速度偏差との関係を示すデータ、又は第１モータ１１の出力軸１１ａの回転角と速度偏差に基づいて生成された指令値との関係を示すデータである。
【０１０３】
周期関数算出部３４３は、第３変動データ及び第４変動データのそれぞれのデータをモデル化した周期関数の振幅Ａを算出する。
【０１０４】
位相同定部３４５は、第１仮平均位相φａｘ及び第２仮平均位相φａｙのうち、振幅Ａの小さい周期関数に対応する位相を平均位相φａと判定する。
【０１０５】
［動作例］
図１０は、ロボットシステム３００の動作例を示すフローチャートである。
【０１０６】
上記実施の形態１のステップＳ６において、平均位相算出部４４は、まず、第１変動データセット５１ａについて、第１仮平均位相φａｘ及び第２仮平均位相φａｙを算出する（ステップＳ３０１）。
【０１０７】
次に、変動データ取得部３４２は、指令部４１を介してロボット１を制御し、ロボット１を動作させ、第３変動データ及び第４変動データを取得する（ステップＳ３０２，ステップＳ３０３）。
【０１０８】
次に、周期関数算出部３４３は、第３変動データ及び第４変動データのそれぞれのデータをモデル化した周期関数の振幅Ａを算出する（ステップＳ３０４）。
【０１０９】
次に、位相同定部３４５は、第１仮平均位相φａｘ及び第２仮平均位相φａｙのうち、振幅Ａの小さい周期関数に対応する位相を平均位相φａとして判定し、これを平均位相φａとして取り扱う（ステップＳ３０５）。
【０１１０】
そして、その余の第２変動データセット５１ｂ、第３変動データセット５１ｃ、及び第４変動データセット５１ｄについても同様に上記ステップＳ３０１〜ステップＳ３０５に係る処理動作を行う。
【０１１１】
このように、本実施の形態において、ロボットシステム３００は、角度伝達誤差が２π以上の位相差を有する場合であっても、角度伝達誤差の位相を同定することができる。
【０１１２】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【０１１３】
１  ロボット
２  制御装置
４  ロボットアーム
７  基端側関節
８  先端側関節
１１  第１モータ
１１ａ  出力軸
１２  第１エンコーダ
１３  第１減速機
１３ａ  入力軸
１３ｂ  出力軸
１６  第２モータ
１６ａ  出力軸
１７  第２エンコーダ
１８  第２減速機
２１  演算部
２２  記憶部
２３  サーボ制御部
２４  基端側関節制御部
２７  先端側関節制御部
４２  変動データ取得部
４３  周期関数算出部
４４  平均位相算出部
４５  位相同定部
４６  角度伝達誤差同定部
５１  変動データセット
５２  第１変動データ
５３  第２変動データ
５４  対応重力トルク値
１００  ロボットシステム
【図１】
2018192578.tif 000006
【図２】
2018192578.tif 000007
【図３】
2018192578.tif 000008
【図４】
2018192578.tif 000009
【図５】
2018192578.tif 000010
【図６】
2018192578.tif 000011
【図７】
2018192578.tif 000012
【図８】
2018192578.tif 000013
【図９】
2018192578.tif 000014
【図１０】
2018192578.tif 000015
【図１１】
2018192578.tif 000016