(57)【要約】【課題】  作業対象物又は作業台を模擬することで、ユーザーによる教示を容易に行うことを可能にするロボット及びロボットの制御方法を提供すること。【解決手段】  ロボットは、力覚センサー１０と、力覚センサー１０からのセンサー情報に基づいて、ロボット制御を行う制御部１００と、記憶部２００を含み、制御部１００は、教示モードでは、ロボットに作業対象物又は作業台を模擬させるロボット制御を行い、記憶部２００は、教示モードにおいて得られたセンサー情報を、動作モードにおいて使用される制御パラメーターの設定用情報として記憶する。【選択図】      図３
2014184516.tif 000002
【特許請求の範囲】
【請求項１】
力覚センサーと、
前記力覚センサーからのセンサー情報に基づいて、ロボット制御を行う制御部と、
記憶部と、
を含み、
前記制御部は、
教示モードでは、ロボットに作業対象物又は作業台を模擬させる前記ロボット制御を行い、
前記記憶部は、
前記教示モードにおいて得られた前記センサー情報を、動作モードにおいて使用される制御パラメーターの設定用情報として記憶することを特徴とするロボット。
【請求項２】
請求項１において、
前記制御部は、
前記動作モードでは、前記教示モードでの前記センサー情報に基づいて設定された前記制御パラメーターと、前記動作モードでの前記力覚センサーからの前記センサー情報とに基づいて、前記ロボット制御として力制御を行うことを特徴とするロボット。
【請求項３】
請求項２において、
前記制御部は、
前記教示モードでの前記センサー情報に基づいて、前記制御パラメーターとしてデジタルフィルターのフィルター係数を設定し、前記動作モードでは、設定した前記フィルター係数を用いたデジタルフィルター処理により、前記力制御を行うことを特徴とするロボット。
【請求項４】
請求項３において、
前記制御部は、
前記教示モードでの前記センサー情報に基づいて、前記制御パラメーターとして前記ロボットの作業力を設定し、設定した前記作業力と、前記動作モードでの前記力覚センサーからの前記センサー情報とに基づいて、前記デジタルフィルターに対する入力情報を設定することを特徴とするロボット。
【請求項５】
請求項４において、
前記動作モードにおいて、前記ロボットが前記作業対象物に与える力を前記力覚センサーの前記センサー情報として取得する場合に、
前記制御部は、
前記作業力と、前記動作モードでの前記力覚センサーからの前記センサー情報との差分情報を前記デジタルフィルターに対する前記入力情報として設定することを特徴とするロボット。
【請求項６】
請求項３乃至５のいずれかにおいて、
前記制御部は、
前記デジタルフィルター処理として、２次の前記デジタルフィルターを用いた処理を行うことを特徴とするロボット。
【請求項７】
請求項３乃至５のいずれかにおいて、
前記制御部は、
前記デジタルフィルター処理として、３次以上の前記デジタルフィルターを用いた処理を行うことを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記制御部は、
前記教示モードでの前記センサー情報に対して線形予測分析処理を行うことで、前記制御パラメーターを求めることを特徴とするロボット。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記制御部は、
作業者が作業を行う前記作業対象物を、前記ロボットのアームのエンドエフェクターが前記作業台として支持する制御を、前記ロボットに前記作業台を模擬させる前記ロボット制御として行うことを特徴とするロボット。
【請求項１０】
請求項１乃至８のいずれかにおいて、
前記制御部は、
前記ロボットの第１のアームのエンドエフェクターと、前記ロボットの第２のアームの前記エンドエフェクターを、作業者が作業を行う前記作業対象物の表面に対応する位置に設定する制御を、前記ロボットに前記作業対象物を模擬させる前記ロボット制御として行うことを特徴とするロボット。
【請求項１１】
請求項１０において、
前記制御部は、
前記作業対象物により発生する力を模擬した模擬力情報を出力する模擬力出力部を含み、
前記制御部は、
出力された前記模擬力情報に基づく前記作業対象物の運動に対応させて、前記作業対象物の前記表面に対応する前記エンドエフェクターの位置を設定する制御を、前記ロボットに前記作業対象物を模擬させる前記ロボット制御として行うことを特徴とするロボット。
【請求項１２】
教示モードでは、
ロボットを作業台として、前記作業台である前記ロボットに支持される作業対象物に対する作業者の作業による力を力覚センサーのセンサー情報として取得する処理、又は
前記ロボットを前記作業対象物とする前記作業者の作業による前記力を、前記力覚センサーの前記センサー情報として取得する処理を行い、
動作モードでは、
前記教示モードにおいて取得した前記センサー情報と、前記動作モードにおいて前記力覚センサーから取得した前記センサー情報とに基づいて、ロボット制御を行うことを特徴とするロボット。
【請求項１３】
力覚センサーからのセンサー情報に基づいて、前記力覚センサーを含むロボットの制御を行うロボットの制御方法であって、
教示モードでは、前記ロボットに作業対象物又は作業台を模擬させるロボット制御を行い、
前記教示モードにおいて得られた前記センサー情報を、動作モードにおいて使用される制御パラメーターを取得するための情報として記憶することを特徴とするロボットの制御方法。
【請求項１４】
教示モードでは、
ロボットを作業台として、前記作業台である前記ロボットに支持される作業対象物に対する作業者の作業による力を力覚センサーのセンサー情報として取得する処理、又は
前記ロボットを前記作業対象物とする前記作業者の作業による前記力を、前記力覚センサーの前記センサー情報として取得する処理を行い、
動作モードでは、
前記教示モードにおいて取得した前記センサー情報と、前記動作モードにおいて前記力覚センサーから取得した前記センサー情報とに基づいて、ロボット制御を行うことを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット及びロボットの制御方法等に関する。
【背景技術】
【０００２】
多くのロボットの応用においては、指定された正確な位置へ移動することが要求される。近年は、それに加え、力制御（力覚制御）が要求される場合も多い。これは例えば、探り動作による位置合わせ、勘合であったり、あるいは作業対象物が脆弱物であったり、柔軟物であったり、あるいは不定形状であったりする場合に対応するためである。
【０００３】
力制御は、ロボットの実際の機械的な特性に係わらず、あたかもユーザーの指定する機械的な特性を表す力覚パラメーター、例えば質量（ｍ）、粘性（μ）、弾性（ｋ）を持つように、制御系がロボットを動作させるものである。例えば、ロボットの手先が指定されたバネ特性をもつように、ロボットの手先を制御するものである。これは、上記の力覚パラメーターを用い、手先が以下の運動方程式に従うようにロボットを制御するものである。
【０００４】
【数１】
2014184516.tif 000003
【０００５】
ここで、Ｆは力覚センサーにより検知された外力であり、ｘはそれにより引き起こされる手先の変位である。この運動方程式により外力と変位を対応づけることにより、手先があたかも仮想的な質量（ｍ）、仮想的な粘性（μ）、仮想的な弾性（ｋ）を持つかのようにロボットは動作する。
【０００６】
力制御を動作させるためには、上記のパラメーターを適正に設定する必要がある。しかし、これを一般ユーザーに直接に設定してもらうことは困難である。一般ユーザーは、特定の作業を行う場合（例えばピンを穴に押し込むような場合）に、その力の加減を主観的、直感的には分かっていても、それを上記のようなパラメーターとして表現することは非常に困難である。つまり、ある時点で作業対象物体に加えている力が何ニュートンであるといった表現することはできない。
【０００７】
これを解決するための手法として、ユーザーがロボットに対して作業力を教示する手法がある。例えば特許文献１では、ロボットは手先に２つの力覚センサーを備え、また操作者が把持してロボットの教示を行うためのハンドルを備える。操作者はハンドルを把持し、それに力を加え、その力は第１の力覚センサーにより感知され、感知された力に従ってアームが動作する。またその動作の結果として、手先効果器（エンドエフェクター）と対象物体との間に作用する力が第２の力覚センサーにより感知される。操作者は、把持したハンドルを通して伝わる手先効果器と対象物体との間の力を感じ、その力を加減することにより、ロボットに作業力を教示するものである。
【０００８】
また特許文献２では、ロボットは手先に１つの力覚センサーを備え、また操作者が把持してロボットの教示を行うためのハンドルを備える。特許文献１と異なる点は、機械的に並進力を回転力に変換する機構を持ち、操作者の力と、手先効果器と作業対象物体との間に作用する力のそれぞれを適宜、並進力と回転力に変換することにより分離するものである。これにより、１つの６軸力覚センサー（ＸＹＺ軸それぞれの方向の並進力、またそれぞれの軸の周りの回転力）により、ロボットに作業力を教示するものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平５−３０３４２２号公報
【特許文献２】特開平１１−３９０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１及び特許文献２では、ロボットは操作者が把持するハンドル（或いはそれに類する機構）を必要とする。このハンドルはロボットの実作業においては全くの不要物であり、またロボットの動作可能範囲を狭める可能性がある。仮に当該ハンドルを教示時のみに使用し、動作時には取り外すとしても、そのための作業が発生することになり利便性等の観点から好ましくない。また当該ハンドルの有り無しによるアーム長さの変化により、ロボットの動作範囲に差異が発生する。
【００１１】
さらに、ハンドル経由で操作者が感じる力は、通常の作業の場合の力とは必ずしも一致しないという問題もある。例えば、押し付け力を考えると、ハンドルは作業点の作業力とは異なる軸上に存在するので、単純な並進力を得るためにも、ハンドル上では回転力も加える必要がある。回転力の場合については更に大きな差があり、手先効果器の先端の回転力を、ハンドルを通じて感じることは困難である。ロボットに教示したいのはハンドルを用いない場合でのユーザーの作業に対応する力であるから、ハンドルを経由する場合にも正確な教示を行うには、ユーザーがハンドルによる影響を考慮して作業力を調整する、或いはユーザーによる作業力に対して何らかの補正処理等を行う等の処理が必要となる。
【００１２】
さらにいえば、特許文献１では高価である力覚センサーを２つ必要とするという課題があり、特許文献２では並進力を回転力に変換するなどの機構を必要とするという課題がある。
【００１３】
本発明の幾つかの態様によれば、作業対象物又は作業台を模擬することで、ユーザーによる教示を容易に行うことを可能にするロボット及びロボットの制御方法を提供することができる。
【課題を解決するための手段】
【００１４】
本発明の一態様は、力覚センサーと、前記力覚センサーからのセンサー情報に基づいて、ロボット制御を行う制御部と、記憶部と、を含み、前記制御部は、教示モードでは、ロボットに作業対象物又は作業台を模擬させる前記ロボット制御を行い、前記記憶部は、前記教示モードにおいて得られた前記センサー情報を、動作モードにおいて使用される制御パラメーターの設定用情報として記憶するロボットに関係する。
【００１５】
本発明の一態様では、教示モードでロボットに作業対象物又は作業台を模擬させ、当該教示モードでのセンサー情報を、動作モードで用いる制御パラメーター設定用情報として記憶する。よって、従来手法のように動作モードと同様の姿勢をとっているロボットに対してハンドル等を用いて教示を行う必要がなく、作業者はロボットに行わせたい作業を自然な形で教示することができる。そのため、従来手法に比べて容易に、適切な制御パラメーターを設定すること等が可能になる。
【００１６】
また、本発明の一態様では、前記制御部は、前記動作モードでは、前記教示モードでの前記センサー情報に基づいて設定された前記制御パラメーターと、前記動作モードでの前記力覚センサーからの前記センサー情報とに基づいて、前記ロボット制御として力制御を行ってもよい。
【００１７】
これにより、設定された制御パラメーターに基づいて、動作モードにおいては力制御を行うこと等が可能になる。
【００１８】
また、本発明の一態様では、前記制御部は、前記教示モードでの前記センサー情報に基づいて、前記制御パラメーターとしてデジタルフィルターのフィルター係数を設定し、前記動作モードでは、設定した前記フィルター係数を用いたデジタルフィルター処理により、前記力制御を行ってもよい。
【００１９】
これにより、力制御をデジタルフィルターで実行するとともに、上記制御パラメーターとしてデジタルフィルターのフィルター係数を設定すること等が可能になる。
【００２０】
また、本発明の一態様では、前記制御部は、前記教示モードでの前記センサー情報に基づいて、前記制御パラメーターとして前記ロボットの作業力を設定し、設定した前記作業力と、前記動作モードでの前記力覚センサーからの前記センサー情報とに基づいて、前記デジタルフィルターに対する入力情報を設定してもよい。
【００２１】
これにより、制御パラメーターとして、デジタルフィルターのフィルター係数だけでなく、ロボットの作業力を設定すること等が可能になる。
【００２２】
また、本発明の一態様では、前記動作モードにおいて、前記ロボットが前記作業対象物に与える力を前記力覚センサーの前記センサー情報として取得する場合に、前記制御部は、前記作業力と、前記動作モードでの前記力覚センサーからの前記センサー情報との差分情報を前記デジタルフィルターに対する前記入力情報として設定してもよい。
【００２３】
これにより、制御パラメーターとして設定した作業力については、センサー情報との差分情報を求め、当該差分情報をデジタルフィルターの入力情報として用いること等が可能になる。
【００２４】
また、本発明の一態様では、前記制御部は、前記デジタルフィルター処理として、２次の前記デジタルフィルターを用いた処理を行ってもよい。
【００２５】
これにより、特に力制御としてインピーダンス制御を想定したロボット制御を行うこと等が可能になる。
【００２６】
また、本発明の一態様では、前記制御部は、前記デジタルフィルター処理として、３次以上の前記デジタルフィルターを用いた処理を行ってもよい。
【００２７】
これにより、インピーダンス制御に限定されない力制御を想定したロボット制御を行うこと等が可能になる。
【００２８】
また、本発明の一態様では、前記制御部は、前記教示モードでの前記センサー情報に対して線形予測分析処理を行うことで、前記制御パラメーターを求めてもよい。
【００２９】
これにより、線形予測分析処理により、教示モードで取得したセンサー情報から制御パラメーターを設定すること等が可能になる。
【００３０】
また、本発明の一態様では、前記制御部は、作業者が作業を行う前記作業対象物を、前記ロボットのアームのエンドエフェクターが前記作業台として支持する制御を、前記ロボットに前記作業台を模擬させる前記ロボット制御として行ってもよい。
【００３１】
これにより、作業対象物をエンドエフェクターが作業台として支持する制御を、ロボットに作業台を模擬させるロボット制御として実行すること等が可能になる。
【００３２】
また、本発明の一態様では、前記制御部は、前記ロボットの第１のアームのエンドエフェクターと、前記ロボットの第２のアームの前記エンドエフェクターを、作業者が作業を行う前記作業対象物の表面に対応する位置に設定する制御を、前記ロボットに前記作業対象物を模擬させる前記ロボット制御として行ってもよい。
【００３３】
これにより、複数のエンドエフェクターを、作業対象物の表面に対応する位置に設定する制御を、ロボットに作業対象物を模擬させるロボット制御として実行すること等が可能になる。
【００３４】
また、本発明の一態様では、前記制御部は、前記作業対象物により発生する力を模擬した模擬力情報を出力する模擬力出力部を含み、前記制御部は、出力された前記模擬力情報に基づく前記作業対象物の運動に対応させて、前記作業対象物の前記表面に対応する前記エンドエフェクターの位置を設定する制御を、前記ロボットに前記作業対象物を模擬させる前記ロボット制御として行ってもよい。
【００３５】
これにより、ロボットに作業対象物を模擬させる際に、作業対象物により発生する模擬力を考慮した制御を行うこと等が可能になる。
【００３６】
本発明の他の態様は、教示モードでは、ロボットを作業台として、前記作業台である前記ロボットに支持される作業対象物に対する作業者の作業による力を力覚センサーのセンサー情報として取得する処理、又は前記ロボットを前記作業対象物とする前記作業者の作業による前記力を、前記力覚センサーの前記センサー情報として取得する処理を行い、動作モードでは、前記教示モードにおいて取得した前記センサー情報と、前記動作モードにおいて前記力覚センサーから取得した前記センサー情報とに基づいて、ロボット制御を行うロボットに関係する。
【００３７】
本発明の他の態様は、力覚センサーからのセンサー情報に基づいて、前記力覚センサーを含むロボットの制御を行うロボットの制御方法であって、教示モードでは、前記ロボットに作業対象物又は作業台を模擬させるロボット制御を行い、前記教示モードにおいて得られた前記センサー情報を、動作モードにおいて使用される制御パラメーターを取得するための情報として記憶するロボットの制御方法に関係する。
【００３８】
本発明の他の態様は、教示モードでは、ロボットを作業台として、前記作業台である前記ロボットに支持される作業対象物に対する作業者の作業による力を力覚センサーのセンサー情報として取得する処理、又は前記ロボットを前記作業対象物とする前記作業者の作業による前記力を、前記力覚センサーの前記センサー情報として取得する処理を行い、動作モードでは、前記教示モードにおいて取得した前記センサー情報と、前記動作モードにおいて前記力覚センサーから取得した前記センサー情報とに基づいて、ロボット制御を行うロボットの制御方法に関係する。
【図面の簡単な説明】
【００３９】
【図１】図１（Ａ）はロボットに行わせたい作業を説明する図、図１（Ｂ）は当該作業のための教示時のロボット制御の例を説明する図。
【図２】図２（Ａ）はロボットに行わせたい作業を説明する図、図２（Ｂ）は当該作業のための教示時のロボット制御の例を説明する図。
【図３】第１の実施形態のロボットの構成例。
【図４】第１の実施形態の処理の流れを説明する図。
【図５】教示モードで取得されるセンサー情報（力覚情報）の例。
【図６】本実施形態で対象とする作業の例。
【図７】図７（Ａ）〜図７（Ｃ）は作業者のモデル化の例。
【図８】図８（Ａ）、図８（Ｂ）は制御パラメーターにより実現されるデジタルフィルターの例。
【図９】入力波形とその周波数特性、及び線形予測分析処理の結果の周波数特性を説明する図。
【図１０】観測値に対する線形予測分析処理に基づく推定処理を説明する図。
【図１１】線形予測分析処理によりロボット制御を行う処理の説明図。
【図１２】図１２（Ａ）〜図１２（Ｈ）は次数の違いによる線形予測分析処理の結果の違いを説明する図。
【図１３】図１３（Ａ）〜図１３（Ｈ）は次数の違いによる線形予測分析処理の結果の違いを説明する図。
【図１４】シミュレーション処理の説明図。
【図１５】正解データとして用いたデジタルフィルターのインパルス応答。
【図１６】図１６（Ａ）、図１６（Ｂ）は正解データとして用いた作業力。
【図１７】図１７（Ａ）、図１７（Ｂ）は観測値（センサー情報）のシミュレーションデータ。
【図１８】図１８（Ａ）、図１８（Ｂ）は観測値から推定された作業力。
【図１９】正解データとして用いた４次のデジタルフィルターのインパルス応答。
【図２０】正解データ及び１〜６次での推定結果のフィルター係数、及び推定誤差を説明する図。
【図２１】図２１（Ａ）は観測値のシミュレーションデータ、図２１（Ｂ）は正解データとして用いた作業力。
【図２２】図２２（Ａ）〜図２２（Ｃ）は各次数での推定により得られた作業力。
【図２３】第２の実施形態のロボットの構成例。
【図２４】トルク分配を説明する図。
【図２５】第２の実施形態の処理の流れを説明する図。
【発明を実施するための形態】
【００４０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４１】
１．本実施形態の手法
まず本実施形態の手法について説明する。上述したように、近年ではロボット制御において力制御が要求される場合がある。力制御においては、ロボットの実際の機械的な特性にかかわらず、あたかもユーザーの指定する特性を有するようにロボットを制御することが可能になる。
【００４２】
しかし、実際にロボットを管理、制御する一般ユーザーにとっては、所定の動作を行わせる場合にロボットの機械的な特性（例えば質量ｍ、粘性μ、弾性ｋ）をどのような値に設定すればよいかを知ることは容易ではない。所定の動作をユーザー自身が行う場合に、どのような力加減が適切であるかということは直感的に理解できたとしても、そのような感覚的な理解に基づいて、当該所定の動作をロボットに実行させる際のパラメーターを設定することは困難である。
【００４３】
これに対して、実際の作業対象物にロボットを接触させて力を加え、その反応を調べ、力制御による振動が最小となるように力覚制御パラメーターを調整するという手法も考えられる。
【００４４】
ただし、この手法はロボットを実際の作業対象物に接触させる必要があり、作業対象物が無い状態での教示をすることができない。或いは、作業対象物を破損させる可能性もある。更には、動きを伴う動作、例えば対象物を運搬する際に対応する力覚パラメーターを教示することができないという問題がある。
【００４５】
よって、特許文献１や特許文献２では、ユーザーがロボットに設けられたハンドル機構を把持して上記所定動作を行い、その際の力覚センサーからのセンサー情報である力覚値を用いて制御パラメーターを決定する手法が開示されている。このようにすれば、パラメーターを決定する際には、力加減を理解しているユーザーにより作業が行われるため、作業対象物の破損等の可能性を抑止しつつ、直感的にパラメーターを決定することが可能になる。
【００４６】
しかしながら、特許文献１及び特許文献２では、ロボットにはハンドル機構が設けられ、ユーザーは当該ハンドルを把持して所望の動作を行うことになる。よって、当該ハンドルを用いてユーザーが行った作業は、実際にロボットに再現させたい作業とは異なる特性を持つことになる。例えば、ドライバーを用いてねじ等を締める作業をロボットに行わせたい場合、ユーザーが教示すべきはドライバーを手で把持して回転させる作業を行う時の力である。しかしハンドル機構を用いた場合、当該ハンドル機構は作業の回転軸（ドライバー長手方向に対応する軸）とは一致しないことが想定され、結果としてハンドル機構による作業は直接ドライバーを把持する作業とは異なるモーメントを発生させてしまう。
【００４７】
つまり、ユーザーによる作業で、ロボットに対する教示を行う場合においては、ハンドル機構を用いることは好ましくないと言える。具体的には、ハンドル機構を用いて行った作業による力覚情報をそのまま用いてしまえば、上述した理由により適切な教示を行うことができない。また、ハンドル機構を用いた上で適切な教示を行おうとすると、ユーザーがハンドル機構による影響を考慮して力の入れ加減を調整する必要が生じたり、力覚情報から制御パラメーターを設定する際に何らかの補正処理を行う必要が生じてしまう。
【００４８】
また特許文献１では、ユーザーによる教示時に用いられる第１の力覚センサーと、設定されたパラメーターによる力制御を行ってロボットを動作させる動作時に用いられる第２の力覚センサーの２つが必要になる。よって、高価な力覚センサーを教示用と動作用とで別途設ける必要があり、コスト等に問題が残る。
【００４９】
また特許文献２では、１つの力覚センサーを教示時と動作時の両方に共通で用いる。教示時には、ユーザーがハンドルを介して与えた力と、ユーザーが行った作業によりエンドエフェクターに対して発生する力の両方を力覚センサーが検出することになる。ここでエンドエフェクターに対して発生する力とは、例えばエンドエフェクターが作業対象物に加えた力の反力等である。このような状況でユーザーによる教示を適切に行うには、２つの力を適切に分離して、ユーザーがハンドルを介して与えた力を抽出し、当該力に基づいてパラメーターを決定する必要があり、特許文献２では並進力をモーメントに変換する機構を用いている。つまり、特許文献２では並進モーメント変換機構が必要となり、構造が複雑になってしまうという課題がある。また、当該並進モーメント変換機構が設けられることで、力覚センサーが検出する力覚値のうちのモーメント（例えばＭｘ，Ｍｙ，Ｍｚ）についてはエンドエフェクターにはたらく力の検出に用いることができない。つまり、特許文献２の手法では、力制御を行う際に力覚値の一部を利用することができないという課題もあると考えられる。ここで力覚値の一部とは、例えば並進３軸、モーメント３軸の６軸力覚センサーであればモーメント３軸である。
【００５０】
そこで本出願人は、ロボットに作業対象物又は作業台を模擬させるロボット制御を行う手法を提案する。その場合、当該ロボットに対して加えられるユーザー作業による力を、ロボットに設けられた力覚センサーにより検出し、検出した力覚情報（力覚値）に基づいて、力制御に用いる制御パラメーターを決定する。
【００５１】
ここで、ロボットが作業台を模擬するとは、例えば図１（Ｂ）に示したように、ロボットが作業対象物を支持する制御に対応する。また、ロボットが作業対象物を模擬するとは、例えば図２（Ｂ）に示したようにロボットのアームのエンドエフェクターを、作業対象物の表面に対応する位置に移動させる制御に対応する。
【００５２】
以下、第１の実施形態では作業台を模擬する例を説明し、第２の実施形態では作業対象物を模擬する例を説明する。なお、第１の実施形態において力覚情報から制御パラメーターを設定する手法の一例として、ＬＰＣ分析（線形予測分析）処理を行うものについて説明するが、本実施形態はこれに限定されず、種々のパラメーター設定手法を用いることが可能である。
【００５３】
２．第１の実施形態
ロボットに作業台を模擬させる第１の実施形態について説明する。具体的にはロボットのシステム構成例を説明した後、教示モードにおいて用いられる、ロボットに作業台を模擬させる具体的な手法について説明する。その後、力覚情報に基づいて制御パラメーターを設定する処理の一例として線形予測分析処理について説明する。
【００５４】
２．１  システム構成例
図３に本実施形態に係るロボットのシステム構成例を示す。ロボットは、力覚センサー１０と、アーム２０と、制御部１００と、記憶部２００を含む。ただし、ロボット及びロボットを構成する各部は図３の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５５】
力覚センサー１０は、ロボットが出している力の反力として受けている力やモーメントを検出するセンサーである。この力覚センサー１０は、通常、ロボットのアーム２０の手首部分に取り付けられ、検出された力やモーメントは、センサー情報として、インピーダンス制御等の各種の力制御に用いられる。また本実施形態においては、力制御の実行時だけでなく、制御パラメーターを設定するための教示時においても、ユーザーの作業により与えられた力を検出するために用いられる。
【００５６】
アーム２０は、種々の構成により実現でき、一般的には柔軟な動作を可能にするため、複数の関節を有することが想定される。また、アーム２０にはハンド（把持部）等、種々のエンドエフェクターを取り付けることが可能である。ロボットに含まれるアーム２０は１つ（単腕のロボット）に限定されるものではなく、双腕ロボット等、複数のアームを含んでもよい。
【００５７】
制御部１００は、力覚センサー１０からの力覚情報に基づいて、アーム２０等の制御を行う。制御部１００は、ＬＰＣ分析処理部１１０と、低域通過フィルター１２０と、力覚制御フィルター１３０と、逆ヤコビアン処理部１４０と、軌道生成部１５０と、インバースキネマティクス処理部１６０と、モーター制御部１７０と、モード切替部１８０を含む。
【００５８】
ＬＰＣ分析処理部１１０は、教示時に処理を行うものであり、力覚センサー１０からの力覚情報に対して線形予測分析処理を行って、その結果であるＬＰＣ係数と予測残差を求める。求めたＬＰＣ係数は力覚制御フィルター１３０に出力され、予測残差は低域通過フィルター１２０に出力される。ＬＰＣ分析処理部１１０での処理の詳細は後述する。なお、図７（Ｂ）を用いて後述するように、真の力を発生させる部分と当該真の力に対して変調を加える部分とから構成されるモデルにより作業者をモデル化した場合に、ここでのＬＰＣ係数とは、変調部分を表すパラメーターとなり、予測残差とは真の力を表すパラメーターとなる。これについては、図９、図１０等を用いて後述する。
【００５９】
低域通過フィルター１２０は、ＬＰＣ分析処理部１１０から出力された予測残差に対して、低域通過フィルター処理を行い、フィルター処理の結果を力覚制御フィルター１３０に出力する。なお、ＬＰＣ分析処理部１１０において予測残差が精度よく求められる場合には、制御部１００から低域通過フィルター１２０を省略する構成としてもよい。
【００６０】
力覚制御フィルター１３０は、動作時に処理を行うものであり、力覚センサー１０からの力覚情報に基づいて力制御を行う。力覚制御フィルター１３０のフィルター係数は、教示時にＬＰＣ分析処理部１１０において求められたＬＰＣ係数が用いられる。また、本実施形態での力覚制御フィルター１３０への入力は、力覚センサー１０からの力覚情報をそのまま用いるのではなく、低域通過フィルター１２０の出力と力覚情報との差分情報が用いられることになる。力制御をデジタルフィルターを用いて実行する手法については後述する。
【００６１】
逆ヤコビアン処理部１４０は、力覚制御フィルター１３０の出力に対して逆ヤコビアンによる処理を行う。力覚制御フィルター１３０は、力に関する入力値に基づいて位置に関する情報を取得する。例えば、力覚制御フィルター１３０が２次のフィルターであれば、当該力覚制御フィルター１３０を用いた処理は、上式（１）のｆを入力としてｘを求める処理に対応するものとなる。ここで、力覚制御フィルター１３０の出力は例えばロボットの手先の位置、姿勢に対応する。それに対して、一般的にロボットの制御は各関節に対応するモーター（広義にはアクチュエーター）の制御により行われる。つまり、力覚制御フィルター１３０の出力（例えば手先の３次元位置ｘ，ｙ，ｚと、各軸まわりの回転ｕ，ｖ，ｗ）を、各関節の関節角θに変換するインバースキネマティクス処理が必要となり、ここでは当該インバースキネマティクス処理を逆ヤコビアンにより実現する例を考えている。
【００６２】
軌道生成部１５０は、ロボットの目標軌道（移動経路）を生成する。ここでの目標軌道は例えば手先位置であることを想定しているため、上記の逆ヤコビアン処理部１４０と同様に、各関節の関節角に変換する処理が必要となり、当該処理はインバースキネマティクス処理部１６０により行われる。つまり、軌道生成部１５０及びインバースキネマティクス処理部１６０により、目標となる移動経路を生成するとともに、関節角情報に変換する。しかし、それだけではロボットが本来有する機械的な特性による制御となるため、所望の特性を持つかのように振る舞わせるために、力覚制御フィルター１３０及び逆ヤコビアン処理部１４０からの出力値を補正情報として用いることになる。なお、教示時には力制御を行う必要はないため、力覚制御フィルター１３０や逆ヤコビアン処理部１４０は非アクティブとなっており、インバースキネマティクス処理部１６０からの出力を補正せずに用いればよい。
【００６３】
モーター制御部１７０は、インバースキネマティクス処理部１６０からの出力、及び逆ヤコビアン処理部１４０からの出力に基づいて、各関節のモーターに対する制御信号を生成、送信する。
【００６４】
モード切替部１８０は、教示時（教示モード）か動作時（動作モード）かに応じて、力覚センサー１０からの力覚情報の出力先を切り替える。具体的には、教示時には力覚情報は制御パラメーターの設定に用いられるため、ＬＰＣ分析処理部１１０に対して出力される。或いは、力覚情報は記憶部２００に出力され、ＬＰＣ分析処理部１１０に対しては記憶部２００から力覚情報が出力されるものであってもよい。一方、動作時には力覚情報は力覚制御フィルター１３０に対する入力の１つとして用いられるため、力覚制御フィルター１３０（或いはその前段の差分を求める処理部）に対して出力される。
【００６５】
記憶部２００は、制御部１００等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。記憶部２００は、教示時に取得された力覚情報（センサー情報）を記憶する。また図３に示したように、ＬＰＣ分析処理部１１０で求められた制御パラメーターを記憶してもよい。図３の例ではＬＰＣ分析処理部１１０で求められたＬＰＣ係数と予測残差を記憶するものとしたがこれには限定されない。例えば、図３のように低域通過フィルター１２０での処理後の情報をフィルター入力とする例であれば、低域通過フィルター１２０の出力値を記憶するものとしてもよい。また記憶部２００は、力覚情報や制御パラメーターを記憶するものに限定されず、他の情報を記憶してもよい。
【００６６】
２．２  教示モードの詳細
教示モードにおけるロボットの制御手法について説明する。本実施形態でロボットに行わせたい作業は、例えば図１（Ａ）に示したような作業であり、ここでは作業対象物を溝に押し込む作業である。ただし本実施形態の手法は、図１（Ａ）に示した作業に限定されず、作業台に支持された作業対象物に対する作業について広く適用可能である。
【００６７】
ロボットに図１（Ａ）の動作を行わせるための制御パラメーターを設定する場合、上述したようにロボットのアーム２０にハンドルを設けることは好ましくない。また、図１（Ａ）の例であれば、作業対象物の下（例えば凹部を有する物体の下）に力覚センサーを配置し、ユーザーによる押し込み作業を行うことでも、所望の力覚情報を取得することは可能であるが、教示のための力覚センサーを用意する必要が生じてしまう。教示はロボットの製造業者が行うのではなく、ロボットの購入者が行う場合も十分考えられ、その場合に購入者に対してロボットとは別に教示用の力覚センサー等の準備を強いることは、利便性やコストの観点から好ましいとは言えない。
【００６８】
そこで本出願人は、ロボットが有する力覚センサー１０を利用した教示手法を提案する。本実施形態では、ロボットは力制御を行うことを想定しているため、手首等の位置に力覚センサー１０を有する。この力覚センサー１０を教示に用いるものとすれば、ロボットとは別に教示用のセンサーを用意する必要はない。
【００６９】
しかし、ロボットに対して図１（Ａ）の姿勢をとらせ、ユーザーがロボットに対して力を加えるものとすると、その作業にハンドルを用いれば上述した課題が生じるし、仮にハンドルを用いないとしても、特許文献２のようにユーザー作業による力と、作業対象物からの反力とを分離する処理が必要となる。
【００７０】
そこで本実施形態では、ロボットは作業台を模擬するものとする。具体的には、ロボットはアーム２０やエンドエフェクターを用いて、図１（Ｂ）に示したように作業対象物（図１（Ｂ）の例では、押し込み対象となる筒状の物体と、当該筒状物が押し込まれる溝を有する物体の両方を含む）を支持する。
【００７１】
このようにすれば、従来手法のようにユーザーがロボットのアームを動かす必要はなく、ロボットとは関係なくユーザー自身が作業を行えばよい。つまり、本実施形態により得られた力覚情報は、ロボットに実行させたい作業との対応が非常によくとれていることが期待される。
【００７２】
また、作業台を模擬する際のロボット制御も容易に実現できる。ユーザーによる作業は、ロボットに実行させたい作業と同様の環境で行うことが好ましいため、作業台を模擬するのであれば作業台の特性に対応した制御を行うことになる。しかし、一般的に作業台が大きく凹んだり傾いたりすることは作業の効率上考えにくく、実際の作業台が多少の弾性があったり、姿勢変化が生じたりするとしても、作業台を模擬するロボットはあたかも剛体の作業台であるかのように、手先の位置姿勢を不変とするような制御を行えば十分である。その際も、完全に手先の位置姿勢を不変にする必要はなく、作業を行うユーザーに影響を与えない（具体的には、実際の作業台を用いた作業と、作業台を模擬したロボットを用いた作業とで、感覚的な差異が大きくない）程度であればよい。よって一例としては、ロボットの手先の位置姿勢をフィードバックし、位置姿勢の変化を０に近づける方向のフィードバック制御を行うことが考えられる。なお、ここで示した作業台を模擬するロボット制御は一例であり、他の制御により作業台を模擬することを妨げない。
【００７３】
上述したように、教示時には力制御を行う必要はないため、力覚制御フィルター１３０や逆ヤコビアン処理部１４０は非アクティブであり、力覚センサー１０からの力覚情報は制御パラメーターの設定に用いられる。
【００７４】
また、教示時の力覚情報を用いた制御パラメーターの設定は、教示時に行われるものであってもよいが、それに限定されない。例えば、教示時の力覚情報は記憶部２００に随時記憶しておき、動作モード開始までの所与のタイミングにおいて、ＬＰＣ分析処理部１１０、低域通過フィルター１２０による処理を行って制御パラメーターを設定してもよい。一例としては、マシンパワーに余裕のある時間帯にバッチ処理的に実行するものであってもよい。
【００７５】
図４に本実施形態の教示処理の流れを示す。教示処理が開始されると、まず力覚情報の記録を開始する（ステップＳ１０１）。これはモード切替部１８０において、力覚情報を記憶部２００に出力するモードに設定する処理に対応する。そして、ユーザー（作業者）による作業を受け付け、その際の力覚情報を記憶し（ステップＳ１０２）、作業終了時に、力覚情報の記憶も終了する（ステップＳ１０３）。
【００７６】
そして記録した力覚情報に基づいてＬＰＣ分析を行い（ステップＳ１０４）、その結果得られたＬＰＣ係数をフィルター係数とするデジタルフィルターを構成する（ステップＳ１０５）。また、ＬＰＣ分析により得られた予測残差に対して、適宜低域通過フィルター処理を行って作業力（デジタルフィルターに対する入力の１つ）を求める（ステップＳ１０６，ステップＳ１０７）。なお、ステップＳ１０４〜ステップＳ１０７の処理の詳細については後述する。
【００７７】
２．３  力覚情報に基づく制御パラメーター設定処理の一例
力覚情報に基づく制御パラメーターの設定処理として、線形予測分析処理を行う例について説明する。なお、本実施形態では教示時に取得された力覚情報に基づいて、どのように制御パラメーターを設定するかは任意であり、線形予測分析処理以外の処理を用いることも可能である。
【００７８】
２．３．１  線形予測分析処理の概要
図５にユーザーによる作業で得られた力覚情報の例を示す。ここではコネクタをはめ込む作業（例えば図６）を行っており、縦軸下方向がコネクタをはめ込む方向の力であり、横軸が時間を表す。図５からわかるように、初期の押し込み時には単純に摩擦力がはたらくため、ほぼ一定の力で押し込むことになる。その後、コネクタがツメを持つ構造であったため、当該ツメのかみ合わせの際に大きな力を加えている。そして、押し込む力はツメが山を越える部分で最大となり、山を越えると小さくなる。作業をしているユーザーは、山を越えたことを検知して、押し込み力を徐々に解放することになる。
【００７９】
本実施形態では、図５に示したような力覚情報に基づいて、制御パラメーターを設定することになる。この力覚情報は、狭義には力覚値の時間変化を表す情報である。制御パラメーターを設定するためのモデル化について、図７（Ａ）〜図７（Ｃ）に模式図を示す。教示時には、図７（Ａ）に示したように、作業者は作業対象物との間で、作業力と反力の作用の元で作業を行う。この作業者の特性を完全に表現するパラメーターが設定可能であれば、当該パラメーターを用いることで、教示時の作業者の作業を、ロボットにより完全に再現することが可能になる。しかし、作業者の特性は非常に複雑であり、そのようなパラメーター設定は現実的ではない。
【００８０】
そこで本実施形態では、図７（Ｂ）に示したように、加えたい真の力（真の変位と表現してもよい）を発生させる部分と、当該真の力に対して制御変調を加える部分とから、作業者が構成されるというモデル化を行う。特に力制御をインピーダンス制御で実現するとすれば、図７（Ｂ）の制御変調部分は質量ｍ，粘性μ，弾性ｋで表されるため、図７（Ｃ）に示したようにモデル化できる。
【００８１】
或いは、ロボットの力制御が一般的に図７（Ｃ）のモデルを用いて行われているという点からスタートして、図７（Ｂ）のように一般化できると考えてもよい。広く用いられている力制御では、ロボットがあたかも質量ｍ，粘性μ，弾性ｋという特性を有するかのように振る舞わせる。その際、図７（Ｃ）に示したｍ，μ，ｋから構成される部分は、それ自体が力を発生させるものではなく、入力された力を変調するものであるため、当該変調部分とは別に、力を発生させる部分を持つものとしてモデル化を行うことは自然である。つまり、ロボットの力制御が図７（Ｃ）のモデルを用いる以上、作業者のモデル化も図７（Ｂ）の形で行われると考えるのは自然と言える。
【００８２】
そして、図７（Ｂ）のようにモデル化をした場合、真の力は制御変調部分による変調を受けて、作業力として外部に出力され、例えば力覚センサー１０等で検出される。このようなケースにおいて、出力された（つまりは変調後の）情報に基づいて、真の力と変調特性とを求める手法は、音声認識等の分野において線形予測分析処理として広く知られている。音声の分野では、声帯の振動により真の力が発生され、それが舌の位置や口の開け方等で決定される変調特性（共鳴特性）による変調を受けて、音として外部に出力されるという考え方が広く用いられており、単純でありながら精度のよいモデル化であることが知られている。
【００８３】
本実施形態では、教示時に記憶した力覚センサー１０からの力覚情報は、作業者が出力した力であるため、当該力覚情報に対して線形予測分析処理を行い、真の力と制御変調部分の特性を求める。図７（Ｃ）がインピーダンス制御に対応することからも明らかなように、求めた制御変調部分の特性に従ってロボットの力制御を行うことで、ロボットがあたかも所望の（ここでは作業者の作業を再現する）特性を持つように制御を行うことができる。
【００８４】
ここで、線形な変調特性は、一般的に下式（２）に示したような（ｍ＋１）次の線形和モデルで表現できることが知られており、下式（２）のモデルが図８（Ａ）に示したような無限インパルス応答（ＩＩＲ）フィルタとして実現できることも知られている。つまり、線形予測分析処理により制御変調部分の特性が決定された場合には、当該制御変調部分を図８（Ａ）のフィルターにより実現すればよい。このフィルターが図３に示した力覚制御フィルター１３０に対応する。なお、線形予測分析処理での次数は原理上（精度や効率を考えなければ）任意に設定可能であるが、次数を２次とした場合には、下式（３）及び図８（Ｂ）に示したように、ｍ，μ，ｋに対応する通常のインピーダンス制御を行うものになる。
【００８５】
【数２】
2014184516.tif 000004
【数３】
2014184516.tif 000005
【００８６】
デジタルフィルターのフィルター係数は、線形予測分析処理により制御変調部分の特性として取得されるＬＰＣ係数を用いればよい。このフィルター係数は、デジタルフィルターの次数を２次とした場合であっても、質量ｍ，粘性μ，弾性ｋという物理的な特性の値と一致するものではないため、ｍ，μ，ｋを求める必要がある場合には、何らかの変換処理が必要となる。ただし、通常の力制御においては、デジタルフィルターが構成できれば、当該デジタルフィルターがどのような物理特性に対応するかを意識する必要はないため、ｍ，μ，ｋを求めなくてもよい。
【００８７】
また、上式（２）、（３）に対して、図８（Ａ）、図８（Ｂ）のデジタルフィルターは予測残差ｅｎが考慮されていない。作業者の作業を再現するするためには、制御変調部分を再現するだけでなく、真の力についても再現することが望まれるところ、図８（Ａ）、図８（Ｂ）のフィルターだけでは真の力の考慮が足りないことになる。そこで本実施形態では、図８（Ａ）、図８（Ｂ）のデジタルフィルターの入力の１つとして予測残差ｅｎ（或いは予測残差に対して低域通過フィルター１２０を作用させた情報）を用いるものとする。具体的には、図３のブロック図に示したように、動作時の力覚センサー１０からの力覚情報（ｆ）と、予測残差ｅｎに基づく情報との差分情報を、図８（Ａ）、図８（Ｂ）のデジタルフィルターの入力とする。なお、ここでは予測残差ｅｎはロボットのエンドエフェクターが作業対象物に与えた力、すなわち力覚センサー１０が実際に検出する反力の符号を反転させた値とした場合を考慮して差分情報としており、値の正方向の取り方によっては差分ではなく加算処理の結果等を用いることになる。
【００８８】
２．３．２  線形予測分析処理
線形予測分析処理の考え方を図９に示す。取得された力覚情報を周波数軸に変換した図が右側上段となる。線形予測分析処理とは、力覚情報に基づいて、変調特性を表すＬＰＣ係数と、真の力を表す予測残差を求める処理であり、ＬＰＣ係数とは右側中段に示したように、力覚情報のスペクトラムのエンベロープに対応するものである。つまり図９に示したように、求められた予測残差に対して、求められたＬＰＣ係数に対応する変調を加えることで、観測値の周波数特性が求められることになる。つまり、図１０に示したように、線形予測分析処理の結果のうち、ＬＰＣ係数から制御変調部分が推定され、予測残差から真の力が推定される。本実施形態の処理と、線形予測分析処理の考え方を対応させたものが図１１である。
【００８９】
線形予測分析処理では、具体的には観測値から自己共分散を求め、それにより作られるYule-Walker方程式を解くことで、ＬＰＣ係数を求める処理を行うことになる。Yule-Walker方程式を高速で解くためには、Levinson-Durbinアルゴリズム等が知られている。なお、線形予測分析処理自体は公知のものであるため、詳細な説明は省略する。
【００９０】
２．３．３  変形例
上述したように、線形予測分析処理においては次数を任意に設定可能である。よって、インピーダンス制御に対応する制御を行う場合には次数を２次にすればよい。或いは次数Ｎとして固定値を用いて線形予測分析処理を行ってもよい。線形予測分析処理の次数はデジタルフィルターの段数に対応し、デジタルフィルターの段数が多くなればなるほど、作業者の力覚情報の周波数特性を正確に表現できる。つまり運動方程式にこだわらなければ、２次よりも大きな次数のデジタルフィルターを用いることにより、より作業者の力覚に近い制御を実現することが可能となる。
【００９１】
しかし、Ｎを固定値とした場合には、十分な精度が得られない場合や、精度は十分であるが次数が過剰であり効率的でない場合があり得る。図８（Ａ）や図８（Ｂ）で上述したＩＩＲフィルターは全極型のフィルターであり、全極型デジタルフィルターの原理より、その次数がＮの時、そのフィルターは最大Ｎ／２個の極（つまりピーク）を持ち得る。つまり、入力波形（ここでは力覚情報の周波数軸での波形）のスペクトラム包絡のピークがＰである時、分析次数Ｎを２Ｐとすることにより、その周波数特性のスペクトラム包絡を、ＩＩＲフィルターで表現することができる。
【００９２】
具体例を図１２（Ａ）〜図１３（Ｈ）に示す。なお、図１２（Ａ）〜図１３（Ｈ）については、http://hil.t.u-tokyo.ac.jp/~sagayama/applied-acoustics/2009/C1-LPC.pdfに開示されている資料を参照したものである。図１２（Ａ）のＡ１が入力波形であり、Ｂ１が線形予測分析処理の結果求められた推定結果である。以下図１２（Ｂ）〜図１３（Ｈ）についてもＡｉ（ｉ＝２〜１６）が入力波形、Ｂｉが推定結果に対応する。ここで図１２（Ａ）〜図１２（Ｈ）は線形予測分析処理の次数が１次〜８次の例であり、図１３（Ａ）〜図１３（Ｈ）がそれぞれ９，１０，１２，１４，１６，１８，２２，２６次の例である。
【００９３】
図１２（Ａ）等で対象としている入力波形は５つのピークＣ１〜Ｃ５を有する。これに対して１次〜８次の例では、次数が上がるほど、推定結果が入力波形のスペクトラム包絡に近づくことがわかるが、８次であっても５つのピーク全てを十分表現し切れていない。
【００９４】
そして、図１３（Ａ）の９次の例でも、Ｃ１やＣ３付近では推定結果がピークに対応しきれていないのに対して、図１３（Ｂ）の１０次の例であれば、ある程度入力波形と推定結果のピークの位置が対応していると考えられる。その後、図１３（Ｃ）以降に示したように、次数を大きくするほど精度が高くなるが、１２次より大きくした場合に、１次〜１０次の変化に比べて、劇的な改善は見られない。
【００９５】
線形予測分析処理の次数を大きくすれば、それだけ処理負荷が増大するし、線形予測分析処理の結果から構成されるデジタルフィルターの段数が増加することで、フィルター処理での遅延も長くなってしまう。つまり、Ｎを十分大きい値として推定精度を確保することは当然として、所与の次数である程度の（例えば誤差が問題とならない程度の精度で）線形予測分析処理を行うことができるのであれば、それよりも大きい次数での線形予測分析処理をできるだけ避けるという観点も有用といえる。
【００９６】
そこで線形予測分析処理の変形例としては、次数Ｎを固定にするのではなく、可変に設定してもよい。音声分野で線形予測分析処理を行う場合には、１０次程度でよい結果が得られることが広く知られているため、次数を可変にすることはあまり行われないが、線形予測分析処理をロボット制御に適用する際には、所望の作業によって特性が大きく異なるため、本変形例を用いる利点が大きい。
【００９７】
次数を可変にする手法は例えば２つ考えられる。第１の手法では、入力信号である力覚情報（図９左側）が得られた場合に、図９の右側上段に示したように当該力覚情報に対して周波数分析を行う。周波数軸上での情報が取得されれば、そこからピーク数Ｐを検出し、上述の原理に従いＮ＝２Ｐとして次数Ｎを設定すればよい。なお、信号波形からのピークの検出は、信号処理の分野で種々の手法が知られているため、詳細な説明は省略する。
【００９８】
また、第２の手法では、残差の飽和度合いに基づいてＮを設定する。上述の説明のように、分析次数が大きくなるに伴い、線形予測の精度が高まり残差が小さくなる。しかし、その残差は、上述したように、ある次数（２Ｐ）を超えると、ほぼ飽和する。従って、残差のパワーの変化の割合を見ることにより、最適な分析次数Ｎを推定することができる。
【００９９】
残差の飽和する次数を求める手法は種々考えられる。例えば、Ｎ次の線形予測分析を行い、残差の平均振幅と、入力の平均振幅の比を求めるとともに、（Ｎ＋１）次の線形予測分析を行い、残差の平均振幅と、入力の平均振幅の比を求める。そして上記の２つの残差の比が所定の範囲、例えば１．０±０．１の範囲外の場合、Ｎをインクリメントして再度処理を行う。また上記の２つの残差の比が所定の範囲、例えば１．０±０．１の範囲内の場合、その際の値を用いてＩＩＲフィルターを構成する（つまり、結果としてＮ次の線形予測分析処理を行ったことになる）。
【０１００】
なお、残差のパワーの絶対値、あるいは、残差のパワーと入力のパワーの比などは、入力データの特性に強く依存するために、最適な次数の推定に用いるのは適切ではない。よって、上述した例のように、複数の次数でそれぞれ残差に基づく情報を求め、それらの比較処理を行って次数を推定するとよい。
【０１０１】
２．３．４  シミュレーションデータによる補足説明
次に、上述の線形予測分析処理に基づく、ロボット制御のパラメーター設定が実現可能であることを、シミュレーションデータを用いて説明する。具体的には図１４に示したように、仮想的な真の力を設定し、それに対して所与の物理特性（ｍ，μ，ｋ）に対応する変調を加えた情報を観測データとし、当該観測データに対して線形予測分析処理を行う。ここでは、シミュレーションであるため真の力、及びｍ，μ，ｋ（具体的にはそれらにより決定されるデジタルフィルターのフィルター係数）の値は既知である。つまり、上記の観測データから、真の力とフィルター係数を推定し、それらが正解データに近いものとなれば、上述した手法は実現可能であると言える。
【０１０２】
ここでは、ｍ，μ，ｋの正解データとして、ｍ＝１０、μ＝２０、ｋ＝３０という値を設定した。その場合、図８（Ｂ）に示したデジタルフィルターのフィルター係数は、Ｃ０＝9.900168*10^(-6)、Ｃ１＝1.979902、Ｃ２＝-0.9801987となり、当該デジタルフィルターのインパルス応答は図１５に示したものとなる。
【０１０３】
また、仮想作業として図６に示したように穴にピンを差し込む作業を考える。この場合、穴にピンが挿入されるに従って摩擦力が大きくなると考えられるため、理想的な真の力は図１６（Ａ）に示したものとなる。また、実際には摩擦力の変動によりランダムな力が加わると考えられるため、図１６（Ａ）の力に対して最大１／８の大きさの乱数を加えた図１６（Ｂ）を真の力とする場合についてもシミュレーションする。
【０１０４】
そして、上述のデジタルフィルターと図１６（Ａ）の力から求められたデータが図１７（Ａ）、デジタルフィルターと図１６（Ｂ）の力から求められたデータが図１７（Ｂ）である。人間による作業では、力の加減が行われるため、力の増減はゆっくり行われることになり、作業時のランダムな反力については、それを受け流すように制御が行われる。つまり、デジタルフィルターとして上述の特性を有するものを考え、観測データとして図１７（Ａ）或いは図１７（Ｂ）を用いることは妥当であると言える。
【０１０５】
図１７（Ａ）を観測データとして線形予測分析処理を行った結果が図１８（Ａ）である。図１８（Ａ）は予測残差（つまり真の力の推定結果）であり、ＬＰＣ係数（フィルター係数）は、Ｃ０＝1.463516*10^(-7)、Ｃ１＝1.999323、Ｃ２＝-0.9994181である。これからわかるように、制御変調部分に対応するフィルター係数も、上記正解データに近い値が推定でき、真の力の推定値である図１８（Ａ）も、正解データ図１６（Ａ）に近い特性が得られている。
【０１０６】
同様に図１７（Ｂ）を観測データとして線形予測分析処理を行った結果が図１８（Ｂ）である。図１８（Ｂ）は予測残差であり、ＬＰＣ係数（フィルター係数）は、Ｃ０＝1.425839*10^(-7)、Ｃ１＝1.999343、Ｃ２＝-0.9994374である。これからわかるようにランダムノイズを考慮した場合においても、制御変調部分に対応するフィルター係数も、上記正解データに近い値が推定でき、真の力の推定値である図１８（Ｂ）も、正解データ図１６（Ｂ）に近い特性が得られている。
【０１０７】
以上の結果から、上述した本実施形態の手法は実現が可能であると言うことができる。
【０１０８】
次に、線形予測分析処理の次数と推定精度の関係についてのシミュレーションを説明する。図１９が正解データとして用意したデジタルフィルターのインパルス応答であり、このデジタルフィルターは図２０の「シミュレーション仮定値」に示したＣ０〜Ｃ４の値をフィルター係数とする４次のフィルターである。
【０１０９】
そして、図２１（Ｂ）が正解データとして用意した真の力であり、図１９のフィルターと図２１（Ｂ）の真の力から取得される観測データが図２１（Ａ）である。ここでは、図２１（Ａ）の観測データに対して、複数の次数での線形予測分析処理を行っている。シミュレーションの結果のうち、フィルター係数を図２０の表、推定した真の力を図２２（Ａ）〜図２２（Ｃ）に示す。図２０の残差平均値が推定誤差を表すものであり、小さいほど推定精度が高いことになる。
【０１１０】
２次の線形予測分析処理では、図２２（Ａ）を見ればわかるように、正解データである図２１（Ｂ）とは大きく異なる値となっており、図２０からも誤差が大きく、適切な推定ではないと言える。
【０１１１】
それに対して、３次の線形予測分析処理では、フィルター係数自体は次数の違いもあり正解データとは異なるものの、図２２（Ｂ）からわかるように図２１（Ｂ）の正解データを十分再現できており、適切な推定である。また、４次の線形予測分析処理についても図２０や図２２（Ｃ）から明らかなように適切な推定であり、５次以上についても同様である。
【０１１２】
現実の処理においては、正解データを知ることができない以上、正解の次数とは異なる次数の線形予測分析処理を行うこと自体には何ら問題はない。図２０、図２２（Ａ）〜図２２（Ｃ）のシミュレーションデータが示しているのは、３次以上の次数であっても本実施形態の手法は実現可能である点、ある次数以上であれば適切な結果が得られるのに、それより小さい次数では適切な結果が得られないことがあるという点、所与の次数で適切であるならば、当該所与の次数より次数を大きくしても、精度向上の効果は大きくないという点、である。
【０１１３】
つまり以上のシミュレーションデータから、２次或いは３次以上の線形予測分析処理を用いて本実施形態の手法を実現可能であり、且つ、上述した変形例のように線形予測分析処理の次数を可変に設定する手法が有用であることがわかる。
【０１１４】
以上の本実施形態では、ロボットは図３に示したように、力覚センサー１０と、力覚センサー１０からのセンサー情報に基づいて、ロボット制御を行う制御部１００と、記憶部２００を含む。そして、制御部１００は、教示モードでは、ロボットに作業対象物又は作業台を模擬させるロボット制御を行い、記憶部２００は、教示モードにおいて得られたセンサー情報を、動作モードにおいて使用される制御パラメーターの設定用情報として記憶する。
【０１１５】
これにより、ロボットに作業台又は作業対象物を模擬させて得られたセンサー情報（力覚情報）を制御パラメーターの設定用情報として記憶することが可能になる。作業台を模擬する制御は図１（Ｂ）を用いた上述したものが考えられる。また、作業対象物を模擬する制御は図２（Ｂ）等を用いて第２の実施形態で後述する。ロボットに作業台等を模擬させることで、特許文献１，２のようにハンドル等の機構を用いてロボットに力を加えることがなくなるため、ロボットに実行させたい作業による力を適切に教示することが可能になる。その際、ロボットが力制御用に有している力覚センサー１０を利用可能であるため、別途教示用の力覚センサーを用意する必要がなく、コスト等の面で有利である。
【０１１６】
また、制御部１００は、動作モードでは、教示モードでのセンサー情報に基づいて設定された制御パラメーターと、動作モードでの力覚センサーからのセンサー情報とに基づいて、ロボット制御として力制御を行ってもよい。
【０１１７】
これにより、教示モードで取得したセンサー情報から制御パラメーターを設定しておき、動作モードでは当該制御パラメーターと動作モード時のセンサー情報から力制御を行うことが可能になる。つまり上述したように、本実施形態での力覚センサー１０は、教示モードでは制御パラメーターの設定に用いられ、動作モードでは力制御に用いられるものであり、センサーの共通化が可能である。
【０１１８】
また、制御部１００は、教示モードでのセンサー情報に基づいて、制御パラメーターとしてデジタルフィルターのフィルター係数を設定し、動作モードでは、設定したフィルター係数を用いたデジタルフィルター処理により、力制御を行ってもよい。
【０１１９】
これにより、力制御をデジタルフィルター処理により実行すること、及び上記制御パラメーターとしてデジタルフィルターのフィルター係数を設定することが可能になる。例えば、力制御としてインピーダンス制御を行う場合には、図７（Ｃ）の制御変調部分に示したように、ロボットがあたかも質量ｍ，粘性μ，弾性ｋを有するかのように振る舞わせる。そして、図７（Ｃ）の機械的な構造は、外部からの力に対して変調を加えるものであり、一般的に線形な変調特性は上式（２）で表され図８（Ａ）のＩＩＲフィルターで実現可能であることが知られている。つまりインピーダンス制御をデジタルフィルターで構成することは原理的に可能なことであり、これはインピーダンス制御に限定されない力制御に一般化する（フィルターを３次以上のものに一般化することに対応）ことも可能である。よって本実施形態では、力制御をデジタルフィルター処理で行うものとし、その場合の上記制御パラメーターは当該デジタルフィルターのフィルター係数とする。
【０１２０】
また、制御部１００は、教示モードでのセンサー情報に基づいて、制御パラメーターとしてロボットの作業力を設定し、設定した作業力と、動作モードでの力覚センサーからのセンサー情報とに基づいて、デジタルフィルターに対する入力情報を設定してもよい。
【０１２１】
これにより、制御パラメーターとしてフィルター係数だけでなく作業力（上述してきた「真の力」に対応し、線形予測分析処理の結果のうちの予測残差に対応）を用いることが可能になる。図７（Ｂ）に示したように、本実施形態では作業者の特性を真の力を発生させる部分と、制御変調部分とによりモデル化している。制御変調部分は上述したデジタルフィルターにより実現されるが、図７（Ｂ）のモデルに従えば、真の力を発生させる部分も適切に制御パラメーターに反映しなければ、作業者の作業をロボットに再現させることはできない。そこで本実施形態では、真の力については、制御変調部分に対応するデジタルフィルターの入力値として用いるものとしている。
【０１２２】
また、動作モードにおいて、ロボットが作業対象物に与える力を力覚センサーのセンサー情報として取得する場合に、制御部１００は、作業力と、動作モードでの力覚センサー１０からのセンサー情報との差分情報をデジタルフィルターに対する入力情報として設定してもよい。
【０１２３】
ここで、動作モードでの力覚センサー１０からのセンサー情報とは、ロボット（狭義にはロボットのエンドエフェクター）が作業対象物に加えた力を検出した情報であると定義し、その場合の入力情報をセンサー情報と作業力の差分情報としている。ただし、力覚センサー１０のセンサー情報を作業対象物からロボットに加えられた力（ロボットが加えた力の反力）とする実施例も当然考えられ、本実施形態でもセンサー情報をそのように定義してもよい。その場合、上記定義とはセンサー情報の値の正方向が反転するため、入力情報としてはセンサー情報と作業力の加算情報を用いることになる。
【０１２４】
これにより、上記作業力（真の力）と、動作モードでのセンサー情報の差分情報を、デジタルフィルターの入力として用いることが可能になる。上述したように、作業力を考慮しなければ図７（Ｂ）の作業者を再現する制御パラメーターとしては不十分である。また、実際の動作時のセンサー情報（力覚情報）を用いなければ、そもそも力制御として不適切となる。よって、この両方を適切に用いることが必要であるところ、上式（２）等を考慮すれば、作業力とセンサー情報の差分情報（差分に基づき得られる情報であり、差分そのものに限定されない）をデジタルフィルターの入力とするとよい。
【０１２５】
また、制御部１００は、デジタルフィルター処理として、２次のデジタルフィルターを用いた処理を行ってもよい。
【０１２６】
これにより、質量項、粘性項、弾性項を考慮した図７（Ｃ）のようなモデルに対応する制御、すなわち力制御のうち特にインピーダンス制御を実行することが可能になる。
【０１２７】
また、制御部１００は、デジタルフィルター処理として、３次以上のデジタルフィルターを用いた処理を行ってもよい。
【０１２８】
これにより、インピーダンス制御に限定されず、より一般化した力制御を行うことが可能になる。３次以上とした場合、図７（Ｃ）のような機械的な構造と対応づけることは困難になるが、一般的なデジタルフィルターは次数を大きくするほど、より細かな特性を表現可能になる。つまり、デジタルフィルターを３次以上とすれば、質量、バネ、ダンパーからなる図７（Ｃ）の構造に限定されない、より複雑な特性も再現可能になると考えられる。
【０１２９】
また、制御部１００は、教示モードでのセンサー情報に対して線形予測分析処理を行うことで、制御パラメーターを求めてもよい。
【０１３０】
これにより、センサー情報から制御パラメーターを求める際に、線形予測分析処理を用いることが可能になる。従来、線形予測分析処理は音声分野で広く用いられていたが、ロボットの制御パラメーターの設定に用いることは考えられていなかった。しかし上述したように、ロボットを図７（Ｂ）のようにモデル化するのであれば、制御パラメーターの設定処理とは、観測値（教示モードでのセンサー情報）から真の力と変調特性とを分離して、それぞれを特定する処理に落とし込むことが可能であり，当該処理は線形予測分析処理により実現可能である。なお、このような手法が実現可能であることは、シミュレーションデータを用いて上述したとおりである。
【０１３１】
また、制御部１００は、作業者が作業を行う作業対象物を、ロボットのアームのエンドエフェクターが作業台として支持する制御を、ロボットに作業台を模擬させるロボット制御として行ってもよい。
【０１３２】
これにより、ロボットが作業台を模擬するロボット制御として、図１（Ｂ）に示した制御等を行うことが可能になる。具体的には、エンドエフェクターが作業対象物を支持するだけでなく、当該エンドエフェクターの空間的な位置、姿勢を固定する制御を行ってもよく、その場合固い（力を加えても移動、変形が少ない）作業台を用いた場合と同様の環境を作業者に提供することができる。ただし、作業台を模擬するロボット制御はこれに限定されない。
【０１３３】
また以上の本実施形態は、教示モードでは、ロボットを作業台として、作業台であるロボットに支持される作業対象物に対する作業者の作業による力を力覚センサー１０のセンサー情報として取得する処理、又はロボットを作業対象物とする作業者の作業による力を、力覚センサー１０のセンサー情報として取得する処理を行い、動作モードでは、教示モードにおいて取得したセンサー情報と、動作モードにおいて力覚センサーから取得したセンサー情報とに基づいて、ロボット制御を行うロボットに適用可能である。
【０１３４】
これにより、教示モードで取得したセンサー情報に基づいて、動作モードでのロボット制御を行うロボットを実現することができる。なお、教示モードにおいては、ロボットは作業対象物を支持するか、或いはロボット自身が作業対象物となることで、ロボットが有する力覚センサー１０により、作業者の作業による力を検出可能であるものとする。
【０１３５】
３．第２の実施形態
第２の実施形態として、図２（Ｂ）に示したようにロボットが作業対象物を模擬する例について説明する。
【０１３６】
３．１  システム構成例
図２３に本実施形態に係るロボットのシステム構成例を示す。第１の実施形態で説明した図３と比較すると、制御部１００に模擬力出力部１８５と、転置ヤコビアン処理部１９０が追加された構成となっている。その他の構成については、第１の実施形態と同様であるため、詳細な説明は省略する。
【０１３７】
模擬力出力部１８５は、ロボットが模擬している作業対象物により発生する力を模擬した模擬力情報を生成、出力する。例えば、作業対象物は質量を有するため重力がはたらくことになる。模擬力出力部１８５は、作業対象物の特性（重力の例であれば質量の値）に基づいて、重力等の模擬力を出力する。ただし、模擬力は重力に限定されるものではない。
【０１３８】
転置ヤコビアン処理部１９０は、模擬力出力部１８５により出力された模擬力情報に対して転置ヤコビアンによる処理を行って、制御情報を生成する。詳細については後述する。
【０１３９】
なお、模擬力出力部１８５及び転置ヤコビアン処理部１９０は、教示時にアクティブとなるものであり、力制御を行う動作時には非アクティブである。
【０１４０】
３．２  教示モードの詳細
本実施形態での教示モードの詳細について説明する。本実施形態では、ロボットに対して図２（Ａ）に示したような動作を行わせることを考えており、そのための制御パラメーターをユーザー作業による教示で設定するものである。図２（Ａ）は双腕ロボットを用いて作業対象物を把持する作業であり、例えば作業対象物を持ち上げて他の場所へ移動する作業に適用することができる。このような作業では、作業対象物に対してロボット（教示時には作業者）が与える力は、作業対象物に対する内力となり、第１の実施形態の作業台のような作業対象物以外の物体に対して伝達されることがない。
【０１４１】
つまり、図２（Ａ）の動作を作業者が教示する場合には、ロボットが作業台等の作業対象物以外の物体を模擬したとしても、当該ロボットの力覚センサーは何ら適切な力覚情報を検出することができない。よって本実施形態では、図２（Ｂ）に示したようにロボットが作業対象物を模擬し、教示を行うユーザーはロボット（狭義にはロボットのエンドエフェクター）が作業対象物であるものとして図２（Ａ）に対応する作業を行う。
【０１４２】
この場合、ロボットは図２（Ｂ）に示したように、当該ロボットのエンドエフェクターが作業対象物の表面に対応する位置となるように制御される。ただし、作業対象物の大きさだけを再現したのでは不十分である。例えば作業対象物を持ち上げる場合、作業対象物が重い場合には、作業対象物が軽い場合に比べて当該作業対象物を挟み込む力は大きくなるはずであり、本実施形態での教示（及び制御パラメーターの設定）はそれら作業対象物の特性を考慮して行われなければ意味がない。
【０１４３】
そこで本実施形態では、作業対象物の特性を考慮して、当該作業対象物により発生する力である模擬力を求める。この処理は図２３に示した模擬力出力部１８５で行われる。模擬力としては例えば上述した重力が考えられ、ロボットが重力が作用する作業対象物を模擬する場合、エンドエフェクターにおいて重力に対応する力を発生させればよいことになる。図２（Ｂ）の例であって、作業対象物の重量が均等であるとの条件であれば、２つのエンドエフェクターにそれぞれ重力方向にｍｇ／２の力を発生させれば、その合力は質量ｍの作業対象物にはたらく重力の模擬力とすることができる。
【０１４４】
この場合、作業者がロボットに全く力を加えなければ、ロボットのエンドエフェクターは重力方向へ移動することになる。そして、作業者がロボットのエンドエフェクターが移動しないように力を加えれば、それは質量ｍの作業対象物を把持する作業を教示していることに他ならない。つまり本実施形態では、模擬力に応じて運動しようとしているエンドエフェクターに対する作業者の応答を力覚情報として取得し、取得した力覚情報に基づいて制御パラメーターを設定することになる。
【０１４５】
なお、上述したように模擬力はエンドエフェクターが発生させるべき力として求められることが想定される。それに対して、一般的な多関節ロボットは各関節のモーターを制御する。つまり、エンドエフェクターで発生させるべき所望の力が取得された場合、当該力の発生に必要な各関節のトルクを求める必要が生じる。
【０１４６】
ここでロボット制御で用いられるヤコビアンは、図２４のＪに示したように、関節の微少変位を手先の微少変位に変換するものである。具体的には、関節角の変位に対してＪを作用させることで、手先位置の変位を求めるものとなる。つまり、ヤコビアンはある関節がトルクを発生した場合、当該トルクが手先においてどの方向の力として作用するかを求めるものと言うことができる。これはつまり、図２４に示したように手先での力ｕｎがわかった場合には当該力に転置ヤコビアンＪＴを作用させれば、当該力の発生に必要な各関節のトルクを求めることができることになる。本実施形態では、図２３の転置ヤコビアン処理部１９０がこれに対応し、模擬力出力部１８５から出力された模擬力情報（エンドエフェクターにおける力）に転置ヤコビアンによる処理を行い、各関節のトルクを求めている。なお、転置ヤコビアン処理部１９０での処理は、トルク分配としてロボット制御において広く知られているものであり、これ以上の詳細な説明は省略する。
【０１４７】
以上が、本実施形態における教示モードの詳細である。第１の実施形態と比べた場合、ロボットの模擬対象が作業台ではなく作業対象物となる点が異なるが、ユーザー作業により力覚情報を取得した後の処理については第１の実施形態と同様に考えることができる。図２５に本実施形態の処理の流れを示す。この処理が開始されると、まず作業対象物による模擬力を発生させる（ステップＳ２０１）。その後の処理であるステップＳ２０２〜ステップＳ２０８については、上述したとおり図４のステップＳ１０１〜ステップＳ１０７と同様である。
【０１４８】
なお、模擬力としては単純な重力以外の力を発生させてもよい。例えば、作業対象物が中空の箱と、当該箱の内部に収納された収納物から構成されているような場合、箱の内部で収納物が倒れたり、転がったりすることではたらく力が変化する。例えば、収納物が転倒すれば、箱との衝突時には瞬間的に大きな力がはたらくことになる。また、収納物の箱内部での位置が変化すれば、作業対象物全体としての質量が一定であっても重量バランスは変動する。具体的には作業対象物の一方側に比べて他方側が重くなるといったことが考えられる。そこで模擬力としては、これらの力に対応した力を発生させるものとしてもよい。上記例であれば、瞬間的に重力方向へはたらく力を大きくしたり、複数のエンドエフェクターでそれぞれ異なる力を発生させることで重量バランスの変化に対応させることが考えられる。このように、模擬力としてさまざまな力を発生させれば、作業時のユーザーの動特性に関する情報を多く取得することができるため、より適切な制御パラメーターの設定を行うことが可能になる。
【０１４９】
その他の例としては、重力方向に大きい力を発生させてもよく、その場合作業対象物が滑り落ちそうになった際のユーザーの作業特性を力覚情報として取得することが可能である。或いは、作業対象物を移動させる際に壁等に衝突させた場合には、当該衝突による力が作業対象物に加わることになる。例えば、箱状の作業対象物の上面が衝突すれば重力方向への力となるし、底面が衝突すれば重力方向とは反対方向の力となる。そのような力を模擬力とした場合のユーザーの作業特性を力覚情報として取得すれば、ロボット制御中に衝突等の予期せぬ事態が生じた際に、作業対象物の落下等の深刻な事態の発生を抑止できる。また、別の例としては、作業対象物の質量だけでなく、粘性や弾性を考慮して模擬力を発生させてもよい。例えば上述の衝突のように、作業対象物の外部からの力を模擬力とする際には、粘性や弾性を考慮することで、作業対象物を理想的な剛体とした場合とは異なる模擬力を発生させることができる。なお、模擬力は上述した力に限定されるものではなく、種々の力を発生させることが可能である。具体的には、実際のロボット制御の場面において、作業対象物にはたらくことが想定される力を模擬力とすることが有用である。
【０１５０】
以上の本実施形態では、ロボットの制御部１００は、ロボットの第１のアームのエンドエフェクターと、ロボットの第２のアームのエンドエフェクターを、作業者が作業を行う作業対象物の表面に対応する位置に設定する制御を、ロボットに作業対象物を模擬させるロボット制御として行う。
【０１５１】
これにより、図２（Ｂ）等に示したようなロボット制御により、ロボットに作業対象物を模擬させることが可能になる。なお、本実施形態ではアームが２本の例を示したが、アームが３本以上であってもよく、その場合作業者は両手の他、胸等で作業対象物を支持したり、複数の作業者が協調して作業をすることで教示を行うことが考えられる。ロボットのエンドエフェクターで作業対象物の表面全てを再現することは困難であるが、少なくとも力を加える箇所にエンドエフェクターが位置する制御を行えば、作業者による教示が可能である。
【０１５２】
また、制御部１００は、図２３に示したように、作業対象物により発生する力を模擬した模擬力情報を出力する模擬力出力部１８５を含み、制御部１００は、出力された模擬力情報に基づく作業対象物の運動に対応させて、作業対象物の表面に対応するエンドエフェクターの位置を設定する制御を、ロボットに作業対象物を模擬させるロボット制御として行ってもよい。
【０１５３】
これにより、作業対象物により発生する模擬力を考慮して、作業対象物を模擬するロボット制御を行うことが可能になる。上述したように、模擬力を重力とすれば、作業対象物を模擬するロボット制御とは、重力に対応する力を持って重力方向にエンドエフェクターを移動させようとする制御となる。このようにすれば、作業者のロボットに対する作業（例えばロボットを空間状に固定する作業）は、あたかも所定の質量を有する作業対象物を落下しないように把持する作業であるかのように考えることができ、図２（Ａ）のような作業をロボットに行わせる際の教示に用いることができる。上述したように、模擬力としてより複雑な力を発生させることで、作業者の特性を細かく取得するような変形例も実行可能である。
【０１５４】
以上、本発明を適用した２つの実施の形態１〜２およびその変形例について説明したが、本発明は、各実施の形態１〜２やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施の形態１〜２や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施の形態１〜２や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
【符号の説明】
【０１５５】
１０  力覚センサー、２０  アーム、１００  制御部、１１０  ＬＰＣ分析処理部、
１２０  低域通過フィルター、１３０  力覚制御フィルター、
１４０  逆ヤコビアン処理部、１５０  軌道生成部、
１６０  インバースキネマティクス処理部、１７０  モーター制御部、
１８０  モード切替部、１８５  模擬力出力部、１９０  転置ヤコビアン処理部、
２００  記憶部
【図１】
2014184516.tif 000006
【図２】
2014184516.tif 000007
【図３】
2014184516.tif 000008
【図４】
2014184516.tif 000009
【図５】
2014184516.tif 000010
【図６】
2014184516.tif 000011
【図７】
2014184516.tif 000012
【図８】
2014184516.tif 000013
【図９】
2014184516.tif 000014
【図１０】
2014184516.tif 000015
【図１１】
2014184516.tif 000016
【図１２】
2014184516.tif 000017
【図１３】
2014184516.tif 000018
【図１４】
2014184516.tif 000019
【図１５】
2014184516.tif 000020
【図１６】
2014184516.tif 000021
【図１７】
2014184516.tif 000022
【図１８】
2014184516.tif 000023
【図１９】
2014184516.tif 000024
【図２０】
2014184516.tif 000025
【図２１】
2014184516.tif 000026
【図２２】
2014184516.tif 000027
【図２３】
2014184516.tif 000028
【図２４】
2014184516.tif 000029
【図２５】
2014184516.tif 000030