(57)【要約】【課題】新たな動作を行わせる場合に、その動作についてロボットの振動の測定を行って、振動低減処理の設定をし直す煩雑さを低減する。【解決手段】この制御装置は、ロボットの可動部を移動させる動作を行うための第１制御信号から、あらかじめ定められた周波数の成分を低減して第２制御信号を生成することができる第２制御信号生成部と、前記ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を記憶している記憶部と、を備え、前記第２制御信号生成部は、前記動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記第１制御信号から低減すべき周波数の成分を決定する。【選択図】図４
2020157402.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するための制御装置であって、
ロボットの可動部を移動させる動作を行うための第１制御信号から、あらかじめ定められた周波数の成分を低減して第２制御信号を生成することができる第２制御信号生成部と、
前記ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を記憶している記憶部と、を備え、
前記第２制御信号生成部は、前記動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記第１制御信号から低減すべき周波数の成分を決定する、制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記制御点は、前記可動部の両端のうち、前記可動部を支持する基台と接続されている端とは逆の端にある、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記第２制御信号生成部は、前記決定した周波数を含むあらかじめ定められた幅の周波数の範囲の成分を、前記第１制御信号から低減して、前記第２制御信号を生成し、
前記参照情報は、前記ロボットの制御点の位置の範囲と周波数との２以上の組み合わせの情報を含み、
前記参照情報において、任意の二つの前記位置の範囲は、それぞれ対応づけられた前記周波数を含む前記周波数の範囲が互いに重複しないように設定されている、制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する、制御装置。
【請求項５】
請求項４記載の制御装置であって、
前記第２制御信号生成部は、前記第１制御信号から、さらに、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する、制御装置。
【請求項６】
請求項１から３のいずれか１項に記載の制御装置であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、
前記第１制御信号のうち、前記制御点が前記第１範囲内を移動する第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、
前記第１制御信号のうち、前記制御点が前記第２範囲内を移動する第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する、制御装置。
【請求項７】
請求項１から３のいずれか１項に記載の制御装置であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作であって、前記第２範囲内のあらかじめ定められた変更点において前記制御点の速度を変えて移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、
前記第１制御信号のうち、前記制御点が前記変更点に達する前の動作である第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、
前記第１制御信号のうち、前記制御点が前記変更点に達した後の動作である第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する、制御装置。
【請求項８】
請求項１から７のいずれか１項に記載の制御装置であって、
前記参照情報は、さらに、周波数と対応づけられていない前記ロボットの制御点の位置の範囲である非低減範囲の情報を含み、
前記第２制御信号生成部は、前記制御点が前記非低減範囲を移動する動作を指示する前記第１制御信号から、周波数の成分を低減することなく、前記第２制御信号を生成することができる、制御装置。
【請求項９】
請求項８記載の制御装置であって、
前記非低減範囲は、前記可動部を支持する基台の少なくとも一部を含む範囲である、制御装置。
【請求項１０】
請求項１から９のいずれか１項に記載の制御装置であって、
前記第２制御信号生成部は、前記可動部が支持する物の質量の情報に基づいて、前記質量が大きいほど、前記第１制御信号から低減すべき周波数の成分が小さくなるように、前記第１制御信号から低減すべき周波数の成分を決定する、制御装置。
【請求項１１】
ロボットを制御する制御方法であって、
（ａ）ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を準備する工程と、
（ｂ）動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記ロボットの可動部を移動させる動作を行うための第１制御信号から低減すべき周波数の成分を決定する工程と、
（ｃ）前記第１制御信号から、前記決定された周波数の成分を低減して第２制御信号を生成する工程と、
（ｄ）前記第２制御信号に基づいて、前記ロボットを駆動する駆動信号を生成する工程と、
を含む、制御方法。
【請求項１２】
請求項１１記載の制御方法であって、
前記制御点は、前記可動部の両端のうち、前記可動部を支持する基台と接続されている端とは逆の端にある、制御方法。
【請求項１３】
請求項１１または１２記載の制御方法であって、
前記工程（ｃ）は、前記決定された周波数を含むあらかじめ定められた幅の周波数の範囲の成分を、前記第１制御信号から低減して、前記第２制御信号を生成する工程であり、
前記工程（ａ）は、前記ロボットの制御点の位置の範囲と周波数との２以上の組み合わせの情報を含み、任意の二つの前記位置の範囲は、それぞれ対応づけられた前記周波数を含む前記周波数の範囲が互いに重複しないように設定されている、前記参照情報を準備する工程である、制御方法。
【請求項１４】
請求項１１から１３のいずれか１項に記載の制御方法であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する工程である、制御方法。
【請求項１５】
請求項１４記載の制御方法であって、
前記工程（ｃ）は、前記第１制御信号から、さらに、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する工程である、制御方法。
【請求項１６】
請求項１１から１３のいずれか１項に記載の制御方法であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、
前記第１制御信号のうち、前記制御点が前記第１範囲内を移動する第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、
前記第１制御信号のうち、前記制御点が前記第２範囲内を移動する第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する工程である、制御方法。
【請求項１７】
請求項１１から１３のいずれか１項に記載の制御方法であって、
前記参照情報は、
周波数と対応づけられた位置の範囲である第１範囲と、
周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、
前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作であって、前記第２範囲内のあらかじめ定められた変更点において前記制御点の速度を変えて移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、
前記第１制御信号のうち、前記制御点が前記変更点に達する前の動作である第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、
前記第１制御信号のうち、前記制御点が前記変更点に達した後の動作である第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する工程である、制御方法。
【請求項１８】
請求項１１から１７のいずれか１項に記載の制御方法であって、
前記参照情報は、さらに、周波数と対応づけられていない前記ロボットの制御点の位置の範囲である非低減範囲の情報を含み、
前記工程（ｃ）は、前記制御点が前記非低減範囲を移動する動作を指示する前記第１制御信号から、周波数の成分を低減することなく、前記第２制御信号を生成する工程を含む、制御方法。
【請求項１９】
請求項１８記載の制御方法であって、
前記非低減範囲は、前記可動部を支持する基台の少なくとも一部を含む範囲である、制御方法。
【請求項２０】
請求項１１から１９のいずれか１項に記載の制御方法であって、
前記工程（ｂ）は、前記可動部が支持する物の質量の情報に基づいて、前記質量が大きいほど、前記第１制御信号から低減すべき周波数の成分が小さくなるように、前記第１制御信号から低減すべき周波数の成分を決定する工程である、制御方法。
【請求項２１】
請求項１から１０のいずれか１項に記載の制御装置と、
前記制御装置によって制御されるロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットにおいて振動を低減する技術に関する。
【背景技術】
【０００２】
従来、ロボットの技術分野において、エンドエフェクターに保持されたワークピースの振動を低減するための、以下のような技術が存在する。特許文献１の技術においては、あらかじめ、エンドエフェクターでワークピースを保持した状態におけるロボットが共振する振動数を特定する。そして、ロボットのサーボモーターを駆動制御する電流制御部に与えられるトルク制御信号（時間の関数として把握できる）に、帯域阻止フィルターを適用し、その振動数の成分をトルク制御信号から除去する。その結果、その振動数の成分を含まないトルク制御信号が電流制御部に与えられる。そのトルク制御信号に基づいて電流制御部によって駆動制御されたサーボモーターは、エンドエフェクターに保持されたワークピースをその振動数で共振させてしまうことがない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットにおける共振周波数は、ロボットの制御点の位置によって異なる。このため、ある動作について、ロボットの振動の測定を行って共振周波数を特定し、トルク制御信号に帯域阻止フィルターを適用して振動を低減することができても、別の動作をロボットに実行させる場合には、そのままの設定では、十分な振動の低減を行うことができない。このため、新たな動作を行わせる場合には、その動作についてロボットの振動の測定を行って、帯域阻止フィルターの設定をし直し、トルク制御信号に帯域阻止フィルターを適用し直す必要がある。ロボットに新たな動作を教示するたびにこのような処理を行うことは、ユーザーに取って煩雑である。
【課題を解決するための手段】
【０００５】
本開示の一形態によれば、ロボットを制御するための制御装置が提供される。この制御装置は、ロボットの可動部を移動させる動作を行うための第１制御信号から、あらかじめ定められた周波数の成分を低減して第２制御信号を生成することができる第２制御信号生成部と、前記ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を記憶している記憶部と、を備え、前記第２制御信号生成部は、前記動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記第１制御信号から低減すべき周波数の成分を決定する。
【図面の簡単な説明】
【０００６】
【図１】本実施形態のロボットシステムを示す説明図である。
【図２】ロボット制御装置３００の構成要素と、ロボット１００が備えるサーボモーター４１０、位置センサー４２０および力覚センサー１９０と、の関係を示すブロック図である。
【図３】本実施形態のロボットシステム１の運用の流れを示すフローチャートである。
【図４】振動低減処理において低減される周波数と対応づけられている、ロボット１００の制御点ＴＣＰの位置の範囲を示す説明図である。
【図５】参照情報３０６が格納している情報を示す表である。
【図６】図３のステップＳ１００において、第１制御信号ＣＳ１から除去される周波数が指定される際の教示装置６００の表示を示す図である。
【図７】動作においてアーム１１０が先端１７０において支持する物体の質量に応じた共振周波数の変化を示すグラフである。
【図８】ロボット１００の姿勢Ａ０１を示す図である。
【図９】ロボット１００の姿勢Ａ０２を示す図である。
【図１０】ロボット１００の姿勢Ａ０３を示す図である。
【図１１】ロボット１００の姿勢Ａ０４を示す図である。
【図１２】ロボット１００の姿勢Ａ０５を示す図である。
【図１３】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
【図１４】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
【発明を実施するための形態】
【０００７】
Ａ．第１実施形態：
Ａ１．ロボットシステムの構成：
図１は、本実施形態のロボットシステムを示す説明図である。本実施形態のロボットシステムは、ロボット１００と、エンドエフェクター２００と、ロボット制御装置３００と、教示装置６００と、を備える。
【０００８】
ロボット１００は、６個の回転関節Ｘ１１〜Ｘ１６を備えたアーム１１０を有する６軸ロボットである。アーム１１０は、基台１８０に支持されている。関節Ｘ１１，Ｘ１４，Ｘ１６は、ねじり関節である。関節Ｘ１２，Ｘ１３，Ｘ１５は、曲げ関節である。ロボット１００は、６個の関節Ｘ１１〜Ｘ１６をそれぞれサーボモーターで回転させることにより、アーム１１０の先端１７０に取りつけられたエンドエフェクター２００を、３次元空間中の指定された位置に指定された姿勢で配することができる。エンドエフェクター２００が取りつけられるアーム１１０の先端１７０は、アーム１１０の両端のうち、基台１８０と接続されている端とは逆の端である。
【０００９】
３次元空間におけるエンドエフェクター２００の位置を代表する地点を、ＴＣＰ（Tool Center Point）とも呼ぶ。本実施形態においては、制御点としてのＴＣＰは、ロボット１００のアーム１１０の先端１７０にある。
【００１０】
図１において、基台１８０の位置を基準として、ロボット１００が設置された空間を規定する座標系をロボット座標系を示す。ロボット座標系は、水平面上において互いに直交するＸ軸およびＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される三次元直交座標系である。本明細書において、単に「Ｘ軸」と表記した場合、ロボット座標系におけるＸ軸を表す。単に「Ｙ軸」と表記した場合、ロボット座標系におけるＹ軸を表す。単に「Ｚ軸」と表記した場合、ロボット座標系におけるＺ軸を表す。ロボット座標系における任意の位置は、Ｘ軸方向の位置と、Ｙ軸方向の位置と、Ｚ軸方向の位置とにより特定できる。
【００１１】
ロボット１００のアーム１１０の先端１７０は、フランジ状すなわち円板状の形状で構成されている。ロボット１００は、アーム１１０の先端１７０に力覚センサー１９０を備えている。エンドエフェクター２００は、力覚センサー１９０を介して、ロボット１００のアーム１１０の先端１７０に取りつけられている。力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる。力覚センサー１９０の出力は、ロボット制御装置３００に送信され、ロボット１００の制御に使用される。
【００１２】
エンドエフェクター２００は、アーム１１０の先端に取りつけられている。エンドエフェクター２００は、ロボット制御装置３００に制御されて、ワークピースＷ０１をつかむことができ、また、つかんでいるワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００とエンドエフェクター２００とは、ロボット制御装置３００に制御されて、ワークピースＷ０１をつかんで移動させることができる。ワークピースＷ０１は、具体的には、ロボット１００が作業を行う対象物である。
【００１３】
ロボット制御装置３００は、ロボット１００に接続されており、ロボット１００の動作を制御する。より具体的には、ロボット制御装置３００は、ロボット１００の関節Ｘ１１〜Ｘ１６を動かすサーボモーター４１０を駆動する。ロボット制御装置３００は、プロセッサーであるＣＰＵ（Central Processing Unit）３０１、ＲＡＭ（Random Access Memory）３０２、ＲＯＭ（Read-Only Memory）３０３を備える。ロボット制御装置３００には、ロボット１００を制御するための制御プログラムがインストールされている。ロボット制御装置３００においては、ハードウェア資源としてのＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と、制御プログラムとが協働する。具体的には、ＣＰＵ３０１が、ＲＯＭ３０３に記憶されたコンピュータープログラムをＲＡＭ３０２にロードして実行することによって、様々な機能を実現する。
【００１４】
教示装置６００は、ロボット制御装置３００に目標位置Ｓｔと目標力ｆＳｔとを教示するための装置である。目標力ｆＳｔは、成分として、直線的に作用する力と、トルクと、を含みうる。教示装置６００は、いわゆる「ティーチングペンダント」である。ロボット１００に作業を実行させる際には、あらかじめ、教示装置６００によるロボットの動作の教示が行われる。ロボット制御装置３００は、教示の結果をデータとしてＲＡＭ３０２に格納する。ロボット制御装置３００は、ロボット１００に作業を実行させる段階において、ＲＡＭ３０２に格納された教示結果を表すデータに基づいて、ロボット１００を制御する。
【００１５】
教示装置６００は、プロセッサーであるＣＰＵ６０１、ＲＡＭ６０２、ＲＯＭ６０３を備える。教示装置６００には、ロボット制御装置３００に目標位置Ｓｔと目標力ｆＳｔとを教示するための制御プログラムがインストールされている。教示装置６００においては、ハードウェア資源としてのＣＰＵ６０１、ＲＡＭ６０２、ＲＯＭ６０３と、制御プログラムとが協働する。具体的には、ＣＰＵ６０１が、ＲＯＭ６０３に記憶されたコンピュータープログラムをＲＡＭ６０２にロードして実行することによって、様々な機能を実現する。
【００１６】
教示装置６００は、さらに、入力装置６０４と、出力装置６０５を備える。入力装置６０４は、ユーザーからの指示を受け付ける。入力装置６０４は、例えば、キーボード６０４ａ、操作レバー６０４ｂ、タッチパネル６０４ｃ等である。出力装置６０５は、ユーザーに、ロボット１００の動作設定のためのユーザーインターフェイスや警告を含む各種の情報を出力する。出力装置６０５は、例えば、液晶ディスプレイやスピーカー等である。本実施形態においては、出力装置６０５としての液晶ディスプレイの上に、入力装置６０４としてのタッチパネル６０４ｃが設けられている。
【００１７】
図２は、ロボット制御装置３００の構成要素と、ロボット１００が備えるサーボモーター４１０、位置センサー４２０および力覚センサー１９０と、の関係を示すブロック図である。ロボット制御装置３００は、その機能部として、制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０と、フィルター設定部３４５と、力制御部３９０と、を備える。制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、フィルター設定部３４５と、トルク制御部３５０と、力制御部３９０とは、ＣＰＵ３０１によって実現される。
【００１８】
制御信号生成部３１０は、エンドエフェクター２００が位置すべき目標位置Ｓｔを表す位置制御信号を生成し、位置制御部３２０に出力する。制御信号生成部３１０は、力制御を実施すべき指示をユーザーから受けている場合には、目標力ｆＳｔ、すなわち、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を生成し、力制御部３９０に出力する。制御信号生成部３１０は、ロボット１００が実行中の動作を表すコマンドを、フィルター設定部３４５に出力する。
【００１９】
力制御部３９０は、目標力ｆＳｔ、すなわち、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を、制御信号生成部３１０から受信する。力制御部３９０は、エンドエフェクター２００に作用しているＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｕ軸、Ｖ軸、Ｗ軸まわりのトルクとを、力覚センサー１９０から受信する。エンドエフェクター２００に作用しているＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｕ軸、Ｖ軸、Ｗ軸まわりのトルクとを、図２において、まとめてｆＳと表記する。Ｕ軸方向は、Ｘ軸方向を中心軸とする回転方向である。Ｖ軸方向は、Ｙ軸方向を中心軸とする回転方向である。Ｗ軸方向は、Ｚ軸方向を中心軸とする回転方向である。力制御部３９０は、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転位置を受信する。そして、力制御部３９０は、それらのパラメーターに基づいて、位置の補正量ΔＳを決定し、補正量ΔＳを表す信号を位置制御部３２０に出力する。
【００２０】
位置制御部３２０は、制御信号生成部３１０から、目標位置Ｓｔを表す位置制御信号を受信する。位置制御部３２０は、力制御部３９０から、位置の補正量ΔＳをあらわす信号を受信する。位置制御部３２０は、位置フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転位置を受信する。位置制御部３２０は、それらの情報に基づいて、ロボット１００の各サーボモーター４１０の速度制御信号を生成し、速度制御部３３０とフィルター設定部３４５に、出力する。
【００２１】
なお、位置制御部３２０は、力制御を実施すべき指示を制御信号生成部３１０から受けていない場合には、速度制御信号の生成に際して、力制御部３９０から受信した情報は考慮しない。
【００２２】
速度制御部３３０は、位置制御部３２０から速度制御信号を受信する。また、速度制御部３３０は、速度フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転速度を受信する。速度制御部３３０は、その速度制御信号と、各サーボモーター４１０の回転速度と、に基づいて、トルク制御信号を生成し、フィルター処理部３４０に出力する。
【００２３】
フィルター設定部３４５は、制御信号生成部３１０から実行中の動作を表すコマンドを受信する。フィルター設定部３４５は、受信したコマンドに応じて、参照情報を参照し、トルク制御信号から除去すべき１以上の周波数成分を指示する制御信号を生成し、フィルター処理部３４０に出力する。フィルター設定部３４５は、トルク制御信号から除去すべき周波数成分は存在しない旨の制御信号を、フィルター処理部３４０に出力することもできる。
【００２４】
フィルター処理部３４０は、速度制御部３３０から、トルク制御信号を受信する。また、フィルター処理部３４０は、フィルター設定部３４５から、除去すべき１以上の周波数成分の制御信号を受信する。フィルター処理部３４０は、速度制御部３３０が出力したトルク制御信号に対して、帯域除去フィルターを使用して、トルク制御信号に応じた１以上の周波数成分を除去する処理を行って、新たなトルク制御信号を生成し、出力する。より具体的には、フィルター処理部３４０により、特定の周波数成分が−３０ｄＢ、低減される。
【００２５】
フィルター処理部３４０は、その特定の周波数を含むあらかじめ定められた幅の周波数範囲の成分を、制御信号から低減して、新たな制御信号を生成する。具体的には、その特定の周波数±Δｆの範囲の周波数成分が、低減される。本実施形態においてΔｆは１Ｈｚである。
【００２６】
速度制御部３３０が出力したトルク制御信号も、フィルター処理部３４０が生成する新たなトルク制御信号も、いずれもアーム１１０およびエンドエフェクター２００を移動させる動作を行うための制御信号である。速度制御部３３０が出力したトルク制御信号を、「第１制御信号ＣＳ１」と呼ぶ。フィルター処理部３４０が生成する新たなトルク制御信号を、「第２制御信号ＣＳ２」と呼ぶ。
【００２７】
フィルター処理部３４０において除去される周波数成分は、実行中の動作を表すコマンドに応じてあらかじめ定められた周波数の成分である。実行中の動作を表すコマンドに応じてあらかじめ定められた周波数は、たとえば、（ｉ）その動作の終了時点のロボット１００の姿勢におけるロボット１００の振動の振動数、（ｉｉ）その動作の開始時点のロボット１００の姿勢におけるロボット１００の振動の振動数、（ｉｉｉ）その動作のうち速度が変更される地点に制御点があるときのロボット１００の姿勢におけるロボット１００の振動の振動数である。
【００２８】
本明細書において、トルク制御信号などの制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する処理を、「振動低減処理」と呼ぶ。また、制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する機能を、「振動低減機能」と呼ぶ。
【００２９】
フィルター処理部３４０は、フィルター設定部３４５から、除去すべき周波数は存在しない旨の制御信号を受信した場合には、速度制御部３３０から受信したトルク制御信号を、そのまま出力する。このような処理を行うことにより、速度制御部３３０から受信したトルク制御信号に基づいて、本来の制御信号に忠実にロボットを駆動することができる。
【００３０】
トルク制御部３５０は、フィルター処理部３４０から、トルク制御信号を受信する。また、トルク制御部３５０は、サーボアンプ３６０から、各サーボモーター４１０に供給する電流の電流量を表すフィードバック信号を受信する。トルク制御部３５０は、そのトルク制御信号と、各サーボモーター４１０の電流フィードバック信号と、に基づいて、ロボット１００を駆動する駆動信号ＤＳを生成する。より具体的には、トルク制御部３５０は、トルク制御信号と、各サーボモーター４１０の電流フィードバック信号と、に基づいて、各サーボモーター４１０に供給する電流量を決定し、サーボアンプ３６０を介して、各サーボモーター４１０を駆動する。
【００３１】
Ａ２．振動低減機能の設定：
図３は、本実施形態のロボットシステム１の運用の流れを示すフローチャートである。本実施形態のロボットシステム１の運用においては、まずステップＳ１００において、ロボットが製造される。その際、ロボット１００の制御点ＴＣＰの位置の範囲と、振動低減処理において低減すべき周波数と、の１以上の組み合わせの情報を含む参照情報３０６が生成される。参照情報３０６は、ＲＡＭ３０２に格納される（図１参照）。すなわち、参照情報３０６は、ステップＳ２００のロボット１００の運用に先だって、準備される。
【００３２】
ステップＳ２００において、ロボット１００の運用が行われ、製品の製造に使用される。より具体的には、ロボット１００に作業を実行させるための動作が決定される。この処理は、教示装置６００を介してユーザーからの指示を受けて、ロボット制御装置３００が実行する。
【００３３】
そして、ロボット制御装置３００の制御信号生成部３１０（図２参照）が、各動作における目標位置を表す位置制御信号を生成する。ロボット制御装置３００のフィルター設定部３４５が、各各動作におけるロボット１００の制御点ＴＣＰの位置の情報に基づいて、参照情報３０６を参照して、第１制御信号ＣＳ１から低減すべき周波数の成分を決定する。周波数の成分の決定については、以下で、さらに説明する。
【００３４】
その後、ロボット制御装置３００のフィルター処理部３４０が、速度制御部３３０から受け取った第１制御信号ＣＳ１に対して、周波数成分を除去する処理を行って、第２制御信号ＣＳ２を生成する（図２参照）。ロボット制御装置３００のトルク制御部３５０は、フィルター処理部３４０から第２制御信号ＣＳ２を受け取って、第２制御信号ＣＳ２に基づいて、各サーボモーター４１０を駆動して、アーム１１０を移動させる。図３の処理によって、最終的にロボット１００が制御される。このため、図３の処理は、広い意味で、ロボット１００の制御方法として把握することもできる。
【００３５】
図４は、振動低減処理において低減される周波数と対応づけられている、ロボット１００の制御点ＴＣＰの位置の範囲を示す説明図である。図４においては、ロボット１００の関節Ｘ１２の回転軸が、ロボット座標系のＹ軸と平行になる姿勢でロボットが描かれている。関節Ｘ１２は、ロボット１００において基台１８０に最も近い曲げ関節である。図４において、ロボット１００の関節Ｘ１２は、ロボット座標系の原点Ｏに対して、Ｘ軸の負の方向にＤｘだけオフセットしており、Ｚ軸の正の方向にＤｚだけオフセットしている。以下の説明では、関節Ｘ１２の回転軸の位置であって、ロボット座標系のＸＺ平面と交わる点を、基準点Ｏ２と呼ぶ。なお、図４において、Ｘ軸方向の寸法とＺ軸方向の寸法とは、１：１の比で描かれているわけではない。
【００３６】
ロボット１００に対して、基準点Ｏ２を基準として、３個の位置の範囲Ａｒ０，Ａｒ１，Ａｒ２が定められている。振動低減処理において低減される周波数を決定する際に参照される参照情報３０６（図１参照）は、図４に示すロボットの制御点ＴＣＰの位置の範囲Ａｒ０，Ａｒ１，Ａｒ２と周波数との組み合わせの情報を含む。
【００３７】
参照情報３０６は、以下の処理によって生成される（図３のＳ１００参照）。まず、基準点Ｏ２に対して様々な位置に制御点ＴＣＰが配されて、そのときのロボット１００の共振周波数が測定される。なお、測定は、アーム１１０の先端１７０に取りつけられた６軸の加速度センサーを使用して行われる。より具体的には、加速度センサーは、力覚センサー１９０の先に取りつけられる。それらの測定結果を、基準点Ｏ２に対する制御点ＴＣＰの各位置に、共振周波数ｆ１１〜ｆ１５，ｆ２１〜ｆ２９，ｆ３１〜ｆ３３として示す。なお、共振周波数ｆ１１〜ｆ１５，ｆ２１〜ｆ２９，ｆ３１〜ｆ３３は、その順に高い値を有する（ｆ１１＜ｆ３７）。なお、大きさの順に並べたときに隣り合う共振周波数は、互いに等しい測定値を有する場合もある。
【００３８】
図４より、おおまかには、基準点Ｏ２よりも下方で基台１８０を含む範囲において、共振周波数が高く（ｆ３１〜ｆ３３参照）、基準点Ｏ２から遠い位置の範囲において、共振周波数が低く（ｆ１１〜ｆ１５参照）、基準点Ｏ２に近い位置の範囲において、共振周波数が中程度である（ｆ２１〜ｆ２９参照）ことがわかる。このため、本実施形態の参照情報３０６においては、共振周波数は３個のグループに分けられ、それぞれ共振周波数が測定された各点が含まれる位置の範囲Ａｒ０，Ａｒ１，Ａｒ２が対応づけられる。
【００３９】
非低減範囲Ａｒ０は、基準点Ｏ２を頂点とし、基準点Ｏ２からＺ軸の負方向に伸びる基準線ＬＳを中心線とし、ロボット座標系のＸＹ平面を底面とする円錐形を有する。円錐の母線が基準線ＬＳとなす角をθｔｈとする。非低減範囲Ａｒ０には、基台１８０が含まれる。
【００４０】
第１範囲Ａｒ１は、基準点Ｏ２を中心とする、あらかじめ定められた大きさの半径Ｒｔｈの球状の空間から、非低減範囲Ａｒ０を除いた空間である。なお、図４において、Ｘ軸方向の寸法とＺ軸方向の寸法とは、１：１の比で描かれていないため、第１範囲Ａｒ１の外縁の形状は、図４において、円ではなく楕円となっている。
【００４１】
第２範囲Ａｒ２は、第１範囲Ａｒ１を囲む空間である。第２範囲Ａｒ２の外縁を規定する曲面は、アーム１１０の先端１７０の制御点ＴＣＰがとりうる位置の外縁である。第２範囲Ａｒ２は、そのように定められる外縁で囲まれた空間から、非低減範囲Ａｒ０および第１範囲Ａｒ１を除いた空間である。
【００４２】
第１範囲Ａｒ１に対して、第１範囲Ａｒ１に対応づけられた共振周波数ｆ１１〜ｆ１５の最大値と最小値の中間の値[（ｆ１５−ｆ１１）／２］が、低減すべき周波数Ｆ１１として割り当てられる。第２範囲Ａｒ２に対応づけられた共振周波数ｆ２１〜ｆ２９の最大値と最小値の中間の値[（ｆ２９−ｆ２１）／２］が、低減すべき周波数Ｆ２１として割り当てられる。非低減範囲Ａｒ０に対しては、低減すべき周波数は、割り当てられない。
【００４３】
共振周波数ｆ１１〜ｆ１５，ｆ２１〜ｆ２９の周波数の範囲は、それぞれグループにおける最大値と最小値の中間の値同士の間隔が（Δｆ×２）より大きくなるように、グループ分けされる。（Δｆ×２）は、フィルター処理部３４０（図２参照）が周波数成分を低減する際の処理対象の周波数成分の幅である。このようにして定められる共振周波数ｆ１１〜ｆ１５のグループに対応づけられる位置の範囲Ａｒ１と、共振周波数ｆ２１〜ｆ２９のグループに対応づけられる位置の範囲Ａｒ２とは、振動低減処理において低減される周波数の範囲が互いに重複しない。言い替えれば、低減すべき周波数と対応づけられる位置の範囲の区分は、振動低減処理において低減される周波数の範囲が互いに重複しないように、設定される。
【００４４】
参照情報３０６（図１参照）は、そのようにして定められる第１範囲Ａｒ１と周波数Ｆ１１との組み合わせの情報、および第２範囲Ａｒ２と周波数Ｆ２１との組み合わせの情報を、含む。参照情報３０６は、非低減範囲Ａｒ０の情報も含む。非低減範囲Ａｒ０は、周波数と対応づけられていない。
【００４５】
図５は、参照情報３０６が格納している制御点の位置の範囲と周波数との組み合わせの情報を示す表である。非低減範囲Ａｒ０は、実質的には、制御点ＴＣＰと基準点Ｏ２とを結ぶ線分と基準線ＬＳとがなす角θが、θｔｈよりも小さい範囲、として規定することができる。そのような位置の範囲に対しては、低減すべき周波数は対応づけられない（図５の下段参照）。
【００４６】
第１範囲Ａｒ１は、実質的には、制御点ＴＣＰと基準点Ｏ２との距離Ｒｔｃｐが、Ｒｔｈよりも小さい範囲であって、制御点ＴＣＰと基準点Ｏ２とを結ぶ線分と基準線ＬＳとがなす角θが、θｔｈ以上である範囲、として規定することができる。そのような位置の範囲に対しては、低減すべき周波数として、Ｆ１１が対応づけられる（図５の左上部照）。
【００４７】
第２範囲Ａｒ２は、実質的には、制御点ＴＣＰと基準点Ｏ２との距離Ｒｔｃｐが、Ｒｔｈ以上の範囲であって、制御点ＴＣＰと基準点Ｏ２とを結ぶ線分と基準線ＬＳとがなす角θが、θｔｈ以上である範囲、として規定することができる。そのような位置の範囲に対しては、低減すべき周波数として、Ｆ２１が対応づけられる（図５の右上部照）。
【００４８】
本実施形態において、制御点ＴＣＰは、ロボット１００のアーム１１０の先端１７０の位置にある。このため、エンドエフェクター２００の情報を必要とせず、ロボット１００の設計情報に基づいて参照情報３０６を生成して（図３のＳ１００参照）、その参照情報３０６に基づいて有効にロボット１００の振動を低減することができる（図３のＳ２００参照）。
【００４９】
ロボット１００を製造する段階（図３のＳ１００参照）で参照情報３０６を生成しない態様においては、ロボット１００の運用の段階（図３のＳ２００参照）において、どの程度、有効な振動低減処理が実行されるか、特定することができない。このため、運用の段階における振動の発生を予防し、発生した振動の早期の収束を図るために、ロボット１００のアーム１１０の移動速度の上限および加速度の上限、ならびにアーム１１０が支持する対象物の質量の大きさに応じて設定される加速度の制限を、低く設定する必要がある。また、アーム１１０のフィードバック制御において行われるＰＩＤ制御の比例要素、積分要素、微分要素の各係数についても、振動が収束しやすいように、安定性が高い設定をしなければならなかった。これらの制限は、振動が最も発生しやすいアーム１１０の姿勢において、十分に振動を抑制できるように、行われる必要がある。その結果、ロボット１００の運用段階において、ロボット１００のアーム１１０の動きは遅くなり、動作のサイクルタイムが長くなっていた。
【００５０】
しかし、本実施形態においては、ロボットを製造する段階（図３のＳ１００参照）で、ロボット１００の製造者が参照情報３０６を生成できる。このため、ロボットの運用の段階（図３のＳ２００参照）において、参照情報３０６を使用した有効な振動低減処理が実行されることが期待できる。よって、ロボット１００の製造者は、ロボットを製造する段階（図３のＳ１００参照）において、ロボット１００のアーム１１０の移動速度の上限および加速度の上限、ならびにアーム１１０が支持する対象物の質量に応じた加速度の制限を、上記の比較例に比べて高く設定することができる。また、ＰＩＤ制御の比例要素、積分要素、微分要素の各係数についても、より応答性を重視した設定をすることができる。その結果、ロボット１００の運用の段階において、アーム１１０に高速な移動を行わせることができ、その結果、動作のサイクルタイムを短くすることができる。
【００５１】
図６は、図３のステップＳ２００において、各動作に対して振動低減処理の内容が指定される際の教示装置６００の表示を示す図である。図６の表示は、振動低減機能の設定装置として機能する教示装置６００を使用して振動低減機能の設定が行われる際に、出力装置６０５としてのディスプレイに表示される。
【００５２】
図６の表中の左端の列は、動作を区別するための番号である。図６の表中の中央の２列は、振動低減処理において低減される対象周波数を表すパラメーターＰａｒａｍ１，Ｐａｒａｍ２を示す。本実施形態においては、各番号に対応する動作に対して、最大２個の対象振動数が設定される。すなわち、第１制御信号ＣＳ１から、最大二つの周波数成分が除去される（図２の３４０参照）。
【００５３】
図６の表中の右端の欄は、「種類」の欄である。「種類」の欄は、振動の低減の態様を指定する入力インターフェイスである。「種類」の欄においては、「通常」、「両方」、「境界切替え」、および「変速点切替え」の４個の選択肢の中から一つが選択される。「種類」の欄による指定の内容については、後に説明する。「種類」の欄の指定に応じて、振動の低減の態様が決定され、一つまたは二つの対象振動数を表すパラメーターＰａｒａｍ１，Ｐａｒａｍ２として、Ｆ１１，Ｆ２１が指定される。Ｆ１１，Ｆ２１は、参照情報３０６（図１および図５参照）において、制御点の位置と対応づけられて、格納されている。
【００５４】
たとえば、他の設定画面において、図６の表中の番号１に対して、動作Ｏｐ１０が割り当てられたものとする。動作Ｏｐ１０は、第１範囲Ａｒ１内の位置Ｐ１１から、第２範囲Ａｒ２内の位置Ｐ１２に、制御点が移動する動作である（図４の中段右部参照）。動作Ｏｐ１０において、第１範囲Ａｒ１と第２範囲Ａｒ２の境界に位置する制御点ＴＣＰの位置を、位置Ｐ１３として示す。動作Ｏｐ１０においては、制御点ＴＣＰは、位置Ｐ１３の前後を一定の速度で移動する。
【００５５】
「種類」の欄が「通常」に設定されている場合には、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数を、決定する。その結果、図６の表中の番号１に対応づけられた動作Ｏｐ１０については、フィルター処理部３４０（図２参照）は、動作Ｏｐ１０を指示する第１制御信号ＣＳ１から、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分を低減して、第２制御信号ＣＳ２を生成する（図６の番号１欄のＰａｒａｍ２参照）。図６の「種類」の欄は、デフォルトでは、「通常」に設定される。
【００５６】
このような処理を行うことにより、第１制御信号ＣＳ１で指示される動作Ｏｐ１０が終了した後の残留振動を、効果的に低減できる、第２制御信号ＣＳ２を生成することができる。
【００５７】
他の設定画面において、図６の表中の番号２に対して、動作Ｏｐ１０が割り当てられたものとする。なお、実際には、図６の各番号には異なる動作が対応づけられる。しかし、ここでは、技術の理解を容易にするため、図６の表中の番号２に対しても、動作Ｏｐ１０が割り当てられたものとする。以降で説明する番号３についても同様である。
【００５８】
「種類」の欄が「両方」に設定されている場合には、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数と、動作の始点が属する位置の範囲に対応づけられた周波数とを、決定する。その結果、図６の表中の番号２に対応づけられた動作Ｏｐ１０については、フィルター処理部３４０（図２参照）は、動作Ｏｐ１０を指示する第１制御信号ＣＳ１から、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分と、第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分と、を低減して、第２制御信号ＣＳ２を生成する（図６の番号２欄のＰａｒａｍ１，Ｐａｒａｍ２参照）。
【００５９】
このような処理を行うことにより、制御点ＴＣＰが第２範囲Ａｒ２を移動しているとき、および動作終了後の制御点ＴＣＰの振動を、抑制できることに加え、制御点ＴＣＰが第１範囲Ａｒ１を移動しているときの制御点ＴＣＰの振動を、効果的に低減できる、第２制御信号ＣＳ２を生成することができる（図４のＯｐ１１参照）。
【００６０】
他の設定画面において、図６の表中の番号３に対して、動作Ｏｐ１０が割り当てられたものとする。
【００６１】
「種類」の欄が「境界切替え」に設定されている場合には、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数と、動作の始点が属する位置の範囲に対応づけられた周波数とを、決定する。そして、制御点ＴＣＰが第１範囲Ａｒ１内を移動する第１部分動作Ｏｐ１１を指示する部分については、低減すべき周波数は、動作の始点Ｐ１１が属する第１範囲Ａｒ１に対応づけられた周波数Ｆ１１とされる。制御点ＴＣＰが第２範囲Ａｒ２内を移動する第２部分動作Ｏｐ１２を指示する部分については、低減すべき周波数は、動作の終点Ｐ１２が属する第２範囲Ａｒ２に対応づけられた周波数Ｆ２１とされる。
【００６２】
その結果、図６の表中の番号３に対応づけられた動作Ｏｐ１０については、フィルター処理部３４０（図２参照）は、動作Ｏｐ１０を指示する第１制御信号ＣＳ１から、第２制御信号ＣＳ２を生成する際に、以下の処理を行う。すなわち、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが第１範囲Ａｒ１内を移動する第１部分動作Ｏｐ１１を指示する部分について、参照情報３０６において第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分を低減する。そして、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが第２範囲Ａｒ２内を移動する第２部分動作Ｏｐ１２を指示する部分について、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分を低減する。
【００６３】
このような処理を行うことにより、第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分と第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分との両方を、一貫して低減する態様（図６の表中の番号２欄参照）と比べて、以下のような効果が得られる。すなわち、位置ずれを少なくしつつ、第１制御信号ＣＳ１が指示する動作のうちの第１部分動作Ｏｐ１１について、振動を効果的に低減することができ、第２部分動作Ｏｐ１２についても、振動を効果的に低減することができる。
【００６４】
他の設定画面において、図６の表中の番号４に対して、動作Ｏｐ２０が割り当てられたものとする。動作Ｏｐ２０は、第１範囲Ａｒ１内の位置Ｐ２１から第２範囲Ａｒ２内の位置Ｐ２２に制御点ＴＣＰが移動する動作である（図４の上段右部参照）。ただし、動作Ｏｐ２０においては、第２範囲Ａｒ２内のあらかじめ定められた変更点Ｐ２３において、制御点ＴＣＰは速度を変えて移動する。なお、本明細書のフィルター設定部３４５およびフィルター処理部３４０の説明において、「速度」は、大きさと向きを含む概念である。すなわち、大きさが同じで向きが変わる変更も、速度の変更に含まれる。
【００６５】
「種類」の欄が「変更点切替え」に設定されている場合には、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数と、動作の始点が属する位置の範囲に対応づけられた周波数とを、決定する。そして、制御点ＴＣＰが変更点に達する前の部分については、低減すべき周波数は、動作の始点が属する位置の範囲に対応づけられた周波数とされる。制御点ＴＣＰが変更点に達した後の部分については、低減すべき周波数は、動作の終点が属する位置の範囲に対応づけられた周波数とされる。
【００６６】
その結果、図６の表中の番号４に対応づけられた動作Ｏｐ２０については、フィルター処理部３４０（図２参照）は、動作Ｏｐ２０を指示する第１制御信号ＣＳ１から、第２制御信号ＣＳ２を生成する際に、以下の処理を行う。すなわち、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが変更点Ｐ２３に達する前の動作である第１部分動作Ｏｐ２１を指示する部分について、参照情報３０６において第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分を低減する。フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが変更点Ｐ２３に達した後の動作である第２部分動作Ｏｐ２２を指示する部分について、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分を低減する。
【００６７】
このような処理を行うことにより、第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分と第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分との両方を、一貫して低減する態様（図６の表中の番号２参照）と比べて、以下のような効果が得られる。すなわち、位置ずれを少なくしつつ、第１制御信号ＣＳ１が指示する動作のうちの第１部分動作Ｏｐ２１について、振動を効果的に低減することができ、第２部分動作Ｏｐ２２についても、振動を効果的に低減することができる。
【００６８】
他の設定画面において、図６の表中の番号５に対して、動作Ｏｐ３０が割り当てられたものとする。動作Ｏｐ３０は、制御点ＴＣＰが非低減範囲Ａｒ０を移動する動作である。より具体的には、動作Ｏｐ３０は、第１範囲Ａｒ１内の位置Ｐ３１から、非低減範囲Ａｒ０内の位置Ｐ３２に、制御点ＴＣＰが移動する動作である（図４の下段右部参照）。動作Ｏｐ３０において、第１範囲Ａｒ１と非低減範囲Ａｒ０の境界に位置する制御点ＴＣＰの位置を、位置Ｐ３３として示す。
【００６９】
ある番号の動作が、制御点ＴＣＰが非低減範囲Ａｒ０を移動する動作Ｏｐ３０である場合は、その番号の行については、「種類」の欄は、設定することができない。そして、制御点ＴＣＰが非低減範囲Ａｒ０を移動する動作Ｏｐ３０については、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数を決定しない。その結果、図６の表中の番号５に対応づけられた動作Ｏｐ３０については、フィルター処理部３４０（図２参照）は、動作Ｏｐ３０を指示する第１制御信号ＣＳ１から、周波数の成分を低減することなく、第２制御信号ＣＳ２を生成する。
【００７０】
このような処理を行うことにより、制御点ＴＣＰがどのような位置範囲にある動作についても、第１制御信号ＣＳ１から周波数の成分を低減する態様に比べて、制御点ＴＣＰが非低減範囲Ａｒ０内を移動する動作における位置精度を向上させることができる。
【００７１】
本実施形態においては、非低減範囲Ａｒ０は、アーム１１０を支持している基台１８０を含む範囲である（図４参照）。このため、アーム１１０が折り畳まれており、アーム１１０の構造物としての剛性が高く、その結果、比較的、振動しにくいと考えられる動作Ｏｐ３０について、以下の効果が得られる。すなわち、振動による不利益を被ることなく、または少ない不利益で、位置精度を向上させることができる。
【００７２】
本実施形態によれば、新たに教示した動作についてロボット１００の共振周波数を測定することなく、参照情報３０６に基づいて、その動作について、振動を低減できる駆動信号ＤＳを生成してロボット１００に出力することができる。このため、ロボット１００の制御点ＴＣＰの位置の範囲Ａｒ１，Ａｒ２と周波数Ｆ１１，Ｆ２１との組み合わせの情報を格納している参照情報３０６を使用した第２制御信号ＣＳ２の生成を行わない制御装置に比べて、複数の動作について振動を低減する際のユーザーの負荷を低減することができる。
【００７３】
本実施形態におけるアーム１１０を「可動部」とも呼ぶ。フィルター処理部３４０およびフィルター設定部３４５を「第２制御信号生成部」とも呼ぶ。
【００７４】
本実施形態におけるステップＳ１００において参照情報３０６が生成される工程を、「工程（ａ）」とも呼ぶ（図３参照）。ステップＳ２００において、第１制御信号ＣＳ１から低減すべき周波数の成分が決定されｒる工程を「工程（ｂ）」とも呼ぶ。ステップＳ２００において、第１制御信号ＣＳ１に対して、周波数成分を除去する処理が行われて、第２制御信号ＣＳ２が生成される工程を「工程（ｃ）」とも呼ぶ。ステップＳ２００において、第２制御信号ＣＳ２に基づいて、アーム１１０が移動される工程を「工程（ｄ）」とも呼ぶ。
【００７５】
Ｂ．第２実施形態：
第２実施形態においては、図３のステップＳ２００における、振動低減処理において低減すべき周波数の決定方法が、第１実施形態とは異なる。具体的には、動作においてアーム１１０が先端１７０において支持する物体の質量を考慮して、振動低減処理において低減すべき周波数が補正される。第２実施形態の他の点は、第１実施形態と同じである。
【００７６】
図７は、動作においてアーム１１０が先端１７０において支持する物体の質量に応じた共振周波数の変化を示すグラフである。図８〜図１２は、ぞれぞれロボット１００の姿勢Ａ０１〜Ａ０５を示す図である。図７において、太い実線は、ロボット１００が姿勢Ａ０１をとった場合のアーム１１０が先端１７０において支持する物の質量に応じた共振周波数の変化を示すグラフである。一点鎖線は、ロボット１００が姿勢Ａ０２をとった場合のアーム１１０が先端１７０において支持する物の質量に応じた共振周波数の変化を示すグラフである。細い実線は、ロボット１００が姿勢Ａ０３をとった場合のアーム１１０が先端１７０において支持する物の質量に応じた共振周波数の変化を示すグラフである。破線は、ロボット１００が姿勢Ａ０４をとった場合のアーム１１０が先端１７０において支持する物の質量に応じた共振周波数の変化を示すグラフである。二点鎖線は、ロボット１００が姿勢Ａ０５をとった場合のアーム１１０が先端１７０において支持する物の質量に応じた共振周波数の変化を示すグラフである。
【００７７】
図７より、いずれの姿勢においても、アーム１１０が先端１７０において支持する物の質量が大きいほど、共振周波数がが小さくなっていることが分かる。また、付加の増加分に対する虚心周波数の減少分の割合も、ほぼ一定であることが分かる。なお、図７に示す測定において、アーム１１０が先端１７０において支持する物の質量には、エンドエフェクター２００の質量と、エンドエフェクター２００が保持するワークピースＷ０１の質量とが含まれる。
【００７８】
第２実施形態においては、フィルター設定部３４５（図２参照）は、アーム１１０が先端１７０において支持する物の質量の情報に基づいて、その質量が大きいほど、第１制御信号ＣＳ１から低減すべき周波数が小さくなるように、第１制御信号ＣＳ１から低減すべき周波数を決定する。より具体的には、フィルター設定部３４５は、参照情報３０６（図１および図５参照）を参照して得られた周波数を、支持する物の質量の増加に対して、線形に減少するように、補正する。なお、アーム１１０が先端１７０において支持する物の質量の情報は、図３のステップＳ２００において、動作が決定された際に、あらかじめロボット制御装置３００に入力されている。
【００７９】
フィルター処理部３４０は、フィルター設定部３４５から除去すべき１以上の周波数成分の制御信号を受信し、その周波数成分を除去する処理を行って、新たなトルク制御信号を生成する（図２参照）。その結果、アーム１１０が先端１７０において支持する物の質量が大きいほど、第１制御信号ＣＳ１から低減すべき周波数の成分が小さくなるように、第１制御信号ＣＳ１が補正されて、第２制御信号ＣＳ２が生成される。
【００８０】
このような処理を行うことにより、アーム１１０が先端において支持する物の質量を考慮せずに、第１制御信号ＣＳ１から低減すべき周波数の成分を決定する態様に比べて、より高度にロボット１００の動作の振動を低減することができる。
【００８１】
Ｃ．第３実施形態：
図１３は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００およびそのロボット制御装置３００の他に、パーソナルコンピューター４００，４００ｂと、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４００ｂは、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、ロボット制御装置３００および教示装置６００を含む制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
【００８２】
Ｄ．第４実施形態：
図１４は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００のロボット制御装置３００が、ロボット１００の中に格納されている点が図１３と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット１００の制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
【００８３】
Ｅ．他の実施形態：
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【００８４】
Ｅ１．他の形態１：
（１）上記実施形態においては、関節Ｘ１２の位置を基準点Ｏ２として、位置の範囲Ａｒ０，Ａｒ１，Ａｒ２が定められている（図４参照）。しかし、参照情報において低減すべき周波数と対応づけられる位置の範囲は、他の点を基準として定められることもできる。ただし、参照情報において低減すべき周波数と対応づけられる位置の範囲は、ロボットにおいて可動部としてのアームを支持する基台に最も近い曲げ関節の位置を中心とする範囲であることが好ましい。そのような態様とすることにより、よりアームの先端に近い関節の位置を基準点とする態様に比べて、アームに発生する様々な固有振動数の振動を、有効に低減することができる。
【００８５】
上記実施形態においては、参照情報において低減すべき周波数と対応づけられる位置の範囲は、基台１８０に最も近い関節Ｘ１１における角度位置を考慮せずに定められている（図４参照）。しかし、基台１８０に最も近い関節Ｘ１１はねじり関節であることから、関節Ｘ１１における角度位置がアーム１１０の共振に与える影響は大きくない。このため、ロボットにおいて可動部としてのアームを支持する基台に最も近い曲げ関節の位置を基準として、低減すべき周波数と対応づけられる位置の範囲を定めることで、実質的に、ロボット１００のアーム１１０を低減することができる。
【００８６】
ただし、ロボット１００が、架台からつり下げられて運用される場合には、基台に最も近い曲げ関節よりもさらに基台に近いねじり関節における角度位置も考慮して、共振周波数の各測定位置を定め（図４参照）、低減すべき周波数と対応づけられる位置の範囲を定めることが好ましい。なお、ロボットの製造段階（図３のＳ１００参照）においてあらかじめ上記実施形態のように参照情報を生成し、さらに、ロボットを設置した段階（図３のＳ２００参照）で共振周波数を測定して、追加的な参照情報を生成することもできる。
【００８７】
上記実施形態においては、制御点ＴＣＰの位置に応じて低減すべき周波数が定められる（図４および図５参照）。そして、関節Ｘ１３〜Ｘ１６についてのアーム１１０の姿勢は、参照情報を参照して行われる低減すべき周波数の決定において、考慮されていない。しかし、制御点ＴＣＰの基準点に対する相対位置がアーム１１０の振動に与える影響は、関節Ｘ１３〜Ｘ１６についてのアーム１１０の姿勢がアーム１１０の振動に与える影響に比べて、非常に大きい。このため、制御点と基準点の相対位置に基づいて、低減すべき周波数と対応づけられる位置の範囲を定めることで、実質的に、ロボット１００のアーム１１０を低減することができる。
【００８８】
（２）上記実施形態においては、共振周波数の測定は、アーム１１０の先端１７０に取りつけられた６軸の加速度センサーを使用して行われる（図４参照）。しかし、共振周波数の測定は、アームに取りつけられた力覚センサーを使用して行われてもよい。
【００８９】
（３）上記実施形態においては、非低減範囲Ａｒ０は、円錐の形状を有する空間である（図４および図５参照）。第１範囲Ａｒ１は、基準点Ｏ２を中心とする球状の空間から、非低減範囲Ａｒ０を除いた空間である。第２範囲Ａｒ２は、非低減範囲Ａｒ０および第１範囲Ａｒ１以外の空間である。
【００９０】
しかし、参照情報において、低減すべき周波数と対応づけられる空間は、他の形状を有していてもよい。低減すべき周波数と対応づけられる空間の数は、３以上であってもよい。また、低減すべき周波数と対応づけられる空間は、ロボット座標系のＺ軸を基準とする極座標系で定められてもよい。ただし、低減すべき周波数と対応づけられる空間は、ロボットが備える複数の関節のうち、基台に最も近い曲げ関節を基準点として、基準点からの距離に応じて定められることが好ましい。また、低減すべき周波数と対応づけられる空間は、互いに重複しないことが好ましい。
【００９１】
（４）上記実施形態においては、ロボット１００の各曲げ関節Ｘ１２，Ｘ１３，Ｘ１５において、回転軸は、一方のみで支持されている（図１参照）。このような態様においては、回転軸が両端で支持されている態様に比べて、関節の剛性が低いため、振動が生じやすい。このため、本開示の技術は、関節の回転軸が一方のみで支持されているロボットにおいて特に有効である。ただし、本開示の技術は、関節の回転軸が両方で支持されているロボットに適用しても、有効な効果が得られる。
【００９２】
（５）上記実施形態においては、ロボット１００は、垂直多関節ロボットである（図１参照）。しかし、本開示の技術は、いわゆるスカラロボットに適用することもできる。
【００９３】
（６）上記実施形態においては、振動低減処理において、参照情報３０６を参照して定められる周波数Ｆ１１，Ｆ２１およびそれらの前後の周波数成分のみが低減される態様を説明した（図６参照）。しかし、振動低減処理において、参照情報を参照して定められる周波数およびそれらの前後の周波数成分に加えて、他の周波数成分を低減する態様とすることもできる。低減されるべき他の周波数成分は、たとえば、ロボットのアームにエンドエフェクターを取りつけた後に、共振周波数を測定して、得られた共振周波数に基づいて定めることができる。
【００９４】
参照情報を参照して定められる周波数の低減の処理と、他の方法で定められる周波数の低減の処理とは、異なる動作において実行されてもよいし、同一の動作内で実行されてもよい。また、並行して実行されてもよいし、前後して実行されてもよい。
【００９５】
Ｅ２．他の形態２：
上記実施形態においては、制御点ＴＣＰは、ロボット１００のアーム１１０の先端１７０にある（図１参照）。しかし、ロボットの制御点は、たとえば、アームの先端から基台側の位置など、可動部としてのアームの先端からずれた位置に配することもできる。
【００９６】
Ｅ３．他の形態３：
上記実施形態においては、Ｆ１１，Ｆ２１の周波数±Δｆの範囲の周波数成分が、低減される。Δｆは１Ｈｚである。しかし、特定の周波数の成分とともに低減されるその前後の周波数の幅は、０．５Ｈｚや２Ｈｚなど、他の値でもよい。また、特定の周波数の成分とともに低減されるその前後の周波数の幅は、特定の周波数の成分ごとに異なっていてもよい。
【００９７】
Ｅ４．他の形態４：
上記実施形態においては、「種類」の欄が「通常」に設定されている場合には、フィルター設定部３４５（図２参照）は、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数を、決定する（図６の番号１参照）。そして、「種類」の欄は、デフォルトでは、「通常」に設定される。しかし、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数を、デフォルトとしない態様とすることもできる。そして、振動低減処理において低減すべき周波数として、動作の終点が属する位置の範囲に対応づけられた周波数を、決定せず、他の周波数を決定する態様とすることもできる。たとえば、振動低減処理において低減すべき周波数として、動作の始点が属する位置の範囲に対応づけられた周波数のみを、決定してもよい。また、振動低減処理において低減すべき周波数として、速度が変更される変更点が属する位置の範囲に対応づけられた周波数のみを、決定してもよい。
【００９８】
Ｅ５．他の形態５：
上記実施形態においては、フィルター処理部３４０（図２参照）は、動作Ｏｐ１０を指示する第１制御信号ＣＳ１から、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分と、第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分と、を低減して、第２制御信号ＣＳ２を生成する（図６の番号２欄のＰａｒａｍ１，Ｐａｒａｍ２参照）。
【００９９】
たとえば、ある動作が３以上の位置の範囲内を通る場合には、それらのうちのどの位置の範囲に対応づけられた周波数を、振動低減処理において低減すべきかを、選択できる態様とすることもできる。ただし、振動低減処理において、４以上の周波数成分を低減すると、位置偏差が大きくなるため、好ましくない。
【０１００】
Ｅ６．他の形態６：
（１）上記実施形態においては、「種類」の欄が「境界切替え」に設定されている場合には、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが第１範囲Ａｒ１内を移動する第１部分動作Ｏｐ１１を指示する部分について、参照情報３０６において第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分を低減する（図４および図６参照）。そして、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが第２範囲Ａｒ２内を移動する第２部分動作Ｏｐ１２を指示する部分について、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分を低減する。このような位置の範囲の境界における切換は、ある動作が３以上の位置の範囲内を通る場合についても、実行されることができる。
【０１０１】
また、第１範囲Ａｒ１内の位置Ｐ３１から、非低減範囲Ａｒ０内の位置Ｐ３２に、制御点ＴＣＰが移動する動作Ｏｐ３０については、第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分を低減する処理と、周波数の成分を低減しない処理と、制御点が位置する位置の範囲Ａｒ１，Ａｒ０に応じて切り替えることもできる。
【０１０２】
また、低減する周波数を切り替える際には、もとの周波数を低減する割合を低減するとともに、新たな周波数を低減する割合を増加させて、徐々に切換を行うことが好ましい。
【０１０３】
（２）上記実施形態においては、「種類」の欄においては、「通常」、「両方」、「境界切替え」、および「変速点切替え」の４個の選択肢の中から一つが選択される（図６参照）。しかし、そのような選択をすることができず、「通常」、「両方」、「境界切替え」、および「変速点切替え」のいずれかに対応する処理のみを行う制御装置として、本開示の技術を適用することもできる。
【０１０４】
Ｅ７．他の形態７：
（１）上記実施形態においては、「種類」の欄が「変更点切替え」に設定されている場合には、フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが変更点Ｐ２３に達する前の動作である第１部分動作Ｏｐ２１を指示する部分について、参照情報３０６において第１範囲Ａｒ１と対応づけられている周波数Ｆ１１の成分を低減する。フィルター処理部３４０は、第１制御信号ＣＳ１のうち、制御点ＴＣＰが変更点Ｐ２３に達した後の動作である第２部分動作Ｏｐ２２を指示する部分について、参照情報３０６において第２範囲Ａｒ２と対応づけられている周波数Ｆ２１の成分を低減する。変更点Ｐ２３は、第２範囲Ａｒ２内にある。
【０１０５】
しかし、変更点Ｐ２３は、第２範囲Ａｒ２内ではなく、第１範囲Ａｒ１内にある場合にも、上記の処理を行うこともできる。
【０１０６】
（２）上記実施形態においては、制御点の速度が変更される変更点は動作Ｏｐ２０において一点Ｐ２３である（図４参照）。しかし、複数の変更点が、一つの動作中に含まれていてもよい。変更点が含まれる動作においては、変更点以降の動作についての振動低減処理において、変更点が属する位置の範囲が対応づけられている周波数が低減されてもよいし、動作の終点が属する位置の範囲が対応づけられている周波数が低減されてもよい。
【０１０７】
Ｅ８．他の形態８：
上記実施形態において、動作Ｏｐ３０は、第１範囲Ａｒ１内の位置Ｐ３１から、非低減範囲Ａｒ０内の位置Ｐ３２に、制御点ＴＣＰが移動する動作である（図４の下段右部参照）。このように、参照情報を使用した振動低減処理を行わない動作は、動作Ｏｐ３０のように、動作の一部において、非低減範囲を通過する動作であってもよい。また、参照情報を使用した振動低減処理を行わない動作は、非低減範囲内のみを制御点が移動する動作としてもよい。
【０１０８】
Ｅ９．他の形態９：
上記実施形態においては、非低減範囲Ａｒ０には、基台１８０が含まれる（図４参照）。しかし、周波数と対応づけられていないロボットの制御点の位置の範囲である非低減範囲は、基台の一部を含まない範囲とすることもでき、基台の全部を含まない範囲とすることもできる。また、非低減範囲を有さない参照情報を作成することもできる。
【０１０９】
Ｅ１０．他の形態１０：
第２実施形態においては、フィルター設定部３４５は、参照情報３０６（図１および図５参照）を参照して得られた周波数を、支持する物の質量の増加に対して、線形に減少するように、補正する（図７参照）。しかし、参照情報を参照して得られた周波数は、たとえば、上に凸または下に凸の２次曲線的に補正されるなど、他の方法で補正されることもできる。
【０１１０】
また、考慮される質量は、エンドエフェクター２００が保持するワークピースＷ０１の質量以外に、アーム１１０に取りつけられるセンサーや、工具や、モニターの質量を含むことができる。それらの質量を含めて、参照情報を参照して得られた周波数を補正する場合には、たとえば、それらの物体が取りつけられている位置に応じて、それらの質量にかける係数を変えて、重み付け和に基づいて、周波数を補正することが好ましい。
【０１１１】
Ｆ．さらに他の形態：
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態（aspect）によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【０１１２】
（１）本開示の一形態によれば、ロボットを制御するための制御装置が提供される。この制御装置は、ロボットの可動部を移動させる動作を行うための第１制御信号から、あらかじめ定められた周波数の成分を低減して第２制御信号を生成することができる第２制御信号生成部と、前記ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を記憶している記憶部と、を備え、前記第２制御信号生成部は、前記動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記第１制御信号から低減すべき周波数の成分を決定する。
このような態様とすれば、新たに教示した動作についてロボットの共振周波数を測定することなく、その動作について、振動を低減できる駆動信号を生成してロボットに出力することができる。このため、ロボットの制御点の位置の範囲と周波数成分との組み合わせの情報を含む参照情報を使用した第２制御信号の生成を行わない制御装置に比べて、複数の動作について振動を低減する際のユーザーの負荷を低減することができる。
【０１１３】
（２）上記形態の制御装置において、前記制御点は、前記可動部の両端のうち、前記可動部を支持する基台と接続されている端とは逆の端にある、態様とすることもできる。
このような態様とすれば、ロボットの設計情報に基づいて参照情報を生成して、その参照情報に基づいて有効にロボットの振動を低減することができる。
【０１１４】
（３）上記形態の制御装置において、前記第２制御信号生成部は、前記決定した周波数を含むあらかじめ定められた幅の周波数の範囲の成分を、前記第１制御信号から低減して、前記第２制御信号を生成し、前記参照情報は、前記ロボットの制御点の位置の範囲と周波数との２以上の組み合わせの情報を含み、前記参照情報において、任意の二つの前記位置の範囲は、それぞれ対応づけられた前記周波数を含む前記周波数の範囲が互いに重複しないように設定されている、態様とすることもできる。
このような態様とすれば、第２制御信号生成部が低減する周波数の範囲が重複する態様に比べて、共振周波数となり得る周波数の範囲について、より少ない数の位置の範囲の区分で、効率的に振動を低減できるように、参照情報を生成することができる。
【０１１５】
（４）上記形態の制御装置において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する、態様とすることもできる。
このような態様とすれば、第１制御信号で指示される動作が終了した後の残留振動を、効果的に低減できる、第２制御信号を生成することができる。
【０１１６】
（５）上記形態の制御装置において、前記第２制御信号生成部は、前記第１制御信号から、さらに、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する、態様とすることもできる。
このような態様とすれば、さらに、制御点が第１範囲を移動しているときの制御点の振動を、効果的に低減できる、第２制御信号を生成することができる。
【０１１７】
（６）上記形態の制御装置において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、前記第１制御信号のうち、前記制御点が前記第１範囲内を移動する第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、前記第１制御信号のうち、前記制御点が前記第２範囲内を移動する第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する、態様とすることもできる。
このような態様とすれば、第１範囲と対応づけられている周波数の成分と第２範囲と対応づけられている周波数の成分との両方を、一貫して低減する態様に比べて、位置ずれを少なくしつつ、第１制御信号が指示する動作のうちの第１部分動作について、振動を効果的に低減することができ、第２部分動作についても、振動を効果的に低減することができる。
【０１１８】
（７）上記形態の制御装置において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記第２制御信号生成部は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作であって、前記第２範囲内のあらかじめ定められた変更点において前記制御点の速度を変えて移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、前記第１制御信号のうち、前記制御点が前記変更点に達する前の動作である第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、前記第１制御信号のうち、前記制御点が前記変更点に達した後の動作である第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する、態様とすることもできる。
このような態様とすれば、第１範囲と対応づけられている周波数の成分と第２範囲と対応づけられている周波数の成分との両方を、一貫して低減する態様に比べて、位置ずれを少なくしつつ、第１制御信号が指示する動作のうちの第１部分動作について、振動を効果的に低減することができ、第２部分動作についても、振動を効果的に低減することができる。
【０１１９】
（８）上記形態の制御装置において、前記参照情報は、さらに、周波数と対応づけられていない前記ロボットの制御点の位置の範囲である非低減範囲の情報を含み、前記第２制御信号生成部は、前記制御点が前記非低減範囲を移動する動作を指示する前記第１制御信号から、周波数の成分を低減することなく、前記第２制御信号を生成することができる、態様とすることもできる。
このような態様とすれば、制御点がどのような位置範囲にある動作についても、第１制御信号から周波数の成分を低減する態様に比べて、制御点が非低減範囲内を移動する動作における位置精度を向上させることができる。
【０１２０】
（９）上記形態の制御装置において、前記非低減範囲は、前記可動部を支持する基台の少なくとも一部を含む範囲である、態様とすることもできる。
このような態様においては、制御点が可動部を支持している基台の近傍にあり、可動部が折り畳まれている姿勢をとる動作の第１制御信号については、周波数の成分が低減されることなく、第２制御信号が生成される。このため、可動部が折り畳まれており、振動しにくいと考えられる動作について、振動による不利益を被ることなく、または少ない不利益で、位置精度を向上させることができる。
【０１２１】
（１０）上記形態の制御装置において、前記第２制御信号生成部は、前記可動部が支持する物の質量の情報に基づいて、前記質量が大きいほど、前記第１制御信号から低減すべき周波数の成分が小さくなるように、前記第１制御信号から低減すべき周波数の成分を決定する、態様とすることもできる。
このような態様とすれば、可動部が支持する物の質量を考慮せずに、第１制御信号から低減すべき周波数の成分を決定する態様に比べて、より高度にロボットの動作の振動を低減することができる。
【０１２２】
（１１）本開示の他の形態によれば、ロボットを制御する制御方法が提供される。この制御方法は、（ａ）ロボットの制御点の位置の範囲と周波数との組み合わせの情報を含む参照情報を準備する工程と、（ｂ）動作における前記ロボットの制御点の位置に基づいて、前記参照情報を参照して、前記ロボットの可動部を移動させる動作を行うための第１制御信号から低減すべき周波数の成分を決定する工程と、（ｃ）前記第１制御信号から、前記決定された周波数の成分を低減して第２制御信号を生成する工程と、（ｄ）前記第２制御信号に基づいて、前記ロボットを駆動する駆動信号を生成する工程と、を含む。
【０１２３】
（１２）上記形態の制御方法において、前記制御点は、前記可動部の両端のうち、前記可動部を支持する基台と接続されている端とは逆の端にある、態様とすることもできる。
【０１２４】
（１３）上記形態の制御方法において、前記工程（ｃ）は、前記決定された周波数を含むあらかじめ定められた幅の周波数の範囲の成分を、前記第１制御信号から低減して、前記第２制御信号を生成する工程であり、前記工程（ａ）は、前記ロボットの制御点の位置の範囲と周波数との２以上の組み合わせの情報を含み、任意の二つの前記位置の範囲は、それぞれ対応づけられた前記周波数を含む前記周波数の範囲が互いに重複しないように設定されている、前記参照情報を準備する工程である、態様とすることもできる。
【０１２５】
（１４）上記形態の制御方法において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する工程である、態様とすることもできる。
【０１２６】
（１５）上記形態の制御方法において、前記工程（ｃ）は、前記第１制御信号から、さらに、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減して、前記第２制御信号を生成する工程である、態様とすることもできる。
【０１２７】
（１６）上記形態の制御方法において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、前記第１制御信号のうち、前記制御点が前記第１範囲内を移動する第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、前記第１制御信号のうち、前記制御点が前記第２範囲内を移動する第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する工程である、態様とすることもできる。
【０１２８】
（１７）上記形態の制御方法において、前記参照情報は、周波数と対応づけられた位置の範囲である第１範囲と、周波数と対応づけられた位置の範囲であって前記第１範囲とは異なる第２範囲と、の情報を含み、前記工程（ｃ）は、前記第１範囲内の位置から前記第２範囲内の位置に前記制御点が移動する動作であって、前記第２範囲内のあらかじめ定められた変更点において前記制御点の速度を変えて移動する動作を指示する前記第１制御信号から、前記第２制御信号を生成する際に、前記第１制御信号のうち、前記制御点が前記変更点に達する前の動作である第１部分動作を指示する部分について、前記参照情報において前記第１範囲と対応づけられている周波数の成分を低減し、前記第１制御信号のうち、前記制御点が前記変更点に達した後の動作である第２部分動作を指示する部分について、前記参照情報において前記第２範囲と対応づけられている周波数の成分を低減する工程である、態様とすることもできる。
【０１２９】
（１８）上記形態の制御方法において、前記参照情報は、さらに、周波数と対応づけられていない前記ロボットの制御点の位置の範囲である非低減範囲の情報を含み、前記工程（ｃ）は、前記制御点が前記非低減範囲を移動する動作を指示する前記第１制御信号から、周波数の成分を低減することなく、前記第２制御信号を生成する工程を含む、態様とすることもできる。
【０１３０】
（１９）上記形態の制御方法において、前記非低減範囲は、前記可動部を支持する基台の少なくとも一部を含む範囲である、態様とすることもできる。
【０１３１】
（２０）上記形態の制御方法において、前記工程（ｂ）は、前記可動部が支持する物の質量の情報に基づいて、前記質量が大きいほど、前記第１制御信号から低減すべき周波数の成分が小さくなるように、前記第１制御信号から低減すべき周波数の成分を決定する工程である、態様とすることもできる。
【０１３２】
（２１）本開示の他の形態によれば、ロボットシステムが提供される。このロボットシステムは、上記の制御装置と、前記制御装置によって制御されるロボットと、を備える。
【０１３３】
本開示は、ロボット制御装置、ロボットの制御方法、およびロボットシステム以外の種々の形態で実現することも可能である。例えば、ロボットの制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【０１３４】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【符号の説明】
【０１３５】
１…ロボットシステム、１００…ロボット、１１０…アーム、１７０…先端、１８０…基台、１９０…力覚センサー、２００…エンドエフェクター、３００…ロボット制御装置、３０１…ＣＰＵ、３０２…ＲＡＭ、３０３…ＲＯＭ、３０６…参照情報、３１０…制御信号生成部、３２０…位置制御部、３３０…速度制御部、３４０…フィルター処理部、３４５…フィルター設定部、３５０…トルク制御部、３６０…サーボアンプ、３９０…力制御部、４００，４００ｂ…パーソナルコンピューター、４１０…サーボモーター、４２０…位置センサー、５００…クラウドサービス、６００…教示装置、６０１…ＣＰＵ、６０２…ＲＡＭ、６０３…ＲＯＭ、６０４…入力装置、６０４ａ…キーボード、６０４ｂ…操作レバー、６０４ｃ…タッチパネル、６０５…出力装置、Ａ０１〜Ａ０５…ロボットの姿勢、Ａｒ０…非低減範囲、Ａｒ１…第１範囲、Ａｒ２…第２範囲、ＣＳ１…第１制御信号、ＣＳ２…第２制御信号、ＤＳ…駆動信号、Ｄｘ…基準点の原点に対するＸ軸方向のオフセット、Ｄｚ…基準点の原点に対するＺ軸方向のオフセット、Ｆ１１…周波数、Ｆ２１…周波数、ＬＳ…基準線、Ｏ…原点、Ｏ２…基準点、Ｏｐ１０…動作、Ｏｐ１１…第１部分動作、Ｏｐ１２…第２部分動作、Ｏｐ２０…動作、Ｏｐ２１…第１部分動作、Ｏｐ２２…第２部分動作、Ｏｐ３０…動作、Ｏｐ３１…第１部分動作、Ｏｐ３２…第２部分動作、Ｐ１１…位置（始点）、Ｐ１２…位置（終点）、Ｐ１３…境界上の位置、Ｐ２１…位置（始点）、Ｐ２２…位置（終点）、Ｐ２３…変更点、Ｐ３１…位置（始点）、Ｐ３２…位置（終点）、Ｐ３３…境界上の位置、Ｐａｒａｍ１，Ｐａｒａｍ２…低減される対象周波数を表すパラメーター、Ｒｔｃｐ…制御点ＴＣＰと基準点Ｏ２との距離、Ｒｔｈ…第１範囲Ａｒ１の外縁を規定する半径、Ｒｍａｘ…制御点が位置しうる範囲の外縁を規定する半径、Ｓｔ…目標位置、Ｗ０１…ワークピース、Ｘ１１〜Ｘ１６…関節、ｆ１１〜ｆ１５，ｆ２１〜ｆ２９，ｆ３１〜ｆ３３…共振周波数、ｆＳ…エンドエフェクター２００に作用している力およびトルク、ｆＳｔ…目標力、θ…制御点ＴＣＰと基準点Ｏ２とを結ぶ線分と基準線ＬＳとがなす角、θｔｈ…非低減範囲Ａｒ０の円錐の母線が基準線ＬＳとなす角、ΔＳ…補正量
【図１】
2020157402.tif 000003
【図２】
2020157402.tif 000004
【図３】
2020157402.tif 000005
【図４】
2020157402.tif 000006
【図５】
2020157402.tif 000007
【図６】
2020157402.tif 000008
【図７】
2020157402.tif 000009
【図８】
2020157402.tif 000010
【図９】
2020157402.tif 000011
【図１０】
2020157402.tif 000012
【図１１】
2020157402.tif 000013
【図１２】
2020157402.tif 000014
【図１３】
2020157402.tif 000015
【図１４】
2020157402.tif 000016