(57)【要約】本発明は、高レベルプログラミング言語を用いてロボット（４１）を制御するためのコンピュータ実行システム及び方法を提供する。本発明は、３つのプログラミング言語、即ち、２つの高レベル言語と１つの低レベル言語とを規定する。第１高レベルプログラミング言語は、本発明においては、ロボットシナリオ言語（ＲＳＬ）（２０）と呼ばれ、エンドユーザ（１８）はその言語で高レベル行動及びアクションに関連するロボットプレゼンテーション（４０）をつくり出すことができる。第２高レベル言語は、本発明においてはロボット行動言語（ＲＢＬ）と呼ばれ、ロボット（４１）のハードウェアを直接制御するための低レベル言語コマンドに高レベル（ＲＳＬ）言語で各々の高レベル行動又はアクションをどのように変換又はマッピングするかについて記述するためのテンプレートを有する。本発明では、低レベル言語をロボットハードウェア言語（ＲＨＷＬ）という。
2006510496.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御するためのコンピュータ実行方法であって：
（ａ）変換エンジンへの第１入力として前記ロボットにより実行されるべき行動を規定するプログラミングステートメントの第１集合を供給する段階；
（ｂ）前記変換エンジンへの第２入力として前記行動を解釈するためのルールを規定する複数の行動テンプレートとして構成されるプログラミングステートメントの第２集合を供給する段階；並びに
（ｃ）前記ロボットを直接制御するためのロボットプログラミングステートメントの第３集合をもたらすように前記の規定されたルールに従って、前記行動を前記変換エンジンにおいて変換する段階；
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記のプログラミングステートメントの第１集合は第１高レベルプログラミング言語で書かれている、ことを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、前記のプログラミングステートメントの第２集合は第２高レベルプログラミング言語で書かれている、ことを特徴とする方法。
【請求項４】
請求項２に記載の方法であって、前記のプログラミングステートメントの第１集合は拡張可能マークアップ言語（ＸＭＬ）の形であり、前記のプログラミングステートメントの第２集合は拡張可能スタイルシート言語（ＸＳＬ）の形である、ことを特徴とする方法。
【請求項５】
請求項３に記載の方法であって、前記のプログラミングステートメントの第１集合は拡張可能マークアップ言語（ＸＭＬ）の形であり、前記のプログラミングステートメントの第２集合は拡張可能スタイルシート言語（ＸＳＬ）の形である、ことを特徴とする方法。
【請求項６】
請求項１に記載の方法であって、前記のプログラミングステートメントの第１集合からの前記の規定された行動の１つは、前記のプログラミングステートメントの第２集合からの１つ又はそれ以上の前記の複数の行動テンプレートと関連している、ことを特徴とする方法。
【請求項７】
請求項１に記載の方法であって、前記のプログラミングステートメントの第３集合は前記ロボットにより直接実行される低レベルロボットハードウェア言語で書かれている、ことを特徴とする方法。
【請求項８】
請求項１に記載の方法であって、前記変換段階（ｃ）は：
（１）前記のプログラミングステートメントの第１集合から前記行動をシーケンシャルに選択する手順；
（２）前記段階（１）において選択された各々の行動に対して、前記の選択された行動とマッチングする行動テンプレートを位置付けるために前記の複数の行動テンプレートを検索する手順；並びに
（３）前記ロボットを直接制御するためのロボットコマンドの第３集合の少なくとも一部をもたらすために前記段階（１）において前記の選択された行動に前記段階（２）における前記のマッチングする行動テンプレートを適用する手順；
を更に有する、ことを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、前記のロボットプログラミングステートメントの第１集合は高レベル記述ファイルから選択される、ことを特徴とする方法。
【請求項１０】
請求項１に記載の方法であって、前記のロボットプログラミングステートメントの第１集合は前記ロボットにより実行されるべきロボットプレゼンテーションを集合的に有する、ことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、前記ロボットプレゼンテーションで用いる少なくとも１つの音声及び／又は映像マルチメディアストリームと前記のロボットコマンドの第３集合の前記の少なくとも一部を結合させる段階を更に有する、ことを特徴とする方法。
【請求項１２】
高レベルプログラミング言語によりロボットを制御するためのシステムであって：
変換エンジンへの第１入力として前記ロボットにより実行されるべき行動を規定するプログラミングステートメントの第１集合を供給するための手段；
前記変換エンジンへの第２入力として前記行動を解釈するためのルールを規定する複数の行動テンプレートとして構成されるプログラミングステートメントの第２集合を供給するための手段；並びに
前記ロボットを直接制御するためのロボットプログラミングステートメントの第３集合をもたらすように前記の規定されたルールに従って、前記行動を前記変換エンジンにおいて変換するための手段；
を有することを特徴とするシステム。
【請求項１３】
請求項１２に記載のシステムであって、前記変換するための手段は：
前記のプログラミングステートメントの第１集合から前記行動をシーケンシャルに選択するための手段；
（２）前記段階（１）において選択された各々の行動に対して、前記の選択された行動とマッチングする行動テンプレートを位置付けるために前記の複数の行動テンプレートを検索するための手段；並びに
（３）前記ロボットを直接制御するための前記のロボットコマンドの第３集合の少なくとも一部をもたらすために前記段階（１）において前記の選択された行動に前記段階（２）における前記のマッチングする行動テンプレートを適用するための手段；
を更に有する、ことを特徴とするシステム。
【請求項１４】
請求項１３に記載のシステムであって、前記行動テンプレートは第１高レベル記述ファイルにおいて検索される、ことを特徴とするシステム。
【請求項１５】
請求項１３に記載のシステムであって、前記行動は第２高レベル記述ファイルから選択される、ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを制御するためのコンピュータ実行可能方法に関する。特に、本発明は、ロボットにより直接実行可能な低レベル言語のハードウェアコマンドに高レベルのプログラミング言語を透過的に変換することによりロボットを制御するための方法に関する。
【背景技術】
【０００２】
ロボットは、広範なアクティビティに対して過去において開発されてきたが、又更に開発が行われている一方、ロボットの環境との複雑な双方向的交流を必要としないアクティビティに対してタスクとして課されたロボットの研究は、今日までなされてきてはいない。従来技術においては、ロボット言語の定義のイニシアチブは２つの動向に分かれてきた。開発者は、低レベルのロボットの動作及び応答（即ち、実行するためにハードウェアが必要な動作又は操作されるために必要なセンサ刺激）を規定し、又は、動作が同期化される必要がある高度に複雑なタスクの解決を目的とするタスク記述（例えば、タスク記述言語）のために用いられる複雑な高レベルの言語を規定している。それら両方の方法は、環境との複雑なインタラクションを必要としない単純なアクティビティのためにロボットを使用することを意図するユーザの必要性を満足するものではない。そのようなアクティビティは、例えば、セールスマン、料理用ロボット及びクリーニングロボットのようなロボットを含む。それらのアクティビティに対して、そのことは、高レベルの言語ステートメントのみを用いる料理のデモンストレーション又はセールスのプレゼンテーションのためのロボットを操作することができるように、芸術家又は広告会社の幹部のような、特別なプログラミングスキルを有しないユーザに好ましい。従って、ロボットにより直接実行可能な低レベルの言語コマンドに高レベルの言語コマンドを変換するために、幾つかの手段が必要である。本発明は、それらの及びその他の目的を満足するために対処する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、高レベルのプログラミング言語を用いてロボットを制御するためのコンピュータ実行システム及び方法を提供することである。本発明は３つのプログラミング言語、即ち、２つの高レベル言語及び１つの低レベル言語を規定する。第１高レベルプログラミング言語は、ここでは、ロボットシナリオ言語（ＲＳＬ）と呼ばれる。エンドユーザは、その言語で高レベルの行動及び動作に関するロボットのプレゼンテーションをつくり出す。第２項レベルプログラミング言語は、ここでは、ロボット行動言語（ＲＢＬ）といい、高レベル（ＲＳＬ）言語の各々の高レベルの行動又は動作がロボットのハードウェアを直接制御するための低レベル言語コマンドにどのように変換又はマッピングされるかを記述するためのテンプレートを有するロボット行動言語（ＲＢＬ）と呼ばれる。低レベル言語は、ここでは、ロボットハードウェア言語（ＲＨＷＬ）と呼ばれる。
【課題を解決するための手段】
【０００４】
本発明の一特徴に従って、高レベルプログラミング言語を用いるロボットを制御するための方法は：変換エンジンへの第１入力として前記ロボットにより実行されるべき行動を定義するプログラミングステートメントの第１集合を供給する段階；前記変換エンジンへの第２入力として前記行動を解釈するためのルールを規定する行動テンプレートを有するプログラミングステートメントの第２集合を供給する段階；並びに、変換エンジンにおいて、前記ロボットを直接制御するためのロボットコマンドの第３集合を与えるために、前記の規定されたルールに従って前記行動を変換する段階；を有する。
【０００５】
本発明の他の特徴に従って、高レベルプログラミング言語を用いるロボットを制御するためのシステムは：変換エンジンへの第１入力として前記ロボットにより実行されるべき行動を定義するプログラミングステートメントの第１集合を供給するための手段；前記変換エンジンへの第２入力として前記行動を解釈するためのルールを規定する行動テンプレートを有するプログラミングステートメントの第２集合を供給するための手段；並びに、変換エンジンにおいて、前記ロボットを直接制御するためのロボットコマンドの第３集合を与えるために、前記の規定されたルールに従って前記行動を変換するための手段；を有する。
【０００６】
本発明により提供される一有利点は、プログラミングにおいて特定の専門知識を有しないユーザが、難解な高レベルタスク記述言語ステートメント又は低レベルプログラミング言語ステートメントを習得する心配を持たずに、高レベルＲＳＬプログラミング言語を簡単に利用することにより、ロボットのプレゼンテーションを構築する能力を与えられることである。
【０００７】
本発明の他の有利点は、ロボットが改造又はアップグレードされることが可能である容易性である。欠陥部品のためにロボットが故障した状況について考える。交換部品は、オリジナルの部品と同じ仕様をもっているとは限らない。通常、このことは、時間を要し、エラーの影響を受ける新しい部品の仕様の違いに適応するようにロボットのネイティブ言語における低レベルコードを書き換える必要がある。本発明は、ＲＢＬテンプレート言語によりマッピングを簡単に変えることにより低レベル（ＲＨＷＬ）言語を高レベル（ＲＳＬ）プログラミング言語との間のマッピングを簡単に変えることにより、この欠点を克服する。新しい部品の異なる仕様に従うようにＲＢＬテンプレートを簡単に修正することにより、ユーザは、低レベルコードを書き換えなければならないタスクを取り除かれる。ＲＢＬ言語は、ある意味で、抽出のレイヤを与える。
【０００８】
本発明により提供される他の有利点は、異なるハードウェア構成を有する多種多様のロボットプラットホームにおいて一貫した行動の結果を達成する能力である。一実施例として、“現在の位置から１０フィート動く”ようにロボットに命令する高レベル言語の行動を考える。この一貫した行動の結果は、内部のハードウェア構成と関係なく、いずれのロボットに対して達成可能である。このような能力は、低レベル言語と高レベル言語との分離により与えられる。
【０００９】
本発明は、環境との複雑なインタラクションを必要としない非複雑性タスクを実行するためにロボットを使用するアプリケーションに十分適する。そのようなアプリケーションには、例えば、セールスマン、コック、クリーナ又はＣＮＣマシンを使用する製造プロセスにおける使用がある。しかしながら、本発明は、本質的に、特定のクラスのアプリケーションに限定されるものではない。
【００１０】
本発明の上記の特徴については、添付図面に関連付けて、本発明の例示としての実施形態の以下の詳細説明を参照することにより、容易に明らかになり、理解されるであろう。
【発明を実施するための最良の形態】
【００１１】
以下の本発明の詳細説明においては、多くの特定の詳細について示し、本発明を一貫して理解できるようにしている。しかしながら、それらの特定の詳細によらずとも、本発明が実行可能であることは、当業者には明らかであろう。幾つかの例においては、本発明を不明瞭にすることを回避するように、周知の構造及び装置については、その詳細ではなく、ブロック図の形で示している。
【００１２】
本発明は、その最も広いアプリケーションにおいて、３つのプログラミング言語であって、高レベルプログラミング言語として一般に特徴付けることが可能である第１言語と、高レベルテンプレート言語として一般に特徴付けられる第２言語と、低レベルプログラミング言語として一般に特徴付けられる第３言語とを使用する。それらの３つのプログラミング言語は、高レベルプログラミング言語によりロボット動作を制御するための構造又は基礎を形成する。
【００１３】
本発明の原理については、ここでは、拡張可能マークアップ言語（ＸＭＬ）の関連で記述する。ＸＭＬは、莫大な量の既存のインフラが与えられる好ましい実施である。しかしながら、ＸＭＬの実施形態は、非制限的な例示としての実施形態である。
【００１４】
Ａ．ロボットシナリオ言語（ＲＳＬ）
ＲＳＬ言語は、特定のプログラミングスキルを有しない、高度の技術力を有しないエンドユーザによる使用の場合のために構築された高レベルプログラミング言語である。例えば、その言語は、プログアミング言語に精通していないか又は興味がないクリエーティブな／芸術的な人々による使用のために開発されたが、例えば、モール、公園又は映画館のロビーにおいてセールスデモンストレーションを実施することを含むかなり多くの目的のためにロボットのプレゼンテーションをつくり出すようにデザインすることができる。
【００１５】
高レベルＲＳＬプログラミング言語の１つの注目すべき特徴は、高レベル言語であることにより、特定のロボットの能力又は属性に対する関心又は考慮をもつことなく、言語ステートメントを書くことができることである。例として、ＲＳＬ言語ステートメントは、典型的には、例えば、“走る”、“笑う”、“目をパチパチさせる”、“踊る”等のようなロボットにより実行される見慣れた行動を規定する。ステートメントは、例えば、カントリーダンス、ロックンロールダンス、スローダンスのような種々のダンスの種類、又は、‘大笑い’又は‘くすくす笑う’等のような笑いのタイプを規定する、標準的な行動の多様性を更に有する。
【００１６】
図１は、ロボットウェブプレゼンテーション（ｒｏｂｏｔｉｃ  ｗｅｂ  ｐｒｅｓｅｎｔａｔｉｏｎ）をつくり出すことを希望して、コンピュータターミナルに向かっているエンドユーザによりＲＳＬ言語がどのように利用することが可能であるかについて示す実施形態である。図１は、ロボットプレゼンテーションをつくり出すためのプログラムを実行するコンピュータターミナルのディスプレイスクリーンのスナップショット画像を示している。その図から分かるように、所望のロボットの動作を規定するための選択可能アイコン２０は、“走る”アイコン１１、“ジャンプする”アイコン１３、“笑う”アイコン１５等を有するディスプレイスクリーン１０の上部において規定される。ユーザは、所望のプレゼンテーションシーケンス３５における選択可能アイコンを簡単にグラビングし且つドロッピングすることによりロボットのプレセンテーションをつくり出すことができる。図１のスナップショット画像は、時間軸で表されているような順序で、ロボットが、先ず“ジャンプし”３６、“笑い”３７及び“目をパチパチさせる”３９ように命令する４つのアイコンを有する部分的なロボットウェブプレゼンテーションをエンドユーザがつくり出したことを示している。簡単化されたアイコン駆動方法を用いて、単純且つ容易に理解できる方法でロボットプレゼンテーションをつくり出すことが可能である。
【００１７】
その実施形態に従って、ロボット運動の難解な特徴はアプリケーションレベルに関して完全に透過的である。一旦、完了すれば、ＲＳＬに基づく高レベルのプレゼンテーションは、後の使用及び／又は修正のために記憶されることが可能である。ＲＳＬファイルは、一旦つくり出されると、特定のロボットのアクティビティを命令するために１つ又はそれ以上の遠隔位置に電子的に伝送されることが可能であることが又、検討される。
【００１８】
Ｂ．ＲＢＬテンプレート言語
ＲＢＬ言語は、ＲＳＬ高レベル言語のコマンドがどのように実行されるかを規定するための行動テンプレートを有する。即ち、ＲＢＬ行動テンプレートは、ロボットのハードウェアを直接制御するための低レベル言語のコマンドに、高レベル（ＲＳＬ）言語における各々の高レベル行動又はアクションがどのように変換されるかを記述する。ＲＢＬ行動テンプレートは１つ又はそれ以上のルールを有する。例えば、‘笑う’に対するＲＳＬコマンドをマッピングするためのＲＢＬ行動テンプレートは、ロボットが上方にロボットの唇の外側部分を動かすように命令するための第１ルールと、ロボットにロボットの歯全てが
現れるように命令するための第２ルールと、を有することが可能である。
【００１９】
ＲＢＬテンプレートは、ＲＳＬとの多対一対応関係の状態で存在する。換言すれば、各々のＲＳＬコマンドは、同じ行動を実行するためのスールの異なる集合を特定するいずれの数のＲＢＬテンプレートを有することが可能である。前記例を参照するに、‘笑う’に対する第２ＲＢＬ行動テンプレートは、ロボットがロボットの頬を素早く上下に動かすように命令するためのルールを有することが可能である。明らかであるように、特定のＲＳＬコマンドのためにつくり出すことが可能である異なるＲＢＬテンプレートの多様性又は数に関する制限は存在しない。ＲＢＬ行動テンプレートは、ある程度のプログラミングの専門知識が創造と維持に関連することを考えると、ロボットのシナリオをつくり出す人とは区別され且つ別個のエンティティにより、つくり出され且つ維持されることが可能である。
【００２０】
Ｃ．ＲＨＷＬ言語
本発明の第３プログラミング言語は、ロボットのハードウェアを直接制御するための低レベルのロボットハードウェア言語（ＲＨＷＬ）である。これは、本質的に、ロボットのネイティブ言語である。ＲＨＷＬ言語は、ロボットが実行することができる全体の低レベル命令を表す。
【００２１】
Ｄ．一実施形態
実施形態に従った本発明の動作を示すために、３つのプログラミング言語の２つはＸＭＬ言語実施形態として記述され、第３プログラミング言語は拡張可能スタイルシート言語（ＸＳＬ）言語実施形態として記述されている例を提供する。ＸＭＬは、現在、利用可能にする拡張可能なインフラストラクチャを与える好適な実施である。
【００２２】
図２を参照するに、高レベルプログラミング言語によりロボット（Ｓｔａｎという）のアクションを遠隔的に制御するためのコンピュータ実行システム及び方法について示すプロセスフロー図２００を示している。
【００２３】
例示としての例において、エンドユーザは、単一のアクション、即ち、写真を撮るアクションを有するロボットのプレゼンテーションを命令することを所望する。この例は、本発明の原理を分り難くしないように、意図的に簡単にしている。
【００２４】
例示としての例において、ロボット（Ｓｔａｎ）は写真を撮る能力を有し（即ち、頭へのビデオカメラ）、想定されるロボットのセールスプレゼンテーションに従って見物人の写真を撮ることが要求される。
【００２５】
先ず、プログラミング言語に興味を持っていないか又は精通していないことが仮定されるエンドユーザは、ロボットのセールスプレゼンテーションをつくり出すことでタスクを課している。そのユーザは、第１高レベルプログラミング言語で書かれたアクション（行動）のシーケンスを有するＲＳＬファイル２０を最終プロダクトとして得るために、図１に関連して上で説明したアイコン駆動プログラムの援助の下でロボットのセールスプレゼンテーションをつくり出すことが可能である。そのアクション又は行動のシーケンスはロボットのプレゼンテーションを集合的に規定する。例示としての例において、ロボットのセールスプレゼンテーションは、ロボット４１により写真を撮る単一のアクションを有する。しかしながら、更に現実的な例において、そのシナリオは、ロボット４１により実行される多数のアクションを有することが可能である。
【００２６】
例示としての実施形態において、ユーザは、プレゼンテーションストリーム３５に含むための選択可能アイコンのパレットから“写真を撮る”アイコン１７を簡単に選択することによりロボットのプレゼンテーションをつくり出すためにアイコン駆動プログラムを利用することが可能である。ユーザは、例えば、“ｍｙ＿ｐｒｅｓｅｎｔａｔｉｏｎ．ｒｓｌ”と名付けられたＲＳＬファイル２０としてプレゼンテーションストリームを保存することが可能である。ＸＭＬの実施形態においては、‘写真を撮る’ことに対するロボットのセールスプレゼンテーションを規定するＲＳＬファイル２０は次のコードシーケンスを有することが可能である。
【００２７】
【表１】
2006510496.tif 000003
コードステートメント（１乃至５）は、ＸＭＬ実施形態を用いてＲＳＬプログラミング言語で書かれている。コードステートメント（１乃至５）の一般的構造は、プログラミングの技術分野で周知であり、ここでは、更に説明することはしない。しかしながら、コードステートメント３が、写真を撮ることに関連する高レベル‘行動’のための高レベル言語ＲＳＬプログラミング言語コマンド、即ち“Ｔａｋｅ＿Ｐｉｃｔｕｒｅ”をコードステートメントが規定することは興味深いことである。しかしながら、コードステートメントは、写真を撮るための‘行動’がロボットによりどのように実行されるかに関して、詳細又は特定性を与えない。
【００２８】
ここまで説明してきたことは、高レベルＲＳＬプログラミング言語で書かれたロボットのセールスプレゼンテーションをつくり出すことについてである。
【００２９】
上記のように、ロボット４１は、高レベル言語ＲＳＬコマンドをネイティブに処理することはできない。ロボット４１は、低レベルロボットハードウェア言語（ＲＨＷＬ）コマンドにより制御又は操作することのみができる。それ故、本発明は、ロボットがネイティブに処理することができる低レベルロボットハードウェア言語コマンドに高レベルＲＳＬコマンドをマッピング又は変換するための機構を提供する。第２高レベル言語で書かれたＲＢＬ行動テンプレートはそのようなマッピングを提供する。即ち、ＲＢＬ行動テンプレートは、高レベル言語ＲＳＬコマンドの解釈の仕方を規定するルールを有する。
【００３０】
例示としての例においては、他に角ＲＢＬ行動テンプレートは、次のように、ＲＳＬコマンド、即ち、“写真を撮る”を解釈するための第２高レベルプログラミング言語でつくり出された。
【００３１】
【表２】
2006510496.tif 000004
コードステートメント（１乃至９）は、ＸＭＬ実施形態を用いてＲＳＬプログラミング言語で書かれている。コードステートメント（１乃至９）の一般的構造は、プログラミングの技術分野で周知である。表ＩＩからの興味のあるステートメントは、ステートメント３乃至６を有する。先ず、モーディングステートメント３は、‘写真を撮る’行動のためのマッチング行動テンプレートを規定する。本発明の原理に従って、変換処理中、ＲＳＬファイル２０における各々の行動は、ＲＢＳファイルにおけるマッチング行動テンプレートとマッチングする必要がある。ＲＢＬファイルは、ＲＳＬ言語で書かれた検討された行動全てに対するマッピングを規定する非常に多くのテンプレートを有する。
【００３２】
例示としての例において、ＲＳＬファイル２０は、それに含まれる各々の行動を選択するために変換エンジンにより解析される。ＲＳＬ行動に対して、ＲＢＬテンプレートファイル２２は、ＲＳＬ行動とマッチングする行動テンプレートを位置付けるために検索される。一旦、マッチング行動テンプレートが見つけられると、マッチングテンプレートに関連するルールが、ＲＨＷＬファイル３０を部分的に構築するために変換エンジン２６において用いられ、そのＲＨＷＬファイル３０は、例えば、“写真を撮る”ようにロボットを直接制御するための低レベルハードウェアコマンドを有する。表ＩＩを参照するに、写真を撮るためのＲＢＬ行動テンプレートは、３つの動作、即ち、（１）カメラを４０度傾ける、（２）カメラを２０度パンする、及び（３）写真を撮る、としてある意味で“Ｔａｋｅ＿ｐｉｃｔｕｒｅ”行動を解釈するライン４乃至６において指定されているような３つのルールを有する。
【００３３】
一般に、ＸＳＬ変換エンジン２６は２つの入力を有し、第１入力は高レベル言語ＲＳＬファイル２０を受けるためのものであり、第２入力はＲＢＬテンプレートファイル２２を受けるためのものである。ＸＳＬ変換エンジン２６は、ロボットのアクションを直接制御するためのロボットのネイティブ言語において低レベルロボットハードウェアコマンド（ＲＨＷＬファイル３０）の単一の集合にＲＢＬ行動テンプレートに従ってＲＳＬ行動の変換（マッピング）を実行するための機構である。例示としての例において、上記のプロセスからもたらされるＲＨＷＬファイル３０は次のようである。
【００３４】
【表３】
2006510496.tif 000005
コードステートメント（１乃至７）は、分配器３４によりロボット制御器のロボットハードウェア処理器３５に供給され、ＸＭＬ実施形態を用いるＲＨＷＬプログラミング言語で書かれる。コードステートメントの構成はプログラミングの技術分野では周知である。ロボットのアクションを直接制御するための低レベルロボットハードウェア言語ステートメントを規定するステートメント３及び４は重要である。具体的には、ＲＨＷＬステートメント（３）及び（４）は、ロボットがロボットの頭を４０度傾け、次いで、その頭を２０度パンするように命令する。
【００３５】
又、図２から分かるように、ロボットプレゼンテーション４０に映像及び音声エンハンスメントを供給するためのロボット制御器４１に補助ファイルとしてダウンロードされる音声ストリーム２５及び映像ストリーム２９をロボットプレゼンテーションに映像２５及び音声２９を有することが可能である。
【００３６】
図３は、例示としての例に対する図２のプロセスブロック４２を更に詳細に示している。本発明のＸＭＬ実施形態に対して、プロセスフローは、ＸＳＬＴ変換エンジンを用いてＸＳＬスタイルシートとＸＭＬソース文書を処理するための技術に類似している。当業者には周知であるように、ＸＳＬＴ変換エンジンは、ＸＭＬ文書を他の種類の文書に変換するために用いられる。特に、ＸＳＬＴは、完全ＨＴＭＬ文書のような他の種類の文書に生ＸＭＬデータを変換する能力を提供する。ＸＳＬＴ変換エンジンは、最終プロダクトのような変換された出力（例えば、完全ＨＴＭＬ文書）を生成するためにそれにＸＳＬスタイルシートを供給する且つ入力ソースとしてＸＭＬ文書を取ることにより動作する。ＸＳＬスタイルシートはテンプレートを有し、それらの各々はルールを指示し、マッチングパターンにより特定される。ＸＳＬＴ変換エンジンが、ＸＳＬスタイルシートにおけるテンプレートパターンをマッチングするソースＸＭＬデータを見つけたとき、そのデータに対するテンプレートのスタイリングルールは、ＸＭＬデータを抽出し、不所望のセクションをフィルタリング除去し、そしてデータをプレゼンテーション可能レイアウトに操作する。類似する方式で、図３に示すように、ＲＳＬファイル２０は、一種のＸＭＬ文書である。図３のＲＢＬファイル２２はＸＳＬスタイルシートに類似している。本発明の原理に従って、ＸＬＳＴ変換エンジンがテンプレートパターン（ＲＢＬテンプレート）にマッチングするソースＸＭＬデータ（ＲＳＬコマンド）をみつけたとき、それは、テンプレートのスタイリングルール（ＲＢＬテンプレートにより特定された行動）をＸＭＬデータ（ＲＳＬコマンド）に適用し、それからＲＨＷＬコマンド、即ち、ＲＨＷＬファイル３０を生成する。
【００３７】
それ故、高レベルプログラミング言語を用いてロボットを制御するためのコンピュータ実行システム及び方法の実施形態について説明したが、本発明のシステム及び方法の特定の有利点が達成できたことを、当業者は理解する筈である。上記内容は、本発明の例示としての実施形態であるとしてのみ構成されているものである。当業者は、本発明の範囲及び主旨からいずれかの逸脱をすることなく、上記実施形態に類似する機能性を提供できる他の構成を容易に考案することができるであろう。
【図面の簡単な説明】
【００３８】
【図１】ＲＳＬ言語で高レベルロボットプレゼンテーションをつくり出すためのコンピュータターミナルディスプレイスクリーンのスナップショット画像を示す図である。
【図２】ロボットのハードウェアを直接制御するための低レベルＲＨＷＬ命令に、高レベルＲＳＬ命令及び関連ＲＢＬ行動テンプレートを変換するためのプロセスフローを示すブロック図である。
【図３】例示としての例について図２のプロセスブロック４２を更に詳細に示す図である。
【図１】
2006510496.tif 000006
【図２】
2006510496.tif 000007
【図３】
2006510496.tif 000008
【国際調査報告】
2006510496.tif 000009
2006510496.tif 000010
2006510496.tif 000011
2006510496.tif 000012