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