(57)【要約】【課題】高速かつ安定にロボット制御の収束演算を行うこと。【解決手段】ロボット制御装置は、ロボットの所定部の位置指令値を生成する指令値生成手段と、指令値生成手段により生成された位置指令値と所定部の制御位置との偏差を算出する第１偏差算出手段と、第１偏差算出手段により算出された偏差に基づいて、所定部に生じる力の参照値である力参照値を算出する力参照値算出手段と、力参照値算出手段により算出された力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、算出した各関節トルクに基づいて、各関節角度を算出する関節角度算出手段と、関節角度算出手段により算出された各関節角度に基づいて、順運動学演算を行い所定部の制御位置を算出する順運動学演算手段と、を備える。【選択図】図１
2013000816.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの所定部の位置指令値を生成する指令値生成手段と、
前記指令値生成手段により生成された前記位置指令値と前記所定部の制御位置との偏差を算出する第１偏差算出手段と、
前記第１偏差算出手段により算出された前記偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出する力参照値算出手段と、
前記力参照値算出手段により算出された前記力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出する関節角度算出手段と、
前記関節角度算出手段により算出された前記各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出する順運動学演算手段と、
を備える、ことを特徴とするロボット制御装置。
【請求項２】
請求項１記載のロボット制御装置であって、
前記所定部に生じる力に関する外乱の推定値である外乱推定値を算出する外乱推定値算出手段と、
前記力参照値算出手段により算出された力参照値から、前記外乱推定値算出手段により算出された前記外乱推定値を、減算する外乱減算手段と、
を更に備え、
前記外乱推定値算出手段は、前記関節角度算出手段により算出された関節角速度と、前記外乱減算手段により減算された力参照値と、に基づいて、前記外乱推定値を算出する、ことを特徴とするロボット制御装置。
【請求項３】
請求項２記載のロボット制御装置であって、
前記外乱推定値算出手段は、
前記関節角度算出手段により算出された関節角速度にヤコビ行列を積算して前記所定部の速度を算出し、該速度を微分して前記所定部の加速度を算出し、該加速度に慣性行列を積算して所定部の力を算出する力算出部と、
前記力算出部により算出された所定部の力と、前記外乱減算手段により外乱推定値が減算された力参照値と、の偏差を算出する第２偏差算出部と、
前記第２偏差算出部により算出された偏差に対してローパスフィルタ処理を行い、前記外乱推定値を算出するローパスフィルタ部と、
を有する、ことを特徴とするロボット制御装置。
【請求項４】
請求項２又は３記載のロボット制御装置であって、
前記外乱推定値算出手段と前記外乱減算手段とを接続状態及び非接続状態に切替える切替手段を更に備える、ことを特徴とするロボット制御装置。
【請求項５】
請求項１乃至４のうちいずれか１項記載のロボット制御装置であって、
前記力参照値算出手段は、前記第１偏差算出手段により算出された前記偏差に所定の制御ゲイン及び慣性行列を積算して前記力参照値を算出する、ことを特徴とするロボット制御装置。
【請求項６】
請求項１乃至５のうちいずれか１項記載のロボット制御装置であって、
前記関節角度算出手段は、前記力参照値算出手段により算出された前記力参照値に前記転置ヤコビ行列及び前記関節のイナーシャの逆数を積算し、該積算結果を積分することで、前記各関節角速度及び各関節角度を算出する、ことを特徴とするロボット制御装置。
【請求項７】
請求項６記載のロボット制御装置であって、
前記関節のイナーシャは、ノミナル値又は慣性行列の対角成分のうち前記関節に該当する成分である、ことを特徴とするロボット制御装置。
【請求項８】
ロボットの所定部の位置指令値を生成するステップと、
前記生成された位置指令値と前記所定部の制御位置との偏差を算出するステップと、
前記算出された偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出するステップと、
前記算出された力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出するステップと、
前記算出された各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出するステップと、
を含む、ことを特徴とするロボット制御装置の制御方法。
【請求項９】
ロボットの所定部の位置指令値を生成する処理と、
前記生成された位置指令値と前記所定部の制御位置との偏差を算出する処理と、
前記算出された偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出する処理と、
前記算出された力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出する処理と、
前記算出された各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出する処理と、
をコンピュータに実行させる、ことを特徴とするロボット制御装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速かつ安定にロボット制御の収束演算を行うことができるロボット制御装置、その制御方法及び制御プログラムに関するものである。
【背景技術】
【０００２】
ロボットの手先位置や足先位置などを決定するための関節角度を求める手法として、例えば、ニュートンラプソン（Ｎｅｗｔｏｎ−Ｒａｐｈｓｏｎ）法を用いた逆運動学演算手法が知れている。このニュートンラプソン法を用いた逆運動学演算を行った場合、ヤコビ行列の逆行列を用いているため、ヒューマノイドロボットなどの特異姿勢において、その成分が非常に大きな値となり解が発散することがあり、計算速度も遅くなる。一方で、そのような解の発散を抑え、計算速度を向上させた逆運動学演算手法として、最急降下法が知られている。例えば、最急降下法を用いて目標を設定し、アクチュエータを制御する制御装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１０６４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に示す制御装置は、最急降下法を用いて目標を設定しているため、ヒューマノイドロボットなどの特異姿勢においても安定であるが、一方で、その収束速度が遅くなるという問題が存在している。
【０００５】
本発明は、このような問題点を解決するためになされたものであり、高速かつ安定にロボット制御の収束演算を行うことができる、ロボット制御装置、その制御方法及び制御プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、ロボットの所定部の位置指令値を生成する指令値生成手段と、前記指令値生成手段により生成された前記位置指令値と前記所定部の制御位置との偏差を算出する第１偏差算出手段と、前記第１偏差算出手段により算出された前記偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出する力参照値算出手段と、前記力参照値算出手段により算出された前記力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出する関節角度算出手段と、前記関節角度算出手段により算出された前記各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出する順運動学演算手段と、を備える、ことを特徴とするロボット制御装置である。この一態様によれば、高速かつ安定にロボット制御の収束演算を行うことができる。
【０００７】
この一態様において、前記所定部に生じる力に関する外乱の推定値である外乱推定値を算出する外乱推定値算出手段と、前記力参照値算出手段により算出された力参照値から、前記外乱推定値算出手段により算出された前記外乱推定値を、減算する外乱減算手段と、
を更に備え、前記外乱推定値算出手段は、前記関節角度算出手段により算出された関節角速度と、前記外乱減算手段により減算された力参照値と、に基づいて、前記外乱推定値を算出してもよい。これにより、ロボット制御の収束演算時に生じる発散を効果的に抑えることができる。なお、ここでの外乱とは、例えば、離散化等により収束演算の中で位置指令値に対する所定部の誤差を生じさせるものであり、その誤差によって収束しなくなる要因を力の次元で表したものを意味する。
【０００８】
この一態様において、前記外乱推定値算出手段は、前記関節角度算出手段により算出された関節角速度にヤコビ行列を積算して前記所定部の速度を算出し、該速度を微分して前記所定部の加速度を算出し、該加速度に慣性行列を積算して所定部の力を算出する力算出部と、前記力算出部により算出された所定部の力と、前記外乱減算手段により外乱推定値が減算された力参照値と、の偏差を算出する第２偏差算出部と、前記第２偏差算出部により算出された偏差に対してローパスフィルタ処理を行い、前記外乱推定値を算出するローパスフィルタ部と、を有していてもよい。
【０００９】
この一態様において、前記外乱推定値算出手段と前記外乱減算手段とを接続状態及び非接続状態に切替える切替手段を更に備えていてもよい。これにより、ロボットの特異姿勢において、外乱推定値が安定性を損なうことを防止することができる。
【００１０】
この一態様において、前記力参照値算出手段は、前記第１偏差算出手段により算出された前記偏差に所定の制御ゲイン及び慣性行列を積算して前記力参照値を算出してもよい。
【００１１】
この一態様において、前記関節角度算出手段は、前記力参照値算出手段により算出された前記力参照値に前記転置ヤコビ行列及び前記関節のイナーシャの逆数を積算し、該積算結果を積分することで、前記各関節角速度及び各関節角度を算出してもよい。これにより、ロボット制御における収束演算の高速化と安定性を両立させた調整が可能となる。
【００１２】
この一態様において、前記関節のイナーシャは、ノミナル値又は慣性行列の対角成分のうち前記関節に該当する成分であってもよい。
【００１３】
他方、上記目的を達成するための本発明の一態様は、ロボットの所定部の位置指令値を生成するステップと、前記生成された位置指令値と前記所定部の制御位置との偏差を算出するステップと、前記算出された偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出するステップと、前記算出された力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出するステップと、前記算出された各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出するステップと、を含む、ことを特徴とするロボット制御装置の制御方法であってもよい。
【００１４】
さらに、上記目的を達成するための本発明の一態様は、ロボットの所定部の位置指令値を生成する処理と、前記生成された位置指令値と前記所定部の制御位置との偏差を算出する処理と、前記算出された偏差に基づいて、前記所定部に生じる力の参照値である力参照値を算出する処理と、前記算出された力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、該算出した各関節トルクに基づいて、各関節角度を算出する処理と、前記算出された各関節角度に基づいて、順運動学演算を行い前記所定部の制御位置を算出する処理と、をコンピュータに実行させる、ことを特徴とするロボット制御装置の制御プログラムであってもよい。
【発明の効果】
【００１５】
本発明によれば、高速かつ安定にロボット制御の収束演算を行うことができる、ロボット制御装置、その制御方法及び制御プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１に係るロボット制御装置の概略的なシステム構成を示すブロック図である。
【図２】本発明の実施の形態１に係るロボット制御装置の制御ブロック図である。
【図３】本発明の実施の形態１に係るロボット制御装置による制御方法の制御処理フローの一例を示すフローチャートである。
【図４】本発明の実施の形態１に係るロボット制御装置による収束演算と、従来の最急降下法による収束演算と、を比較したシミュレーション結果である。
【図５】本発明の実施の形態２に係るロボット制御装置の制御ブロック図である。
【発明を実施するための形態】
【００１７】
実施の形態１.
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１に係るロボット制御装置の概略的なシステム構成を示すブロック図である。図２は、本実施の形態１に係るロボット制御装置の制御ブロック図である。本実施の形態に係るロボット制御装置１は、例えば、複数のリンクを夫々連結する複数の関節を有するヒューマノイドロボットなどのロボットの姿勢を制御するものである。
【００１８】
ロボット制御装置１は、指令値生成部２と、第１偏差算出部３と、力参照値算出部４と、外乱減算部５と、関節角度算出部６と、順運動学演算部７と、外乱推定値算出部８と、を備えている。なお、ロボット制御装置１は、例えば、制御処理や演算処理等と行うＣＰＵ（Central Processing Unit）と、ＣＰＵによって実行される制御プログラムや演算プログラム等が記憶されたＲＯＭ（Read Only Memory）と、処理データ等を一時的に記憶するＲＡＭ（Random Access Memory）と、を有するマイクロコンピュータを中心にして、ハードウェア構成されている。また、これらＣＰＵ、ＲＯＭ、及びＲＡＭは、データバスによって相互に接続されている。
【００１９】
指令値生成部２は、指令値生成手段の一具体例であり、例えば、ヒューマノイドロボットなどの所定部である手先に対する位置指令値ｘplanを生成する。指令生成部２には第１偏差算出部３が接続されており、指令値生成部２は、生成した位置指令値ｘplanを第１偏差算出部３に対して出力する。
【００２０】
第１偏差算出部３は、第１偏差算出手段の一具体例であり、指令値生成部２により生成された手先の位置指令値ｘplanと、手先が実際に制御される制御位置ｘとの偏差（ｘplan−ｘ）を算出する。第１偏差算出部３には力参照値算出部４が接続されており、第１偏差算出部３は算出した偏差を力参照値算出部４に対して出力する。
【００２１】
力参照値算出部４は、力参照値算出手段の一具体例であり、第１偏差算出部３により算出された偏差に基づいて、手先に生じる力の参照値である力参照値ｆrefを算出する。例えば、力参照値算出部４は、第１偏差算出部３により算出された偏差に所定の制御ゲインＫｐを積算して手先の加速度の参照値を算出し、算出した加速度の参照値に慣性行列Ｍ（ロボットの姿勢によって決定される行列）を積算して力参照値ｆrefを算出する。力参照値算出部４には外乱減算部５が接続されており、力参照値算出部４は、算出した力参照値ｆrefを外乱減算部５に対して出力する。
【００２２】
外乱減算部５は、外乱減算手段の一具体例であり、力参照値算出部４により算出された力参照値ｆrefから、後述する外乱推定値算出部８により算出された外乱推定値ｆｄを、減算する。外乱減算部５には関節角度算出部６及び外乱推定値算出部８が接続されており、外乱減算部５は算出した偏差を関節角度算出部６及び外乱推定値算出部８に対して出力する。
【００２３】
関節角度算出部６は、関節角度算出手段の一具体例であり、力参照値算出部４により算出された力参照値ｆrefと転置ヤコビ行列ＪＴとに基づいて各関節トルクτを算出し、算出した各関節トルクτに基づいて各関節角度θを算出する。
【００２４】
例えば、関節角度算出部６は、外乱減算部５により外乱推定値が減算された力参照値に転置ヤコビ行列ＪＴを積算して各関節トルクτを算出し、算出した各関節トルクτに各関節のイナーシャＩの逆数１／Ｉを積算して各関節角加速度を算出し、算出した各関節角加速度を１階積分（１／ｓ）して各関節速度を算出し、算出した各関節速度を更に１階積分（１／ｓ）して各関節角度θを算出する。ここで、各関節のイナーシャＩは、例えば、ノミナル値（一定値）であるが、慣性行列Ｍの対角成分のうち各関節に該当する成分であってもよい。
【００２５】
なお、従来の最急降下法では、ステップ幅の調整などで収束演算の高速化を図っている。一方、本実施の形態１に係るロボット制御装置１によれば、上記演算を行うことで、物理量の概念に置き換えて考えることができるため、既存の制御理論の枠組みやツールを利用して容易に調整でき、ロボット制御における収束演算の高速化と安定性を両立させた調整が可能となる。
【００２６】
関節角度算出部６には、外乱推定値算出部８及び順運動学演算部７が接続されており、関節角度算出部６は、算出した各関節角速度を外乱推定値算出部８に対して出力し、算出した各関節角度θを順運動学演算部７に対して出力する。また、関節角度算出部６は、算出した各関節角度θを、例えば各関節に設けられたサーボモータに対して出力する。各サーボモータは、関節角度算出部６からの各関節角度θとなるように、各関節を回転駆動する。
【００２７】
順運動学演算部７は、順運動学演算手段の一具体例であり、関節角度算出部６により算出された各関節角度θに基づいて、順運動学演算（ＤＫ：Ｄｉｒｅｃｔ  Ｋｉｎｅｍａｔｈｉｃｓ）を行い手先の制御位置ｘを算出する。順運動学演算部７は、算出した各関節角度θを第１偏差算出部３に対してフィードバックする。
【００２８】
外乱推定値算出部８は、外乱推定値算出手段の一具体例であり、関節角度算出部６により算出された関節角速度に基づいて、手先に生じる力に関する外乱の推定値である外乱推定値ｆｄを算出する。
【００２９】
外乱推定値算出部８は、関節角度算出部６により算出された関節角速度にヤコビ行列Ｊを積算して手先の速度を算出し、算出した手先の速度を微分ｓして手先の加速度を算出し、算出した手先の加速度に慣性行列Ｍを積算して手先の力を算出する力算出部８１と、力算出部８１により算出された手先の力と外乱減算部８２により外乱推定値が減算された力参照値と、の偏差を算出する第２偏差算出部８２と、第２偏差算出部８２により算出された偏差に対してローパスフィルタ処理ＬＰＦを行い、外乱推定値ｆｄを算出するローパスフィルタ部８３と、を有している。
【００３０】
ローパスフィルタ部８３は、算出した外乱推定値ｆｄを外乱減算部５にフィードバックする。このように外乱推定値算出部８により算出された外乱推定値ｆｄをフィードバックすることで、量子化誤差や積分・差分による誤差を低減することができるため、収束演算時に生じる発散を抑えることができる。
【００３１】
なお、外乱推定値算出部８は、ローパスフィルタ部８３を有しない構成であってよい。但し、ローパスフィルタ部８３を有することがで、解の発散をより確実に抑えることができ、安定性が増す。
【００３２】
図３は、本実施の形態１に係るロボット制御装置による制御方法の制御処理フローの一例を示すフローチャートである。
【００３３】
まず、指令値生成部２は、手先に対する位置指令値ｘplanを生成し（ステップＳ１０１）、生成した位置指令値ｘplanを第１偏差算出部３に対して出力する。
【００３４】
次に、第１偏差算出部３は、指令値生成部２により生成された手先の位置指令値ｘplanと、順運動学演算部７からの手先の制御位置ｘと、の偏差（ｘplan−ｘ）を算出し（ステップＳ１０２）、算出した偏差を力参照値算出部４に対して出力する。
【００３５】
力参照値算出部４は、第１偏差算出部３により算出された偏差に基づいて、手先の力参照値ｆrefを算出し（ステップＳ１０３）、算出した力参照値ｆrefを外乱減算部５に対して出力する。
【００３６】
外乱減算部５は、力参照値算出部４により算出された力参照値ｆrefから、外乱推定値算出部８により算出された外乱推定値ｆｄを減算し（ステップＳ１０４）、外乱推定値を減算した力参照値を関節角度算出部６及び外乱推定値算出部８に対して出力する。
【００３７】
関節角度算出部６は、外乱減算部５により外乱推定値が減算された力参照値に転置ヤコビ行列ＪＴ、及び各関節のイナーシャＩの逆数１／Ｉを積算し積分１／ｓを行い、各関節角速度及び各関節角度を算出し（ステップＳ１０５）、算出した各関節角速度を外乱推定値算出部８に対して出力し、及び算出した各関節角度θを順運動学演算部７に対して出力する。
【００３８】
順運動学演算部７は、関節角度算出部６により算出された各関節角度θに基づいて、順運動学演算を行い、手先の制御位置ｘを算出し（ステップＳ１０６）、算出した手先の制御位置ｘを第１偏差算出部３にフィードバックする。
【００３９】
外乱推定値算出部８は、関節角度算出部６により算出された関節角速度にヤコビ行列Ｊを積算し、微分ｓを行い、慣性行列Ｍを積算して手先の力を算出し、算出した手先の力と外乱減算部５により外乱推定値が減算された力参照値との偏差を算出し、ローパスフィルタ処理ＬＰＦを行い、外乱推定値ｆｄを算出し（ステップＳ１０７）、算出した外乱推定値ｆｄを外乱減算部５にフィードバックする。
【００４０】
図４は、本実施の形態１に係るロボット制御装置による収束演算と、従来の最急降下法による収束演算と、を比較したシミュレーション結果である。なお、本シミュレーションにおいて、制御対象となるロボットは２つの関節を有するマニピュレータであり、ｘ座標及びｙ座標から夫々０．１ｍ離れた位置からの収束の状態を比較している。図４に示すように、本実施の形態１に係るロボット制御装置１の方（１）が、従来の最急降下法（２）より２倍程度、収束演算が速いことが分かる。
【００４１】
以上、本実施の形態１に係るロボット制御装置１において、手先の位置指令値とフィードバックさせた手先の制御位置との偏差に基づいて力参照値を算出し、算出した力参照値と転置ヤコビ行列とに基づいて各関節トルクを算出し、算出した各関節トルクに基づいて各関節角度を算出する。これにより、高速かつ安定にロボット制御の収束演算を行うことができる。また、外乱推定値算出部８により算出された外乱推定値ｆｄをフィードバックすることで、収束演算時に生じる発散を効果的に抑えることができる。すなわち、ロボットの特異姿勢においても数値的に安定させつつ、ロボット制御の収束演算を高速かつ安定的に行うことができる。
【００４２】
実施の形態２.
図５は、本発明の実施の形態２に係るロボット制御装置の制御ブロック図である。本実施の形態２に係るロボット制御装置２０は、上記実施の形態１に係るロボット制御装置の構成に加えて、外乱推定値算出部８のローパスフィルタ部８３と外乱減算部５との間を段階的もしくは連続的に接続状態及び非接続状態に切替えるスイッチ（切替手段）９を更に備えることを特徴とする。
【００４３】
例えば、ヒューマノイドロボットなどの特異姿勢において、力参照値ｆrefに見合う手先の力（図５の(ｂ)）が発生できなくなることで、外乱推定値ｆｄが徐々に大きくなり、数値的な安定性を損ない振動的になる状態が想定される。このスイッチ９を設けることで、そのような状態を確実に防止することが出来る。
【００４４】
力参照値算出部４により算出された力参照値ｆrefに、ｘ軸、ｙ軸、ｚ軸などの複数の成分が存在する場合、スイッチ９はこれら各成分ごとに接続状態及び非接続状態に切替る。
【００４５】
また、スイッチ９は、例えば、外乱推定値算出部８から出力される外乱推定値ｆｄの絶対値が所定の閾値を超えた場合、あるいは、外乱減算部５から出力された偏差（ａ）と外乱推定値算出部８の力算出部８１から出力された手先の力（ｂ）との比（（ａ）／（ｂ））が所定の閾値を超えた場合、非接続状態に切替る。なお、上記スイッチ９の切替え方法は一例であり、これに限らず任意の方法を適用することができる。
【００４６】
本実施の形態２に係るロボット制御装置２０において、他の構成は上記実施の形態１に係るロボット制御装置１と略同一であることから、同一部分には同一符号を付して詳細な説明は省略する。
【００４７】
本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００４８】
上記実施の形態において、ロボットの所定部として、手先が適用されているが、これに限らず、例えば、足先などの任意の部分或いは重心位置や姿勢などに適用してもよい。例えば、ロボットの重心位置を制御する場合は、重心ヤコビアンを用いることで下記（１）式に基づいて、上記実施の形態１と同様の制御を行うことができる。
【数１】
2013000816.tif 000003
【００４９】
上記実施の形態において、外乱減算部５及び外乱推定値算出部８を有しない構成であってもよい。この場合、力参照値算出部４は、算出した力参照値ｆrefを関節角度算出部６に対して出力し、関節角度算出部６は、力参照値算出部４により算出された力参照値ｆrefに転置ヤコビ行列ＪＴを積算して各関節トルクτを算出し、算出した各関節トルクτに各関節のイナーシャＩの逆数１／Ｉを積算して各関節角加速度を算出し、算出した各関節角加速度を１階積分して各関節速度を算出し、算出した各関節速度を１階積分して各関節角度θを算出する。
【００５０】
上記実施の形態において、例えば、右手先の位置指令値、左手先の位置指令値、右足先の位置指令値、左足先の位置指令値などの複数の所定部を同時に満足するように制御してもよい。この場合、各所定部に対するヤコビ行列を部分行列として持つ転置行列を用いることとなる。
【００５１】
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、例えば、図３に示す処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。
【００５２】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ）を含む。
【００５３】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５４】
１    ロボット制御装置
２    指令値生成部
３    第１偏差算出部
４    力参照値算出部
５    外乱減算部
６    関節角度算出部
７    順運動学演算部
８    外乱推定値算出部
９    スイッチ
【図１】
2013000816.tif 000004
【図２】
2013000816.tif 000005
【図３】
2013000816.tif 000006
【図４】
2013000816.tif 000007
【図５】
2013000816.tif 000008