(57)【要約】【課題】所定の周波数で共振しないようにロボットを駆動することと、本来の制御信号に忠実にロボットを駆動することとを両立する。【解決手段】制御装置は：第１制御信号から１以上の周波数成分を低減して得られる第２制御信号を生成できる第２制御信号生成部と；第１制御信号と１以上の第２制御信号とのうちの１つの制御信号を出力できる制御信号切替部と；周波数成分の低減を実行すべき旨の指示を受け付ける受付部と；制御信号切替部から出力された制御信号に基づいて、ロボットを駆動する駆動信号を生成し出力できる駆動信号生成部と；を備える。制御信号切替部は：周波数成分の低減を実行すべき旨の指示が入力されないことを含む第１の条件が満たされる場合に、第１制御信号を出力し；周波数成分の低減を実行すべき旨の指示が入力されたことを含む第２の条件が満たされる場合に、第２制御信号を出力する。【選択図】図１１
2018171668.tif 000002
【特許請求の範囲】
【請求項１】
第１制御信号から少なくとも１つの周波数成分を低減して得られる１以上の第２制御信号を生成することができる第２制御信号生成部と、
前記第１制御信号と前記１以上の第２制御信号とのうちの１つの制御信号を出力することができる制御信号切替部と、
前記周波数成分の低減を実行すべき旨の指示を受け付けることができる受付部と、
前記制御信号切替部から出力された制御信号に基づいて、ロボットを駆動する駆動信号を生成し出力することができる駆動信号生成部と、を備え、
前記制御信号切替部は、
前記周波数成分の低減を実行すべき旨の指示が入力されないことを含む第１の条件が満たされる場合に、前記第１制御信号を出力し、
前記周波数成分の低減を実行すべき旨の指示が入力されたことを含む第２の条件が満たされる場合に、前記第２制御信号を出力する、制御装置。
【請求項２】
請求項１記載の制御装置であって、さらに、
前記第２制御信号が前記制御信号切替部から出力されている場合に、あらかじめ定められた表示を表示部に表示させる表示制御部を備える、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記制御信号切替部は、前記周波数成分の低減を実行すべき旨の指示が入力されたことと、あらかじめ定められた下位条件を満たすことと、の両方が満たされることを含む第３の条件が満たされる場合に、前記第１制御信号を出力する、制御装置。
【請求項４】
請求項３記載の制御装置であって、
前記下位条件は、移動する対象物に追従しつつ前記ロボットを動作させる追従処理を実現するように、前記第１制御信号が生成されていることである、制御装置。
【請求項５】
請求項３記載の制御装置であって、
前記下位条件は、前記ロボットに設けられた力検出部の出力に基づいて、前記第１制御信号が生成されていることである、制御装置。
【請求項６】
請求項３記載の制御装置であって、
前記下位条件は、あらかじめ定められた移動経路にしたがって前記ロボットを動作させる連続経路制御にしたがって前記第１制御信号が生成されていることである、制御装置。
【請求項７】
請求項６記載の制御装置であって、
前記第２の条件は、前記連続経路制御にしたがって前記第１制御信号が生成された後、前記連続経路制御にしたがって前記第１制御信号が生成されなくなったことを含む、制御装置。
【請求項８】
請求項１から７のいずれか１項に記載の制御装置であって、
前記ロボットは、
前記ロボットを駆動するトルクが第１閾値を超えないように動作する第１の動作モードと、
前記第１閾値よりも高い前記トルクを発生させることが許容される第２の動作モードと、を備え、
前記第２の条件は、さらに、前記第２の動作モードにしたがって前記第１制御信号が生成されていることを含む、制御装置。
【請求項９】
請求項１から８のいずれか１項に記載の制御装置によって制御されるロボット。
【請求項１０】
請求項１から８のいずれか１項に記載の制御装置と、
前記制御装置によって制御される前記ロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットにおいて振動を低減する技術に関する。
【背景技術】
【０００２】
従来、ロボットの技術分野において、エンドエフェクターに保持されたワークピースの振動を低減するための、以下のような技術が存在する。特許文献１の技術においては、あらかじめ、エンドエフェクターでワークピースを保持した状態におけるロボットが共振する振動数を特定する。そして、ロボットのサーボモーターを駆動制御する電流制御部に与えられるトルク制御信号（時間の関数として把握できる）に、帯域阻止フィルターを適用し、その振動数の成分をトルク制御信号から除去する。その結果、その振動数の成分を含まないトルク制御信号が電流制御部に与えられる。そのトルク制御信号に基づいて電流制御部によって駆動制御されたサーボモーターは、エンドエフェクターに保持されたワークピースをその振動数で共振させてしまうことがない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本来のトルク制御信号に従っていた場合には、エンドエフェクターはある時刻にはある地点にいるはずであるが、上記特許文献１の技術のように、本来のトルク制御信号から所定の周波数成分を除去した場合には、その時刻には、エンドエフェクターは、エンドエフェクターが本来いるはずの地点にいない場合がある。その結果、ロボットのエンドエフェクターについて、正確な位置制御や力制御が行えない場合がある。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００６】
（１）本開示の一形態によれば、制御装置が提供される。この制御装置は：第１制御信号から前記周波数成分の少なくとも１つを低減して得られる１以上の第２制御信号を生成することができる第２制御信号生成部と；前記第１制御信号と前記１以上の第２制御信号とのうちの１つの制御信号を出力することができる制御信号切替部と；前記周波数成分の低減を実行すべき旨の指示を受け付けることができる受付部と；前記制御信号切替部から出力された制御信号に基づいて、ロボットを駆動する駆動信号を生成し出力することができる駆動信号生成部と；を備える。前記制御信号切替部は：前記周波数成分の低減を実行すべき旨の指示が入力されないことを含む第１の条件が満たされる場合に、前記第１制御信号を出力し；前記周波数成分の低減を実行すべき旨の指示が入力されたことを含む第２の条件が満たされる場合に、前記第２制御信号を出力する。
このような態様とすれば、周波数成分の低減を実行すべき旨の指示が入力された場合には、第２制御信号に基づいて、所定の周波数で共振しないようにロボットを駆動することができる。また、周波数成分の低減を実行すべき旨の指示が入力されない場合には、第１制御信号に基づいて、本来の制御信号に忠実にロボットを駆動することができる。
【０００７】
（２）上記形態の制御装置であって、さらに、前記第２制御信号が前記制御信号切替部から出力されている場合に、あらかじめ定められた表示を表示部に表示させる表示制御部を備える、態様とすることもできる。
このような態様とすれば、ユーザーは、第２制御信号に基づいてロボットを駆動する駆動信号が生成されていることを、容易に知ることができる。
【０００８】
（３）上記形態の制御装置であって、前記制御信号切替部は、前記周波数成分の低減を実行すべき旨の指示が入力されたことと、あらかじめ定められた下位条件を満たすことと、の両方が満たされることを含む第３の条件が満たされる場合に、前記第１制御信号を出力する、態様とすることもできる。
このような態様とすれば、下位条件として、周波数成分の低減を実行することが好ましくない場合を設定することにより、周波数成分の低減を実行すべき旨の指示が入力されている場合であっても、周波数成分の低減を実行することが好ましくない場合には、周波数成分の低減が実行されない制御装置を実現できる。そのような制御装置においては、ユーザーは、各場面について、周波数成分の低減を実行すべき旨の指示と、周波数成分の低減を実行すべきではない旨の指示と、を入力する必要がない。このため、ユーザーの指示の負担が低減される。
【０００９】
（４）上記形態の制御装置であって、前記下位条件は、移動する対象物に追従しつつ前記ロボットを動作させる追従処理を実現するように、前記第１制御信号が生成されていることである、態様とすることもできる。
このような態様とすれば、移動する対象物に正確に追従しつつロボットを動作させることができる駆動信号を生成することができる。
【００１０】
（５）上記形態の制御装置であって、前記下位条件は、前記ロボットに設けられた力検出部の出力に基づいて、前記第１制御信号が生成されていることである、態様とすることもできる。
このような態様とすれば、ロボットに加えられる外力や反力を正確に考慮しつつロボットを動作させることができる駆動信号を生成することができる。
【００１１】
（６）上記形態の制御装置であって、前記下位条件は、あらかじめ定められた移動経路にしたがって前記ロボットを動作させる連続経路制御にしたがって前記第１制御信号が生成されていることである、態様とすることもできる。
このような態様とすれば、連続経路制御（いわゆるＣＰ制御）において、あらかじめ定められた移動経路に正確にしたがってロボットを動作させることができる駆動信号を生成することができる。
【００１２】
（７）上記形態の制御装置であって、前記第２の条件は、前記連続経路制御にしたがって前記第１制御信号が生成された後、前記連続経路制御にしたがって前記第１制御信号が生成されなくなったことを含む、態様とすることもできる。
このような態様とすれば、周波数成分の低減を実行すべき旨の指示が入力された場合に、連続経路制御以外の制御において、所定の周波数で共振しないようにロボットを駆動することができる。
【００１３】
第２条件は、「前記連続経路制御にしたがって前記第１制御信号が生成された後、前記連続経路制御にしたがって前記第１制御信号が生成されなくなったこと」以外の下位条件（たとえば、高出力モードによる運転の開始など）を、「前記連続経路制御にしたがって前記第１制御信号が生成された後、前記連続経路制御にしたがって前記第１制御信号が生成されなくなったこと」と並列の条件（ＯＲ条件）として含むこともできる。
【００１４】
（８）上記形態の制御装置であって、前記ロボットは：前記ロボットを駆動するトルクが第１閾値を超えないように動作する第１の動作モードと；前記第１閾値よりも高い前記トルクを発生させることが許容される第２の動作モードと、を備えることができる。前記第２の条件は、さらに、前記第２の動作モードにしたがって前記第１制御信号が生成されていることを含む、態様とすることもできる。
このような態様とすれば、第１の動作モードに比べてロボットの各部の加速度が大きくなる第２の動作モードにおいて、所定の周波数で共振しないようにロボットを駆動することができる。
【００１５】
（９）本開示の他の形態によれば、上記形態のいずれかの制御装置によって制御されるロボットが提供される。
【００１６】
（１０）本開示の他の形態によれば、上記形態のいずれかの制御装置と；前記制御装置によって制御される前記ロボットと；を備えるロボットシステムが提供される。
【００１７】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【図面の簡単な説明】
【００１８】
【図１】本実施形態のロボットシステムを示す説明図である。
【図２】ロボット制御装置３００の構成要素と、ロボット１００、カメラ４００および搬送装置５００と、の関係を示すブロック図である。
【図３】本実施形態の振動低減処理において設定される、トルク制御信号から除去される対象振動数を表す表示を示す図である。
【図４】連続する二つの動作におけるトルク制御信号値の変化を表すグラフである。
【図５】フィルター処理部３４０が第３トルク制御信号を生成する際に、先のトルク制御信号の値に付される重みの割合［％］の一例を示すグラフである。
【図６】フィルター処理部３４０が図５に示す時間区間中に生成する先のトルク制御信号値、後のトルク制御信号値、およびそれらを使用して生成される第３トルク制御信号値、ならびに先のトルク制御信号値と後のトルク制御信号値の重みの一例を示す表である。
【図７】フィルター処理部３４０が第３トルク制御信号を生成する際に、先のトルク制御信号値に付される重みの割合［％］の他の例を示すグラフである。
【図８】フィルター処理部３４０が図７に示す時間区間中に生成する先のトルク制御信号値、後のトルク制御信号値、およびそれらを使用して生成される第３トルク制御信号値、ならびに先のトルク制御信号値と後のトルク制御信号値の重みの一例を示す表である。
【図９】ある方向についてのロボット１００のアーム１１０の先端の位置を示すグラフである。
【図１０】振動低減処理の設定の自動ＯＮ／ＯＦＦについて説明する際に参照するロボット１００ｂを示す図である。
【図１１】振動低減処理を実施させる指示をユーザーから制御信号生成部３１０が受け取っている場合に、振動低減処理を実施しない条件と、それぞれの条件下で振動低減処理が無効にされた後、振動低減処理を有効にするタイミングの例を示す表である。
【図１２】ロボット１００ｂを動作させるプログラムリストの一例である。
【図１３】ロボット制御装置に、ディスプレイを備えたコンピューターシステムが接続されている場合の、ディスプレイの表示を示す図である。
【図１４】本実施形態のロボットシステムの運用の流れを示すフローチャートである。
【図１５】振動低減処理の設定を行う際のシステムの構成を示す図である。
【図１６】本実施形態で採用される振動計測装置７００を示す斜視図である。
【図１７】振動計測装置７００を示す斜視図である。
【図１８】第１の取付部７６０を備える振動計測装置７００を示す斜視図である。
【図１９】第２の取付部７７０，７７０を備える振動計測装置７００を示す斜視図である。
【図２０】第３の取付部７８０，７８０を備える振動計測装置７００を示す斜視図である。
【図２１】第４の取付部７９０を備える振動計測装置７００を示す斜視図である。
【図２２】振動低減機能の設定の手順を示すフローチャートである。
【図２３】ロボットのあるサーボモーターに対して指示される特定動作の一例を示すグラフである。
【図２４】特定動作Ｍｔ１の速度の波形に対して高速フーリエ変換を行った結果を示す。
【図２５】ロボットのあるサーボモーターに対して指示される特定動作Ｍｔ２を示すグラフである。
【図２６】特定動作Ｍｔ２の速度の波形に対して高速フーリエ変換を行った結果を示す。
【図２７】ステップＳ２５０においてディスプレイ６０２に表示される出力の一例である。
【図２８】角速度グラフＧｇを示す図である。
【図２９】加速度グラフＧａを示す図である。
【図３０】処理対象グラフＧｓａを示す図である。
【図３１】拡大グラフＧｓａａを示す図である。
【図３２】周波数グラフＧｆを示す図である。
【図３３】周波数グラフＧｆの他の例Ｇｆ０１を示す図である。
【図３４】周波数グラフＧｆの他の例Ｇｆ０２を示す図である。
【図３５】周波数グラフＧｆの他の例Ｇｆ０３を示す図である。
【図３６】周波数グラフＧｆの他の例Ｇｆ０４を示す図である。
【図３７Ａ】処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０２を示す図である。
【図３７Ｂ】処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０２ｂを示す図である。
【図３８】振動低減機能の設定の手順の他の例を示すフローチャートである。
【図３９】図３８のステップＳ２５０で表示される、拡大グラフＧｓａａに相当するグラフである。
【図４０】図３８のステップＳ２５０で表示される、周波数グラフＧｆに相当するグラフである。
【図４１】図３８のステップＳ３５０で表示される、拡大グラフＧｓａａに相当するグラフである。
【図４２】図３８のステップＳ３５０で表示される、周波数グラフＧｆに相当するグラフである。
【図４３】図３８のステップＳ４５０で表示される、拡大グラフＧｓａａに相当するグラフである。
【図４４】図３８のステップＳ４５０で表示される、周波数グラフＧｆに相当するグラフである。
【図４５】処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０３およびグラフＧｉｄを示す図である。
【図４６】処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０４およびグラフＧｉｄを示す図である。
【図４７】並んで配される２組のロボットシステムＲＳ１００ｂ，ＲＳ１００ｃを示す図である。
【発明を実施するための形態】
【００１９】
Ａ．ロボットシステムの構成：
図１は、本実施形態のロボットシステムを示す説明図である。本実施形態のロボットシステムは、ロボット１００と、エンドエフェクター２００と、ロボット制御装置３００と、カメラ４００と、搬送装置５００と、を備える。
【００２０】
ロボット１００は、６個の回転関節Ｘ１１〜Ｘ１６を備えたアーム１１０を有する６軸ロボットである。関節Ｘ１１，Ｘ１４，Ｘ１６は、ねじり関節である。関節Ｘ１２，Ｘ１３，Ｘ１５は、曲げ関節である。ロボット１００は、６個の関節Ｘ１１〜Ｘ１６をそれぞれサーボモーターで回転させることにより、アーム１１０の先端部に取りつけられたエンドエフェクター２００を、３次元空間中の指定された位置に指定された姿勢で配することができる。なお、３次元空間におけるエンドエフェクター２００の位置を代表する地点を、ＴＣＰ（Tool Center Point）とも呼ぶ。
【００２１】
ロボット１００は、アーム１１０の先端に力覚センサー１９０を備えている。エンドエフェクター２００は、力覚センサー１９０を介して、ロボット１００のアーム１１０に取りつけられている。力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる。力覚センサー１９０の出力は、ロボット制御装置３００に送信され、ロボット１００の制御に使用される。
【００２２】
ロボット制御装置３００は、ロボット１００に接続されており、ロボット１００の動作を制御する。より具体的には、ロボット制御装置３００は、ロボット１００の関節Ｘ１１〜Ｘ１６を動かすサーボモーターを駆動する。
【００２３】
ロボット制御装置３００は、ロボット教示装置６００によって、ロボット１００に指定すべき動作を教示される。ロボット教示装置６００は、いわゆる「ティーチングペンダント」である。実際のロボット１００の運用に際しては、ロボット１００の運用に先だって、まず、ロボット教示装置６００によるロボットの動作の教示が行われる。ロボット制御装置３００は、教示の結果をデータとして格納する。ロボット制御装置３００は、ロボット１００を運用する段階において、格納された教示結果を表すデータに基づいて、ロボット１００を制御する。
【００２４】
搬送装置５００は、ローラー５１０と、ベルト５２０とを備えるベルトコンベアである。搬送装置５００は、ローラー５１０を駆動することにより、図１において矢印Ａｔで示す方向に、ベルト５２０を運動させる。搬送装置５００は、ベルト５２０上にワークピースＷ０１を乗せて、矢印Ａｔで示す方向に搬送する。ワークピースＷ０１は、ロボット１００が作業を行う対象物である。
【００２５】
エンドエフェクター２００は、アーム１１０の先端に取りつけられている。エンドエフェクター２００は、ロボット制御装置３００に制御されて、ワークピースＷ０１をつかむことができ、また、つかんでいるワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００とエンドエフェクター２００とは、ロボット制御装置３００に制御されて、搬送装置５００上のワークピースＷ０１をつかんで移動させることができる。
【００２６】
カメラ４００は、搬送装置５００上の所定の位置にあるワークピースＷ０１と、そのワークピースＷ０１の周辺と、を含む写真画像を撮像することができる。カメラ４００が生成した画像は、ロボット制御装置３００に送信され、ロボット１００の制御に使用される。カメラ４００は、支柱Ｆ４００に支持されている。支柱Ｆ４００に支持されているカメラ４００は、ロボット１００の動作によって揺れる場合がある。
【００２７】
図２は、ロボット制御装置３００の構成要素と、ロボット１００が備えるサーボモーター４１０および位置センサー４２０、カメラ４００、ならびに搬送装置５００と、の関係を示すブロック図である。ロボット制御装置３００は、制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０と、フィルター設定部３４５と、対象物位置取得部３７０と、トラッキング補正量取得部３８０と、力制御部３９０と、を備える。
【００２８】
制御信号生成部３１０は、エンドエフェクター２００が位置すべき目標位置を表す位置制御信号を生成し、位置制御部３２０に出力する。制御信号生成部３１０は、トラッキング制御を実施すべき指示をユーザーから受けている場合には、トラッキング制御を実施すべき制御信号を、位置制御部３２０に出力する。制御信号生成部３１０は、力覚制御を実施すべき指示をユーザーから受けている場合には、力覚制御を実施すべき制御信号を、位置制御部３２０に出力する。
【００２９】
制御信号生成部３１０は、力覚制御を実施すべき指示をユーザーから受けている場合には、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を生成し、力制御部３９０に出力する。制御信号生成部３１０は、あらかじめ入力されているユーザーからの指定に応じて、振動低減処理を実施すべきか否かの制御信号を、フィルター設定部３４５に出力する。また、制御信号生成部３１０は、ロボット１００が実行中の動作を表すコマンド（たとえば、ＣＰ制御を実施させるコマンドや、「Ｐｏｗｅｒ  Ｌｏｗ」コマンドなど、）を、フィルター設定部３４５に出力する。
【００３０】
対象物位置取得部３７０は、カメラ４００から受信したワークピースＷ０１周辺の写真画像に基づいて、搬送装置５００で搬送されているワークピースＷ０１の位置を特定し、出力する。
【００３１】
搬送装置５００は、ローラー５１０の回転位置を表す信号を出力する。ローラー５１０によってベルト５２０が駆動され、ベルト５２０上にワークピースＷ０１が載っている。このため、ローラー５１０の回転位置に基づいて、ベルト５２０上で搬送されているワークピースＷ０１の現在の位置を推定することができる。
【００３２】
トラッキング補正量取得部３８０は、搬送装置５００からローラー５１０の回転位置を表す信号を受信する。また、トラッキング補正量取得部３８０は、対象物位置取得部３７０からワークピースＷ０１の位置を受信する。トラッキング補正量取得部３８０は、それらの情報に基づいて、搬送装置５００によって搬送されているワークピースＷ０１の現在位置を決定する。そして、トラッキング補正量取得部３８０は、ワークピースＷ０１の現在位置に基づいて、ワークピースＷ０１の現在位置に応じたトラッキング補正量を決定し、出力する。
【００３３】
力制御部３９０は、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を、制御信号生成部３１０から受信する。力制御部３９０は、エンドエフェクター２００に作用しているＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクとを、力覚センサー１９０から受信する。そして、力制御部３９０は、それらのパラメーターに基づいて、位置の補正量を決定し、出力する。
【００３４】
ロボット１００の各関節を駆動するサーボモーター４１０には、それぞれ位置センサー４２０が取りつけられている。位置センサー４２０は、サーボモーター４１０の回転位置および回転速度を検出し、ロボット制御装置３００に送信する。
【００３５】
位置制御部３２０は、制御信号生成部３１０から位置制御信号を受信する。位置制御部３２０は、力制御部３９０から位置の補正量を受信する。位置制御部３２０は、位置フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転位置を受信する。さらに、位置制御部３２０は、トラッキング補正量取得部３８０からワークピースＷ０１の現在位置を受信する。位置制御部３２０は、それらの情報に基づいて、ロボット１００の各サーボモーター４１０の速度制御信号を生成し、出力する。
【００３６】
なお、位置制御部３２０は、トラッキング制御を実施すべき指示を制御信号生成部３１０から受けていない場合には、速度制御信号の生成に際して、トラッキング補正量取得部３８０から受信した情報は考慮しない。また、位置制御部３２０は、力覚制御を実施すべき指示を制御信号生成部３１０から受けていない場合には、速度制御信号の生成に際して、力制御部３９０から受信した情報は考慮しない。
【００３７】
速度制御部３３０は、位置制御部３２０から速度制御信号を受信する。また、速度制御部３３０は、速度フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転速度を受信する。速度制御部３３０は、その速度制御信号と、各サーボモーター４１０の回転速度と、に基づいて、トルク制御信号を生成し、出力する。
【００３８】
フィルター設定部３４５は、制御信号生成部３１０から実行中の動作を表すコマンドを受信する。フィルター設定部３４５は、受信したコマンドに応じて、トルク制御信号から除去すべき１以上の周波数を指示する制御信号を生成し、出力する。フィルター設定部３４５は、トルク制御信号から除去すべき周波数は存在しない旨の制御信号を出力することもできる。
【００３９】
フィルター処理部３４０は、速度制御部３３０からトルク制御信号を受信する。また、フィルター処理部３４０は、フィルター設定部３４５から除去すべき１以上の周波数の制御信号を受信する。フィルター処理部３４０は、速度制御部３３０が出力したトルク制御信号に対して、制御信号に応じた１以上の周波数成分を除去する処理を行って、新たなトルク制御信号を生成し、出力する。フィルター処理部３４０は、帯域除去フィルターを使用して、このような処理を行う。
【００４０】
フィルター処理部３４０において除去される周波数は、実行中の動作を表すコマンドに応じてあらかじめ定められた周波数である。実行中の動作を表すコマンドに応じてあらかじめ定められた周波数は、（ｉ）その動作の終了時点におけるロボット１００の姿勢、または、（ｉｉ）その動作の終了時点においてロボット１００がワークピースＷ０１を保持している場合には、ワークピースＷ０１を保持した状態におけるその動作の終了時点におけるロボット１００の姿勢における、ロボット１００の振動の振動数である。このような処理を行うことにより、動作の終了時点において、ロボット１００がその振動数で共振してしまう事態を防止できる。以下、本明細書において、トルク制御信号などの制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する処理を、「振動低減処理」と呼ぶ。また、制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する機能を、「振動低減機能」と呼ぶ。
【００４１】
フィルター処理部３４０は、フィルター設定部３４５から、除去すべき周波数は存在しない旨の制御信号を受信した場合には、速度制御部３３０から受信したトルク制御信号を、そのまま出力する。このような処理を行うことにより、速度制御部３３０から受信したトルク制御信号に基づいて、本来の制御信号に忠実にロボットを駆動することができる。
【００４２】
トルク制御部３５０は、フィルター処理部３４０からトルク制御信号を受信する。また、サーボアンプ３６０から、各サーボモーター４１０に供給する電流の電流量を表すフィードバック信号を受信する。トルク制御部３５０は、そのトルク制御信号と、各サーボモーター４１０の電流フィードバック信号と、に基づいて、各サーボモーター４１０に供給する電流量を決定し、サーボアンプ３６０を介して、各サーボモーター４１０を駆動する。
【００４３】
Ｂ．ロボットシステムの制御：
（１）振動低減処理の切り替え：
図３は、本実施形態の振動低減機能において設定される、トルク制御信号から除去される周波数（本明細書において「対象振動数」という）を表す表示を示す図である。図３の表示は、ロボット制御装置３００に、ディスプレイ６０２を備えた振動低減機能の設定装置として機能するロボット教示装置６００が接続されて、振動低減機能の設定が行われる際に、ディスプレイ６０２に表示される。表中の左端の列は、設定を区別するための番号である。ユーザーは、各番号に対応する振動低減機能に対して、最大２個までの対象振動数を設定することができる。なお、「対象振動数」は、その系の固有振動数であってもよいし、その系の固有振動数の近傍の振動数であってもよい。
【００４４】
図３の例では、番号１の行には、一つの対象振動数を表すＦ１１が、一つ目のパラメーターＰａｒａｍ１として格納されている。番号２の行には、一つの対象振動数を表すＦ２１が、一つ目のパラメーターＰａｒａｍ１として格納されている。番号３の行には、二つの対象振動数を表すＦ３１，Ｆ３２が、パラメーターＰａｒａｍ１，Ｐａｒａｍ２として格納されている。すなわち、番号３の設定では、もとのトルク制御信号から、二つの周波数成分が除去される（図２の３４０参照）。なお、Ｐａｒａｍ１，Ｐａｒａｍ２として格納される数値は、周波数そのものであってもよいし、周波数を一義的に定めることができる何らかの数値や符号であってもよい。
【００４５】
本実施形態においては、一つの作業中に含まれる複数の動作において、振動低減機能の処理内容が切り換えられる。すなわち、一つの作業中に含まれる複数の動作において、トルク制御信号から除去される周波数成分が切り換えられる。たとえば、ある動作において、図３の番号１の設定にしたがってＦ１１の周波数成分が除去された後、次の動作では、図３の番号２の設定にしたがってＦ２１の周波数成分が除去される。
【００４６】
このような処理を行うことにより、一つの作業に複数の動作が含まれる場合に、各動作の終了時点の姿勢における共振を、それぞれ低減することができる。なお、本実施形態においては、除去すべき周波数成分の切り替えは、ロボット１００の関節を駆動するすべてのモーターについて、同じタイミングで行われる。
【００４７】
図４は、連続する二つの動作におけるトルク制御信号値の変化を表すグラフである。図４において、横軸は時間を表し、縦軸はトルク制御信号の値を表す。図４のグラフ中、破線のグラフは、速度制御部３３０（図２参照）が出力したトルク制御信号の値を示す。実線のグラフは、フィルター処理部３４０が出力したトルク制御信号の値を示す。フィルター処理部３４０は、時刻ｔｓｗにおいて、トルク制御信号から除去すべき周波数を、Ｆ１１の周波数からＦ２１の周波数に切り換える。その結果、フィルター処理部３４０が出力するトルク制御信号値は、図４において実線で示すようになる。
【００４８】
図４には表れていないが、フィルター処理部３４０は、Ｆ１１の周波数を除去したトルク制御信号から、Ｆ２１の周波数を除去したトルク制御信号へ、切り替えを行う際に、中間的なトルク制御信号を出力する。
【００４９】
より具体的には、フィルター処理部３４０は、Ｆ１１の周波数を除去したトルク制御信号（以下、「先のトルク制御信号」と呼ぶ）から、Ｆ２１の周波数を除去したトルク制御信号（以下、「後のトルク制御信号」と呼ぶ）への切り替えを行う際に、所定の時間区間においては、先のトルク制御信号の値と、後のトルク制御信号の値と、の両方を計算する。そして、それら２つのトルク制御信号の値の重み付け平均により、第３トルク制御信号の値を生成する。フィルター処理部３４０は、先のトルク制御信号と、後のトルク制御信号と、第３トルク制御信号とを、選択的に出力することができる。
【００５０】
先のトルク制御信号と後のトルク制御信号とを切り換えて使用する場合に、先のトルク制御信号の出力と後のトルク制御信号の出力との間に中間的な第３トルク制御信号の出力を行うことにより、トルクの乱れや異音を低減した切り替えを行うことができる。そして、第３トルク制御信号を用いず、先のトルク制御信号による動作に起因する振動が収束するのを待って後のトルク制御信号を出力する態様に比べて、先のトルク制御信号による動作の後、後のトルク制御信号による動作を開始するまでの時間を、短くすることができる。
【００５１】
なお、図４では、それぞれパラメータＦ１１，Ｆ２１で表される所定の周波数成分が除去された二つのトルク制御信号を切り換える例について説明した。しかし、所定の周波数成分が除去されたトルク制御信号と、周波数成分を除去されていないトルク制御信号（速度制御部３３０が出力したトルク制御信号）を切り換える場合も、中間的な第３トルク制御信号を出力することにより、同様の効果が得られる。
【００５２】
図５は、フィルター処理部３４０が第３トルク制御信号を生成する際に、先のトルク制御信号の値に付される重み（混合比）の割合［％］の一例を示すグラフである。図５において、横軸は時間を表す。ただし、図５で示される時間区間は、たとえば、図４で示される時刻ｔｓｗ近傍のごく短い時間に対応する。
【００５３】
図６は、フィルター処理部３４０が図５に示す時間区間中に生成する先のトルク制御信号値、後のトルク制御信号値、およびそれらを使用して生成される第３トルク制御信号値、ならびに先のトルク制御信号値と後のトルク制御信号値の重みの一例を示す表である。図６の右から２番目の列に示された先のトルク制御信号の重み（混合比）を時間軸方向に沿ってグラフ化したものが図５である。なお、図６に示す先のトルク制御信号値と後のトルク制御信号値は、一例であり、図４のグラフに対応するものではない。
【００５４】
フィルター処理部３４０は、第１のトルク制御信号と第２のトルク制御信号の間に、複数の第３のトルク制御信号を出力する。その際、図５のグラフおよび図６の表に示されるように、フィルター処理部３４０は、先のトルク制御信号値の重みが小さくなる順に、複数の第３のトルク制御信号を生成し、出力する。なお、本明細書において、「Ａが小さくなる順にＸを出力する」とは、一部において、Ａの値が等しい複数のＸを続けて出力する態様を含むものである。たとえば、図５においては、時間区間１〜２および時間区間１２〜１３においては、先のトルク制御信号値の重みは一定である（図５および図６参照）。
【００５５】
このような処理を行うことにより、ある動作から次の動作に移行する際に、除去される周波数成分が変わることにより、経過時間０でトルク制御信号値が大きく変更されて、トルクの乱れや異音が発生する事態を防止することができる。また、このように重みを徐々に変更して制御信号値を切り換えることにより、前の動作に起因する制御信号値の変動やロボットの振動が所定値以下に収束してから次の動作を行う態様に比べて、短い時間で、次の動作を開始することができる。
【００５６】
図７は、フィルター処理部３４０が第３トルク制御信号を生成する際に、先のトルク制御信号値に付される重み（混合比）の割合［％］の他の例を示すグラフである。図７において、横軸は時間を表す。ただし、図７で示される時間区間は、図４で示される時刻ｔｓｗ近傍のごく短い時間に対応する。
【００５７】
図８は、フィルター処理部３４０が図７に示す時間区間中に生成する先のトルク制御信号値、後のトルク制御信号値、およびそれらを使用して生成される第３トルク制御信号値、ならびに先のトルク制御信号値と後のトルク制御信号値の重みの一例を示す表である。図８の右から２番目の列に示された先のトルク制御信号の重み（混合比）を時間軸方向に沿ってグラフ化したものが図７である。なお、図８に示す先のトルク制御信号値と後のトルク制御信号値は、一例であり、図４のグラフに対応するものではない。
【００５８】
図５および図６の例では、先のトルク制御信号値に付される重み（混合比）は、所定の時間区間の間に直線的に減少している。これに対して、図７の例においては、先のトルク制御信号から後のトルク制御信号への切り替え処理の開始時近傍（図７の時間区間１〜４参照）、および先のトルク制御信号から後のトルク制御信号への切り替え処理の終了時近傍（図７の時間区間１０〜１３参照）における先のトルク制御信号値に付される重み（混合比）の変化割合は、その間の区間（図７の時間区間５〜９参照）よりも小さい。このような態様とすることにより、図５および図６の例に比べて、よりトルク変動や異音の発生の少ない移行を実現することができる。
【００５９】
フィルター処理部３４０は、上記の図５〜図８で説明した切り替え処理を、図４の時刻ｔｓｗを含む所定の時間区間において、実行する。フィルター処理部３４０が除去する周波数成分の切り替えを開始するのは、以下の条件１，２がいずれも満たされるタイミングである。
【００６０】
なお、本明細書において、ある構成について「ある条件が満たされる場合に、〜制御信号を出力する」とは、その構成自身が「ある条件が満たされるか否か」を判断して、所定の制御信号を出力する場合に限られない。すなわち、客観的に「ある条件が満たされる」という状態が現出している場合に、その構成が所定の制御信号を出力していれば、その構成について「ある条件が満たされる場合に、〜制御信号を出力する」を満たすものである。
【００６１】
［条件１］先に出力されるトルク制御信号（先のトルク制御信号）にしたがった場合のロボット１００のアーム１１０の先端の位置と、後に出力すべきトルク制御信号（後のトルク制御信号）にしたがった場合のロボット１００のアーム１１０の先端の位置と、の偏差が、あらかじめ定められた位置しきい値未満であること。
［条件２］先に出力されるトルク制御信号にしたがった場合のロボット１００のアーム１１０の先端の速度と、後に出力すべきトルク制御信号にしたがった場合のロボット１００のアーム１１０の先端の速度と、の偏差が、あらかじめ定められた速度しきい値未満であること。
【００６２】
図９は、ある方向についてのロボット１００のアーム１１０の先端の位置を示すグラフである。図９において、横軸は時間を表す。破線のグラフは、フィルター処理部３４０において、特定の周波数成分の除去を行わなかった場合のロボット１００のアーム１１０の先端の位置を示すグラフである。実線のグラフは、フィルター処理部３４０において、周波数成分Ｆ１１の除去を行った場合、すなわち先のトルク制御信号を出力した場合のロボット１００のアーム１１０の先端の位置を示すグラフである。一点鎖線のグラフは、フィルター処理部３４０において、周波数成分Ｆ２１の除去を行った場合、すなわち後のトルク制御信号を出力した場合のロボット１００のアーム１１０の先端の位置を示すグラフである。
【００６３】
たとえば、時刻ｔｓ１，ｔｓ５においては、周波数成分Ｆ１１の除去を行った場合の実線のグラフと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフと、が交差している。このため、グラフの交点においては、両者の場合のアーム１１０の先端の位置の偏差は、０である（条件１参照）。しかし、周波数成分Ｆ１１の除去を行った場合の実線のグラフの傾きと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフの傾きは、両者の交点において異なっている。すなわち、両者の場合のアーム１１０の先端の速度の偏差は、存在する。そして、速度偏差の大きさは、本実施形態における速度しきい値よりも大きい（条件２参照）。このため、時刻ｔｓ１，ｔｓ５は、周波数の切り替えには適さないタイミングである。
【００６４】
たとえば、時刻ｔｓ２，ｔｓ４においては、周波数成分Ｆ１１の除去を行った場合の実線のグラフと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフと、がほぼ平行に走っている。このため、両者の場合のアーム１１０の先端の速度の偏差は、０に近い（条件２参照）。しかし、周波数成分Ｆ１１の除去を行った場合の実線のグラフと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフは、互いに離れている。すなわち、両者の場合のアーム１１０の先端の位置の偏差は、存在する。そして、位置偏差の大きさは、本実施形態における位置しきい値よりも大きい（条件１参照）。このため、時刻ｔｓ２，ｔｓ４も、周波数の切り替えには適さないタイミングである。
【００６５】
一方、時刻ｔｓ３においては、周波数成分Ｆ１１の除去を行った場合の実線のグラフと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフと、が交差している。このため、両者の場合のアーム１１０の先端の位置の偏差は、０である（条件１参照）。そして、周波数成分Ｆ１１の除去を行った場合の実線のグラフの傾きと、周波数成分Ｆ２１の除去を行った場合の一点鎖線のグラフの傾きも、平行に近い。すなわち、両者の場合のアーム１１０の先端の速度の偏差は、本実施形態における速度しきい値よりも小さい（条件２参照）。このため、時刻ｔｓ３は、周波数の切り替えには適したタイミングである。ｔｓ６も同様である。
【００６６】
このような条件下で除去すべき周波数の切り替えを行うことにより、条件によらず切り換えを行う態様に比べて、切り換えの際に、トルクの乱れや異音の少ない切り替えを行うことができる。
【００６７】
なお、本明細書において、フィルター処理部３４０は、「受付部」、「第２制御信号生成部」、「第３制御信号生成部」、および「制御信号切替部」とも呼ばれる。速度制御部３３０が生成するトルク制御信号は、「第１制御信号」とも呼ばれる。フィルター処理部３４０が、速度制御部３３０から受信したトルク制御信号から１以上の周波数成分を除去する処理を行って生成するトルク制御信号は、「第２制御信号」とも呼ばれる。フィルター処理部３４０が、先のトルク制御信号と後のトルク制御信号から生成する第３トルク制御信号は、「第３制御信号」とも呼ばれる。トルク制御部３５０とサーボアンプ３６０とは、「駆動信号生成部」とも呼ばれる。
【００６８】
図３の番号１の振動低減機能によってフィルター処理部３４０で生成されるトルク制御信号（図４の左側参照）は、本明細書において、「第１種の第２制御信号」とも呼ばれる。その際に除去される図３のＦ１１で表される周波数成分は、「第１の周波数成分」とも呼ばれる。図３の番号２の振動低減機能によってフィルター処理部３４０で生成されるトルク制御信号（図４の右側参照）は、「第２種の第２制御信号」とも呼ばれる。その際に除去される図３のＦ２１で表される周波数成分は、「第２の周波数成分」とも呼ばれる。
【００６９】
（２）振動低減処理の自動ＯＮ／ＯＦＦ：
本実施形態においては、フィルター設定部３４５（図２参照）は、制御信号生成部３１０から受信したコマンドに応じて、（ｉ）トルク制御信号から除去すべき１以上の周波数を指示する制御信号、または（ｉｉ）トルク制御信号から除去すべき周波数が存在しない旨の制御信号を、生成し、出力する。以下では、フィルター設定部３４５において、トルク制御信号から除去すべき周波数が存在しない旨の制御信号が生成される場合について、より詳細に説明する。
【００７０】
図１０は、振動低減機能の設定の自動ＯＮ／ＯＦＦについて説明する際に参照するロボット１００ｂを示す図である。ここで言及するロボットシステムは、搬送装置５００は備えていない。また、ロボット１００ｂのハードウェア構成は、ロボット１００とは異なる。
【００７１】
ロボット１００ｂは、フレームＦ１００ｂに取り付けられている。フレームＦ１００ｂは、略四角形の天板と、略四角形の支持台５６０ｂとを備える。フレームＦ１００ｂは、天板の４個の角部と支持台５６０ｂの４個の角部とをそれぞれ結ぶ４本の支柱に支持されている。ロボット１００ｂは、フレームＦ１００ｂの天板に固定され、そこから下方に伸びている。
【００７２】
フレームＦ１００ｂの４本の支柱のうち、一つの支柱Ｆ４００ｂにカメラ４００ｂが取りつけられている。カメラ４００ｂの構成および機能は、カメラ４００と同じである。フレームＦ１００ｂの支持台５６０ｂには、ワークピースＷ０１が乗せられる。
【００７３】
ロボット１００ｂは、４個の関節Ｘ２１〜Ｘ２４を備えたアーム１１０ｂを有する４軸ロボットである。関節Ｘ２１，Ｘ２２，Ｘ２４は、ねじり関節である。関節Ｘ２３は、並進関節である。ロボット１００は、４個の関節Ｘ２１〜Ｘ２４をそれぞれサーボモーターで駆動させることにより、アーム１１０ｂの先端に取りつけられたエンドエフェクター２００ｂを、３次元空間中の指定された位置に指定された姿勢で配することができる。
【００７４】
ロボット１００ｂは、アーム１１０ｂの先端に力覚センサー１９０ｂを備えている。力覚センサー１９０ｂの機能は、図１のロボット１００の力覚センサー１９０と同じである。
【００７５】
エンドエフェクター２００ｂは、ロボット１００ｂのアーム１１０ｂの先端に取りつけられている。エンドエフェクター２００ｂは、図示しないロボット制御装置に制御されて、ワークピースＷ０１を保持することができ、また、保持しているワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００ｂとエンドエフェクター２００ｂとは、ロボット制御装置に制御されて、支持台５６０ｂ上のワークピースＷ０１を持ち上げて移動させ、作業を行うことができる。
【００７６】
ロボット１００ｂを制御するロボット制御装置は、搬送装置５００からローラー５１０の回転位置を表す信号を受信しない（図２の５００参照）。ロボット１００ｂを制御するロボット制御装置の他の点は、図２のロボット制御装置３００と同じである。技術の理解を容易にするため、図１０において、ロボット制御装置は省略している。
【００７７】
図１１は、振動低減処理を実施させる指示をユーザーから制御信号生成部３１０が受け取っている場合に、振動低減処理を実施しない条件と、それぞれの条件下で振動低減機能が無効にされた後、振動低減機能を有効にするタイミングの例を示す表である。以下で、振動低減処理を実施しない条件について説明する。
【００７８】
（ｉ）「Ｍｏｔｏｒ  Ｏｎ」コマンドの実行：
「Ｍｏｔｏｒ  Ｏｎ」によって、ロボット１００ｂのサーボモーターが励磁される。「Ｍｏｔｏｒ  Ｏｎ」以前の状態では、ロボット１００ｂのアーム１１０ｂはユーザーが手動で自由に動かすことができる。「Ｍｏｔｏｒ  Ｏｎ」は、サーボモーターの回転位置を指定するものではない。このため、ロボット１００ｂのアーム１１０ｂが、それまでにユーザーによって移動されていた場合には、ロボット１００ｂのサーボモーターは、アーム１１０ｂの姿勢が本来、電源ＯＮ時にとっているべき基本姿勢とは異なっていても、アーム１１０ｂのその姿勢を保って、励磁される。すなわち、「Ｍｏｔｏｒ  Ｏｎ」のコマンドが実行される際には、制御信号生成部３１０（図２参照）は、電源ＯＮ時にとっているべき基本姿勢ではなく、位置センサー４２０の出力に基づいて、実際のアーム１１０ｂの姿勢を表す位置制御信号を出す。
【００７９】
そのような場合には、電源ＯＮ時にとっているべき基本姿勢、すなわち、システムが想定していた姿勢から、ユーザーが手動で動かした姿勢に、経過時間０で位置制御信号が変更されたことになる。このとき、フィルター処理部３４０（図２参照）が所定の周波数を除去する振動低減処理を実施していると、０であるべきトルク制御信号は本来の値０から変動することになる（たとえば、図４参照）。その結果、静止しているべきアーム１１０ｂが、動いてしまう。このため、「Ｍｏｔｏｒ  Ｏｎ」コマンドが実行される際には、振動低減処理は実施されない（図１１の左欄、第１行目参照）。
【００８０】
（ｉｉ）「Ｍｏｔｏｒ  Ｏｆｆ」コマンドの実行：
「Ｍｏｔｏｒ  Ｏｆｆ」によって、ロボット１００ｂのサーボモーターが励磁されなくなる。「Ｍｏｔｏｒ  Ｏｆｆ」コマンドの実行後は、「Ｍｏｔｏｒ  Ｏｎ」コマンドが実行されるまで、ロボット１００ｂのサーボモーターが駆動されることはない。このため、振動低減処理は実施されない（図１１の左欄、第２行目参照）。
【００８１】
（ｉｉｉ）「Ｐｏｗｅｒ  Ｌｏｗ」コマンドの実行：
「Ｐｏｗｅｒ  Ｌｏｗ」は、ロボットを駆動するモーターのトルクが所定の第１閾値を超えないように動作する第１の動作モードを指定するコマンドである。第１の動作モードにおいては、サーボモーターが発生させるトルクは小さい。このため、ロボット１００ｂのアーム１１０ｂの加速度も小さい。よって、一つの動作が終了してアーム１１０ｂが静止した際に、ロボットが共振する可能性も低い。このため、「Ｐｏｗｅｒ  Ｌｏｗ」コマンドが実行される際には、振動低減処理を実施する要請は高くない。
【００８２】
一方、振動低減処理が実施されると、トルク制御信号値が本来の値から変更される（たとえば、図４参照）。その結果、ロボットのアーム１１０ｂおよびエンドエフェクター２００ｂにかかる加速度も、本来の値からずれることになる。すると、位置フィードバック制御は行われるものの（図２参照）、エンドエフェクター２００ｂは、本来の位置制御信号が指定していた位置から微妙にずれた位置に存在することになる。振動低減処理を実施する要請が高くないコマンドの実行中に、そのような位置ズレが生じるのは好ましくない。よって、「Ｐｏｗｅｒ  Ｌｏｗ」コマンドが実行され、ロボットが第１の動作モードで動作している間は、振動低減処理は実施されない（図１１の左欄、第３行目参照）。
【００８３】
（ｉｖ）「Ｐｏｗｅｒ  Ｈｉｇｈ」コマンドの実行：
「Ｐｏｗｅｒ  Ｈｉｇｈ」は、第１閾値よりも高いトルクを発生させることが許容される第２の動作モードを指定するコマンドである。第２の動作モードにおいては、サーボモーターが発生させるトルクは大きい。このため、ロボットのアーム１１０ｂの加速度も大きい。よって、一つの動作が終了した際に、動作終了時の姿勢において静止しているべきロボットが共振する可能性が高い。よって、「Ｐｏｗｅｒ  Ｈｉｇｈ」コマンドが実行される際には、振動低減処理を実施する要請が高い。よって、「Ｍｏｔｏｒ  Ｏｎ」コマンドおよび「Ｍｏｔｏｒ  Ｏｆｆ」コマンドの実行時、および「Ｐｏｗｅｒ  Ｌｏｗ」コマンドの実行時に実施されないこととなった振動低減機能は、「Ｐｏｗｅｒ  Ｈｉｇｈ」コマンドの実行時に再び実施される（図１１の右欄、第１行目参照）。このような処理を行うことにより、第１の動作モードに比べてロボットの各部の加速度が大きくなる第２の動作モードにおいて、共振しないようにロボットを駆動することができる。
【００８４】
（ｖ）トラッキング制御の実行：
搬送装置５００上のワークピースＷ０１にエンドエフェクター２００を追従させるトラッキング制御（「追従処理」ともいう）を実施する際には（図１および図２の３８０，５００参照）、エンドエフェクター２００は、搬送装置５００上のワークピースＷ０１に正確に追従することが好ましい。よって、本来の位置制御信号の位置に対してエンドエフェクター２００ｂの位置ズレが生じ得る振動低減機能は、コンベアトラッキングが行われている間は、実施されないことが好ましい。よって、トラッキング制御が実行されている間は、振動低減処理は実施されない（図１１の左欄、第４行目参照）。そして、トラッキング制御が終了するか、またはＰｏｗｅｒ  Ｈｉｇｈコマンドが実行されると、振動低減処理が実施される（図１１の右欄、第２行目参照）。このような処理を行うことにより、トラッキング制御の実行中は、移動する対象物に正確に追従しつつロボットを動作させることができる駆動信号を生成することができる。
【００８５】
（ｖｉ）力覚制御の実行：
力覚フィードバックを利用した制御を実行する際にも（図２の１９０，３９０参照）、エンドエフェクター２００ｂは、本来の位置制御信号に従った正確な位置に配されることが好ましい。エンドエフェクター２００ｂの位置ズレは、エンドエフェクター２００ｂが発生させるべき力やトルクを、本来の値から減少または増大させてしまうためである。よって、力覚制御が実行されている間は、振動低減処理は実施されない（図１１の左欄、第５行目参照）。そして、力覚制御が終了するか、またはＰｏｗｅｒ  Ｈｉｇｈコマンドが実行されると、振動低減処理が実施される（図１１の右欄、第２行目参照）。このような処理を行うことにより、力覚制御の実行中は、ロボットに加えられる外力や反力を正確に考慮しつつロボットを動作させることができる駆動信号を生成することができる。
【００８６】
（ｖｉｉ）ジョグ動作の実行：
ジョグ動作は、移動距離を指定せずにロボットのサーボモーターを動かす動作である。ジョグ動作は、ロボットに動作を教示する際に実行される。ジョグ動作は、比較的低速で行われる。このため、ジョグ動作の動作中、またはジョグ動作が終了してアーム１１０ｂが静止した際に、ロボットが共振する可能性も低い。よって、ジョグ動作が実行される際には、振動低減処理を実施する要請は高くない。一方、振動低減処理が実施されると、前述のように、エンドエフェクター２００ｂは、本来の位置制御信号が指定していた位置から微妙にずれた位置に存在する可能性がある。よって、ジョグ動作が実行されている間は、振動低減処理は実施されない（図１１の左欄、第６行目参照）。そして、ジョグ動作が終了するか、またはＰｏｗｅｒ  Ｈｉｇｈコマンドが実行されると、振動低減処理が実施される（図１１の右欄、第２行目参照）。
【００８７】
（ｖｉｉｉ）ＣＰ制御が実行されること：
連続経路制御は、あらかじめ定められた移動経路にしたがって前記ロボットを動作させる制御である。連続経路制御は、ＣＰ制御（Continuous Path制御）とも呼ばれる。連続経路制御の実行中は、エンドエフェクター２００ｂは、各時刻において、本来の位置制御信号に従った正確な位置に配されることが好ましい。よって、連続経路制御が実行されている間は、振動低減処理は実施されない（図１１の左欄、第７行目参照）。そして、連続経路制御が終了するか、またはＰｏｗｅｒ  Ｈｉｇｈコマンドが実行されると、振動低減処理が実施される（図１１の右欄、第２行目参照）。
【００８８】
このような処理を行うことにより、連続経路制御の実行中は、あらかじめ定められた移動経路に正確にしたがってロボットを動作させることができる駆動信号を生成することができる。そして、周波数成分の低減を実行すべき旨の指示が制御信号生成部３１０に入力された場合に、他の制御において、所定の周波数で共振しないようにロボットを駆動することができる。
【００８９】
図１２は、ロボット１００ｂを動作させるプログラムリストの一例である。図１２の例に沿って振動低減機能の自動ＯＮ／ＯＦＦ、ならびに振動低減機能の実行について説明する。なお、図１２においては、以下で言及するコマンドについて、下線を付している。
【００９０】
「Ｍｏｔｏｒ  Ｏｎ」コマンドの実行によって、振動低減機能は実行されないこととなる。以下では、振動低減処理が実施されないこととなることを、「振動低減機能がＯｆｆされる」とも表記する。その後、「Ｐｏｗｅｒ  Ｈｉｇｈ」コマンドの実行によって、振動低減処理が実施される。以下では、振動低減処理が実施されるようになることを、「振動低減機能がＯｎされる」とも表記する。
【００９１】
「ＡＢＣＳｅｔ  １，３０」は、番号１の振動低減機能の周波数を、パラメーター「３０」が表す所定の周波数に設定するコマンドである（図３参照）。
【００９２】
「ＡＢＣＳｅｔ  ２，１５，３０」は、番号２の振動低減機能の周波数を、パラメーター「１５」が表す所定の周波数と、パラメーター「３０」が表す所定の周波数とに設定するコマンドである（図３参照）。
【００９３】
「ＡＢＣ  １」は、番号１の振動低減処理を実施する旨のコマンドである（図３参照）。
【００９４】
「ＡＢＣ  ２」は、番号２の振動低減処理を実施する旨のコマンドである（図３参照）。
【００９５】
このような処理を行うことによって、フィルター設定部３４５から周波数成分の低減を実行すべき旨の指示が入力された場合であって、実行されるコマンドなどに関する所定の下位条件が満たされる場合には、フィルター処理部３４０は、振動低減処理を実施する。その結果、所定の周波数で共振しないようにロボット１００ｂを駆動することができる。また、フィルター設定部３４５から周波数成分の低減を実行すべき旨の指示が入力されない場合、すなわち、低減すべき周波数はない旨の制御信号が入力された場合には、フィルター処理部３４０は、本来の制御信号に忠実にロボット１００ｂを駆動することができる。
【００９６】
本実施形態においては、下位条件として、周波数成分の低減を実行することが好ましくない場合が設定されている（図１１参照）。このため、周波数成分の低減を実行すべき旨の指示が制御信号生成部３１０に入力されている場合であっても、周波数成分の低減を実行することが好ましくない場合には、自動的に周波数成分の低減が実行されないこととなる。よって、ユーザーは、各場面について、周波数成分の低減を実行すべき旨の指示と、周波数成分の低減を実行すべきではない旨の指示と、を入力する必要がない。このため、ユーザーの指示の負担が低減される。
【００９７】
図１３は、ロボット制御装置に、ディスプレイ６０２を備えたロボット教示装置６００が接続されている場合の、ディスプレイ６０２の表示を示す図である。図１３の表示は、ディスプレイ６０２の下段に示される。一例として図１２に示した一連の作業中、振動低減処理が実施されている間は、「振動低減」という表示Ｄｖｒが濃い色で表示される。一方、振動低減処理が実施されていない間は、振動低減処理が実施されている間よりも、「振動低減」という表示Ｄｖｒが薄い色で表示される。
【００９８】
このような処理を行うことにより、ユーザーは、振動低減処理が実施されて、ロボットを共振させる可能性が少ないトルク制御信号が生成されて、ロボットが駆動されていることを、ロボットの動作中に、容易に知ることができる（図１２および図１３参照）。このような処理を行うロボット制御装置３００およびロボット教示装置６００の機能部を、表示制御部３０５，６１５として図１に示す。表示制御部３０５は、ロボット制御装置３００のＣＰＵ３０３によって実現される。表示制御部６１５は、ロボット教示装置６００のＣＰＵ６１０によって実現される。
【００９９】
なお、本明細書においては、フィルター処理部３４０は、「第２制御信号生成部」および「制御信号切替部」とも呼ばれる（図２参照）。制御信号生成部３１０は、「受付部」とも呼ばれる。トルク制御部３５０とサーボアンプ３６０とは、「駆動信号生成部」とも呼ばれる。
【０１００】
制御信号生成部３１０（図２参照）が、振動低減処理を実施させる指示をユーザーから受け取っていないことは、「第１の条件」に含まれる「前記周波数成分の低減を実行すべき旨の指示が入力されないこと」として機能する。制御信号生成部３１０（図２参照）が、振動低減処理を実施させる指示をユーザーから受け取っていることは、「第２の条件」に含まれる「前記周波数成分の低減を実行すべき旨の指示が入力されたこと」として機能する。
【０１０１】
ロボット制御装置に接続されるロボット教示装置６００のディスプレイ６０２は、「表示部」とも呼ばれる。
【０１０２】
上記実施形態において、位置制御部３２０が、トラッキング制御を実施すべき指示を制御信号生成部３１０から受信し、トラッキング補正量取得部３８０から受信した情報を考慮して速度制御信号を生成しており（図２参照）、その結果、速度制御部３３０がその速度制御信号に応じてトルク制御信号を生成している。これらの処理が行われていることは、「第３の条件」の「下位条件」としての「移動する対象物に追従しつつ前記ロボットを動作させる追従処理を実現するように、前記第１制御信号が生成されていること」として機能する。
【０１０３】
力覚センサー１９０，１９０ｂ（図１、図２、および図１０参照）は、「力検出部」とも呼ばれる。位置制御部３２０が、力覚制御を実施すべき指示を制御信号生成部３１０から受信し、力制御部３９０から受信した情報を考慮して速度制御信号を生成しており（図２参照）、その結果、速度制御部３３０がその速度制御信号に応じてトルク制御信号を生成していることは、「下位条件」としての「前記ロボットに設けられた力検出部の出力に基づいて、前記第１制御信号が生成されていること」として機能する。
【０１０４】
上記実施形態において、制御信号生成部３１０がＣＰ制御を実施させるコマンドにしたがって、目標位置を表す位置制御信号を生成し、位置制御部３２０がその位置制御信号に応じて速度制御信号を生成し、速度制御部３３０が速度制御信号に応じてトルク制御信号を生成している。これらの処理が行われていることは、「下位条件」としての「あらかじめ定められた移動経路にしたがって前記ロボットを動作させる連続経路制御にしたがって前記第１制御信号が生成されていること」として機能する。
【０１０５】
「Ｐｏｗｅｒ  Ｌｏｗ」コマンドが実行されている状態で、速度制御部３３０がトルク制御信号を生成していることは、「第２の条件」に含まれる「前記第２の動作モードにしたがって前記第１制御信号が生成されていること」として機能する。
【０１０６】
Ｃ．振動低減処理の設定：
図１４は、本実施形態のロボットシステムの運用の流れを示すフローチャートである。本実施形態のロボットシステムの運用においては、まずステップＳ１００において、工場などにロボットが設置されて振動低減機能の設定が行われる。たとえば、図３に示すＰａｒａｍ１，Ｐａｒａｍに、具体的なパラメーターが設定される。その後、ステップＳ２００において、ロボットがその工場などで運用され、製品の製造等に使用される。上記Ｂ．で説明した内容は、ロボットの運用段階（図１４のＳ２００）におけるロボットの制御内容である。以下では、図１４のＳ１００に相当する振動低減機能の設定について説明する。
【０１０７】
（１）振動計測装置の取りつけ：
図１５は、振動低減機能の設定を行う際のシステムの構成を示す図である。ロボット１００、エンドエフェクター２００、およびロボット制御装置３００の構成および機能は、図１および図２を使用して説明したとおりである。ロボット１００および他の部位に、互いに直交する３軸の方向の加速度の測定が可能な振動計測装置が取りつけられる。図１５の例においては、ロボット１００に取り付けられる振動計測装置７００は、ＩＭＵ（Inertial Measurement Unit）である。また、ロボット制御装置３００には、振動低減機能の設定装置として機能するロボット教示装置６００が接続される。以下、ロボット教示装置６００を設定装置６００とも表記する。
【０１０８】
設定装置６００は、出力装置および入力装置として機能するタッチセンサーつきのディスプレイ６０２と、入力装置として機能するキー６０４およびトラックポイント６０６と、を備えたコンピューターである。設定装置６００は、振動計測装置７００およびロボット制御装置３００に接続される。設定装置６００は、振動計測装置７００からの出力に基づいて、振動計測装置７００が取りつけられた対象物の対象振動数を特定することができる。設定装置６００は、ロボット制御装置３００のＲＡＭ３０１またはＲＯＭ３０２（図２参照）に、その対象振動数を記憶させることができる。その結果、ロボット制御装置３００のフィルター設定部３４５（図２参照）は、その対象振動数を参照してフィルター処理部３４０に制御信号を出力し、フィルター処理部３４０は、フィルター設定部３４５からの制御信号に基づいて、その対象振動数の成分を除去したトルク制御信号を生成する。
【０１０９】
図１６は、本実施形態で採用される振動計測装置７００を示す斜視図である。本実施形態で採用される振動計測装置７００は、ＩＭＵ（Inertial Measurement Unit）である。振動計測装置７００は、第１支持部７１０と、第２支持部７２０と、接続部７３０と、測定部７４０と、出力部７５０と、取付部を備える。なお、図１６には、取付部は示されていない。
【０１１０】
測定部７４０は、Ｘ軸、Ｙ軸、Ｚ軸方向の加速度を計測できる加速度センサーと、Ｘ軸、Ｙ軸、Ｚ軸方向をそれぞれ回転の中心とする角速度を計測できるジャイロセンサーと、を備える。測定部７４０は、自身のＸ軸、Ｙ軸、Ｚ軸方向の加速度と、Ｘ軸、Ｙ軸、Ｚ軸方向をそれぞれ回転の中心とする角速度とを、出力することができる。測定部７４０は、板状の部材である第１支持部７１０に固定されている。
【０１１１】
測定部７４０の上面には、測定部７４０が測定できる加速度および角速度の方向である、互いに直交するＸ軸、Ｙ軸、Ｚ軸の方向が図示されている。このような表記７４５を有することにより、ユーザーは、振動計測装置７００をロボット１００に取りつける際に、設定装置６００の処理に沿った向きに、間違うことなく振動計測装置７００をロボット１００に取りつけることができる。
【０１１２】
出力部７５０は、出力端子を備えている。出力部７５０は、測定部７４０に接続されており、測定部７４０の測定結果を信号として出力端子から外部に出力することができる。出力端子は、設定装置６００に有線接続される。出力部７５０も、第１支持部７１０に固定されている。
【０１１３】
第１支持部７１０は、略四角形の板状の部材である。第１支持部７１０は、一対の接続部７３０によって、板状の第２支持部７２０に接続されている。一対の接続部７３０は、ねじ穴７１５を貫通するネジ（図示せず）によって、第１支持部７１０に固定される。また、一対の接続部７３０は、ねじ穴７１６を貫通するネジ（図示せず）によって、第２支持部７２０に固定される。
【０１１４】
図１７は、振動計測装置７００を示す斜視図である。図１７に示すＸ軸、Ｙ軸、Ｚ軸は、図１６に示したＸ軸、Ｙ軸、Ｚ軸に対応する。第２支持部７２０は、略四角形の板状の部材である。第２支持部７２０は、一対の接続部７３０が接続されている穴７１４，７１６の間の位置に、３個の接続穴７２４，７２２，７２４を有する。接続穴７２４，７２２，７２４の内面には、雌ねじが形成されている。
【０１１５】
図１８は、第１の取付部７６０を備える振動計測装置７００を示す斜視図である。第１の取付部７６０は、両端に雄ネジが形成されている棒状の部材である。第１の取付部７６０は、第２支持部７２０の中央の穴７２２（図１６および図１７参照）にねじ込まれて固定される。ロボット１００などの測定対象物に対応する雌ねじが形成された穴が設けられている場合には、振動計測装置７００は、第１の取付部７６０によって測定対象物に取りつけられる。
【０１１６】
図１９は、第２の取付部７７０，７７０を備える振動計測装置７００を示す斜視図である。第２の取付部７７０は、円柱状の磁石である。第２の取付部７７０は、第２支持部７２０の穴７２４，７２４（図１６および図１７参照）にねじによって固定される。ロボット１００などの測定対象物の振動を測定したい部位が磁性体で構成されている場合には、振動計測装置７００は、第２の取付部７７０によって測定対象物に取りつけられる。
【０１１７】
図２０は、第３の取付部７８０，７８０を備える振動計測装置７００を示す斜視図である。第３の取付部７８０，７８０は、結束バンドを通すための一対の貫通孔７８２，７８２をそれぞれ有する固定器具である。第３の取付部７８０，７８０は、第２支持部７２０の穴７２４，７２４（図１６および図１７参照）にねじによって固定される。振動計測装置７００は、第３の取付部７８０，７８０がそれぞれ備える貫通孔７８２，７８２に結束バンドを通されて、結束バンドによって測定対象物に対して固定される。
【０１１８】
図２１は、第４の取付部７９０を備える振動計測装置７００を示す斜視図である。第４の取付部７９０は、粘着部材で構成される粘着層である。第４の取付部７９０は、粘着部材の粘着性によって第２支持部７２０に固定される。振動計測装置７００は、第４の取付部７９０の粘着性によって測定対象物に取りつけられる。
【０１１９】
第２支持部７２０は、第１の取付部７６０〜第４の取付部７９０のいずれをも選択的に取りつけられることができる。このような構成とすることにより、様々な種類の測定対象物に振動計測装置７００を取りつけることができる。その結果、ロボットによって振動する、ロボットやロボットに設けられたエンドエフェクターとは異なる部位が、ロボットの制御に影響を与える場合に、そのような任意の部位に振動計測装置７００を取りつけることができる。その結果、ロボットとは異なる部位が振動することによってロボットの制御に与えられる悪影響を、低減することができる。
【０１２０】
図１５の例では、振動計測装置７００は、ロボット１００のアーム１１０の先端に取りつけられている。振動計測装置７００は、互いに取付方式が異なる第１〜第４の取付部７６０〜７９０のうちの適切な取付部を選択されて、ロボット１００のアーム１１０の先端に取りつけられる。
【０１２１】
その結果、設定装置６００は、振動計測装置７００から得られるロボット１００のアーム１１０の先端部の振動の情報に基づいてその対象振動数を決定し、ロボット１００のアーム１１０の先端部の振動を発生させにくいトルク制御信号をロボット制御装置３００に出力させることができる（図２の３４０参照）。その結果、ロボットにおいて、振動が問題となっている部位に、加速度や角速度を測定できるセンサーが設けられていない場合にも、そのようなロボットの振動を発生させにくいトルク制御信号を生成することができる。
【０１２２】
たとえば、ロボット１００の動作終了後、ロボットの基部からエンドエフェクターにかけての部分においては、相対的な振動が十分に収束しているが、ロボット全体を支持しているフレームがロボットの動作によって振動する場合には、第１〜第４の取付部７６０〜７９０のうちの適切な取付部を選択して、ロボットを支持しているフレームＦ１００ｂ（図１０参照）に振動計測装置７００を取りつけることができる。
【０１２３】
その結果、設定装置６００は、振動計測装置７００から得られるフレームＦ１００ｂの振動の情報に基づいてその対象振動数を決定し、フレームＦ１００ｂの振動を発生させにくいトルク制御信号をロボット制御装置３００に出力させることができる（図２の３４０参照）。その結果、フレームに支持されたロボットの振動を低減することができる。
【０１２４】
たとえば、ロボットの動作終了後、ロボットの振動は十分収束しているが、ロボットの画像を撮像しているカメラがロボットの動作によって振動し、ロボットの振動が十分収束していないと判断されて、次の動作の開始が遅れている場合には、以下のような対応を取ることができる。すなわち、第１〜第４の取付部７６０〜７９０のうちの適切な取付部を選択して、カメラ４００ｂ（図１０参照）やカメラ４００を支持している支柱Ｆ４００（図１参照）に振動計測装置７００を取りつけることができる。
【０１２５】
その結果、設定装置６００は、振動計測装置７００から得られるカメラの振動の情報に基づいてその対象振動数を決定し、カメラの振動を発生させにくいトルク制御信号をロボット制御装置３００に出力させることができる（図２の３４０参照）。その結果、カメラが振動することによってロボットの制御に与えられる悪影響、および／または、たとえばワークピースＷ０１が撮像された画像に基づく制御に与えられる悪影響を、低減することができる。
【０１２６】
たとえば、ロボットの動作終了後、ロボットの振動は十分収束しているが、ワークピースがロボットによって置かれる場所や、ロボットによって移動されるワークピースが置かれている場所や、ロボットがワークピースに対して作業を行う場所(図１０の例では支持台５６０ｂ）がロボットの動作によって振動し、その振動が十分収束していないと判断されて、次の動作の開始が遅れている場合には、以下のような対応を取ることができる。すなわち、第１〜第４の取付部７６０〜７９０のうちの適切な取付部を選択して、それらの場所に振動計測装置７００を取りつけることができる（図１０のＰ７０６参照）。
【０１２７】
その結果、設定装置６００は、振動計測装置７００から得られるそれらの場所（たとえば支持台５６０ｂ）の振動の情報に基づいてその対象振動数を決定し、それらの場所の振動を発生させにくいトルク制御信号をロボット制御装置３００に出力させることができる（図２の３４０参照）。その結果、それらの場所がロボットの動作によって振動することにより、作業中における動作開始までの待ち時間が長くなってしまう事態を防止できる。
【０１２８】
以上のように、ロボットによって振動する、ロボットとは異なる部位がロボットの制御に影響を与える場合には、そのような部位に振動計測装置７００を取り付け、設定装置６００で設定を行うことにより、以下のような効果が得られる。すなわち、ロボット制御装置３００は、ロボットとは異なる部位の振動を発生させにくいトルク制御信号を生成し、ロボットに対して出力することができる。その結果、ロボットとは異なる部位が振動することによってロボットの制御に与えられる悪影響を、低減することができる。
【０１２９】
一方、図４〜図８を使用して説明したように、ロボット制御装置３００は、振動低減処理において除去する周波数成分を切り換えて、トルク制御信号を生成することができる。以上で説明した、異なる部位の振動を発生させにくいトルク制御信号を生成する複数の振動低減処理についても、ロボット制御装置３００は、それらを切り換えて、順に実施することができる。
【０１３０】
たとえば、ロボット制御装置３００は、ロボットとは異なる部位の振動を生じさせにくいトルク制御信号と、ロボット自身の振動を生じさせにくいトルク制御信号を、切り替えてロボットに対して出力することができる。また、ロボット制御装置３００は、ロボットとは異なる第１の部位の振動を生じさせにくいトルク制御信号と、ロボットとは異なる第２の部位の振動を生じさせにくいトルク制御信号と、ロボット自身の振動を生じさせにくいトルク制御信号を、切り替えてロボットに対して出力することもできる。
【０１３１】
また、ロボット制御装置３００のフィルター処理部３４０（図２参照）は、図３で説明したように、複数の周波数成分を除去したトルク制御信号を生成することができる。このため、ロボット制御装置３００は、ロボットとは異なる部位の振動と、ロボット自身の振動と、のいずれをも生じさせにくいトルク制御信号を、ロボットに対して出力することができる。さらに、ロボット制御装置３００は、ロボットとは異なる第１の部位の振動と、ロボットとは異なる第２の部位の振動と、ロボット自身の振動と、のいずれをも生じさせにくいトルク制御信号ロボットに対して出力できるように構成してもよい。
【０１３２】
なお、以上では、対象振動数の測定および設定において、振動計測装置７００として、３軸方向についての加速度と角速度を測定できるＩＭＵを採用する態様について説明した。しかし、対象振動数の測定の際に測定対象物に取りつける振動計測装置は、たとえば、互いに直交する３軸について、加速度を測定することができる加速度センサーを採用することができる。また、それぞれ１軸の方向について加速度を測定することができる複数の加速度センサーを、互いの軸が直交するように測定対象物に取りつけて、互いに直交する２軸、または互いに直交する３軸について、加速度を測定することもできる。そのような加速度センサーにおいても、図１８〜図２１を使用して説明したような、出力部に対して交換可能な取付部を採用することにより、様々な測定対象に加速度センサーを取りつけることができる。
【０１３３】
（２）ＩＭＵを使用した対象振動数の測定および設定：
図２２は、振動低減機能の設定の手順を示すフローチャートである。ステップＳ２１０においては、測定対象物に振動計測装置７００が取りつけられる。測定対象物への振動計測装置７００が取りつけ方法については、上記（１）において、図１、図１０，図１５〜図２１を使用して説明したとおりである。
【０１３４】
図２２のステップＳ２２０においては、加振プログラムを作成する。本実施形態では、ハンマーによるロボットへの衝撃の適用に代えて、ロボットのサーボモーターを駆動して、あらかじめ定められた動作（以下、「特定動作」ともいう）をロボットに行わせることにより、ロボットを振動させる。そして、特定動作を終了した後のロボットの残留振動が測定される。ステップＳ２２０においては、ロボットに特定動作を行わせるためのプログラム（本明細書において「加振プログラム」ともいう）を作成する。
【０１３５】
図２３は、ロボットのあるサーボモーターに対して指示される特定動作の一例を示すグラフである。図２３のグラフにおいて、横軸は時間ｔを表し、縦軸はある関節のサーボモーターの動作速度Ｖを表す。特定動作Ｍｔ１においては、サーボモーターの動作速度Ｖは、０から直線的に増加し、その後、直線的に減少して０に戻る。特定動作Ｍｔ１の開始から終了までの時間はＴである。
【０１３６】
図２４は、特定動作Ｍｔ１の速度の波形に対して高速フーリエ変換を行った結果を示す。図２４において、横軸は周波数を表し、縦軸は各周波数のパワーの実効値を表す。特定動作Ｍｔ１は、周波数ｆｐ１において最も高いパワーを有し、そこから離れるほど、そのパワーが低くなることが分かる。
【０１３７】
図２５は、ロボットのあるサーボモーターに対して指示される特定動作Ｍｔ２を示すグラフである。図２５のグラフにおいて、横軸は時間ｔを表し、縦軸はサーボモーターの動作速度Ｖを表す。特定動作Ｍｔ２においても、サーボモーターの動作速度Ｖは、０から直線的に増加し、直線的に減少して０に戻る。最大速度はＭｔ１と同じである。ただし、特定動作Ｍｔ２の開始から終了までの時間は２Ｔである。
【０１３８】
図２６は、特定動作Ｍｔ２の速度の波形に対して高速フーリエ変換を行った結果を示す。図２６において、横軸は周波数を表し、縦軸は各周波数のパワーの実効値を表す。特定動作Ｍｔ２は、周波数ｆｐ２（＜ｆｐ１）において最も高いパワーを有し、そこから離れるほど、そのパワーが低くなることが分かる。
【０１３９】
図２３〜図２６から分かるように、特定動作の速度変化の波形によって、各周波数成分が有するパワーが異なる。加速度が大きく高周波成分が多い特定動作（図２３および図２４参照）は、加速度が小さく高周波成分が少ない特定動作（図２５および図２６参照）に比べて、より広い範囲の周波数の残留振動を生起させることができる。その結果、より正確に対象振動数を決定することができる。一方、加速度が小さい特定動作（図２５および図２６参照）は、ロボットにかかる力が小さいため、ロボットのハードウェアに与える影響も小さい。図２２のステップＳ２２０においては、残留振動の測定において重視される項目（測定の正確さやハードウェアへの影響の小ささ）に応じて、プログラムが作成される。なお、ステップＳ２２０においては、複数の特定動作を行うように、プログラムを作成することもできる。
【０１４０】
ここでは、技術の理解を容易にするため、三角形状の速度変化を有する動作を示した（図２３および図２５参照）。しかし、特定動作におけるロボットの動きは、そのロボットの構造や、低減させたい振動が発生する際のロボットの姿勢などに応じて、作成することができる。たとえば、アームが所定の姿勢になった際に発生している残留振動を低減させたい場合には、動作終了時にアームがその姿勢になる動作を、特定動作とすることができる。また、対象物を持ち上げて、他の場所に移動させて置く、という動作において発生している残留振動を低減させたい場合には、対象物を持ち上げて、他の場所に移動させて置く動作を、所定の移動距離および所定の移動速度で実施する動作を、特定動作とすることができる。
【０１４１】
予想される固有振動の周波数や方向、および／または振動の低減をしたいロボットの姿勢などに応じて、複数の特定動作をあらかじめ用意することにより（図２３および図２５参照）、目的とする振動の対象振動数を正確かつ容易に検出することができる特定動作をロボットに行わせることができる。
【０１４２】
上記のような典型的かつ互いに異なる複数の動作は、あらかじめ複数のコマンドとして用意しておくことができる。また、互いに異なる複数の動作を、コマンドとそのパラメーターの複数の組み合わせとして、あらかじめ設定装置６００のＲＡＭ６３０に記憶させておくこともできる。
【０１４３】
特定動作である、互いに異なる複数の動作としては、動作の終了時のロボットの姿勢が互いに異なる複数の動作があげられる。そのような態様とすれば、その姿勢における振動の低減が望まれるロボットの姿勢に応じて、複数の特定動作をあらかじめ用意することによって、目的とする振動の対象振動数を正確かつ容易に検出することができる。また、互いに異なる複数の動作としては、動作の終了までのアームの移動速度が互いに異なる複数の動作があげられる。動作の終了までのアームの移動速度が互いに異なる複数の動作には、動作終了時のアームの姿勢が同じであっても、動作の終了までのアームの移動速度が互いに異なる複数の動作が含まれる。
【０１４４】
また、たとえば、プログラム中のコマンドのパラメーターを指定することにより、特定動作において駆動させるロボットのアームの関節を指定することができる。このような態様とすることにより、その関節における振動の低減が望まれているロボットの関節に応じて、特定動作をあらかじめ用意することによって、目的とする振動の対象振動数を正確かつ容易に検出することができる。
【０１４５】
図２２のステップＳ２３０においては、設定装置６００は、Ｓ２２０で作成されたプログラムを実行すべき旨の指示を、ユーザーインターフェイス画像を表示しているタッチディスプレイ６０２、キー６０４、およびトラックポイント６０６を介してユーザーから受け取って、ステップＳ２２０で作成されたプログラムをロボット制御装置３００に実行させる。その結果、プログラムにしたがってロボットが特定動作をする。ユーザーからプログラムの実行の指示を受け取る設定装置６００の機能部を、受付部６１１として、図１５に示す。受付部６１１は、設定装置６００のＣＰＵ６１０によって実現される。
【０１４６】
ロボット制御装置３００においては、制御信号生成部３１０（図２参照）が特定動作の実行の指示を表すコマンドを設定装置６００から受け取り、そのコマンドおよびそのコマンドに付属するパラメーターに応じて、位置制御信号を出力する。コマンドとパラメーターの組み合わせによって、特定の関節を駆動すべき旨が指定されている場合には、制御信号生成部３１０は、その関節のみを駆動するように、位置制御信号を出力する。
【０１４７】
位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０とが、ロボット１００のサーボモーター４１０を駆動させる（図２参照）。なお、ステップＳ２３０においては、フィルター処理部３４０は、特定の周波数成分を除去する処理を行わず、速度制御部３３０から受信したトルク制御信号を、そのままトルク制御部３５０に出力する。
【０１４８】
図２２のステップＳ２４０においては、特定動作の終了後の残留振動が測定される。より具体的には、ロボット等に取りつけられた振動計測装置７００によって測定された特定動作の実行による振動の測定結果を、設定装置６００が、振動計測装置７００から受け付ける。受信した振動の測定結果は、設定装置６００のＲＡＭ６３０にデータファイルとして保存される。振動の測定結果を受け付けて保存する設定装置６００の機能部を、「測定結果受付部６１３」として図１５に示す。測定結果受付部６１３は、設定装置６００のＣＰＵ６１０によって実現される。
【０１４９】
このような態様とすることにより、外部からハンマーなどでロボットに衝撃を加えることなく、振動計測装置７００から得られるロボットの動作の実行による振動の測定の結果に基づいて、ロボットの対象振動数を知ることができる。
【０１５０】
なお、設定装置６００は、ロボット制御装置３００から受信する特定動作を指示するコマンドの終了をトリガーとして、残留振動の測定を行うことができる。より具体的には、ロボット１００の動作の終了を指示する位置制御信号が制御信号生成部３１０から出されたことをロボット制御装置３００から通知されて、設定装置６００は、振動を測定すべき時間区間の開始時刻、または振動を測定された時間区間のうち、対象振動数を得るための処理対象とすべき時間区間の開始時刻を定めることができる。たとえば、ロボット１００の動作の終了を指示する位置制御信号を受領してから所定の時間が経過したタイミングを、処理対象とすべき時間区間の開始時刻とすることができる。
【０１５１】
そのような処理を行うことにより、ユーザーは、自ら測定の開始時刻を指定することなく、対象とする状態において制御対象物を最も大きく振動させる可能性が高い対象振動数を、知ることができる。
【０１５２】
図２２のステップＳ２５０においては、設定装置６００において、特定動作の実行による振動の測定結果が処理され、処理結果がディスプレイ６０２に表示される。
【０１５３】
図２７は、ステップＳ２５０においてディスプレイ６０２に表示される出力の一例である。図２７の表示は、処理結果の出力として機能するだけではなく、処理内容を指定するための入力を受けつける機能も有するユーザーインターフェイスＵＩ０１である。ユーザーインターフェイスＵＩ０１は、入力窓ＵＩ１１、角速度グラフＧｇ、加速度グラフＧａ、入力窓ＵＩ３１、処理対象グラフＧｓａ、開始時間指示ＵＩ５１、終了時間指示ＵＩ５２、拡大グラフＧｓａａ、周波数グラフＧｆ、周波数指定ＵＩ２３、周波数表示ＵＩ２４、最大周波数表示ＵＩ２５、停止スイッチＵＩ４５を含む。
【０１５４】
入力窓ＵＩ１１は、設定装置６００のＲＡＭ６３０に保存されている振動の測定結果のデータファイルのうち、処理すべきデータファイルを指定するための入力窓である。ここで指定されたデータファイルの情報が処理されて、その結果に基づいて、ユーザーインターフェイスＵＩ０１の各表示がなされる。このような態様とすれば、ユーザーは、あらかじめ測定された振動のデータを使用して、容易に制御対象物の対象振動数を知ることができる。
【０１５５】
停止スイッチＵＩ４５は、ユーザーインターフェイスＵＩ０１を通じて行われる処理を、強制的に終了させるためのスイッチである。
【０１５６】
図２８は、角速度グラフＧｇを示す（図２７も参照）。図２８において、横軸は時間を示し、縦軸は角速度を示す。角速度グラフＧｇには、振動計測装置７００から受信した情報に基づいて、Ｘ軸、Ｙ軸、Ｚ軸をそれぞれ回転の中心とする角速度の時間変化が示される。Ｘ軸を中心とする角速度はグラフＧｘで示される。Ｙ軸を中心とする角速度はグラフＧｙで示される。Ｚ軸を中心とする角速度はグラフＧｚで示される。
【０１５７】
図２８の角速度グラフＧｇにおいては、Ｘ軸を中心とする角速度Ｇｘがまずマイナス方向に大きく振れて０に戻り、その後、プラス方向に大きく振れて０に戻っている。そして、Ｙ軸を中心とする角速度ＧｙとＺ軸を中心とする角速度Ｇｚは、ほとんど変化がない。すなわち、図２２のステップＳ２３０において、特定動作として、Ｘ軸を中心とする回転運動の往復動が行われたことがわかる。
【０１５８】
図２９は、加速度グラフＧａを示す（図２７も参照）。図２９において、横軸は時間を示し、縦軸は加速度を示す。加速度グラフＧａには、振動計測装置７００から受信した情報に基づいて、Ｘ軸、Ｙ軸、Ｚ軸の方向の加速度の時間変化が示される。Ｘ軸方向の加速度はグラフＡｘで示される。Ｙ軸方向の加速度はグラフＡｙで示される。Ｚ軸方向の加速度はグラフＡｚで示される。
【０１５９】
図３０は、処理対象グラフＧｓａを示す（図２７も参照）。図３０において、横軸は時間を示し、縦軸は変化量を示す。処理対象グラフＧｓａには、Ｘ軸、Ｙ軸、Ｚ軸をそれぞれ回転の中心とする角速度、ならびにＸ軸、Ｙ軸、Ｚ軸の方向の加速度のうち、選択された対象が示される。対象の選択は、入力窓ＵＩ３１（図２７参照）に入力される。ここでは、Ｚ軸方向の加速度Ａｚが選択されたものとする。その結果、処理対象グラフＧｓａの表示は、加速度グラフＧａのグラフＡｚと相似である。
【０１６０】
処理対象グラフＧｓａ中には、開始時間指示ＵＩ５１と、終了時間指示ＵＩ５２とが示される。開始時間指示ＵＩ５１は、処理対象グラフＧｓａで表されている測定結果のうち、処理対象とする部分の開始時刻を指定するためのユーザーインターフェイスである。終了時間指示ＵＩ５２は、処理対象グラフＧｓａで表されている測定結果のうち、処理対象とする部分の終了時刻を指定するためのユーザーインターフェイスである。開始時間指示ＵＩ５１と終了時間指示ＵＩ５２とは、それぞれタッチディスプレイ６０２上でドラッグされて、左右方向に動かされることができる。
【０１６１】
このような態様とすれば、ユーザーは、振動データのうち、対象振動数を得るための処理に対するノイズを多く含む部分を除外して、考慮すべき時間区間を指定し、対象振動数を得るための処理を適用させることができる。なお、開始時間指示ＵＩ５１は、処理対象グラフＧｓａで表されている測定結果のうち、ユーザーが認識できる明確な変化が終了したと思われるタイミングに設定されることが好ましい。処理対象グラフＧｓａで表されている測定結果のうち、ユーザーが認識できる明確な変化が表れている部分は、特定動作自体の動きを表している部分である可能性が高い。
【０１６２】
なお、開始時間指示ＵＩ５１は、デフォルトでは、特定動作の終了を指示する位置制御信号が制御信号生成部３１０（図２参照）から出されたタイミングである。また、終了時間指示ＵＩ５２は、デフォルトでは、開始時間指示ＵＩ５１からあらかじめ定められた時間（たとえば、０．５秒）が経過したタイミングである。
【０１６３】
このような態様とすることにより、処理対象となる時間区間は、制御対象物に対して駆動させる制御信号が出されていない時間区間を含むことができる。その結果、残留振動に相当する部分を含む振動データに基づいて計算された対象振動数を表すパラメーターを表示することができる。このため、静止すべき状態において制御対象物を最も大きく振動させる可能性が高い対象振動数を、ユーザーインターフェイスＵＩ０１を介して、ユーザーは知ることができる。
【０１６４】
なお、開始時間指示ＵＩ５１は、特定動作の終了を指示する位置制御信号が制御信号生成部３１０（図２参照）から出されたタイミングから所定の時間Ｔ５１（たとえば、０．１秒）が経過した後のタイミングとすることもできる。終了時間指示ＵＩ５２は、開始時間指示ＵＩ５１からあらかじめ定められた時間Ｔ５２（Ｔ５２＞Ｔ５１。たとえば、Ｔ５２＝０．５秒）が経過したタイミングである。
【０１６５】
このような態様とすることにより、処理対象となる時間区間のすべてが制御対象物に対して駆動させる制御信号が出されていない時間区間となるように、処理対象となる時間区間を設定できる。その結果、残留振動を表す振動データに基づいて計算された対象振動数を表すパラメーターを、ユーザーインターフェイスＵＩ０１に表示することができる。このため、静止すべき状態において制御対象物を最も大きく振動させる可能性が高い対象振動数を、ユーザーは知ることができる。
【０１６６】
図３１は、拡大グラフＧｓａａを示す（図２７も参照）。図３１において、横軸は時間を示し、縦軸は変化量を示す。拡大グラフＧｓａａは、処理対象グラフＧｓａのうち、開始時間指示ＵＩ５１と終了時間指示ＵＩ５２で区切られた時間区間に対応する部分を、縦軸方向に拡大したグラフである。
【０１６７】
図３２は、周波数グラフＧｆを示す（図２７も参照）。図３２において、横軸は周波数を示し、縦軸は各周波数の強度を示す。周波数グラフＧｆは、拡大グラフＧｓａａに対して高速フーリエ変換を行った結果を表すグラフである。周波数グラフＧｆ中には、周波数指定ＵＩ２３が示される。周波数指定ＵＩ２３は、周波数グラフＧｆ中において、周波数を指定するためのユーザーインターフェイスである。周波数指定ＵＩ２３は、タッチディスプレイ６０２上でドラッグされて、左右方向に動かされることができる。周波数指定ＵＩ２３は、タッチディスプレイ６０２上で指定された位置から最も近い位置にある周波数グラフＧｆ中のピーク（局所的最大値）の位置に自動的に位置あわせされる。周波数指定ＵＩ２３が示している周波数は、周波数表示ＵＩ２４（図２７参照）に数値で表示される。
【０１６８】
図２７に示す最大周波数表示ＵＩ２５には、周波数グラフＧｆ中で最大のパワーを有する周波数を数値が自動的に示される。ここでは、１１０．０９０１Ｈｚが示されている（周波数グラフＧｆの右部分も参照）。最大周波数表示ＵＩ２５で示される周波数は、測定対象を共振させる振動数である可能性が高い。このため、このような態様とすれば、制御対象物を最も大きく振動させる可能性が高い対象振動数を、ユーザーは知ることができる。
【０１６９】
なお、ロボット制御装置３００に動作を指示し、振動計測装置７００から得られる情報を処理して、周波数グラフＧｆや最大周波数表示ＵＩ２５などユーザーインターフェイスＵＩ０１中の表示のためのデータを生成する設定装置６００の機能部を、「処理部６１２」として図１５に示す。処理部６１２は、設定装置６００のＣＰＵ６１０によって実現される。
【０１７０】
ユーザーは、最大周波数表示ＵＩ２５と周波数グラフＧｆを確認した後、最大周波数表示ＵＩ２５で表示される周波数が低減すべき周波数（測定対象の対象振動数）であると判断した場合には、以下の処理を行う。すなわち、図２２のステップＳ２６０において、ユーザーインターフェイス画像を表示しているタッチディスプレイ６０２、キー６０４、およびトラックポイント６０６を介して、その周波数を、除去すべき周波数成分として、ロボット制御装置３００に入力する。ロボット制御装置３００は、その周波数を所定の番号の振動低減機能のパラメーターＰａｒａｍ１としてＲＡＭ３０１またはＲＯＭ３０２に記憶する（図３参照）。
【０１７１】
また、最大周波数表示ＵＩ２５と周波数グラフＧｆを確認した結果、最大周波数表示ＵＩ２５で表示される周波数が低減すべき周波数ではないと判断した場合には、ユーザーは、ユーザーインターフェイス画像を表示しているタッチディスプレイ６０２を操作して、測定対象物の対象振動数であると思われる周波数グラフＧｆ中の他の周波数の近傍に、周波数指定ＵＩ２３を移動させる。すると、周波数指定ＵＩ２３は自動的に近傍のピークの位置に自動的に位置あわせされ、周波数表示ＵＩ２４にその周波数が表示される。ユーザーは、その周波数を、図２２のステップＳ２６０において、設定装置６００のタッチディスプレイ６０２等を介して、除去すべき周波数成分として、ロボット制御装置３００に入力することができる。
【０１７２】
このような態様とすれば、ユーザーは、設定装置６００の入出力装置を介して、容易にロボットの対象振動数に関する情報を知ることができる。なお、図２７〜図３１で説明した表示をディスプレイ６０２に行わせる設定装置６００の機能部は、「表示制御部６１５」（図１５参照）である。
【０１７３】
図３３は、周波数グラフＧｆの他の例Ｇｆ０１を示す図である（図２７および図３２参照）。より具体的には、図３３は、振動計測装置７００をエンドエフェクター２００ｂ（図１０参照）に取りつけた場合の周波数グラフＧｆ０１を示す。図３３に対応する振動計測装置７００の取りつけ位置を、図１０において、Ｐ７０１で示す。この場合、対象振動数は、３０Ｈｚ、４８Ｈｚ、８０Ｈｚに表れていることが分かる。
【０１７４】
図３４は、周波数グラフＧｆの他の例Ｇｆ０２を示す図である（図２７および図３２参照）。より具体的には、図３４は、振動計測装置７００をロボット１００ｂのアーム１１０ｂに取りつけた場合の周波数グラフＧｆ０２を示す。図３４に対応する振動計測装置７００の取りつけ位置を、図１０において、Ｐ７０２で示す。この場合、対象振動数は、３０Ｈｚ、３３Ｈｚ、４９Ｈｚ、８０Ｈｚに表れていることが分かる。
【０１７５】
図３５は、周波数グラフＧｆの他の例Ｇｆ０３を示す図である（図２７および図３２参照）。より具体的には、図３５は、振動計測装置７００をロボット１００ｂを支持するフレームＦ１００ｂに取りつけた場合の周波数グラフＧｆ０３を示す。図３５に対応する振動計測装置７００の取りつけ位置を、図１０において、Ｐ７０３で示す。この場合、対象振動数は、３０Ｈｚ、３３Ｈｚに表れていることが分かる。
【０１７６】
図３６は、周波数グラフＧｆの他の例Ｇｆ０４を示す図である（図２７および図３２参照）。より具体的には、図３６は、振動計測装置７００をカメラ４００ｂが取りつけられている支柱Ｆ４００ｂに取りつけた場合の周波数グラフＧｆ０１を示す。図３３に対応する振動計測装置７００の取りつけ位置を、図１０において、Ｐ７０４で示す。この場合、対象振動数は、３０Ｈｚ、７２Ｈｚに表れていることが分かる。
【０１７７】
なお、図３３〜図３６の例においては、周波数グラフＧｆ０１〜Ｇｆ０４は、３０Ｈｚ以上の周波数領域を示している。しかし、周波数グラフＧｆは、３０Ｈｚ以下の領域を示してもよい。すなわち、周波数グラフＧｆが提示する周波数領域は、測定される振動に応じて、設定することができる。
【０１７８】
図３３〜図３６の周波数グラフＧｆ０１〜Ｇｆ０４から分かるように、ロボットシステムを構成する部位によって、その振動の振動数は異なる。このため、ロボットによって振動する、ロボットとは異なる部位がロボットの制御に影響を与える場合には、ロボット自身の対象振動数の成分を低減したトルク制御信号を生成して使用しても、その部位の影響が低減されるとは限らない。本実施形態のように、振動を測定するための測定部としての振動計測装置７００を用意し、ロボットだけでなく、ロボットの制御に影響を与えるロボット以外の部位にも取りつけられるように構成することにより、以下のような効果が得られる。すなわち、ロボットによって振動する、ロボットとは異なる部位がロボットの制御に影響を与える場合に、その部位の振動を低減するように、トルク制御信号を改変して、ロボットに対して出力することができる。その結果、ロボットとは異なる部位が振動することによってロボットの制御に与えられる悪影響を、低減することができる。
【０１７９】
なお、ＩＭＵに代えて、直交する３軸について加速度を測定することができる１以上の加速度センサーを、振動計測装置として採用した場合には、３軸についての加速度の測定値と、測定対象物の回転の中心から加速度センサーまでの距離と、を使用して、３軸についての角速度を得ることができる。直交する３軸について加速度を測定することができる加速度センサーを、振動計測装置として採用した場合には、設定装置６００の処理部６１２は、そのような処理を行うことにより、ユーザーインターフェイスＵＩ０１の角速度グラフＧｇを表示する（図１５および図２７参照）。なお、ＩＭＵを振動計測装置として採用した場合には、互いに直交する３軸方向の加速度の測定値と、互いに直交する３軸方向まわりの各速度の測定値と、をＩＭＵから得て、設定装置６００の処理部６１２は、ユーザーインターフェイスＵＩ０１の加速度グラフＧａおよび角速度グラフＧｇを表示する。
【０１８０】
（３）３軸の加速度センサーを使用した対象振動数の測定および設定：
図３７Ａは、処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０２を示す図である。ユーザーインターフェイスＵＩ０２は、直交する３軸について加速度を測定することができる加速度センサーを、振動計測装置として採用した場合に、好適に採用されるユーザーインターフェイスである。ただし、ユーザーインターフェイスＵＩ０２は、ＩＭＵを振動計測装置として採用した場合にも適用できる。
【０１８１】
ユーザーインターフェイスＵＩ０２は、入力窓ＵＩ１１および停止スイッチＵＩ４５を備えている。ユーザーインターフェイスＵＩ０２は、さらに、測定開始ボタンＵＩ１２、測定時間指定窓ＵＩ５０、最大周波数表示ＵＩ２６〜ＵＩ２８を備えている。
【０１８２】
一方、ユーザーインターフェイスＵＩ０２は、角速度グラフＧｇ、加速度グラフＧａ、入力窓ＵＩ３１、処理対象グラフＧｓａ、開始時間指示ＵＩ５１、終了時間指示ＵＩ５２、拡大グラフＧｓａａ、周波数グラフＧｆ、周波数指定ＵＩ２３、周波数表示ＵＩ２４を備えていない。このような構成とすることにより、ユーザーは、多数の情報によって惑わされることなく、また、煩雑な操作を行うことなく、残留振動を低減することができる可能性が高い周波数を知ることができる（ＵＩ２６〜ＵＩ２８参照）。
【０１８３】
入力窓ＵＩ１１および停止スイッチＵＩ４５の機能は、ユーザーインターフェイスＵＩ０１の入力窓ＵＩ１１および停止スイッチＵＩ４５の機能と同じである。
【０１８４】
測定開始ボタンＵＩ１２は、図２２のステップＳ２３０，Ｓ２４０の処理を設定装置６００およびロボット制御装置３００に行わせるためのスイッチである。この場合、ロボットに特定動作を行わせるためのプログラムとしては、あらかじめ用意され設定装置６００のＲＯＭ６４０に格納されているものが使用される。あらかじめ用意されるプログラムとしては、ロボットを動作させる条件（たとえば、動作の方向やロボットの姿勢）が異なる様々なプログラムを用意しておくことができる。
【０１８５】
測定時間指定窓ＵＩ５０は、振動の測定を行う時間区間の長さを指定するための入力窓である。
【０１８６】
最大周波数表示ＵＩ２６〜ＵＩ２８は、特定動作の後の残留振動において、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向の各加速度について、最大のパワーを有している周波数に対応するパラメータを表示する。ユーザーインターフェイスＵＩ０２は、入力窓ＵＩ３１（図２７参照）を備えていない。このため、ユーザーインターフェイスＵＩ０２においては、デフォルトで、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向の各加速度について、最大のパワーを有している周波数が表示される。その際、パワーが大きい順に、すなわち、振幅が大きい順にＸ軸方向、Ｙ軸方向、Ｚ軸方向の周波数が示される。このような処理を行うことにより、ユーザーは、制御対象物がどの方向について大きく振動しているかを、その方向の振動の対象振動数とともに、容易に知ることができる。
【０１８７】
図３７Ｂは、処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０２ｂを示す図である。ユーザーインターフェイスＵＩ０２ｂは、ユーザーインターフェイスＵＩ０２と同様に、直交する３軸について加速度を測定することができる加速度センサーを振動計測装置として採用した場合に、好適に採用されるユーザーインターフェイスである。なお、ユーザーインターフェイスＵＩ０２ｂは、ＩＭＵを振動計測装置として採用した場合にも適用できる。
【０１８８】
ユーザーインターフェイスＵＩ０２ｂは、測定開始ボタンＵＩ１２、測定時間指定窓ＵＩ５０、および停止スイッチＵＩ４５を備えている。ユーザーインターフェイスＵＩ０２ｂは、さらに、プログラム番号指定窓ＵＩ６２、最大周波数表示ＵＩ２９、最大加速度グラフＧａｘを備えている。
【０１８９】
一方、ユーザーインターフェイスＵＩ０２ｂは、角速度グラフＧｇ、加速度グラフＧａ、入力窓ＵＩ３１、処理対象グラフＧｓａ、開始時間指示ＵＩ５１、終了時間指示ＵＩ５２、拡大グラフＧｓａａ、周波数グラフＧｆ、周波数指定ＵＩ２３、周波数表示ＵＩ２４、ならびに入力窓ＵＩ１１、最大周波数表示ＵＩ２６〜ＵＩ２８を備えていない。このような構成とすることにより、ユーザーは、多数の情報によって惑わされることなく、また、煩雑な操作を行うことなく、残留振動を低減することができる可能性が高い周波数を知ることができる（ＵＩ２９参照）。
【０１９０】
停止スイッチＵＩ４５の機能は、ユーザーインターフェイスＵＩ０１，ＵＩ０２の停止スイッチＵＩ４５の機能と同じである。測定時間指定窓ＵＩ５０の機能は、ユーザーインターフェイスＵＩ０２の測定時間指定窓ＵＩ５０の機能と同じである。
【０１９１】
測定開始ボタンＵＩ１２は、図２２のステップＳ２３０，Ｓ２４０の処理を設定装置６００およびロボット制御装置３００に行わせるためのスイッチである。ロボットに特定動作を行わせるためのプログラムとしては、あらかじめ用意され設定装置６００のＲＯＭ６４０に格納されているプログラムのうち、プログラム番号指定窓ＵＩ６２を介して対応する番号が入力されたプログラムが使用される。あらかじめ用意されるプログラムとしては、ロボットを動作させる条件（たとえば、動作の方向やロボットの姿勢）が異なる様々なプログラムを用意しておくことができる。
【０１９２】
最大周波数表示ＵＩ２９は、特定動作の後の残留振動において、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向の各加速度の周波数の中で、最大のパワーを有している一つの周波数に対応するパラメータを表示する。このような処理を行うことにより、ユーザーは、制御対象物がどの方向について大きく振動しているかを考慮することなく、残留振動のうちで最大のパワーを有している周波数、すなわち低減すべき振動の周波数を、知ることができる。
【０１９３】
最大加速度グラフＧａｘは、加速度センサーから受信した３軸の加速度情報に基づいて、Ｘ軸、Ｙ軸、Ｚ軸の方向の加速度のうち、最大のパワーを有している振動数が属する軸の加速度の時間変化が示される。振動低減処理を行って加速度の計測を行った場合には、振動低減処理を行わずに加速度の計測を行った場合と比べて、最大加速度グラフＧａｘに表示される加速度の振幅は、低減されているはずである。ユーザーは、最大加速度グラフＧａｘの表示を通じて、振動低減処理を行わない場合と、振動低減処理を行う場合との結果の違いを直感的に知ることができる。
【０１９４】
なお、図２７、図３７Ａ、図３７ＢのユーザーインターフェイスＵＩ０１，ＵＩ０２，ＵＩ０２ｂは、設定装置として機能するロボット教示装置６００のロボットを操作するためのタッチディスプレイ６０２上の表示を経由して表示される。すなわち、タッチディスプレイ６０２上には、ロボットを操作するための画面と、振動低減機能の設定のための画面が、切り換えて表示される。画面の切り替えは各画面のユーザーインターフェイスを通じて可能である。そして、ロボット教示装置６００のタッチディスプレイ６０２の表示を介して、各指示が入力される。
【０１９５】
このような態様とすることにより、ユーザーが使い慣れているロボットを操作するための表示を介して、操作部として機能する表示（図２７、図３７Ａ、図３７ＢのユーザーインターフェイスＵＩ０１，ＵＩ０２，ＵＩ０２ｂ参照）を呼び出して、対象物の対象振動数を測定することができる。
【０１９６】
なお、本明細書においては、図１０におけるフレームＦ１００ｂの一部Ｐ７０３と、支柱Ｆ４００ｂの一部Ｐ７０４は、「ロボットによって振動する部位」とも呼ばれる。フレームＦ１００ｂに取りつけられている振動計測装置７００（Ｐ７０３参照）、および支柱Ｆ４００ｂに取りつけられている振動計測装置７００（Ｐ７０４参照）は、「第１の検出器」とも呼ばれる。そのような振動計測装置７００からの出力に基づいて振動低減機能の処理が設定され、フィルター処理部３４０によって生成されるトルク制御信号は、「第２制御信号」とも呼ばれる。図２のフィルター処理部３４０は、「制御信号改変部」とも呼ばれる。
【０１９７】
本明細書においては、図１０においてロボット１００ｂのアーム１１０ｂに取りつけられている振動計測装置７００（図１０のＰ７０２参照）、および図１５においてロボット１００のアーム１１０の先端部に取りつけられている振動計測装置７００は、「第２の検出器」とも呼ばれる。そのような振動計測装置７００からの出力に基づいて振動低減機能の処理が設定され、フィルター処理部３４０によって生成されるトルク制御信号は、「第３制御信号」とも呼ばれる。
【０１９８】
支持台５６０ｂは、「記ロボットの作業対象であるワークピースが前記ロボットによって置かれる場所、前記ロボットによって移動される前記ワークピースが前記移動するまで置かれている場所、および前記ロボットが前記ワークピースに対して作業を行う場所、のうちの１以上の場所」として機能する。
【０１９９】
フレームＦ１００ｂに取りつけられている振動計測装置７００（Ｐ７０３参照）、および支柱Ｆ４００ｂに取りつけられている振動計測装置７００（Ｐ７０４参照）、ならびにロボット制御装置３００と設定装置６００（ロボット教示装置６００）は、「制御システム」とも呼ばれる。測定部７４０と出力部７５０は、「出力部」とも呼ばれる。第１の取付部７６０〜第４の取付部７９０は、「取付部」とも呼ばれる。
【０２００】
（４）複数の対象振動数の測定および設定：
図３８は、振動低減機能の設定の手順の他の例を示すフローチャートである。図３８のステップＳ２１０〜Ｓ２６０の処理は、図２２に示したステップＳ２１０〜Ｓ２６０の処理と同じであるためステップＳ２１０〜Ｓ２６０の処理については、説明を省略する。ステップＳ２６０までの処理によって、トルク制御信号から低減すべき一つ目の周波数が設定される（図３のＦ１１，Ｆ２１，Ｆ３１参照）。
【０２０１】
ステップＳ３３０では、ステップＳ２３０と同様に、ステップＳ２２０で作成されたプログラムがロボット制御装置３００において実行され、プログラムにしたがってロボットが特定動作をする。より具体的には、制御信号生成部３１０（図２参照）が特定動作の実行の指示を表すコマンドを受け取り、そのコマンドおよびそのコマンドに付属するパラメーターに応じて、位置制御信号を出力する。
【０２０２】
位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０とが、位置制御信号に従って、ロボット１００のサーボモーター４１０を駆動させる（図２参照）。ただし、ステップＳ３３０においては、フィルター処理部３４０は、ステップＳ２６０で設定された特定の周波数成分を除去する処理を行って、速度制御部３３０から受信したトルク制御信号を改変して、トルク制御部３５０に出力する。
【０２０３】
ステップＳ３４０においては、ステップＳ２４０と同様の処理によって、特定動作の終了後の残留振動が測定される。ステップＳ３５０においては、ステップＳ２５０と同様の処理によって、設定装置６００において、Ｓ３３０の特定動作の実行による振動の測定結果が処理され、処理結果がディスプレイ６０２に表示される（図２７参照）。
【０２０４】
図３９は、図３８のステップＳ２５０で表示される、拡大グラフＧｓａａ（図２７および図３１参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚを示している。
【０２０５】
図４０は、図３８のステップＳ２５０で表示される、周波数グラフＧｆ（図２７および図３２参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚの高速フーリエ変換の結果を示している。
【０２０６】
図４１は、図３８のステップＳ３５０で表示される、拡大グラフＧｓａａ（図２７および図３１参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚを示している。
【０２０７】
図４２は、図３８のステップＳ３５０で表示される、周波数グラフＧｆ（図２７および図３２参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚの高速フーリエ変換の結果を示している。
【０２０８】
図３９と図４１、図４０と図４２を比較すれば分かるように、図３８のステップＳ２６０における設定によって、最も大きかったＺ軸方向の加速度Ａｚ（一点鎖線で示す）の３４Ｈｚ近傍の振動が低減されていることが分かる（特に図４０および図４２参照）。
【０２０９】
図３８のステップＳ３５５においては、ユーザーは、ユーザーインターフェイスＵＩ０１の拡大グラフＧｓａａ、周波数グラフＧｆ、最大周波数表示ＵＩ２５を確認して（図２７参照）、残留振動が十分低減されたか否かを判定する。残留振動が十分低減された場合には、ステップＳ３５７において、ステップＳ２６０で行われたパラメーターＰａｒａｍ１の設定に従って、ロボットが運用される。
【０２１０】
一方、ステップＳ３５５において、残留振動が十分低減されていない場合には、処理はステップＳ３６０に進む。ステップＳ３６０において、ユーザーは、ユーザーインターフェイスＵＩ０１の拡大グラフＧｓａａ、周波数グラフＧｆ、最大周波数表示ＵＩ２５を確認して（図２７、図４１、図４２参照）、残っている振動の中で最大のパワーを有する周波数を、特定する。そして、ユーザーは、設定装置６００のタッチディスプレイ６０２、キー６０４、およびトラックポイント６０６を介して、除去すべき周波数成分として、その周波数を、追加的にロボット制御装置３００に入力する。ロボット制御装置３００は、その周波数を所定の番号の振動低減機能のパラメーターＰａｒａｍ２として記憶する（図３のＦ３２参照）。
【０２１１】
ステップＳ４３０では、ステップＳ２３０，Ｓ３３０と同様に、ステップＳ２２０で作成されたプログラムがロボット制御装置３００において実行され、プログラムにしたがってロボットが特定動作をする。ただし、ステップＳ４３０においては、フィルター処理部３４０は、ステップＳ２６０とステップＳ３６０で設定された二つの周波数成分を除去する処理を行って、速度制御部３３０から受信したトルク制御信号を改変して、トルク制御部３５０に出力する。
【０２１２】
ステップＳ４４０においては、ステップＳ２４０，Ｓ３４０と同様の処理によって、特定動作の終了後の残留振動が測定される。ステップＳ４５０においては、ステップＳ２５０，Ｓ３５０と同様の処理によって、設定装置６００において、Ｓ４３０の特定動作の実行による振動の測定結果が処理され、処理結果がディスプレイ６０２に表示される（図２７参照）。
【０２１３】
図４３は、図３８のステップＳ４５０で表示される、拡大グラフＧｓａａ（図２７および図３１参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚを示している。
【０２１４】
図４４は、図３８のステップＳ４５０で表示される、周波数グラフＧｆ（図２７および図３２参照）に相当するグラフである。ただし、技術の理解を容易にするために、ここでは、Ｘ軸、Ｙ軸、Ｚ軸のすべての加速度Ａｘ，Ａｙ，Ａｚの高速フーリエ変換の結果を示している。
【０２１５】
図４１と図４３、図４２と図４４を比較すれば分かるように、図３８のステップＳ３６０における設定によって、最も大きかったＺ軸方向の加速度Ａｚ（一点鎖線で示す）の３１Ｈｚ近傍の振動が低減されていることが分かる（特に図４２および図４４参照）。
【０２１６】
ステップＳ４５５においては、ユーザーは、ユーザーインターフェイスＵＩ０１の拡大グラフＧｓａａ、周波数グラフＧｆ、最大周波数表示ＵＩ２５を確認して（図２７参照）、残留振動が十分低減されたか否かを判定する。残留振動が十分低減された場合には、ステップＳ４５７において、ステップＳ２６０，Ｓ３６０で行われたパラメーターＰａｒａｍ１，Ｐａｒａｍ２の設定に従って、ロボットが運用される。
【０２１７】
このような態様とすることにより、ユーザーは、タッチディスプレイ６０２上のユーザーインターフェイスＵＩ０１に基づいて、設定前後の振動を比較した上で、必要な場合に、追加的な周波数の設定を行うことができる。すなわち、ユーザーは、ステップＳ２３０で特定動作が引き起こした振動と、特定動作を指示するトルク制御信号から対象振動数成分を低減して得られるトルク制御信号による動作が引き起こしたステップＳ３３０における振動と、を比較した上で、必要な場合に、追加的な周波数の設定を行うことができる。
【０２１８】
一方、ステップＳ４５５において、残留振動が十分低減されていない場合には、処理はステップＳ４７０に進む。ステップＳ４７０において、ユーザーは、保守サービス提供者に連絡をする。
【０２１９】
（５）力覚センサーを使用した対象振動数の測定および設定：
以上では、振動計測装置をロボットを含む各部に取りつけて、振動低減機能の設定を行う態様について説明した。しかし、ロボットが力覚センサーを備えている場合には（図１の１９０および図１０の１９０ｂ参照）、振動計測装置に代えて、ロボットが有する力覚センサーを使用して、振動の計測を行うこともできる。
【０２２０】
力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力Ｆｘ，Ｆｙ，Ｆｚと、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクＴｘ，Ｔｙ，Ｔｚを測定することができる。ここでは、振動計測装置７００が出力するＸ軸、Ｙ軸、Ｚ軸方向の加速度と、Ｘ軸、Ｙ軸、Ｚ軸方向をそれぞれ回転の中心とする角速度と、に代えて、力覚センサー１９０によって得られるＸ軸、Ｙ軸、Ｚ軸の３軸方向の力Ｆｘ，Ｆｙ，Ｆｚと、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクＴｘ，Ｔｙ，Ｔｚを使用して、特定動作による振動を計測し、振動低減機能の設定を行う態様を説明する。このような態様とすれば、制御対象物としてのロボットに設けられた力覚センサーを有効に活用して、対象振動数の測定を行うことができる。
【０２２１】
図４５は、処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０３およびグラフＧｉｄを示す図である。ユーザーインターフェイスＵＩ０３は、入力窓ＵＩ９１、拡大グラフＧｓａｂ、周波数グラフＧｆ００、およびスペクトラム表示ＵＩ９４ｆｘを備えている。
【０２２２】
入力窓ＵＩ９１は、Ｘ軸、Ｙ軸、Ｚ軸の３軸方向の力Ｆｘ，Ｆｙ，Ｆｚと、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクＴｘ，Ｔｙ，Ｔｚのいずれかを選択するためのユーザーインターフェイスである。ここでは、Ｘ軸方向の力Ｆｘが選択されている。入力窓ＵＩ９１は、図２７のユーザーインターフェイスＵＩ０１における入力窓ＵＩ３１に相当する。
【０２２３】
拡大グラフＧｓａｂは、入力窓ＵＩ９１で選択された測定結果の残留振動を、拡大して示すグラフである。拡大グラフＧｓａｂは、図２７のユーザーインターフェイスＵＩ０１における拡大グラフＧｓａａに相当する。図４５では、特定動作後のＸ軸方向の力Ｆｘの残留振動が拡大して示されている。
【０２２４】
スペクトラム表示ＵＩ９４ｆｘは、入力窓ＵＩ３１で選択された測定値の時間変化（Ｘ軸方向の力Ｆｘの時間変化）に対して短時間フーリエ変換を行った結果を示す。スペクトラム表示ＵＩ９４ｆｘにおいて、横軸は時間を表し、縦軸は周波数を表す。各周波数の時間ごとのパワーの大小は、色の変化で表される。このような態様とすることにより、ユーザーは、周波数成分のパワーが時刻に応じて変化する態様を知ることができる。図４５の例においては、スペクトラム表示ＵＩ９４ｆｘにおいて表される時間区間のうち、中央近傍の時刻において６０Ｈｚ近傍にパワーのピークがあることが分かる。なお、図４５においては、技術の理解を容易にするため、スペクトラム表示ＵＩ９４ｆｘ中の色の変化を２段階の変化としている。
【０２２５】
周波数グラフＧｆ００は、スペクトラム表示ＵＩ９４ｆｘに表される結果を時間軸方向に合計した結果（度数分布）を示す。周波数グラフＧｆ００において、縦軸は周波数を、横軸は強度を表す。図４５における周波数グラフＧｆ００は、図２７における周波数グラフＧｆに対応する。
【０２２６】
グラフＧｉｄは、ロボットにおいて実行されるコマンドのうち、振動の測定対象の時間区間において実行を完了している最新のコマンドのステップに対応する表示を、表示するグラフである。その結果、現在、どのコマンドまで処理が進んでいるかを、ユーザーは知ることができる。このような態様とすれば、ユーザーは、複数のコマンドで特定動作を行わせて測定を行う際に、残留振動を発生させる特定動作を指示するコマンドを確認しつつ、対象振動数を知ることができる。図４５の例では、コマンドＩＤ２．０のコマンドが実行を完了している最新のコマンドである。
【０２２７】
図４６は、処理内容を指定するための入力と処理結果の出力のための他のユーザーインターフェイスＵＩ０４およびグラフＧｉｄを示す図である。グラフＧｉｄの機能は、図４５に示したグラフＧｉｄの機能と同じである。
【０２２８】
図４６のユーザーインターフェイスＵＩ０４は、スペクトラム表示ＵＩ９４ｆｘ，ＵＩ９４ｆｙ，ＵＩ９４ｆｚ，ＵＩ９４ｔｘ，ＵＩ９４ｔｙ，ＵＩ９４ｔｚを備えている。一方、ユーザーインターフェイスＵＩ０４は、入力窓ＵＩ９１、拡大グラフＧｓａｂ、周波数グラフＧｆ００を備えていない。
【０２２９】
スペクトラム表示ＵＩ９４ｆｘは、Ｘ軸方向の力Ｆｘの時間変化に対して短時間フーリエ変換を行った結果を示す。スペクトラム表示ＵＩ９４ｆｘの内容は、図４５に示したスペクトラム表示ＵＩ９４ｆｘの機能と同じである。スペクトラム表示ＵＩ９４ｆｙは、Ｙ軸方向の力Ｆｙの時間変化に対して短時間フーリエ変換を行った結果を示す。スペクトラム表示ＵＩ９４ｆｚは、Ｚ軸方向の力Ｆｚの時間変化に対して短時間フーリエ変換を行った結果を示す。
【０２３０】
スペクトラム表示ＵＩ９４ｔｘは、Ｘ軸方向のトルクＴｘの時間変化に対して短時間フーリエ変換を行った結果を示す。スペクトラム表示ＵＩ９４ｔｙは、Ｙ軸方向のトルクＴｙの時間変化に対して短時間フーリエ変換を行った結果を示す。スペクトラム表示ＵＩ９４ｔｚは、Ｚ軸方向のトルクＴｚの時間変化に対して短時間フーリエ変換を行った結果を示す。
【０２３１】
すなわち、ユーザーインターフェイスＵＩ０４は、各周波数成分のパワーの表示を、互いに異なる複数の方向の力やトルクの振動について、表示することができる。このような態様とすることにより、ユーザーは、互いに異なる複数の方向について、周波数成分のパワーが時刻に応じて変化する態様を知ることができる。
【０２３２】
なお、図４５および図４６の例においては、スペクトラム表示ＵＩ９４ｆｘ〜ｆｚ、ＵＩ９４ｔｘ〜ｔｚは、３０Ｈｚ以上の周波数領域を示している。しかし、スペクトラム表示ＵＩ９４ｆｘ〜ｆｚ、ＵＩ９４ｔｘ〜ｔｚは、３０Ｈｚ以下の領域を示してもよい。すなわち、スペクトラム表示ＵＩ９４ｆｘ〜ｆｚ、ＵＩ９４ｔｘ〜ｔｚが提示する周波数領域は、測定される振動に応じて設定することができる。
【０２３３】
なお、本明細書においては、制御信号生成部３１０は、「受付部」とも呼ばれる。位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０とは、「実行部」とも呼ばれる。サーボモーター４１０は、「駆動部」とも呼ばれる。振動計測装置７００ならびに力覚センサー１９０，１９０ｂは、「測定部」とも呼ばれる。設定装置６００の機能部としての測定結果受付部６１３は、「測定結果受付部」とも呼ばれる。ロボット制御装置３００と設定装置６００（ロボット教示装置６００）とは、「制御装置」として機能する。
【０２３４】
互いに異なる複数の動作を指示するコマンドとそのパラメーターの複数の組み合わせは、「動作が互いに異なる複数種類の前記特定動作の実行の指示」として機能する。駆動させるロボットのアームの関節を指定するコマンドとパラメーターの組み合わせは、「前記複数の関節のうちの１以上の関節の指定を含む前記特定動作の実行の指示」として機能する。
【０２３５】
なお、本明細書においては、設定装置６００の受付部６１１は、「受付部」とも呼ばれる。図２２のステップＳ２３０におけるプログラムの実行の指示は、「第１の指示」とも呼ばれる。タッチディスプレイ６０２、キー６０４、およびトラックポイント６０６は、「操作部」ともして機能する。周波数グラフＧｆおよび最大周波数表示ＵＩ２５は、「制御対象物の対象振動数に関する情報」として機能する。設定装置６００のディスプレイ６０２は、「表示部」とも呼ばれる。設定装置６００の表示制御部６１５は、「表示制御部」とも呼ばれる。開始時間指示ＵＩ５１と終了時間指示ＵＩ５２で指定された時間区間は、「制御対象物の振動を表す時間区間」または「ある時間区間」とも呼ばれる。
【０２３６】
入力窓ＵＩ１１に入力されるデータファイルの指定は、「第２の指示」とも呼ばれる。振動計測装置７００は、「測定部」とも呼ばれる。ステップＳ２５０におけるユーザーインターフェイスＵＩ０１は、「前記振動データに基づく表示」とも呼ばれる。ステップＳ３５０におけるユーザーインターフェイスＵＩ０１は、「前記時間区間の前記制御対象物の前記振動の原因となった動作を指示した第１制御信号から特定の周波数成分を低減して得られる第２制御信号に基づいて動作された前記制御対象物 の振動を表す振動データに基づく表示」として機能する。
【０２３７】
最大周波数表示ＵＩ２５で表示される周波数は、「前記対象振動数の少なくとも１つを表すパラメーター」として機能する。開始時間指示ＵＩ５１の位置の指定は、「前記時間区間の開始時刻を指定する指示」として機能する。
【０２３８】
入力窓ＵＩ３１，ＩＵ９１への対象の指定の入力は、「前記表示される対象振動数の振動の方向を指定する軸指定」として機能する。処理対象グラフＧｓａ、拡大グラフＧｓａａ、周波数グラフＧｆ、周波数表示ＵＩ２４、最大周波数表示ＵＩ２５は、「前記指定された方向の振動の前記対象振動数に関する情報」とも呼ばれる。
【０２３９】
スペクトラム表示ＵＩ９４ｆｘ、ＵＩ９４ｆｙ，ＵＩ９４ｆｚ，ＵＩ９４ｔｘ、ＵＩ９４ｔｙ，ＵＩ９４ｔｚを含むＵＩ０４は、「スペクトラム表示部」とも呼ばれる。Ｘ軸、Ｙ軸、Ｚ軸は、「互いに異なる複数の方向」として機能する。グラフＧｉｄは、「最新のコマンドのステップに対応する表示」として機能する。
【０２４０】
（６）他のロボットシステムへの振動計測装置の取りつけ：
上記実施形態では、振動を低減する対象であるロボット１００，１００ｂや、そのロボットを含むロボットシステムを構成するカメラ４００，４００ｂ、ならびにそれらが取りつけられるフレームＦ１００ｂや支柱Ｆ４００ｂに、振動計測装置が取りつけられる（図１０のＰ７０１〜Ｐ７０６）。しかし、振動を低減する対象であるロボットや、そのロボとを含むロボットシステムの構成要素以外の場所に、振動計測装置を取りつけることもできる。
【０２４１】
図４７は、並んで配される２組のロボットシステムＲＳ１００ｂ，ＲＳ１００ｃを示す図である。二つのロボットシステムＲＳ１００ｂ，ＲＳ１００ｃは、同じ製品を生産するための上流と下流の生産工程を担当するロボットであってもよいし、別の製品を生産するための異なる生産ラインに含まれるロボットであってもよい。
【０２４２】
ロボットシステムＲＳ１００ｂを構成するロボット１００ｂおよびフレームＦ１００ｂの構成は、すでに説明したとおりである（図１０参照）。ロボットシステムＲＳ１００ｃを構成するロボット１００ｃおよびフレームＦ１００ｃの構成は、それぞれロボット１００ｂおよびフレームＦ１００ｂの構成と同じである。ロボットシステムＲＳ１００ｂの各構成要素に対応するロボットシステムＲＳ１００ｃの各構成要素に対して、ロボットシステムＲＳ１００ｂの構成要素を表す符号中のｂに代えてｃを付したものを、使用する。
【０２４３】
ロボットシステムＲＳ１００ｃのエンドエフェクター２００ｃは、隣のロボットシステムＲＳ１００ｂのロボット１００ｂの動きによって振動し得る。また、ロボットシステムＲＳ１００ｃのカメラ４００ｂおよび支持台５６０ｃも、隣のロボットシステムＲＳ１００ｂのロボット１００ｂの動きによって振動し得る。その結果、隣のロボットシステムＲＳ１００ｂのロボット１００ｂによって、ロボット１００ｃの動きの精度が低下し、また、次の動作開始タイミングが遅延しうる。このため、ここで説明する実施形態では、ロボットシステムＲＳ１００ｂを対象とした図２２の振動低減機能の設定において、ロボットシステムＲＳ１００ｃの構成要素を振動させないように、除去すべき周波数成分が決定される。
【０２４４】
図２２のステップＳ２１０においては、測定対象物に振動計測装置が取りつけられる。たとえば、ロボットシステムＲＳ１００ｃのフレームＦ１００ｃに、振動計測装置７００が取りつけられる（図４７のＰ８０３参照）。そして、ロボットシステムＲＳ１００ｂについて、ステップＳ２２０以下の処理が行われる。その結果、フレームＦ１００ｃを振動させにくいトルク制御信号を生成できる対象周波数を、ロボットシステムＲＳ１００ｂのロボット制御装置のフィルター設定部３４５（図２参照）に設定することができる。
【０２４５】
図２２のステップＳ２１０においては、たとえば、ロボットシステムＲＳ１００ｃにおいてカメラ４００ｃが取りつけられている支柱Ｆ４００ｃに、ロボットシステムＲＳ１００ｂについて、振動計測装置７００を取りつけることもできる（図４７のＰ８０４参照）。そして、ステップＳ２２０以下の処理が行われる。その結果、支柱Ｆ４００ｃに取りつけられたカメラ４００ｃを振動させにくいトルク制御信号を生成できる対象周波数を、ロボットシステムＲＳ１００ｂのロボット制御装置のフィルター設定部３４５（図２参照）に設定することができる。
【０２４６】
同様に、図２２のステップＳ２１０においては、たとえば、ロボットシステムＲＳ１００ｃの支持台５６０ｃに、振動計測装置７００を取りつけることもできる（図４７のＰ８０４参照）。支持台５６０ｃは、ロボットシステムＲＳ１００ｃの処理対象であるワークピースＷ０２が乗せられる構造である。そして、ロボットシステムＲＳ１００ｂについて、ステップＳ２２０以下の処理が行われる。その結果、支持台５６０ｃおよびその上のワークピースＷ０２を振動させにくいトルク制御信号を生成できる対象周波数を、ロボットシステムＲＳ１００ｂのロボット制御装置のフィルター設定部３４５（図２参照）に設定することができる。
【０２４７】
同様に、振動計測装置は、ロボットシステムＲＳ１００ｃに含まれるカメラ４００ｃ（図４７のＰ８０５参照）、エンドエフェクター２００ｃ（図４７のＰ８０１参照）、アーム１１０ｃ（図４７のＰ８０２参照）に取りつけられることもできる。その結果、振動計測装置が取りつけられたそれらの部位の振動を起こしにくいトルク制御信号を生成できる対象周波数を、ロボットシステムＲＳ１００ｂのロボット制御装置のフィルター設定部３４５（図２参照）に設定することができる。
【０２４８】
なお、本明細書においては、図４７におけるロボットシステムＲＳ１００ｃの各部位Ｐ８０１〜Ｐ８０６は、「ロボットによって振動する部位」とも呼ばれる。それらの部位に取りつけられる振動計測装置７００は、「第１の検出器」とも呼ばれる。そのような振動計測装置７００からの出力に基づいて振動低減機能の処理が設定され、フィルター処理部３４０によって生成されるトルク制御信号は、「第２制御信号」とも呼ばれる。
【０２４９】
Ｄ．変形例：
Ｄ１．変形例１：
（１）上記実施形態においては、先の制御信号と後の制御信号の間に出力される第３制御信号は、複数存在する（図６および図８参照）。しかし、第３制御信号は、先の制御信号の出力と後の制御信号の出力との間に、１つだけ出力されてもよい。
【０２５０】
（２）上記実施形態においては、異なる周波数成分を低減して生成された第２制御信号が複数存在する（図３の番号１〜１５参照）。しかし、周波数成分を低減した第２制御信号を、１つだけ生成して適用する態様とすることもできる。
【０２５１】
（３）上記実施形態においては、第３制御信号は、先の制御信号と後の制御信号とを重み付け平均して得られる。しかし、第３制御信号は、先の制御信号と後の制御信号以外の要素をも考慮して決定することができる。
【０２５２】
（４）上記実施形態においては、ロボット１００のアーム１１０の先端の位置の制御信号切り替え前後の偏差と、ロボット１００のアーム１１０の先端の速度の制御信号切り替え前後の偏差と、がいずれもしきい値未満である場合に、制御信号の切り替えが行われる（図９参照）。しかし、制御信号の切り替えは、ロボットを駆動するモーターの回転位置の偏差と速度の偏差について、それぞれ所定のしきい値以下となることを条件としてもよい。また、位置の偏差がしきい値よりも小さいという条件が満たされる場合に、速度偏差によらず、制御信号を切り換えてもよい。
【０２５３】
（５）上記実施形態においては、第２制御信号生成部としてのフィルター処理部３４０は、帯域除去フィルターを使用して、周波数成分の除去を行う。しかし、第２制御信号生成部は、ノッチフィルターやバンドパスフィルターを使用して、第１制御信号から第２制御信号制御信号を生成する態様とすることもできる。なお、第１制御信号から第２制御信号を生成する際には、特定の周波数成分を除去する態様に加えて、特定の周波数成分を低減する態様を採用することもできる。
【０２５４】
（６）上記実施形態においては、振動低減機能は、トルク制御信号に対して行われる。しかし、振動低減機能は、加速度の制御信号や電流量に適用することもでき、速度制御信号や位置制御信号に適用することもできる。振動低減機能においては、対象となる制御信号をフーリエ変換して、制御信号中の特定の周波数成分を低減し、逆変換を行って新たな制御信号を生成する。このため、上記で例示したトルク制御信号に基づいて微積分および比例によって変換できる関係にある各種パラメーターについて、振動低減機能は適用可能である。
【０２５５】
（７）多軸ロボットについては、軸ごとに異なる周波数を、制御信号から低減すべき周波数として設定することができる（図２の３４０，３４５参照）。そのような態様においては、フィルター処理部３４０は、複数の関節のそれぞれについて、フィルター設定部３４５から除去すべき１以上の周波数の制御信号を受信する。そして、フィルター処理部３４０は、速度制御部３３０が複数の関節のそれぞれについて出力したトルク制御信号に対して、フィルター設定部３４５からの制御信号に応じた１以上の周波数成分を除去する処理を行って、新たなトルク制御信号を生成し、出力する。フィルター処理部３４０は、複数の関節のそれぞれについて、先のトルク制御信号から、後のトルク制御信号への切り替えを行う際に、それら２つのトルク制御信号の値の重み付け平均により、第３トルク制御信号の値を生成し、出力してもよい。そのような態様とすれば、関節（軸）によって低減すべき周波数が異なる場合に、各軸の振動をそれぞれ効果的に低減することができる。
【０２５６】
なお、上記の態様においても、制御信号から低減すべき周波数成分が２以上の軸について一致してもよい。本明細書においては、ある関節（軸）について低減すべき周波数成分を、他の関節（軸）について低減すべき周波数に限定されることなく、設定し得ることを、関節（軸）ごとに設定される低減すべき周波数が「独立」である、と記載する。それぞれの関節（軸）について低減すべき周波数成分を独立に設定しうる態様においても、偶然または意図的に、同一の周波数成分を複数の関節について設定することができる。
【０２５７】
一方、多軸ロボットの各軸に対して、同一の周波数で振動低減処理を行うこともできる（図２の３４０，３４５参照）。多軸ロボットにおいて、各軸が協調して制御されるべき場合には、軸ごとに、特定の周波数成分を有している制御信号が与えられたり、特定の周波数成分を有していない制御信号が与えられたりすると、不測のトルク変動、経路の位置ずれなどが生じる場合がある。このため、多軸ロボットの各軸に対して、同一の周波数で振動低減処理を行うことにより、そのような事態が生じる可能性を低減することができる。
【０２５８】
さらに、多軸ロボットの各軸について、振動低減処理が行われない軸と、振動低減処理が行われる軸と、を設定することができる（図２の３４０，３４５参照）。そのような態様においては、フィルター処理部３４０は、複数の関節のうち、振動低減処理を行うべき１以上の一部の関節の指定を受け付ける。なお、フィルター処理部３４０は、複数の関節のうち、振動低減処理を行わない１以上の一部の関節の指定を受け付けるという態様で、振動低減処理を行うべき１以上の一部の関節の指定を受け付けてもよい。そして、フィルター処理部３４０は、振動低減処理を行うべき１以上の一部の関節について、振動低減処理を行い、他の関節については、振動低減処理を行わない。
【０２５９】
そのような態様とすることにより、ロボット全体を振動させる影響の程度が高い軸（たとえば、図１のＸ１１，Ｘ１２のような、ロボットを支えている基部に近い軸）については、振動低減処理を行って、ロボット全体の振動を低減させることができる。一方、ロボット全体を振動させる影響の程度が低い軸（たとえば、図１のＸ１５のようなアームの先端近傍の軸）については、振動低減処理を行わないこととし、ワークピースをつかむ動作などのエンドエフェクターによる作業の精度を高めることができる。
【０２６０】
（８）本開示は、ロボットにおいて低減したい振動の振動数の測定に限らず、自動制御が行われて物理的な状態が変化する様々な機械において低減したい振動の振動数を測定する場合に、適用しうる。
【０２６１】
Ｄ２．変形例２：
（１）上記実施形態においては、周波数成分の低減を実行すべき旨の指示が入力されないことを含む第１の条件が満たされる場合に、フィルター処理部３４０によって、周波数成分が低減されていない第１制御信号が出力される。この第１の条件は、さらに、下位の加重条件として、所定の設定がなされていることや所定の設定がなされていないことなど、他の条件を含むこともできる。
【０２６２】
下位の加重条件としては、たとえば、（ａ）周波数成分の低減を実行しない旨の指示が入力されたこと、が挙げられる。下位の加重条件としては、さらに、（ａ）に加えて、（ｂ）あらかじめ定められたパスワードが入力されたこと、（ｃ）あらかじめ定められたＩＤとそのＩＤに対応するパスワードが入力されたこと、（ｄ）あらかじめ定められた設定装置としてのハードウェア（図１の６００参照）を介して（ａ）の指示が入力されたこと、などが挙げられる。これらの下位条件は組み合わされて使用されてもよい。
【０２６３】
また、周波数成分の低減を実行しない旨の指示は、明示的な指示であってもよいし、暗示的な指示であってもよい。暗示的な指示としては、たとえば、「周波数成分の低減を実行すべき旨の指示」と選択的に実行される指示、すなわち、「周波数成分の低減を実行すべき旨の指示」と両立することが認められない指示がある。そのような指示としては、たとえば、「正確な位置制御を行うモードで動作すべきことの指示」が挙げられる。
【０２６４】
また、「周波数成分の低減を実行すべき旨の指示が入力されないこと」が満たされたか否かを判断する構成要素（ＣＰＵの機能部など）は、あらかじめ定められた長さの時間、周波数成分の低減を実行すべき旨の明示的または暗示的な指示が入力されない場合に、「周波数成分の低減を実行すべき旨の指示が入力されないこと」が満たされたと判断してもよい。一方、時間的な制限は設けないこととしてもよい。すなわち、周波数成分の低減を実行すべき旨の明示的または暗示的な指示が入力されたときに、初めて、「周波数成分の低減を実行すべき旨の指示が入力されないこと」が満たされなくなったと判断し、それ以外の場合は、「周波数成分の低減を実行すべき旨の指示が入力されないこと」が満たされていると判断してもよい。
【０２６５】
（２）上記実施形態においては、周波数成分の低減を実行すべき旨の指示が入力されたことを含む第２の条件が満たされる場合に、フィルター処理部３４０によって、第２制御信号が出力される。この第２の条件は、さらに、下位の加重条件として、所定の設定がなされていることや所定の設定がなされていないことなど、他の条件を含むこともできる。
【０２６６】
下位の加重条件としては、たとえば、（ｂ）あらかじめ定められたパスワードが入力されたこと、（ｃ）あらかじめ定められたＩＤとそのＩＤに対応するパスワードが入力されたこと、（ｄ）あらかじめ定められた設定装置としてのハードウェア（図１の６００参照）を介して周波数成分の低減を実行すべき旨の指示が入力されたこと、などが挙げられる。これらの下位条件は組み合わされて使用されてもよい。
【０２６７】
また、周波数成分の低減を実行する旨の指示は、明示的な指示であってもよいし、暗示的な指示であってもよい。暗示的な指示としては、たとえば、「周波数成分の低減を実行しない旨の指示」と選択的に実行される指示、すなわち、「周波数成分の低減を実行しない旨の指示」と両立することが認められない指示がある。そのような指示としては、たとえば、「高速な運転を行うモードで動作すべきことの指示」や「静かな運転を行うモードで動作すべきことの指示」が挙げられる。
【０２６８】
（３）上記実施形態においては、振動低減処理が実施されているときには、図１３に示す表示Ｄｖｒがディスプレイ６０２に表示される。しかし、所定の周波数成分が低減された第２制御信号が制御信号切替部から出力されている場合に、表示部に表示される表示は、他の態様であってもよい。たとえば、表示部としてランプを備え、所定の周波数成分が低減された第２制御信号が出力されている場合には、ランプが点灯する態様とすることもできる。また、所定の周波数成分が低減された第２制御信号が出力されている場合にも、なんらの表示が行われない態様とすることもできる。
【０２６９】
（４）上記実施形態においては、フィルター処理部３４０は、周波数成分の低減を実行すべき旨の指示が入力されたことと、図１１に示すあらかじめ定められた下位条件を満たすことと、の両方が満たされることを含む第３の条件が満たされる場合に、周波数成分が低減されていない第１制御信号を出力する（図１１および図１２参照）。しかし、第３の条件は、さらに、下位の加重条件として、所定の設定がなされていることや所定の設定がなされていないことなど、他の条件を含むこともできる。
【０２７０】
なお、上記実施形態では、連続経路制御（ＣＰ制御）が実行される場合には、振動低減処理は実施されない（図１１の左欄、第７行目参照）。しかし、連続経路制御が実行される場合にも、振動低減処理が実施されることとしてもよい。
【０２７１】
（５）上記実施形態においては、力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力Ｆｘ，Ｆｙ，Ｆｚと、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクＴｘ，Ｔｙ，Ｔｚを測定することができる。しかし、力検出部は、１軸の力だけを検出することができる態様であってもよいし、１軸のトルクだけを検出することができる態様であってもよい。また、力検出部は、２軸の力やトルクを検出できる態様であってもよい。また、３以下の数の軸の力と、３以下の数の軸のトルクと、の任意の組み合わせを検出できる態様とすることができる。
【０２７２】
（６）本開示は、ロボットの制御に限らず、自動制御が行われる様々な機械において、適用しうる。
【０２７３】
Ｄ３．変形例３：
（１）本明細書において、「ロボットに設けられた測定部」という記載は、あらかじめロボットの構成の一部として組み込まれている測定部と、測定時にロボットに対して取りつけられた測定部とを含む。
【０２７４】
（２）上記実施形態において、設定装置６００およびロボット制御装置３００は、１個の特定動作を実行すべき旨の指示を受付ることもでき、また、複数の特定動作を連続して実行すべき旨の指示を受付ることもできる。そして、設定装置６００およびロボット制御装置３００は、１個の特定動作を実行すべき旨の指示を、異なるタイミングで受付ることができる。そして、それら異なるタイミングで指示される特定動作は、同じ特定動作であってもよく、異なる種類の特定動作であってもよい。すなわち、受付部としての受付部６１１は、複数種類の特定動作の実行の指示を受け付けることができるが、その受付は、連続して行われてもよいし、一つずつ別のタイミングで行われてもよい。さらに、受付部（図１５の受付部６１１参照）および実行部（図２の位置制御部３２０、速度制御部３３０、フィルター処理部３４０、トルク制御部３５０、サーボアンプ３６０参照）は、一つの特定動作だけを受け付けて実行できるように構成されてもよい。
【０２７５】
（３）特定動作としての複数の動作は、動作の終了時のロボットの姿勢が同一であり、動作終了時の姿勢に至るまでの動作（たとえば、動作の経路や速度）が異なる複数の動作を含むことができる。
【０２７６】
（４）特定動作は、関節を指定せずに、アームの先端の位置や動きを指定する方法で、特定されてもよい。
【０２７７】
（５）本開示は、ロボットにおいて低減したい振動の振動数の測定に限らず、自動制御が行われて物理的な状態が変化する様々な機械において低減したい振動の振動数を測定する場合に、適用しうる。
【０２７８】
Ｄ４．変形例４：
（１）上記実施形態においては、「対象振動数に関する情報」として、周波数グラフＧｆ、最大周波数表示ＵＩ２５，ＵＩ２９、スペクトラム表示ＵＩ９４ｆｘ〜ｆｚ、ＵＩ９４ｔｘ〜ｔｚなどが、ディスプレイ６０２に表示される。このように、「対象振動数に関する情報」は、対象振動数そのものであってもよいし、対象振動数を一義的に特定することができる何らかのパラメーターであってもよい。また、対象振動数を含む振動を表すグラフなどであってもよい。
【０２７９】
また、「振動」は、制御対象物としてのロボットの関節に加えられる力やトルクの振動であってもよいし、測定対象物の構成部位の加速度の振動であってもよいし、速度の振動であってもよいし、位置の振動であってもよい。
【０２８０】
（２）上記実施形態においては、力覚センサー１９０，１９０ｂの測定値に基づいて、スペクトラム表示が行われている。しかし、加速度や角速度の測定値に基づいて、スペクトラム表示が行われる態様とすることもできる。また、力覚センサーの測定値に基づいて、周波数グラフＧｆ中で最大のパワーを有する周波数を数値が自動的に示される態様とすることもできる。すなわち、ユーザーインターフェイスＵ０１〜Ｕ０４は、加速度や角速度の測定値に基づいて表示されることもでき、力やトルクの測定値に基づいて表示されることもできる。
【０２８１】
（３）上記実施形態においては、ロボット教示装置６００が、設定装置としても機能する。しかし、振動低減機能の設定を行う装置は、専用の装置であってもよい。また、振動低減機能の設定を行う装置は、汎用のパーソナルコンピューターやスマートフォンに、振動低減機能の設定を行うためのアプリケーションソフトをインストールすることにより、実現されてもよい。
【０２８２】
（４）上記実施形態においては、ユーザーインターフェイスＵ０１は、データファイルを指定して、振動低減機能の設定処理を行う。しかし、あらかじめ測定されて生成されているデータを取り込むのではなく、ロボットを動作させて、その動作からデータを生成し、処理を行うことによって、振動低減機能の設定を行ってもよい。
また、上記実施形態の一部においては、第１の指示としての、図２２のステップＳ２３０におけるプログラムの実行の指示によって、制御対象物の対象振動数に関する情報が表示部に表示される（図２２のステップＳ２５０参照）。しかし、制御対象物の対象振動数に関する情報が表示されるきっかけとなる第１の指示は、振動の測定結果を処理させる指示であってもよいし、制御対象物の対象振動数に関する情報が表示させる指示であってもよい（図２２のステップＳ２５０参照）。その際、振動の測定結果の処理は、直前に行われた特定動作（図２２のステップＳ２３０参照）のデータに基づいて行われてもよいし、過去に行われた特定動作に基づいて作成されたデータに基づいて行われてもよい（図２７のＵＩ１１参照）。すなわち、第１の指示は、制御対象物の対象振動数に関する情報が表示部に表示されることを想定して、ユーザーが行う指示であればよい。
【０２８３】
（５）上記実施形態においては、特定の周波数成分を除去する前の特定動作による残留振動の測定結果を、図３８のステップＳ２５０で表示し、その後、特定の周波数成分を除去した特定動作による残留振動の測定結果を、ステップＳ３５０，Ｓ４５０で表示する。しかし、特定の周波数成分を低減していない第１制御信号による動作の振動データに基づく表示をせず、特定の周波数成分を低減した第２制御信号による動作の振動データに基づく表示を行う態様とすることもできる。
【０２８４】
（６）上記実施形態においては、処理対象となる時間区間の開始時間指示ＵＩ５１は、デフォルトでは、特定動作の終了を指示する位置制御信号が制御信号生成部３１０から出されたタイミングである。すなわち、振動の測定結果を記録しているデータ自体は、「それに基づいて制御対象物の対象振動数が決定される振動データの時間区間」よりも前の時刻の制御対象物の振動のデータ（対象振動数の決定に際して考慮されないデータ）を含んでいる。しかし、このような態様に代えて、「それに基づいて制御対象物の対象振動数が決定される振動データの時間区間」の開始タイミングから、測定が開始される態様とすることもできる。制御対象物の振動を表す時間区間としてのある時間区間は、自動的に設定されてもよいし、ユーザーが自ら設定してもよい。
【０２８５】
（７）上記実施形態においては、制御対象物の対象振動数を決定するもととなるデータの時間区間は、制御対象物に対して駆動させる制御信号が出されていない時間区間である。しかし、制御対象物の対象振動数を決定するもととなる情報が準備される時間区間は、制御対象物に対して等速運動させる制御信号が出されている時間区間を含むこともできる。
【０２８６】
このような態様とすれば、等速運動をすべき時間区間の振動データに基づいて計算された対象振動数を表すパラメーターを表示することができる。このため、振動することなく等速運動をすべき状態において制御対象物を最も大きく振動させる可能性が高い対象振動数を、ユーザーは知ることができる。なお、「等速運動」には、等速直線運動と等速回転運動とが含まれる。なお、本明細書において、「等速」とは、速さの変化が５％以内であることを意味する。
【０２８７】
（８）上記実施形態においては、処理対象となる時間区間の開始時間指示ＵＩ５１は、デフォルトでは、特定動作の終了を指示する位置制御信号が制御信号生成部３１０から出されたタイミングである。しかし、装置からの開始時刻の提示を受けることなく、ユーザーが自ら開始時刻を指定する態様とすることもできる。
【０２８８】
また、振動低減機能の設定を行うべき旨の指示が入力された場合には、振動データの一部を指定する指示や、指定された振動データの一部を取り込ませる指示を受け取ることなく、振動データに基づいて決定された対象振動数の１つを表すパラメーターを、表示制御部が表示部に表示する態様とすることもできる。
【０２８９】
また、たとえば、一つの特定動作のみを実行させて振動を測定する場合には、最新のコマンドのステップに対応する表示（図４５および図４６のＧｉｄ参照）をしない態様とすることもできる。
【０２９０】
（９）本開示は、ロボットにおいて低減したい振動の振動数の測定に限らず、自動制御が行われて物理的な状態が変化する様々な機械において低減したい振動の振動数を測定する場合に、適用しうる。
【０２９１】
Ｄ５．変形例５：
（１）上記実施形態においては、カメラ４００ｂの振動を計測するために、振動計測装置７００は、カメラ４００ｂが取りつけられている支柱Ｆ４００ｂに取りつけられる（図１０のＰ７０４および図３６参照）。しかし、撮像部の振動を計測する際には、第１の検出器は、画像を撮像することができる撮像部に取りつけられてもよい（図１０のＰ７０５参照）。
【０２９２】
なお、撮像部は、静止画を撮像するカメラであってもよいし、動画を撮像するカメラであってもよい。すなわち、カメラが撮像する画像は、静止画であってもよいし、動画であってもよい。
【０２９３】
（２）上記実施形態においては、制御対象のロボットと、制御対象のロボット以外の構造と、の両方に振動計測装置７００が取りつけられる。そして、両方の測定結果に基づいて、振動低減処理が実施される。しかし、制御信号改変部としてのフィルター処理部３４０は、制御対象のロボットに取りつけられる第２の検出機に基づく周波数成分の低減を行わない態様とすることもできる。
【０２９４】
（３）上記実施形態においては、振動計測装置７００は、ロボットのアーム１１０ｂに取り付けられる（図１０のＰ７０２参照）。しかし、第２の検出器は、サーボモーターの駆動によって変位しない、ロボットのアームの基部に取りつけられることもできる。
【０２９５】
（４）上記実施形態においては、振動計測装置７００は、それぞれ第２支持部７２０に着脱可能でかつ互いに交換可能な第１〜第４の取付部７６０〜７９０を備える（図１８〜図２１参照）。しかし、検出器は、交換可能な取付部を備えず、出力部自体が測定対象部位に取りつけられる態様とすることもできる。
【０２９６】
また、検出器は、外表面に計測される振動の方向である３方向を示す表示（図１６の７４５参照）を有さない態様とすることもできる。
【０２９７】
上記実施形態においては、振動計測装置７００の出力部７５０が備える出力端子は、設定装置６００に有線接続される。しかし、振動計測装置は、設定装置と無線で接続される態様とすることもできる。
【０２９８】
（５）上記実施形態においては、６軸または４軸のロボットの振動の低減について説明した。しかし、本明細書で開示した技術は、６軸または４軸の多軸ロボットに限らず、プリンター、プロジェクターど、制御が行われて物理的な状態が変化する様々な機械に適用することができる。たとえば、本明細書で開示した技術をプリンターの印刷ヘッドの動作や印刷媒体の搬送動作に適用することにより、ヘッドと印刷媒体との相対位置の変動（振動）を低減することもできる。
【０２９９】
（６）本開示は、ロボットおよびロボットの制御のために使用される画像センサーに限らず、自動制御が行われて物理的な状態が変化する様々な機械およびその自動制御に影響を与えるその機械以外の構成について、適用しうる。
【０３００】
本開示は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【０３０１】
Ａｔ…搬送装置による搬送方向を示す矢印；Ａｘ…Ｘ軸方向の加速度を表すグラフ；Ａｙ…Ｙ軸方向の加速度を表すグラフ；Ａｚ…Ｚ軸方向の加速度を表すグラフ；Ｄｖｒ…振動低減処理の実施を示す表示；Ｆ１００ｂ，Ｆ１００ｃ…フレーム；Ｆ１１，Ｆ２１，Ｆ３１，Ｆ３２…低減される周波数成分を表すパラメーター；Ｆ４００，Ｆ４００ｂ，Ｆ４００ｃ…支柱；Ｇａ…加速度グラフ；Ｇａｘ…最大加速度グラフ；Ｇｆ，Ｇｆ００，Ｇｆ０１〜Ｇｆ０４…周波数グラフ；Ｇｇ…角速度グラフ；Ｇｉｄ…コマンドＩＤで処理の進行の程度を表すグラフ；Ｇｓａ…処理対象グラフ；Ｇｓａａ，Ｇｓａｂ…拡大グラフ；Ｇｘ…Ｘ軸方向の角速度を表すグラフ；Ｇｙ…Ｙ軸方向の角速度を表すグラフ；Ｇｚ…Ｚ軸方向の角速度を表すグラフ；Ｍｔ１，Ｍｔ２…特定動作；Ｐ…各周波数の強度；ＲＳ１００ｂ，ＲＳ１００ｃ…ロボットシステム；Ｔ…特定動作Ｍｔ１の開始から終了までの時間；ＵＩ０１〜ＵＩ０４…ユーザーインターフェイス；ＵＩ１１…入力窓；ＵＩ１２…測定開始ボタン；ＵＩ２３…周波数指定；ＵＩ２４…周波数表示；ＵＩ２５〜ＵＩ２８…最大周波数表示；ＵＩ２９…最大周波数表示；ＵＩ３１…入力窓；ＵＩ４５…停止スイッチ；ＵＩ５０…測定時間指定窓；ＵＩ５１…開始時間指示；ＵＩ５２…終了時間指示；ＵＩ６２…プログラム番号指定窓；ＵＩ９１…入力窓；ＵＩ９４ｆｘ…Ｘ軸方向の力の時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；ＵＩ９４ｆｙ…Ｙ軸方向の力の時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；ＵＩ９４ｆｚ…Ｚ軸方向の力の時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；ＵＩ９４ｔｘ…Ｘ軸まわりのトルクの時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；ＵＩ９４ｔｙ…Ｙ軸まわりのトルクの時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；ＵＩ９４ｔｚ…Ｚ軸まわりのトルクの時間変化に対して短時間フーリエ変換を行った結果を表すスペクトラム表示；Ｖ…動作速度；Ｐ７０１〜Ｐ７０６…検出器の取りつけ位置；Ｐ８０１〜Ｐ８０６…検出器の取りつけ位置；Ｐａｒａｍ１，２…パラメーター；Ｗ０１，Ｗ０２…ワークピース；Ｘ１１〜Ｘ１６…関節；Ｘ２１〜Ｘ２４…関節；ｆｐ１，ｆｐ２…ピーク周波数；；ｔ…時間；ｔｓ１，ｔｓ２，ｔｓ３，ｔｓ４，ｔｓ５，ｔｓ６，ｔｓｗ…時刻；１００，１００ｂ，１００ｃ…ロボット；１１０，１１０ｂ，１１０ｃ…アーム；１９０，１９０ｂ，１９０ｃ…力覚センサー；２００，２００ｂ，２００ｃ…エンドエフェクター；３００…ロボット制御装置；３０１…ＲＡＭ；３０２…ＲＯＭ；３０３…ＣＰＵ；３０５…表示制御部；３１０…制御信号生成部；３２０…位置制御部；３３０…速度制御部；３４０…フィルター処理部；３４５…フィルター設定部；３５０…トルク制御部；３６０…サーボアンプ；３７０…対象物位置取得部；３８０…トラッキング補正量取得部；３９０…力制御部；４００，４００ｂ，４００ｃ…カメラ；４１０…サーボモーター；４２０…位置センサー；５００…搬送装置；５１０…ローラー；５２０…ベルト；５６０ｂ，５６０ｃ…支持台；６００…ロボット教示装置（設定装置）；６０２…タッチディスプレイ；６０４…キー；６０６…トラックポイント；６１０…ＣＰＵ；６１１…受付部；６１２…処理部；６１３…測定結果受付部；６１５…表示制御部；６３０…ＲＡＭ；６４０…ＲＯＭ；７００…振動計測装置；７１０…第１支持部；７１５，７１６…ねじ穴；７２０…第２支持部；７２２…接続穴；７２４…接続穴；７３０…接続部；７４０…測定部；７４５…計測軸方向の表記；７５０…出力部；７６０…第１の取付部；７７０…第２の取付部；７８０…第３の取付部；７８２…貫通孔；７９０…第４の取付部
【図１】
2018171668.tif 000003
【図２】
2018171668.tif 000004
【図３】
2018171668.tif 000005
【図４】
2018171668.tif 000006
【図５】
2018171668.tif 000007
【図６】
2018171668.tif 000008
【図７】
2018171668.tif 000009
【図８】
2018171668.tif 000010
【図９】
2018171668.tif 000011
【図１０】
2018171668.tif 000012
【図１１】
2018171668.tif 000013
【図１２】
2018171668.tif 000014
【図１３】
2018171668.tif 000015
【図１４】
2018171668.tif 000016
【図１５】
2018171668.tif 000017
【図１６】
2018171668.tif 000018
【図１７】
2018171668.tif 000019
【図１８】
2018171668.tif 000020
【図１９】
2018171668.tif 000021
【図２０】
2018171668.tif 000022
【図２１】
2018171668.tif 000023
【図２２】
2018171668.tif 000024
【図２３】
2018171668.tif 000025
【図２４】
2018171668.tif 000026
【図２５】
2018171668.tif 000027
【図２６】
2018171668.tif 000028
【図２７】
2018171668.tif 000029
【図２８】
2018171668.tif 000030
【図２９】
2018171668.tif 000031
【図３０】
2018171668.tif 000032
【図３１】
2018171668.tif 000033
【図３２】
2018171668.tif 000034
【図３３】
2018171668.tif 000035
【図３４】
2018171668.tif 000036
【図３５】
2018171668.tif 000037
【図３６】
2018171668.tif 000038
【図３７Ａ】
2018171668.tif 000039
【図３７Ｂ】
2018171668.tif 000040
【図３８】
2018171668.tif 000041
【図３９】
2018171668.tif 000042
【図４０】
2018171668.tif 000043
【図４１】
2018171668.tif 000044
【図４２】
2018171668.tif 000045
【図４３】
2018171668.tif 000046
【図４４】
2018171668.tif 000047
【図４５】
2018171668.tif 000048
【図４６】
2018171668.tif 000049
【図４７】
2018171668.tif 000050