(57)【特許請求の範囲】
【請求項１】
複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するためのオーサリング・システムであって、
前記アクションは、多関節構造体の各関節の時系列的な動作を記述したモーション・データ、アクションの再生と時間的に同期して音声出力されるサウンド・データを含む、複数の時系列データで構成され、
ユーザからコマンドやデータを入力するユーザ入力部と、
横方向に設定された時間軸に沿って前記モーション・データ並びに前記サウンド・データの各内容をそれぞれ表示するためのモーション・チャンネル、サウンド・チャンネルを含む、アクションを構成する各時系列データをそれぞれ横方向に設定された時間軸に沿って表示する各時系列データ表示チャンネルを、前記時間軸上で同期するように縦方向に配列した編集領域を提示するユーザ提示部と、
アクションを構成する前記複数の時系列データの各々に設けられた、前記ユーザ提示部を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集部と、
を具備することを特徴とするオーサリング・システム。
【請求項２】
前記モーション・データは、所定のポーズをとった多関節構造体を表現したキーフレームを時間軸上に２以上配置することで各キーフレーム間を滑らかにつなぐような多関節構造体の各関節の時系列的な動作を規定したデータである、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項３】
前記サウンド・データはＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）形式又はＷＡＶＥ形式で記述される、ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項４】
アクションを構成する時系列データの１つとして、アクションの再生と時間的に同期して表示出力される表示インジケータの点灯動作並びに消滅動作を記述したインジケータ表示データをさらに含む、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項５】
前記インジケータ表示データはＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）形式で記述される、
ことを特徴とする請求項４に記載のオーサリング・システム。
【請求項６】
前記ユーザ提示部が提示する編集領域は、時間軸を実時間表示する目盛で構成される時間ルーラを含む、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項７】
前記ユーザ提示部が提示する編集領域は、前記時間ルーラによって規定される該当時刻を示すための縦方向に走る１以上の時刻表示ラインを備える、
ことを特徴とする請求項６に記載のオーサリング・システム。
【請求項８】
前記ユーザ提示部が提示する編集領域は、前記時間ルーラによって規定される時間軸上の現在時刻を示すための縦方向に走るカレント時刻表示ラインを備え、
前記カレント時刻表示ラインは前記時間ルーラ上でユーザ操作された位置に移動する、
ことを特徴とする請求項６に記載のオーサリング・システム。
【請求項９】
前記ユーザ提示部が提示する編集領域は、現在時刻における多関節構造体の動きをプレビューする表示ウィンドウを備える、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項１０】
前記モーション・データは、所定のポーズをとった多関節構造体を表現したキーフレームを時間軸上に２以上配置することで各キーフレーム間を滑らかにつなぐような多関節構造体の各関節の時系列的な動作を規定したデータであり、
前記ユーザ提示部が提示する編集領域は、前記時間ルーラが規定する時間軸に従って各キーフレーム又はそのサムネイルを表示するためのキーフレーム・チャンネルをさらに備える、
ことを特徴とする請求項６に記載のオーサリング・システム。
【請求項１１】
前記キーフレーム・チャンネル内でのキーフレーム又はそのサムネイルのドラッグ操作に追従してキーフレームの時刻を変更する、
ことを特徴とする請求項１０に記載のオーサリング・システム。
【請求項１２】
前記キーフレーム・チャンネル内でのキーフレーム又はそのサムネイルのユーザ選択動作に応答して、該当するポーズを編集するポーズ編集画面を起動する、
ことを特徴とする請求項１０に記載のオーサリング・システム。
【請求項１３】
前記モーション・チャンネルは、多関節構造体の各関節の時系列的な動作を表す各タイミングチャートを縦方向に配列してなる、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項１４】
前記モーション・チャンネル内でのタイミングチャート上のドラッグ操作に追従して、該当する時刻における関節の動作を変更する、
ことを特徴とする請求項１３に記載のオーサリング・システム。
【請求項１５】
アクションを構成する時系列データの１つとして、アクションの再生と時間的に同期して表示出力される表示インジケータの点灯動作並びに消滅動作を記述したインジケータ表示データがさらに含まれ、
前記ユーザ提示部が提示する編集領域は、時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示するための表示インジケータ・チャンネルをさらに備える、
ことを特徴とする請求項６に記載のオーサリング・システム。
【請求項１６】
前記ユーザ提示部は時間ルーラが規定する時間軸に沿ってサウンドの内容を表示・編集するためのサウンド編集領域をさらに表示する、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項１７】
前記サウンド編集領域は、ピアノ鍵盤と時間軸方向の基本グリッドによって構成されるスコア・チャンネルを含み、
時間軸の基準となる音長と、ピアノ・キーの高さによってスコアが構成され、
前記スコア・チャンネル上では、所望の時刻並びに音階に対応するセル上に音符に相当する色を配色することによって音を編集する、
ことを特徴とする請求項１６に記載のオーサリング・システム。
【請求項１８】
前記サウンド編集領域は、時間軸に沿って各音のベロシティの強さを表示するベロシティ・チャンネルを含むこと、
を特徴とする請求項１６に記載のオーサリング・システム。
【請求項１９】
前記ユーザ提示部は前記時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示・編集するための表示インジケータ編集領域をさらに表示する、
ことを特徴とする請求項１５に記載のオーサリング・システム。
【請求項２０】
前記表示インジケータ編集領域は、表示インジケータを配置した部位のリストと時間軸方向の基本グリッドによって構成されスコア・チャンネルを含み、
前記スコア・チャンネル上で、時間軸上に各部位の表示インジケータの点灯状況を表示することによって各部位リストのスコアが編集される、
ことを特徴とする請求項１９に記載のオーサリング・システム。
【請求項２１】
前記ユーザ提示部は時系列データ編集部により編集された各時系列データに基づいて生成される多関節構造体のアクションを視覚的に確認するためのプレビュー・ウィンドウをさらに表示する、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項２２】
前記プレビュー・ウィンドウは、前記モーション・データに基づいて生成される多関節構造体の動きを３次元表示する３Ｄビュー領域を備える、
ことを特徴とする請求項２１に記載のオーサリング・システム。
【請求項２３】
アクションを構成する時系列データの１つは、アクションの再生と時間的に同期して表示出力される表示インジケータの点灯動作並びに消滅動作を記述したインジケータ表示データであり、
前記プレビュー・ウィンドウは、インジケータ表示データに基づく表示インジケータの動作を他の時系列データのプレビューと同期して表示するための表示インジケータ動作プレビュー領域を備える、
ことを特徴とする請求項２１に記載のオーサリング・システム。
【請求項２４】
前記ユーザ提示部は多関節構造体のポーズをＧＵＩ操作により編集するためのポーズ・ウィンドウをさらに表示する、
ことを特徴とする請求項１に記載のオーサリング・システム。
【請求項２５】
前記ポーズ・ウィンドウは、多関節構造体を展開平面図上で表示して編集可能部位のユーザ選択を受容する実体指定領域を含む、
ことを特徴とする請求項２４に記載のオーサリング・システム。
【請求項２６】
前記ポーズ・ウィンドウは、多関節構造体の編集可能部位とその設定値をリスト表示するリスト指定領域を含む、
ことを特徴とする請求項２４に記載のオーサリング・システム。
【請求項２７】
前記ポーズ・ウィンドウは、多関節構造体の各編集可能部位の設定部位名称、設定値、設定可能最小値並びに最大値を一覧表示する設定値領域を含む、
ことを特徴とする請求項２４に記載のオーサリング・システム。
【請求項２８】
前記ポーズ・ウィンドウは、３Ｄグラフィックスにより生成された多関節構造体の全身画像を３Ｄ表示するとともに該３Ｄ表示上で編集可能部位のユーザ選択を受容する３Ｄ表示領域を含む、
ことを特徴とする請求項２４に記載のオーサリング・システム。
【請求項２９】
多関節構造体のアクションを構成する時系列データを外部から入力するデータ入力手段をさらに備え、
前記ポーズ・ウィンドウは、前記データ入力手段より入力されたデータに基づいて生成されるポーズを表示する、
ことを特徴とする請求項２４に記載のオーサリング・システム。
【請求項３０】
前記ユーザ提示部は、モーションを構成する１以上のキーフレーム又はそのサムネイルをモーション再生時の時系列に従って配列したモーション・プレビュー・ウィンドウをさらに表示する、
ことを特徴とする請求項２に記載のオーサリング・システム。
【請求項３１】
複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するためのオーサリング方法であって、
前記アクションは、多関節構造体の各関節の時系列的な動作を記述したモーション・データ、アクションの再生と時間的に同期して音声出力されるサウンド・データを含む、複数の時系列データで構成され、
前記オーサリング方法は、
横方向に設定された時間軸に沿って前記モーション・データ並びに前記サウンド・データの各内容をそれぞれ表示するためのモーション・チャンネル、サウンド・チャンネルを含む、アクションを構成する各時系列データをそれぞれ横方向に設定された時間軸に沿って表示する各時系列データ表示チャンネルを、前記時間軸上で同期するように縦方向に配列した編集領域を提示するユーザ提示ステップと、
アクションを構成する前記複数の時系列データの各々について、前記ユーザ提示ステップによる編集領域を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集ステップと、
を有することを特徴とするオーサリング方法。
【請求項３２】
複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するための処理をコンピュータ・システム上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、
前記アクションは、多関節構造体の各関節の時系列的な動作を記述したモーション・データ、アクションの再生と時間的に同期して音声出力されるサウンド・データを含む、複数の時系列データで構成され、
前記コンピュータを、
ユーザからコマンドやデータを入力するユーザ入力部、
横方向に設定された時間軸に沿って前記モーション・データ並びに前記サウンド・データの各内容をそれぞれ表示するためのモーション・チャンネル、サウンド・チャンネルを含む、アクションを構成する各時系列データをそれぞれ横方向に設定された時間軸に沿って表示する各時系列データ表示チャンネルを、前記時間軸上で同期するように縦方向に配列した編集領域を提示するユーザ提示部、
アクションを構成する前記複数の時系列データの各々に設けられた、前記ユーザ提示部を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集部、
として機能させるコンピュータ・ソフトウェアを格納する記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定のシナリオに従ったデータの作成・編集を支援するためのオーサリング・システム及びオーサリング方法に係り、特に、ロボットの所定の動作パターンを記述する一連のコマンド／データの作成・編集を支援するオーサリング・システム及びオーサリング方法に関する。
【０００２】
更に詳しくは、本発明は、ロボットの動作状態を規定する部品の集合を用いて動作パターンの作成・編集を支援するオーサリング・システム及びオーサリング方法に係り、特に、各部品をコンピュータ・ディスプレイ上に配置して動作パターンの作成・編集を支援するオーサリング・システム及びオーサリング方法に関する。
【０００３】
【従来の技術】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行う機械装置のことを「ロボット」という。ロボットの語源は、スラブ語のＲＯＢＯＴＡ(奴隷機械)に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（industrial robot）であった。
【０００４】
最近では、イヌやネコのように４足歩行の動物の身体メカニズムやその動作を模したペット型ロボット、あるいは、ヒトやサルなどの２足直立歩行を行う動物の身体メカニズムや動作を模した「人間形」若しくは「人間型」のロボット（humanoid robot）など、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。これら脚式移動ロボットは、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越え等、柔軟な歩行・走行動作を実現できるという点で優れている。
【０００５】
アーム式ロボットのように、ある特定の場所に植設して用いるような据置きタイプのロボットは、部品の組立・選別作業など固定的・局所的な作業空間でのみ活動する。これに対し、移動式のロボットは、作業空間は非限定的であり、所定の経路上または無経路上を自在に移動して、所定の若しくは任意の人的作業を代行したり、ヒトやイヌあるいはその他の生命体に置き換わる種々のサービスを提供することができる。
【０００６】
脚式移動ロボットの用途の１つとして、産業活動・生産活動等における各種の難作業の代行が挙げられる。例えば、原子力発電プラントや火力発電プラント、石油化学プラントにおけるメンテナンス作業、製造工場における部品の搬送・組立作業、高層ビルにおける清掃、火災現場その他における救助といったような危険作業・難作業の代行などである。
【０００７】
また、脚式移動ロボットの他の用途として、上述の作業支援というよりも、生活密着型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が挙げられる。この種のロボットは、ヒトあるいはイヌ（ペット）などの比較的知性の高い脚式歩行動物の動作メカニズムや四肢を利用した豊かな感情表現をエミュレートする。また、予め入力された動作パターンを単に忠実に実行するだけではなく、相手の言葉や態度（「褒める」とか「叱る」、「叩く」など）に対して動的に対応した、生き生きとした応答表現を実現することも要求される。
【０００８】
従来の玩具機械は、ユーザ操作と応答動作との関係が固定的であり、玩具の動作をユーザの好みに合わせて変更することはできない。この結果、ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうことになる。
【０００９】
これに対し、知的なロボットは、動作に起因する行動モデルや学習モデルを備えており、外部からの音声や画像、触覚などの入力情報に基づいてモデルを変化させて動作を決定することにより、自律的な思考及び動作制御を実現する。ロボットが感情モデルや本能モデルを用意することにより、ロボット自身の感情や本能に従った自律的な行動を表出することができる。また、ロボットが画像入力装置や音声入出力装置を装備し、画像認識処理や音声認識処理を行うことにより、より高度な知的レベルで人間とのリアリスティックなコミュニケーションを実現することも可能となる。
【００１０】
また、ユーザ操作などの外部からの刺激を検出したことに応答してこのモデルを変更する、すなわち「学習効果」を付与することによって、ユーザにとって飽きない又は好みに適応した動作パターンを提供することができる。
【００１１】
昨今の脚式移動ロボットは高い情報処理能力を備えており、ロボットそのものを一種の計算機システムとして捉えることができる。したがって、ロボット上で実現される動作パターン、あるいは、複数の基本的な動作パターンの組合せによって構成される高度且つ複雑な一連の動作シーケンスは、コンピュータ・プログラミングと同様の作業によって構築される。
【００１２】
また、今後ますますロボットの普及率が高まり、産業界のみならず一般家庭や日常生活にもロボットが深く浸透していくことが予想される。とりわけ、エンターティンメント性を追求する製品に関しては、コンピュータやコンピュータ・プログラミングに関する高度な知識を持たない一般消費者層がロボットを購入して使用するケースが多いと予想される。このような一般ユーザにとっても、ロボットの動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することを支援するためのツール、すなわちオーサリング・システムを提供することが好ましいと考えられる。
【００１３】
【発明が解決しようとする課題】
本発明の目的は、ロボットの所定の動作パターンを記述する一連のコマンド／データの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することにある。
【００１４】
本発明の更なる目的は、ロボットの動作状態を規定する部品の集合を用いて動作パターンの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することにある。
【００１５】
本発明の更なる目的は、各部品をコンピュータ・ディスプレイ上に配置して動作パターンの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することにある。
【００１６】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するためのオーサリング・システムであって、
ユーザからコマンドやデータを入力するユーザ入力部と、
アクションを構成する各時系列データを時間軸に沿って同期的に並べた編集領域を提示するユーザ提示部と、
アクションを構成する各時系列データ毎に設けられた、前記ユーザ提示部を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集部と、
を具備することを特徴とするオーサリング・システムである。
【００１７】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００１８】
多関節構造体は、例えば、複数の関節アクチュエータで構成される２足、４足などの脚式移動ロボットであるが、それ以外の多関節ロボット、あるいは、コンピュータ・グラフィックス処理により関節の動作に従ってアニメーションが生成されるキャラクタであってもよい。
【００１９】
また、多関節構造体のアクションを構成する時系列データとしては、例えば、多関節構造体の各関節の時系列的な動作を記述したモーション・データである。モーション・データは、所定のポーズをとった多関節構造体を表現したキーフレームを時間軸上に２以上配置することで各キーフレーム間を滑らかにつなぐような多関節構造体の各関節の時系列的な動作を以って規定することもできる。
【００２０】
また、アクションを構成する時系列データの他の例は、アクションの再生と時間的に同期して音声出力されるサウンド・データである。サウンド・データは、ＭＩＤＩ（Musical Instrumental Digital Interface）形式又はＷＡＶＥ形式で記述することができる。
【００２１】
また、アクションを構成する時系列データの他の例は、アクションの再生と時間的に同期して表示出力される表示インジケータすなわちＬＥＤの点灯／消滅動作を記述したインジケータ表示データである。インジケータ表示データは、ＭＩＤＩ形式で記述することができる。
【００２２】
前記ユーザ提示部が提示する編集領域は、横方向に設定された時間軸に沿って各時系列データ毎の時系列データ表示チャンネルを縦方向に配列して構成することができる。
【００２３】
すなわち、本発明の第１の側面に係るオーサリング・システムによれば、モーション・データ、サウンド・データ、ＬＥＤ動作データなど、移動ロボットのアクションを構成する各時系列データを、２次元的なタイムライン形式のタイム・テーブル上で時間軸に沿って配置して表示することができる。したがって、各時系列データ間での同期を視覚的に確認しながら作成・編集することができる、効率的で直感的に分かり易いアクション編集の作業環境を提供することができる。
【００２４】
前記ユーザ提示部が提示する編集領域に、時間軸を実時間表示する目盛で構成される時間ルーラを含めるようにしてもよい。このような場合、各時系列データ・チャンネルと時間軸との同期を視覚的に確認しやすくすることができる。
【００２５】
また、前記ユーザ提示部が提示する編集領域は、時間ルーラによって規定される該当時刻を示すための縦方向に走る１以上の時刻表示ラインを備えるようにしてもよい。このような場合、時刻表示ラインを基準にして、各時系列データ・チャンネル間での進行状況を視覚的に確認にしたり、各時系列データ・チャンネル間の同期を視覚的に確認することが容易になる。
【００２６】
また、前記ユーザ提示部が提示する編集領域は、時間ルーラによって規定される時間軸上の現在時刻を示すための縦方向に走るカレント時刻表示ラインを備えてもよい。このカレント時刻表示ラインは時間ルーラ上でユーザ操作された位置に移動するようにしてもよい。
【００２７】
また、前記ユーザ提示部が提示する編集領域は、現在時刻における多関節構造体の動きをプレビューする表示ウィンドウを備えていてもよい。
【００２８】
また、前記ユーザ提示部が提示する編集領域は、時間ルーラが規定する時間軸に従って各キーフレーム又はそのサムネイルを表示するためのキーフレーム・チャンネルを備えていてもよい。このキーフレーム・チャンネル内では、キーフレーム又はそのサムネイルのドラッグ操作に追従して、キーフレームの時刻変更を受容するようにしてもよい。また、キーフレーム・チャンネル内でのキーフレーム又はそのサムネイルのユーザ選択動作に応答して、該当するポーズを編集するポーズ編集画面を起動するようにしてもよい。
【００２９】
また、前記ユーザ提示部が提示する編集領域は、時間ルーラが規定する時間軸に沿ってモーションの内容を編集・表示するためのモーション・チャンネルを備えていてもよい。このモーション・チャンネルは、例えば、多関節構造体の各関節毎の時系列的な動作を表す各タイミングチャートを縦方向に配列して構成される。モーション・チャンネル内でのタイミングチャート上のドラッグ操作に追従して、該当する時刻における関節の動作変更を受容するようにしてもよい。
【００３０】
また、前記ユーザ提示部が提示する編集領域は、時間ルーラが規定する時間軸に沿ってサウンドの内容を表示するためのサウンド・チャンネルや、時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示するための表示インジケータ・チャンネルを備えていてもよい。
【００３１】
また、ユーザ提示部は時間ルーラが規定する時間軸に沿ってサウンドの内容を表示・編集するためのサウンド編集領域をさらに表示するようにしてもよい。
【００３２】
サウンド編集領域は、ピアノ鍵盤と時間軸方向の基本グリッドによって構成されるスコア・チャンネルを含んでいてもよい。このような場合、時間軸の基準となる音長と、ピアノ・キーの高さによってスコアが構成され、スコア・チャンネル上では、所望の時刻並びに音階に対応するセル上に音符に相当する色を配色することによって音を編集することができる。また、時間軸に沿って各音毎のベロシティの強さを表示するベロシティ・チャンネルを併せて表示するようにしてもよい。
【００３３】
また、ユーザ提示部は時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示・編集するための表示インジケータ編集領域をさらに表示するようにしてもよい。
【００３４】
表示インジケータ編集領域は、表示インジケータを配置した部位のリストと時間軸方向の基本グリッドによって構成されスコア・チャンネルを含んでもよい。このような場合、スコア・チャンネル上では、時間軸上に各部位の表示インジケータの点灯状況を表示することによって各部位リスト毎のスコアを編集することができる。
【００３５】
また、ユーザ提示部は時系列データ編集部により編集された各時系列データに基づいて生成される多関節構造体のアクションを視覚的に確認するためのプレビュー・ウィンドウをさらに表示するようにしてもよい。
【００３６】
このプレビュー・ウィンドウは、モーション・データに基づいて生成される多関節構造体の動きを３次元表示する３Ｄビュー領域を備えていてもよい。また、プレビュー・ウィンドウは、インジケータ表示データに基づく表示インジケータの動作を他の時系列データのプレビューと同期して表示するための表示インジケータ動作プレビュー領域を備えていてもよい。
【００３７】
また、ユーザ提示部は多関節構造体のポーズをＧＵＩ操作により編集するためのポーズ・ウィンドウをさらに表示するようにしてもよい。
【００３８】
このポーズ・ウィンドウは、多関節構造体を展開平面図上で表示して編集可能部位のユーザ選択を受容する実体指定領域を含んでいてもよい。また、ポーズ・ウィンドウは、多関節構造体の編集可能部位とその設定値をリスト表示するリスト指定領域を含んでいてもよい。また、ポーズ・ウィンドウは、多関節構造体の各編集可能部位の設定部位名称、設定値、設定可能最小値並びに最大値を一覧表示する設定値領域を含んでいてもよい。また、ポーズ・ウィンドウは、３Ｄグラフィックスにより生成された多関節構造体の全身画像を３Ｄ表示するとともに該３Ｄ表示上で編集可能部位のユーザ選択を受容する３Ｄ表示領域を含んでいてもよい。
【００３９】
また、オーサリング・システムは、多関節構造体のアクションを構成する時系列データを外部から入力するデータ入力手段をさらに備えていてもよい。このような場合、ポーズ・ウィンドウは、前記データ入力手段より入力されたデータに基づいて生成されるポーズを表示するようにしてもよい。
【００４０】
また、ユーザ提示部は、モーションを構成する１以上のキーフレーム又はそのサムネイルをモーション再生時の時系列に従って配列したモーション・プレビュー・ウィンドウをさらに表示するようにしてもよい。
【００４１】
また、本発明の第２の側面は、複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するためのオーサリング方法であって、
アクションを構成する各時系列データを時間軸に沿って同期的に並べた編集領域を提示するユーザ提示ステップと、
アクションを構成する各時系列データ毎に設けられた、前記ユーザ提示ステップによる編集領域を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集ステップと、
を具備することを特徴とするオーサリング方法である。
【００４２】
ここで、多関節構造体のアクションを構成する時系列データとしては、例えば、多関節構造体の各関節の時系列的な動作を記述したモーション・データである。モーション・データは、所定のポーズをとった多関節構造体を表現したキーフレームを時間軸上に２以上配置することで各キーフレーム間を滑らかにつなぐような多関節構造体の各関節の時系列的な動作を以って規定することもできる。
【００４３】
また、アクションを構成する時系列データの他の例は、アクションの再生と時間的に同期して音声出力されるサウンド・データであり、ＭＩＤＩ形式又はＷＡＶＥ形式で記述することができる。また、アクションを構成する時系列データの他の例は、アクションの再生と時間的に同期して表示出力される表示インジケータすなわちＬＥＤの点灯／消滅動作を記述したインジケータ表示データであり、ＭＩＤＩ形式で記述することができる。
【００４４】
前記ユーザ提示ステップにおいて提示される編集領域は、横方向に設定された時間軸に沿って各時系列データ毎の時系列データ表示チャンネルを縦方向に配列して構成することができる。
【００４５】
すなわち、本発明の第２の側面に係るオーサリング方法によれば、モーション・データ、サウンド・データ、ＬＥＤ動作データなど、移動ロボットのアクションを構成する各時系列データを、２次元的なタイムライン形式のタイム・テーブル上で時間軸に沿って配置して表示することができる。したがって、各時系列データ間での同期を視覚的に確認しながら作成・編集することができる、効率的で直感的に分かり易いアクション編集の作業環境を提供することができる。
【００４６】
前記ユーザ提示ステップにおいて提示される編集領域に、時間軸を実時間表示する目盛で構成される時間ルーラを含めるようにしてもよい。このような場合、各時系列データ・チャンネルと時間軸との同期を視覚的に確認しやすくすることができる。
【００４７】
また、前記ユーザ提示ステップにおいて提示される編集領域は、時間ルーラによって規定される該当時刻を示すための縦方向に走る１以上の時刻表示ラインを備えるようにしてもよい。このような場合、時刻表示ラインを基準にして、各時系列データ・チャンネル間での進行状況を視覚的に確認にしたり、各時系列データ・チャンネル間の同期を視覚的に確認することが容易になる。
【００４８】
また、前記ユーザ提示ステップでは、時間ルーラによって規定される時間軸上の現在時刻を示すための縦方向に走るカレント時刻表示ラインを備える編集領域を提示するようにしてもよい。このような場合、該カレント時刻表示ラインを時間ルーラ上でユーザ操作された位置に移動するステップをさらに備えてもよい。
【００４９】
また、現在時刻における多関節構造体の動きをプレビューする表示ウィンドウを提示するステップをさらに備えてもよい。
【００５０】
また、前記ユーザ提示ステップでは、時間ルーラが規定する時間軸に従って各キーフレーム又はそのサムネイルを表示するためのキーフレーム・チャンネルを備える編集領域を提示するようにしてもよい。このような場合、キーフレーム・チャンネル内でのキーフレーム又はそのサムネイルのドラッグ操作に追従してキーフレームの時刻を変更するステップをさらに含んでいてもよい。また、キーフレーム・チャンネル内でのキーフレーム又はそのサムネイルのユーザ選択動作に応答して、該当するポーズを編集するポーズ編集画面を起動するステップをさらに含んでいてもよい。
【００５１】
また、前記ユーザ提示ステップでは、時間ルーラが規定する時間軸に沿ってモーションの内容を編集・表示するためのモーション・チャンネルを備えた編集領域を提示するようにしてもよい。このような場合、多関節構造体の各関節毎の時系列的な動作を表す各タイミングチャートを縦方向に配列してモーション・チャンネルを表示するようにしてもよい。また、モーション・チャンネル内でのタイミングチャート上のドラッグ操作に追従して、該当する時刻における関節の動作を変更するステップをさらに備えていてもよい。
【００５２】
また、ユーザ提示ステップでは、時間ルーラが規定する時間軸に沿ってサウンドの内容を表示するためのサウンド・チャンネルを備えた編集領域を提示するようにしてもよい。あるいは、ユーザ提示ステップでは、時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示するための表示インジケータ・チャンネルを備えた編集領域を提示するようにしてもよい。
【００５３】
また、オーサリング方法は、時間ルーラが規定する時間軸に沿ってサウンドの内容を表示・編集するためのサウンド編集領域を表示するステップをさらに備えていてもよい。
【００５４】
サウンド編集領域は、例えば、ピアノ鍵盤と時間軸方向の基本グリッドによって構成されるスコア・チャンネルを含んでいてもよい。このような場合、時間軸の基準となる音長と、ピアノ・キーの高さによってスコアが構成され、該スコア・チャンネル上では、所望の時刻並びに音階に対応するセル上に音符に相当する色を配色することによって音を編集することができる。また、サウンド編集領域は、時間軸に沿って各音毎のベロシティの強さを表示するベロシティ・チャンネルを含んでいてもよい。
【００５５】
また、オーサリング方法は、時間ルーラが規定する時間軸に沿ってインジケータ表示データの内容を表示・編集するための表示インジケータ編集領域を表示するステップをさらに備えていてもよい。
【００５６】
表示インジケータ編集領域は、例えば、表示インジケータを配置した部位のリストと時間軸方向の基本グリッドによって構成されスコア・チャンネルを含んでいてもよい。このような場合、スコア・チャンネル上で、時間軸上に各部位の表示インジケータの点灯状況を表示することによって各部位リスト毎のスコアを編集することができる。
【００５７】
また、オーサリング方法は、時系列データ編集ステップにおいて編集された各時系列データに基づいて生成される多関節構造体のアクションを視覚的に確認するためのプレビュー・ウィンドウを表示するステップをさらに備えていてもよい。
【００５８】
このプレビュー・ウィンドウを表示するステップでは、モーション・データに基づいて生成される多関節構造体の動きを３Ｄビュー領域に３次元表示したり、あるいは、表示インジケータ動作プレビュー領域上でインジケータ表示データに基づく表示インジケータの動作を他の時系列データのプレビューと同期して表示するようにしてもよい。
【００５９】
また、オーサリング方法は、多関節構造体のポーズをＧＵＩ操作により編集するためのポーズ・ウィンドウを表示するステップをさらに備えていてもよい。
【００６０】
このポーズ・ウィンドウは、多関節構造体を展開平面図上で表示して編集可能部位のユーザ選択を受容する実体指定領域や、多関節構造体の編集可能部位とその設定値をリスト表示するリスト指定領域、多関節構造体の各編集可能部位の設定部位名称、設定値、設定可能最小値並びに最大値を一覧表示する設定値領域、３Ｄグラフィックスにより生成された多関節構造体の全身画像を３Ｄ表示するとともに該３Ｄ表示上で編集可能部位のユーザ選択を受容する３Ｄ表示領域などを含んでいてもよい。
【００６１】
また、オーサリング方法は、多関節構造体のアクションを構成する時系列データを外部から入力するデータ入力ステップをさらに備えていてもよい。このような場合、前記データ入力ステップにおいて入力されたデータに基づいて生成されるポーズをポーズ・ウィンドウに表示するようにしてもよい。
【００６２】
また、オーサリング方法は、モーションを構成する１以上のキーフレーム又はそのサムネイルをモーション再生時の時系列に従って配列したモーション・プレビュー・ウィンドウを表示するステップをさらに備えていてもよい。
【００６３】
また、本発明の第３の側面は、複数の時系列データの組み合わせからなる多関節構造体のアクションの作成・編集を支援するための処理をコンピュータ・システム上で実行するように記述されたコンピュータ・ソフトウェアをコンピュータ可読形式で物理的に格納した記憶媒体であって、前記コンピュータ・ソフトウェアは、
アクションを構成する各時系列データを時間軸に沿って同期的に並べた編集領域を提示するユーザ提示ステップと、
アクションを構成する各時系列データ毎に設けられた、前記ユーザ提示ステップによる編集領域を介したユーザ入力に基づいて該当する時系列データを作成又は編集する時系列データ編集ステップと、
を具備することを特徴とする記憶媒体である。
【００６４】
本発明の第３の側面に係る記憶媒体は、例えば、様々なプログラム・コードを実行可能な汎用性のコンピュータ・システムに対して、コンピュータ・ソフトウェアをコンピュータ可読な形式で物理的に提供する媒体である。このような媒体は、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）やＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｃ（登録商標））、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）などの着脱自在で可搬性の記憶媒体である。あるいは、ネットワーク（ネットワークは無線、有線の区別を問わない）などの伝送媒体などを経由してコンピュータ・ソフトウェアを特定のコンピュータ・システムにコンピュータ可読形式で提供することも技術的に可能である。
【００６５】
このような記憶媒体は、コンピュータ・システム上で所定のコンピュータ・ソフトウェアの機能を実現するための、コンピュータ・ソフトウェアと記憶媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、本発明の第３の側面に係る記憶媒体を介して所定のコンピュータ・ソフトウェアをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１及び第２の各側面に係るオーサリング・システム及びオーサリング方法と同様の作用効果を得ることができる。
【００６６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００６７】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【００６８】
Ａ．ロボットの構成
図１には、本発明を実施に供される、四肢による脚式歩行を行う移動ロボット１の外観構成を示している。図示の通り、該ロボット１は、四肢を有する動物の形状や構造をモデルにして構成された多関節型の移動ロボットである。とりわけ本実施例の移動ロボット１は、愛玩動物の代表例であるイヌの形状及び構造を模してデザインされたペット型ロボットという側面を有し、例えば人間の住環境において人間と共存するとともに、ユーザ操作に応答した動作表現することができる。
【００６９】
移動ロボット１は、胴体部ユニット２と、頭部ユニット３と、尻尾４と、四肢すなわち脚部ユニット６Ａ〜６Ｄで構成される。
【００７０】
頭部ユニット３は、ロール、ピッチ及びヨーの各軸方向（図示）の自由度を持つ首関節７を介して、胴体部ユニット２の略前上端に配設されている。また、頭部ユニット３には、イヌの「目」に相当するＣＣＤ（Charge Coupled Device：電荷結合素子）カメラ１５と、「耳」に相当するマイクロフォン１６と、「口」に相当するスピーカ１７と、触感に相当するタッチセンサ１８と、複数のＬＥＤインジケータ１９が搭載されている。これら以外にも、生体の五感を構成するセンサを含んでいても構わない。
【００７１】
尻尾４は、ロール及びピッチ軸の自由度を持つ尻尾関節８を介して、胴体部ユニット２の略後上端に湾曲若しくは揺動自在に取り付けられている。
【００７２】
脚部ユニット６Ａ及び６Ｂは前足を構成し、脚部ユニット６Ｃ及び６Ｄは後足を構成する。各脚部ユニット６Ａ〜６Ｄは、それぞれ、大腿部ユニット９Ａ〜９Ｄ及び脛部ユニット１０Ａ〜１０Ｄの組み合わせで構成され、胴体部ユニット２の底面の前後左右の各隅部に取り付けられている。大腿部ユニット９Ａ〜９Ｄは、ロール、ピッチ、ヨーの各軸の自由度を持つ股関節１１Ａ〜１１Ｄによって、胴体部ユニット２の各々の所定部位に連結されている。また、大腿部ユニット９Ａ〜９Ｄと脛部ユニット１０Ａ〜１０Ｄの間は、ロール及びピッチ軸の自由度を持つ膝関節１２Ａ〜１２Ｄによって連結されている。
【００７３】
図示のように構成された脚式移動ロボット１は、後述する制御部からの指令により各関節アクチュエータを駆動することによって、例えば、頭部ユニット３を上下左右に振らせたり、尻尾４を振らせたり、各足部ユニット６Ａ〜６Ｄを同期協調的に駆動させて歩行や走行などの動作を実現することができる。
【００７４】
なお、移動ロボット１の関節自由度は、実際には各軸毎に配備され関節アクチュエータ（図示しない）の回転駆動によって提供される。また、脚式移動ロボット１が持つ関節自由度の個数は任意であり、本発明の要旨を限定するものではない。
【００７５】
図２には、移動ロボット１の電気・制御系統の構成図を模式的に示している。同図に示すように、移動ロボット１は、全体の動作の統括的制御やその他のデータ処理を行う制御部２０と、入出力部４０と、駆動部５０と、電源部６０とで構成される。以下、各部について説明する。
【００７６】
入出力部４０は、入力部として移動ロボット１の目に相当するＣＣＤカメラ１５や、耳に相当するマイクロフォン１６、触感に相当するタッチセンサ１８、あるいは五感に相当するその他の各種のセンサを含む。また、出力部として、口に相当するスピーカ１７、あるいは点滅の組み合わせや点灯のタイミングにより顔の表情を形成するＬＥＤインジケータ１９などを装備している。これら出力部は、脚などによる機械運動パターン以外の形式で移動ロボット１からのユーザ・フィードバックを表現することができる。
【００７７】
移動ロボット１は、カメラ１５を含むことで、作業空間上に存在する任意の物体の形状や色彩を認識することができる。また、移動ロボット１は、カメラのような視覚手段の他に、赤外線、音波、超音波、電波などの発信波を受信する受信装置をさらに備えていてもよい。この場合、各伝送波を検知するセンサ出力に基づいて発信源からの位置や向きを計測することができる。
【００７８】
駆動部５０は、制御部２０が指令する所定の運動パターンに従って移動ロボット１の機械運動を実現する機能ブロックであり、首関節７、尻尾関節８、股関節１１Ａ〜１１Ｄ、膝関節１２Ａ〜１２Ｄなどのそれぞれの関節におけるロール、ピッチ、ヨーなど各軸毎に設けられた駆動ユニットで構成される。図示の例では、移動ロボット１はｎ個の関節自由度を有し、したがって駆動部５０はｎ個の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行うモータ５１と、モータ５１の回転位置を検出するエンコーダ５２と、エンコーダ５２の出力に基づいてモータ５１の回転位置や回転速度を適応的に制御するドライバ５３の組み合わせで構成される。
【００７９】
電源部６０は、その字義通り、移動ロボット１内の各電気回路等に対して給電を行う機能モジュールである。本実施例に係る移動ロボット１は、バッテリを用いた自律駆動式であり、電源部６０は、充電バッテリ６１と、充電バッテリ６１の充放電状態を管理する充放電制御部６２とで構成される。
【００８０】
充電バッテリ６１は、例えば、複数本のニッケル・カドミウム電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。
【００８１】
また、充放電制御部６２は、バッテリ６１の端子電圧や充電／放電電流量、バッテリ６１の周囲温度などを測定することでバッテリ６１の残存容量を把握し、充電の開始時期や終了時期などを決定するようになっている。充放電制御部６２が決定する充電の開始及び終了時期は制御部２０に通知され、移動ロボット１が充電オペレーションを開始及び終了するためのトリガとなる。
【００８２】
制御部２０は、「頭脳」に相当し、例えば移動ロボット１の頭部ユニット３あるいは胴体部ユニット２に搭載される。
【００８３】
図３には、制御部２０の構成をさらに詳細に図解している。同図に示すように、制御部２０は、メイン・コントローラとしてのＣＰＵ（Central Processing Unit）２１が、メモリその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス２７は、データ・バス、アドレス・バス、コントロール・バスなどを含む共通信号伝送路である。バス２７上の各装置にはそれぞれに固有のアドレス（メモリ・アドレス又はＩ／Ｏアドレス）が割り当てられており、ＣＰＵ２１はアドレス指定することでバス２８上の特定の装置と通信することができる。
【００８４】
ＲＡＭ（Random Access Memory）２２は、ＤＲＡＭ（Dynamic RAM）などの揮発性メモリで構成された書き込み可能メモリであり、ＣＰＵ２１が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的な保存のために使用される。
【００８５】
ＲＯＭ（Read Only Memory）２３は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ＲＯＭ２３に格納されるプログラム・コードには、移動ロボット１の電源投入時に実行する自己診断テスト・プログラムや、移動ロボット１の動作を規定する動作制御プログラムなどが挙げられる。
【００８６】
ロボット１の制御プログラムには、カメラ１５やマイクロフォン１６などのセンサ入力を処理する「センサ入力処理プログラム」、センサ入力と所定の動作モデルとに基づいて移動ロボット１の行動すなわち運動パターンを生成する「行動命令プログラム」、生成された運動パターンに従って各モータの駆動やスピーカ１７の音声出力などを制御する「駆動制御プログラム」などが含まれる。生成される運動パターンには、通常の歩行運動や走行運動以外に、「お手」、「お預け」、「お座り」や、「ワンワン」などの動物の鳴き声の発声などエンターティンメント性の高い動作を含んでいてもよい。
【００８７】
また、ロボット１のその他の制御プログラムとして、オーサリング・ツールを用いて作成・編集された各種の動作シーケンス・プログラムが含まれる。オーサリング・ツールは、例えばロボット１外部に設置されたコンピュータ・システム上で所定のソフトウェア実行環境下で起動する。但し、オーサリング・ツール並びに該ツール上で作成・編集されるプログラムついては後に詳解する。
【００８８】
不揮発性メモリ２４は、例えばＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）のように、電気的に消去再書き込みが可能なメモリ素子で構成され、逐次更新すべきデータを不揮発的に保持するために使用される。逐次更新すべきデータには、例えば、製造番号や暗号鍵などのセキュリティ情報や、移動ロボット１の行動パターンを規定する各種モデルなどが挙げられる。
【００８９】
インターフェース２５は、制御部２０外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース２５は、例えば、カメラ１５やマイクロフォン１６、スピーカ１７との間でデータ入出力を行う。また、インターフェース２５は、駆動部５０内の各ドライバ５３−１…との間でデータやコマンドの入出力を行う。
【００９０】
また、インターフェース２５は、ＲＳ（Recommended Standard）−２３２Ｃなどのシリアル・インターフェース、ＩＥＥＥ（Institute of Electrical and electronics Engineers）１２８４などのパラレル・インターフェース、ＵＳＢ（Universal Serial Bus）インターフェース、ｉ−Ｌｉｎｋ（ＩＥＥＥ１３９４）インターフェース、ＳＣＳＩ（Small Computer System Interface）インターフェース、メモリ・カード・インターフェースなどのような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行うようにしてもよい。
【００９１】
また、インターフェース２５の他の例として、赤外線通信（ＩｒＤＡ）インターフェースを備え、外部機器と無線通信を行うようにしてもよい。
【００９２】
さらに、制御部２０は、無線通信インターフェース２６ネットワーク・インターフェース・カード（ＮＩＣ）２７を含み、"ｂｌｕｅｔｏｏｔｈ"や"．１１Ｂ"のような近接無線通信、あるいはＬＡＮ（Local Area Network：例えばEthernet）やインターネットを経由して、外部のホスト・コンピュータ１００とデータ通信を行うことができる。無線通信のための送受信部は、例えば頭部ユニット２や尻尾３など、移動ロボット１本体の先端部に設置されることが受信感度の観点から好ましい。
【００９３】
このような移動ロボット１とホストコンピュータ１００間におけるデータ通信の１つの目的は、ロボット１外部（すなわち遠隔）のコンピュータ資源を用いて、移動ロボット１の複雑な動作制御を演算したり、リモート・コントロールすることである。
【００９４】
また、該データ通信の他の目的は、動作モデルやその他のプログラム・コードなどロボット１の動作制御に必要なデータやプログラムを、ネットワーク経由で遠隔の装置から移動ロボット１に供給することにある。
【００９５】
また、該データ通信の他の目的は、ホスト・コンピュータ１００上でオーサリング・ツール（後述）を用いて作成・編集したロボット動作制御用プログラムのダウンロードや、このような動作制御用プログラムのホスト・コンピュータ１００とロボット１との協働的動作によるリアルタイムのデバッグ処理である。
【００９６】
また、該データ通信の他の目的は、オペレータが移動ロボット１に対して直接教示したポーズを規定する各関節アクチュエータの角度データなどの動作設定値を、ホスト・コンピュータ１００側に転送することである。ホスト・コンピュータ１００上では、このような各関節アクチュエータの角度データで規定される「ポーズ」を、ポーズ・ウィンドウ上で編集してモーションのためのキーフレームを作成することができる。要するに、移動ロボット１から供給されるポーズは、例えばアクションの編集に利用することができる（後述）。
【００９７】
制御部２０は、テンキー及び／又はアルファベット・キーからなるキーボード２９を備えておいてもよい。キーボード２９は、ロボット１の作業現場においてユーザが直接的なコマンド入力のために使用する他、パスワードなどの所有者認証情報の入力に用いられる。
【００９８】
本実施例に係る移動ロボット１は、制御部２０が所定の動作制御プログラムを実行することによって、自律的（すなわち人手が介在しない）な動作を行うことができる。また、画像入力（すなわちカメラ１５）、音声入力（すなわちマイク１６）、タッチセンサ１８などの人間や動物の五感に相当する入力装置を備えるとともに、これら外部入力に応答した理性的又は感情的な行動を実行するインテリジェンスを備えている。
【００９９】
図１〜図３に示すように構成された移動ロボット１は、以下のような特徴がある。すなわち、
【０１００】
（１）ある姿勢から他の姿勢へ遷移するように指示されたとき、各姿勢間を直接に遷移せず、あらかじめ用意された無理のない中間的な姿勢を経由して遷移することができる。
（２）姿勢遷移で任意の姿勢に到達したときに通知を受け取ることができる。
（３）頭部、足部、尻尾部などの各ユニット単位で姿勢を独立して管理しながら姿勢制御することができる。すなわち、ロボット１の全体の姿勢とは別に各ユニット毎に姿勢を管理することができる。
（４）動作命令の動作の詳細を示すためのパラメータを渡すことができる。
【０１０１】
図３に示すように、本実施例に係る移動ロボット１は、ネットワーク経由で外部のホスト・コンピュータ１００と相互接続されている。あるいは、ホスト・コンピュータ１００とは、無線通信（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＩＥＥＥ．１１ｂなどの近距離無線データ通信）やその他の通信手段によって接続されていてもよい。
【０１０２】
ホスト・コンピュータ１００上では、所定のソフトウェア実行環境が構築され、該環境下では、オーサリング・ツールを起動して、ロボット１の動作シーケンスを対話的な処理により比較的容易且つ効率的に作成・編集することができる。但し、オーサリング・ツールの詳細については後述する。
【０１０３】
図４には、ホスト・コンピュータ１００のハードウェア構成例を模式的に図解している。以下、コンピュータ１００内の各部について説明する。
【０１０４】
システム１００のメイン・コントローラであるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、オペレーティング・システム（ＯＳ）の制御下で、各種のアプリケーションを実行するようになっている。ＯＳは、より好ましくはＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）環境を提供するが、例えば、ＵＮＩＸ（登録商標）、又は、米Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）９８／ＮＴでよい。
【０１０５】
図示の通り、ＣＰＵ１０１は、バス１０７によって他の機器類（後述）と相互接続されている。バス１０７上の各機器にはそれぞれ固有のメモリ・アドレス又はＩ／Ｏアドレスが付与されており、ＣＰＵ１０１はこれらアドレスによって機器アクセスが可能となっている。バス１０７は、データ・バス、アドレス・バス、コントロール・バスを含んだ共通信号伝送路であるが、その一例はＰＣＩ（Peripheral Component Interconnect）バスである。
【０１０６】
メモリ１０２は、プロセッサ１０１において実行されるプログラム・コードを格納したり、実行中の作業データを一時保管するために使用される記憶装置である。同図に示すメモリ１０２は、不揮発及び揮発メモリ双方を含むものと理解されたい。
【０１０７】
ディスプレイ・コントローラ１０３は、ＣＰＵ１０１が発行する描画命令を実際に処理するための専用コントローラであり、例えばＳＶＧＡ（Super Video Graphic Array）又はＸＧＡ（eXtended Graphic Array）相当のビットマップ描画機能をサポートする。ディスプレイ・コントローラ１０３において処理された描画データは、例えばフレーム・バッファ（図示しない）に一旦書き込まれた後、表示装置１１１に画面出力される。表示装置１１１は、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイや、液晶表示ディスプレイ（Liquid Crystal Display）などである。
【０１０８】
入力機器インターフェース１０４は、キーボード１１２やマウス１１３などのユーザ入力機器をシステム１００に接続するための装置である。入力機器インターフェース１０４は、キーボード１１２によるキー入力又はマウス１１３を介した座標指示入力に応答して、ＣＰＵ１０１に対して割り込みを発生する。
【０１０９】
ネットワーク・インターフェース１０５は、Ｅｔｈｅｒｎｅｔ（登録商標）などの所定の通信プロトコルに従って、システム１００をＬＡＮ（Local Area Network）などのネットワークに接続したり、あるいはｂｌｕｅｔｏｏｔｈや．１１Ｂのような近距離無線データ通信に接続することができる。ネットワーク・インターフェース１０５は、一般に、ＬＡＮアダプタ・カードの形態で提供され、マザーボード（図示しない）上のＰＣＩバス・スロットに装着して用いられる。
【０１１０】
図３に示す例では、ホスト・コンピュータ１００は、無線データ通信やネットワーク経由でロボット１と相互接続されているが、勿論、他の通信手段やデータ移動手段によって両者が接続されていてもよい。例えば、メモリ・カード（メモリ・スティック）のような記録メディアを介してデータの交換や移動を行うようにしてもよい。
【０１１１】
またネットワーク上では、複数のホスト・コンピュータ（図示しない）がトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。ネットワーク上では、ソフトウェア・プログラムやデータ・コンテンツなどの配信が行われる。例えば、本実施例に係るオーサリング・ツールや、該オーサリング・ツールで作成・編集したロボット用行動シーケンス・プログラム（さらには、行動シーケンスとなるアクション・ファイル、モーション・ファイル、サウンド・ファイル、ＬＥＤ動作ファイル）などを、ネットワーク経由で配信することができる。また、このようなプログラム／データのネットワーク配信サービスを有料又は無料で行ってもよい。
【０１１２】
外部機器インターフェース１０６は、ハード・ディスク・ドライブ（ＨＤＤ）１１４やメディア・ドライブ１１５などの外部装置をシステム１００に接続するための装置である。外部機器インターフェース１０６は、例えば、ＩＤＥ（Integrated Drive Electronics）やＳＣＳＩ（Small Computer System Interface）などのインターフェース規格に準拠する。
【０１１３】
ＨＤＤ１１４は、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり（周知）、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でＨＤＤ１１６上に置くことをプログラムのシステムへの「インストール」と呼ぶ。通常、ＨＤＤ１１４には、プロセッサ５１１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。例えば、本実施例に係るオーサリング・ツールや、該オーサリング・ツールを用いて作成・編集したロボット用行動シーケンス・プログラムを、ＨＤＤ１１４上にインストールすることができる。
【０１１４】
また、メディア・ドライブ１１５は、ＣＤ（Compact Disc）やＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital Versatile Disc）などの可搬型メディアを装填して、データ記録面にアクセスするための装置である。可搬型メディアは、主として、ソフトウェア・プログラムやデータ・ファイルなどをコンピュータ可読形式のデータとしてバックアップすることや、これらをシステム間で移動（すなわち販売・流通・配布を含む）する目的で使用される。例えば、本実施例に係るオーサリング・ツールや、該オーサリング・ツールを用いて作成したロボット用行動シーケンス・プログラム（さらには、行動シーケンスとなるアクション・ファイル、モーション・ファイル、サウンド・ファイル、ＬＥＤ動作ファイル）などを、これら可搬型メディアを利用して機器間で物理的に流通・配布することができる。
【０１１５】
なお、図４に示すようなホスト・コンピュータ１００の一例は、米ＩＢＭ社のパーソナル・コンピュータ"ＰＣ／ＡＴ（Personal Computer/Advanced Technology）"の互換機又は後継機である。勿論、他のアーキテクチャを備えた計算機システムを本実施例に係るホスト・コンピュータ１００として適用することも可能である。
【０１１６】
Ｂ．オーサリング・システムの構成
本実施例では、ロボット１の所定の動作パターンを記述する一連のコマンド／データからなる動作制御プログラムを、ホスト・コンピュータ１００上で起動したオーサリング・ツールを用いて作成・編集することができる。また、このオーサリング・ツールを用いて作成・編集した動作制御プログラムを、例えばｂｌｕｅｔｏｏｔｈや．１１Ｂなどの無線通信手段を用いてロボット１側に転送して、ホスト・コンピュータ１００とロボット１との協働的動作によりデバッグ処理を行うようになっている。すなわち、ホスト・コンピュータ１００とロボット１間の有機的な結合により、移動ロボット１の動作制御プログラムの作成・編集を支援するためのオーサリング・システムが構築されている訳である。
【０１１７】
図５には、オーサリング・システムの全体構成を模式的に図解している。
【０１１８】
ホスト・コンピュータ１００側では、ユーザは、オーサリング・ツールが提供するＧＵＩ（Graphical User Interface）画面を用いてマウス操作により移動ロボット１の規定のシナリオを作成・編集することができる。シナリオ作成用のＧＵＩ画面並びに該ＧＵＩ画面上での編集操作の詳細については後述する。あるいは、ユーザは、通常のテキスト・エディタなどを用いて、スクリプト形式（例えばＣ言語などの高級言語形式）でロボット１の動作制御プログラムを作成・編集することができる。
【０１１９】
オーサリング・ツールは、ユーザがＧＵＩ画面上で作成・編集したシナリオや、テキスト・エディタ上で作成・編集したスクリプト形式の動作制御プログラムを、"ＲＣＯＤＥ"と呼ばれるアセンブラに類似する形式のニーモニック・コードに変換する。
【０１２０】
ここで言うＲＣＯＤＥとは、簡単なコマンドでロボット１を制御するために策定されたプログラム言語であり、"ＩＦ"や"ＧＯ"などの基本的な制御構造も備えているので、ロボット制御用最低水準スクリプト言語としても使用することができる。
【０１２１】
ホスト・コンピュータ１００上で作成・編集されたＲＣＯＤＥ動作制御プログラムは、例えば、メモリ・スティックなどのメディアを利用してロボット１側に移動することができる。また、ＲＣＯＤＥ動作制御プログラムのデバッグ時には、ＲＣＯＤＥプログラムを１行ごとに取り出して、暗号化して、ｂｌｕｅｔｏｏｔｈや．１１Ｂなどの無線通信手段を利用してロボット１側に逐次転送するようになっている。
【０１２２】
他方、ロボット１側では、ＲＣＯＤＥなどで記述された動作制御プログラムの実行及びデバッグ環境として、インタープリタ／デバッガと、ミドルウェアと、ドライバと、オペレーティング・システム（ＯＳ）とを備えている。
【０１２３】
インタープリタは、ＲＣＯＤＥ形式で記述されたプログラムを１行ずつ読み込んで解釈して実行する高水準言語プログラムである。但し、デバッグ時などにおいて、ホスト・コンピュータ１００側から暗号化された形式でＲＣＯＤＥプログラムが送信される場合には、インタープリタは、これを一旦復号化してから解釈・実行を行う必要がある。
【０１２４】
デバッガは、ＲＣＯＤＥプログラム中の誤り（バグ）を発見して、修正する作業を支援するプログラムである。すなわち、デバッガによれば、プログラムを指定した行で実行を止めたり、そのときのメモリや変数の内容を参照することができる。
【０１２５】
ミドルウェアは、ロボット１の基本的な機能を提供するソフトウェア・モジュールの集まりであり、各モジュールの構成はロボット１の機械的・電気的な特性や仕様、形状などハードウェア属性の影響を受ける。ミドルウェアは、機能的に、認識系のミドルウェアと出力系のミドルウェアに大別される。
【０１２６】
認識系のミドルウェアは、画像データや音声データ、その他のセンサから得られる検出データなど、ハードウェアからの生データを仮想ロボット経由で受け取ってこれらを処理するエンジンである。すなわち、各種入力情報に基づき、音声認識、距離検出、姿勢検出、接触、動き検出、色認識などの処理を行い、認識結果を得る。認識結果は、上位のアプリケーション層（行動シーケンス・プログラム）に通知される。
【０１２７】
一方、出力系のミドルウェアでは、歩行、動きの再生、出力音の合成、ＬＥＤインジケータの点滅制御などの機能を提供する。すなわち、アプリケーション層において立案された行動計画を受け取って、ロボット１の各機能毎にロボットの各ジョイントのサーボ指令値や出力音、出力光（ＬＥＤ）、出力音声などを生成して、ロボット１上で実演する。
【０１２８】
ドライバは、各関節アクチュエータやその他のハードウェアの操作を行うためのプログラム・コードである。
【０１２９】
本実施例では、ミドルウェア並びにドライバは、オブジェクト指向プログラムによって実装されている。オブジェクト指向に基づくソフトウェアは、基本的に、データとそのデータに対する処理手続きとを一体化させた「オブジェクト」というモジュール単位で扱われる。また、必要に応じて複数のオブジェクトを作成したり組み合わせることで１つのソフトウェアが完成する。一般に、オブジェクト指向プログラミングによれば、ソフトウェアの開発と保守が効率化されると考えられている。
【０１３０】
オペレーティング・システム（ＯＳ）は、これらオブジェクト間のデータ通信の管理や、その他のプログラム実行に関する制御を行う。ＯＳもオブジェクト指向プログラムにより実装される。
【０１３１】
Ｃ．オーサリング・ツールを用いたロボット用動作プログラムの作成・編集
本実施例に係るオーサリング・ツールを用いて作成された動作シナリオは、「ビヘイビア」の作成・編集と、「アクション」の作成・編集とで成り立ち、その成果物は「プロジェクト」と呼ばれる。プロジェクトには、移動ロボット１のコンフィギュレーション（ＣＰＣ：Configured Peripheral Component）、すなわち胴体、頭部、脚部などの物理コンポーネントの組み合わせからなるハードウェア構成情報が設定されている。
【０１３２】
プロジェクトは、ビヘイビア・ファイルと、アクション・ファイルと、モーション・ファイルと、サウンド・ファイルと、ＬＥＤ動作ファイルとで構成される。ビヘイビアは、アクションの組み合わせによって構成される。また、アクションは、モーションとサウンドとＬＥＤ動作などの各コンテンツを構成要素とする。
【０１３３】
モーション・ファイルは、移動ロボット１の各関節アクチュエータの動作を規定するファイルである。本実施例では、ＧＵＩ編集画面上で、移動ロボット１に所望のポーズをとらせた様子を描写した２以上のキーフレームを時系列的に配置することによって、モーションを規定することができる。但し、ＧＵＩ編集画面上におけるモーションの編集作業については後に詳解する。
【０１３４】
サウンド・ファイルは、スピーカ１７を介して音声出力するための音響データであり、例えばＭＩＤＩ（Musical Instrumental Digital Interface）やＷＡＶＥ形式のファイルとして構成される。例えば、ＭＩＤＩ形式で記述された音響ファイルは、音そのものの情報としてではなく、大きさ、長さ、音色や効果といった演奏情報を数値データに変換して音楽を表現するようになっている。本実施例では、ＧＵＩ編集画面を介して、音響を構成するＭＩＤＩ形式の各数値データを操作することによって演奏情報を編集することができるが、この点については後に詳解する。
【０１３５】
ＬＥＤ動作ファイルは、複数のＬＥＤインジケータ１９の点灯の組み合わせや点滅のタイミングを規定するためのデータであり、顔の表情を形成することを目的として利用される。本実施例では、ＬＥＤ動作ファイルはＭＩＤＩ形式で記述され、ＧＵＩ編集画面を介してＬＥＤ動作ファイルを自在に編集することができるようになっている。但し、ＧＵＩ編集画面上における編集作業については後に詳解する。
【０１３６】
モーションと、サウンドと、ＬＥＤ動作は、アクションの構成要素であり、時間の経過に従って変化する時系列データである。アクションを正確に再生するためには、これら各構成要素は時間的に同期していなければならない。本実施例では、ＧＵＩ編集画面上で、モーションとサウンドとＬＥＤの点灯が互いに時間軸上で同期するように各ファイルを編集することができるが、この点については後に詳解する。
【０１３７】
アクションは、時間軸上で同期がとられたモーション・ファイルとサウンド・ファイルとＬＥＤ動作ファイルという各コンテンツを統合することによって構成される。１つのアクション・ファイルは、概ね１０秒程度で再生されるコマンド（「セマンティックス」とも呼ぶ）である。本実施例では、後述するように、ＧＵＩ編集画面上でタイムラインを利用することによって、各コンテンツ間の同期を用意にとることができるアクション編集のための作業環境が提供される。また、各コンテンツを個々のデータとして処理することができる他、他のコンテンツと統合した形式すなわちアクションの形式でも扱うことができる。
【０１３８】
ビヘイビアとは、２以上のコマンドすなわちアクションを並べていくことにより構成される、移動ロボット１の振る舞いを規定するファイルである。アクションはスタートからエンドまで一方向で再生される。これに対して、ビヘイビアは、アクションを再生する順序を規定することができる。さらに、条件や確率に基づいた分岐や、複数のコマンドすなわちアクションをボックス化してサブルーチンを定義することができる。したがって、ビヘイビアは、アクションに比し、移動ロボット１のより高度で複雑な行動シーケンスを記述することができる。
【０１３９】
図２９には、オーサリング・システムの機能構成を模式的に示している。同図に示すように、本実施例に係るオーサリング・システムは、特にアクションの編集向けにデザインされたものであり、アクション編集部と、キーフレーム編集部と、モーション編集部と、サウンド編集部と、ＬＥＤ動作編集部と、これら各機能モジュールによるユーザの編集作業をＧＵＩ画面による対話形式で実現するユーザ・インターフェース制御部とで構成される。
【０１４０】
アクション編集部は、モーション・ファイルとサウンド・ファイルとＬＥＤ動作ファイルとを時間軸上で同期がとられる形式で編集を行うための機能モジュールである。アクション編集部は、ユーザ・インターフェース制御部を介して、移動ロボット１の時間軸に沿った関節動作（モーション）と、サウンド及びＬＥＤ動作のタイミングを設定するためのアクション編集ウィンドウをユーザに提示する。アクション編集ウィンドウは、各種のファイルを時間軸上で設定するためのタイムライン形式のテーブルからなる編集領域を備えているが、アクション編集ウィンドウの詳細については後述に譲る。
【０１４１】
キーフレーム編集部は、キーフレームすなわちモーションを実行する移動ロボットの該当する時刻におけるポーズを描写した画像フレームを編集するための機能モジュールである。キーフレーム編集部は、アクション編集部に対するユーザ操作に応答して呼び出され、アクション編集ウィンドウ上で開かれるキーフレーム・チャンネルを介してユーザによる編集作業を受容する。キーフレーム・チャンネルでは、時間軸上の該当する各場所にキーフレームを表すサムネイルが置かれるが、キーフレーム・チャンネルの詳細については後述に譲る。
【０１４２】
モーション編集部は、モーションすなわち移動ロボットを構成する各関節アクチュエータの時系列的な動作を編集するための機能モジュールである。モーション編集部は、アクション編集部に対するユーザ操作に応答して呼び出され、アクション編集ウィンドウ上で開かれるモーション・チャンネルを介してユーザによる編集作業を受容する。モーション・チャンネルでは、各関節アクチュエータの時系列的な動作を記述する各タイミングチャートが、生体モデルに従ってツリー状にリストアップ（ツリー・ビュー）されるが、モーション・チャンネルの詳細については後述に譲る。
【０１４３】
また、モーション編集部は、３Ｄ表示画面上で移動ロボット１のポーズを編集するためのポーズ・ウィンドウや、仕上がったモーションをプレビューするためのモーション・プレビューワを、ユーザ・インターフェース部を介してユーザに提示する。ポーズ・ウィンドウやモーション・プレビューワの詳細については後述に譲る。
【０１４４】
サウンド編集部は、アクションの構成要素の１つであるサウンドの詳細を設定するための機能モジュールである。本実施例では、サウンドは、ＭＩＤＩ形式又はＷＡＶＥ形式で扱われる。サウンド編集部は、ユーザ・インターフェース制御部を介して、時間軸上に沿ってサウンドの詳細を設定するためのサウンド詳細ウィンドウをユーザに提示する。サウンド詳細ウィンドウは、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルからなる編集領域を備えている。但し、サウンド詳細ウィンドウの詳細については後述に譲る。サウンド詳細ウィンドウ上で設定された内容は、アクション編集ウィンドウ内のサウンド・チャンネル（後述）上の表示に利用される。
【０１４５】
ＬＥＤ動作編集部は、アクションの構成要素の１つであるＬＥＤ動作の詳細を設定するための機能モジュールである。本実施例では、ＬＥＤ動作は、ＭＩＤＩ形式で扱われる。ＬＥＤ動作編集部は、ユーザ・インターフェース制御部を介して、時間軸上に沿ってＬＥＤ動作の詳細を設定するためのＬＥＤ詳細ウィンドウをユーザに提示する。ＬＥＤ詳細ウィンドウは、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルからなる編集領域を備えているが、ＬＥＤ詳細ウィンドウの詳細については後述に譲る。ＬＥＤ詳細ウィンドウ上で設定された内容は、アクション編集ウィンドウ内のＬＥＤ動作チャンネル（後述）上の表示に利用される。
【０１４６】
ユーザ・インターフェース制御部は、プロジェクト編集時にはプロジェクト・ウィンドウをユーザに提示するようになっている。
【０１４７】
また、ユーザ・インターフェース制御部は、各編集ウィンドウを介したユーザ指示に応答して、ビヘイビア・ファイル、アクション・ファイル、モーション・ファイル,サウンド・ファイル、ＬＥＤ動作ファイルを管理する各ファイル・システム（又はデータベース）にアクセスできるようになっている。
【０１４８】
次いで、本実施例に係るオーサリング・システム上で、ユーザが移動ロボット１の動作シナリオを作成・編集するための処理手順について詳解する。
【０１４９】
プロジェクト編集時には、図６に示すような「プロジェクト・ウィンドウ」が表示される。プロジェクト・ウィンドウは、タイトル・バーと、メニュー・バーと、ツール・バーと、リスト表示領域を含む。プロジェクト・ウィンドウは、例えばＳＤＩ（Single Document Interface）メイン・ウィンドウとして構成される。（ＳＤＩは、１つのドキュメントを１つのウインドウで開くようにしたタイプのユーザ・インターフェースである。）
【０１５０】
図示の通り、プロジェクト・ウィンドウ内には、ビヘイビアの編集並びにアクションの編集に使用される、ビヘイビア・ファイル、アクション・ファイル、モーション・ファイル、サウンド・ファイル、ＬＥＤ動作ファイルなどの各ファイルのリストがツリー形式で表示されるようになっている。
【０１５１】
ビヘイビア、アクションのリスト上の項目をダブル・クリックすると、該当する編集ウィンドウ（後述並びに図９を参照のこと）が開く。また、モーションのサムネイルをダブル・クリックすると、モーション・プレビュー・ウィンドウ（後述並びに図２８を参照のこと）が開く。
【０１５２】
プロジェクト・ウィンドウは、ツリー・リスト上で選択された項目に関する詳細情報を表示する機能を有する。
【０１５３】
ビヘイビアに関する詳細情報には、サムネイル、ファイル名、分類項目、簡単な動作説明、動作時間などが含まれる。アクションに関する詳細情報には、サムネイル（初期ポーズ）、ファイル名、動作時間、初期ポーズ、終了ポーズ、ファイル容量などが含まれる。モーションに関する詳細情報には、サムネイル（初期ポーズ）、ファイル名、動作時間、初期ポーズ、終了ポーズ、ファイル容量などが含まれる。サウンドに関する詳細情報には、サムネイル（サウンドを表すアイコン）、ファイル名、動作時間、ファイル容量などが含まれる。ＬＥＤ動作に関する詳細情報には、サムネイル（ＬＥＤ動作を表すアイコン）、ファイル名、動作時間、ファイル容量などが含まれる。
【０１５４】
また、プロジェクト・ウィンドウの上方には「ファイル」、「編集」、「素材」、「ヘルプ」という各メニューを含んだメニュー・バーが用意されている。
【０１５５】
メニュー「ファイル」を選択すると、さらに「新規プロジェクト」、「プロジェクトを開く」、「プロジェクト保存」、「プロジェクト新規保存」、並びに「終了」という各サブ・メニューからなるプルダウン・メニューが出現する（図７を参照のこと）。
【０１５６】
サブメニュー「新規プロジェクト」を選択すると、新規のプロジェクトを生成する。既に未保存のプロジェクトが開かれている場合、そのプロジェクトを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する。
【０１５７】
サブメニュー「プロジェクトを開く」を選択すると、既存のプロジェクト・ファイルを開く。既に未保存のプロジェクトが開かれている場合、そのプロジェクトを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する（同上）。
【０１５８】
サブメニュー「プロジェクト保存」を選択すると、該当するプロジェクト・ファイルを上書き保存する。未保存ファイルの場合、プロジェクト新規保存（後述）と同様、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０１５９】
サブメニュー「プロジェクト新規保存」を選択すると、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０１６０】
サブメニュー「終了」を選択すると、このプロジェクト・ウィンドウを閉じる。該ウィンドウ内のプロジェクト・ファイルが未保存の場合には、ダイアログが出現して、これを保存するかどうかの確認をユーザにプロンプトする。
【０１６１】
また、メニュー「素材」を選択すると、さらに「新規ビヘイビア作成」、「新規アクション作成」、「素材読み込み」、並びに「素材削除」という各サブ・メニューからなるプルダウン・メニューが出現する（図８を参照のこと）。
【０１６２】
サブメニュー「新規ビヘイビア作成」を選択すると、ビヘイビア編集ウィンドウが新規の状態で開く。そのビヘイビアは、プロジェクト・ウィンドウ内のビヘイビアのリストに自動的に追加される。ビヘイビア編集は、本発明の要旨とは直接関連しないので、本明細書中ではこれ以上説明しない。
【０１６３】
サブメニュー「新規アクション作成」を選択すると、アクション編集ウィンドウ（後述並びに図９を参照のこと）が新規の状態で開く。そのアクションは、プロジェクト・ウィンドウ内のアクションのリストに自動的に追加される。
【０１６４】
サブメニュー「素材読み込み」を選択すると、ファイル指定ダイアログが出現して、利用可能な素材ファイルをプロジェクトに登録する。エクスプローラからドラッグ・アンド・ドロップ操作した場合と同様である。
【０１６５】
サブメニュー「素材削除」を選択すると、項目が選択状態のときのみ有効表示となり、選ばれるとその項目がプロジェクト・ウィンドウ内のリストから削除される。但し、ファイルがディレクトリから削除される訳ではない。
【０１６６】
また、メニュー「ヘルプ」には、トピックやサポート・ウェブ、バージョン情報などのサブメニューが含まれている。
【０１６７】
また、メニュー・バーの下方には、新規ビヘイビア作成ボタン（New Behavior）、新規アクション作成ボタン（New Action）、ごみ箱（Trash）などのよく使う機能を瞬時に呼び出すためのツール・ボタンが配設されている。
【０１６８】
新規ビヘイビア作成ボタンは、メニュー「素材」内のサブメニュー「新規ビヘイビア作成」に相当する。また、新規アクション作成ボタンは、メニュー「素材」内のサブメニュー「新規アクション作成」に相当する。また、ごみ箱は、メニュー「素材」内のサブメニュー「素材削除」に相当する。
【０１６９】
プロジェクト・ウィンドウ内では、いわゆるドラッグ・アンド・ドロップ操作が許容されている。すなわち、エクスプローラ上のファイル・アイコンをツリー上の所望の場所にドラッグ操作して直接登録することができる。
【０１７０】
また、ツリー・リスト上の素材を各編集ウィンドウにドラッグ操作することもできる。アクションはビヘイビア・ウィンドウにドラッグすることができる。また、モーション、サウンド、ＬＥＤ動作は、アクション・ウィンドウにドラッグすることができる。
【０１７１】
図９には、アクション編集ウィンドウの構成を概略的に示している。このアクション編集ウィンドウ上では、移動ロボット１の時間軸に沿った関節動作（モーション）と、サウンド及びＬＥＤ動作のタイミングを設定することができる。該編集ウィンドウでの編集結果は、拡張子"act"を持つアクション・ファイルとして保存される。なお、移動ロボット１のモデルの相違（若しくはＣＰＣコンポーネントの組み合わせからなるハードウェア構成情報の相違）によって異なるアクション編集ウィンドウを用意しているようなオーサリング・システムの場合には、ユーザによるモデル選択操作に応じてアクション編集ウィンドウが切り替わるように構成してもよい。
【０１７２】
図示の通り、アクション編集ウィンドウは、タイトル・バーと、メニュー・バーと、モーション・データやサウンド・データ、ＬＥＤ動作データを時間軸上に設定する編集領域とで構成される。
【０１７３】
メニュー・バーには「ファイル」、「素材」、「ヘルプ」という各メニューが用意されている。
【０１７４】
メニュー「ファイル」を選択すると、さらに「新規アクション」、「アクションを開く」、「アクション保存」、「アクション新規保存」、「実機再生」、並びに「閉じる」という各サブ・メニューからなるプルダウン・メニューが出現する（図１０を参照のこと）。
【０１７５】
サブメニュー「新規アクション」を選択すると、新規のアクションを生成する。既に未保存のアクションが開かれている場合、そのアクションを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する。
【０１７６】
サブメニュー「アクションを開く」を選択すると、既存のアクション・ファイルを開く。既に未保存のアクションが開かれている場合、そのアクションを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する（同上）。
【０１７７】
サブメニュー「アクション保存」を選択すると、該当するアクション・ファイルを上書き保存する。未保存ファイルの場合、アクション新規保存（後述）と同様、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０１７８】
サブメニュー「アクション新規保存」を選択すると、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０１７９】
サブメニュー「実機再生」を選択すると、図９に示すアクション編集ウィンドウ上で編集されたアクション・ファイルを、実機すなわち移動ロボット１に転送して、現実に再生動作を試行する。アクション・ファイルは、例えば、Ｂｌｕｅｔｏｏｔｈのような近距離無線データ通信を介して移動ロボット１に転送してもよいし、あるいはメモリ・カード（メモリ・スティック）のようなメディアを媒介として装置間を移動させてもよい。
【０１８０】
サブメニュー「閉じる」を選択すると、このアクション編集ウィンドウを閉じる。該ウィンドウ内のアクション・ファイルが未保存の場合には、ダイアログが出現して、これを保存するかどうかの確認をユーザにプロンプトする。
【０１８１】
また、メニュー「編集」を選択すると、さらに「元に戻す」、「切り取り」、「モーションコピー」、「サウンドコピー」、「ＬＥＤコピー」、「上書き貼り付け」、「挿入貼り付け」、「削除」、「キーフレーム化」、「フレーム挿入」、「指定フレーム数挿入」、「フレーム削除」、並びに「指定フレーム削除」という各サブ・メニューからなるプルダウン・メニューが出現する（図１１を参照のこと）。
【０１８２】
サブメニュー「元に戻す」を選択すると、直近の操作から順にアンドゥー処理が行われる。
【０１８３】
サブメニュー「切り取り」を選択すると、選択された時間幅がある場合はその範囲でのモーション、時間幅がない場合はそのフレームのモーション、サウンド、ＬＥＤ動作がカットされる。カットされたデータは、実際にはクリップボード内に一時的に保管される。カット処理により、フレーム自体はなくならず、フレームの内容に関する情報がなくなる。
【０１８４】
サブメニュー「モーションコピー」を選択すると、選択された時間幅がある場合は、その範囲でのモーションがコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０１８５】
サブメニュー「サウンドコピー」を選択すると、選択された時間幅がある場合は、その範囲でのサウンドがコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０１８６】
サブメニュー「ＬＥＤコピー」を選択すると、選択された時間幅がある場合は、その範囲でのＬＥＤ動作がコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０１８７】
サブメニュー「上書き貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻にペーストされる。
【０１８８】
サブメニュー「挿入貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻に挿入ペーストされる。
【０１８９】
サブメニュー「削除」を選択すると、選択された時間幅がある場合はその範囲でのモーションが削除され、時間幅がない場合はそのフレームのモーション、サウンド、ＬＥＤ動作、すなわちそのフレームのアクションが削除される。
【０１９０】
サブメニュー「キーフレーム化」を選択すると、カレント時刻のフレームをキーフレーム化する。すなわち既存のキーフレーム間で補間されたポーズを生成して、これを新たなキーフレーム・データとすることができる。
【０１９１】
サブメニュー「フレーム挿入」を選択すると、選択された時間幅がある場合はその時間分のフレームがカレント時刻に、フレーム分だけ挿入される。このフレーム挿入操作の結果として、挿入フレーム時間だけアクションの全体時間が伸びることになる。
【０１９２】
サブメニュー「指定フレーム数挿入」を選択すると、数値入力のダイアログが出現して、該ダイアログ上で入力された数値分のフレームを挿入する。入力する数値の単位は時間指定とする。この指定フレーム数の挿入操作を行う結果として、指定フレーム時間だけアクションの全体時間が延びることになる。
【０１９３】
サブメニュー「フレーム削除」を選択すると、選択された時間幅がある場合はその時間分のフレームを、カレント時刻から削除する。この際、編集領域内で左にあったフレームを詰める。このフレーム削除操作の結果として、削除フレーム時間だけアクションの全体時間が縮むことになる。
【０１９４】
サブメニュー「指定フレーム削除」を選択すると、数値入力のダイアログが出現して、該ダイアログ上で入力された数値分のフレームを削除する。入力する数値の単位は時間指定とする。この際、編集領域内で左にあったフレームを詰める。この指定フレーム削除操作の結果として、指定フレーム時間だけアクションの全体時間が縮むことになる。
【０１９５】
また、メニュー「素材」を選択すると、さらに「モーションの読み込み」、「モーションの書き出し」、「サウンドの読み込み」、「サウンドの書き出し」、「ＬＥＤの読み込み」、並びに「ＬＥＤの書き出し」という各サブ・メニューからなるプルダウン・メニューが出現する（図１２を参照のこと）。
【０１９６】
サブメニュー「モーションの読み込み」を選択すると、モーション・ファイルを指定した格納場所（例えばローカル・ディスク）から読み込んで、編集領域内のモーション・チャンネル（後述）上のカレント時刻に挿入する。この読み込み処理の際、モーション・ファイルに含まれるキーフレームはそのままキーフレームとなる。
【０１９７】
サブメニュー「モーションの書き出し」を選択すると、選択された時間幅のモーションを、モーション・ファイルとして指定した格納場所（例えばローカル・ディスク）に保存する。
【０１９８】
サブメニュー「サウンドの読み込み」を選択すると、サウンド・ファイルを指定した格納場所（例えばローカル・ディスク）から読み込んで、編集領域内のサウンド・チャンネル（後述）上のカレント時刻に挿入する。
【０１９９】
サブメニュー「サウンドの書き出し」を選択すると、選択された時間幅のサウンドを、例えばＭＩＤＩ形式のサウンド・ファイルとして指定した格納場所（例えばローカル・ディスク）に保存する。
【０２００】
サブメニュー「ＬＥＤの読み込み」を選択すると、ＬＥＤ動作ファイルを指定した格納場所（例えばローカル・ディスク）から読み込んで、編集領域内のＬＥＤチャンネル（後述）上のカレント時刻に挿入する。
【０２０１】
サブメニュー「ＬＥＤの書き出し」を選択すると、選択された時間幅のＬＥＤ動作を、例えばＭＩＤＩ形式のＬＥＤファイルとして指定した格納場所（例えばローカル・ディスク）に保存する。
【０２０２】
また、メニュー「ヘルプ」には、トピックやサポート・ウェブ、バージョン情報などのサブメニューが含まれている。
【０２０３】
再び図９に戻って、アクション編集ウィンドウの編集領域について説明する。図示の通り、アクション編集ウィンドウの編集領域は、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルである。タイムライン・テーブル内には、時間ルーラと、キーフレーム・チャンネルと、モーション・チャンネルと、サウンド・チャンネルと、ＬＥＤ動作チャンネルで構成される。
【０２０４】
時間ルーラは、単位切り替えラジオ・ボタンを利用して、実時間表示とのフレーム数表示とを切り替えることができる（図９に示す例では実時間表示が選択されている）。実時間表示の目盛の単位は、秒：ミリ秒（各２桁）表示とする。実時間表示における実時間と時間ルーラの表示との関係を以下に例示しておく。
【０２０５】
【数１】
００：００  ＝  ０秒
０５：２３  ＝  ５秒２３
１３：８７  ＝  １３秒８７
【０２０６】
また、フレーム数表示の時間ルーラの目盛の単位は、フレーム数を４桁で表示する。最大の９９９９フレームは約１６０秒となる。
【０２０７】
実時間表示時（但し、単位をsecとする）、並びにフレーム数表示時（但し、単位をfとする）の各々の場合における画面上でのフレームの幅設定は、以下の通りとする。
【０２０８】
【表１】
0004765155.tif 000002
【０２０９】
【表２】
0004765155.tif 000003
【０２１０】
但し、ここで言う表示可能秒数とは、ＳＶＧＡ（Super Video Graphic Array）対応ディスプレイの最大化ウィンドウ時に表示可能なおよその秒数のことである。また、時間軸のスクロール（水平スクロール・バーの操作）によって時間ルーラは適切にスクロールする。
【０２１１】
時間ルーラは、単位切り替えラジオ・ボタンの他に、終了時刻フィールドとカレント時刻表示フィールドを含んでいる。
【０２１２】
終了時刻フィールドには、編集中のアクションの終了時刻（すなわち動作時間）を示す時刻数値が表示される（図示の例では"09:40"（＝９秒４０）が表示されている）。また、カレント時刻表示フィールドには、カレント位置の時刻数値が表示される（図示の例では"04:60"（＝４秒６０）が表示されている）。これらのフィールドは編集可能なテキスト・フィールドであり、意味のある時刻数字が入力されると、それが終了時刻になって最終キーフレームが移動したり、あるいはその位置にカレント時刻が移動する。
【０２１３】
また、時間ルーラ上では、初期ポーズを指定するための「初期ポーズ指定ポップアップ・メニュー」、最終ポーズを指定するための「最終ポーズ指定ポップアップ・メニュー」、時間ルーラの間隔を変更するための「時間幅変更ポップアップ・メニュー」（いずれも図示しない）を呼び出すことができる。
【０２１４】
編集領域内では、時刻表示ラインとして、「キーフレーム・ライン」と、「最終時刻表示ライン」と、「カレント時刻ライン」がそれぞれ表示される。
【０２１５】
各キーフレーム（後述）の時刻を示すキーフレーム・ラインが、各チャンネル上を交差する形で表示されるようにしている。したがって、ユーザは、モーション、サウンドとＬＥＤ動作の間での同期を目視で確認しながら編集作業を行うことができる。
【０２１６】
また、編集中のアクションの終了時刻を示す終了時刻ラインが各チャンネル上を交差する形で表示するようにしているので、ユーザは編集対象となる時間の範囲を視覚的に理解することができる。終了時刻ラインを最終ポーズ・キーフレーム・ラインととらえることもできる。
【０２１７】
また、現在時刻を示すカレント時刻ラインが各チャンネル上を交差する形で表示するようにしている。基本的に、いずれかのチャンネルの上をクリックすると、その位置にカレント時刻が移動する。
【０２１８】
編集領域内でプレビュー・ウィンドウ（図示しない）が開いている場合、常にカレント時刻における移動ロボット１の３次元イメージが表示されるようになっている。このような３次元イメージは、カレント時刻に相当する補間フレームをオーサリング・システム１が自動生成して、そのときの各関節アクチュエータの動作などに基づいて座標変換などの画像処理を行うことによって得られる。
【０２１９】
キーフレーム・チャンネルは、時間ルーラが規定する時間軸に従ってキーフレームを表示するための領域である。
【０２２０】
本実施例では、キーフレーム・チャンネルは、開閉操作可能である。図１３には、キーフレーム・チャンネルを開いた状態（キーフレーム詳細チャンネル）のアクション編集ウィンドウを示している。キーフレーム・チャンネルでは、時間軸上の該当する各場所にキーフレームを表すサムネイルが置かれる。ここで言う「キーフレーム」とは、モーションを実行する移動ロボットの該当する時刻におけるポーズを描写した画像フレームのことである。
【０２２１】
初期ポーズと最終ポーズは、それぞれキーフレーム・チャンネルの初めと終わりに位置する特別なキーフレームである。最初と最後のキーフレームはあらかじめ置かれている。
【０２２２】
キーフレーム・チャンネル上で、キーフレームが配置されていない時間では、この時間を挟む両端のキーフレームによって補間されるフレーム（以下では、「補間フレーム」とも言う）が再生されることになる。補間フレームはキーフレーム上では表示されない。本実施例に係るオーサリング・システムでは、キーフレーム・チャンネル上に各キーフレームを配置すると、各キーフレームで記述されたポーズを円滑につなぎ合わせるようなモーションが、コンピュータ処理により自動生成される。また、３Ｄモデルの重心を各キーフレームで設定して、３Ｄモデルの見た目上の動きを実機に近いものにすることができる。
【０２２３】
各キーフレームは、サムネイルの左端がキーフレームの時刻となるように、キーフレーム・チャンネル上に配置される。また、サムネイルを時間軸に沿って左右にドラッグすることで、キーフレームラインが追従して移動し、該当するキーフレームの時刻を変更することができる。また、最終ポーズのキーフレームの伸縮は、アクションの全体時間の伸縮となる。
【０２２４】
サムネイルをダブル・クリックすると、該当するポーズのポーズ編集ウィンドウが開いて、ポーズを編集することができる。但し、初期ポーズと最終ポーズは編集対象外であり、これらをダブルクリックしてもポーズ編集ウィンドウは開かない。ポーズ編集ウィンドウの詳細については後に詳解する。
【０２２５】
モーション・チャンネルは、時間ルーラが規定する時間軸に沿ってモーションの内容を編集・表示するための領域である。
【０２２６】
本実施例では、モーション・チャンネルは、開閉操作可能である。図１４には、モーション・チャンネルを開いた状態（モーション詳細チャンネル）のアクション編集ウィンドウを示している。モーションは、移動ロボット１を構成する各関節アクチュエータの動作によって定義される。モーション・チャンネルでは、各関節アクチュエータの時系列的な動作を記述する各タイミングチャートが、生体モデルに従ってツリー状にリストアップ（ツリー・ビュー）される。
【０２２７】
それぞれのタイミングチャート上の折れ線グラフは、該当する関節アクチュエータの動きすなわち回転角度の時間的変化を示している。
【０２２８】
キーフレーム・ラインと折れ線との交差するポイントを上下にドラッグすることによって、該当する関節アクチュエータの当該時間における設定値を帰ることができる。また、このようなドラッグ操作の結果、キーフレーム・ラインに該当するポーズも変化し、キーフレームの内容も自動更新される。
【０２２９】
モーション詳細チャンネル上では、各関節アクチュエータの動きをタイミングチャートの形式で視覚的に把握することができる。また、折れ線に対して直接ドラッグ・アンド・ドロップ操作を適用することができる。また、ある関節アクチュエータに関する折れ線を他の関節アクチュエータへコピー操作することも可能である。したがって、モーション・ファイルの編集作業を直感的に行える上に、編集作業が大幅に省力化される。また、コピー操作により、左右対称な動作などの規則的な動作を簡単に編集することができる。また、同種のモーションであっても、移動ロボット１のモデルの相違（すなわち、ＣＰＣコンポーネントの組み合わせからなるハードウェア構成情報の相違）によりモーション・データが相違することがある。このような場合、モデル毎の固有データに基づいてデータ変換を適用して、異なるモデル用のデータとして再利用するようにしてもよい。
【０２３０】
モーション詳細チャンネルとそのツリー・ビューは、水平方向スクロール・バー並びに垂直方向スクロール・バーの操作に合わせて横方向並びに縦方向にスクロールする。
【０２３１】
サウンド・チャンネルは、時間ルーラが規定する時間軸に沿ってサウンド・データを表示するための領域である。本実施例では、アクション編集ウィンドウからは独立した「サウンド詳細ウィンドウ」を開いて、該ウィンドウ上でＭＩＤＩ形式のサウンド・データをＧＵＩ操作によって編集することができる。但し、サウンド詳細ウィンドウに関しては後に説明する。
【０２３２】
サウンド・チャンネルには、サウンドＯＮ／ＯＦＦチェック・ボックスが配設されている。該チェック・ボックスにチェックを入れることにより、再生時にサウンドを鳴らすことができる。
【０２３３】
ＬＥＤ動作チャンネルは、時間ルーラが規定する時間軸に沿ってＬＥＤ動作データを表示するための領域である。本実施例では、アクション編集ウィンドウからは独立した「ＬＥＤ詳細ウィンドウ」を開いて、該ウィンドウ上でＭＩＤＩ形式のＬＥＤ動作データをＧＵＩ操作で編集することができる。ＬＥＤ詳細ウィンドウに関しては後に説明する。
【０２３４】
ＬＥＤ動作チャンネルには、サウンドＯＮ／ＯＦＦチェック・ボックスが配設されている。該チェック・ボックスにチェックを入れることにより、再生時にＬＥＤ動作を付勢することができる。
【０２３５】
アクション編集ウィンドウは、プロジェクト・ウィンドウ（図６を参照のこと）からのドラッグ・アンド・ドロップ操作を受容することができる。すなわち、プロジェクト・ウィンドウからモーション・ファイル、サウンド・ファイル、ＬＥＤファイルなど、アクションの構成要素となる各ファイルを直接ドラッグ・アンド・ドロップして、アクション・ウィンドウに簡易に登録することができる。
【０２３６】
また、アクション編集ウィンドウは、ＭＳ  Ｗｉｎｄｏｗｓエクスプローラからのドラッグ・アンド・ドロップ操作も受容することができる。すなわち、該エクスプローラ・ウィンドウからモーション・ファイル、サウンド・ファイル、ＬＥＤファイルなど、アクションの構成要素となる各ファイルを直接ドラッグ・アンド・ドロップして、アクション・ウィンドウに簡易に登録することができる。アクション・ウィンドウに登録されたファイルは、プロジェクト・ウィンドウにも同時に登録される。
【０２３７】
図１５には、ＭＩＤＩ形式のサウンド・ファイルを編集するためのサウンド詳細ウィンドウの構成を概略的に示している。図示の通り、このサウンド詳細ウィンドウは、タイトル・バーと、メニュー・バーと、ＧＵＩ操作によりＭＩＤＩ形式サウンド・ファイルの編集作業を行う編集領域とで構成される。
【０２３８】
メニュー・バーには「ファイル」、「編集」、「設定」、「ヘルプ」という各メニューが用意されている。
【０２３９】
メニュー「ファイル」を選択すると、さらに「新規サウンド」、「サウンドを開く」、「サウンド保存」、「サウンド新規保存」、並びに「閉じる」という各サブ・メニューからなるプルダウン・メニューが出現する（図１６を参照のこと）。
【０２４０】
サブメニュー「新規サウンド」を選択すると、新規のＭＩＤＩサウンドを生成する。既に未保存のＭＩＤＩサウンドが開かれている場合、そのＭＩＤＩサウンドを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する。
【０２４１】
サブメニュー「サウンドを開く」を選択すると、既存のＭＩＤＩサウンド・ファイルを開く。既に未保存のＭＩＤＩサウンドが開かれている場合、そのＭＩＤＩサウンドを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する（同上）。
【０２４２】
サブメニュー「サウンド保存」を選択すると、該当するＭＩＤＩサウンド・ファイルを上書き保存する。未保存ファイルの場合、サウンド新規保存（後述）と同様、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０２４３】
サブメニュー「サウンド新規保存」を選択すると、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０２４４】
サブメニュー「閉じる」を選択すると、このサウンド詳細ウィンドウを閉じる。該ウィンドウ内のサウンド・ファイルが未保存の場合には、ダイアログが出現して、これを保存するかどうかの確認をユーザにプロンプトする。
【０２４５】
メニュー「編集」を選択すると、さらに「元に戻す」、「切り取り」、「コピー」、「上書き貼り付け」、「挿入貼り付け」、並びに「削除」という各サブ・メニューからなるプルダウン・メニューが出現する（図１７を参照のこと）。
【０２４６】
サブメニュー「元に戻す」を選択すると、直近の操作から順にアンドゥー処理が行われる。
【０２４７】
サブメニュー「切り取り」を選択すると、選択された時間幅がある場合はその範囲でのサウンドがカットされる。カットされたデータは、実際にはクリップボード内に一時的に保管される。カット処理により、フレーム自体はなくならず、フレームの内容に関する情報がなくなる。
【０２４８】
サブメニュー「コピー」を選択すると、選択された時間幅がある場合は、その範囲でのサウンドがコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０２４９】
サブメニュー「上書き貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻にペーストされる。
【０２５０】
サブメニュー「挿入貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻に挿入ペーストされる。
【０２５１】
サブメニュー「削除」を選択すると、選択された時間幅がある場合はその範囲でのサウンドが削除される。フレーム自体はなくならず、フレームの内容の情報がなくなる。
【０２５２】
メニュー「設定」を選択すると、さらに「四部音符の長さ」、並びに「拍子」という各サブ・メニューからなるプルダウン・メニューが出現する（図１８を参照のこと）。
【０２５３】
サブメニュー「四分音符の長さ」は、さらにサブメニュー（図示しない）を持ち、四分音符の１分間でのみ刻み数を入れることができる。ここで設定された長さが、スコア上に時間軸方向のグリッドとして表示される。
【０２５４】
サブメニュー「拍子」は、さらにリズムを指定するサブメニュー（図示しない）を持つ。ここで設定された値により、スコア上の時間軸グリッドに、拍子を決める線が描かれる。
【０２５５】
また、メニュー「ヘルプ」には、トピックやサポート・ウェブ、バージョン情報などのサブメニューが含まれている。
【０２５６】
再び図１５に戻って、ＭＩＤＩサウンド用のサウンド詳細ウィンドウの編集領域について説明する。該編集領域は、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルである。タイムライン・テーブル内は、時間ルーラと、キーフレーム・チャンネルと、スコア・チャンネルと、ベロシティ・チャンネルとで構成される。
【０２５７】
時間ルーラは、単位切り替えラジオ・ボタンを利用して、実時間表示とのフレーム数表示とを切り替えることができる（図１５に示す例では実時間表示が選択されている）。実時間表示の目盛の単位は、秒：ミリ秒（各２桁）表示とする。実時間表示における実時間と時間ルーラの表示との関係については、前述の［数１］を参照されたい。また、フレーム数表示の時間ルーラの目盛の単位は、フレーム数を４桁で表示する。最大の９９９９フレームは約１６０秒となる。
【０２５８】
実時間表示時（但し、単位をsecとする）、並びにフレーム数表示時（但し、単位をfとする）の各々の場合における画面上でのフレームの幅設定に関しては、前述の［表１］並びに［表２］を参照されたい。
【０２５９】
時間ルーラには、単位切り替えラジオ・ボタンの他に、終了時刻フィールドとカレント時刻表示フィールドを含んでいる。終了時刻フィールドには、編集中のアクションの終了時刻（すなわち動作時間）を示す時刻数値が表示される（図示の例では"09:40"（＝９秒４０）が表示されている）。また、カレント時刻表示フィールドには、カレント位置の時刻数値が表示される（図示の例では"04:60"（＝４秒６０）が表示されている）。これらのフィールドは編集可能なテキスト・フィールドであり、意味のある時刻数字が入力されると、それが終了時刻になって最終キーフレームが移動したり、あるいはその位置にカレント時刻が移動する。
【０２６０】
また、時間ルーラ上では、時間ルーラの間隔を変更するための「時間幅変更ポップアップ・メニュー」（図示しない）を呼び出すことができる。
【０２６１】
編集領域内では、時刻表示ラインとして、「キーフレーム・ライン」と、「最終時刻表示ライン」と、「カレント時刻ライン」がそれぞれ表示される。各キーフレーム（後述）の時刻を示すキーフレーム・ラインが、各チャンネル上を交差する形で表示されており、ユーザは、キーフレームとの同期を目視で確認しながらＭＩＤＩサウンドの編集作業を行うことができる。また、編集中のアクションの終了時刻を示す終了時刻ラインが各チャンネル上を交差する形で表示するようにしているので、ユーザは編集対象となる時間の範囲を視覚的に理解することができる。また、現在時刻を示すカレント時刻ラインが各チャンネル上を交差する形で表示するようにしている。基本的に、いずれかのチャンネルの上をクリックすると、その位置にカレント時刻が移動する。
【０２６２】
キーフレーム・チャンネルでは、時間ルーラが規定する時間軸に沿ってアクション編集ウィンドウから取得したキーフレーム位置を表示される。但し、前述のアクション編集ウィンドウの場合（図１３を参照のこと）とは相違し、サウンド詳細ウィンドウ内ではキーフレーム・チャンネルを開閉することはできない。
【０２６３】
スコア・チャンネルは、ＧＵＩ操作によってＭＩＤＩサウンドを編集するための領域であり、ピアノ鍵盤（但し、移動ロボット１のモデルによってその有効音域は相違する）と、時間軸方向の基本グリッドによって構成される。
【０２６４】
ピアノ鍵盤では、ピアノ鍵盤のイメージ表示により移動ロボット１のハードウェア仕様などで許容される最大音域を表示するようになっている（あるいは、再生可能な音域を明るく表示し、それ以外をグレー表示するようにしてもよい）。基本となるＣキー部分には、Ｃ３、Ｃ４などの絶対音の高さを表示する
【０２６５】
スコア部分には、設定された四分音符の時間幅のグリッドが表示される。また、拍子で設定された値（前述）によって、２グリッド（すなわち２拍子）、３グリッド（３拍子）、４グリッド（４拍子）のラインが強調される。
【０２６６】
スコア・チャンネル上には、時間軸の基準となる音長と、ピアノ・キーの高さによってスコアが構成される。１つの桝目を「セル」と呼ぶ。音のあるセルには色が付く。但し、一音のみの再生モデルの場合、同じ時間軸上の異なる音階には音は置けない。
【０２６７】
また、空の（すなわち色が付いていない）セルをクリックすると、選択されている音符マークの長さの音が置かれる。同一時間上の他の高さに音が存在するとき、音はクリックされた高さに置き換わる。既に音が存在するセルがクリックされると、その音が除かれる。
【０２６８】
ピアノ鍵盤の左側の領域に、１６分音符、八分音符、四分音符、二分音符、全音符、付点八分音符、付点四分音符、付点二分音符などの音符マークを表示しておく。これら音符マークは互いに排他的な選択状態を持ち、常にいずれか１つのみが選択されるものとする。また、マウス・クリック操作により選択アイテムが変化する。
【０２６９】
ベロシティ・チャンネルは、各音毎のベロシティの強さを表示する領域である。図１５に示す例では、音の強さは棒グラフで表示されるが、折れ線グラフで表示してもよい。各節点での音の強さは、棒グラフの最上端をドラッグすることによった調整することができる。デフォルトでは最大音量が設定されている。
【０２７０】
この他、サウンド詳細チャンネルには、編集されたサウンドの再生動作を指示する「再生ボタン」を用意しておいもよい。
【０２７１】
また、図１９には、ＷＡＶＥ形式のサウンド・ファイルを表示するためのサウンド詳細ウィンドウの構成を概略的に示している。図示の通り、サウンド詳細ウィンドウは、タイトル・バーと、メニュー・バーと、ＷＡＶＥ形式サウンド・ファイルを編集する編集領域とで構成される。
【０２７２】
メニュー・バーには「ファイル」、「編集」、「ヘルプ」という各メニューが用意されている。
【０２７３】
メニュー「ファイル」を選択すると、さらに「サウンドを開く」、「サウンド保存」、「サウンド新規保存」、並びに「閉じる」という各サブ・メニューからなるプルダウン・メニューが出現する（図２０を参照のこと）。
【０２７４】
サブメニュー「サウンドを開く」を選択すると、既存のＷＡＶＥサウンド・ファイルを開く。既に未保存のＷＡＶＥサウンドが開かれている場合、そのＷＡＶＥサウンドを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する。
【０２７５】
サブメニュー「サウンド保存」を選択すると、該当するＷＡＶＥサウンド・ファイルを上書き保存する。また、サブメニュー「サウンド新規保存」を選択すると、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０２７６】
サブメニュー「閉じる」を選択すると、このサウンド詳細ウィンドウを閉じる。該ウィンドウ内のサウンド・ファイルが未保存の場合には、ダイアログが出現して、これを保存するかどうかの確認をユーザにプロンプトする。
【０２７７】
メニュー「編集」を選択すると、さらに「元に戻す」、「切り取り」、「コピー」、「上書き貼り付け」、「挿入貼り付け」、並びに「削除」という各サブ・メニューからなるプルダウン・メニューが出現する（図２１を参照のこと）。
【０２７８】
サブメニュー「元に戻す」を選択すると、直近の操作から順にアンドゥー処理が行われる。
【０２７９】
サブメニュー「切り取り」を選択すると、選択された時間幅がある場合はその範囲でのサウンドがカットされる。カットされたデータは、実際にはクリップボード内に一時的に保管される。カット処理により、フレーム自体がなくなり、後ろが詰まる。
【０２８０】
サブメニュー「コピー」を選択すると、選択された時間幅がある場合は、その範囲でのサウンドがコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０２８１】
サブメニュー「上書き貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻にペーストされる。
【０２８２】
サブメニュー「挿入貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻に挿入ペーストされる。
【０２８３】
サブメニュー「削除」を選択すると、選択された時間幅がある場合はその範囲でのサウンドが削除される。フレーム自体はなくならず、その分が無音の状態になる。
【０２８４】
また、メニュー「ヘルプ」には、トピックやサポート・ウェブ、バージョン情報などのサブメニューが含まれている。
【０２８５】
ＷＡＶＥサウンド用のサウンド詳細ウィンドウの編集領域は、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルである。タイムライン・テーブル内は、時間ルーラと、キーフレーム・チャンネルと、ＷＡＶＥチャンネルとで構成される。
【０２８６】
時間ルーラは、単位切り替えラジオ・ボタンを利用して、実時間表示とのフレーム数表示とを切り替えることができる（図１５に示す例では実時間表示が選択されている）。実時間表示の目盛の単位は、秒：ミリ秒（各２桁）表示とする。実時間表示における実時間と時間ルーラの表示との関係については、前述の［数１］を参照されたい。また、フレーム数表示の時間ルーラの目盛の単位は、フレーム数を４桁で表示する。最大の９９９９フレームは約１６０秒となる。
【０２８７】
実時間表示時（但し、単位をsecとする）、並びにフレーム数表示時（但し、単位をfとする）の各々の場合における画面上でのフレームの幅設定に関しては、前述の［表１］並びに［表２］を参照されたい。
【０２８８】
時間ルーラは、単位切り替えラジオ・ボタンの他に、終了時刻フィールドとカレント時刻表示フィールドを含んでいる。
【０２８９】
終了時刻フィールドには、編集中のアクションの終了時刻（すなわち動作時間）を示す時刻数値が表示される（図示の例では"09:40"（＝９秒４０）が表示されている）。また、カレント時刻表示フィールドには、カレント位置の時刻数値が表示される（図示の例では"04:60"（＝４秒６０）が表示されている）。これらのフィールドは編集可能なテキスト・フィールドであり、意味のある時刻数字が入力されるとそれが終了時刻になって最終キーフレームが移動したり、あるいはその位置にカレント時刻が移動する。
【０２９０】
また、時間ルーラ上では、時間ルーラの間隔を変更するための「時間幅変更ポップアップ・メニュー」（図示しない）を呼び出すことができる。
【０２９１】
編集領域内では、時刻表示ラインとして、「キーフレーム・ライン」と、「最終時刻表示ライン」と、「カレント時刻ライン」がそれぞれ表示される。
【０２９２】
各キーフレーム（後述）の時刻を示すキーフレーム・ラインが、各チャンネル上を交差する形で表示されており、ユーザは、キーフレームとの同期を目視で確認しながらＷＡＶＥサウンドの編集作業を行うことができる。また、編集中のアクションの終了時刻を示す終了時刻ラインが各チャンネル上を交差する形で表示するようにしているので、ユーザは編集対象となる時間の範囲を視覚的に理解することができる。また、現在時刻を示すカレント時刻ラインが各チャンネル上を交差する形で表示するようにしている。基本的に、いずれかのチャンネルの上をクリックすると、その位置にカレント時刻が移動する。
【０２９３】
キーフレーム・チャンネルでは、時間ルーラが規定する時間軸に沿ってアクション編集ウィンドウから取得したキーフレーム位置を表示される。但し、前述のアクション編集ウィンドウの場合（図１３を参照のこと）とは相違し、サウンド詳細ウィンドウ内ではキーフレーム・チャンネルを開閉することはできない。
【０２９４】
ＷＡＶＥチャンネルでは、図１９に示すように、ＷＡＶＥ形式のサウンド・ファイルの中身が波形として表示される。但し、ＭＩＤＩ形式用のスコア・チャンネル（前述）とは相違し、ＷＡＶＥチャンネル上では、基本的な切り貼り操作しか許容されていない。
【０２９５】
この他、サウンド詳細チャンネルには、編集されたサウンドの再生動作を指示する「再生ボタン」を用意しておいもよい。
【０２９６】
また、図２２には、ＭＩＤＩ形式で記述されたＬＥＤ動作ファイルを表示して編集するためのＬＥＤ詳細ウィンドウの構成を概略的に示している。図示の通り、サウンド詳細ウィンドウは、タイトル・バーと、メニュー・バーと、ＷＡＶＥ形式ＬＥＤ動作ファイルを編集する編集領域とで構成される。
【０２９７】
メニュー・バーには「ファイル」、「編集」、「ヘルプ」という各メニューが用意されている。
【０２９８】
メニュー「ファイル」を選択すると、さらに「新規LED動作」、「ＬＥＤ動作を開く」、「ＬＥＤ動作保存」、「ＬＥＤ動作新規保存」、並びに「閉じる」という各サブ・メニューからなるプルダウン・メニューが出現する（図２３を参照のこと）。
【０２９９】
サブメニュー「新規ＬＥＤ動作」を選択すると、新規のＬＥＤ動作を生成する。既に未保存のＬＥＤ動作が開かれている場合、そのＬＥＤ動作を保存するかどうかの確認をユーザにプロンプトするダイアログが出現する。
【０３００】
サブメニュー「ＬＥＤ動作を開く」を選択すると、既存のＬＥＤ動作・ファイルを開く。既に未保存のＬＥＤ動作が開かれている場合、そのＭＩＤＩサウンドを保存するかどうかの確認をユーザにプロンプトするダイアログが出現する（同上）。
【０３０１】
サブメニュー「ＬＥＤ動作保存」を選択すると、該当するＬＥＤ動作ファイルを上書き保存する。未保存ファイルの場合、ＬＥＤ動作新規保存（後述）と同様、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０３０２】
サブメニュー「ＬＥＤ動作新規保存」を選択すると、ファイル設定ダイアログが出現して、ファイル名の入力をユーザにプロンプトする。
【０３０３】
サブメニュー「閉じる」を選択すると、このＬＥＤ動作詳細ウィンドウを閉じる。該ウィンドウ内のＬＥＤ動作ファイルが未保存の場合には、ダイアログが出現して、これを保存するかどうかの確認をユーザにプロンプトする。
【０３０４】
メニュー「編集」を選択すると、さらに「元に戻す」、「切り取り」、「コピー」、「上書き貼り付け」、「挿入貼り付け」、並びに「削除」という各サブ・メニューからなるプルダウン・メニューが出現する（図１７を参照のこと）。
【０３０５】
サブメニュー「元に戻す」を選択すると、直近の操作から順にアンドゥー処理が行われる。
【０３０６】
サブメニュー「切り取り」を選択すると、選択された時間幅がある場合はその範囲でのＬＥＤ動作がカットされる。カットされたデータは、実際にはクリップボード内に一時的に保管される。カット処理により、フレーム自体はなくならず、フレームの内容に関する情報がなくなる。
【０３０７】
サブメニュー「コピー」を選択すると、選択された時間幅がある場合は、その範囲でのＬＥＤ動作がコピーされる。コピーされたデータは、実際にはクリップボード内に一時的に保管される。
【０３０８】
サブメニュー「上書き貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻にペーストされる。
【０３０９】
サブメニュー「挿入貼り付け」を選択すると、クリップボードに保管されている内容がカレント時刻に挿入ペーストされる。
【０３１０】
サブメニュー「削除」を選択すると、選択された時間幅がある場合はその範囲でのＬＥＤ動作が削除される。フレーム自体はなくならず、フレームの内容の情報がなくなる。
【０３１１】
また、メニュー「ヘルプ」には、トピックやサポート・ウェブ、バージョン情報などのサブメニューが含まれている。
【０３１２】
再び図２２に戻って、ＬＥＤ詳細ウィンドウの編集領域について説明する。該編集領域は、横方向の時間軸と、縦方向のチャンネルで構成される２次元のタイムライン形式のテーブルである。タイムライン・テーブル内は、時間ルーラと、キーフレーム・チャンネルと、スコア・チャンネルとで構成される。
【０３１３】
時間ルーラは、単位切り替えラジオ・ボタンを利用して、実時間表示とのフレーム数表示とを切り替えることができる（図２２に示す例では実時間表示が選択されている）。実時間表示の目盛の単位は、秒：ミリ秒（各２桁）表示とする。実時間表示における実時間と時間ルーラの表示との関係については、前述の［数１］を参照されたい。また、フレーム数表示の時間ルーラの目盛の単位は、フレーム数を４桁で表示する。最大の９９９９フレームは約１６０秒となる。
【０３１４】
実時間表示時（但し、単位をsecとする）、並びにフレーム数表示時（但し、単位をfとする）の各々の場合における画面上でのフレームの幅設定に関しては、前述の［表１］並びに［表２］を参照されたい。
【０３１５】
時間ルーラは、単位切り替えラジオ・ボタンの他に、終了時刻フィールドとカレント時刻表示フィールドを含んでいる。終了時刻フィールドには、編集中のアクションの終了時刻（すなわち動作時間）を示す時刻数値が表示される（図示の例では"09:40"（＝９秒４０）が表示されている）。また、カレント時刻表示フィールドには、カレント位置の時刻数値が表示される（図示の例では"04:60"（＝４秒６０）が表示されている）。これらのフィールドは編集可能なテキスト・フィールドであり、意味のある時刻数字が入力されると、それが終了時刻になって最終キーフレームが移動したり、あるいはその位置にカレント時刻が移動する。
【０３１６】
また、時間ルーラ上では、時間ルーラの間隔を変更するための「時間幅変更ポップアップ・メニュー」（図示しない）を呼び出すことができる。
【０３１７】
編集領域内では、時刻表示ラインとして、「キーフレーム・ライン」と、「最終時刻表示ライン」と、「カレント時刻ライン」がそれぞれ表示される。各キーフレーム（後述）の時刻を示すキーフレーム・ラインが、各チャンネル上を交差する形で表示されており、ユーザは、キーフレームとの同期を目視で確認しながらＭＩＤＩ形式で記述されたＬＥＤ動作の編集作業を行うことができる。また、編集中のアクションの終了時刻を示す終了時刻ラインが各チャンネル上を交差する形で表示するようにしているので、ユーザは編集対象となる時間の範囲を視覚的に理解することができる。また、現在時刻を示すカレント時刻ラインが各チャンネル上を交差する形で表示するようにしている。基本的に、いずれかのチャンネルの上をクリックすると、その位置にカレント時刻が移動する。
【０３１８】
キーフレーム・チャンネルでは、時間ルーラが規定する時間軸に沿ってアクション編集ウィンドウから取得したキーフレーム位置を表示する。但し、前述のアクション編集ウィンドウの場合（図１３を参照のこと）とは相違し、ＬＥＤ詳細ウィンドウ内ではキーフレーム・チャンネルを開閉することはできない。
【０３１９】
スコア・チャンネルは、ＧＵＩ操作によってＭＩＤＩ形式で記述されるＬＥＤ動作を編集するための領域であり、移動ロボット１本体上でＬＥＤを配置した部位のリストと、時間軸方向の基本グリッドによって構成される。本実施例では、でこ（でこぴん）と、右目αと、左目αと、右目βと、左目βと、右目γと、左目γと、しっぽαと、しっぽβの各部位にＬＥＤが配置されている。
【０３２０】
スコア・チャンネル上には、時間軸上に各部位のＬＥＤの点灯状況を表示することによって各部位リスト毎のスコアが構成される。１つの桝目を「セル」と呼ぶ。時間軸上でＬＥＤが点灯する部位に相当する位置のセルには、その色や点灯強度に応じた色が付く。ＭＩＤＩサウンドを編集するスコア・チャンネル（前述及び図１５を参照のこと）とは相違し、各部位のＬＥＤは独立して発光／消灯することができる。
【０３２１】
スコア・チャンネルの左横には、ＬＥＤ部位ビジュアルが表示されている。これは、変更可能なＬＥＤの各部位をグラフィック表現したものである。
【０３２２】
また、ＬＥＤ部位ビジュアルの下方にはベロシティ・マークが表示されている。ベロシティ・マークは、上昇、最高位キープ、下降などの種類を表示したマークである。これらのマークは、互いに排他的な選択状態を持ち、常にどれか１つが選ばれているものとする。また、マウス・クリックによって、選択アイテムが変化する。
【０３２３】
本実施例に係るオーサリング・システムは、上述のアクション編集ウィンドウ上で編集したアクションの内容を視覚的に確認するために、プレビュー・ウィンドウを用意している。
【０３２４】
図２５には、プレビュー・ウィンドウの構成を概略的に示している。同図に示すように、プレビュー・ウィンドウは、「３Ｄビュー」と、「３Ｄ表示切り替えボタン群」と、「カレント時刻フィールド」と、「再生ボタン群」とで構成される。
【０３２５】
３Ｄビューには、コンピュータ・グラフィックス処理により生成された３次元移動ロボット１の映像が常に表示される。このビュー上でドラッグすることにより、視線方向を移動させて、ビューの見え方を変えることができる。また、図示しないが、２以上の視点から３Ｄモデルを同時にプレビューできるように構成してもよい。また、ビューの動きは、３Ｄ表示切り替えボタン群上でのユーザ入力操作と連動する。また、モーションの３Ｄ表示を作成処理する際に、３Ｄモデルにより各部位どうしの衝突（collision）や各関節の駆動速度のチェック機能を備えている。また、３Ｄモデルの重心を各キーフレームで設定して、３Ｄモデルの見た目上の動きを実機に近いものにすることができる。
【０３２６】
また、３Ｄビューの右側には、ＬＥＤ動作を表示するためのＬＥＤ動作プレビュー領域が配設されている。このプレビュー領域では、上述した３Ｄビュー上の移動ロボット１の動きと同期させて、移動ロボット１のＬＥＤが点滅する様子を表示するようになっている。
【０３２７】
３Ｄ表示切り替えボタン群には、「回転」、「ズームイン／アウト」、「パン」、「ホーム位置」という各ボタンが配設されている。ユーザは、これらのボタンをクリック操作することにより、３Ｄビュー内の視線方向を変更することができる。
【０３２８】
例えば、回転ボタンをクリックすると、回転モードになり、以降３Ｄビューをドラッグすると、３Ｄビュー内の移動ロボット１が回転する。
【０３２９】
また、ズームイン／アウト・ボタンをクリックすると、ズーム・モードになり、以降３Ｄビューを上下にドラッグすると、３Ｄビュー内の移動ロボット１がズームイン／アウトする。
【０３３０】
また、パン・ボタンをクリックすると、３Ｄビューはパン・モードになり、以降３Ｄビューを上下左右にドラッグすると３Ｄビューがパンすなわち高速移動する。
【０３３１】
また、ホーム位置ボタンをクリックすると、移動ロボット１の３次元表示がデフォルトのビューすなわちデフォルトの視線方向から見た状態に戻る。
【０３３２】
カレント時刻フィールドには、３Ｄビューに表示されている描画内容のカレント時刻が表示される（同図に示す例では、カレント時刻"０４：６０"が表示されている）。このフィールドに時刻として意味のある文字が入力されると、３Ｄビューの表示は該当する時刻のフレームに切り替わる。また、カレントの時刻位置を相対的にビジュアル表示するようになっている。
【０３３３】
再生ボタン群には、「フレームの巻き戻し」、「前のキーフレーム」、「プレイ／ストップ」、「フレームのコマ送り」、「フレーム送り」、「ループ再生」という各ボタンが配設されている。
【０３３４】
「フレームの巻き戻し」をクリックすると、３Ｄビューの表示が最初のフレームに戻る。「前のキーフレーム」をクリックすると、３Ｄビューの表示がカレント位置から直前のキーフレームに飛ぶ。また、「プレイ／ストップ」をクリックすると、３Ｄビュー表示の再生を開始又は停止する（プレイ中は、プレイ／ストップ・ボタンはストップとなり、ストップ中はプレイとして作用する）。また、「フレームのコマ送り」は、３Ｄビュー表示の再生中のみ有効であり、クリックされると１フレーム分がコマ送りされる。また、「フレーム送り」をクリックすると、３Ｄビューの表示が最後のフレームに進む。また、「ループ再生」をクリックすると、３Ｄビューの表示がループ再生される。
【０３３５】
また、本実施例に係るオーサリング・システムは、移動ロボット１の３次元的なポーズを、ドラッグを基調とするＧＵＩ操作により編集するためにポーズ・ウィンドウを用意している。
【０３３６】
ポーズ・ウィンドウ上で編集されるポーズは、例えば、モーションを構成するキーフレームとして利用することができる。例えば、キーフレーム・チャンネル上で所望のキーフレームをダブルクリックすることにより、このポーズ・ウィンドウを起動することができる。
【０３３７】
図２６には、ポーズ・ウィンドウの構成を概略的に示している。このポーズ・ウィンドウ上では、移動ロボット１を構成する各関節アクチュエータの回転角度をＧＵＩ操作により直接指示して、所望のポーズを簡易に指定することができる。ポーズ・ウィンドウは、実体表示領域と、リスト指定領域と、設定値領域と、３Ｄ表示領域と、３Ｄ表示切替ボタン群と、表示切り替えポップアップとで構成される。
【０３３８】
実体指定領域では、移動ロボット１の展開平面図を表示され編集可能部位をユーザに選択させる。選択された部位は、リスト指定の項目が選択されて、３Ｄ表示上で強調表示又はブリンクされ、設定値エリアの内容が切り替わる。
【０３３９】
リスト指定領域では、移動ロボット１の編集可能部位とその設定値がリストとして表示される。ユーザはこのリストの中から特定の部位を選択すると、実体指定領域では該当する部位が強調表示され、３Ｄ表示領域では強調表示又はブリンクされ、設定値領域の内容が切り替わる。
【０３４０】
設定値領域では、各編集可能部位の設定部位名称、設定値、設定可能最小値並びに最大値が一覧表示されている。ユーザがある特定の部位を選択するとその内容が切り替わる。設定値は、入力可能フィールドで直接キー入力することができる。角度の表現は円弧表現とし、指定用のラインをドラッグすることによって設定値を変更することができる。
【０３４１】
３Ｄ表示領域では、３Ｄグラフィックスにより生成された移動ロボット１の全身画像が地面とともに描画される。ユーザは、この３Ｄ表示から該当する部位をクリックすることにより、その部位を選択することができ、選択部位は強調表示される。さらに、選択部位をドラッグすることにより、設定値を直接切り替えることができる。
【０３４２】
３Ｄ表示領域における表示内容は３Ｄ表示切り替えボタンと連動しており、この３Ｄ表示領域のビュー上をドラッグすることによりビューの見え方すなわち視線方向を変えることができる。
【０３４３】
３Ｄ表示切り替えボタン群には、「回転」、「ズームイン／アウト」、「パン」、「ホーム位置」という各ボタンが配設されている。ユーザは、これらのボタンをクリック操作することにより、３Ｄ表示領域内の視線方向を変更することができる。
【０３４４】
例えば、回転ボタンをクリックすると、回転モードになり、以降３Ｄ表示領域をドラッグすると３Ｄ表示領域内の移動ロボット１が回転する。また、ズームイン／アウト・ボタンをクリックすると、ズーム・モードになり、以降３Ｄ表示領域を上下にドラッグすると３Ｄ表示領域内で移動ロボット１がズームイン／アウトする。また、パン・ボタンをクリックするとパン・モードになり、以降３Ｄ表示領域を上下左右にドラッグすると３Ｄ表示領域内で移動ロボット１がパンすなわち高速移動する。また、ホーム位置ボタンをクリックすると、移動ロボット１の３次元表示がデフォルトの視線方向から見た状態に戻る。
【０３４５】
また、表示切り替えポップアップは、ボタンをクリックすることにより、正面／背面／右側面／左側面／上面／底面／３Ｄからなるポップアップ・メニュー（図示しない）が表示され、メニュー選択により選択された方向からのビューに切り替えるようになっている。
【０３４６】
ポーズ・ウィンドウには、「ＯＫ」ボタンと「キャンセル」ボタンが用意されている。ＯＫボタンをクリックすると、該ウィンドウ内におけるすべての編集項目を有効にして、このウィンドウを閉じる。他方、キャンセル・ボタンをクリックするとすべての編集項目を無効にしてこのウィンドウを閉じる（周知）。
【０３４７】
なお、ポーズ・ウィンドウは、オーサリング・システム上で移動ロボット１のポーズを編集する場合だけではなく、実機上での直接教示などの作業により移動ロボット１に対して教え込まれた姿勢すなわち各関節アクチュエータの関節値をシステムに読み込んでプレビューする目的で使用する場合にも使用することができる。
【０３４８】
図２７には、実機上で直接教示した内容をポーズ・ウィンドウ上でプレビューするための処理手順について、フローチャートの形式で示している。以下、このフローチャートに従って説明する。
【０３４９】
まず、移動ロボット１のオペレータが、実機上で胴体や各脚部などを手でつかんで所望のポーズをとらせるなどして、直接教示を行う（ステップＳ１）。
【０３５０】
次いで、この直接教示の結果として得られた各関節アクチュエータなどの編集可能部位における設定値を読み込んで、一旦セーブし（ステップＳ２）、次いで、オーサリング・システムに転送する（ステップＳ３）。
【０３５１】
オーサリング・システムへのデータ転送方法は特に問われない。例えば、Ｂｌｕｅｔｏｏｔｈのような近接無線データ通信を利用してもよいし、メモリ・スティックなどの記録メディアを媒介にして装置間でデータの移動を行うようにしてもよい。
【０３５２】
一方、オーサリング・システム側では、編集可能部位の設定値を読み込むと（ステップＳ４）、上述したポーズ・ウィンドウを開いて、読み込まれた設定値通りに、実態指定領域、リスト指定領域、設定値エリア、並びに３Ｄ表示領域における表示内容や描画内容を更新する（ステップＳ５）。
【０３５３】
また、本実施例に係るオーサリング・システムは、モーション・チャンネル（前述）で編集されたモーション、あるいはポーヴ・ウィンドウにより編集された各ポーズをキーフレームとしたモーションをプレビューするためのモーション・プレビューワを用意している。
【０３５４】
図２８には、モーション・プレビューワの構成を概略的に示している。このモーション・プレビューワは、例えば、プロジェクト・ウィンドウにツリー表示されたモーション・ファイルをダブルクリックすることによって開かれる。
【０３５５】
モーション・プレビューワ上では、モーションをプレビューするとともに、アクション編集ウィンドウにペーストするために、ポーズをコピーすることができる。
【０３５６】
モーション・プレビューワでは、モーションを構成する１以上のキーフレームすなわちポーズのサムネイルを表示するようになっている。キーフレームの配列は、例えば、モーション再生時の時系列に従う。
【０３５７】
モーション・プレビューワ内のキーフレームはアクション編集ウィンドウにドラッグすることができる。また、プレビュー中のモーションを構成するキーフレーム数が多くてウィンドウ内に収まらない場合には、水平スクロールするようにする。
【０３５８】
［追補］
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【０３５９】
本実施例では、イヌを模した４足歩行を行うペット型ロボットを例に挙げて本発明に係るオーサリング・システムについて詳解したが、本発明の要旨はこれに限定されない。例えば、ヒューマノイド・ロボットのような２足の脚式移動ロボットや、あるいは脚式以外の移動型ロボットに対しても、同様に本発明を適用することができることを充分理解されたい。
【０３６０】
また、本明細書の［特許請求の範囲］の欄に記載される「多関節構造体」は、脚式ロボットを始めとする多関節型ロボットのような物理的な機械装置には限定されない。例えば、コンピュータ・グラフィックスにより生成されるキャラクタを用いたアニメーションの動作シーケンスの作成・編集のために、本発明に係るオーサリング・システムを適用することも可能である。
【０３６１】
要するに、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０３６２】
【発明の効果】
以上詳記したように、本発明によれば、ロボットの所定の動作パターンを記述する一連のコマンド／データの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することができる。
【０３６３】
また、本発明によれば、ロボットの動作状態を規定する部品の集合を用いて動作パターンの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することができる。
【０３６４】
また、本発明によれば、各部品をコンピュータ・ディスプレイ上に配置して動作パターンの作成・編集を支援することができる、優れたオーサリング・システム及びオーサリング方法を提供することができる。
【０３６５】
本発明に係るオーサリング・システム及びオーサリング方法によれば、モーション・データ、サウンド・データ、ＬＥＤ動作データなど、移動ロボットのアクションを構成する各時系列データを、２次元的なタイムライン形式のタイム・テーブル上で時間軸に沿って配置して表示するようにしている。したがって、各時系列データ間での同期を視覚的に確認しながら作成・編集することができる、効率的で直感的に分かり易いアクション編集の作業環境を提供することができる。
【０３６６】
本発明に係るオーサリング・システム及びオーサリング方法によれば、ロボットを始めとする多関節構造体を新しい遊びとして扱うことができるツールを提供することができる。本発明によれば、コンピュータ・プログラミングに関する高度な知識がなくとも、ロボットを始めとする多関節構造体の行動をプログラムすることができ、簡単にコンテンツを作成することができる。例えば、ユーザは、多関節構造体を表現するためのツールとして使用することができ、言い換えれば、ロボットが提供するワールドを拡張することができる。
【０３６７】
本発明に係るオーサリング・システム及びオーサリング方法によれば、ユーザはＧＵＩ操作を介して多関節構造体の行動シーケンスに関するプログラミングを行うことができる。さらに、ライブラリを豊富に取り揃えることによって、ＧＵＩ画面上でのプログラミング作業をさらに簡単で効率的なものにすることができる。
【０３６８】
ロボットの行動シーケンスすなわちビヘイビアは、モーション、サウンド、及びＬＥＤ動作という各コンテンツを統合することによって構成される。本発明によれば、これら各コンテンツの編集画面にタイムラインを利用することによって、コンテンツ間の同期を容易にとることができる作業環境を提供することができる。本発明に係るＧＵＩ編集画面上では、各コンテンツは、個々のデータとして処理することができる他、他のコンテンツと統合した形式すなわちアクションの形式でも扱うことができる。
【図面の簡単な説明】
【図１】本発明を実施に供される四肢による脚式歩行を行う移動ロボット１の外観構成を示した図である。
【図２】移動ロボット１の電気・制御系統の構成図を模式的に示した図である。
【図３】制御部２０の構成をさらに詳細に示した図である。
【図４】ホスト・コンピュータ１００のハードウェア構成例を模式的に示した図である。
【図５】本実施例に係るオーサリング・システムの全体構成を模式的に示した図である。
【図６】プロジェクト・ウィンドウを示した図である。
【図７】プロジェクト・ウィンドウ内のメニュー「ファイル」のサブメニュー項目を示した図である。
【図８】プロジェクト・ウィンドウ内のメニュー「素材」のサブメニュー項目を示した図である。
【図９】アクション編集ウィンドウを示した図である。
【図１０】アクション編集ウィンドウ内のメニュー「ファイル」のサブメニュー項目を示した図である。
【図１１】アクション編集ウィンドウ内のメニュー「編集」のサブメニュー項目を示した図である。
【図１２】アクション編集ウィンドウ内のメニュー「素材」のサブメニュー項目を示した図である。
【図１３】キーフレーム・チャンネルを開いた状態（キーフレーム詳細チャンネル）のアクション編集ウィンドウを示した図である。
【図１４】モーション・チャンネルを開いた状態（モーション詳細チャンネル）のアクション編集ウィンドウを示した図である。
【図１５】ＭＩＤＩ形式のサウンド・ファイルを編集するためのサウンド詳細ウィンドウを示した図である。
【図１６】ＭＩＤＩ形式用のサウンド詳細ウィンドウ内のメニュー「ファイル」のサブメニュー項目を示した図である。
【図１７】ＭＩＤＩ形式用のサウンド詳細ウィンドウ内のメニュー「編集」のサブメニュー項目を示した図である。
【図１８】ＭＩＤＩ形式用のサウンド詳細ウィンドウ内のメニュー「設定」のサブメニュー項目を示した図である。
【図１９】ＷＡＶＥ形式のサウンド・ファイルを表示するためのサウンド詳細ウィンドウの構成を概略的に示した図である。
【図２０】ＷＡＶＥ形式用のサウンド詳細ウィンドウ内のメニュー「ファイル」のサブメニュー項目を示した図である。
【図２１】ＷＡＶＥ形式用のサウンド詳細ウィンドウ内のメニュー「編集」のサブメニュー項目を示した図である。
【図２２】ＬＥＤ動作ファイルを表示するためのＬＥＤ詳細ウィンドウの構成を概略的に示した図である。
【図２３】ＬＥＤ詳細ウィンドウ内のメニュー「ファイル」のサブメニュー項目を示した図である。
【図２４】ＬＥＤ詳細ウィンドウ内のメニュー「編集」のサブメニュー項目を示した図である。
【図２５】アクション編集ウィンドウで編集されたアクションをモニタするためのプレビュー・ウィンドウの構成を概略的に示した図である。
【図２６】移動ロボット１の３ＤポーズをＧＵＩ操作により編集するためのポーズ・ウィンドウの構成を概略的に示した図である。
【図２７】実機上で直接教示した内容をポーズ・ウィンドウ上でプレビューするための処理手順を示したフローチャートである。
【図２８】モーションをプレビューするためのモーション・プレビューワの構成を概略的に示した図である。
【図２９】オーサリング・システムの機能構成を示したブロック図である。
【符号の説明】
１…移動ロボット
２…胴体部ユニット
３…頭部ユニット
４…尻尾
６Ａ〜６Ｄ…脚部ユニット
７…首関節
８…尻尾関節
９Ａ〜９Ｄ…大腿部ユニット
１０Ａ〜１０Ｄ…脛部ユニット
１１Ａ〜１１Ｄ…股関節
１２Ａ〜１２Ｄ…膝関節
１５…ＣＣＤカメラ
１６…マイクロフォン
１７…スピーカ
１８…タッチセンサ
１９…ＬＥＤインジケータ
２０…制御部
２１…ＣＰＵ
２２…ＲＡＭ
２３…ＲＯＭ
２４…不揮発メモリ
２５…インターフェース
２６…無線通信インターフェース
２７…ネットワーク・インターフェース・カード
２８…バス
２９…キーボード
４０…入出力部
５０…駆動部
５１…モータ
５２…エンコーダ
５３…ドライバ
【図１】
0004765155.tif 000004
【図２】
0004765155.tif 000005
【図３】
0004765155.tif 000006
【図４】
0004765155.tif 000007
【図５】
0004765155.tif 000008
【図６】
0004765155.tif 000009
【図７】
0004765155.tif 000010
【図８】
0004765155.tif 000011
【図９】
0004765155.tif 000012
【図１０】
0004765155.tif 000013
【図１１】
0004765155.tif 000014
【図１２】
0004765155.tif 000015
【図１３】
0004765155.tif 000016
【図１４】
0004765155.tif 000017
【図１５】
0004765155.tif 000018
【図１６】
0004765155.tif 000019
【図１７】
0004765155.tif 000020
【図１８】
0004765155.tif 000021
【図１９】
0004765155.tif 000022
【図２０】
0004765155.tif 000023
【図２１】
0004765155.tif 000024
【図２２】
0004765155.tif 000025
【図２３】
0004765155.tif 000026
【図２４】
0004765155.tif 000027
【図２５】
0004765155.tif 000028
【図２６】
0004765155.tif 000029
【図２７】
0004765155.tif 000030
【図２８】
0004765155.tif 000031
【図２９】
0004765155.tif 000032