(57)【要約】      （修正有）【課題】複数の機能部品（構成ユニット）からなる実ロボットと仮想ロボットで共通のロボット部品の構成をとり、それを制御するプログラムを共通に使えるようにする。【解決手段】仮想ロボットのエージェントモデル部１１０は、実ロボットにおけるエージェントモデル部とハードウエア構成及びソフトウエア構成を同じとする。バーチャルＣＰＣ（Configurable Physical Component）部１２０は、実ロボットにおけるＣＰＣ部の情報のみで構成され、バーチャルロボット機能部品を結合するソフトウエアからなるバーチャルＣＰＣマネージャ１２０Ｂが存在する。ミュレーションにおいては仮想ロボットを構成する１つ以上のバーチャルロボット機能部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める手段と、連結されたバーチャルロボット機能部品間の座標変換を行う手段とを備える。【選択図】図３
2008207331.tif 000002
【特許請求の範囲】
【請求項１】
仮想ロボットを構成する１つ以上の仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める手段と、連結された仮想構成部品間の座標変換を行う手段とを備えるロボットシミュレーション装置。
【請求項２】
各仮想構成部品に附属して、その座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を記憶している請求項１記載のロボットシミュレーション装置。
【請求項３】
実ロボットを構成する１つ以上の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める手段と、連結された構成部品間の座標変換を行う手段とを備えるロボットシミュレーション装置。
【請求項４】
各構成部品に記憶されている情報を用いて、慣性行列を求めるとともに構成部品間の座標変換を行い、ロボットの動きをシミュレーションする請求項３記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用や娯楽用の自律型ロボットあるいはコンピュータ上に存在する仮想ロボットなどの行動制御など用いられるロボットシミュレーション装置に関する。
【背景技術】
【０００２】
従来、ロボットの多くは、複数の構成ユニットをそれぞれ予め定められた相関関係で予め定められた状態に結合されることにより所定の形に組み立てられ、各構成ユニットを駆動制御することにより、姿勢や動きを変化させるようになっている。
【０００３】
例えば、特許文献１（特開平５−２４５７８４号公報）に開示されているロボットでは、複数の関節モジュールと、複数のアームモジュールとを組み合わせることにより所望形状に構築し得るようになっている。そして、このロボットは、各関節モジュールにそれぞれ固有番号を設定して、制御部が各関節モジュールとの通信により得られる固有番号に基づいて各関節モジュールの接続順序を認識し、その認識に基づいて制御プログラムを好適なものに書き換えることができるようになっている。
【０００４】
また、コンピュータ上でコンピュータグラフィックス（CG:Computer Graphics）により仮想ロボットや仮想生物などを動かし、上記コンピュータに接続されたセンサなどにより入力情報に応じて仮想ロボットや仮想生物の行動を変化させるようにようにしたコンピュータゲームが知られている。
【０００５】
さらに、実ロボットのシミュレーションを行う場合、実ロボットと同じ形状、質量を持つモデルをコンピュータ上に構築し、これに重力などの実世界での物理的に存在する力を作用させ、その動きを計算により求める方法は、多くのロボットの教科書に記述されている。
【０００６】
【特許文献１】特開平５−２４５７８４号公報
【特許文献２】特開平５−２９８４２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１に開示されているロボットは、マニピュレータを前提にしていることから、構成ユニットを２つ以上に分岐して接続するような構成に対応することができず、また、各種センサからの入力情報に基づく制御にも対応するものではなかった。そこで、本件出願人は、先に特願平９−１９０４０号として、複数の構成ユニットからなるロボット装置において、構成ユニットの形状を決定するための形状情報を記憶する第１の記憶手段と、構成ユニットの運動を記述するのに必要な運動情報を記憶する第２の記憶手段と、構成ユニットに収納された電子部品の特性情報を記憶する第３の記憶手段と、各構成ユニットの結合状態を検出する検出手段とを設けるようにしたものを提案している。このロボット装置における制御手段は、検出手段による検出結果に基づいて全体の構造や、各構成ユニットの運動特性を自動的に認識することができる。また、上記ロボット装置では、制御手段が各構成ユニットを制御するために使用する制御プログラムによって、予め各電子部品の機能毎に共通に定められた所定のデータフォーマットで表される第１のデータを各電子部品が機能毎に用いるデータフォーマットで表される第２のデータに変換する変換プログラムを各構成ユニットの各記憶手段に記憶させるようにしている。この結果、制御プログラムによって予め決められたデータフォーマットに依存せずに、各構成ユニットを設計することが可能になる。
【０００８】
このようにロボット部品に形状や機能情報を記憶させ、それらを結合の順序を知ることができる仕組みを持つ信号線結合方式（シリアルバス）で結合することによって、ロボットを制御するＣＰＵがロボットの形状とセンサやアクチュエータの種類とそれらが取り付けられている場所を知ることができる。
【０００９】
特願平９−１９０４０号の開示技術によれば、バーチャルロボットと名付けたロボット部品の持っている情報とその結合順序を管理しているソフトウエアオブジェクトを上記シリアルバスとロボット部品の持つ情報から自動的に構築して、実ロボットを駆動制御することができる。
【００１０】
本発明は、実ロボットと仮想ロボットで共通のロボット部品の構成をとり、それを制御するプログラムを共通に使えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御することを特徴とする。
【００１２】
本発明に係るロボットシミュレーション装置は、仮想ロボットを構成する１つ以上の仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める手段と、連結された仮想構成部品間の座標変換を行う手段とを備えることを特徴とする。
【００１３】
本発明に係るロボットシミュレーション装置では、例えば、各仮想構成部品に附属して、その座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を記憶している。
【００１４】
また、本発明に係るロボットシミュレーション装置は、実ロボットを構成する１つ以上の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める手段と、連結された構成部品間の座標変換を行う手段とを備えることを特徴とする。
【００１５】
本発明に係るロボットシミュレーション装置は、例えば、実ロボットを構成する各構成部品に記憶されている情報を用いて、慣性行列を求めるとともに構成部品間の座標変換を行い、ロボットの動きをシミュレーションする。
【発明の効果】
【００１６】
本発明によれば、実ロボットと仮想ロボットで共通のロボット部品の構成をとり、それを制御するプログラムを共通に使えるようにすることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
先ず、実ロボットの概略構成を図１に示す。この図１に示す実ロボットは、エージェントモデル部１０とＣＰＣ（Configurable Physical Component ）部２０から構成される。エージェントモデル部１０は、ＣＰＵ１１とＲＡＭ１２，ＲＯＭ１３，シリアルバスのホストコントローラ１４及び一般的なＣＰＵ周辺装置１５からなり、上記シリアルバスのホストコントローラ１４を介してマスタ入出力が行われるようになっている。
【００１９】
また、ＣＰＣ部２０は、物理的な構成要素であるＣＰＣ部品２１Ａ，２１Ｂ，２１Ｃ，２１Ｄ，２１Ｅ・・・がツリー構造で結合あるいは分岐させながらロボット部品として結合されている。ロボット部品すなわちＣＰＣ部品は、結合されたシリアルバスの信号線を分岐させるＨＵＢ２２、信号処理部２３及びメモリ２４からなる。そして、シリアルバスの信号を処理する信号処理部２３には、シリアルバスのデバイス側のコントローラがあり、クロック同期、エラー検出、データパケット再送要求、アドレス管理等を行っている。また、メモリ２４には、ロボット部品としての形状データ、運動方程式を立てるのに必要な物理的なデータ、この部品が持っている機能情報あるいはエージェントモデル部に転送してこの部品を制御するためのプログラム等が記憶されており、エージェントモデル部１０からの要求に対して、これらのデータやプログラムがシリアルバスから転送され、あるいは制御命令が入力される。
【００２０】
次に、上記実ロボットのソフトウエア構成を機能構成部に分割して図２に示す。すなわち、上記実ロボットのエージェントモデル部１０は、シリアルバスを制御するシリアルバスホストコントローラ（ハードウエア及びソフトウエア）１０Ａ、ＣＰＣ部の各ＣＰＣ部品の情報と結合を管理するバーチャルロボット（ソフトウエア）１０Ｂ、ユーザにより与えられるRobot Part Semanticsのデータに従って各ＣＰＣ部品のロボットにおける意味を定義するブループリントロボット（ソフトウエア）１０Ｃ、さらに、ブループリントロボット１０Ｃを自律型ロボットとして機能させるために行動モデルや行動パラメータに応じてセンサ処理や行動制御等を行うエージェントコントローラ（ソフトウエア）１０Ｄから構成される。
【００２１】
また、ＣＰＣ部２０は、機能的にはシリアルバスデバイスコントローラ２０Ａとロボット機能部２０Ｂとから構成される。シリアルバスデバイスコントローラ２０Ａは、シリアルバスから入出力される信号を処理するもので、機能的にはエージェントモデル部１０のシリアルバスホストコントローラ１０Ａとプロトコルをもちデータの授受を行う。ロボット機能部２０Ｂは、シリアルバスデバイスコントローラ２０Ａからのデータあるいはエージェントモデル部１０側からの命令に従って動作を行うもので、機能的にはエージェントモデル部１０のバーチャルロボット１０Ｂとプロトコルをもちデータの授受を行う。
【００２２】
このような構成の実ロボットにおいて、エージェントモデル部１０側では、シリアルバスホストコントローラ１０Ａのハードウエア及びそれを制御するソフトウエアにより、シリアルデータの入出力の処理が行われる。すなわち、データ出力時には、シリアルバスホストコントローラ１０Ａは、データに同期用のシンクパターン、ヘッダ情報、データ、誤り検出、訂正符号を付加し、さらにＮＲＺなどの変調をかけて送出する。そして、データ送出後には、送り先からのアクノリッジ信号などを受信して、そのデータが獲得されたことを確認してから次のデータ処理に入る。また、データ入力時には、シリアルバスホストコントローラ１０Ａは、送られてきた信号のクロック同期、シンクパターン検出、ヘッダ情報処理、データ獲得、誤り検出、訂正等を行い、アクノリッジ信号を送出する。もし、データに誤りなどがあった場合には、再送要求の信号を出力する。このようにして、シリアルバスホストコントローラ１０Ａは、シリアルバスを介してデータの入出力を行う。
【００２３】
また、ＣＰＣ部２０の各ＣＰＣ部品２１Ａ，２１Ｂ・・・の結合順序は、各ＣＰＣ部品２１Ａ，２１Ｂ・・・がツリー構造をもって結合されていることを利用して知ることができる。すなわち、シリアルバスホストコントローラ１０Ａが各ＣＰＣ部品に情報を渡すためのアドレスを分岐順序と対応付けることにより、シリアルバスホストコントローラ１０Ａは各ＣＰＣ部品２１Ａ，２１Ｂ・・の結合順序を知ることができる。一方、ＣＰＣ部品の次の部品への分岐結合部はＣＰＣ部品内の情報として記憶されており、その情報を用いて、ＣＰＣ部品の形状及び次に結合される位置、さらに、そこに結合された部品の形状などをシリアルバスホストコントローラ１０Ａは知ることができる。そこで、シリアルバスホストコントローラ１０Ａがそれらのデータをバーチャルロボット１０Ｂに渡すことにより、バーチャルロボット１０Ｂは、自分がどのような形状をしているロボットで、どのような機能を持っていて、それらがどこに存在しているかを認識するための情報を自動的に獲得することができる。
【００２４】
すなわち、実ロボットの動きは、実ロボットを構成する１つ以上の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求め、連結された構成部品間の座標変換を行うことにより、シミュレーションすることができる。
【００２５】
したがって、このように図１及び図２に示した構成の実ロボットでは、その物理的な構成要素であるＣＰＣ部品２１Ａ，２１Ｂ・・・がツリー構造で結合あるいは分岐させながらロボット部品として結合されているＣＰＣ部２０を備え、このＣＰＣ部２０の各ＣＰＣ部品２１Ａ，２１Ｂ・・・の情報と結合順序をシリアルバスを介して獲得するようにしたエージェントモデル部１０により各ＣＰＣ部品２１Ａ，２１Ｂ・・・を駆動制御することができる。
【００２６】
次に、本発明を適用した仮想ロボットについて説明する。
【００２７】
本発明を適用した仮想ロボットでは、実ロボットにおける物理的な構成要素に代えて仮想的な構成要素であるバーチャルロボット部品を結合するようにしたバーチャルＣＰＣ部を備え、エージェントモデル部によりバーチャルＣＰＣ部により各バーチャルロボット部品の駆動制御を行う。すなわち、実ロボット部品をその内部の情報だけを保持するソフトウエアあるいはバーチャルロボット部品として扱い、実ロボットを制御していたプログラムにより仮想ロボットを制御する。
【００２８】
ここで、バーチャルロボット部品とは、例えば、ワークステーションなどによるコンピュータグラフィックス（CG:Computer Graphics）を用いて表示されるソフトウエアあるいはデータのことである。
【００２９】
図３に示す仮想ロボットは、上述の図１及び図２に示した実ロボットにおけるエージェントモデル部１０は変更することなく、ＣＰＣ部２０をバーチャルＣＰＣ部１２０に置き換えた構成となっている。
【００３０】
すなわち、この仮想ロボットのエージェントモデル部１１０は、シリアルバスコントローラ（ハードウエアとソフトウエア）１１０Ａ、バーチャルロボット（ソフトウエア）１１０Ｂ、ブループリントロボット（ソフトウエア）１１０Ｃ及びエージェントコントローラ（ソフトウエア）１１０Ｄからなり、上述の実ロボットにおけるエージェントモデル部１０とハードウエア構成及びソフトウエア構成が同じでものである。
【００３１】
そして、バーチャルＣＰＣ部１２０は、上述の実ロボットにおけるＣＰＣ部の情報のみで構成されるもので、物理的なＣＰＣ部品ではなく、コンピュータ上に存在するデータあるいはプログラムからなるバーチャルロボット機能部品を結合するソフトウエアからなるバーチャルＣＰＣマネージャ１２０Ｂが存在する。
【００３２】
また、このバーチャルＣＰＣ部１２０では、上記エージェントモデル部１１０が上述の実ロボットにおけるシリアルバスと物理的にも同じシリアルバスでバーチャルＣＰＣマネージャ１２０Ｂと通信し、バーチャルＣＰＣマネージャ１２０Ｂがシリアルバスのプロトコルを解釈して反応するようなバーチャルシリアルバスデバイコントローラ１２０Ａが通信を担当している。
【００３３】
さらに、このバーチャルＣＰＣ部１２０側には、ユーザにロボットの動きを見せるためのビューワ１２０Ｃ（ソフトウエア）がさらに存在している。また、上述の実ロボットではロボットあるいはＣＰＣ部品が現実の物理世界で重力などの力を受けていたが、仮想ロボットでは、ソフトウエアにより重力などの処理を行う。すなわち、バーチャルロボット部品が存在するバーチャルワールドをバーチャルワールドマネージャ１２０Ｄがエミュレートし、そのバーチャルワールドをビューワ１２０Ｃによりディプレイ上に描画する。
【００３４】
バーチャルワールドをディプレイ上に描画するには、一般的なＣＧの手法を利用することができる。例えば、光源の方向を仮定して表面の反射モデルを定義した物体の反射光について観測点での受光レベルをディプレイ上に表示すればよい。あるいは、さらに簡便な描画方法としては、３次元物体の視点方向に垂直な平面を仮定して、その２次元投影を描画するようにしても良い。
【００３５】
このように、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御することができる。
【００３６】
また、仮想ロボットの動きは、仮想ロボットを構成する１つ以上の仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求め、連結された仮想構成部品間の座標変換を行うことにより、シミュレーションすることができる。
【００３７】
さらに、各仮想構成部品に附属して、その座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を記憶していることにより、自由に外したり追加して、シミュレーションを行うことができる。
【００３８】
したがって、実ロボット部品に記憶してある情報あるいはプログラムと同じ構成のソフトウエアにプログラム上で結合指示を与えることで上記バーチャルロボットを構築し、これを制御していたプログラムをこのバーチャルロボットに作用させることにより仮想ロボットを制御し、さらに、バーチャルワールドマネージャがバーチャルロボット部品あるいは仮想ロボットをシミュレートして得られる仮想ロボットの制御プログラムによる実ロボットを制御するようこともできる。
【００３９】
なお、バーチャルワールドマネージャがバーチャルロボット部品あるいは仮想ロボットをシミュレートする方法は、一般的なロボットの制御理論の教科書に順動力学問題として記述されているように、各部品の運動方程式を逐次的に解いていく方法等がある。
【００４０】
ロボットの制御理論の教科書では、ロボットの逆運動力学と順運動力学の問題としてロボット制御の理論が説明されている。
【００４１】
逆運動力学は、ロボットの
角度θ(t)[p×1]
角度θ'(t)[p×1]
角度θ"(t)[p×1]
が与えられたとき、それらをリンクロボットの一般的な運動方程式
Ｊ(θ)θ"＋Ｃ(θ',θ)＋Ｄθ'＋Ｐ(θ)＋Ｅ(θ',θ)＝τ
の左辺に直接代入することにより、右辺のトルクを求める問題である。ここで、
Ｊ(θ)θ"は p×1 の慣性項、
Ｃ(θ',θ)は p×1 の遠心力、コリオリの力に関する項、
Ｄθ'は p×1 の粘性摩擦係数、
Ｐ(θ)は p×1 の重力の項、
Ｅ(θ',θ)は p×1 の非線形摩擦の項、
τ(t)は p×1 の入力トルク
である。
【００４２】
このような逆運動力学問題を解くことにより、例えば、目標となる角度、角速度及び角加速度が与えられたときに、そのような運動を行うのに必要なトルクを求めることができる。
【００４３】
逆運動力学問題における運動方程式を導出する方法としては、ロボットの持っている各種エネルギー関数に注目し、それらをラグランジュの方程式に代入する方法やロボットの各リンクに対する力とモーメントの釣合い、作用、反作用に注目し、入トンの運動方程式とオイラーの運動方程式を用いることによりロボット全体の運動方程式を求めていく方法等が知られている。
【００４４】
また、順動力学問題とは、ロボットの初期状態［θ(0),θ(0),θ(0)］ と入力トルクτ(t)が与えられた時にロボットがどのような運動を行うかを運動方程式
Ｊ(θ)θ"＋Ｃ(θ',θ)＋Ｄθ'＋Ｐ(θ)＋Ｅ(θ',θ)＝τ
をもとに求める問題である。すなわち、順動力学問題は、微分方程式を解く問題であって、上式を
θ"＝Ｊ(θ)−１［−Ｃ(θ',θ)−Ｄθ'−Ｐ(θ)−Ｅ(θ',θ)＋τ］
と変形した後、適当な初期条件
θ(0)＝θ０
θ'(0)＝θ０'
のもとで、オイラー法やルンゲタック法などによる数値積分を行うことにより解くことができる。
【００４５】
例えば図４のフローチャートに示す手順により順動力学問題を解くことができる。
【００４６】
ステップＳ１では、ｔ＝１，ｉ＝１に初期設定を行う。
【００４７】
ステップＳ２では、
ｈ(t)ｉ＝ＩＮＶ［θ(t),０,ｅｉ,０]
の演算を行う。
【００４８】
次のステップＳ３では、ｉ＝ｐであるか否かを判定する。そして、ｉ＝ｐでなければステップＳ４でｉ＝ｉ＋１としてステップＳ２に戻り、次のｈ(t)ｉを演算する処理をｉ＝ｐになるまで繰り返し行うことにより、Ｈ(t) の第ｉ列を計算する。ｉ＝ｐならばステップＳ５に進む。
【００４９】
ステップＳ５では、
ｂ(t)＝ＩＮＶ［θ(t),θ(t)',０,ｇ]
によってｂ(t)を計算する。
【００５０】
次のステップＳ６では、
θ"(t)＝Ｈ(t)−１［τ(t)−ｂ(t)］
によってθ"(t)を計算する。
【００５１】
次のステップＳ７では、
θ'(t＋Δt)＝θ'(t)＋θ"(t)Δtθ(t＋Δt)＝θ(t)＋θ'(t)Δt＋θ"(t)Δt２／２
を計算する。
【００５２】
次のステップＳ８では、
t＝t＋Δt
とする。
【００５３】
次のステップＳ９では、t＞tｅｎｄであるか否かを判定する。そして、t＞tｅｎｄでなければ、ステップＳ２に戻り、ステップＳ２からステップＳ８の処理を繰り返し行う。t＞tｅｎｄであれば処理を終了する。
【図面の簡単な説明】
【００５４】
【図１】本発明を適用した実ロボットの概略構成を示すブロック図である。
【図２】上記実ロボットのソフトウエア構成を機能構成部に分割して示す図である。
【図３】本発明を適用した仮想ロボットのソフトウエア構成を機能構成部に分割して示す図である。
【図４】順動力学問題の一般的な解法を示すフローチャートである。
【符号の説明】
【００５５】
１０，１１０ エージェントモデル部、１０Ａ，１１０Ａ シリアルバスコントローラ、１０Ｂ，１１０Ｂ バーチャルロボット、１０Ｃ，１１０Ｃ ブループリントロボット、１０Ｄ，１１０Ｄ エージェントコントローラ、１１ ＣＰＵ、１２ ＲＡＭ１３ ＲＯＭ、１４ ホストコントローラ１４、２０ ＣＰＣ部、２０Ａ シリアルバスデバイスコントローラ、２０Ｂ ロボット機能部 ２１Ａ，２１Ｂ，２１Ｃ，２１Ｄ，２１Ｅ・・・ ＣＰＣ部品、２２ ＨＵＢ、２３ 信号処理部、２４ メモリ、１２０Ａ バーチャルシリアルバスデバイスコントローラ、１２０Ｂ バーチャルＣＰＣマネージャ、１２０Ｃ ビューワ、１２０Ｄ バーチャルワールドマネージャ
【図１】
2008207331.tif 000003
【図２】
2008207331.tif 000004
【図３】
2008207331.tif 000005
【図４】
2008207331.tif 000006
【手続補正書】
【提出日】平成20年4月23日(2008.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算手段と、
上記構成物品の結合順序を獲得する獲得手段と、
上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算手段と、
上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算手段と、
上記運動方程式により、各構成部品を駆動制御する制御手段を備え、
上記ロボットが仮想ロボットである場合は、上記第１の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、
上記ロボットが実ロボットである場合は、上記第１の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行うロボット制御装置。
【請求項２】
上記ロボットが仮想ロボットである場合は、上記仮想ロボットを構成する各仮想構成部品に附属して記憶されている、上記各仮想構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を用いて、
上記第１の演算手段により上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、
上記仮想ロボットの動きをシミュレーションした制御プログラムにより、実ロボットを制御する請求項１記載のロボット制御装置。
【請求項３】
上記ロボットが実ロボットである場合は、上記実ロボットを構成する各構成部品に記憶されている、上記各構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された構成部品間の座標変換を行うための情報を用いて、
上記第１の演算手段により上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行い、
上記実ロボットの動きをシミュレーションした制御プログラムにより、仮想ロボットを制御する請求項１記載のロボット制御装置。
【請求項４】
ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算ステップと、
上記構成物品の結合順序を獲得する獲得ステップと、
上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算ステップと、
上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算ステップと、
上記運動方程式により、各構成部品を駆動制御する制御ステップを有し、
上記ロボットが仮想ロボットである場合は、上記第１の演算ステップで、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算ステップで上記各仮想構成部品間の座標変換を行い、
上記ロボットが実ロボットである場合は、上記第１の演算ステップで、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算ステップで上記各構成部品間の座標変換を行うロボット制御方法。
【請求項５】
ロボット制御装置に搭載されたコンピュータにより実行されるロボット制御プログラムであって、
ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算手段と、上記構成物品の結合順序を獲得する獲得手段と、上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算手段と、上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算手段と、上記運動方程式により、各構成部品を駆動制御する制御手段として上記コンピュータを機能させ、
上記ロボットが仮想ロボットである場合は、上記第１の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、上記ロボットが実ロボットである場合は、上記第１の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行う処理を上記コンピュータに実行させるロボット制御プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、産業用や娯楽用の自律型ロボットあるいはコンピュータ上に存在する仮想ロボットなどの行動制御など用いられるロボット制御装置、ロボット制御方法及びロボット制御プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明に係るロボット制御装置は、ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算手段と、上記構成物品の結合順序を獲得する獲得手段と、上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算手段と、上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算手段と、上記運動方程式により、各構成部品を駆動制御する制御手段を備え、上記ロボットが仮想ロボットである場合は、上記第１の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、上記ロボットが実ロボットである場合は、上記第１の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行うことを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、本発明に係るロボット制御装置では、例えば、上記ロボットが仮想ロボットである場合は、上記仮想ロボットを構成する各仮想構成部品に附属して記憶されている、上記各仮想構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された仮想構成部品間の座標変換を行うための情報を用いて、上記第１の演算手段により上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、上記仮想ロボットの動きをシミュレーションした制御プログラムにより、実ロボットを制御する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
さらに、本発明に係るロボット制御装置では、例えば、上記ロボットが実ロボットである場合は、上記実ロボットを構成する各構成部品に記憶されている、上記各構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための情報及び連結された構成部品間の座標変換を行うための情報を用いて、上記第１の演算手段により上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行い、上記実ロボットの動きをシミュレーションした制御プログラムにより、仮想ロボットを制御する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明に係るロボット制御方法は、ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算ステップと、上記構成物品の結合順序を獲得する獲得ステップと、上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算ステップと、上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算ステップと、上記運動方程式により、各構成部品を駆動制御する制御ステップを有し、上記ロボットが仮想ロボットである場合は、上記第１の演算ステップで、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算ステップで上記各仮想構成部品間の座標変換を行い、上記ロボットが実ロボットである場合は、上記第１の演算ステップで、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算ステップで上記各構成部品間の座標変換を行う。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、本発明は、ロボット制御装置に搭載されたコンピュータにより実行されるロボット制御プログラムであって、ロボットを構成する複数の構成部品にそれぞれ設定される座標系において、重心，質量，回転軸，重心における慣性行列を求めるための上記構成部品毎に記憶されている情報に基づき、上記ロボットを構成する複数の構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める第１の演算手段と、上記構成物品の結合順序を獲得する獲得手段と、上記獲得された結合順序を用いて連結された構成部品間の座標変換を行う第２の演算手段と、上記慣性行列を用いて、ロボット全体の運動方程式を求める第３の演算手段と、上記運動方程式により、各構成部品を駆動制御する制御手段として上記コンピュータを機能させ、上記ロボットが仮想ロボットである場合は、上記第１の演算手段により、上記仮想ロボットを構成する各仮想構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各仮想構成部品間の座標変換を行い、上記ロボットが実ロボットである場合は、上記第１の演算手段により、上記実ロボットを構成する各構成部品にそれぞれ設定された座標系において、重心，質量，回転軸，重心における慣性行列を求める演算を行い、上記第２の演算手段により上記各構成部品間の座標変換を行う処理を上記コンピュータに実行させる。