(57)【要約】【課題】学習制御により振動を抑制するにあたり、制御装置の時刻と無線センサの時刻とを容易に同期させること。【解決手段】制御装置は、モータにより駆動される可動部材を有する機械装置を制御する制御装置であって、機械装置の可動部材の先端部のセンサ部により、検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、受信したセンサ信号に基づき加速度の第１時系列データを取得するデータ取得部と、モータの駆動指令から可動部材の先端部の加速度の第２時系列データを演算するデータ演算部と、機械装置を予め決められた基本動作で動作させた場合に、第１時系列データと第２時系列データの相関の度合いに応じて、第２時系列データに対する第１時系列データの遅れ時間を演算する遅れ時間演算部と、該遅れ時間に基づきセンサ部の時刻と制御装置の時刻とを同期させる時刻同期部と、を備える。【選択図】図２
2020192628.tif 000002
【特許請求の範囲】
【請求項１】
モータにより駆動される可動部材を有する機械装置を制御する制御装置であって、
前記機械装置の前記可動部材の先端部に設けられたセンサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、
受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得部と、
前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算部と、
前記機械装置を予め決められた基本動作で動作させた場合に、前記データ取得部で取得された前記第１時系列データと、前記データ演算部で演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算部と、
前記遅れ時間演算部で演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期部と、
を備える制御装置。
【請求項２】
前記基本動作は、前記機械装置に含まれる複数の前記モータのうち、少なくとも１つの前記モータを駆動させる動作である、請求項１に記載の制御装置。
【請求項３】
モータにより駆動される可動部材を有する機械装置を制御する制御装置であって、
前記機械装置の前記可動部材の先端部に設けられたセンサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、
受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得部と、
前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算部と、
前記制御装置が実行するプログラムが示す動作を前記プログラムが示す速度に換えて所定値以下の速度で前記機械装置を動作させた場合に、前記データ取得部で取得された前記第１時系列データと、前記データ演算部で演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算部と、
前記遅れ時間演算部で演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期部と、
を備える制御装置。
【請求項４】
前記機械装置がロボットであり、前記制御装置がロボット制御装置である、請求項１から請求項３のいずれか１項に記載の制御装置。
【請求項５】
モータにより駆動される可動部材を有する機械装置と、請求項１から請求項４に記載の制御装置と、を備える機械システム。
【請求項６】
モータにより駆動される可動部材を有する機械装置と、前記機械装置を制御する制御装置とを備える機械システムにおいて、前記機械装置の前記可動部材の先端部に設けられたセンサ部と前記制御装置との時刻同期を行う時刻同期方法であって、
前記センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、
受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得ステップと、
前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算ステップと、
前記機械装置を予め決められた基本動作で動作させた場合に、前記データ取得ステップで取得された前記第１時系列データと、前記データ演算ステップで演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算ステップと、
前記遅れ時間演算ステップにより演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期ステップと、
を備える時刻同期方法。
【請求項７】
モータにより駆動される可動部材を有する機械装置と、前記機械装置を制御する制御装置とを備える機械システムにおいて、前記機械装置の前記可動部材の先端部に設けられたセンサ部と前記制御装置との時刻同期を行う時刻同期方法であって、
前記センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、
受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得ステップと、
前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算ステップと、
前記制御装置が実行するプログラムが示す動作を前記プログラムが示す速度に換えて所定値以下の速度で前記機械装置を動作させた場合に、前記データ取得ステップで取得された前記第１時系列データと、前記データ演算ステップで演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算ステップと、
前記遅れ時間演算ステップにより演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期ステップと、
を備える時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、機械システム、及び時刻同期方法に関する。
【背景技術】
【０００２】
ロボットの動作を高速化することで、タクトタイムを短縮することは生産効率に直結する。しかしながら、ロボットの動作を高速化するに従い、減速機やロボットアームの剛性不足等の要因によって、ロボットの先端に振動が発生してしまう。
このような問題への対処法として、ロボットの先端に加速度センサを取り付け、ロボットの動作に伴う振動を加速度センサによって検出し、学習制御を行うことで当該振動を低減する技術が提案されている。例えば、特許文献１参照。
しかしながら、ロボットを制御する制御装置と加速度センサとを繋ぐケーブルの取りまわしの煩雑さから、測定した加速度を無線で制御装置に送信する加速度センサ（以下、「無線センサ」ともいう）が用いられる場合がある。なお、ロボットの振動は、制御装置により出力される指令加速度と、無線センサにより検出される加速度との比較に基づいて算出される。このため、制御装置の時刻と無線センサの時刻とが互いに同期している必要がある。もし制御装置の時刻と無線センサの時刻とが同期していない場合、誤った振動が算出される。そして、振動を抑制しようとしても正しく抑制できず、かえって振動が大きくなってしまう場合がある。
この場合、例えば、（Ａ）制御装置と無線センサをケーブル等で直接接続し同期させる方法と、（Ｂ）制御装置（又は無線センサ）から現在の時刻を示す信号を無線センサ（又は制御装置）に送信することにより同期させる方法が考えられる。
（Ａ）の方法では、制御装置の時刻と無線センサの時刻は時間が経過するに従いズレてしまうため、定期的に接続して同期させる必要がある。しかしながら、ロボットと制御装置は互いに離れて設置される場合が多く、制御装置と無線センサをケーブル等で直接接続することは手間が掛かる。また、無線センサを使用して振動を計測するには無線センサを取り付けた位置と向きを設定する必要があり、無線センサをロボットから取り外す度に当該設定を行うことは手間が掛かる。
一方、（Ｂ）の方法では、制御装置と無線センサとの間でランダムな遅延が発生することがある。そのため、制御装置（又は無線センサ）が時刻ｔ１に無線センサ（又は制御装置）に対して現在の時刻の信号を送信しても、受信側の受信時刻ｔ２はランダムな遅延により異なってしまう。
この点、アーム先端部の指令加速度に応じて相関値の基準値を設定することで、指令加速度の時系列データと、検出された加速度の時系列データとを同期させる技術が提案されている。例えば、特許文献２参照。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１３０８００号公報
【特許文献２】特開２０１５−１６３４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１Ａは、振動が問題となる動作速度における指令加速度の時系列データの一例を示す図である。図１Ｂは、振動が問題となる動作速度における無線センサにより検出された加速度の時系列データとの一例を示す図である。
図１Ａ及び図１Ｂに示すように、実際に振動が問題になるような動作では、指令加速度の時系列データと、検出された加速度の時系列データとの波形が大きく異なり、正しく同期できない場合がある。
【０００５】
そこで、学習制御により振動を抑制するにあたり、制御装置の時刻と無線センサの時刻とを容易に同期させることが望まれている。
【課題を解決するための手段】
【０００６】
（１）本開示の制御装置の一態様は、モータにより駆動される可動部材を有する機械装置を制御する制御装置であって、前記機械装置の前記可動部材の先端部に設けられたセンサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得部と、前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算部と、前記機械装置を予め決められた基本動作で動作させた場合に、前記データ取得部で取得された前記第１時系列データと、前記データ演算部で演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算部と、前記遅れ時間演算部で演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期部と、を備える。
【０００７】
（２）本開示の制御装置の一態様は、モータにより駆動される可動部材を有する機械装置を制御する制御装置であって、前記機械装置の前記可動部材の先端部に設けられたセンサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得部と、前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算部と、前記制御装置が実行するプログラムが示す動作を前記プログラムが示す速度に換えて所定値以下の速度で前記機械装置を動作させた場合に、前記データ取得部で取得された前記第１時系列データと、前記データ演算部で演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算部と、前記遅れ時間演算部で演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期部と、を備える。
【０００８】
（３）本開示の機械システムの一態様は、モータにより駆動される可動部材を有する機械装置と、（１）又は（２）の制御装置と、を備える。
【０００９】
（４）本開示の時刻同期方法の一態様は、モータにより駆動される可動部材を有する機械装置と、前記機械装置を制御する制御装置とを備える機械システムにおいて、前記機械装置の前記可動部材の先端部に設けられたセンサ部と前記制御装置との時刻同期を行う時刻同期方法であって、前記センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得ステップと、前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算ステップと、前記機械装置を予め決められた基本動作で動作させた場合に、前記データ取得ステップで取得された前記第１時系列データと、前記データ演算ステップで演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算ステップと、前記遅れ時間演算ステップにより演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期ステップと、を備える。
【００１０】
（５）本開示の時刻同期方法の一態様は、モータにより駆動される可動部材を有する機械装置と、前記機械装置を制御する制御装置とを備える機械システムにおいて、前記機械装置の前記可動部材の先端部に設けられたセンサ部と前記制御装置との時刻同期を行う時刻同期方法であって、前記センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、受信した前記センサ信号の位置、速度又は加速度に基づいて前記可動部材の先端部における加速度の第１時系列データを取得するデータ取得ステップと、前記モータの駆動指令に基づき、前記第１時系列データに対応する前記可動部材の先端部における加速度の第２時系列データを演算するデータ演算ステップと、前記制御装置が実行するプログラムが示す動作を前記プログラムが示す速度に換えて所定値以下の速度で前記機械装置を動作させた場合に、前記データ取得ステップで取得された前記第１時系列データと、前記データ演算ステップで演算された前記第２時系列データとの相関の度合いに応じて、前記第２時系列データに対する前記第１時系列データの遅れ時間を演算する遅れ時間演算ステップと、前記遅れ時間演算ステップにより演算された前記遅れ時間に基づいて、前記センサ部における時刻と前記制御装置における時刻とを同期させる時刻同期ステップと、を備える。
【発明の効果】
【００１１】
一態様によれば、学習制御により振動を抑制するにあたり、制御装置の時刻と無線センサの時刻とを容易に同期させることができる。
【図面の簡単な説明】
【００１２】
【図１Ａ】振動が問題となる動作速度における指令加速度の時系列データの一例を示す図である。
【図１Ｂ】振動が問題となる動作速度における無線センサにより検出された加速度の時系列データの一例を示す図である。
【図２】第１実施形態に係る機械システムの機能的構成例を示す機能ブロック図である。
【図３】ロボットの一例を示す図である。
【図４】図３のロボットにおける座標系を説明するための図である。
【図５Ａ】基本動作において図２のデータ演算部により演算された指令加速度の時系列データの一例を示す図である。
【図５Ｂ】基本動作において図２の無線センサにより検出された加速度の時系列データの一例を示す図である。
【図６】図２の遅れ時間演算部による相関処理の一例を示す図である。
【図７】相互相関係数が最大値となる時の指令加速度の時系列データと検出された加速度の時系列データとの関係の一例を示す図である。
【図８】制御装置の時刻同期処理について説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、第１実施形態について図面を用いて説明する。
＜第１実施形態＞
図２は、第１実施形態に係る機械システム１の機能的構成例を示す機能ブロック図である。図２に示すように、機械システム１は、機械装置１０、及び制御装置２０を有する。
【００１４】
機械装置１０と制御装置２０は、図示しない接続インタフェースを介して互いに直接接続されてもよい。なお、機械装置１０と制御装置２０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して相互に接続されていてもよい。この場合、機械装置１０、及び制御装置２０は、かかる接続によって相互に通信を行うための図示しない通信部を備えてもよい。
【００１５】
機械装置１０は、例えば、工作機械や産業用ロボット等である。なお、以下では、機械装置１０は、産業用ロボット（以下、「ロボット１０」ともいう）として説明する。
図３は、ロボット１０の一例を示す図である。
ロボット１０は、例えば、図３に示すように、６軸の垂直多関節ロボットであり、６つの関節軸１１（１）−１１（６）と、関節軸１１（１）−１１（６）の各々により連結されるアーム部１２を有する。ロボット１０は、制御装置２０からの駆動指令に基づいて、関節軸１１（１）−１１（６）の各々に配置されるサーボモータ１０２（１）−１０２（６）の各々を駆動することにより、アーム部１２等の可動部材を駆動する。また、ロボット１０の可動部材の先端部、例えば、関節軸１１（６）の先端部には、例えば、溶接ガン、握持ハンド、レーザ照射装置等のエンドエフェクタ１３が取り付けられる。そして、エンドエフェクタ１３には、無線センサ１０１が設置される。
【００１６】
なお、ロボット１０は、６軸の垂直多関節ロボットとしたが、６軸以外の垂直多関節ロボットでもよく、水平多関節ロボットやパラレルリンクロボット等でもよい。
また、以下において、関節軸１１（１）−１１（６）のそれぞれを個々に区別する必要がない場合、これらをまとめて「関節軸１１」ともいう。また、サーボモータ１０２（１）−１０２（６）のそれぞれを個々に区別する必要がない場合、これらをまとめて「サーボモータ１０２」ともいう。
【００１７】
図４は、図３のロボット１０における座標系を説明するための図である。
ロボット１０は、図５に示すように、空間上に固定された３次元直交座標系のワールド座標系Σｗと、ロボット１０の関節軸１１（６）の先端のフランジに設定された３次元直交座標のメカニカルインタフェイス座標系Σｍとを有する。本実施形態においては、事前に周知のキャリブレーションによってワールド座標系Σｗとメカニカルインタフェイス座標系Σｍとの位置の相関が取られている。これにより、後述する制御装置２０は、ワールド座標系Σｗで定義される位置を用いて、エンドエフェクタ１３が取付けられたロボット１０の先端部の位置を制御することができる。
【００１８】
無線センサ１０１は、ロボット１０の動作に伴う可動部材の先端部における加速度を所定のサンプリング時間で周期的に検出する加速度センサである。無線センサ１０１は、図示しないクロック部を有し、加速度を検出する度に、当該クロック部から出力される時刻情報を、検出した時刻として取得する。また、無線センサ１０１は、例えば、無線信号送受信部１１１を含む。そして、無線信号送受信部１１１は、検出された加速度及び時刻情報を含むセンサ信号を、アンテナ１１２を介して制御装置２０に無線で送信する。
なお、所定のサンプリング時間は、ロボット１０の動作内容やロボット１０が配置される工場の環境等に応じて適宜設定されてもよい。
また、無線センサ１０１は、加速度センサに限定されず、可動部材の先端部の速度を検出する速度センサや、可動部材の先端部の位置を検出するレーザトラッカ、カメラ、又はモーションキャプチャ装置等でもよい。
また、無線信号送受信部１１１は、無線センサ１０１に含まれたが、無線センサ１０１とは独立した装置でもよい。
【００１９】
＜制御装置２０＞
制御装置２０は、プログラムに基づいて、ロボット１０に対して駆動指令を出力し、ロボット１０の動作を制御する制御装置（「ロボットコントローラ」とも呼ばれる）である。
図２に示すように、本実施形態に係る制御装置２０は、無線信号送受信部２０１、データ取得部２０２、モータ制御部２０３、データ演算部２０４、遅れ時間演算部２０５、時刻同期部２０６、学習制御部２０７、及び記憶部２０８を含んで構成される。
なお、制御装置２０は、図２の機能ブロックの動作を実現するために、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の図示しない演算処理装置を備える。また、制御装置２０は、各種の制御用プログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の図示しない補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった図示しない主記憶装置を備える。
【００２０】
そして、制御装置２０において、演算処理装置が補助記憶装置からＯＳやアプリケーションソフトウェアを読み込み、読み込んだＯＳやアプリケーションソフトウェアを主記憶装置に展開させながら、これらのＯＳやアプリケーションソフトウェアに基づいた演算処理を行なう。この演算結果に基づいて、制御装置２０が各ハードウェアを制御する。これにより、図２の機能ブロックによる処理は実現される。つまり、制御装置２０は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００２１】
無線信号送受信部２０１は、アンテナ２１１を介してロボット１０の先端部において検出された加速度及び時刻情報を含むセンサ信号を受信する。無線信号送受信部２０１は、受信したセンサ信号をデータ取得部２０２に出力する。
データ取得部２０２は、無線信号送受信部２０１を介して受信したセンサ信号から、ロボット１０の可動部材の先端部において無線センサ１０１により検出された加速度、及び検出した時刻を取得する。データ取得部２０２は、取得した加速度及び検出した時刻を、検出した加速度の時系列データとして後述する記憶部２０８に記憶する。
【００２２】
モータ制御部２０３は、例えば、プログラムに基づいて、ロボット１０の関節軸１１の各々に配置されたサーボモータ１０２に対し駆動指令を出力する。
より具体的には、モータ制御部２０３は、サーボモータ１０２の各々に含まれるロータリーエンコーダ等の図示しない位置検出器からの信号に基づいて、各サーボモータ１０２の回転を駆動指令の値に一致させるようにフィードバック制御する。
【００２３】
なお、モータ制御部２０３は、制御装置２０が時刻同期処理を行う場合、予め決められた基本動作、例えば、可動部材の先端部に配置された関節軸１１（６）の１軸による回転動作等の単純な動作のプログラムに基づいて、サーボモータ１０２（６）を駆動させる。また、モータ制御部２０３は、関節軸１１（６）に替えて、関節軸１１（１）−１１（５）のいずれか１つの軸による動作を基本動作とするプログラムに基づいて、ロボット１０を駆動してもよい。あるいは、基本動作は、６つの関節軸１１のうち、２つや３つ等、６より少ない数の軸による動作としてもよい。
【００２４】
データ演算部２０４は、例えば、モータ制御部２０３によるサーボモータ１０２の各々に対する駆動指令に基づいて、無線センサ１０１が取り付けられた位置である可動部材の先端部における指令加速度を演算する。
より具体的には、データ演算部２０４は、サーボモータ１０２の各々に対する駆動指令の値に基づいて、可動部材の先端部の指令位置の時系列データを演算する。データ演算部２０４は、演算した指令位置の時系列データを時間で２階微分することにより、可動部材の先端部における指令加速度の時系列データを演算する。データ演算部２０４は、演算した指令加速度の時系列データを記憶部２０８に記憶する。
【００２５】
なお、制御装置２０が時刻同期処理を行う場合、前述したように、モータ制御部２０３は、予め決められた基本動作のプログラムに基づいて、例えば、サーボモータ１０２（６）を駆動させ、関節軸１１（６）の１軸による回転動作を行う。
図５Ａは、基本動作において図２のデータ演算部２０４により演算された指令加速度の時系列データａｒ（ｔ）の一例を示す図である。図５Ｂは、基本動作において図２の無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）の一例を示す図である。
この場合、モータ制御部２０３による駆動指令は単純な動作であるため、図５Ａ及び図５Ｂに示すように、加速度の大きさに関わらず、データ演算部２０４により演算された指令加速度の時系列データと、無線センサ１０１により検出された加速度の時系列データとは、互いに同一又は同様の波形を示す。これにより、本実施形態に係る制御装置２０は、制御装置２０の時刻と、無線センサ１０１の時刻とを同期させることができる。
【００２６】
遅れ時間演算部２０５は、ロボット１０を予め決められた基本動作で動作させた場合に、検出された加速度の時系列データａｓ（ｔ）と、演算された指令加速度の時系列データａｒ（ｔ）との相関の度合いを演算する。遅れ時間演算部２０５は、演算された相関の度合いに応じて、指令加速度の時系列データａｒ（ｔ）に対する加速度の時系列データａｓ（ｔ）の遅れ時間を演算する。
図６は、図２の遅れ時間演算部２０５による相関処理の一例を示す図である。
図７は、相互相関係数ｒ（τ）が最大値となる時の指令加速度の時系列データａｒ（ｔ）と検出された加速度の時系列データａｓ（ｔ）との関係の一例を示す図である。
なお、図７及び図８では、指令加速度の時系列データａｒ（ｔ）は、実線で示す。また、無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）は、２点鎖線で示す。また、遅れ時間τずらした検出された加速度の時系列データａｓ（ｔ−τ）は、破線で示す。
【００２７】
より具体的には、遅れ時間演算部２０５は、図６に示すように、無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）を、データ演算部２０４で演算された指令加速度の時系列データａｒ（ｔ）に対して、矢印で示す方向にτ秒ずらして相互相関係数ｒ（τ）を演算する。遅れ時間演算部２０５は、様々なτの時間について相互相関係数ｒ（τ）を演算し、図７に示すように、相互相関係数ｒ（τ）が最大値となるτの値を演算する。換言すれば、無線センサ１０１に含まれる図示しないクロック部と、制御装置２０に含まれる図示しないクロック部とは、相互相関係数ｒ（τ）が最大値となるτの時間だけ時刻がズレていることを示す。
【００２８】
時刻同期部２０６は、遅れ時間演算部２０５で演算された遅れ時間τに基づいて、無線センサ１０１における時刻と制御装置２０における時刻とを同期させてもよい。
より具体的には、時刻同期部２０６は、制御装置２０の図示しないクロック部が出力する時刻情報に対して、遅れ時間τを用いて補正する。これにより、時刻同期部２０６は、無線センサ１０１の図示しないクロック部が出力する時刻情報と、制御装置２０の図示しないクロック部が出力する時刻情報とを同期させることができる。
【００２９】
学習制御部２０７は、例えば、無線センサ１０１の時刻と制御装置２０の時刻が同期された後、学習制御の対象となる実際の加工プログラムを実行し、ロボット１０の動作中に無線センサ１０１により検出された加速度の時系列データ、及び駆動指令に含まれる位置指令を取得する。学習制御部２０７は、取得した加速度の時系列データ、及び位置指令を記憶部２０８に記憶する。
学習制御部２０７は、学習制御の対象となるプログラムを１回実行した後、ロボット１０の動作中の各制御周期における振動量と、当該振動量を打ち消すための振動補正量とを演算し、記憶部２０８に記憶する。学習制御部２０７は、記憶部２０８に記憶された振動補正量を、次に同じプログラムが実行される際に適用する。これを複数回繰り返すことで、ロボット１０の可動部材の先端部における振動を低減することができる。
なお、学習制御部２０７による学習制御は、例えば、特許文献１と同様の手法を用いることができ、詳細な説明は省略する。
【００３０】
記憶部２０８は、ＲＡＭ等であり、プログラムや、無線センサ１０１により検出された加速度の時系列データ、データ演算部２０４で演算された指令加速度の時系列データ等を記憶する。
【００３１】
＜制御装置２０の時刻同期処理＞
次に、本実施形態に係る制御装置２０の時刻同期処理に係る動作について説明する。
図８は、制御装置２０の時刻同期処理について説明するフローチャートである。
【００３２】
ステップＳ１１において、モータ制御部２０３は、予め決められた基本動作のプログラムに基づいて駆動指令を出力し、ロボット１０を駆動させる。
【００３３】
ステップＳ１２において、データ取得部２０２は、無線信号送受信部２０１を介して受信したセンサ信号から、ロボット１０の基本動作において無線センサ１０１により検出された可動部材の先端部における加速度の時系列データａｓ（ｔ）を取得する。
【００３４】
ステップＳ１３において、データ演算部２０４は、基本動作の駆動指令に基づいて、ロボット１０の可動部材の先端部における指令加速度の時系列データａｒ（ｔ）を演算する。
【００３５】
ステップＳ１４において、遅れ時間演算部２０５は、ステップＳ１１で取得された加速度の時系列データａｓ（ｔ）と、ステップＳ１２で演算された指令加速度の時系列データａｒ（ｔ）との間の相互相関係数ｒ（τ）を演算し、指令加速度の時系列データａｒ（ｔ）に対する検出された加速度の時系列データａｓ（ｔ）の遅れ時間τを演算する。
【００３６】
ステップＳ１５において、時刻同期部２０６は、ステップＳ１３で演算された遅れ時間τに基づいて、無線センサ１０１の時刻と制御装置２０の時刻とを同期させる。
【００３７】
以上により、第１実施形態の制御装置２０は、ロボット１０を予め決められた基本動作で動作させ、ロボット１０の可動部材の先端部において無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）と、指令加速度の時系列データａｒ（ｔ）とを取得する。制御装置２０は、検出された加速度の時系列データａｓ（ｔ）と、指令加速度の時系列データａｒ（ｔ）との相関の度合いに応じて、指令加速度の時系列データａｒ（ｔ）に対する検出された加速度の時系列データａｓ（ｔ）の遅れ時間τを演算する。
これにより、制御装置２０は、演算された遅れ時間τに基づいて、無線センサ１０１の時刻と制御装置２０の時刻とを容易に同期させることができ、学習制御によるロボット１０の先端部における振動を抑制することができる。
また、制御装置２０は、定期的に無線センサ１０１の時刻と制御装置２０の時刻とを同期させる場合でも、１つの関節軸１１によるロボット１０の基本動作を１度実行させるだけであることから、少ない手間で時刻同期を行うことができる。
【００３８】
＜第２実施形態＞
第２実施形態に係る制御装置は、予め決められた基本動作でロボットを動作させるのに替えて、制御装置が実行するプログラムが示す動作を当該プログラムが示す速度に換えて所定値以下の速度でロボットを動作させる点が、第１の実施形態と異なる。
以下に、第２実施形態について説明する。
【００３９】
本開示の第２実施形態に係る機械システムは、図２に示した第１実施形態に係る機械システム１と同様の構成を備える。
また、第２実施形態に係る機械装置（ロボット）及び制御装置も、図２及び図３に示した第１実施形態に係る制御装置（ロボット）１０及び制御装置２０と同様の構成を備える。
しかしながら、第２実施形態に係る制御装置２０のモータ制御部２０３が、時刻同期処理において、制御装置２０が実行するプログラムが示す動作を当該プログラムが示す速度に換えて所定値以下の速度でロボット１０を動作させる点が、第１実施形態と異なる。
例えば、モータ制御部２０３は、時刻同期処理において、ロボット１０の周囲に治具等が配置されている、あるいはロボット１０に取り付けられているエンドエフェクタ１３が大きい等のために、基本動作の動作が難しい場合において、学習制御の対象となる実際の加工に用いるプログラムに基づいてロボット１０を動作させてもよい。
【００４０】
より具体的には、モータ制御部２０３は、実際の加工に用いるプログラムが示す動作を、当該プログラムが示す速度に換えて所定値以下の速度で、ロボット１０が動作するように、サーボモータ１０２を駆動してもよい。
この場合、時刻同期処理におけるロボット１０の動作速度は、少なくとも無線センサ１０１により検出される加速度の時系列データａｓ（ｔ）と、データ演算部２０４により演算される指令加速度の時系列データａｒ（ｔ）とが、互いに同一又は同様の波形となる速度に設定されてもよい。例えば、モータ制御部２０３は、学習制御の対象となる実際の加工プログラムが示す動作を、様々な速度でロボット１０を予め動作させてもよい。制御装置２０は、各速度において無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）の波形と、データ演算部２０４により演算された指令加速度の時系列データａｒ（ｔ）の波形とを見て、同一又は同様の波形となる所定値以下の速度を設定してもよい。
なお、所定値は、ロボット１０の動作内容やロボット１０が配置される工場の環境等に応じて適宜設定されてもよい。
【００４１】
そして、遅れ時間演算部２０５は、実際の加工に用いるプログラムの動作を当該プログラムが示す速度に換えて所定値以下の速度で、ロボット１０に動作させた場合に、検出された加速度の時系列データａｓ（ｔ）と、演算された指令加速度の時系列データａｒ（ｔ）との相関の度合いに応じて、指令加速度の時系列データａｒ（ｔ）に対する加速度の時系列データａｓ（ｔ）の遅れ時間τを演算してもよい。
これにより、制御装置２０は、実際の加工に用いるプログラムに基づいて、無線センサ１０１の時刻と制御装置２０の時刻とを同期することから、学習制御をより精度良く行うことができる。
【００４２】
以上により、第２実施形態の制御装置２０は、実際の加工に用いるプログラムの動作を当該プログラムが示す速度に換えて所定値以下の速度で、ロボット１０を動作させ、ロボット１０の可動部材の先端部において無線センサ１０１により検出された加速度の時系列データａｓ（ｔ）と、指令加速度の時系列データａｒ（ｔ）とを取得する。制御装置２０は、検出された加速度の時系列データａｓ（ｔ）と、指令加速度の時系列データａｒ（ｔ）との相関の度合いに応じて、指令加速度の時系列データａｒ（ｔ）に対する検出された加速度の時系列データａｓ（ｔ）の遅れ時間τを演算する。
これにより、制御装置２０は、演算された遅れ時間τに基づいて、無線センサ１０１の時刻と制御装置２０の時刻とを容易に同期させることができ、学習制御によるロボット１０の先端部における振動を抑制することができる。
また、制御装置２０は、実際の加工に用いるプログラムに基づいて、無線センサ１０１の時刻と制御装置２０の時刻とを同期することから、学習制御をより精度良く行うことができる。
【００４３】
以上、第１実施形態及び第２実施形態について説明したが、制御装置２０は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【００４４】
上述の第１実施形態及び第２実施形態では、無線センサ１０１は、加速度センサとしたが、慣性センサでもよく、可動部材の先端部の速度を検出する速度センサや、可動部材の先端部の位置を検出するレーザトラッカ、カメラ、又はモーションキャプチャ装置等の位置センサでもよい。
例えば、無線センサ１０１が速度センサの場合、データ取得部２０２は、受信したセンサ信号からロボット１０の可動部材の先端部において検出された速度及び検出した時刻を取得する。そして、データ取得部２０２は、取得した速度の時系列データに対して時間で１階微分することで、加速度の時系列データを取得することができる。
また、無線センサ１０１が位置センサの場合、データ取得部２２０は、受信したセンサ信号からロボット１０の可動部材の先端部において検出された位置及び検出した時刻を取得する。そして、データ取得部２０２は、取得した位置の時系列データに対して時間で２階微分することで、加速度の時系列データを取得することができる。
【００４５】
また例えば、上述の第１実施形態及び第２実施形態では、無線センサ１０１は、ロボット１０の可動部材の先端部に設置されたが、先端部以外のロボット１０の可動部材に配置されてもよい。これにより、エンドエフェクタ１３毎に無線センサ１０１が設置される位置の影響を低減することができる。
【００４６】
なお、第１実施形態及び第２実施形態における、制御装置２０に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００４７】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（Ｎｏｎ-ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（Ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（Ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【００４８】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００４９】
以上を換言すると、本開示の、制御装置、機械システム、及び時刻同期方法は、次のような構成を有する各種各様の実施形態を取ることができる。
（１）本開示の制御装置２０は、モータ（サーボモータ１０２）により駆動される可動部材を有する機械装置１０を制御する制御装置であって、機械装置１０の可動部材の先端部に設けられたセンサ部（無線センサ１０１）により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部２０１と、受信したセンサ信号の位置、速度又は加速度に基づいて可動部材の先端部における加速度の第１時系列データａｓ（ｔ）を取得するデータ取得部２０２と、モータの駆動指令に基づき、第１時系列データａｓ（ｔ）に対応する可動部材の先端部における加速度の第２時系列データａｒ（ｔ）を演算するデータ演算部２０４と、機械装置１０を予め決められた基本動作で動作させた場合に、データ取得部２０２で取得された第１時系列データａｓ（ｔ）と、データ演算部２０４で演算された第２時系列データａｒ（ｔ）との相関の度合いに応じて、第２時系列データａｒ（ｔ）に対する第１時系列データａｓ（ｔ）の遅れ時間τを演算する遅れ時間演算部２０５と、遅れ時間演算部２０５で演算された遅れ時間τに基づいて、センサ部における時刻と制御装置２０における時刻とを同期させる時刻同期部２０６と、を備える。
この制御装置２０によれば、無線センサ１０１の時刻と制御装置２０の時刻とを容易に同期させることができ、学習制御による機械装置１０の先端部における振動を抑制することができる。
【００５０】
（２）基本動作は、機械装置１０に含まれる複数のモータ（サーボモータ１０２）のうち、少なくとも１つのモータを駆動させる動作であってもよい。
そうすることで、定期的に無線センサ１０１の時刻と制御装置２０の時刻とを同期させる場合でも、少ない手間で時刻同期を行うことができる。
【００５１】
（３）本開示の制御装置２０は、モータ（サーボモータ１０２）により駆動される可動部材を有する機械装置１０を制御する制御装置であって、機械装置１０の可動部材の先端部に設けられたセンサ部（無線センサ１０１）により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信部と、受信したセンサ信号の位置、速度又は加速度に基づいて可動部材の先端部における加速度の第１時系列データａｓ（ｔ）を取得するデータ取得部２０２と、モータの駆動指令に基づき、第１時系列データａｓ（ｔ）に対応する可動部材の先端部における加速度の第２時系列データａｒ（ｔ）を演算するデータ演算部２０４と、制御装置２０が実行するプログラムが示す動作をプログラムが示す速度に換えて所定値以下の速度で機械装置１０を動作させた場合に、データ取得部２０２で取得された第１時系列データａｓ（ｔ）と、データ演算部２０４で演算された第２時系列データａｒ（ｔ）との相関の度合いに応じて、第２時系列データａｒ（ｔ）に対する第１時系列データａｓ（ｔ）の遅れ時間τを演算する遅れ時間演算部２０５と、遅れ時間演算部２０５で演算された遅れ時間τに基づいて、センサ部における時刻と制御装置２０における時刻とを同期させる時刻同期部２０６と、を備える。
この制御装置２０によれば、無線センサ１０１の時刻と制御装置２０の時刻とを容易に同期させることができ、学習制御による機械装置１０の先端部における振動を抑制することができる。
【００５２】
（４）機械装置１０がロボットであり、制御装置２０がロボット制御装置であってもよい。
そうすることで、ロボット（機械装置）１０の可動部材の先端部の振動に対する学習制御を精度良く行うことができる。
【００５３】
（５）本開示の機械システム１は、モータ（サーボモータ１０２）により駆動される可動部材を有する機械装置と、（１）から（４）のいずれかの制御装置２０と、を備える。
この機械システム１によれば、上述の（１）から（４）のいずれかと同様の効果を奏することができる。
【００５４】
（６）本開示の時刻同期方法は、モータ（サーボモータ１０２）により駆動される可動部材を有する機械装置１０と、機械装置１０を制御する制御装置２０とを備える機械システム１において、機械装置１０の可動部材の先端部に設けられたセンサ部（無線センサ１０１）と制御装置２０との時刻同期を行う時刻同期方法であって、センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、受信したセンサ信号の位置、速度又は加速度に基づいて可動部材の先端部における加速度の第１時系列データａｓ（ｔ）を取得するデータ取得ステップと、モータの駆動指令に基づき、第１時系列データａｓ（ｔ）に対応する可動部材の先端部における加速度の第２時系列データａｒ（ｔ）を演算するデータ演算ステップと、機械装置１０を予め決められた基本動作で動作させた場合に、データ取得ステップで取得された第１時系列データａｓ（ｔ）と、データ演算ステップで演算された第２時系列データａｒ（ｔ）との相関の度合いに応じて、第２時系列データａｒ（ｔ）に対する第１時系列データａｓ（ｔ）の遅れ時間τを演算する遅れ時間演算ステップと、遅れ時間演算ステップにより演算された遅れ時間τに基づいて、センサ部における時刻と制御装置２０における時刻とを同期させる時刻同期ステップと、を備える。
この時刻同期方法によれば、上述の（１）と同様の効果を奏することができる。
【００５５】
（６）本開示の時刻同期方法は、モータ（サーボモータ１０２）により駆動される可動部材を有する機械装置１０と、機械装置１０を制御する制御装置２０とを備える機械システム１において、機械装置１０の可動部材の先端部に設けられたセンサ部（無線センサ１０１）と制御装置２０との時刻同期を行う時刻同期方法であって、センサ部により、周期的に検出された該先端部の位置、速度又は加速度を表すセンサ信号を受信する無線信号送受信ステップと、受信したセンサ信号の位置、速度又は加速度に基づいて可動部材の先端部における加速度の第１時系列データａｓ（ｔ）を取得するデータ取得ステップと、モータの駆動指令に基づき、第１時系列データａｓ（ｔ）に対応する可動部材の先端部における加速度の第２時系列データａｒ（ｔ）を演算するデータ演算ステップと、制御装置２０が実行するプログラムが示す動作をプログラムが示す速度に換えて所定値以下の速度で機械装置１０を動作させた場合に、データ取得ステップで取得された第１時系列データａｓ（ｔ）と、データ演算ステップで演算された第２時系列データａｒ（ｔ）との相関の度合いに応じて、第２時系列データａｒ（ｔ）に対する第１時系列データａｓ（ｔ）の遅れ時間τを演算する遅れ時間演算ステップと、遅れ時間演算ステップにより演算された遅れ時間τに基づいて、センサ部における時刻と制御装置２０における時刻とを同期させる時刻同期ステップと、を備える。
この時刻同期方法によれば、上述の（３）と同様の効果を奏することができる。
【符号の説明】
【００５６】
１  機械システム
１０  機械装置（ロボット）
２０  制御装置
１０１  無線センサ
２０２  データ取得部
２０３  モータ制御部
２０４  データ演算部
２０５  遅れ時間演算部
２０６  時刻同期部
２０７  学習制御部
【図１Ａ】
2020192628.tif 000003
【図１Ｂ】
2020192628.tif 000004
【図２】
2020192628.tif 000005
【図３】
2020192628.tif 000006
【図４】
2020192628.tif 000007
【図５Ａ】
2020192628.tif 000008
【図５Ｂ】
2020192628.tif 000009
【図６】
2020192628.tif 000010
【図７】
2020192628.tif 000011
【図８】
2020192628.tif 000012