"ロボットの目標エンドポイント位置を取得するエンドポイント位置取得部と、前記ロボットの真正モデルの情報を記憶する真正モデル記憶部と、前記真正モデルを近似した近似モデルの情報を記憶する近似モデル記憶部と、前記近似モデルと前記目標エンドポイント位置を用いて、近似解を求め、前記近似解と前記真正モデルを用いて、反復法による反復演算処理を行うことで、前記ロボットの逆運動学における解を求める処理部と、を含むことを特徴とするロボット制御システム。請求項1において、前記処理部は、前記近似解を初期値として設定して、前記反復演算処理を行うことを特徴とするロボット制御システム。請求項1において、前記処理部は、前記近似解を前記真正モデルの関節角に設定することで、近似解によるエンドポイント位置を求め、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の誤差に基づいて、前記目標エンドポイント位置を修正することで、修正目標エンドポイント位置を求め、前記修正目標エンドポイント位置と前記近似モデルを用いて、第2の近似解を求め、前記第2の近似解と前記真正モデルを用いて、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めることを特徴とするロボット制御システム。請求項1において、前記近似モデル記憶部は、前記真正モデルを近似したモデルとして、第1~第mの近似モデルの情報を記憶し、前記処理部は、前記第1~第mの近似モデルと前記目標エンドポイント位置を用いて、第1~第mの近似解を求め、前記第1~第mの近似解の中から選択された近似解を初期値として設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めることを特徴とするロボット制御システム。請求項4において、前記処理部は、前記第1~第mの近似モデルのうちの第i1≦i≦mの近似モデルと前記目標エンドポイント位置を用いて、第iの近似解を求め、前記第iの近似解を前記真正モデルの関節角に設定することで、近似解による第iのエンドポイント位置とヤコビアンを求め、前記第iのエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差と、前記ヤコビアンを用いて、関節角を補正し、補正後の関節角を前記真正モデルの関節角に設定することで、第iの補正エンドポイント位置を求め、前記第iの補正エンドポイント位置と前記目標エンドポイント位置の間の第2の誤差に基づいて選択された近似解を、前記初期値として設定することを特徴とするロボット制御システム。請求項1において、前記処理部は、前記近似解を前記真正モデルの関節角に設定することで、近似解によるエンドポイント位置を求め、前記近似解によるエンドポイント位置と現在のエンドポイント位置の中から、選択されたエンドポイント位置に対応する関節角を、前記初期値に設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めることを特徴とするロボット制御システム。請求項6において、前記処理部は、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差を求め、前記現在のエンドポイント位置と前記目標エンドポイント位置との間の第2の誤差を求め、前記第1の誤差の方が前記第2の誤差よりも小さい場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第2の誤差の方が前記第1の誤差よりも小さい場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定することを特徴とするロボット制御システム。請求項6において、前記処理部は、前記ロボットのポイントツーポイント制御が行われた場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記ロボットのコンティニュアス制御が行われた場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定することを特徴とするロボット制御システム。請求項6乃至8のいずれかにおいて、過去のエンドポイントの動作履歴位置である動作履歴エンドポイント位置を記憶する動作履歴記憶部を含み、前記処理部は、前記近似解によるエンドポイント位置と前記現在のエンドポイント位置と前記動作履歴エンドポイント位置の中から、選択されたエンドポイント位置に対応する関節角を、前記初期値に設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めることを特徴とするロボット制御システム。請求項9において、前記処理部は、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差を求め、前記現在のエンドポイント位置と前記目標エンドポイント位置との間の第2の誤差を求め、前記動作履歴エンドポイント位置と前記目標エンドポイント位置との間の第3の誤差を求め、前記第1の誤差の方が前記第2の誤差、前記第3の誤差よりも小さい場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第2の誤差の方が前記第1の誤差、前記第3の誤差よりも小さい場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第3の誤差の方が前記第1の誤差、前記第2の誤差よりも小さい場合には、前記動作履歴エンドポイント位置に対応する関節角を、前記初期値に設定することを特徴とするロボット制御システム。請求項1乃至10のいずれかにおいて、前記近似モデル記憶部は、前記真正モデルの関節のオフセットが省略されたモデルの情報を、前記近似モデルの情報として記憶することを特徴とするロボット制御システム。請求項1乃至11のいずれかに記載のロボット制御システムと、前記ロボットと、を含むことを特徴とするロボットシステム。ロボットの真正モデルの情報を記憶し、前記真正モデルを近似した近似モデルの情報を記憶し、前記ロボットの目標エンドポイント位置を取得し、前記近似モデルと前記目標エンドポイント位置を用いて、近似解を求め、前記近似解と前記真正モデルを用いて、反復法による反復演算処理を行うことで、前記ロボットの逆運動学における解を求め、求められた解に基づいて前記ロボットを制御することを特徴とするロボット制御方法。特許文献1の手法は、発見的な手法に拠らず、グレブナー基底を用いることにより、汎用的な手法として、且つ、効率的に逆運動学の解を求めようとするものである。特許文献2の手法は、一般的な6自由度のロボットの逆運動学の解を、3関節の逆運動学を逐次的に行うことにより、汎用的な方法として、且つ、効率的に解を求めようとするものである。特許文献3の手法は、新たな制御変数λを導入し、それを用いて逆運動学の解を、より効率的に求めようとするものである。非特許文献1の手法は、予め、関節角と手先位置姿勢との対応関係を順運動学において求めておき、それの有限個の組み合わせを記憶しておき、逆運動学の処理時には、その組み合わせの中から適当な初期値を選択することにより、逆運動学の解を、より効率的に求めようとするものである。非特許文献2の手法は、LevenbergMarquardt法と言う手法を用いることにより、実質的に収束性を保証した上で、逆運動学の解を、より効率的に求めようとするものである。しかしながら、特許文献1の手法では、複数個の解が存在する場合においては、処理に必要とする演算時間、メモリー使用量が非常に増大するという問題がある。近年のロボットにおいては、複数個の解が存在する方が一般的であるので、この問題は深刻である。特許文献2の手法においては、対象が6自由度のロボットに限定され、それ以外の場合への適用が困難であるという問題がある。近年のロボットにおいては、手先に対する姿勢の自由度を改善するために、7以上の自由度を持つものも多い。特許文献3の手法においては、複数個の解が存在する場合に、解の選択性などに問題がある。具体的には、各々の関節角以外に、複数個の解のいずれかを指定するための補助的なパラメーターを別途必要とする場合が多い。非特許文献1の手法においては、ロボットの自由度が増えた場合、或いは精度を改善するために予め持っているデーターの刻みを細かくした場合、そのデーターを記憶するためのメモリーの使用量が急速に増大するという問題がある。非特許文献2の手法においては、反復回数は少ないが、反復1回あたりの処理が複雑になり、結局のところ処理時間が長くなるという問題がある。本発明の幾つかの態様によれば、ロボットの逆運動学の解を、反復演算手法により、より効率的に短時間で求めることができるロボット制御システム、ロボットシステム及びロボット制御方法等を提供できる。本発明の一態様は、ロボットの目標エンドポイント位置を取得するエンドポイント位置取得部と、前記ロボットの真正モデルの情報を記憶する真正モデル記憶部と、前記真正モデルを近似した近似モデルの情報を記憶する近似モデル記憶部と、前記近似モデルと前記目標エンドポイント位置を用いて、近似解を求め、前記近似解と前記真正モデルを用いて、反復法による反復演算処理を行うことで、前記ロボットの逆運動学における解を求める処理部とを含むロボット制御システムに関係する。本発明の一態様によれば、ロボットの真正モデルと、真正モデルを近似した近似モデルが用意され、近似モデルと目標エンドポイント位置を用いて、近似解が求められる。そして、求められた近似解と真正モデルを用いて、反復法による反復演算処理を行うことで、ロボットの逆運動学における解が求められるようになる。このように近似モデルによる近似解を利用して反復演算処理を行うことで、ロボットの逆運動学の解を、反復法により、より効率的に短時間で求めることが可能になる。また本発明の一態様では、前記処理部は、前記近似解を初期値として設定して、前記反復演算処理を行ってもよい。このように、近似モデルによる近似解を、反復演算処理の初期値に設定すれば、反復法おける初期値の決定等を効率良く行うことが可能になる。また本発明の一態様では、前記処理部は、前記近似解を前記真正モデルの関節角に設定することで、近似解によるエンドポイント位置を求め、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の誤差に基づいて、前記目標エンドポイント位置を修正することで、修正目標エンドポイント位置を求め、前記修正目標エンドポイント位置と前記近似モデルを用いて、第2の近似解を求め、前記第2の近似解と前記真正モデルを用いて、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めてもよい。このようにすれば、近似解と真正モデルの解の差異を、予め目標エンドポイント位置に対して修正しておくことができ、ロボットの逆運動学の解を、より効率的に短時間で求めることが可能になる。また本発明の一態様では、前記近似モデル記憶部は、前記真正モデルを近似したモデルとして、第1~第mの近似モデルの情報を記憶し、前記処理部は、前記第1~第mの近似モデルと前記目標エンドポイント位置を用いて、第1~第mの近似解を求め、前記第1~第mの近似解の中から選択された近似解を初期値として設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めてもよい。このようにすれば、1つの近似モデルを用いる場合に比べて、反復法に使用される初期値として、より適切な初期値を設定することが可能になる。また本発明の一態様では、前記処理部は、前記第1~第mの近似モデルのうちの第i1≦i≦mの近似モデルと前記目標エンドポイント位置を用いて、第iの近似解を求め、前記第iの近似解を前記真正モデルの関節角に設定することで、近似解による第iのエンドポイント位置とヤコビアンを求め、前記第iのエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差と、前記ヤコビアンを用いて、関節角を補正し、補正後の関節角を前記真正モデルの関節角に設定することで、第iの補正エンドポイント位置を求め、前記第iの補正エンドポイント位置と前記目標エンドポイント位置の間の第2の誤差に基づいて選択された近似解を、前記初期値として設定してもよい。このようにすれば、反復法の例えば最初のステップ分の処理を行うことで、目標エンドポイント位置に最も近くづくような近似解を、反復演算処理の初期値として設定できるようになる。また本発明の一態様では、前記処理部は、前記近似解を前記真正モデルの関節角に設定することで、近似解によるエンドポイント位置を求め、前記近似解によるエンドポイント位置と現在のエンドポイント位置の中から、選択されたエンドポイント位置に対応する関節角を、前記初期値に設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めてもよい。このようにすれば、例えば近似解によるエンドポイント位置を用いるよりも現在のエンドポイント位置を用いる方が、短時間で効率的に解を求めることができる場合に、これに適切に対処できるようになる。また本発明の一態様では、前記処理部は、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差を求め、前記現在のエンドポイント位置と前記目標エンドポイント位置との間の第2の誤差を求め、前記第1の誤差の方が前記第2の誤差よりも小さい場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第2の誤差の方が前記第1の誤差よりも小さい場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定してもよい。このようにすれば、目標エンドポイント位置との間の誤差が小さくなる方のエンドポイント位置を選択して、選択されたエンドポイント位置に対応する関節角を、逆運動学における解を求める際の初期値に設定できるようになる。また本発明の一態様では、前記処理部は、前記ロボットのポイントツーポイント制御が行われた場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記ロボットのコンティニュアス制御が行われた場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定してもよい。このようにすれば、ポイントツーポイント制御やコンティニュアス制御が行われた場合に、各制御に最適なエンドポイント位置の関節角を初期値に設定して、逆運動学により解を求めることが可能になる。また本発明の一態様では、過去のエンドポイントの動作履歴位置である動作履歴エンドポイント位置を記憶する動作履歴記憶部を含み、前記処理部は、前記近似解によるエンドポイント位置と前記現在のエンドポイント位置と前記動作履歴エンドポイント位置の中から、選択されたエンドポイント位置に対応する関節角を、前記初期値に設定して、前記反復演算処理を行うことで、前記ロボットの逆運動学における解を求めてもよい。このようにすれば、近似解によるエンドポイント位置や現在のエンドポイント位置に加えて、動作履歴エンドポイント位置も加味して、逆運動学の解を求めるための初期値を設定できるようになる。また本発明の一態様では、前記処理部は、前記近似解によるエンドポイント位置と前記目標エンドポイント位置との間の第1の誤差を求め、前記現在のエンドポイント位置と前記目標エンドポイント位置との間の第2の誤差を求め、前記動作履歴エンドポイント位置と前記目標エンドポイント位置との間の第3の誤差を求め、前記第1の誤差の方が前記第2の誤差、前記第3の誤差よりも小さい場合には、前記近似解によるエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第2の誤差の方が前記第1の誤差、前記第3の誤差よりも小さい場合には、前記現在のエンドポイント位置に対応する関節角を、前記初期値に設定し、前記第3の誤差の方が前記第1の誤差、前記第2の誤差よりも小さい場合には、前記動作履歴エンドポイント位置に対応する関節角を、前記初期値に設定してもよい。このようにすれば、目標エンドポイント位置との間の誤差が小さくなるエンドポイント位置を選択して、選択されたエンドポイント位置に対応する関節角を、逆運動学における解を求める際の初期値に設定できるようになる。また本発明の一態様では、前記近似モデル記憶部は、前記真正モデルの関節のオフセットが省略されたモデルの情報を、前記近似モデルの情報として記憶してもよい。また本発明の他の態様は、上記のいずれかに記載のロボット制御システムと、前記ロボットとを含むロボットシステムに関係する。また本発明の他の態様は、ロボットの真正モデルの情報を記憶し、前記真正モデルを近似した近似モデルの情報を記憶し、前記ロボットの目標エンドポイント位置を取得し、前記近似モデルと前記目標エンドポイント位置を用いて、近似解を求め、前記近似解と前記真正モデルを用いて、反復法による反復演算処理を行うことで、前記ロボットの逆運動学における解を求め、求められた解に基づいて前記ロボットを制御するロボット制御方法に関係する。以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。1.逆運動学ロボットの制御において、各関節の角度から全体の姿勢を求める処理は順運動学と呼ばれる。一方、その逆に、所望の姿勢を実現する各関節の角度を求める処理は逆運動学と呼ばれる。逆運動学は、ロボットを実用的に用いる上で非常に重要な処理である。しかしながら、一般的に順運動学の処理は、実現の容易な処理であるが、逆運動学の処理は、実現の非常に困難な処理となる。順運動学の解は、基本的には座標系の原点の移動と、座標系の回転を逐次的に計算することにより、一意に得られる。一方、逆運動学の解を得るためには、一般的には、非線形の連立方程式を解く必要がある。この解が解析的に得られるのは、ロボットの構造が簡単な場合に限られ、且つ、その場合も、発見的な方法が必要となる。ロボットマニピュレーターへの逆運動学や順運動学の適用を考えると、その手先の位置と姿勢を指定するためには、6つのパラメーターが必要となる。つまり、ロボットの手先の3次元座標のパラメーターX,Y,Zと、X,Y,Zのそれぞれの軸の周りの回転角度のパラメーターU,V,Wとが必要になり、X,Y,Z,U,V,Wの6つのパラメーターが必要になる。従って、一般的には、ロボットにも少なくとも6つの自由度が要求されることになる。任意の自由度のロボットにおいて、各関節角の組を指定すれば、それに対応して1組のX,Y,Z,U,V,Wが求まる。つまり、順運動学の解は一意に求まる。しかし、6自由度のロボットに1組のX,Y,Z,U,V,Wを与えて各関節角を求める場合を考えても、その解が1つであるとは限らない。むしろ、ロボットの構造の部分的な対称性などにより、複数の解が存在する場合の方が一般的である。また、近年は、ロボットに、より自由な姿勢をとらせるために、7自由度のロボットを用いる場合が多くなっており、この場合は、X,Y,Z,U,V,Wを指定しても、解が存在する場合には無限個の解が存在することになる。例えば図1Aに、単純な6自由度のロボットアーム広義にはロボットの例を示す。このロボットアームは、関節J1~J6とこれらの関節により接続される複数のリンクを有する。ここで関節J1、J4、J6は、図1Bに示すように軸回転関節であり、関節J2、J3、J5は旋回関節である。図1Cに示すように、関節J1~J7の関節角のパラメーターθ1,θ2,θ3,θ4,θ5,θ6,θ7から、手先位置姿勢広義にはエンドポイント位置のパラメーターX,Y,Z,U,V,Wを求める処理が、順運動学である。一方、手先位置姿勢のパラメーターX,Y,Z,U,V,Wから、関節角のパラメーターθ1,θ2,θ3,θ4,θ5,θ6,θ7を求める処理が、逆運動学である。図1Aのような単純なロボットアームの逆運動学の解は、解析的に求めることができる。一方、6自由度のロボットにおいては、同一の手先姿勢に対し、部分対称である複数の解が存在する。また、7自由度のロボットにおいては、手先の拘束条件は6つであるので、解が存在する場合には無限個の解が存在する。この場合に、アームアングルと呼ばれる付加的な拘束条件を与えたとしても、部分対称である複数の解が存在する。具体的には、基本解に対して、基部反転で2通りの解、肘反転で2通りの解、手首反転で2通りの解が存在する。従って、これらの各反転の組み合わせで、同一の手先位置姿勢に対して8通りの解が存在する。逆運動学の解析解が得られる条件のうち、最も基本的なものは、図2Aのように回転軸が一点で交わる場合である。図2Aでは、関節J1とJ3の回転軸は紙面に平行であり、これらの回転軸は、関節J2の中心の交点で交わる。関節J2の回転軸は紙面に垂直であり、この回転軸も、上記と同一の交点で交わる。これは、詳細な説明は省略するが、ZXZオイラー角などにより、任意の3次元的な回転が表現できることに関連する。一方、逆運動学の解析解が通常は得られない条件は、図2Bのように関節にオフセットが存在する場合である。これは、1つの関節の回転により、複数の関節位置姿勢の変化が生じるためである。例えば図2Aでは、手先エンドポイントを固定し、関節J3が軸回転しても、関節J2の位置は変化しない。一方、図2Bのようにオフセットが存在する場合、つまり関節J3の回転軸が関節J2の中心を通らない場合には、関節J3が軸回転すると、関節J2の位置が変化してしまう。図2Cのように関節にオフセットが存在する場合でも、例えば、図2Dのように、数学的に等価な、オフセットが省略されたものに変換することが可能である。これは、関節J3の回転によっても、関節J2とJ4の間の距離が変化せず、且つ、関節J3、J4、J5の接続のように、解析解が得られ、且つ、自由度の高い構造が存在するからである。しかし、このような変換が可能かどうかはロボットアームの構造に強く依存し、仮に変換が可能であったとしても、その変換は試行錯誤的に決めるしかない。以上のように、オフセットの存在は、逆運動学の処理を困難にする。しかしながら、オフセットには、実用上において有利な効果が存在する。例えば、図3A、図3Bに示すような関節の可動範囲の拡大である。現実のロボットアームには、モーター、構造体の大きさがあるために、例えば図3Aのような場合は、関節J1、J3の大きさが原因で、関節J2の可動範囲に制限が発生する。一方、図3Bのようにオフセットを加えることにより、関節J2の可動範囲を広くすることが可能となる。また、図3Aの場合には、回転軸を1点に集中させるために、その周辺の機械的な構造が複雑になり、その結果、重量が増大してしまう。一方、図3Bのような構造においては、相対的に単純な機械的な構造を採用することができ、その結果、重量を軽減することが可能であるという効果も存在する。本実施形態では、例えば図3Cに示すようなロボットアームロボットを想定する。図3Cは、逆運動学の解が解析的に求め難い、或いは求められない構造の一例である。当然であるが、本実施形態の手法は、このような構造のロボットに特化したものではない。本実施形態では、図4Aの真正モデルMTを近似したモデルとして、解析処理解析解を得る処理が可能な図4B、図4Cに示すような近似モデルMA近似解析モデルを用意する。図4B、図4Cの近似モデルMAは、図4Aの真正モデルMTからオフセット回転軸のオフセットを省略したモデル取り除いたモデルである。図4Bの近似モデルMAでは、オフセットを単に取り去っているが、図4Cの近似モデルMAでは、関節間を結ぶリンクの長さとして、オフセット部の対角線の長さを用いている。なお、近似モデルは図4B、図4Bに示すようなモデルに限定されず、種々の変形実施が可能である。例えば全ての関節についてのオフセットを省略するのではなく、一部の関節についてのオフセットを省略したモデルを近似モデルとしてもよい。2.第1の実施例図5に、本実施形態の第1の実施例のロボット制御システム及びこれを含むロボットシステムの構成例を示す。図5は、第1の実施例及び後述する第2~第5の実施例を包含する本実施形態の基本的な構成例でもある。なお、本実施形態のロボット制御システムロボットシステムは図5の構成には限定されず、その一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。図5のロボット制御システムロボット制御装置は、目標エンドポイント位置取得部20と、真正モデル記憶部22と、近似モデル記憶部24と、処理部30を含む。また、アーム駆動制御部等として機能するロボット制御部80を含むことができる。そして、このロボット制御システムとロボット100ロボットアームとにより本実施形態のロボットシステムが実現される。エンドポイント位置取得部手先位置姿勢取得部20は、ロボット100ロボットアームの目標エンドポイント位置を取得する。目標エンドポイント位置目標エンドエフェクター位置は、ロボット100のエンドポイントエンドエフェクターの移動目標となる位置姿勢であり、後述する軌道情報計画軌道により特定されるものである。なお、以下ではロボット100ロボットアームの手先位置姿勢X,Y,Z,U,V,Wを、エンドポイント位置として説明する。本実施形態の処理対象となる手先位置姿勢は、エンドポイント位置に対応する手先位置X,Y,Zであってもよいし、手先位置X,Y,Z及び手先姿勢U,V,Wの両方であってもよい。真正モデル記憶部22は、ロボット100の真正モデルの情報真正モデルの関節やリンクの情報を記憶する。近似モデル記憶部24は、真正モデルを近似した近似モデルの情報近似モデルの関節やリンクの情報を記憶する。具体的には、近似モデル記憶部24は、真正モデルの関節のオフセットが省略されたモデルの情報を、近似モデルの情報として記憶する。例えば前述の図4Aに示すように真正モデルMTがオフセットを有する場合には、図4B、図4Cに示すようにオフセットが省略された近似モデルMAを用意し、その情報を近似モデル記憶部24に記憶する。なお、真正モデル記憶部22に記憶される情報と近似モデル記憶部24に記憶される情報のうち重複する部分については共用して記憶するようにしてもよい。処理部30は、反復法による反復演算処理を行うことで、ロボット100の逆運動学における解を求める処理などを行う。具体的には処理部30は、近似モデルと目標エンドポイント位置手先位置や足先位置を用いて、近似解を求める。この近似解は、例えばロボット100の関節角関節変数の近似解狭義には近似解析解。以下、同様である。そして処理部30は、近似解と真正モデルを用いて、反復法による反復演算処理を行うことで、ロボット100の逆運動学における解を求める。つまり、ロボット100の関節角関節変数の解を求める。例えば処理部30は、近似解を初期値として設定して、反復演算処理を行うことで、逆運動学における解を求める。この処理部30の機能は、プロセッサー又はASICなどのハードウエアー回路や、プロセッサー等において動作するプログラムなどにより実現できる。処理部30は、近似解演算部40、反復演算処理部50、収束判定部52、エラー処理部54を含む。近似解演算部40は、ロボットの関節角の近似解を求める処理を行う。具体的には、近似モデル記憶部24からの近似モデル近似解析モデルと、目標エンドポイント位置取得部20からの目標エンドポイント位置手先位置姿勢とを用いた解析的な処理により、ロボットの各関節角の近似解析解を求める処理を行う。例えば、目標エンドポイント位置が引数の変数となり、関節角が解の変数となる関数式非線形連立方程式等により、関節角の近似解析解を求める。この場合に、例えば三角関数などの非線形関数を多項式に変換して近似解析解を求めることができる。また、アームアングルなどの付加的な拘束条件を与えるようにしてもよい。例えば6自由度のロボットアームについては、6つの関節のうち連続した3つの関節が全て回転関節であり、且つ、それらの関節の3つの回転軸の延長線が一点で交わるような構造の場合には、例えば2組の3次元4次連立方程式に帰着させることで、逆運動学の解を解析的に求めることができる。反復演算処理部50は、逆運動学における解を反復法により求める処理を行う。収束判定部52は、反復法による反復演算処理の収束判定を行う。エラー処理部54は、反復演算処理においてエラーが発生した場合の処理を行う。例えば、反復演算処理部50は、ヤコビアンを用いた数値計算や、最適化計算、探索法等により、逆運動学の解関節変数の解を求める。例えばヤコビアンを用いた逆運動学やクォータニオンの逆運動学のアルゴリズムでは、全ての関節の角度を同時に少しずつ更新しながら解を探索する。一方、CCDCyclicCoordinateDescent法では、1回の計算ステップにおいては、1つの関節の最適角度のみを求め、それを全ての関節に順番に繰り返すことで、ロボットアーム全体としての逆運動学の解を探索する。PIKParticleIK法では、関節角ではなく関節位置を直接操作することで逆運動学の解を求める。例えば下式1に示すように、m個の変数を入力とし、n個の出力を与える関数fを考える。或いは、m個の変数を入力とし、1つの出力を与える関数fをn組用意する。この場合に、ヤコビアンヤコビ行列は、下式2に表される行列である。つまり、ヤコビアンは、xのある値の近傍において、xとyの関係を線形近似したものである。従って、一般的には、xのある値が変化すれば、ヤコビアンも変化する。ここで、xを関節角、yをロボットのエンドポイント位置狭義には手先位置姿勢。以下も同様とすれば、上式2のヤコビアンヤコビ行列は、ある姿勢において各関節が微小に変化した場合の、それに伴うエンドポイント位置の微小な変化を与える関係式となる。ここで、各関節角の微小変化と、エンドポイント位置の微小変化との対応は、その姿勢に応じて変化する。つまり、ヤコビアンは、姿勢の変化に対応して、その都度、計算する必要がある。エンドポイント位置手先位置姿勢から関節角を求める逆運動学の処理は、一般的には非常に難しい処理であるが、下式3のように、ヤコビアンの逆行列である逆ヤコビアンを求めることができれば、エンドポイント位置の微小な変化を各関節角の微小な変化に変換する関係式を求めることができる。一般的には、ヤコビアンは正方行列ではなく、且つ、rank階数も低く、通常の意味の逆行列は存在しない。例えば7軸のロボットでは、手先の自由度は6つしかないので、7×7ではなく、7×6の行列になってしまう。但し、通常の意味の逆行列と類似した性質を持つ一般化逆行列は存在し得る。この一般化逆行列による逆ヤコビアンJ-1により、エンドポイント位置の微小な変化を各関節角の微小な変化に変換することができる。例えばヤコビアンを用いた逆運動学の1つのアルゴリズム例では、現在のエンドポイント位置から目標エンドポイント位置へと延びる変位ベクトルΔPを計算する。次に、逆ヤコビアンJ-1を用いて、関節角の変位ベクトルΔθ=ΔPJ-1を計算する。そして、θ=θΔθにより関節角ベクトルを更新する。そして更新後のエンドポイント位置と目標エンドポイント位置との差異が許容誤差範囲内ならば、解が収束したと判定して、反復演算処理を終了する。この場合の収束判定処理は収束判定部52により行われる。解が収束した場合には、その解は関節角としてロボット制御部80に出力される。一方、解が収束しなかった場合には、エラー処理部54が、エラー時用の処理を行う。ロボット制御部80は、処理部30により求められた解に基づいて、ロボット100の制御を行う。具体的には、解として求めれた関節角を、ロボット100の各関節角に設定するフィードバック制御を行い、ロボット制御を実現する。図6に、本実施形態のロボット制御システムロボットシステムの具体的な構成例を示す。このロボット制御システムは、力制御部12、目標値出力部60、ロボット制御部80を含む。またロボットシステムは、このロボット制御システムと、ロボット100力覚センサー10により構成される。目標値出力部60は、ロボット狭義にはマニピュレーターのフィードバック制御の目標値を出力する。この目標値に基づいてロボット100のフィードバック制御が実現される。目標値出力部60は、軌道生成部62とインバースキネマティクス処理部64を含む。軌道生成部62は、ロボットの軌道情報を出力する。軌道情報は、ロボットのエンドエフェクター部エンドポイントの位置情報X,Y,Zと、各座標軸回りでの回転角度情報U,V,Wを含むことができる。インバースキネマティクス処理部64は、軌道生成部62からの軌道情報に基づいてインバースキネマティクス処理逆運動学処理を行い、例えばロボットの関節角情報を目標値として出力する。例えば、図6の軌道生成部62が図5の目標エンドポイント位置取得部20に相当し、インバースキネマティクス処理部64が処理部30に相当する。力制御部12狭義にはインピーダンス制御部は、力覚センサー10からのセンサー情報に基づいて力制御力覚制御を行って、目標値の補正値を出力する。更に具体的には、力制御部12インピーダンス制御部は、力覚センサー10からのセンサー情報力情報、モーメント情報に基づいてインピーダンス制御或いはコンプライアンス制御を行う。力制御は、例えば、従来の位置制御に対して、力のフィードバックが加わった制御である。インピーダンス制御は、外力に対するエンドエフェクター部手先の変位の生じやすさ機械インピーダンスを、制御により望ましい状態にする手法である。具体的には、ロボットのエンドエフェクター部の質量に粘性係数と弾性要素が接続されるモデルにおいて、目標として設定した粘性係数と弾性係数で物体に接触するようにする制御である。また力覚センサー10は、ロボット100が出している力の反力として受けている力やモーメントを検出するセンサーである。この力覚センサー10は、通常、ロボット100のアームの手首部分に取り付けられ、検出された力やモーメントは、センサー情報として、各種の力制御インピーダンス制御に用いられる。ロボット制御部80は、目標値出力部60からの目標値に基づいて、ロボットのフィードバック制御を行う。具体的には、力制御部12からの補正値により補正された目標値に基づいて、ロボットのフィードバック制御を行う。例えば補正値により補正された目標値と、ロボット100からのフィードバック信号に基づいて、ロボット100のフィードバック制御を行う。例えばロボット制御部80は、複数の駆動制御部821~82N狭義にはモーター制御部を含み、ロボット100が有する駆動部1021~102Nに対して、その制御信号を出力する。ここで駆動部1021~102Nは、ロボット100の各関節を動かすための駆動機構であり、例えばモーター等により実現される。図7Aに本実施形態のロボット制御システムを含むロボットシステムの例を示す。このロボットシステムは、制御装置300ロボット制御システムと、ロボット本体310広義にはロボットとを含む。制御装置300はロボット本体310の制御処理を行う。具体的には、動作シーケンス情報シナリオ情報に基づいてロボット本体310を動作させる制御を行う。ロボット本体310は、アーム320及びハンド把持部330を有する。そして制御装置300からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動するなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボット本体310の姿勢やワークの位置などの情報が検出され、検出された情報が制御装置300に送られる。本実施形態のロボット制御システムは例えば図7Aの制御装置300に設けられ、例えば制御装置300のハードウェアーやプログラムによりロボット制御システムが実現される。そして本実施形態のロボット制御システムによれば、制御装置300などの制御ハードウェアーに対する性能要求を低減できると共に、ロボット本体310を高い応答性で動作させることなどが可能になる。なお、図7Aでは、ロボット本体310ロボットと制御装置300ロボット制御システムとが別体に構成されているが、図7Bに示すようにロボット本体310と制御装置300とが一体に構成されていてもよい。具体的には図7Bでは、ロボット本体310を支えるベースユニット部に制御装置300が格納されている。そして、ベースユニット部には車輪等が設けられ、ロボット全体が移動可能な構成となっている。また図7Aは単腕型のロボットの例であるが、本実施形態のロボットは図7Bに示すような双腕型等の多腕型のロボットであってもよい。次に本実施形態の第1の実施例の手法の詳細について説明する。第1の実施例では、対象となるロボットを近似し、解析的に逆運動学の解を求めることが可能な近似モデル近似解析モデルを用意する。例えばロボットの真正モデルでは、図2Bに示すようなオフセットが存在する場合に、近似モデルでは図2Aに示すようにこのオフセットを取り去る。即ち、図2Bの真正モデルでは、関節J3の回転軸が関節J2の関節中心を通らず、オフセットを有しているが、図2Aの近似モデルでは、関節J3の回転軸が関節J2の関節中心を通る。また関節J1の回転軸も関節J2の関節中心を通る。このため、図2Aの近似モデルを用いることで、解析的に解を求めることができる。そして、指定された目標エンドポイント位置目標手先位置姿勢を入力とし、近似モデルを用いて解析的な処理を行い、解析解である近似解を求める。そして、例えばこの近似解を初期値とし、反復法により、対象となるロボットの逆運動学の解を求める。即ち、近似解を、真正モデルの関節角の初期値に設定して、反復法による反復演算処理を行って、逆運動学の解を求める。ここで、対象となるロボットから近似モデルを求める手法の一例は、ロボットが持つオフセットの長さを零とするものである。また、ロボットの逆運動学の解を求める手法の一例は、ヤコビアン逆ヤコビアンを用いる手法である。具体的には、まず、図8Aに示すように、目標エンドポイント位置手先位置姿勢を与える。目標エンドポイント位置は、例えば図6の軌道生成部62からの軌道情報に基づいて取得される。次に図8Bに示すように近似モデルMAと目標エンドポイント位置を用いて近似解を求める。即ち、近似モデルMAの目標エンドポイント位置を図8Aの位置に設定して、解析的な処理により、関節角の解析解を近似解として求める。近似モデルは解析解を求めることが可能なモデルになっているため、その関節角の解析解を求めることができる。次に、図8Cに示すように、求められた近似解を初期値に設定する。具体的には、真正モデルMTの各関節角に、近似モデルにより求められた各関節角の近似解を設定する。近似モデルが良いモデルであれば、近似解は真の解に近いはずであり、図8Cの真正モデルMTのエンドポイント位置と目標エンドポイント位置との間の誤差は小さいはずである。そして、このように真正モデルMTの関節角の初期値に、近似モデルMAにより得られた近似解を設定して、図8Dに示すように反復法による反復演算処理を行う。つまり、図8Cの誤差を反復法により修正し、逆運動学における解を求める。反復演算処理が収束すれば、それが解となる。即ち、エンドポイント位置と目標エンドポイント位置との間の誤差が許容誤差範囲内になったら、解は収束したと判定され、その時の解が、逆運動学により求めるべきロボットの各関節角になる。図9は第1の実施例の詳細な処理を表すフローチャートである。まず、目標エンドポイント位置を取得するS1。次に、近似モデルにより近似解を求めるS2。即ち、近似モデルを用いた解析的な処理により、解析解である近似解を求める。次に、解は得られたか否かを判断し、得られなかった場合には処理が失敗したと判断するS3、S7。一方、得られた場合には、得られた近似解を初期値として用いて、反復法で解を求めるS4。具体的には、真正モデルの各関節角の初期値として近似解を設定し、反復法による反復演算処理により逆運動学における解を求める。そして、解が収束した場合には、処理が成功したと判断しS5、S6、その時の解をロボットの各関節角に設定して、ロボット制御を行う。以上の本実施形態の手法によれば、複雑な構造を持つロボットの逆運動学の解を、反復法により、より効率的に短時間で求めることが可能になる。また本実施形態によれば、従来の反復法の初期値決めに必要であったような大きな記憶容量を不要にすることができる。また本実施形態によれば、従来の反復法においては困難であったロボットの姿勢制御、冗長自由度制御を容易に行うことが可能となる。以上により、冗長自由度を持ち、オフセットなどの複雑な構造を持つロボットに対して、より高度、高速な制御を実現することが可能になる。3.第2の実施例図10に本実施形態の第2の実施例のロボット制御システム及びこれを含むロボットシステムの構成例を示す。なお、ロボット制御システムの構成やその構成要件について、第1の実施例と重複する部分については、適宜、その説明を省略する。図10のロボット制御システムは、目標エンドポイント位置取得部20と、真正モデル記憶部22と、近似モデル記憶部24と、処理部30を含む。またロボット制御部80を含むことができる。図10の処理部30は、近似解近似解析解を真正モデルの関節角関節変数に設定することで、近似解によるエンドポイント位置手先位置姿勢を求める。即ち、近似モデルにより得られた近似解を、真正モデルの各関節角に設定して、その時の真正モデルのエンドポイント位置を近似解によるエンドポイント位置として求める。次に、処理部30は、近似解によるエンドポイント位置と目標エンドポイント位置との間の誤差に基づいて、目標エンドポイント位置を修正することで、修正目標エンドポイント位置を求める。即ち、当該誤差の分だけ目標エンドポイント位置をずらす修正を行い、エンドポイント位置をずらした位置を、修正目標エンドポイント位置とする。そして処理部30は、修正目標エンドポイント位置と近似モデルを用いて、第2の近似解を求める。具体的には、修正目標エンドポイント位置と近似モデルを用いた解析的処理を行って、関節角の解析解を第2の近似解として求める。そして、処理部30は、求められた第2の近似解と真正モデルを用いて、反復演算処理を行うことで、ロボット100の逆運動学における解を求める。具体的には、第2の近似解を真正モデルの関節角の初期値として設定して、反復法の反復演算処理を行うことで、関節角の解を逆運動学における解として求める。以上の処理を行うために、図10の処理部30は、近似解演算部40、フォワードキネマティクス処理部42、目標エンドポイント位置修正部43、反復演算処理部50、収束判定部52、エラー処理部54を含む。具体的には、近似解演算部40は、第1の実施例と同様に、近似モデル記憶部24からの近似モデルと、目標エンドポイント位置取得部20からの目標エンドポイント位置を用いて、近似解を求める。そしてフォワードキネマティクス処理部42は、真正モデル記憶部22からの真正モデルの関節角に対して、求められた近似解を設定することで、フォワードキネマティクス処理順運動学処理により、真正モデルのエンドポイント位置を近似解によるエンドポイント位置として求める。次に、目標エンドポイント位置修正部43は、近似解によるエンドポイント位置と目標エンドポイント位置との間の誤差に基づいて、目標エンドポイント位置を修正する。そして、近似解演算部40は、修正目標エンドポイント位置と近似モデルを用いて、解析的処理を行って、第2の近似解を求める。次に、反復演算処理部50は、第2の近似解と真正モデルを用いて、反復演算処理を行うことで、逆運動学における解を求める。そして、収束判定部52は、この反復演算処理において解が収束したか否かを判定し、解が収束した場合には、その解を、ロボット100の関節角としてロボット制御部80に出力する。一方、解が収束しなかった場合には、エラー処理部54がエラー時用の処理を行う。次に本実施形態の第2の実施例の手法の詳細について説明する。第2の実施例では、対象となるロボットを近似し、解析的に逆運動学の解を求めることが可能な近似モデルを用意する。そして、第1の実施例と同様に、指定された目標エンドポイント位置目標手先位置姿勢を入力とし、近似モデルを用いて解析的な処理を行い、解析解である近似解を求める。次に、求められた近似解を初期値とし、対象となるロボットのエンドポイント位置を求める。そして、求められたエンドポイント位置と指定された目標エンドポイント位置との差異を誤差として求める。次に、指定された目標エンドポイント位置から、上記の誤差を引き算し、それを修正目標エンドポイント位置とする。そして、修正目標エンドポイント位置を入力として、近似モデルで第2の近似解を求める。次に、この第2の近似解を初期値として、反復法により、対象となるロボットの逆運動学の解を求める。この第2の実施例の手法は、近似解を与える近似モデルを2回用いるものである。つまり、真正モデルを用いた場合に起こる、近似解と真正モデルによる解との差異を、予め、目標エンドポイント位置に対して補正しておくことにより、より真の解に近い初期値を得るものである。これは、修正された目標エンドポイント位置に対する第2の近似解の方が、真正モデルを用いた場合の解に近いはずであるという考えに基づいている。具体的には、図11Aに示すように、第1の実施例と同様に、近似モデルMAと目標エンドポイント位置を用いて第1の近似解を求める。そして、第1の近似解を真正モデルMTの関節角に設定して、近似解によるエンドポイント位置を求める。次に、図11Bに示すように、求められた近似解によるエンドポイント位置真正モデルのエンドポイント位置と目標エンドポイント位置との間の誤差差異を求める。そして、求められた誤差を用いて、目標エンドポイント位置を修正して、修正目標エンドポイント位置を求める。次に、図11Cに示すように、修正目標エンドポイント位置と近似モデルMAを用いて、第2の近似解を求める。即ち、近似モデルMAの目標エンドポイント位置を修正目標エンドポイント位置に設定して、解析的な処理により、関節角の解析解を第2の近似解として求める。このようにして修正された目標エンドポイント位置に対する第2の近似解の方が、真正モデルMTを用いた場合の解に近いはずである。次に、図11Dに示すように、求められた第2の近似解を初期値に設定する。具体的には、真正モデルMTの各関節角に、近似モデルにより求められた各関節角の第2の近似解を設定する。そして、反復法による反復演算処理を行い、逆運動学における解を求める。反復演算処理が収束すれば、それが解となり、逆運動学により求めるべきロボットの各関節角になる。図12は第2の実施例の詳細な処理を表すフローチャートである。まず、目標エンドポイント位置を取得するS11。次に、近似モデルにより第1の近似解を求めるS12。即ち、近似モデルに対する解析的な処理により、解析解である第1の近似解を求める。次に、解は得られたか否かを判断し、得られなかった場合には処理が失敗したと判断するS13、S21。一方、得られた場合には、得られた第1の近似解と真正モデルを用いて、エンドポイント位置を求めるS14。具体的には、真正モデルの各関節角に第1の近似解を設定し、フォワードキネマティクス処理により、近似解によるエンドポイント位置を求める。そして、求められた近似解によるエンドポイント位置と目標エンドポイント位置との誤差差異に基づいて、目標エンドポイント位置を修正し、修正目標エンドポイント位置を求めるS15。次に、近似モデルにより修正目標エンドポイント位置に対する第2の近似解を求めるS16。即ち、近似モデルを用いた解析的な処理により、解析解である第2の近似解を求める。そして、解は得られたか否かを判断し、得られなかった場合には処理が失敗したと判断するS17、S21。一方、得られた場合には、得られた第2の近似解と真正モデルを用いて、反復法で解を求めるS18。具体的には、真正モデルの各関節角の初期値として第2の近似解を設定し、反復法による演算処理により逆運動学における解を求める。そして、解が収束した場合には、処理が成功したと判断しS19、S20、その時の解をロボットの各関節角に設定して、ロボット制御を行う。一方、解が得られなかった場合には、処理が失敗したと判断し、エラー処理等を行うS21。以上の第2の実施例の手法によれば、より真の解に近い第2の近似解を初期値に設定して、反復法により逆運動学の解を求めることができる。従って、冗長自由度を持ち、オフセットなどの複雑な構造を持つロボットに対して、より高度、高速な制御を実現することが可能になる。4.第3の実施例図13に本実施形態の第3の実施例のロボット制御システム及びこれを含むロボットシステムの構成例を示す。なお、ロボット制御システムの構成やその構成要件について、第1、第2の実施例と重複する部分については、適宜、その説明を省略する。図13のロボット制御システムは、目標エンドポイント位置取得部20と、真正モデル記憶部22と、近似モデル記憶部24と、処理部30を含む。またロボット制御部80を含むことができる。図13の近似モデル記憶部24は、真正モデルを近似したモデルとして、第1~第mの近似モデルMA1~MAmmは2以上の整数の情報を記憶する。処理部30は、第1~第mの近似モデルMA1~MAmと目標エンドポイント位置を用いて、第1~第mの近似解を求める。そして、第1~第mの近似解の中から選択された近似解を初期値として設定して、反復演算処理を行うことで、ロボット100の逆運動学における解を求める。具体的には、処理部30は、第1~第mの近似モデルMA1~MAmのうちの第i1≦i≦mの近似モデルと目標エンドポイント位置を用いて、第iの近似解を求める。即ち、第iの近似モデルと目標エンドポイント位置を用いた解析的処理により、解析解である第iの近似解を求める。次に処理部30は、求められた第iの近似解を真正モデルの関節角に設定することで、近似解による第iのエンドポイント位置とヤコビアンを求める。そして、第iのエンドポイント位置と目標エンドポイント位置との間の第1の誤差と、ヤコビアン逆ヤコビアンを用いて、関節角を補正する。即ち、ヤコビアンを用いた逆運動学の反復法による反復演算処理を、例えば1回広義には所定回数の処理ループだけ、実行する。例えばヤコビアンを用いた逆運動学の反復法では、前述したように、エンドポイント位置の変位変位ベクトルと逆ヤコビアンを用いて、関節角の変位変位ベクトルを求める。第3の実施例では、エンドポイント位置の変位に相当する第1の誤差と逆ヤコビアンとを用いて求められた関節角の変位の分だけ、関節角を補正する。処理部30は、この補正後の関節角を真正モデルの関節角に設定することで、第iの補正エンドポイント位置を求める。そして、求められた第iの補正エンドポイント位置と目標エンドポイント位置の間の第2の誤差に基づいて選択された近似解を、初期値として設定する。具体的には、上述した処理を第1~第mの近似モデルMA1~MAmの各近似モデルを用いて行い、第1~第mの補正エンドポイント位置を求める。そして、求められた第1~第mの補正エンドポイント位置と目標エンドポイント位置との間の第2の誤差を求め、第2の誤差が例えば最も小さくなる補正エンドポイント位置に対応する近似解を選択する。そして、選択された近似解を、真正モデルの関節角の初期値として設定して、反復法の反復演算処理を行うことで、逆運動学における解を求める。以上の処理を行うために、図13の処理部30は、近似解演算部401~40m、近似解選択部44、反復演算処理部50、収束判定部52、エラー処理部54を含む。具体的には、近似解演算部401~40mは、近似モデル記憶部24からの第1~第mの近似モデルMA1~MAmと、目標エンドポイント位置取得部20からの目標エンドポイント位置を用いて、第1~mの近似解を求める。即ち、各近似解演算部401~40mは、第1の実施例と同様の手法により近似解を求める。そして、近似解選択部44は、求められた第1~第mの近似解の中から、例えば誤差が最も少ないと評価される近似解を選択する。例えば、第1~第mの近似解のうちの第iの近似解を真正モデルの関節角に設定することで、近似解による第iのエンドポイント位置とヤコビアンが求められ、第iのエンドポイント位置と目標エンドポイント位置との間の第1の誤差と、ヤコビアンを用いて、関節角が補正され、補正後の関節角を真正モデルの関節角に設定することで、第iの補正エンドポイント位置が求められたとする。この場合には近似解選択部44は、第1~第mの補正エンドポイント位置の各第iの補正エンドポイント位置と目標エンドポイント位置の間の第2の誤差に基づいて、近似解を選択する。例えば第2の誤差が最も少ない補正エンドポイント位置を選択する。そして、反復演算処理部50は、選択された近似解と真正モデルを用いて、反復演算処理を行うことで、逆運動学における解を求める。即ち、選択された近似解を真正モデルの初期値に設定して、反復演算処理を行って、関節角についての解を求める。そして収束判定部52は、解が収束した場合には、その解を、ロボット100の関節角としてロボット制御部80に出力する。次に本実施形態の第3の実施例の手法の詳細について説明する。第3の実施例では、対象となるロボットを近似し、解析的に逆運動学の解を求めることが可能な複数個の近似モデルを用意する。複数個の近似モデルは、例えば各アームの長さが互いに異なるモデルである。具体的には、図4B、図4Cのように、アームの長さの設定が異なる近似モデルなどを想定できる。或いは、オフセットの省略の仕方や、拘束条件が互いに異なる近似モデルであってもよい。そして、第1の実施例と同様に、指定された目標エンドポイント位置目標手先位置姿勢を入力とし、複数の近似モデルを用いて解析的な処理を行い、解析解である複数の近似解を求める。次に、これらの複数の近似解の中から、以下の基準で最適なものを選択し、それを初期値とし、対象となるロボットのエンドポイント位置手先位置姿勢を求める。具体的には、指定された目標エンドポイント位置と、複数の近似解のそれぞれに対応するエンドポイント位置との間の第1の誤差第1の差異を求める。また、それぞれのエンドポイント位置手先位置姿勢におけるヤコビアンを求める。そして、上記の第1の誤差と上記のヤコビアンにより、角関節角の補正を行う。次に、補正された関節角により、補正エンドポイント補正手先位置姿勢を求める。そして、目標エンドポイント位置と補正エンドポイント位置との間の第2の誤差第2の差異を求める。そして、第2の誤差が最も小さいものに対応する近接解を初期値とし、反復法により、対象となるロボットの逆運動学の解を求める。この第3の実施例の手法は、近似解を与える複数個の近似モデルを用意するものである。つまり、複数の近似モデルを用意し、更に、その中のどの近似モデルが良いかという判断を、反復法の最初の1ステップ分の処理を行って、その結果が最も目標に近いものを選択するという手法である。単純に、近似解の結果が目標に近いか遠いではなく、真の解に効率良く近づく可能性が高そうな解を、上記の1ステップ分の処理の結果に基づいて、選択するという手法である。まず、ヤコビアンについて簡単に説明する。簡単化のために1次元の場合として説明する。図14Aにおいて、TRは、エンドポイント位置に対する関節角の解を表すものであり、真正モデルに対応するものである。近似解に対応するP1でのヤコビアンは、P1における接線微分値TGに相当する。このヤコビアンを用い、目標位置目標エンドポイント位置へ移動するための角度変位を求めると、図14Bのようになる。具体的には、ヤコビアンを表す接線TGと目標位置目標エンドポイント位置との交点P2から、補正近似解が求まる。この補正近似解は、近似解よりもP3の解に近くなっており、目標位置と補正位置補正エンドポイント位置と間の誤差は小さい。一方、図14Cでは、近似解に対応するP4でのヤコビアンに相当する接線TGにより、P5の補正近似解が求まる。図14Cでは、図14Bに比べて、目標位置と補正位置との間の誤差は大きくなっている。また図14Cでは、その後の反復演算処理の収束も悪いと考えられる。即ち、補正近似解のところでのヤコビアンを求めて更に補正を行うと、ヤコビアンに対応する接線と目標位置との交点は、解から離れる方向になるため、反復演算処理の収束が悪くなる。解の良し悪しを判定することは非常に難しい。例えば、単純に最初の近似解の誤差の大小だけでは、判断を誤る可能性が高い。一方、第3の実施例の手法のようにヤコビアンで一度補正をした後の誤差で判断する手法も、必ずしも最良の手法であるとは言うことはできない。しかし、実験的には、解への収束性の良い場合は、最初の2、3回の補正で真の解の近傍に急速に接近する。一方、収束性の悪い場合には、そのような特性は見られない。従って、この意味においては、本実施形態の第3の実施例の手法のように、補正を1回行った後の誤差を用いて判断する手法は有効であると考えられる。図15は第3の実施例の詳細な処理を表すフローチャートである。まず、目標エンドポイント位置を取得するS31。次に、全ての近似モデルについての処理を行ったか否かを判断し、行っていない場合には近似モデルを1つ選択するS32、S33。そして、第1の実施例と同様に、選択された近似モデルにより近似解近似解析解を求めるS34。次に、解は得られたか否かを判断しS35、得られなかった場合にはステップS32に戻る。一方、得られた場合には、第2の実施例と同様に、得られた近似解と真正モデルを用いて、エンドポイント位置を求めるS36。具体的には、真正モデルの各関節角に近似解を設定し、フォワードキネマティクス処理により、近似解によるエンドポイント位置を求める。具体的には図14BのP1における近似位置を求める。更に、得られた近似解と真正モデルを用いて、ヤコビアン逆ヤコビアンを求めるS37。これは図14BのP1における接線TGを求めることに相当する。次に、求めたエンドポイント位置と目標エンドポイント位置との間の第1の誤差と、ヤコビアン逆ヤコビアンを用いて、関節角を補正するS38。これは、図14Bにおいて、近似位置近似解によるエンドポイント位置と目標位置目標エンドポイント位置と接線TGヤコビアンにより補正近似解補正後の関節角を求めることに相当する。次に、補正後の関節角と真正モデルを用いて、補正エンドポイント位置を求めるS39。これは、図14Bにおいて、TR真正モデルと、補正近似解補正後の関節角から、補正位置補正エンドポイント位置を求めることに相当する。そして、補正エンドポイント位置と目標エンドポイント位置との間の第2の誤差と、補正後の関節角を記憶部に記憶するS40。即ち図14Bの目標位置と補正位置の間の誤差と、補正近似解を記憶する。ステップS32で全ての近似モデルについての処理が行われたと判断されると、最も目標エンドポイント位置に近い解を与えた関節角を、初期値として選択するS41。具体的には、図14Bにおいて、補正位置と目標位置との間の第2の誤差が最も小さくなる補正近似解を、初期値として選択する。この選択処理は、ステップS40で記憶された各近似モデルの第2の誤差と補正後の関節角を用いることで、実現できる。次に、選択した初期値と真正モデルを用いて、反復法により解を求めるS42。具体的には、真正モデルの各関節角に対して、選択した初期値を設定し、反復法による演算処理により逆運動学における解を求める。そして、解が収束した場合には、処理が成功したと判断しS43、S44、その時の解をロボットの各関節角に設定して、ロボット制御を行う。一方、解が得られなかった場合には、処理が失敗したと判断し、エラー処理等を行うS45。なお、図15のステップS37~S39が、ステップS42の反復演算処理の1ステップ分の処理に相当する。以上の第3の実施例の手法によれば、複数の近似モデルを用いることで、より真の解に近い補正関節角補正近似解を初期値に設定して、反復法により逆運動学の解を求めることができる。従って、冗長自由度を持ち、オフセットなどの複雑な構造を持つロボットに対して、より高度、高速な制御を実現することが可能になる。5.第4、第5の実施例図16、図17に本実施形態の第4、第5の実施例のロボット制御システム及びこれを含むロボットシステムの構成例を示す。なお、ロボット制御システムの構成やその構成要件について、第1、第2、第3の実施例と重複する部分については、適宜、その説明を省略する。図16、図17のロボット制御システムは、目標エンドポイント位置取得部20と、真正モデル記憶部22と、近似モデル記憶部24と、処理部30を含む。またロボット制御部80を含むことができる。また図17では、更に動作履歴記憶部26が設けられる。例えば図16の第4の実施例の処理部30は、近似解を真正モデルの関節角に設定することで、近似解によるエンドポイント位置を求める。具体的には、フォワードキネマティクス処理によりエンドポイント位置を求める。そして処理部30は、近似解によるエンドポイント位置と現在のエンドポイント位置の中から、選択されたエンドポイント位置手先位置姿勢に対応する関節角を、初期値に設定して、反復演算処理を行うことで、ロボットの逆運動学における解を求める。例えば処理部30は、現在エンドポイント位置取得部45を有しており、この現在エンドポイント位置取得部45が、ロボット制御部80から、現在のエンドポイント位置や関節角を取得する。例えば、現在の姿勢でのアームのエンドエフェクター部の位置やアームの関節角を取得する。そして、初期値選択部46が、近似解によるエンドポイント位置と現在のエンドポイント位置の中から選択されたエンドポイント位置に対応する関節角を、反復演算処理に使用される初期値として選択する。更に具体的には処理部30は、近似解によるエンドポイント位置と目標エンドポイント位置との間の第1の誤差を求める。また現在のエンドポイント位置と目標エンドポイント位置との間の第2の誤差を求める。そして処理部30は、第1の誤差の方が第2の誤差よりも小さい場合には、近似解によるエンドポイント位置に対応する関節角近似解である関節角を、初期値に設定する。一方、第2の誤差の方が第1の誤差よりも小さい場合には、現在のエンドポイント位置に対応する関節角現在のアームの関節角を、初期値に設定する。或いは、処理部30は、ロボットのポイントツーポイント制御が行われた場合には、近似解によるエンドポイント位置に対応する関節角を、初期値に設定する。一方、ロボットのコンティニュアス制御が行われた場合には、現在のエンドポイント位置に対応する関節角を、初期値に設定する。ここで、ポイントツーポイント制御は、PTP制御と呼ばれるものであり、例えば飛び飛びの点のポーズ姿勢だけを指定した命令により行われる制御である。例えば動作経路上の代表地点を教示し、地点のみを制御し、各地点に向かう動作経路移動経路については問題としない制御である。一方、コンティニュアス制御とは、CP制御と呼ばれるものであり、例えば全軌道又は全経路を指定した命令により行われる制御である。例えば、定められた地点間を連続的に補間し、ロボットアームを追従させる。この制御を行う場合には、連続した動作経路を教示することになる。図17の第5の実施例のロボット制御システムは、動作履歴記憶部26を更に含む。この動作履歴記憶部26は、過去のエンドポイントの動作履歴位置である動作履歴エンドポイント位置やその時の関節角を記憶する。例えば動作履歴記憶部26はFIFOにより構成され、各タイミングでのエンドポイント位置や関節角が動作履歴データとしてFIFOに順次記憶されて行く。そして図17の処理部30は、近似解によるエンドポイント位置と、現在エンドポイント位置取得部45からの現在のエンドポイント位置と、動作履歴記憶部26からの動作履歴エンドポイント位置の中から、選択されたエンドポイント位置に対応する関節角を、初期値に設定して、反復演算処理を行うことで、ロボットの逆運動学における解を求める。この初期値の選択は初期値選択部46により行われる。具体的には処理部30は、近似解によるエンドポイント位置と目標エンドポイント位置との間の第1の誤差を求める。また現在のエンドポイント位置と目標エンドポイント位置との間の第2の誤差を求める。更に、動作履歴エンドポイント位置と目標エンドポイント位置との間の第3の誤差を求める。そして処理部30は、第1の誤差の方が第2の誤差、第3の誤差よりも小さい場合には、近似解によるエンドポイント位置に対応する関節角を、初期値に設定する。また第2の誤差の方が第1の誤差、第3の誤差よりも小さい場合には、現在のエンドポイント位置に対応する関節角を、初期値に設定する。また、第3の誤差の方が第1の誤差、第2の誤差よりも小さい場合には、動作履歴エンドポイント位置に対応する関節角を、初期値に設定する。即ち、近似解によるエンドポイント位置と、現在のエンドポイント位置と、動作履歴エンドポイント位置の中から、目標エンドポイント位置との誤差が最小となるエンドポイント位置を選択して、そのエンドポイント位置に対応する関節角当該手先位置姿勢時の関節角を、反復演算処理における初期値に設定する。次に本実施形態の第4、第5の実施例の手法の詳細について説明する。第4の実施例の手法では、指定された目標エンドポイント位置目標手先位置姿勢と現在のエンドポイント位置現在の手先位置姿勢を比較し、それらの間の差異誤差が小さい場合には、現在のエンドポイント位置での関節角を、初期値として反復法により解を求める。具体的には、近似解によるエンドポイント位置と現在のエンドポイント位置とのどちらが目標エンドポイント位置に近いかを判断し、近い方の関節角を初期値として採用する。一方、第5の実施例では、ロボットは、過去にとったエンドポイント位置手先位置姿勢とその際の関節角を所定個数だけ記憶する履歴データを持ち、指定された目標エンドポイント位置目標手先位置指定と履歴データを比較し、その差異誤差が最小、且つ、その差異が所定の差異よりも小さい場合、その最小である履歴データを初期値として、反復法により解を求める。即ち、過去の動作履歴を記憶する動作履歴記憶部26を有し、近似モデルによる近似解、現在位置、動作履歴の中から、目標位置に最も近いものを初期値として採用する。例えば図18Aは、近似解によるエンドポイント位置の関節角が初期値として設定される場合の例である。例えばPTP制御ポイントツーポイント制御では、PTP制御によるジャンプ前の現在のエンドポイント位置と、ジャンプ後の目標エンドポイント位置との間は距離的に離れている場合が多く、その間の動作経路は問わない制御となる。この場合には図18Aに示すように、近似解である関節角を初期値に設定して、逆運動学の反復演算処理を行う。このようにすれば、PTP制御のように現在のエンドポイント位置と目標エンドポイント位置の間が距離的に離れる場合に、近似解により目標エンドポイント位置に近づいて、残りの誤差を反復演算処理により修正することが可能になる。図18Bは、現在のエンドポイント位置に対応する関節角現在のアームの関節角が初期値として設定される場合の例である。例えばCP制御コンティニュアス制御では、現在のエンドポイント位置と目標エンドポイント位置との間が距離的に近い場合が多く、動作経路の指定地点が細かく設定される。この場合には図18Bに示すように、現在のエンドポイント位置に対応する関節角を初期値に設定して、逆運動学の反復演算処理を行う。このようにすれば、CP制御のように現在のエンドポイント位置と目標エンドポイント位置の間が距離的に近くて、細かく制御される場合に、近似解を初期値として用いる場合に比べて、より効率的に短時間で逆運動学の解を求めることが可能になる。図18Cは、動作履歴エンドポイント位置に対応する関節角が初期値として設定される場合の例である。例えば、過去の動作履歴エンドポイント位置の中に、近似解によるエンドポイント位置よりも、目標エンドポイント位置に近いエンドポイント位置がある場合には、その動作履歴エンドポイント位置を選択する。そして、選択された動作履歴エンドポイント位置に対応する関節角を初期値に設定して、逆運動学の反復演算処理を行う。このようにすることで、場合によっては、近似解を初期値に設定する場合に比べて、より効率的に短時間で逆運動学の解を求めることも可能になる。図19は、第4の実施例の詳細な処理を示すフローチャートである。まず、目標エンドポイント位置を取得するS51。そして、第1の実施例と同様に、近似モデルにより近似解を求めるS52。次に、解が得られたか否かを判断しS53、得られなかった場合には、現在の関節角現在のエンドポイント位置に対応する関節角を初期値として選択するS62。一方、解が得られた場合には、得られた近似解を初期値として用いて、反復法で解を求めるS54。そして、解が得られたか否かを判断しS55、得られなかった場合には、現在の関節角を初期値として選択するS62。一方、得られた場合には、得られた近似解と真正モデルにより、近似解によるエンドポイント位置を求めるS56。例えばフォワードキネマティクス処理によりエンドポイント位置を求める。次に、求められたエンドポイント位置と目標エンドポイント位置との間の第1の誤差を求めるS57。また、現在のエンドポイント位置を取得しS58、現在のエンドポイント位置と目標エンドポイント位置との間の第2の誤差を求めるS59。次に、ステップS57で求められた第1の誤差と、ステップS59で求められた第2の誤差を比較するS60。そして、第1の誤差の方が第2の誤差よりも小さい場合には、図18Aに示すように近似解を初期値として選択するS61。一方、第2の誤差の方が第1の誤差よりも小さい場合には、図18Bに示すように現在の関節角を初期値として選択するS62。図19は、第5の実施例の詳細な処理を示すフローチャートである。図19のステップS71~S79の処理は、図18のステップS51~S59の処理と同様であるため説明を省略する。ステップS79の後、動作履歴エンドポイント位置と目標エンドポイント位置との間の誤差を、第3の誤差として求めるS80。次に、ステップS77で求められた第1の誤差が最小か否かを判断しS81、第1の誤差が最小である場合には、図18Aに示すように近似解の関節角を初期値として選択するS82。一方、第1の誤差が最小ではない場合には、第2の誤差が最小か否かを判断するS83。そして、第2の誤差が最小である場合には、図18Bに示すように現在の関節角を初期値として選択するS84。一方、第2の誤差が最小ではない場合には、誤差最小の動作履歴データを初期値として選択するS85。例えば図18Cにおいて、複数の動作履歴エンドポイント位置のうち、目標エンドポイント位置との間の誤差が最小となる動作履歴エンドポイント位置を選択し、選択された動作履歴エンドポイント位置に対応する関節角を初期値として選択する。なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語エンドポイント位置、近似解等と共に記載された用語手先位置姿勢、近似解析解等は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態の実施例及び変形例の全ての組み合わせも、本発明の範囲に含まれる。またロボット制御システム、ロボットシステムの構成動作、近似解の演算手法、逆運動学の解の演算手法、近似モデルや真正モデルの構成等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。"