(57)【要約】【課題】本発明は構造，幾何特性，動特性などが異なる複数のロボットの間で動作データの交換や再利用が可能なロボットの制御方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。【解決手段】ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのロボットの制御方法において、制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する手順と、前記制御対象の動作を指示するために利用される動作情報を取得する手順と、前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する手順とを設けたことを特徴とする。【選択図】　　　図１
2004054841.tif 000002
【特許請求の範囲】
【請求項１】
ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのロボットの制御方法において、
制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する手順と、
前記制御対象の動作を指示するために利用される動作情報を取得する手順と、
前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する手順と
を設けたことを特徴とするロボットの制御方法。
【請求項２】
請求項１のロボットの制御方法において、
前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成する手順と、
前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する手順と、
表示される前記模擬画像を動かすための指示を与える動作情報を取得する手順と、
前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する手順と
を更に設けたことを特徴とするロボットの制御方法。
【請求項３】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するロボットの制御方法において、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握し、
入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成する
ことを特徴とするロボットの制御方法。
【請求項４】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのロボットの制御方法において、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する手順と、
入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成する手順と、
前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する手順と、
前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する手順と
を設けたことを特徴とするロボットの制御方法。
【請求項５】
ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのロボットの制御装置において、
制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する動作部位情報生成手段と、
前記制御対象の動作を指示するために利用される動作情報を取得する動作情報取得手段と、
前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する動作データ生成手段
を設けたことを特徴とするロボットの制御装置。
【請求項６】
請求項５のロボットの制御装置において、
前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手段と、
前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する模擬画像表示手段と、
表示される前記模擬画像を動かすための指示を与える動作情報を取得する動作情報取得手段と、
前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する表示内容更新手段と
を更に設けたことを特徴とするロボットの制御装置。
【請求項７】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するロボットの制御装置において、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手段と、
入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成するデータ変換手段と
を設けたことを特徴とするロボットの制御装置。
【請求項８】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのロボットの制御装置において、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手段と、
入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手段と、
前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する模擬画像生成手段と、
前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する模擬画像表示更新手段と
を設けたことを特徴とするロボットの制御装置。
【請求項９】
ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのコンピュータで実行可能なプログラムにおいて、
制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する動作部位情報生成手順と、
前記制御対象の動作を指示するために利用される動作情報を取得する動作情報取得手順と、
前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する動作データ生成手順と
を設けたことを特徴とするプログラム。
【請求項１０】
請求項９のプログラムにおいて、
前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手順と、
前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する模擬画像表示手順と、
表示される前記模擬画像を動かすための指示を与える動作情報を取得する動作情報取得手順と、
前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する表示内容更新手順と
を更に設けたことを特徴とするプログラム。
【請求項１１】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するためのコンピュータで実行可能なプログラムにおいて、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手順と、
入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成するデータ変換手順と
を設けたことを特徴とするプログラム。
【請求項１２】
ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのコンピュータで実行可能なプログラムにおいて、
制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手順と、
入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手順と、
前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する模擬画像生成手順と、
前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する模擬画像表示更新手順と
を設けたことを特徴とするプログラム。
【請求項１３】
請求項９，請求項１０，請求項１１及び請求項１２のいずれかのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機械的構造物として構成されたロボットやＣＧ（コンピュータグラフィックス）で再現されるソフトウェアキャラクタ（人形など）などの動作を制御する場合に利用可能なロボットの制御方法及び装置並びにプログラム及び記録媒体に関する。
【０００２】
【従来の技術】
例えば産業ロボットの分野では、ロボットを制御するための動作データを記述する場合に、古くからＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇ（吉川恒夫著「ロボット制御基礎論」コロナ社　ｐｐ２５−３３）の提案した記述方法に従ってロボットの構造と姿勢を定義するように動作データを記述している。
【０００３】
この広く普及している記述方法においては、制御対象の各リンク（関節）に適当な座標系を固定し、これらのリンク間の関係を３つのリンクパラメータによって記述する。
【０００４】
また、同次変換行列を得て関節変数から手先位置ベクトル（ｒ＝［ｒ１，ｒ２，ｒ３，ｒ４，ｒ５，ｒ６］：ｒ１，ｒ２，ｒ３はロボット座標系から見た３次元座標値、ｒ４，ｒ５，ｒ６はオイラー角）の数値解や、逆にロボット座標系、或いは作業座標系から見た手先の目標位置ベクトルからＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇのパラメータを用いてロボット固有の関節変数の数値解を得る手法が一般的である。
【０００５】
しかしながら、コミュニケーションの媒介者としての役割を持つ人型及び動物型のロボットは、産業用ロボットとは次の点で大きく異なる。
（１）制御の際、独立した目標位置ベクトルを同時に複数有するため、制御が複雑になる。
（２）時系列関節変数が動作総体として人の心象に大きな影響を持つ。
【０００６】
（３）身体の構造情報や幾何情報、インタフェースに多様性や複雑性がある。
このため、従来のコミュニケーションロボットにおける動作データの内容は、各ロボットの構造やインタフェースに依存しているか、もしくは実装段階でのアプリケーションソフトに依存しており、ロボット毎に固有の動作データを構成している。
【０００７】
従って、構造やインタフェースの異なる複数のロボットの間で動作データの交換や再利用を行うことは極めて困難である。
また従来ロボットの動作を教示する教示装置を構成する際には、各ロボット固有の幾何特性，動作特性及びインタフェースに合わせたＧＵＩや動作コマンド及びドライバの設計及び制御が必要であった。
【０００８】
教示装置とは、コンピュータやその周辺装置と、コンピュータによって実行されるプログラムとを主要な要素として構成されるものであって、操作者の操作に応じてリアルタイムに入力されるデータや、予め記憶しておいたデータに基づいて、ロボットに対して所望の動作を行なわせるための制御信号を出力する装置である。
【０００９】
上記のような従来技術の具体例について説明する。例えば、操作者の操作に応じてロボット等の物体に所望の動作をさせるための制御データ（駆動データ）を生成するために、まず物体をＣＧモデル化する。
さらに、物体の駆動範囲及びその条件に基づいて物体の動作を求め、コンピュータ内で物体の動作をＣＧモデルとしてシミュレートして表示できるようにする。
【００１０】
そして、モデル化の後、ポインティングデバイスなどの操作子から入力される操作量に応じて物体のモデルを座標変換しながら動かし、動作中の座標データの変化を記録して、それに対して所定の演算処理を行なうことで、その動作に必要な制御データを求める。
すなわち、ＣＧモデル化された物体に対してなされたポインティングデバイス等の操作子から入力された操作量に応じて物体の制御データ（駆動データ）が生成される。
【００１１】
このような場合には、特定のロボットやＣＧキャラクタに特化した教示装置が必要にな。従って、装置の再構成は操作者にとって困難な作業であった。また教示装置固有の制御データ（駆動データ）が記録されるため、記録データを自由度構成，動特性及びインタフェースが異なるロボットやＣＧキャラクタの間で相互に再利用したり、再加工することはできなかった。
【００１２】
【発明が解決しようとする課題】
前述のように、従来技術においては、生成される動作データは特定のロボットを制御する場合だけ利用できるが、構造情報や幾何特性，動特性，インタフェースが異なるロボット同士の間では動作データを相互に交換したり再利用することができない。
【００１３】
本発明は、構造，幾何特性，動特性などが異なる複数のロボットの間で動作データの交換や再利用が可能なロボットの制御方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明においては、ロボットの動作データを記述する際に、ロボットの動作を決定する構造情報，幾何特性，動特性，関節変数の中から固有のロボットに依存しない非依存部と依存部とを分離し、非依存情報のみを用いて動作データを記述する。これにより、構造情報や幾何特性，動特性，インタフェースなどが異なる複数のロボットの間でも相互に動作データの交換や再利用が可能な動作データが得られる。また、本発明においては、制御対象となる部位の動作データを線形規格化して人体骨格モデルに対応付ける。
【００１５】
すなわち、請求項１は、ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのロボットの制御方法において、制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する手順と、前記制御対象の動作を指示するために利用される動作情報を取得する手順と、前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する手順とを設けたことを特徴とする。
【００１６】
請求項１においては、制御対象となるロボットの各制御対象部位の構造を特定の制御対象に依存しない人体骨格モデルに基づいて構造化及び階層化するので、特定の制御対象に依存しない形式で動作データを生成することができる。
請求項２は、請求項１のロボットの制御方法において、前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成する手順と、前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する手順と、表示される前記模擬画像を動かすための指示を与える動作情報を取得する手順と、前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する手順とを更に設けたことを特徴とする。
【００１７】
請求項２においては、前記動作データを生成する際に、ロボットを模擬したモデルの模擬画像を画面に表示するとともに、オペレータなどが指示する動作情報に従って表示内容を更新することができる。このため、模擬画像でロボットの実際の動きを確認しながら動作データを生成することができる。
請求項３は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するロボットの制御方法において、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握し、入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成することを特徴とする。
【００１８】
請求項３においては、特定のロボットの固有情報に依存しない動作データと制御対象のロボットの動特性情報とを組み合わせて所定の演算処理を行うことにより、動作データに応じた動作を制御対象のロボットで再現することができる。従って、種類の異なる複数のロボットの間で動作データを共通に利用できる。
請求項４は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのロボットの制御方法において、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する手順と、入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成する手順と、前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する手順と、前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する手順とを設けたことを特徴とする。
【００１９】
請求項４においては、入力される動作データに基づいて実際の制御対象を模擬したモデルを生成するとともに、そのモデルの模擬画像を表示し、モデルの動作に合わせて模擬画像の表示内容を更新することができる。
請求項５は、ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのロボットの制御装置において、制御対象となる特定のロボットなどの各動作部位を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する動作部位情報生成手段と、前記制御対象の動作を指示するために利用される動作情報を取得する動作情報取得手段と、前記動作部位情報と、前記制御対象の動作に関する動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する動作データ生成手段を設けたことを特徴とする。
【００２０】
請求項５においては、請求項１と同様の処理を実現できる。
請求項６は、請求項５のロボットの制御装置において、前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手段と、前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する模擬画像表示手段と、表示される前記模擬画像を動かすための指示を与える動作情報を取得する動作情報取得手段と、前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する表示内容更新手段とを更に設けたことを特徴とする。
【００２１】
請求項６においては、請求項２と同様の処理を実現できる。
請求項７は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するロボットの制御装置において、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手段と、入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成するデータ変換手段とを設けたことを特徴とする。
【００２２】
請求項７においては、請求項３と同様の処理を実現できる。
請求項８は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのロボットの制御装置において、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手段と、入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手段と、前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する模擬画像生成手段と、前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する模擬画像表示更新手段とを設けたことを特徴とする。
【００２３】
請求項８においては、請求項４と同様の処理を実現できる。
請求項９は、ロボットなどの制御対象の動作を制御するために用いられる動作データを生成するためのコンピュータで実行可能なプログラムにおいて、制御対象となる特定のロボットなどの各動作部位に依存する依存情報を、特定の制御対象に依存しない所定の骨格モデルに基づいて構造化した動作部位情報を生成する動作部位情報生成手順と、前記制御対象の動作を指示するために利用される動作情報を取得する動作情報取得手順と、前記動作部位情報と、前記制御対象の動作に関する固有情報を含む動特性情報とに基づいて前記動作情報を変換し、前記動作データを生成する動作データ生成手順とを設けたことを特徴とする。
【００２４】
請求項９のプログラムを所定のコンピュータで実行することにより、請求項１と同様の処理を実現できる。
請求項１０は、請求項９のプログラムにおいて、前記動特性情報と、制御対象となる特定のロボットなどを模擬したモデルの各動作部位の情報を構造化したモデル動作部位情報とに基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手順と、前記モデル動特性情報に基づいて前記モデルの模擬画像を表示する模擬画像表示手順と、表示される前記模擬画像を動かすための指示を与える動作情報を取得する動作情報取得手順と、前記モデル動特性情報及び前記動作情報に基づいて表示される前記模擬画像の表示内容を更新する表示内容更新手順とを更に設けたことを特徴とする。
【００２５】
請求項１０のプログラムを所定のコンピュータで実行することにより、請求項２と同様の処理を実現できる。
請求項１１は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて実際に制御対象を動かすために用いられる制御信号を生成するためのコンピュータで実行可能なプログラムにおいて、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手順と、入力された前記動作データを、前記動特性情報に基づいて変換した結果を用いて前記制御信号を生成するデータ変換手順とを設けたことを特徴とする。
【００２６】
請求項１１のプログラムを所定のコンピュータで実行することにより、請求項３と同様の処理を実現できる。
請求項１２は、ロボットなどの制御対象の動作を制御するために用意された動作データを再生し、その動作データに基づいて、実際の制御対象を模擬したモデルを生成するためのコンピュータで実行可能なプログラムにおいて、制御対象となる特定のロボットなどの動作に関する固有情報を含む動特性情報を把握する動特性情報把握手順と、入力される前記動作データ及び前記動特性情報に基づいて、前記モデルの動作に関する固有情報を含むモデル動特性情報を生成するモデル動特性情報生成手順と、前記モデル動特性情報に基づいて、前記モデルの模擬画像を生成する模擬画像生成手順と、前記モデル動特性情報に基づいて入力される前記動作データを変換し、その結果に従って前記模擬画像の表示を更新する模擬画像表示更新手順とを設けたことを特徴とする。
【００２７】
請求項１２のプログラムを所定のコンピュータで実行することにより、請求項４と同様の処理を実現できる。
請求項１３は、請求項９，請求項１０，請求項１１及び請求項１２のいずれかのプログラムを記録した記録媒体である。
請求項１３の記録媒体から読み出したプログラムを所定のコンピュータで実行することにより、請求項１〜請求項４と同様の処理を実現できる。
【００２８】
【発明の実施の形態】
本発明のロボットの制御方法及び装置並びにプログラム及び記録媒体の１つの実施の形態について、図１〜図１７を参照して説明する。この形態は全ての請求項に対応する。
図１は動作データ入力記録表示制御装置の構成を示すブロック図である。図２はこの形態の装置の外観を示す斜視図である。図３はこの形態の装置の構成を示すブロック図である。図４は動作データ再生表示制御装置の構成を示すブロック図である。図５は依存情報記憶部の構成を示すブロック図である。図６は部位名変換テーブルの構成例を示す模式図である。
【００２９】
図７は骨格モデル記憶部の記憶情報の構造化定義例を示す模式図である。図８は骨格モデルの構成例を示す模式図である。図９は角度の線形規格化の例を示すグラフである。図１０は入力記録表示制御の動作を示すフローチャートである。図１１は再生表示制御の動作を示すフローチャートである。図１２はロボット動特性情報記憶部に保持されるデータの例を示す模式図である。
【００３０】
図１３は骨格モデル記憶部の保持する情報の例（１）を示す模式図である。図１４は骨格モデル記憶部の保持する情報の例（２）を示す模式図である。図１５は動作データの構成例（１）を示す模式図である。図１６は動作データの構成例（２）を示す模式図である。図１７は動作データの構成例（３）を示す模式図である。
【００３１】
この形態では、請求項５のロボット，動作部位情報生成手段，動作情報取得手段及び動作データ生成手段は、それぞれロボット３，ロボット動作データ生成部２０６，動作情報取得部２０５及びロボット動作データ生成部２０６に対応する。
また、請求項６のモデル動特性情報生成手段，模擬画像表示手段，動作情報取得手段及び表示内容更新手段は、それぞれモデル動特性情報生成部２０９，模擬画像表示変更部２１０，動作情報取得部２０５及び模擬画像表示変更部２１０に対応する。
【００３２】
請求項７の動特性情報把握手段及びデータ変換手段は、それぞれロボット動特性情報記憶部３０３及びロボット制御信号生成部３０２に対応する。
請求項８の動特性情報把握手段，モデル動特性情報生成手段，模擬画像生成手段及び模擬画像表示更新手段は、それぞれロボット動特性情報記憶部３０３，モデル動特性情報生成部３０５，模擬画像生成部３０７及び模擬画像表示変更部３０８に対応する。
【００３３】
この形態では、図２，図３に示すコンピュータシステム（例えばパーソナルコンピュータ）１を用いて本発明を実施する場合を想定している。図２に示すように、コンピュータシステム１には制御対象となるロボット３が接続されている。
なお、コンピュータシステム１とロボット３との接続には、コンピュータシステム１が持つ標準的な入出力デバイス（例えばＬＡＮポート，無線ＬＡＮ，ＩｒＤＡ，シリアルポート，パラレルポートなど）を利用すればよい。
【００３４】
ここで想定しているロボット３は、それに内蔵されたサーボモータにより、頭部を左右上下方向に首振り駆動することができ、更に両腕を上下に上げ下げできるようになっている。
ロボット３を駆動する場合には、駆動のためのロボット制御信号がコンピュータシステム１から出力されロボット３に伝送される。
【００３５】
図３に示すように、コンピュータシステム１には表示装置１０，動作データ入力記録表示制御装置２０及び動作データ再生表示制御装置３０が含まれている。動作データ入力記録表示制御装置２０にはポインティングデバイス（例えばマウス）２が接続されている。動作データ再生表示制御装置３０の出力するロボット制御信号がロボット３に印加される。
【００３６】
なお、コンピュータシステム１の主要な構成要素である動作データ入力記録表示制御装置２０及び動作データ再生表示制御装置３０のいずれか一方を省略しても本発明は実施できる。
次に、動作データ入力記録表示制御装置２０について詳細に説明する。動作データ入力記録表示制御装置２０は、図１に示すように依存情報記憶部２０１，部位名変換テーブル記憶部２０２，骨格モデル記憶部２０３，動作情報取得部２０５，ロボット動作データ生成部２０６，ロボット動作データ記憶部２０７，ロボット動作データ出力部２０８，モデル動特性情報生成部２０９及び模擬画像表示変更部２１０を備えている。
【００３７】
なお、図１に示す主要な要素は、専用のハードウェアを用いて構成することもできるし、コンピュータで実行可能なプログラムとして実現することもできる。
図１の依存情報記憶部２０１は、図５に示すようにモデル動作部位情報記憶部４０１及びロボット動特性情報記憶部４０２を備えている。
モデル動作部位情報記憶部４０１は、制御対象となるロボット３を模擬したモデルにおける各部位の親子関係，部位名，基点情報を含む３ＤモデルデータをＸ形式やＤＦＦ形式として保持している。
【００３８】
ロボット動特性情報記憶部４０２は、制御対象となるロボット３に関する駆動部位名，駆動部位数，各駆動部位の稼働範囲，稼働範囲におけるニュートラルデータなどの固有情報を保持している。ロボット動特性情報記憶部４０２は、例えば図１２に示すような情報を保持している。
依存情報記憶部２０１で保持されているデータは、モデル動特性情報生成部２０９及びロボット動作データ生成部２０６から参照される。
【００３９】
図１の部位名変換テーブル記憶部２０２は、例えば図６に示すような構成の部位名変換テーブルを保持している。この部位名変換テーブルには、制御対象のロボット３を模擬した３Ｄモデルデータで定義されている各部位名と骨格モデル記憶部２０３で定義されている部位名との対応関係が記憶されている。この部位名変換テーブルは、ロボット動作データ生成部２０６から参照される。
【００４０】
図１の骨格モデル記憶部２０３は、例えば図１３及び図１４に示すような情報を保持している。この情報は、制御対象となるロボット３の制御データのフォーマットを抽象化定義した定義ファイルである。この情報は、例えばＤＴＤ（Ｄｏｃｕｍｅｎｔ　Ｔｙｐｅ　Ｄｅｆｉｎｉｔｉｏｎ）に代表されるスキーマ言語で表現される。
例えば、人体に似たロボットを制御する場合には、例えば図８に示すような人体の骨格モデル、すなわち動作が可能な各関節位置で区分した各人体要素の組み合わせで構成される骨格モデルを用いればよい。
【００４１】
この人体骨格モデルに基づき、制御対象を例えばＤＴＤの構造化定義方法を用いて階層的に定義する。すなわち、各モデル部位名をタグとして定義し、各タグの子要素に更に具体化したモデル部位名、定義モデル部位の回転方向をタグとして定義する。また、最下層要素には規格化した時系列回転位相データ（時間，速度，角度）が記録できるように定義する。
【００４２】
図７の定義例では、最上位に「Ｐａｒｔｓ」があり、その下に「Ｈｅａｄ」，「Ｂｏｄｙ」，「Ａｒｍｓ」，「Ｌｅｇｓ」が接続され、「Ａｒｍｓ」の下に「Ｈａｎｄ」，「Ｆｏｒｅａｒｍ」，「Ｕｐｐｅｒ　Ａｒｍ」が接続され、更に「Ｈａｎｄ」の下には「Ｆｉｎｇｅｒ」，「Ｐａｌｍ」が接続され、「Ｐａｌｍ」の下の最下層の「Ｐｉｔｃｈ」，「Ｒｏｌｌ」，「Ｙａｗ」には規格化した時系列回転位相データ「Ｄａｔａ」が記録できるように定義されている。
【００４３】
例えば、時系列で変化する角度などのデータを８ビットで規格化して記述する場合には、ロボットの動特性情報に基づいて図９に示すように最大値が２５５になるようにデータ「Ｄａｔａ」を線形規格化してから記録すればよい。
【００４４】
このように、ロボット３を制御するための動作データを定義する際に、特定のロボットの構造やインタフェースに依存するデータを切り離し、人体骨格モデルに基づいて構造化及び階層化し、更に時系列で変化する角度などのデータを線形規格化することにより、構造が異なるロボットについても適用が可能な動作データを統一的に記録可能になる。
【００４５】
一方、オペレータ（教示者）がポインティングデバイス２を操作するとそれに伴って様々なイベントが発生する。動作情報取得部２０５は、ポインティングデバイス２に関する様々なイベント情報を動作情報として取得する。この動作情報には、操作対象空間におけるポインティングデバイス２の座標，移動速度，移動時間，移動量及び操作対象部位情報が含まれている。
【００４６】
モデル動特性情報生成部２０９は、ポインティングデバイス２の操作に伴って動作情報取得部２０５が取得した動作情報を受け取り、依存情報記憶部２０１に保持されている３Ｄモデルにおける操作対象部位の座標変換をポインティングデバイス２の移動方向及び移動速度に応じて行う。
模擬画像表示変更部２１０は、モデル動特性情報生成部２０９の処理結果に基づいて、制御対象のモデルの擬似画像の表示及び表示内容の更新を制御する。
【００４７】
ロボット動作データ生成部２０６は、ポインティングデバイス２の操作に伴って動作情報取得部２０５が取得した動作情報（イベント情報）を受け取り、骨格モデル記憶部２０３が保持する情報と、部位名変換テーブル記憶部２０２の内容と、依存情報記憶部２０１の内容とに基づいて、操作対象部位の情報を構造化する。
【００４８】
具体的には、ロボット動作データ生成部２０６が動作情報取得部２０５から受け取る情報は模擬画像における操作対象部位名，ポインティングデバイス２の移動方向及び移動速度である。ロボット動作データ生成部２０６は、部位名変換テーブル記憶部２０２の部位名変換テーブルを参照して、動作情報取得部２０５から受け取った操作対象部位名を骨格モデル記憶部２０３で定義されているタグに変換する。
【００４９】
更に、ロボット動作データ生成部２０６は依存情報記憶部２０１のロボット動特性情報記憶部４０２に保持されている情報（図１２参照）に含まれている稼働範囲データに応じてポインティングデバイス２の操作量を規格化する。そして、規格化された操作量を所定のタグの最下層要素に、骨格モデル記憶部２０３の定義情報に従って時系列データとして記録する。このようにして構造化された動作データを生成する。
【００５０】
これらの処理によって、構造化され生成された動作データは個別のロボットに依存しない非依存情報になる。
ロボット動作データ生成部２０６の生成した動作データはロボット動作データ記憶部２０７に記憶される。この動作データは、ＤＴＤに従ってテキストベースの階層化されたデータとしてロボット動作データ記憶部２０７に記憶される。
【００５１】
この動作データの具体例が図１５〜図１７に示されている。図１５〜図１７から分かるように、この動作データには特定のロボットの構成やインタフェースに依存する情報は含まれていない。従って、制御対象となるロボット３の構造が変化した場合には、依存情報記憶部２０１の記憶内容を変更するだけで、動作データ入力記録表示制御装置２０を再構成できる。
【００５２】
ロボット動作データ記憶部２０７に記憶された動作データは、ロボット動作データ出力部２０８を介して出力され、図３に示す動作データ再生表示制御装置３０に入力される。
動作データ入力記録表示制御装置２０における動作の概略について、図１０を参照して説明する。
【００５３】
ステップＳ１０では、まず最初にロボット動作データ生成部２０６が骨格モデル記憶部２０３の骨格モデル情報と依存情報記憶部２０１のロボット動特性情報と部位名変換テーブル記憶部２０２の記憶内容とを読み込む。
また、モデル動特性情報生成部２０９が依存情報記憶部２０１からモデルデータを読み込み、このモデルデータに基づいて模擬画像表示変更部２１０が模擬画像を表示する。
【００５４】
ステップＳ１１ではポインティングデバイス２の座標を取得する。教示者の操作によってポインティングデバイス２がある操作部位をポインティングすると、処理はステップＳ１２からＳ１３に進み、取得した座標に対応するデータが存在するか否かを識別する。
ポインティングされた座標に制御対象が存在する場合には次のステップＳ１４に進み、該当する制御対象のモデルデータを読み込む。
【００５５】
ステップＳ１５では、ポインティングされた座標に基づいて、制御対象のモデルデータにおける操作対象部位を決定する。
ステップＳ１６では、ポインティングデバイス２の座標，移動速度及び移動時間を取得する。
ステップＳ１７では、モデル動特性情報生成部２０９の制御により、座標に対応付けられた操作対象部位のモデルデータを、ポインティングデバイス２の座標，移動時間及び移動速度に従って座標変換する。
【００５６】
ステップＳ１８では、ステップＳ１７の変換結果を利用して画面に表示するモデルの表示内容を更新する。
また、ステップＳ１７，Ｓ１８の実行と併行してステップＳ２０，Ｓ２１が処理される。
ステップＳ２０では、読み込んだデータをロボット動作データ生成部２０６の制御により階層的に構造化して特定のロボットに依存しない内容だけで構成した動作データを生成する。
【００５７】
ステップＳ２１では、ロボット動作データ生成部２０６が生成した動作データをロボット動作データ記憶部２０７で記憶する。
次に、図３に示す動作データ再生表示制御装置３０について説明する。この動作データ再生表示制御装置３０は、図４に示すようにロボット動作データ入力部３０１，ロボット制御信号生成部３０２，ロボット動特性情報記憶部３０３，骨格モデル記憶部３０４，モデル動特性情報生成部３０５，部位名変換テーブル記憶部３０６，模擬画像生成部３０７，模擬画像表示変更部３０８及びロボット制御信号再生部３０９を備えている。
【００５８】
ロボット動作データ入力部３０１は、前述の動作データ入力記録表示制御装置２０がロボット動作データ出力部２０８から出力する動作データを入力する。
ロボット動特性情報記憶部３０３は、前述のロボット動特性情報記憶部４０２と同様に、例えば図１２に示すような情報を保持している。骨格モデル記憶部３０４は、前述の骨格モデル記憶部２０３と同様に、例えば図１３，図１４に示すような情報を保持している。部位名変換テーブル記憶部３０６は、前述の部位名変換テーブル記憶部２０２と同様に、例えば図６に示すような情報を保持している。
【００５９】
ロボット制御信号生成部３０２は、ロボット動特性情報記憶部３０３，骨格モデル記憶部３０４及び部位名変換テーブル記憶部３０６の保持するデータを参照してロボット動作データ入力部３０１が入力した動作データに処理を加え、制御対象となる特定のロボット３の構造に依存する動作制御用のデータを生成する。
具体的には、入力された動作データが骨格モデル記憶部３０４の記憶内容によって定義されている定義情報と合致するか否かを識別し、合致している場合には、部位名変換テーブル記憶部３０６を参照して、入力された動作データの部位名を部位名変換テーブルで定義されている制御対象ロボットの部位名に変換する。更に、ロボット動特性情報記憶部３０３の記憶内容（図１２参照）に含まれている稼働範囲データを用いて、動作データの構造上の階層の最下層要素の規格化された時系列データを、制御対象のロボットの稼働範囲に合致したデータに変換する。
【００６０】
ロボット制御信号再生部３０９は、ロボット制御信号生成部３０２で生成された動作制御用のデータを入力し、ロボット３の対応する各関節を駆動するための信号（例えばモータを制御するためのＰＷＭ信号）を生成する。
一方、モデル動特性情報生成部３０５では、ロボット動特性情報記憶部３０３，骨格モデル記憶部３０４及び部位名変換テーブル記憶部３０６の保持するデータを参照してロボット動作データ入力部３０１が入力した動作データに処理を加え、制御対象を模擬する３Ｄモデルの動作制御のためのデータを生成する。
【００６１】
具体的には、動作データに合致した部位名，部位の親子関係，稼働範囲に従って、基本立方体からなる３Ｄモデルデータを生成する。
模擬画像生成部３０７は、モデル動特性情報生成部３０５が生成した３Ｄモデルのデータを入力し、模擬画像を表示するための制御を行う。
模擬画像表示変更部３０８は、ロボットの動作の変化に伴って、表示するモデルの表示内容を更新する。
【００６２】
従って、制御対象となるロボットの構造が変化した場合であっても、ロボット動特性情報記憶部３０３の記憶内容を変更するだけで、ロボットの構造を変える前と同様に、動作データを再生しロボット３及びそれを模擬したモデルの画像を動かすことができる。
動作データ再生表示制御装置３０の動作の概略について、図１１を参照して説明する。
【００６３】
ステップＳ３１では、動作データ入力記録表示制御装置２０から出力される動作データをロボット動作データ入力部３０１の制御により入力する。
該当するモデルデータが存在する場合には、ステップＳ３２からＳ３３に進み、モデルデータを読み込む。更に、ステップＳ３４でロボット制御信号生成部３０２の制御によりロボット動特性情報記憶部３０３のロボット動特性情報，骨格モデル記憶部３０４の骨格モデル及び部位名変換テーブル記憶部３０６の部位名変換テーブルを読み込む。
【００６４】
また、該当するモデルデータが存在しない場合には、ステップＳ３２からＳ３５に進み、モデル動特性情報生成部３０５の制御によりロボット動特性情報記憶部３０３のロボット動特性情報，骨格モデル記憶部３０４の骨格モデル及び部位名変換テーブル記憶部３０６の部位名変換テーブルを読み込む。そして、ステップＳ３６でモデルデータを生成する。
【００６５】
ステップＳ３７では、ロボット制御信号生成部３０２の制御によりロボットの動作制御用のデータを生成するとともに、モデル動特性情報生成部３０５の制御により表示モデルの動作制御用のデータを生成する。
ステップＳ３８では、ロボット制御信号再生部３０９の制御によりロボット３を制御するとともに、模擬画像表示変更部３０８の制御によりモデルの表示内容を更新する。
【００６６】
なお、この形態では機械的な構造物であるロボットが制御対象である場合を説明したが、コンピュータグラフィックスで生成される仮想キャラクタなどの動作を制御する場合にも本発明は適用できる。
【００６７】
【発明の効果】
以上のように本発明によれば、ロボットの動作データを記述する際に、ロボットの動作を決定する構造情報，幾何特性，動特性，関節変数の中から非依存部と依存部とを分離し、非依存情報のみを抽出して動作データとして出力するので、次のような効果が得られる。
【００６８】
（１）構造情報や幾何特性，動特性，インタフェースの異なるロボット間でも相互に動作データの交換や再利用が可能になる。
（２）データフォーマットを誰でも直感的に理解可能。
【００６９】
（３）ヒューマノイド、動物型のロボットー般の動作を表現可能。
（４）誰でも簡単にデータアクセスし編集、加工、再利用が可能。
また本発明によれば、ロボット動作に係るデータを入力したり、再生したりする際に、異なる構造情報，幾何特性，動特性，インタフェースを有する対象に対しても簡易に教示装置を再構成することができる。
【００７０】
さらに、本発明は、簡易な操作で再構成した教示装置で異なる構造情報，幾何特性，動特性，インタフェースを有するロボットの動作を入力及び再生することができる。すなわち、構造情報，幾何特性，動特性，インタフェースの異なるロボットに対してでも相互に利用可能なロボット制御データを入出力できる。
【図面の簡単な説明】
【図１】動作データ入力記録表示制御装置の構成を示すブロック図である。
【図２】実施の形態の装置の外観を示す斜視図である。
【図３】実施の形態の装置の構成を示すブロック図である。
【図４】動作データ再生表示制御装置の構成を示すブロック図である。
【図５】依存情報記憶部の構成を示すブロック図である。
【図６】部位名変換テーブルの構成例を示す模式図である。
【図７】骨格モデル記憶部の記憶情報の構造化定義例を示す模式図である。
【図８】骨格モデルの構成例を示す模式図である。
【図９】角度の線形規格化の例を示すグラフである。
【図１０】入力記録表示制御の動作を示すフローチャートである。
【図１１】再生表示制御の動作を示すフローチャートである。
【図１２】ロボット動特性情報記憶部に保持されるデータの例を示す模式図である。
【図１３】骨格モデル記憶部の保持する情報の例（１）を示す模式図である。
【図１４】骨格モデル記憶部の保持する情報の例（２）を示す模式図である。
【図１５】動作データの構成例（１）を示す模式図である。
【図１６】動作データの構成例（２）を示す模式図である。
【図１７】動作データの構成例（３）を示す模式図である。
【符号の説明】
１　コンピュータシステム
２　ポインティングデバイス
３　ロボット
１０　表示装置
２０　動作データ入力記録表示制御装置
３０　動作データ再生表示制御装置
２０１　依存情報記憶部
２０２　部位名変換テーブル記憶部
２０３　骨格モデル記憶部
２０５　動作情報取得部
２０６　ロボット動作データ生成部
２０７　ロボット動作データ記憶部
２０８　ロボット動作データ出力部
２０９　モデル動特性情報生成部
２１０　模擬画像表示変更部
３０１　ロボット動作データ入力部
３０２　ロボット制御信号生成部
３０３　ロボット動特性情報記憶部
３０４　骨格モデル記憶部
３０５　モデル動特性情報生成部
３０６　部位名変換テーブル記憶部
３０７　模擬画像生成部
３０８　模擬画像表示変更部
３０９　ロボット制御信号再生部
４０１　モデル動作部位情報記憶部
４０２　ロボット動特性情報記憶部
【図１】
2004054841.tif 000003
【図２】
2004054841.tif 000004
【図３】
2004054841.tif 000005
【図４】
2004054841.tif 000006
【図５】
2004054841.tif 000007
【図６】
2004054841.tif 000008
【図７】
2004054841.tif 000009
【図８】
2004054841.tif 000010
【図９】
2004054841.tif 000011
【図１０】
2004054841.tif 000012
【図１１】
2004054841.tif 000013
【図１２】
2004054841.tif 000014
【図１３】
2004054841.tif 000015
【図１４】
2004054841.tif 000016
【図１５】
2004054841.tif 000017
【図１６】
2004054841.tif 000018
【図１７】
2004054841.tif 000019