(57)【要約】【課題】ロボットにおいて架台に起因する振動を含む振動を簡易な構成で低減する。【解決手段】このロボットは、架台と基台との間に位置し、力を検出する力センサーと、基台に接続され、基台に対して移動する可動部と、を備える。可動部を移動させる第１制御信号から、力センサーからの出力に基づいて得られる架台の共振周波数成分が低減された第２制御信号に基づいて、可動部が制御される。【選択図】図１
2020015153.tif 000002
【特許請求の範囲】
【請求項１】
架台に取りつけられるロボットであって、
基台と、
前記架台と前記基台との間に位置し、力を検出する力センサーと、
前記基台に接続され、前記基台に対して移動する可動部と、を備え、
前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部が制御される、ロボット。
【請求項２】
請求項１記載のロボットであって、
前記可動部は、
対象物に対して処理を行うエンドエフェクターと、
前記エンドエフェクターを前記基台に対して移動させるアームと、を含み、
前記第２制御信号は、前記第１制御信号から、前記力センサーからの出力に基づいて得られる前記エンドエフェクターの共振周波数成分が低減された制御信号である、ロボット。
【請求項３】
請求項１または２記載のロボットであって、
前記第２制御信号に基づいて前記可動部が制御された後、
前記第１制御信号から、前記力センサーからの新たな出力に基づいて得られる共振周波数成分が低減された新たな第２制御信号に基づいて前記可動部が制御される、ロボット。
【請求項４】
請求項３に記載のロボットであって、
前記第１制御信号から低減される前記共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、出力部から警告を出力する、ロボット。
【請求項５】
請求項１から４のいずれか１項に記載のロボットであって、
前記可動部を前記基台に対して移動させている間に、あらかじめ定められた大きさより大きい力が、前記力センサーによって検知された場合には、前記可動部の移動速度を低減する、ロボット。
【請求項６】
請求項１から５のいずれか１項に記載のロボットであって、
前記第２制御信号は、前記力センサーによって得られる第１時間区間における前記力の差の履歴情報を変換して得られる周波数についての強度分布のうち、最も強度が高い周波数成分を、前記第１制御信号から低減することにより得られる制御信号である、ロボット。
【請求項７】
請求項６に記載のロボットであって、
前記可動部を目標位置へ移動させる第１コマンドと、第２コマンドと、を受け付ける受付部に接続されることができ、
前記第１コマンドと前記第２コマンドとが前記受付部に受け付けられた場合に、前記第１コマンドにしたがって前記可動部が前記目標位置に到達した時刻から始まる前記第１時間区間について、前記履歴情報を取得する、ロボット。
【請求項８】
請求項１〜７のいずれか１項に記載のロボットであって、
前記可動部は、前記基台を介して前記架台に吊られている、ロボット。
【請求項９】
架台に取りつけられるロボットを制御するためのロボット制御装置であって、
前記ロボットは、
基台と、
前記架台と前記基台との間に位置し、力を検出する力センサーと、
前記基台に接続され、前記基台に対して移動することができる可動部と、を備え、
前記ロボット制御装置は、前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部を制御するプロセッサーを備える、ロボット制御装置。
【請求項１０】
請求項９記載のロボット制御装置であって、
前記可動部は、
対象物に対して処理を行うエンドエフェクターと、
前記エンドエフェクターを前記基台に対して移動させるアームと、を含み、
前記第２制御信号は、前記第１制御信号から、前記力センサーからの出力に基づいて得られる前記エンドエフェクターの共振周波数成分が低減された制御信号である、ロボット制御装置。
【請求項１１】
請求項９または１０記載のロボット制御装置であって、
前記プロセッサーは、前記第２制御信号に基づいて前記可動部を制御した後、
前記第１制御信号から、前記力センサーからの新たな出力に基づいて得られる共振周波数成分が低減された新たな第２制御信号に基づいて前記可動部を制御する、ロボット制御装置。
【請求項１２】
請求項１１に記載のロボット制御装置であって、
前記第１制御信号から低減される前記共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、出力部から警告を出力する、ロボット制御装置。
【請求項１３】
請求項９から１２のいずれか１項に記載のロボット制御装置であって、
前記可動部を前記基台に対して移動させている間に、あらかじめ定められた大きさより大きい力が、前記力センサーによって検知された場合には、前記可動部の移動速度を低減させる、ロボット制御装置。
【請求項１４】
請求項９から１３のいずれか１項に記載のロボット制御装置であって、
前記力センサーによって得られる第１時間区間における前記力の差の履歴情報を変換して得られる周波数についての強度分布のうち、最も強度が高い周波数成分を、前記第１制御信号から低減して、前記第２制御信号を生成する、ロボット制御装置。
【請求項１５】
請求項１４に記載のロボット制御装置であって、
前記可動部を目標位置へ移動させる第１コマンドと、第２コマンドと、を受け付ける受付部を備え、
前記第１コマンドと前記第２コマンドとが前記受付部に受け付けられた場合に、前記第１コマンドにしたがって前記可動部が前記目標位置に到達した時刻から始まる前記第１時間区間について、前記履歴情報を取得する、ロボット制御装置。
【請求項１６】
請求項９〜１５のいずれか１項に記載のロボット制御装置であって、
前記可動部は、前記基台を介して前記架台に吊られている、ロボット制御装置。
【請求項１７】
請求項９から１６のいずれか１項に記載のロボット制御装置と、
前記ロボット制御装置によって制御される前記ロボットと、
を備えるロボットシステム。
【請求項１８】
架台に取りつけられるロボットを制御する制御方法であって、
前記ロボットは、
基台と、
前記架台と前記基台との間に位置し、力を検出する力センサーと、
前記基台に接続され、前記基台に対して移動する可動部と、を備え、
前記制御方法は、前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部を制御する工程を含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットにおいて振動を低減する技術に関する。
【背景技術】
【０００２】
従来、ロボットの技術分野において、エンドエフェクターに保持されたワークピースの振動を低減するための、以下のような技術が存在する。特許文献１の技術においては、あらかじめ、エンドエフェクターでワークピースを保持した状態における、ロボットが共振する振動数を特定する。そして、ロボットのサーボモーターを駆動制御する電流制御部に与えられるトルク制御信号（時間の関数として把握できる）に、帯域阻止フィルターを適用し、その振動数の成分をトルク制御信号から除去する。その結果、その振動数の成分を含まないトルク制御信号が電流制御部に与えられる。そのトルク制御信号に基づいて電流制御部によって駆動制御されたサーボモーターは、エンドエフェクターに保持されたワークピースをその振動数で共振させてしまうことがない。
【０００３】
特許文献１の技術においては、ロボットを基準とする姿勢に移動させ、レーザー変位計を配置する。そして、ハンドをハンマーで叩いて振動を発生させ、ハンドの振動の固有振動数または固有の振動の周期を測定する。その結果、エンドエフェクターでワークピースを保持した状態における、ロボットが共振する振動数が特定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２９３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術においては、ロボットが取りつけられる架台の振動については、考慮されていない。このため、特許文献１の技術においては、ロボット単体について、上記の方法で固有振動数または固有の振動の周期を測定していると考えられる。そのような方法で測定した振動数の成分をトルク制御信号から除去しても、実際にロボットに作業を実行させる際には、ロボットを支持する架台がロボットの動きによって共振し得る。その結果、架台に取りつけられたロボットのエンドエフェクターも振動することとなる。
【課題を解決するための手段】
【０００６】
本開示の一形態によれば、架台に取りつけられたロボットが提供される。このロボットは、基台と、前記架台と接触している第１受圧面と、前記基台と接触している第２受圧面と、を有し、前記第１受圧面と前記第２受圧面との力の差を検出する力センサーと、前記基台に接続され、前記基台に対して移動することができる可動部と、を備える。前記可動部を移動させることができる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分を含む複数の共振周波数成分を低減することにより、得ることができる第２制御信号に基づいて、前記可動部が制御される。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態のロボットシステム１を示す説明図である。
【図２】ロボット制御装置３００の構成要素と、ロボット１００が備えるサーボモーター４１０、位置センサー４２０および力覚センサー１９０と、の関係を示すブロック図である。
【図３】本実施形態の振動低減機能において設定される、トルク制御信号から除去される周波数を表す表示を示す図である。
【図４】本実施形態のロボットシステム１の運用の流れを示すフローチャートである。
【図５】振動低減機能の設定の手順を示すフローチャートである。
【図６】図４のステップＳ１２０で生成される加振プログラムのプログラムリストの例ＰＬを示す図である。
【図７】図６のプログラムリストＰＬの１行目の処理の結果、力覚センサー１９０が測定し履歴情報として保存された力の差の経時的変化を表すグラフＧｈｆを示す。
【図８】周波数グラフＧｆｐを示す。
【図９】振動低減機能の再設定と異常検知を示すフローチャートである。
【図１０】ロボット制御装置３００において接触検知と力制御を実現する処理を示すフローチャートである。
【図１１】第２実施形態のロボットシステム１Ｂを示す説明図である。
【図１２】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
【図１３】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
【発明を実施するための形態】
【０００８】
Ａ．第１実施形態：
Ａ１．ロボットシステムの構成：
図１は、第１実施形態のロボットシステム１を示す説明図である。技術の理解を容易にするために、図１において、ロボット座標系ＲＣを示す。ロボット座標系ＲＣは、水平面上において互いに直交するＸ軸とＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される３次元の直交座標系である。
【０００９】
本実施形態のロボットシステム１は、ロボット１００と、エンドエフェクター２００と、出力装置２５０と、ロボット制御装置３００と、教示装置６００と、を備える。ロボット制御装置３００と教示装置６００とをまとめて制御装置９００とも呼ぶ。
【００１０】
ロボット１００は、架台Ｆ１００に対して固定されている。架台Ｆ１００は、略四角形の天板と、略四角形の支持台５６０とを備える。架台Ｆ１００は、天板の４個の角部と支持台５６０の４個の角部とをそれぞれ結ぶ４本の支柱に支持されている。ロボット１００は、基台１８０を介して架台Ｆ１００に吊られている。より具体的には、ロボット１００は、ロボット１００の構成要素である力覚センサー１９０および基台１８０を介して、架台Ｆ１００の天板に固定され、そこから下方に伸びている。
【００１１】
ロボット１００は、４個の関節Ｘ１１〜Ｘ１４を備えたアーム１１０を有する４軸ロボットである。関節Ｘ１１，Ｘ１２，Ｘ１４は、ねじり関節である。関節Ｘ１３は、並進関節である。アーム１１０は、基台１８０に接続されている。各関節に設けられたサーボモーター４１０で関節Ｘ１１〜Ｘ１４が駆動されることにより、アーム１１０は、基台１８０に対して移動することができる。その結果、ロボット１００は、関節Ｘ１１〜Ｘ１４を駆動されることにより、アーム１１０の先端に取りつけられたエンドエフェクター２００を、基台１８０に対して、指定された姿勢で、３次元空間中の指定された位置に、移動させることができる。なお、３次元空間におけるエンドエフェクター２００の位置を代表する地点を、ＴＣＰ（Tool Center Point）とも呼ぶ。
【００１２】
アーム１１０を構成する複数の関節のうち互いに隣接する関節と関節の間の構成要素を、本明細書において「アーム要素」と呼ぶ。図１において、関節Ｘ１１と関節Ｘ１２の間のアーム要素１１０ａ、関節Ｘ１２と関節Ｘ１３の間のアーム要素１１０ｂ、およびアーム１１０の先端を構成し関節Ｘ１３，Ｘ１４によって動かされるアーム要素１１０ｃを、符号を付して示す。アーム要素１１０ａは、関節Ｘ１１を介して、基台１８０に接続されている。基台１８０は、力覚センサー１９０を介して架台Ｆ１００の天板に固定されている。
【００１３】
ロボット１００は、関節Ｘ１１〜Ｘ１４に、それぞれサーボモーター４１０と、位置センサー４２０と、減速機と、を備える。サーボモーター４１０は、ロボット制御装置３００に制御されて、サーボモーター４１０の出力軸を回転させる。減速機は、サーボモーター４１０の出力軸の回転を減速させてアーム要素に伝達する。位置センサー４２０は、サーボモーター４１０の回転位置および回転速度を検出し、ロボット制御装置３００に送信する。
【００１４】
力覚センサー１９０は、ロボット１００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクを測定することができる。力覚センサー１９０は、架台Ｆ１００と接触している第１受圧面１９１と、基台１８０と接触している第２受圧面１９２と、を有する。力覚センサー１９０は、具体的には、第１受圧面１９１と第２受圧面１９２との力の差を検出する。その結果、力覚センサー１９０によって、ロボット１００や架台Ｆ１００の動作や振動に起因するロボット１００の慣性力と架台Ｆ１００の慣性力の差を、検出することができる。力覚センサー１９０の出力は、ロボット制御装置３００に送信され、ロボット１００の制御に使用される。
【００１５】
エンドエフェクター２００は、ロボット１００のアーム１１０の先端に取りつけられている。エンドエフェクター２００は、作業の対象物に対して処理を行う。具体的には、エンドエフェクター２００は、ロボット制御装置３００に制御されて、ワークピースＷ０１を保持することができ、また、保持しているワークピースＷ０１を離すことができる。その結果、たとえば、ロボット１００とエンドエフェクター２００とは、ロボット制御装置３００に制御されて、支持台５６０上のワークピースＷ０１を持ち上げて移動させ、作業を行うことができる。
【００１６】
出力装置２５０は、ユーザーに、ロボット１００に関する警告を含む各種の情報を出力する。出力装置２５０は、具体的には、赤色灯およびスピーカーである。
【００１７】
ロボット制御装置３００は、ロボット１００に接続されており、ロボット１００の動作を制御する。より具体的には、ロボット制御装置３００は、ロボット１００の関節Ｘ１１〜Ｘ１４を動かすサーボモーター４１０を駆動する。ロボット制御装置３００は、プロセッサーであるＣＰＵ（Central Processing Unit）３０１、ＲＡＭ（Random Access Memory）３０２、ＲＯＭ（Read-Only Memory）３０３を備える。ロボット制御装置３００には、ロボット１００を制御するための制御プログラムがインストールされている。ロボット制御装置３００においては、ハードウェア資源としてのＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と、制御プログラムとが協働する。具体的には、ＣＰＵ３０１が、ＲＯＭ３０３に記憶されたコンピュータープログラムをＲＡＭ３０２にロードして実行することによって、様々な機能を実現する。
【００１８】
教示装置６００は、ロボット制御装置３００に目標位置Ｓｔと目標力ｆＳｔとを教示するための装置である。目標力ｆＳｔは、成分として、直線的に作用する力と、トルクと、を含みうる。教示装置６００は、いわゆる「ティーチングペンダント」である。ロボット１００に作業を実行させる際には、あらかじめ、教示装置６００によるロボットの動作の教示が行われる。ロボット制御装置３００は、教示の結果をデータとして格納する。ロボット制御装置３００は、ロボット１００に作業を実行させる段階において、格納された教示結果を表すデータに基づいて、ロボット１００を制御する。
【００１９】
教示装置６００は、プロセッサーであるＣＰＵ６０１、ＲＡＭ６０２、ＲＯＭ６０３を備える。教示装置６００には、ロボット制御装置３００に目標位置Ｓｔと目標力ｆＳｔとを教示するための制御プログラムがインストールされている。教示装置６００においては、ハードウェア資源としてのＣＰＵ６０１、ＲＡＭ６０２、ＲＯＭ６０３と、制御プログラムとが協働する。具体的には、ＣＰＵ６０１が、ＲＯＭ６０３に記憶されたコンピュータープログラムをＲＡＭ６０２にロードして実行することによって、様々な機能を実現する。
【００２０】
教示装置６００は、さらに、入力装置６０４と、出力装置６０５を備える。入力装置６０４は、ユーザーからの指示を受け付ける。入力装置６０４は、例えば、マウス、キーボード、タッチパネル等である。出力装置６０５は、ユーザーに、ロボット１００の動作設定のためのユーザーインターフェイスや警告を含む各種の情報を出力する。出力装置６０５は、例えば、ディスプレイやスピーカー等である。
【００２１】
図２は、ロボット制御装置３００の構成要素と、ロボット１００が備えるサーボモーター４１０、位置センサー４２０および力覚センサー１９０と、の関係を示すブロック図である。ロボット制御装置３００は、その機能部として、制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０と、フィルター設定部３４５と、力制御部３９０と、を備える。制御信号生成部３１０と、位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、フィルター設定部３４５と、トルク制御部３５０と、力制御部３９０とは、ＣＰＵ３０１によって実現される。
【００２２】
制御信号生成部３１０は、エンドエフェクター２００が位置すべき目標位置Ｓｔを表す位置制御信号を生成し、位置制御部３２０に出力する。制御信号生成部３１０は、力制御を実施すべき指示をユーザーから受けている場合には、目標力ｆＳｔ、すなわち、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を生成し、力制御部３９０に出力する。制御信号生成部３１０は、ロボット１００が実行中の動作を表すコマンドを、フィルター設定部３４５に出力する。
【００２３】
力制御部３９０は、目標力ｆＳｔ、すなわち、エンドエフェクター２００が発生させるべき力およびその力の方向、ならびにトルクおよびそのトルクの向きを表す力制御信号を、制御信号生成部３１０から受信する。力制御部３９０は、エンドエフェクター２００に作用しているＸ軸、Ｙ軸、Ｚ軸の３軸方向の力と、Ｕ軸、Ｖ軸、Ｗ軸まわりのトルクとを、力覚センサー１９０から受信する。Ｕ軸方向は、Ｘ軸方向を中心軸とする回転方向である。Ｖ軸方向は、Ｙ軸方向を中心軸とする回転方向である。Ｗ軸方向は、Ｚ軸方向を中心軸とする回転方向である。力制御部３９０は、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転位置を受信する。そして、力制御部３９０は、それらのパラメーターに基づいて、位置の補正量ΔＳを決定し、補正量ΔＳを表す信号を出力する。
【００２４】
位置制御部３２０は、目標位置Ｓｔを表す位置制御信号を、制御信号生成部３１０から受信する。位置制御部３２０は、力制御部３９０から位置の補正量ΔＳをあらわす信号を受信する。位置制御部３２０は、位置フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転位置を受信する。位置制御部３２０は、それらの情報に基づいて、ロボット１００の各サーボモーター４１０の速度制御信号を生成し、出力する。
【００２５】
なお、位置制御部３２０は、力制御を実施すべき指示を制御信号生成部３１０から受けていない場合には、速度制御信号の生成に際して、力制御部３９０から受信した情報は考慮しない。
【００２６】
速度制御部３３０は、位置制御部３２０から速度制御信号を受信する。また、速度制御部３３０は、速度フィードバックとして、ロボット１００の位置センサー４２０から、各サーボモーター４１０の回転速度を受信する。速度制御部３３０は、その速度制御信号と、各サーボモーター４１０の回転速度と、に基づいて、トルク制御信号を生成し、出力する。
【００２７】
フィルター設定部３４５は、制御信号生成部３１０から実行中の動作を表すコマンドを受信する。フィルター設定部３４５は、受信したコマンドに応じて、トルク制御信号から除去すべき１以上の周波数成分を指示する制御信号を生成し、出力する。フィルター設定部３４５は、トルク制御信号から除去すべき周波数成分は存在しない旨の制御信号を出力することもできる。
【００２８】
フィルター処理部３４０は、速度制御部３３０からトルク制御信号を受信する。また、フィルター処理部３４０は、フィルター設定部３４５から除去すべき１以上の周波数成分の制御信号を受信する。フィルター処理部３４０は、速度制御部３３０が出力したトルク制御信号に対して、帯域除去フィルターを使用して、トルク制御信号に応じた複数の周波数成分を除去する処理を行って、新たなトルク制御信号を生成し、出力する。より具体的には、フィルター処理部３４０により、特定の周波数成分が−３０ｄＢ、低減される。
【００２９】
速度制御部３３０が出力したトルク制御信号も、フィルター処理部３４０が生成する新たなトルク制御信号も、いずれもアーム１１０およびエンドエフェクター２００を移動させることができる制御信号である。速度制御部３３０が出力したトルク制御信号を、「第１制御信号ＣＳ１」と呼ぶ。フィルター処理部３４０が生成する新たなトルク制御信号を、「第２制御信号ＣＳ２」と呼ぶ。
【００３０】
フィルター処理部３４０において除去される周波数成分は、実行中の動作を表すコマンドに応じてあらかじめ定められた周波数の成分である。実行中の動作を表すコマンドに応じてあらかじめ定められた周波数は、（ｉ）その動作の終了時点のロボット１００の姿勢におけるロボット１００の振動の振動数、または、（ｉｉ）その動作の終了時点においてロボット１００がワークピースＷ０１を保持している場合には、ワークピースＷ０１を保持した状態における、その動作の終了時点のロボット１００の姿勢におけるロボット１００の振動の振動数である。このような処理を行うことにより、動作の終了時点において、ロボット１００がその振動数で共振してしまう事態を防止できる。
【００３１】
本実施形態においては、ロボット１００に作業を実行させるのに先立って、架台Ｆ１００および基台１８０と接触している力覚センサー１９０によってロボット１００の振動を検出して共振周波数を特定する。そして、その共振周波数成分が低減された第２制御信号ＣＳ２を生成することにより、架台Ｆ１００の共振周波数で共振しにくい動作を、ロボット１００のアーム１１０およびエンドエフェクター２００に行わせることができる。
【００３２】
力覚センサー１９０が検知するロボット１００の振動には、架台Ｆ１００の固有振動も含まれ得る。このため、力覚センサー１９０を介して得られるロボット１００の振動の振動数には、架台Ｆ１００の共振周波数も含まれ得る。その結果、力覚センサー１９０からの出力に基づいて得られる架台Ｆ１００の共振周波数成分を含む複数の共振周波数成分を、第１制御信号ＣＳ１から低減することにより得ることができる第２制御信号ＣＳ２に基づいて、アーム１１０が制御される。
【００３３】
力覚センサー１９０が検知するロボット１００の振動には、エンドエフェクター２００の固有振動も含まれ得る。このため、力覚センサー１９０を介して得られるロボット１００の振動の振動数には、エンドエフェクター２００の共振周波数も含まれ得る。その結果、力覚センサー１９０からの出力に基づいて得られるエンドエフェクター２００の共振周波数成分を含む複数の共振周波数成分を、第１制御信号ＣＳ１から低減することにより得ることができる第２制御信号ＣＳ２に基づいて、アーム１１０が制御される。
【００３４】
本明細書において、トルク制御信号などの制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する処理を、「振動低減処理」と呼ぶ。また、制御信号において所定の周波数成分を低減することにより、その周波数による制御対象物の共振を低減する機能を、「振動低減機能」と呼ぶ。
【００３５】
フィルター処理部３４０は、フィルター設定部３４５から、除去すべき周波数は存在しない旨の制御信号を受信した場合には、速度制御部３３０から受信したトルク制御信号を、そのまま出力する。このような処理を行うことにより、速度制御部３３０から受信したトルク制御信号に基づいて、本来の制御信号に忠実にロボットを駆動することができる。
【００３６】
トルク制御部３５０は、フィルター処理部３４０からトルク制御信号を受信する。また、トルク制御部３５０は、サーボアンプ３６０から、各サーボモーター４１０に供給する電流の電流量を表すフィードバック信号を受信する。トルク制御部３５０は、そのトルク制御信号と、各サーボモーター４１０の電流フィードバック信号と、に基づいて、各サーボモーター４１０に供給する電流量を決定し、サーボアンプ３６０を介して、各サーボモーター４１０を駆動する。
【００３７】
Ａ２．振動低減機能の設定：
図３は、本実施形態の振動低減機能において設定される、トルク制御信号から除去される周波数（本明細書において「対象振動数」という）を表す表示を示す図である。図３の表示は、振動低減機能の設定装置として機能する教示装置６００を使用して振動低減機能の設定が行われる際に、出力装置６０５としてのディスプレイに表示される。表中の左端の列は、設定を区別するための番号である。ユーザーは、各番号に対応する振動低減機能に対して、２個の対象振動数を設定することができる。なお、「対象振動数」は、その系の固有振動数であってもよいし、その系の固有振動数の近傍の振動数であってもよい。
【００３８】
図３の例では、番号１〜３の行には、それぞれ二つの対象振動数を表すパラメーターＰａｒａｍ１，Ｐａｒａｍ２として、Ｆ１１，Ｆ１２，Ｆ２１，Ｆ２２，Ｆ３１，Ｆ３２が、格納されている。各設定にしたがって、各設定に対応した第１制御信号ＣＳ１から、二つの周波数成分が除去される（図２の３４０参照）。なお、Ｐａｒａｍ１，Ｐａｒａｍ２として格納される数値は、周波数そのものであってもよいし、周波数を一義的に定めることができる何らかの数値や符号であってもよい。
【００３９】
Ａ３．振動低減機能の設定とロボットの運用：
図４は、本実施形態のロボットシステム１の運用の流れを示すフローチャートである。本実施形態のロボットシステム１の運用においては、まずステップＳ１００において、工場などにロボットが設置されて、動作ごとに振動低減機能の設定が行われる。その結果、図３に示すＰａｒａｍ１，Ｐａｒａｍ２に、具体的なパラメーターが設定される。
【００４０】
ステップＳ２００において、ロボット１００に作業を実行させ、製品の製造等に使用される。すなわち、図２に示すように、フィルター処理部３４０が、速度制御部３３０から受け取った第１制御信号ＣＳ１に対して、周波数成分を除去する処理を行って、第２制御信号ＣＳ２を生成する。そして、トルク制御部３５０は、フィルター処理部３４０から第２制御信号ＣＳ２を受け取って、第２制御信号ＣＳ２に基づいて、各サーボモーター４１０を駆動して、ロボット１００を動作させる。
【００４１】
図５は、振動低減機能の設定の手順を示すフローチャートである。ステップＳ１２０においては、教示装置６００は、加振プログラムを作成する。加振プログラムの内容は、ユーザーによって決定され、ユーザーから入力装置６０４を介して加振プログラムの内容に関する指示が教示装置６００に入力される。教示装置６００は、ユーザーから入力された指示に従って、加振プログラムを作成する。
【００４２】
本実施形態では、ハンマーによるロボットへの衝撃の適用に代えて、ロボットのサーボモーター４１０を駆動して、あらかじめ定められた動作（以下、「特定動作」ともいう）をロボットに行わせることにより、ロボットを振動させる。そして、特定動作を終了した後のロボットの残留振動が測定される。ステップＳ１２０においては、ロボットに特定動作を行わせるための加振プログラムが作成される。
【００４３】
特定動作は、たとえば、振動を低減する対象である動作と同一の動作とすることができる。また、たとえば、特定動作は、振動を低減する対象である動作と同一の動作ではないが、振動を低減する対象である動作の終了時のエンドエフェクター２００の位置および向きをとるように、エンドエフェクター２００を移動させる動作とすることができる。さらに、たとえば、特定動作は、アーム１１０をある姿勢に配して、ある一つの関節を、所定の角度範囲について所定の速さで往復動させる動作とすることができる。アーム１１０の姿勢は、振動を低減する対象である動作の終了時の姿勢とすることができる。アームを駆動させる速さは、共振周波数の推定範囲に応じて定めることができる。
【００４４】
図６は、図５のステップＳ１２０で生成される加振プログラムのプログラムリストの例ＰＬを示す図である。「Ｇｏ  Ｐｘ」（ｘは、１〜４）で表される第１コマンドＣ１１は、Ｐｘで表される目標位置へＴＣＰを移動させるコマンドである。それぞれの目標位置は、振動を低減する対象である動作の終了時のエンドエフェクター２００の位置および向きとすることができる。なお、図６には示していないが、「Ｇｏ  Ｐｘ」に続いて、目標位置に移動する際の移動速度を指定するパラメーターを記述することもできる。
【００４５】
第１コマンドＣ１１に続いて記述され、「ＶＲＴ＿ｔｒｉｇｇｅｒ ｘ」（ｘは、１〜４）で表される第２コマンドＣ１２は、以下の様なコマンドである。すなわち、第２コマンドＣ１２は、第１コマンドＣ１１にしたがってエンドエフェクター２００が目標位置Ｐｘに移動した時刻から始まる所定の時間区間について、力覚センサー１９０によって力の残留振動を測定し、残留振動の履歴から得られた１以上の共振周波数を、番号ｘと対応付けて記憶するコマンドである。なお、図６には示していないが、「ＶＲＴ＿ｔｒｉｇｇｅｒ ｘ」に続いて、残留振動を測定する時間区間の長さを指定するパラメーターを記述することもできる。
【００４６】
このようなコマンドを用意することにより、第１コマンドＣ１１と第２コマンドＣ１２とを使用して、動作の残留振動に起因する力の差の履歴情報を容易に取得することができる。
【００４７】
図５のステップＳ１３０においては、教示装置６００は、ステップＳ１２０で作成されたプログラムを実行すべき旨の指示を、入力装置６０４を介してユーザーから受け取って、ロボット制御装置３００に送信する。
【００４８】
ロボット制御装置３００においては、制御信号生成部３１０（図２参照）が特定動作の実行の指示を表すコマンド（図６のＣ１１，Ｃ１２参照）を教示装置６００から受け付け、そのコマンドおよびそのコマンドに付属するパラメーターに応じて、位置制御信号を出力する。位置制御部３２０と、速度制御部３３０と、フィルター処理部３４０と、トルク制御部３５０と、サーボアンプ３６０とが、ロボット１００のサーボモーター４１０を駆動させる（図２参照）。なお、図５のステップＳ１３０においては、フィルター処理部３４０は、特定の周波数成分を除去する処理を行わず、速度制御部３３０から受信したトルク制御信号を、そのままトルク制御部３５０に出力する。
【００４９】
ロボットを支持する架台がロボットの動きによって共振する事態を防止するためには、ロボットの完成時にロボットの固有振動数を測定するのではなく、ロボットが使用される環境に設置された後に、ハンマーでロボットに衝撃を加えて、ロボットの固有振動数を測定し、共振周波数成分を制御信号から除去する方法も考え得る。しかし、ロボットが設置される環境によっては、ロボットの周囲の空間が狭く、ハンマーでロボットに衝撃を加えることができない場合がある。
【００５０】
本実施形態においては、ステップＳ１２０，Ｓ１３０の処理を行うことにより、外部からハンマーなどでロボットに衝撃を加えることなく、力覚センサー１９０から得られるロボットの動作の実行による振動の測定の結果に基づいて、ロボットの対象振動数を知ることができる。
【００５１】
図５のステップＳ１４０においては、特定動作の終了後の残留振動に起因する力の差の変動が測定される。具体的には、第１コマンドＣ１１（図６参照）にしたがってエンドエフェクター２００が目標位置Ｐｘに到達した時刻ｔｓから始まる所定の時間区間について、教示装置６００が、力覚センサー１９０によって力の差を測定する。
【００５２】
より具体的には、以下の処理が行われる。第１コマンドＣ１１によってアーム１１０が動作している間、制御信号生成部３１０（図２参照）は、ロボット１００の位置センサー４２０から各サーボモーター４１０の回転位置を取得する。制御信号生成部３１０は、各サーボモーター４１０の回転位置に基づいて、エンドエフェクター２００が目標位置Ｐｘに到達したことを検知した場合に、第１コマンドＣ１１の動作の終了を指示する位置制御信号を、教示装置６００に送信する。教示装置６００は、第１コマンドＣ１１の動作の終了を指示する位置制御信号を受け取ったことをトリガーとして、力覚センサー１９０による力の差の測定を開始する。
【００５３】
加振プログラムにおいて、力の差を測定すべき時間区間について指定がない場合には（図６参照）、教示装置６００は、力覚センサー１９０によって、１．５秒間、力の差を測定する。より具体的には、ロボット制御装置３００がロボット１００の力覚センサー１９０を使用して力の差を測定し、履歴情報としてＲＡＭ３０２に保存する。そして、ロボット制御装置３００は、履歴情報を教示装置６００に送信する。教示装置６００は、ロボット制御装置３００を介して力覚センサー１９０から取得した履歴情報を、教示装置６００のＲＡＭ６０２にデータファイルとして保存する。
【００５４】
このような処理を行うことにより、ユーザーは、自ら残留振動の測定の開始時刻を指定することなく、対象とする状態において制御対象物を振動させる可能性が高い対象振動数を、知ることができる。
【００５５】
図７は、図６のプログラムリストＰＬの１行目の処理の結果、力覚センサー１９０が測定し履歴情報として保存された力の差の経時的変化を表すグラフＧｈｆを示す。図７において、横軸は時間を示す。縦軸は、力の差を表す。より具体的には、縦軸は、力覚センサー１９０が測定した、Ｘ軸方向についての第１受圧面１９１と第２受圧面１９２が受けた力の差を表す。図７において、履歴情報が力の差の情報を保持している時間区間の開始時刻をｔｓで示し、終了時刻をｔｅで示す。なお、履歴情報は、力覚センサー１９０が測定した、Ｘ軸方向、Ｙ軸方向、およびＺ軸方向についての第１受圧面１９１と第２受圧面１９２が受けた力の差、ならびにＵ軸方向、Ｖ軸方向、およびＷ軸方向についての第１受圧面１９１と第２受圧面１９２が受けたトルクの差について、作成される。
【００５６】
本実施形態においては、ロボット１００のアーム１１０は、力覚センサー１９０を介して、架台Ｆ１００に接続されている。このため、アーム１１０やエンドエフェクター２００の動作に起因する、ロボット１００および架台Ｆ１００の各部の振動は、ロボット１００および架台Ｆ１００の構造を伝わって、力覚センサー１９０の第１受圧面１９１および第２受圧面１９２が受ける力の差として検出される。よって、本実施形態によれば、ロボットの各部に多数の振動センサーを取りつけることなく、一つの力覚センサー１９０によって、ロボット１００および架台Ｆ１００の各部の振動を、検出することができる。検出される振動は、アーム１１０やエンドエフェクター２００や架台Ｆ１００の共振周波数成分を含み得る。
【００５７】
図５のステップＳ１５０においては、教示装置６００において、力の差の履歴情報が処理され、出力装置６０５に表示される。
【００５８】
図８は、周波数グラフＧｆｐを示す。図８において、横軸は周波数を示し、縦軸は各周波数の強度を示す。周波数グラフＧｆｐは、グラフＧｈｆに対して高速フーリエ変換（ＦＦＴ：Fast Fourier Transformation）を行った結果を表すグラフである。周波数グラフＧｆｐは、教示装置６００の出力装置６０５に表示される。
【００５９】
図８において、最も強度の高い周波数をＦ０１で示し、２番目に強度の高い周波数をＦ０２で示す。最も強度の高い周波数は、架台Ｆ１００の共振周波数、アーム１１０全体の共振周波数、またはアーム１１０全体と架台Ｆ１００とで構成される構造の共振周波数である場合が多い。２番目に強度の高い周波数は、エンドエフェクター２００の共振周波数である場合が多い。
【００６０】
図５のステップＳ１６０において、ロボット制御装置３００は、最も強度の高い周波数を所定の番号の振動低減機能のパラメーターＰａｒａｍ１（図３参照）としてＲＡＭ３０２に格納する。ロボット制御装置３００は、２番目に強度の高い周波数を所定の番号の振動低減機能のパラメーターＰａｒａｍ２（図３参照）としてＲＡＭ３０２に格納する。
【００６１】
ロボット１００に作業を実行させる際には（図４のＳ２００参照）、ロボット制御装置３００のＲＡＭ３０２に格納されているパラメーターＰａｒａｍ１，Ｐａｒａｍ２の値に基づいて、ロボット制御装置３００は、以下の処理を行う。すなわち、ロボット制御装置３００のフィルター処理部３４０が、速度制御部３３０が出力した第１制御信号ＣＳ１に対して、パラメーターＰａｒａｍ１，Ｐａｒａｍ２が表す周波数成分を除去する処理を行って、第２制御信号ＣＳ２を生成する（図２参照）。
【００６２】
このような処理が行われることにより、周波数についての強度分布のうち最も強度が高い周波数成分を含む制御信号に基づいてアーム１１０が制御される態様に比べて、動作中および動作の終了後に共振しにくい動作をアーム１１０に行わせることができる。そして、２番目に強度が高い周波数成分を含む制御信号に基づいてアーム１１０が制御される態様に比べても、動作中および動作の終了後に共振しにくい動作をアーム１１０に行わせることができる。
【００６３】
図５のステップＳ１７０において、教示装置６００は、プログラムリストＰＬ（図６参照）に記述されたすべての第２コマンドＣ１２について、処理が完了したか否かを判定する。ステップＳ１７０の判定結果がＹｅｓの場合には、処理は修了する。ステップＳ１７０の判定結果がＮｏの場合には、処理はステップＳ１３０に戻る。その後、次の第１コマンドＣ１１および第２コマンドＣ１２について、ステップＳ１３０以下の処理が実行される。
【００６４】
Ａ４．振動低減機能の再設定と異常検知：
図９は、振動低減機能の再設定と異常検知を示すフローチャートである。図９のステップＳ１００，Ｓ２００の処理は、図４のステップＳ１００，Ｓ２００の処理と同じである。ステップＳ２００においては、ロボット制御装置３００は、第１制御信号ＣＳ１から共振周波数成分を低減することにより第２制御信号ＣＳ２を生成して、第２制御信号ＣＳ２に基づいてロボット１００のアーム１１０およびエンドエフェクター２００を制御する（図２の上段参照）。
【００６５】
ステップＳ３００において、ロボット制御装置３００は、Ｔｈ１回（Ｔｈ１は２以上の整数）、アーム１１０に動作を実行させたか否かを判定する。１回の動作は、たとえば、コマンド「Ｇｏ  Ｐｘ」（図６参照）によって指定される。Ｔｈ１の値は、過去の実績に基づいて、ロボット１００、エンドエフェクター２００、および架台Ｆ１００の固有振動数が変化する可能性が増大する回数とすることができる。
【００６６】
ステップＳ３００における判定結果がＮｏの場合、処理は、ステップＳ２００に戻る。すなわち、ロボット１００による作業が引き続き行われ、ロボット１００は、ロボット制御装置３００によって動作される。一方、ステップＳ３００における判定結果がＹｅｓの場合、処理は、ステップＳ４００に進む。
【００６７】
ステップＳ４００において、ロボット制御装置３００は、Ｔｈ２回（Ｔｈ２は２以上の整数）、ステップＳ１００の処理を実行したか否かを判定する。Ｔｈ２は、過去の実績に基づいて、ロボット１００、エンドエフェクター２００、および架台Ｆ１００の機能に異常が生じた結果、固有振動数が変化する可能性が増大する処理回数とすることができる。ステップＳ４００における判定結果がＹｅｓの場合、処理は、ステップＳ５００に進む。ステップＳ４００における判定結果がＮｏの場合、処理は、ステップＳ１００に戻る。
【００６８】
ステップＳ４００を経て実行されるステップＳ１００においては、ロボット１００の振動低減機能が再設定され、ステップＳ２００以降の処理が実行される。その結果、ステップＳ２００においては、ロボット制御装置３００は、力覚センサー１９０からの新たな出力に基づいて得られる２個の共振周波数成分を、第１制御信号ＣＳ１から低減することにより、新たな第２制御信号ＣＳ２を生成する。そして、ロボット制御装置３００は、新たな第２制御信号ＣＳ２に基づいてロボット１００のアーム１１０およびエンドエフェクター２００を制御する。
【００６９】
ステップＳ４００における判定結果がＹｅｓとなるまで、第１制御信号ＣＳ１から複数の共振周波数成分を低減することにより第２制御信号ＣＳ２を生成する処理（Ｓ１００，Ｓ２００参照）が、ロボット制御装置３００により繰り返し実行される。
【００７０】
このような処理を行うことにより、架台Ｆ１００やロボット１００の共振周波数成分が変化した場合にも、力覚センサー１９０からの新たな出力に基づいて、新たな共振周波数成分を低減した新たな第２制御信号ＣＳ２により、共振しにくい動作をアーム１１０およびエンドエフェクター２００に行わせることができる。
【００７１】
ステップＳ５００においては、ロボット制御装置３００は、異常判定が行われる。具体的には、ロボット制御装置３００は、各動作についてそれまでに設定されたＴｈ２回分のパラメーターＰａｒａｍ１（図３参照）のうち、最初のパラメーターＰａｒａｍ１の値と最新のパラメーターＰａｒａｍ１の値の差が、あらかじめ定められた閾値Ｔｈｐ１より大きい場合に、ロボット制御装置３００は、ロボットシステム１に異常が生じていると判定する。また、各動作についてそれまでに設定されたＴｈ２回分のパラメーターＰａｒａｍ２（図３参照）のうち、最初のパラメーターＰａｒａｍ２の値と最新のパラメーターＰａｒａｍ２の値の差が、あらかじめ定められた閾値Ｔｈｐ２より大きい場合に、ロボット制御装置３００は、ロボットシステム１に異常が生じていると判定する。上記の二つの条件がいずれも満たされない場合は、ロボット制御装置３００は、ロボットシステム１に異常が生じていないと判定する。
【００７２】
ロボット制御装置３００が、ロボットシステム１に異常が生じていないと判定した場合、処理はステップＳ７００に進む。ロボット制御装置３００が、ロボットシステム１に異常が生じていると判定した場合、処理はステップＳ８００に進む。
【００７３】
ステップＳ７００においては、ロボット制御装置３００は、ステップＳ１００を実行した回数を表すカウンターの値を０に設定し、処理はステップＳ１００に戻る。
【００７４】
ステップＳ８００においては、ロボット制御装置３００は、ユーザーに対して、異常が生じた旨のエラー出力を出力装置２５０において行う。すなわち第１制御信号ＣＳ１から低減される複数の共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、ロボット制御装置３００は、は、出力装置２５０から警告を出力する。
【００７５】
このような処理を行うことにより、異常検知のためのなんらかの測定を別途、行うことなく、架台Ｆ１００やロボット１００の共振周波数成分の変化に対応するための処理（図９のＳ１００〜Ｓ３００参照）を利用して、異常判定を行い、出力部から警告を出力することができる。
【００７６】
Ａ５．接触検知と力制御：
図１０は、ロボット制御装置３００において接触検知と力制御を実現する処理を示すフローチャートである。ロボット１００に作業を実行させる際に（図４のＳ２００参照）、エンドエフェクター２００を基台１８０に対して移動させている間に、ロボット制御装置３００は、接触検知と力制御を実行する。より具体的には、ロボット制御装置３００は、力覚センサー１９０の出力に基づいて、アーム１１０の力制御と、ロボット１００と他の構成との接触に応じたアーム１１０の停止と、を行う。図１０の処理は、ロボット制御装置３００のＣＰＵ３０１によって実現される。なお、力制御における目標力ｆＳｔと目標位置Ｓｔ（図２の左部参照）とは、図１０の処理に先立って、あらかじめ入力されているものとする。
【００７７】
ステップＳ２１０において、ロボット制御装置３００は、力覚センサー１９０によって、力覚センサー１９０にかかる力（以下、「検出力」と呼ぶ）を検出する。ステップＳ２２０において、ロボット制御装置３００は、検出力から、重力に起因する力、および慣性力に起因する力を除いて、作用力ｆＳを決定する。
【００７８】
ステップＳ２３０において、ロボット制御装置３００は、作用力ｆＳのＸ軸方向、Ｙ軸方向、Ｚ軸方向（図１参照）についての各方向成分が、それぞれ力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚより小さく、かつ、作用力ｆＳのＵ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分がトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗより小さいか否かを判定する。力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚ、ならびにトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗは、ロボット１００によって実現すべき力制御の動作に応じて、あらかじめ定められている。
【００７９】
たとえば、力覚センサー１９０によって検出された作用力ｆＳのＺ軸方向の力成分Ｆｚの大きさが、力閾値Ｔｈｆｚを超えた場合、作用力ｆＳのＸ軸方向の力成分Ｆｘの大きさが、力閾値Ｔｈｆｘを超えた場合、または作用力ｆＳのＹ軸方向の力成分Ｆｙの大きさが、力閾値Ｔｈｆｙを超えた場合に、ステップＳ２３０における判定はＮｏとなる。
【００８０】
また、たとえば、力覚センサー１９０によって検出された作用力ｆＳのＷ軸方向のトルク成分Ｔｗの大きさが、トルク閾値Ｔｈｔｗを超えた場合、作用力ｆＳのＵ軸方向のトルク成分Ｔｕの大きさが、トルク閾値Ｔｈｔｕを超えた場合、または作用力ｆＳのＶ軸方向のトルク成分Ｔｖの大きさが、トルク閾値Ｔｈｔｖを超えた場合に、ステップＳ２３０における判定はＮｏとなる。
【００８１】
ステップＳ２３０における判定結果がＮｏの場合、処理は、ステップＳ２４０に進む。判定結果がＹｅｓの場合、処理は、ステップＳ２５０に進む。
【００８２】
ステップＳ２４０において、ロボット制御装置３００は、アーム１１０を停止させる。すなわち、エンドエフェクター２００を基台１８０に対して移動させている間に、あらかじめ定められた大きさより大きい力が、力覚センサー１９０によって検知された場合には、ロボット制御装置３００は、アーム１１０およびエンドエフェクター２００の移動速度を低減させ、それらを停止させる。また、ロボット制御装置３００は、ユーザーに対して、他の構成との接触が生じた旨のエラー出力を出力装置２５０において行う。
【００８３】
作用力ｆＳの各方向成分のいずれかが、閾値を超えた場合、または、トルクの各方向成分のいずれかが閾値を超えた場合は、エンドエフェクター２００またはロボット１００が意図せずに他の構成と接触したと推定できる。そのため、ロボット制御装置３００は、アーム１１０の動作を中止し、アーム１１０は停止される。その結果、アーム１１０によって他の構成が損傷する可能性を低減できる。
【００８４】
ステップＳ２５０において、ロボット制御装置３００は、目標力ｆＳｔを実現する力制御を実行する（図２参照）。ステップＳ２６０において、ロボット制御装置３００は、ＴＣＰが目標位置Ｓｔに到達したか否かを判定する。判定結果がＹｅｓである場合、処理は終了する。判定結果がＮｏである場合、処理はステップＳ２１０に戻る。
【００８５】
このような処理を行うことにより、アーム１１０やエンドエフェクター２００が他の構成と想定されていない接触をした場合には、アーム１１０およびエンドエフェクター２００の移動速度を低減し、それらを停止させることにより、他の構成を損傷させる可能性を低減することができる。
【００８６】
そして、このような処理を行うことにより、ロボット制御装置３００は、基台１８０に設けられた力覚センサー１９０に基づいて、アーム１１０の力制御と、ロボット１００と作業対象物以外の構成との接触に応じたアーム１１０の減速と、を実現することができる。
【００８７】
本実施形態における力覚センサー１９０を、「力センサー」とも呼ぶ。アーム１１０とエンドエフェクター２００を、まとめて「可動部」とも呼ぶ。ロボット１００とエンドエフェクター２００を、まとめて広義の「ロボット」と呼ぶ。ワークピースＷ０１を、「対象物」とも呼ぶ。特定動作の実行の指示を表すコマンドを受け付ける制御信号生成部３１０を含むロボット制御装置３００を、「受付部」とも呼ぶ。
【００８８】
Ｂ．第２実施形態：
図１１は、第２実施形態のロボットシステム１Ｂを示す説明図である。図１１において、ロボットシステム１Ｂの構成要素のうち、ロボットシステム１の構成要素と同じ機能を奏するものについては、同じ符号を付して示す。ロボットシステム１Ｂの構成要素のうち、ロボットシステム１の構成要素と対応するが、異なる機能を奏するものについては、ロボットシステム１の構成要素の符号の末尾に「Ｂ」を付して示す。技術の理解を容易にするために、図１１においては、ロボット制御装置３００と教示装置６００の図示を省略する。第２実施形態のロボットシステム１Ｂが備えるロボット制御装置３００および教示装置６００の機能は、ロボットシステム１が備えるロボット制御装置３００および教示装置６００の機能と同じである。
【００８９】
第１実施形態のロボットシステム１においては、ロボット１００は、基台１８０を介して架台Ｆ１００に吊られている。これに対して、第２実施形態のロボットシステム１Ｂにおいては、ロボット１００Ｂは、基台１８０を介して架台Ｆ１００Ｂ上に配されている。すなわち、第１実施形態の架台Ｆ１００が、ロボット１００を上から支持しているのに対して、第２実施形態の架台Ｆ１００Ｂは、ロボット１００Ｂを下から支持している。
【００９０】
第１実施形態のロボットシステム１においては、力覚センサー１９０は、直接、架台Ｆ１００に接続されている。これに対して、第２実施形態のロボットシステム１Ｂにおいては、力覚センサー１９０は、取付部材Ｆ１００Ｃを介して、架台Ｆ１００Ｂに接続されている。
【００９１】
本明細書においては、取付部材Ｆ１００Ｃなどの部材を含め、力センサーを支持し、力センサーを介してロボットを支持する構造を、まとめて「架台」と表記する。第２実施形態においては、技術の理解を容易にするため、架台Ｆ１００Ｂと取付部材Ｆ１００Ｃとは、別の名称および符号が付されているが、技術思想としては、架台Ｆ１００Ｂと取付部材Ｆ１００Ｃは、まとめて「架台」として取り扱われる。すなわち、第２実施形態においては、力覚センサー１９０のうち、取付部材Ｆ１００Ｃに接している面が、第１受圧面１９１である。
【００９２】
第１実施形態のロボットシステム１においては、エンドエフェクター２００は、アーム要素１１０ｂに対して、基台１８０が位置する側とは逆の側に配されている（図１参照）。これに対して、第２実施形態のロボットシステム１Ｂにおいては、エンドエフェクター２００は、アーム要素１１０ｂに対して、基台１８０が位置する側に配されている。
【００９３】
第２実施形態のロボットシステム１Ｂにおいて、エンドエフェクター２００は、アーム１１０の先端を構成するアーム要素１１０ｃＢに取りつけられている。アーム要素１１０ｃＢは、関節Ｘ１３Ｂ，Ｘ１４Ｂによって、アーム要素１１０ｂに対して動かされる。関節Ｘ１３Ｂは、並進関節である。関節Ｘ１４Ｂは、ねじり関節である。
【００９４】
第２実施形態のロボットシステム１Ｂの他の点は、第１実施形態のロボットシステム１と同じである。
【００９５】
このような態様としても、架台Ｆ１００Ｂおよび基台１８０と接触している力覚センサー１９０によって振動を検出して、架台Ｆ１００Ｂの共振周波数成分を含む複数の共振周波数成分が低減された第２制御信号ＣＳ２を生成することにより、第１実施形態と同様の効果が得られる。すなわち、架台Ｆ１００Ｂの共振周波数で共振しにくい動作をロボット１００Ｂのアーム１１０Ｂおよびエンドエフェクター２００に行わせることができる。
【００９６】
Ｃ．第３実施形態：
図１２は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００およびそのロボット制御装置３００の他に、パーソナルコンピューター４００，４００ｂと、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４００ｂは、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、ロボット制御装置３００および教示装置６００を含む制御装置９００を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
【００９７】
Ｄ．第４実施形態：
図１３は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００のロボット制御装置３００が、ロボット１００の中に格納されている点が図１２と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、ロボット１００の制御装置を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
【００９８】
Ｅ．他の形態：
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【００９９】
Ｅ１．他の形態１：
（１）本明細書において、特定の共振周波数成分を低減する処理には、特定の共振周波数成分を減らして、その強度を０より大きい値とする態様と、特定の共振周波数成分を減らして、０とする態様と、が含まれ得る。
【０１００】
（２）上記実施形態においては、教示装置６００が、設定装置としても機能する。しかし、振動低減機能の設定を行う装置は、専用の装置であってもよい。また、振動低減機能の設定を行う装置は、汎用のパーソナルコンピューターやスマートフォンに、振動低減機能の設定を行うためのアプリケーションソフトをインストールすることにより、実現されてもよい。
【０１０１】
（３）振動低減処理において低減される周波数は、履歴情報を確認したユーザーによって、指定されてもよい（図２の３４０、および図８参照）。
【０１０２】
（４）上記第１実施形態においては、ロボット１００は、いずれもロボット１００の構成要素である力覚センサー１９０および基台１８０を介して、架台Ｆ１００の天板に固定され、そこから下方に伸びている。しかし、力センサーと基台が一体として構成されている態様とすることもできる。そのような態様においても、力センサーは、力センサーと基台が一体として構成されている構造のうち、可動部としてのアームと共に移動しない構成のある面にかかる力と、架台にかかる力と、の差を検出するように構成される。そのような態様においては、力センサーと基台が一体として構成されている構造のうち、アームと共に移動しない構成のその面を、力センサーが基台と接触している第２受圧面として把握することができる。
【０１０３】
（５）上記第２実施形態においては、力覚センサー１９０は、取付部材Ｆ１００Ｃを介して、架台Ｆ１００Ｂに接続されている。これに対して、力覚センサー１９０は、基台に対して、他の構成を介して、接続されている態様とすることもできる。このような態様においては、力センサーは、可動部としてのアームと共に移動しない他の構成のある面にかかる力と、架台にかかる力と、の差を検出するように構成される。そのような態様においては、アームと共に移動しない構成のその面を、力センサーが基台と接触している第２受圧面として把握することができる。
【０１０４】
（６）上記実施形態においては、力検出部としての力覚センサー１９０は、ロボットの基台１８０と架台Ｆ１００の間に取り付けられる（図１および図１１参照）。しかし、力検出部は、さらに、図１において破線で示す力覚センサー１９０ｂのように、アームの先端に取りつけられることもできる。
【０１０５】
（７）上記実施形態においては、力覚センサー１９０は、エンドエフェクター２００に作用するＸ軸、Ｙ軸、Ｚ軸の３軸方向の力Ｆｘ，Ｆｙ，Ｆｚと、Ｘ軸、Ｙ軸、Ｚ軸まわりのトルクＴｘ，Ｔｙ，Ｔｚを測定することができる。しかし、力検出部は、１軸の力だけを検出することができる態様であってもよいし、１軸のトルクだけを検出することができる態様であってもよい。また、力検出部は、２軸の力やトルクを検出できる態様であってもよい。また、３以下の数の軸の力と、３以下の数の軸のトルクと、の任意の組み合わせを検出できる態様とすることができる。
【０１０６】
（８）上記第１実施形態においては、力センサーとしての力覚センサー１９０が、基台１８０と架台Ｆ１００の間に配されている。しかし、架台と接触している第１受圧面と、基台と接触している第２受圧面と、を有し、第１受圧面と第２受圧面との力の差を検出する力センサーは、力覚センサー以外の他の態様とすることもできる。たとえば、力センサーとしては、互いに直交する３軸方向の加速度を検出することができる加速度センサーや、互いに直交する３軸方向の角速度を検出することができるジャイロセンサー、互いに直交する３軸方向の角度または角速度と、その３軸方向の加速度を検出することができる慣性計測装置（ＩＭＵ：Inertial Measurement Unit）を採用することもできる。これらの各方向の加速度を検知することができるセンサーによっても、実質的に、各方向の力の差を検出することができる。
【０１０７】
そして、第２制御信号によって低減される「振動」は、制御対象物としてのロボットの関節に加えられる力やトルクの振動であってもよいし、測定対象物の構成部位の加速度の振動であってもよいし、速度の振動であってもよいし、位置の振動であってもよい。
【０１０８】
（９）上記実施形態においては、一度の振動の計測の結果に基づいて、二つの共振周波数成分が低減される（図２の３４０および図８参照）。しかし、一度の振動の計測の結果に基づいて、もっとも強度の高い周波数の成分のみを低減して第２制御信号を作成し、その後、その第２制御信号を使用して動作を行わせ、振動の計測を行って、計測の結果に基づいて、もっとも強度の高い周波数の成分のみを低減する、という処理を繰り返して、除去すべき共振周波数を決定することもできる。
【０１０９】
（１０）上記実施形態においては、振動低減機能は、トルク制御信号に対して行われる。しかし、振動低減機能は、加速度の制御信号や電流量に適用することもでき、速度制御信号や位置制御信号に適用することもできる。振動低減機能においては、対象となる制御信号をフーリエ変換して、制御信号中の特定の周波数成分を低減し、逆変換を行って新たな制御信号を生成する。このため、上記で例示したトルク制御信号に基づいて微積分および比例によって変換できる関係にある各種パラメーターについて、振動低減機能は適用可能である。
【０１１０】
（１１）上記実施形態においては、ロボットの振動を低減する技術として、本開示を説明した。しかし、本明細書で開示した技術は、ロボットに限らず、プリンター、プロジェクターなど、駆動力を制御されて物理的な状態が変化する様々な機械に適用することができる。
【０１１１】
たとえば、本明細書で開示した技術をプリンターの印刷ヘッドの動作や印刷媒体の搬送動作に適用することができる。その結果、たとえば、プリントヘッドを搭載したキャリッジの動作や印刷媒体の搬送動作に起因する振動を低減して、プリントヘッドと印刷媒体との相対位置の精度を高めることができる。そのような態様においては、プリンターの台座に設けられる衝撃吸収材に対して、プリンターの接地面とは逆の側に、力センサーを設けることにより、上記実施形態と同様の処理を行うことができる。
【０１１２】
たとえば、本明細書で開示した技術をプロジェクターの冷却ファンの動作に適用することができる。その結果、たとえば、プロジェクターの冷却ファンの動作に起因する振動を低減して、プロジェクターと投射スクリーンとの相対位置の精度を高めることができる。そのような態様においては、プロジェクターの台座の衝撃吸収材に対して、プロジェクターの接地面とは逆の側に、力センサーを設けることにより、上記実施形態と同様の処理を行うことができる。
【０１１３】
（１２）上記実施形態においては、６軸または４軸のロボットの振動の低減について説明した。しかし、本明細書で開示した技術は、６軸または４軸の多軸ロボットに限らず、プリンター、プロジェクターど、制御が行われて物理的な状態が変化する様々な機械に適用することができる。たとえば、本明細書で開示した技術をプリンターの印刷ヘッドの動作や印刷媒体の搬送動作に適用することにより、ヘッドと印刷媒体との相対位置の変動（振動）を低減することもできる。
【０１１４】
Ｅ２．他の形態２：
上記実施形態においては、周波数の強度分布を示す周波数グラフＧｆｐにおいて、最も強度の高い周波数Ｆ０１の成分と、２番目に強度の高い周波数Ｆ０２の成分とが、第１制御信号ＣＳ１に対して低減された第２制御信号ＣＳ２が生成される（図２の３４０、図３および図８参照）。低減される共振周波数は、（ｉ）架台の共振周波数、アーム全体の共振周波数、またはアーム全体と架台とで構成される構造の共振周波数や、（ｉｉ）エンドエフェクターの共振周波数である。
【０１１５】
しかし、エンドエフェクターの共振周波数における強度が小さい場合には、エンドエフェクターの共振周波数の成分が、第１制御信号ＣＳ１に対して低減されていない信号として、第２制御信号ＣＳ２が生成されてもよい。そのような態様においては、たとえば、架台の共振周波数の成分と、アーム全体の共振周波数の成分と、が、第１制御信号ＣＳ１に対して低減された第２制御信号ＣＳ２が生成されることができる。
【０１１６】
Ｅ３．他の形態３：
上記実施形態においては、図９のＳ１００，Ｓ２００の処理が繰り返し実行されて、第１制御信号ＣＳ１から低減される共振周波数成分が更新される。しかし、そのような更新が自動的に行われず、一度設定された低減されるべき共振周波数成分が、保持されつつ、振動低減処理が実現されてもよい（図４参照）。
【０１１７】
Ｅ４．他の形態４：
（１）上記実施形態においては、ロボット制御装置３００は、各動作についてそれまでに設定されたＴｈ２回分のパラメーターＰａｒａｍ１（図３参照）のうち、最初のパラメーターＰａｒａｍ１の値と最新のパラメーターＰａｒａｍ１の値の差が、あらかじめ定められた閾値Ｔｈｐ１より大きい場合に、ロボット制御装置３００は、ロボットシステム１に異常が生じていると判定する（図９のＳ５００参照）。しかし、異常の判定は、他の態様で行うこともできる。
【０１１８】
たとえば、異常の判定は、一番最初のパラメーターＰａｒａｍ１の値と最新のパラメーターＰａｒａｍ１の値の差と、それまでに実行された動作の回数（図９のＳ３００参照）と、に基づいて、行われることができる。たとえば、一番最初のパラメーターＰａｒａｍ１の値と最新のパラメーターＰａｒａｍ１の値の差を、それまでに実行された動作の回数で割って得られる値が、所定の閾値を越えている場合に、異常であると判定することができる。
【０１１９】
すなわち、異常の判定は、複数回、設定されたパラメーターＰａｒａｍ１のうちの、異なる二つの値を比較して行われるものとすることができる。パラメーターＰａｒａｍ２に基づく異常判定についても、パラメーターＰａｒａｍ１と同様の処理を行うことができる。また、振動低減処理が３以上の周波数成分について行われる場合には、３個目以降の周波数に関するパラメーターについて、同様の処理を行って、異常判定を行うこともできる。すなわち、異常の判定は、第１制御信号から低減される複数の共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、行われることができる。
【０１２０】
（２）上記実施形態においては、図９のステップＳ８００において、ユーザーに対して、異常が生じた旨のエラー出力が、出力装置２５０において行われる。出力部から出力される警告は、異常の発生を告知する以外の態様とすることもできる。たとえば、第１制御信号から低減される複数の共振周波数成分の時間の経過に伴う変化と、閾値と、の関係に応じて、ロボットを調整しつつ継続して使用しうる時間の長さ、すなわちいわゆる寿命を示す態様で、出力部から出力される警告を行うこともできる。
【０１２１】
Ｅ５．他の形態５：
上記実施形態においては、図１０のステップＳ２３０において、ロボット制御装置３００は、作用力ｆＳのＸ軸方向、Ｙ軸方向、Ｚ軸方向（図１参照）についての各方向成分が、それぞれ力閾値Ｔｈｆｘ，Ｔｈｆｙ，Ｔｈｆｚより小さく、かつ、作用力ｆＳのＵ軸方向、Ｖ軸方向、Ｗ軸方向についての各方向成分がトルク閾値Ｔｈｔｕ，Ｔｈｔｖ，Ｔｈｔｗより小さいか否かを判定する。
【０１２２】
しかし、接触検知の判定は、他の態様で実施することもできる。すなわち、可動部の移動速度の低減のための閾値として機能する、あらかじめ定められた力の大きさは、以下のような態様とすることができる。（ｉ）あらかじめ定められた力の大きさは、方向によらず、力センサーによって検知した直線的な力の大きさの絶対値に対する閾値として定められる。（ｉｉ）あらかじめ定められた力の大きさは、力センサーによって検知した直線的な力のある方向成分の絶対値に対する閾値として定められる。（ｉｉｉ）あらかじめ定められた力の大きさは、回転方向によらず、力センサーによって検知したトルクの大きさの絶対値に対する閾値として定められる。（ｉｖ）あらかじめ定められた力の大きさは、力センサーによって検知したトルクのある方向成分の絶対値に対する閾値として定められる。
【０１２３】
Ｅ６．他の形態６：
（１）上記実施形態においては、一度の振動の計測の結果に基づいて、二つの共振周波数成分が低減される（図２の３４０および図８参照）。しかし、除去すべき共振周波数成分は、３個以上であってもよい。また、動作ごとに、除去すべき共振周波数成分の数が異なっていてもよい。
【０１２４】
（２）上記実施形態においては、周波数の強度分布を示す周波数グラフＧｆｐにおいて、最も強度の高い周波数Ｆ０１の成分と、２番目に強度の高い周波数Ｆ０２の成分とが、第１制御信号ＣＳ１に対して低減された第２制御信号ＣＳ２が生成される（図２の３４０参照）。その際、最も強度が高い周波数成分は、架台の共振周波数成分であってもよいし、他の構成に起因する共振周波数成分であってもよい。
【０１２５】
Ｅ７．他の形態７：
（１）上記実施形態においては、教示装置６００は、第１コマンドＣ１１（図６参照）にしたがってエンドエフェクター２００が目標位置Ｐｘに到達した時刻ｔｓから始まる所定の時間区間について、力覚センサー１９０によって力の差を測定する。しかし、実行されるコマンドのＣＰＵにおける処理の終了時刻および開始時刻や、エンドエフェクターの制御位置が目標位置に到達した時刻の推定値に基づいて、力センサーによる測定を行う時間区間の開始時刻を定めることもできる。ただし、上記第１実施形態のように、各モーターの位置センサーからの情報に基づいて、制御位置が目標位置に到達したことを検知した時に、測定を開始することが好ましい。作業の動作が終了している状態で、残留振動のみを計測することが好ましいからである。
【０１２６】
（２）力センサーによる力の差の測定は、より広い時間区間について行い、フーリエ変換などの処理を行う対象の時間区間の開始時刻を、目標位置への到達やコマンドの終了などに基づいて、定めることもできる。
【０１２７】
（３）対象振動数を決定するもととなるデータの時間区間は、制御対象物に対して駆動させる制御信号が出されていない時間区間とすることができる。ただし、制御対象物の対象振動数を決定するもととなる情報が準備される時間区間は、制御対象物に対して等速運動させる制御信号が出されている時間区間を含むこともできる。
【０１２８】
Ｅ８．他の形態８：
第１実施形態のロボットシステム１においては、ロボット１００は、基台１８０を介して架台Ｆ１００に吊られている。第２実施形態のロボットシステム１Ｂにおいては、ロボット１００Ｂは、基台１８０を介して架台Ｆ１００Ｂ上に配されている。しかし、ロボットの配置はこれらの態様に限られず、たとえば、鉛直方向に平行な壁に、ロボットが固定されていてもよい。また、鉛直方向に対して斜めの方向二配された壁に、ロボットが固定されていてもよい。さらに、ロボットは、無重力の環境下で使用されてもよい。
【０１２９】
Ｆ．さらに他の形態：
（１）本開示の一形態によれば、架台に取りつけられるロボットが提供される。このロボットは、基台と、前記架台と前記基台との間に位置し、力を検出する力センサーと、前記基台に接続され、前記基台に対して移動する可動部と、を備え、前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部が制御される。
このような態様とすることにより、架台および基台と接触している力センサーによって振動を検出して、架台の共振周波数成分を含む複数の共振周波数成分が低減された第２制御信号を生成することにより、架台の共振周波数で共振しにくい動作をロボットの可動部に行わせることができる。
【０１３０】
（２）上記形態のロボットにおいて、前記可動部が、対象物に対して処理を行うエンドエフェクターと、前記エンドエフェクターを前記基台に対して移動させるアームと、を含み、前記第２制御信号が、前記第１制御信号から、前記力センサーからの出力に基づいて得られる前記エンドエフェクターの共振周波数成分が低減された制御信号である、態様とすることもできる。
このような態様とすることにより、ロボットを振動させ、力センサーによってロボットの残留振動を検出して、エンドエフェクターの共振周波数成分を含む複数の共振周波数成分を低減した第２制御信号を生成することにより、エンドエフェクターの共振周波数で共振しにくい動作をロボットの可動部に行わせることができる。
【０１３１】
（３）上記形態のロボットにおいて、前記第２制御信号に基づいて前記可動部が制御された後、前記第１制御信号から、前記力センサーからの新たな出力に基づいて得られる共振周波数成分が低減された新たな第２制御信号に基づいて前記可動部が制御される、態様とすることもできる。
このような態様とすることにより、架台やロボットの共振周波数成分が変化した場合にも、力センサーからの新たな出力に基づいて、新たな共振周波数成分を低減した新たな第２制御信号により、共振しにくい動作をロボットの可動部に行わせることができる。
【０１３２】
（４）上記形態のロボットにおいて、前記第１制御信号から低減される前記共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、出力部から警告を出力する、態様とすることもできる。
このような態様とすれば、異常検知のための測定を別途、行うことなく、架台やロボットの共振周波数成分の変化に対応するための処理を利用して、異常判定を行い、出力部から警告を出力することができる。
【０１３３】
（５）上記形態のロボットにおいて、前記可動部を前記基台に対して移動させている間に、あらかじめ定められた大きさより大きい力が、前記力センサーによって検知された場合には、前記可動部の移動速度を低減する、態様とすることもできる。
このような態様とすることにより、可動部が他の構成と想定されていない接触をした場合には、可動部の移動速度を低減することにより、他の構成を損傷させる可能性を低減することができる。
【０１３４】
（６）上記形態のロボットにおいて、前記第２制御信号は、前記力センサーによって得られる第１時間区間における前記力の差の履歴情報を変換して得られる周波数についての強度分布のうち、最も強度が高い周波数成分を、前記第１制御信号から低減することにより得られる制御信号である態様とすることもできる。
このような態様とすることにより、周波数についての強度分布のうち最も強度が高い周波数成分を含む制御信号に基づいて可動部が制御される態様に比べて、共振しにくい動作をロボットの可動部に行わせることができる。
【０１３５】
（７）上記形態のロボットにおいて、前記可動部を目標位置へ移動させる第１コマンドと、第２コマンドと、を受け付ける受付部に接続されることができ、前記第１コマンドと前記第２コマンドとが前記受付部に受け付けられた場合に、前記第１コマンドにしたがって前記可動部が前記目標位置に到達した時刻から始まる前記第１時間区間について、前記履歴情報を取得する、態様とすることもできる。
このような態様とすることにより、ユーザーは、第１コマンドと第２コマンドとを使用して、動作の残留振動に起因する力の差の履歴情報を容易に取得することができる。
【０１３６】
（８）上記形態のロボットにおいて、前記可動部は、前記基台を介して前記架台に吊られている、態様とすることもできる。
このような態様とすることにより、可動部が架台に吊られており、その結果、架台の共振周波数で共振しやすいロボットの振動を、効果的に低減することができる。
【０１３７】
（９）本開示の他の形態によれば、架台に取りつけられるロボットを制御するためのロボット制御装置が提供される。前記ロボットは、基台と、前記架台と前記基台との間に位置し、力を検出する力センサーと、前記基台に接続され、前記基台に対して移動することができる可動部と、を備え、
前記ロボット制御装置は、前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部を制御するプロセッサーを備える。
このような態様とすることにより、架台および基台と接触している力センサーによって振動を検出して、架台の共振周波数成分が低減された第２制御信号を生成することにより、架台の共振周波数で共振しにくい動作をロボットの可動部に行わせることができる。
【０１３８】
（１０）上記形態のロボット制御装置において、前記可動部は、対象物に対して処理を行うエンドエフェクターと、前記エンドエフェクターを前記基台に対して移動させるアームと、を含み、前記第２制御信号は、前記第１制御信号から、前記力センサーからの出力に基づいて得られる前記エンドエフェクターの共振周波数成分が低減された制御信号である、態様とすることもできる。
このような態様とすることにより、力センサーによって振動を検出して、エンドエフェクターの共振周波数成分を低減した第２制御信号を生成することにより、エンドエフェクターの共振周波数で共振しにくい動作をロボットの可動部に行わせることができる。
【０１３９】
（１１）上記形態のロボット制御装置において、前記プロセッサーは、前記第２制御信号に基づいて前記可動部を制御した後、前記第１制御信号から、前記力センサーからの新たな出力に基づいて得られる共振周波数成分が低減された新たな第２制御信号に基づいて前記可動部を制御する、態様とすることもできる。
このような態様とすることにより、架台やロボットの共振周波数成分が変化した場合にも、力センサーからの新たな出力に基づいて、新たな共振周波数成分を低減した新たな第２制御信号により、共振しにくい動作をロボットの可動部に行わせることができる。
【０１４０】
（１２）上記形態のロボット制御装置であって、前記第１制御信号から低減される前記共振周波数成分の時間の経過に伴う変化が、あらかじめ定められた条件を満たす場合に、出力部から警告を出力する、態様とすることもできる。
このような態様とすれば、異常検知のための測定を別途、行うことなく、架台やロボットの共振周波数成分の変化に対応するための処理を利用して、異常判定を行い、出力部から警告を出力することができる。
【０１４１】
（１３）上記形態のロボット制御装置であって、前記可動部を前記基台に対して移動させている間に、あらかじめ定められた大きさより大きい力が、前記力センサーによって検知された場合には、前記可動部の移動速度を低減させる、態様とすることもできる。
このような態様とすることにより、可動部が物体と想定されていない接触をした場合には、可動部の移動速度を低減することにより、他の構成を損傷させる可能性を低減することができる。
【０１４２】
（１４）上記形態のロボット制御装置であって、前記力センサーによって得られる第１時間区間における前記力の差の履歴情報を変換して得られる周波数についての強度分布のうち、最も強度が高い周波数成分を、前記第１制御信号から低減して、前記第２制御信号を生成する、態様とすることもできる。
このような態様とすることにより、周波数についての強度分布のうち最も強度が高い周波数成分を含む制御信号に基づいて可動部が制御される態様に比べて、共振しにくい動作をロボットの可動部に行わせることができる。
【０１４３】
（１５）上記形態のロボット制御装置であって、前記可動部を目標位置へ移動させる第１コマンドと、第２コマンドと、を受け付ける受付部を備え、前記第１コマンドと前記第２コマンドとが前記受付部に受け付けられた場合に、前記第１コマンドにしたがって前記可動部が前記目標位置に到達した時刻から始まる前記第１時間区間について、前記履歴情報を取得する、態様とすることもできる。
このような態様とすることにより、第１コマンドと第２コマンドとを使用して、動作の残留振動に起因する力の差の履歴情報を容易に取得することができる。
【０１４４】
（１６）上記形態のロボット制御装置であって、前記可動部は、前記基台を介して前記架台に吊られている、態様とすることもできる。
このような態様とすることにより、可動部が架台に吊られており、その結果、架台の共振周波数で共振しやすいロボットの振動を、効果的に低減することができる。
【０１４５】
（１７）本発明の他の形態によれば、前記ロボット制御装置によって制御される前記ロボットと、を備えるロボットシステムが提供される。
【０１４６】
（１８）本発明のさらに他の形態によれば、架台に取りつけられるロボットを制御する制御方法が提供される。前記ロボットは、基台と、前記架台と前記基台との間に位置し、力を検出する力センサーと、前記基台に接続され、前記基台に対して移動する可動部と、を備え、前記制御方法は、前記可動部を移動させる第１制御信号から、前記力センサーからの出力に基づいて得られる前記架台の共振周波数成分が低減された第２制御信号に基づいて、前記可動部を制御する工程を含む。
【０１４７】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットの制御方法を実現するコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【０１４８】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【符号の説明】
【０１４９】
１，１Ｂ…ロボットシステム、１００，１００Ｂ…ロボット、１１０，１１０Ｂ…アーム、１１０ａ〜１１０ｃ，１１０ｃＢ…アーム要素、１８０…基台、１９０，１９０ｂ…力覚センサー、１９１…第１受圧面、１９２…第２受圧面、２００…エンドエフェクター、２５０…出力装置、３００…ロボット制御装置、３０１…ＣＰＵ、３０２…ＲＡＭ、３０３…ＲＯＭ、３１０…制御信号生成部、３２０…位置制御部、３３０…速度制御部、３４０…フィルター処理部、３４５…フィルター設定部、３５０…トルク制御部、３６０…サーボアンプ、３９０…力制御部、４００，４００ｂ…パーソナルコンピューター、４１０…サーボモーター、４２０…位置センサー、５００…クラウドサービス、５６０…支持台、６００…教示装置、６０１…ＣＰＵ、６０２…ＲＡＭ、６０３…ＲＯＭ、６０４…入力装置、６０５…出力装置、９００…制御装置、Ｃ１１…第１コマンド、Ｃ１２…第２コマンド、ＣＳ１…第１制御信号、ＣＳ２…第２制御信号、Ｆ０１…最も強度の高い周波数、Ｆ０２…２番目に強度の高い周波数、Ｆ１１、Ｆ１２，Ｆ２１，Ｆ２２，Ｆ３１，Ｆ３２…低減される周波数をあらわすパラメーター、Ｆ１００，Ｆ１００Ｂ…架台、Ｆ１００Ｃ…取付部材、Ｇｆｐ…周波数グラフ、Ｇｈｆ…力のグラフ、ＰＬ…プログラムリスト、Ｐａｒａｍ１，２…パラメーター、ＲＣ…ロボット座標系、Ｓｔ…目標位置、Ｔｈｐ１…動作の繰り返し回数の閾値、Ｔｈｐ２…Ｓ１００の繰り返し回数の閾値、Ｗ０１…ワークピース、Ｘ１１〜Ｘ１４，Ｘ１３Ｂ，Ｘ１４Ｂ…関節、ｆＳ…作用力、ｆＳｔ…目標力、ΔＳ…補正量
【図１】
2020015153.tif 000003
【図２】
2020015153.tif 000004
【図３】
2020015153.tif 000005
【図４】
2020015153.tif 000006
【図５】
2020015153.tif 000007
【図６】
2020015153.tif 000008
【図７】
2020015153.tif 000009
【図８】
2020015153.tif 000010
【図９】
2020015153.tif 000011
【図１０】
2020015153.tif 000012
【図１１】
2020015153.tif 000013
【図１２】
2020015153.tif 000014
【図１３】
2020015153.tif 000015