(57)【要約】  本発明は、実行されると特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラムを格納するように設計された格納手段（６、６ａ、６ｂ）を備えるロボット（１、１ａ、１ｂ）において、実行されると特定の挙動に従ってロボットに動作させるコンピュータプログラム（１６）を遠隔コンピュータ機器（１２）からロードすることが可能なロード手段（８、９）と、正当にロードされたコンピュータプログラム（１６）を前記格納手段（６、６ａ、６ｂ）に保存することが可能な保存手段（２２）とを備えることを特徴とするロボットに関する。前記ロード手段は、コンピュータプログラムの遠隔機器（１２）からのロードを開始させるためロードリクエスト（１１）を遠隔機器に送信するように設計されている。ロボットは、進化パラメータを格納するための少なくとも１つのメモリを備え、ロード手段は、また、進化パラメータ（２０、２１）に従ってリクエストを送信するように設計されている。【選択図】      図３
2010538849.tif 000002
【特許請求の範囲】
【請求項１】
実行されると特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラムを格納するように設計された格納手段（６、６ａ、６ｂ）を備えるロボット（１、１ａ、１ｂ）であって、実行されると特定の挙動に従って前記ロボットに動作させるコンピュータプログラム（１６）を遠隔コンピュータ機器（１２）からロードすることが可能なロード手段（８、９）と、正当にロードされたコンピュータプログラム（１６）を前記格納手段（６、６ａ、６ｂ）に保存することが可能な保存手段（２２）とを備え、前記ロード手段は、前記コンピュータプログラムの前記遠隔機器（１２）からのロードを開始させるためロードリクエスト（１１）を前記遠隔機器に送信するように設計されている、ロボットにおいて、前記ロボットは、進化パラメータを格納するための少なくとも１つのメモリを備え、前記ロード手段は、また、前記進化パラメータ（２０、２１）に従って前記リクエストを送信するように設計されていることを特徴とする、ロボット（１、１ａ、１ｂ）。
【請求項２】
前記リクエストは、前記ロボットが発生させることが可能な動作に関するデータを含む、請求項１に記載のロボット（１、１ａ、１ｂ）。
【請求項３】
前記進化パラメータ（２０、２１）は、前記遠隔機器に送信され得るリクエストの数を決定するサブスクリプションデータ（２０）を含む、請求項１または２に記載のロボット。
【請求項４】
前記ロード手段は、前記コンピュータプログラムのロードを自動的に開始させるように設計されている、請求項１〜３のいずれか一項に記載のロボット。
【請求項５】
作動されると前記ロボットに前記ロボットの挙動を発生させるように設計された挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）を備え、前記コンピュータプログラム（１６）は、実行されると、前記挙動生成手段を作動させることにより少なくとも１つの挙動に従って前記ロボットに動作させることが可能である、請求項１〜４のいずれか一項に記載のロボット。
【請求項６】
前記挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）は、モータにより制御される可動部（２ａ〜２ｅ）を備え、前記コンピュータプログラム（１６）は、前記可動部の少なくとも１つを変位させるように前記モータの少なくとも１つを作動させることにより、少なくとも１つの特定の挙動に従って前記ロボットに動作させることが可能である、請求項１〜５のいずれか一項に記載のロボット。
【請求項７】
前記挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）は、アプリケーション（４）を備え、前記コンピュータプログラム（１６）は、前記アプリケーションの少なくとも１つを作動させることにより少なくとも１つの挙動を発生させることが可能である、請求項７または８に記載のロボット。
【請求項８】
前記格納手段（６、６ａ、６ｂ）に格納された前記正当にロードされたコンピュータプログラム（１６）をさらに備える、請求項１〜７のいずれか一項に記載のロボット。
【請求項９】
前記格納手段に格納された前記コンピュータプログラム（７）の前記遠隔機器（１２）への送信を開始させるように設計された送信手段をさらに備える、請求項１〜８のいずれか一項に記載のロボット（１、１ａ、１ｂ）。
【請求項１０】
実行されると少なくとも１つの特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラム（７）を格納するように設計された格納手段（６、６ａ、６ｂ）を備えるロボット（１、１ａ、１ｂ）において、請求項１〜９のいずれか一項に記載のロボットの前記ロード手段（８、９）により遠隔機器（１２）から前記コンピュータプログラムをロードすることを可能にするため、前記格納手段に格納された前記コンピュータプログラム（７）の前記遠隔機器（１２）への送信を開始させるように設計された送信手段を備えることを特徴とする、ロボット（１、１ａ、１ｂ）。
【請求項１１】
請求項１〜１１のいずれか一項に記載のロボット（１、１ａ、１ｂ）と、少なくとも１つの特定の挙動に従って前記ロボットに動作させることが可能なコンピュータプログラム（１６）を格納するように設計された格納手段（１５）、前記格納手段（１５）に格納されたコンピュータプログラム（１６）、および前記ロボットの前記ロード手段（８、９）が前記遠隔機器（１２）からのロードを開始させると前記コンピュータプログラム（１６）を前記ロボットに送信するように設計された送信手段を備えるコンピュータ機器（１２）とを備えるシステム。
【請求項１２】
前記コンピュータ機器は、前記ロボットにロードされる前記コンピュータプログラムにより符号化された前記挙動を前記ロボットが発生させることが可能であるかどうかを決定するように設計された選択手段（１３）を備える、請求項１１に記載のシステム。
【請求項１３】
前記選択手段（１３）は、前記リクエスト（１１）におけるデータに従って前記ロボットにロードされる前記コンピュータプログラムにより符号化された前記挙動を前記ロボットが発生させることが可能であるかどうかを決定することが可能である、請求項１２に記載のシステム。
【請求項１４】
ロボットを進化させる方法であって：
−前記ロボットが、特定の挙動に従って前記ロボットに動作させることが可能なコンピュータプログラム（１６）を遠隔コンピュータ機器（１２）からロードするステップと；
−前記コンピュータプログラム（１６）が実行されるときに前記ロボットが前記挙動に従って動作することが可能となるように、前記ロボットが、正当にロードされたコンピュータプログラム（１６）を格納手段（６、６ａ、６ｂ）に保存するステップと；
を含み、前記ロボットが前記コンピュータプログラムをロードする前記ステップは：
−前記ロボットがリクエスト（１１）を前記遠隔コンピュータ機器（１２）に送信するステップと；
−前記コンピュータ機器（１２）が前記リクエストに応答して前記コンピュータプログラムを前記ロボットに送信するステップと；
を含み、前記コンピュータ機器（１２）が前記リクエストに応答して前記コンピュータプログラムを前記ロボットに送信する前記ステップは：
−前記ロボットが前記コンピュータプログラムを実行することが可能であるかどうかを判定するため、前記コンピュータ機器（１２）が前記リクエスト（１１）を解析するステップと；
−前記ロボットが前記コンピュータプログラムを実行することが可能である場合、前記コンピュータ機器（１２）が前記コンピュータプログラムを送信するステップと；
を含む、方法。
【請求項１５】
−第１のロボットは、実行されると特定の挙動に従って前記第１のロボットに動作させる前記コンピュータプログラム（７）を格納手段（６、６ａ、６ｂ）に格納し；
−前記第１のロボットは、前記コンピュータプログラム（７）を遠隔機器（１２）に送信し；
−前記遠隔機器（１２）は、前記コンピュータプログラム（７）を格納手段（１５）に格納し；
−第２のロボットは、前記遠隔機器（１２）から正当に送信された前記コンピュータプログラムをロードする、請求項１４に記載の方法。
【請求項１６】
前記ロボットは、前記挙動を発生させるため、前記正当にロードされたコンピュータプログラム（１６）を実行する、請求項１４または１５に記載の方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行されると特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラムを格納するように設計された格納手段を備えるロボットに関する。
【背景技術】
【０００２】
例えば音楽トラックの読み込みまたは写真の撮影（ロボットが内蔵カメラを有する場合）を開始するために１つ以上のコンピュータアプリケーションがトリガされたときにロボットの各部材を制御する１つ以上のモータの作動に、およびセンサにより検出された外的刺激の認識に、ヒューマノイドロボット工学分野においてそれ自体既知の方法で、ロボットの挙動を対応させることが可能である。そして、格納手段に格納されたコンピュータプログラムにより、恐らくはロボットが受信した刺激に応答して、それらのコンピュータプログラムが実行されると、かかる挙動に従ってロボットに動作させることが可能になる。
【０００３】
本発明は、より詳細には、その挙動が時間を経て進化し得る上記のようなロボットに関する。
【０００４】
その挙動が時間を経て進化し得るロボットは、従来技術において既知である。
【０００５】
時間を経て進化を発生させるためには、ロボットが学習することを可能にする命令を含むコンピュータプログラムをロボットのメモリにロードすることが既知である。この種のコンピュータプログラムは、一般に人工知能ソフトウェアと呼ばれ、ロボット、ヒューマノイド、その他の製造に広く用いられている。この人工知能ソフトウェアにより、ロボットは、異なる外的刺激に対して反応し、受けた刺激によっては、時間を経て進化することが可能である。
【０００６】
しかし、複雑な人工知能ソフトウェアの場合であっても、ロボットにより発生させることが可能な挙動の数は、上で定義した格納手段に格納されたコンピュータプログラムにより制限される。そのため、ロボットを一種の知的ゲームとして用いているユーザは、ロボットが常に同じ挙動を再現していると、すぐにロボットに飽きてしまうかもしれない。これは、明らかに既知のロボットにおける欠点である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明により解決される課題は、如何にしてロボットの進化能力を向上させるか、ということである。
【０００８】
より詳細には、解決される課題は、生物の進化をより良好にシミュレートするため、如何にしてロボットが恒久的に時間を経て進化することを可能にし、ロボットを時間を経てより一層興味深いものにさせるか、ということである。
【課題を解決するための手段】
【０００９】
この課題は、ロボットが、実行されると特定の挙動に従ってロボットに動作させるコンピュータプログラムを遠隔コンピュータ機器からロードすることが可能なロード手段と、正当にロードされたコンピュータプログラムを前記格納手段に保存することが可能な保存手段とを備える、ということにより解決される。
【００１０】
それゆえ、本発明により、ロボットは、新しい挙動を発生させ、その挙動の範囲を継続的に拡張することが可能である。そのため、本発明によりロボットの進化が保証され、ロードされたプログラムにより新しい挙動に従ってロボットに動作させることが可能であれば、ロボットは新しい動作を発生させる。
【００１１】
遠隔エンティティ間でコンピュータプログラムを交換することは、コンピュータ分野では既知である。特に、第１のコンピュータが、遠隔サーバ上で、コンピュータプログラムにソフトウェアの更新を行うように要求することが既知である。しかし、かかるコンピュータプログラムの交換は、ロボットが新しい挙動に従って動作することを可能にするためにロボット工学の技術分野に適用されたことはなかった。
【００１２】
本発明の一実施形態によれば、ロード手段は、コンピュータプログラムの遠隔機器からのロードを開始させるためロードリクエストを遠隔機器に送信するように設計されている。
【００１３】
このように、リクエストを送信することにより、コンピュータプログラムのロードについての主導権はロボットが有し、ロボットは、ロード時にロボットの保有者である人間を介入させることなくコンピュータプログラムをロードする。
【００１４】
好ましくは、リクエストは、ロボットが発生させることが可能な動作に関するデータを含む。これにより、ロードされるコンピュータプログラムを、ロボットの動作能力に依存させることが可能である。すると、ロボットによりロードされた新しい挙動が、すべてロボットの能力に確実に整合することが可能になる。
【００１５】
ロボットの進化を制御することを可能にするため、ロボットは、好ましくは、進化パラメータを格納するための少なくとも１つのメモリを備え、ロード手段は、また、進化パラメータに従ってリクエストを送信するように設計されている。
【００１６】
進化パラメータは、好ましくは、遠隔機器に送信され得るリクエストの数を決定するサブスクリプションデータを含む。
【００１７】
ロボットの自然な進化をシミュレートするため、ロード手段は、コンピュータプログラムのロードを自動的に開始させるように設計されているのが有益である。
【００１８】
ロボットは、作動されるとロボットに挙動を発生させるように設計された挙動生成手段を備え、コンピュータプログラムは、実行されると、前記挙動生成手段を作動させることによりロボットの少なくとも１つの挙動に従ってロボットに動作させることが可能であってもよい。これにより、とりわけロボットの新しい動き、または新しい刺激に対する反応を生成することが可能になる。
【００１９】
特に、前記挙動生成手段は、好ましくは、モータにより制御される可動部を備え、コンピュータプログラムは、可動部の少なくとも１つを変位させるように前記モータの少なくとも１つを作動させることにより、少なくとも１つの特定の挙動に従ってロボットに動作させることが可能であってもよい。
【００２０】
ロボットは、また、アプリケーションを備えてもよく、コンピュータプログラムは、この場合、前記アプリケーションの少なくとも１つを作動させることにより少なくとも１つの挙動に従ってロボットに動作させることが可能である。
【００２１】
ロボットは、格納手段に格納されたコンピュータプログラムの遠隔機器への送信を開始させるように設計された送信手段をさらに備えてもよい。これにより、ロボットは、挙動符号化コンピュータプログラムの受信および送信の両方を行うことが可能になり、他のロボットを進化させることも可能になる、という利点がある。
【００２２】
本発明は、また、実行されると少なくとも１つの特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラムを格納するように設計された格納手段を備えるロボットであって、先に説明したロボットのロード手段が遠隔機器からコンピュータプログラムをロードすることを可能にするため、格納手段に格納されたコンピュータプログラムの遠隔機器への送信を開始させるように設計された送信手段を備えることを特徴とする、ロボットに関する。
【００２３】
これにより、新しい挙動の実行を可能にするプログラムを交換するロボットのコミュニティを訓練することが可能になる。そのため、新しい挙動の実行を可能にする新しいプログラムが、コミュニティに属する１つのロボットのために定義されると、このプログラムは、コミュニティに属するロボットの間で交換することが可能になり、コミュニティに属するすべてのロボットの進化を保証することが可能になる。
【００２４】
本発明は、また、先に説明したロボットと、実行されると少なくとも１つの特定の挙動に従ってロボットに動作させることが可能なコンピュータプログラムを格納するように設計された格納手段、格納手段に正当に格納されたコンピュータプログラム、およびロボットのロード手段が遠隔機器からのロードを開始させるとコンピュータプログラムをロボットに送信するように設計された送信手段を備えるコンピュータ機器とを備えるシステムに関する。
【００２５】
先に説明したシステムの一実施形態によれば、遠隔コンピュータ機器は、ロボットにロードされるコンピュータプログラムにより符号化された挙動をロボットが発生させることが可能であるかどうかを決定するように設計された選択手段を備える。
【００２６】
これにより、ロボットによりロードされた新しい挙動が、すべてロボットの能力に整合するようになる。
【００２７】
好ましくは、選択手段は、リクエストにおけるデータに従ってロボットにロードされるコンピュータプログラムにより符号化された挙動をロボットが発生させることが可能であるかどうかを決定することが可能である。
【００２８】
本発明は、また、ロボットを進化させる方法であって：
−ロボットが、特定の挙動に従ってロボットに動作させることが可能なコンピュータプログラムを遠隔コンピュータ機器からロードするステップと；
−コンピュータプログラムが実行されるときに挙動に従ってロボットに動作することが可能となるように、ロボットが、正当にロードされたコンピュータプログラムを格納手段に保存するステップと；
を含む方法に関する。
【００２９】
好ましくは、ロボットがコンピュータプログラムをロードするステップは：
−ロボットがリクエストを遠隔コンピュータ機器に送信するステップと；
−コンピュータ機器がリクエストに応答してコンピュータプログラムをロボットに送信するステップと；
を含む。
【００３０】
好ましくは、コンピュータ機器がリクエストに応答してコンピュータプログラムをロボットに送信するステップは：
−ロボットがコンピュータプログラムを実行することが可能であるかどうかを判定するため、コンピュータ機器がリクエストを解析するステップと；
−ロボットがコンピュータプログラムを実行することが可能である場合、コンピュータ機器がコンピュータプログラムを送信するステップと；
を含む。
【００３１】
ロボットのコミュニティを訓練してロボットを簡単に進化させるため、先に説明した方法は、好ましくは：
−第１のロボットが、実行されると特定の挙動に従って第１のロボットに動作させるコンピュータプログラムを格納手段に格納するステップと；
−第１のロボットがコンピュータプログラムを遠隔機器に送信するステップと；
−遠隔機器がコンピュータプログラムを格納手段に格納するステップと；
−第２のロボットが、遠隔機器から正当に送信されたコンピュータプログラムをロードするステップと；
を含む。
【００３２】
この方法において、ロボットは、挙動を発生させるため、正当にロードされたコンピュータプログラムを実行してもよい。
【００３３】
続いて、本発明の実施形態を以下の添付の図面を参照して説明する。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施形態によるロボットを示す。
【図２】図１を参照して説明するロボットの中央ユニットの詳細な実施形態を示す。
【図３】図１に示すロボットによる挙動符号化コンピュータプログラムの遠隔機器からのロードを示す。
【図４】挙動符号化コンピュータプログラムを交換することが可能な本発明によるロボットのコミュニティを示す。
【図５】図１を参照して説明するロボットの中央ユニットの別の実施形態を示す。
【発明を実施するための形態】
【００３５】
図中、同一の参照符号は同様の技術的特徴を表す。
【００３６】
図１に示すように、本発明によるロボット１は、１つ以上の可動部２ａ〜２ｅ、および１組のセンサ２３ａ〜２３ｆを備える。ロボット１がヒューマノイドロボットの場合、可動部２ａ〜２ｅは人間の各部に対応する。図１において、例えば、可動部２ａおよび２ｄはロボット１の両腕に対応し、可動部２ｂおよび２ｃは両脚に対応し、可動部２ｅは頭に対応する。すべての可動部は、それぞれモータを備える関節３ａ〜３ｅにより変位させることが可能である。関節３ａ〜３ｅのモータを作動させると、モータは、ロボット１が異なる挙動を発生させることが可能なように可動部２ａ〜２ｅを動かす。
【００３７】
ロボット１の挙動は、また、１つ以上のアプリケーション４により発生させることも可能である。例えば、アプリケーション４は、ロボットによる内蔵デジタルカメラを用いてデジタル写真を撮影する動作や、顔認識アプリケーションを用いる顔認識や、必ずしも可動部２ａ〜２ｅを変位させない動作を伴う他のいずれかのアプリケーションに対応させてもよい。
【００３８】
ロボット１の挙動の発生は、また、センサ２３ａ〜２３ｆにより感知された刺激に対する反応に対応させることも可能である。
【００３９】
ロボットの挙動の発生、すなわち関節３ａ〜３ｅの作動を介する可動部２ａ〜２ｅの変位、アプリケーション４の起動、およびセンサ２３ａ〜２３ｆにより感知された刺激に対するおよそすべての反応は、中央ユニット５により制御される。
【００４０】
図２において中央ユニット５をより詳細に説明する。
【００４１】
中央ユニット５は、一連のコンピュータプログラム命令を実行するためのプロセッサおよびメモリ（図示せず）を備える。また、オペレーティングシステム（図示せず）も備える。下記の構成要素は、それ自体既知の方法でプロセッサおよびメモリと相互作用することで、説明される機能を果たす。
【００４２】
中央ユニットは、また、挙動データベース６も備える。これは、特定の挙動に従ってロボット１に動作させることが可能なコンピュータプログラム７のデータベースである。これらのコンピュータプログラム７は、ロボットのプロセッサにより実行されると、関節３ａ〜３ｅの特定の作動を開始させて可動部２ａ〜２ｅの動きを引き起こすか、またはセンサ２３ａ〜２３ｆから得られる情報を処理する命令を含む。また、アプリケーション４の作動を開始させることも可能である。そのため、データベース６からのコンピュータプログラム７が実行されると、ロボット１は、コンピュータプログラム７に関連する特定の挙動を発生させる。
【００４３】
中央ユニット５は、また、データベース６と協働して、ロボット１が所与の時点において取るべき挙動、すなわち所与の時点において実行されなければならないコンピュータプログラム７を決定する人工知能ユニット８も備える。人工知能ユニットは、それ自体既知であり、ロボット１のセンサにより感知された外的刺激により、または事前にプログラムされた挙動目的により適切な挙動の選択を可能にする人工知能コンピュータプログラムを含む。
【００４４】
中央ユニット５は、また、ロボット１から遠隔コンピュータ機器にデータを送信し、その遠隔コンピュータ機器からデータを受信するように設計されたデータ交換手段９も備える。このようなデータ交換手段は、例えば、ＷｉＦｉ無線ネットワーク通信カードまたは有線ネットワーク通信カードを備える。これにより、送信チャネル１０を介してロボットの外の世界とデータを交換することが可能になる。
【００４５】
中央ユニット５は、また、データ交換手段９により受信されたデータを復元し、前記データをデータベース６に格納するために用いることが可能な保存モジュール２２も備える。
【００４６】
続いて、ロボット１の進化が如何にして行われるかについて図３を参照して詳細に説明する。
【００４７】
上記のデータ送信手段９により、ロボット１はリクエスト１１を遠隔コンピュータ機器１２に送信する。以下で詳細に説明する手段に加え、遠隔コンピュータ機器は、一連のコンピュータプログラム命令を実行するプロセッサおよびメモリ（図示せず）を備える。下記の構成要素は、それ自体既知の方法でプロセッサおよびメモリと相互作用することで、説明される機能を実行する。
【００４８】
リクエスト１１の目的は、ロボットに新しい挙動を提供する新しいコンピュータプログラムを遠隔機器１２から受信することである。リクエスト１１は、とりわけロボット１の識別子を含む。
【００４９】
リクエスト１１は、ロボットのデータ送信手段９に適した有線または無線のデータ送信手段をやはり備える遠隔機器１２において受信される。リクエスト１１は、次いで、挙動選択手段１３により解析される。これらの挙動選択手段１４は、リクエスト１１における識別子を読み込んでロボット１を識別する。選択手段１３は、この識別子を用いて、リクエスト１１を送信したロボット１の技術的特徴を第１のデータベース１４から決定することで、新しい挙動を、ロボット１が発生させることが可能な動作に適合させる。
【００５０】
さらに、ロボット１の識別子に代えて、またはそれに加えて、リクエスト１１は、ロボットが発生させることが可能な動作に関するデータを含むことも可能である。かかるデータは、例えば、コンピュータプログラムが実行されたときに作動され得るロボット１の構成要素のリストの形態を取る。このリストは、例えば、センサ２３ａ〜２３ｆの、および／または可動部２ａ〜２ｅの、および／またはアプリケーション４の識別子を含んでもよい。
【００５１】
例えば、ロボット１の脚２ｂが膝レベルの関節を含まず、リクエスト１１が脚のための新しい挙動を得るためのリクエストである場合、選択手段１３は、ロボット１がいずれの膝関節も含まないことを識別し、膝関節レベルの動きを含まない脚挙動のみを選択する。このため、選択手段１３により、新しい挙動を、リクエスト１１を送るロボット１の物理的特徴に適合させることが可能になる。
【００５２】
ロボット１が識別され、物理的特徴に整合しないいずれの挙動も選択手段１３により排除されたら、選択手段１３は、挙動データベース１５から、ロボット１が特定の挙動に従って動作することを可能にするコンピュータプログラムを復元する。
【００５３】
ロボット１に含まれるデータベース７と同様に、挙動データベース１５は、ロボットのプロセッサにより実行されると、ロボットの挙動を開始させる命令を含むコンピュータプログラム１６を含む。ロボット１によりロードされ得るコンピュータプログラム１６は、また、コンピュータプログラム１６の一定の命令により呼び出される機能を実行するためにロボット１が必要とするコンピュータモジュールを含むことも可能である。
【００５４】
コンピュータプログラム１６が選択されると、遠隔機器１２から、リクエスト１１を送ったロボット１に送信１７される。コンピュータプログラムは、次いで、データ交換手段９によりロボットに受信される。コンピュータプログラム１６は、次いで、保存手段２２によりデータベース６に保存される。それにより、人工知能ユニット８がコンピュータプログラム１６にアクセスすることが可能になり、ロボット１は、コンピュータプログラム１６に含まれる命令に対応する新しい挙動を発生させることができるようになる。先に述べたように、この新しい挙動は、可動部２ａ〜２ｅの動きを引き起こす関節３ａ〜３ｅの特定の作動であってもよい。また、アプリケーション４の作動を開始させるものであってもよい。そのため、データベース６からのコンピュータプログラム１６が実行されると、ロボット１は、コンピュータプログラム１６に関連するこの新しい特定の挙動を発生させる。
【００５５】
続いて、コンピュータプログラム１６が遠隔機器１２のデータベース１５から如何にしてロードされるかについて説明する。
【００５６】
図４に示す本発明の一実施形態によれば、遠隔機器１２のデータベース１５におけるコンピュータプログラム１６が、互換性のあるロボットのコミュニティをロボット１とともに訓練するロボット１ａおよび１ｂから受信される。従って、ロボット１と同様に、ロボット１ａおよび１ｂは、実行されるとロボット１ａおよび１ｂが関節のモータまたはアプリケーションを作動させることにより挙動を発生させることをそれぞれ可能にするコンピュータプログラムを含むデータベース６ａおよび６ｂを含む。また、ロボット１ａおよび１ｂは、各々、これらの挙動符号化コンピュータプログラムを遠隔機器１２に送信するように設計された送信手段を備える。従って、ステップ１８ａにおいて、ロボット１ａは、１つ以上のコンピュータプログラムをそのデータベース６ａから機器１２に送信し、ステップ１８ｂにおいて、ロボット１ｂは、１つ以上のコンピュータプログラムをそのデータベース６ｂから機器１２に送信する。これらのコンピュータプログラムは、遠隔機器１２のデータベース１５に格納され、先に説明したようにリクエストを介してロボット１がアクセスすることが可能になる。
【００５７】
同様に、ロボット１ａおよび１ｂは、新しい挙動のための新しい挙動符号化コンピュータプログラムを遠隔機器１２から受信するため、先に説明したロボット１と同様に設計することが可能である。さらに、ロボット１をロボット１ａおよび１ｂと同様に設計し、データベース６に格納されたコンピュータプログラム７を送信できるようにしてもよい。
【００５８】
それにより、ロボット１、１ａ、および１ｂにより訓練されるコミュニティにより、本発明によるロボットが進化する可能性が非常に大きくなる、ということが理解されよう。実際、ロボット１ａの所有者が、新しい挙動のための新しい挙動符号化コンピュータプログラムを所有者のロボット１ａのために開発した場合、遠隔機器１２のデータベース１５は、ロボットのコミュニティに属するロボット１ａ、１ｂ、および１が発生させ得るすべての挙動のためのすべての挙動符号化コンピュータプログラム１６を含むため、ロボットのコミュニティ全体、とりわけロボット１ｂおよび１が、新しいコンピュータプログラムを遠隔機器１２から受信することによりこの新しい挙動の恩恵を受けることが可能である。従って、プログラマのコミュニティは、データベース１５を継続的にインクリメントおよび改良することで、コミュニティに属するロボットを進化させることが可能である。
【００５９】
続いて、遠隔機器１２のデータベース１５からコンピュータプログラム１６を受信するためのロボット１からのリクエスト１１が如何にしてトリガされるかについて説明する。
【００６０】
本発明の一実施形態によれば、リクエスト１１は、ロボット１により定期的に自動的にトリガすることが可能である。このために、１日当たり一定の回数（例えば３回）だけリクエスト１１がトリガされるように、命令は例えば人工知能ユニット５においてプログラムされる。しかし、ロボットにより送られるリクエスト１１の数が制限されていない場合、ロボットの進化が強すぎ、その保有者による制御が及ばなくなるリスクがある。
【００６１】
図５に示す本発明の別の実施形態によれば、ロボット１により送信されるリクエスト１１の数は、遠隔機器１２へのサブスクリプションにより決定される。このために、サブスクリプションにより変更することが可能な動的パラメータに等しい回数だけリクエスト１１がトリガされるように、命令は例えば中央ユニット５のメモリエリア１９においてプログラムされる。次いで、遠隔機器１２へのサブスクリプションを行うロボット１の保有者が、決定されたリクエストの数だけ（例えばウェブインタフェースにより）サブスクリプションを発生させる。遠隔機器１２は、これらのサブスクリプション命令を受信したら、サブスクリプションパラメータをロボット１に送信し、遠隔機器１２へのリクエストの数がこのパラメータに制限されるようにする。サブスクリプションパラメータ２０はメモリエリア１９に格納される。リクエスト１１がロボット１から送られると、遠隔機器１２は、既に送られたリクエストの回数を比較し、サブスクリプションにより決定されたリクエストの最大数が到達されていない場合のみ、プログラム１６の送信を承認する。プログラム１６がロボット１に送信される場合、遠隔機器１２は、リクエストカウンタをデクリメントすることで、送信されたプログラム１６を考慮に入れる。
【００６２】
さらに、ロボット１により送信され得るリクエスト１１の数以外に、送信されるリクエスト１１の種類も、ロボットの存在目的の形態で事前にプログラムするか、またはサブスクリプションにより変更させてもよい。例えば、ロボット１の存在目的はダンスロボットである、ということをロボット１に事前にプログラムすることが可能である。そのため、ロボット１からのリクエスト１１を、ダンス挙動や音楽に関するリクエストに制限することが可能である。存在目的は、例えば、ロボット１のメモリエリア１９においてパラメータ２１の形態で格納される。
【００６３】
そして、サブスクリプションパラメータ２０および存在目的パラメータ２１は、ロボット１の進化を決定する進化パラメータを形成する。
【００６４】
同様に、選択手段１３は、リクエスト１１を受信し、ロボット１を識別すると、ロボット１がダンスロボットであると識別し、ダンス挙動符号化コンピュータプログラム１６を優先的に選択する。
【００６５】
そして、人工知能ユニット８を用いて、サブスクリプションとロボット１の事前にプログラムされた存在目的とに従って、リクエスト１１の送信、ひいては遠隔機器１２のデータベース１５からのコンピュータプログラム１６のロードが自動的に開始される。
【００６６】
本発明の一実施形態によれば、例えばロボット１ａにより送信されるコンピュータプログラムを、ロボット１に直接送信することが可能である。それにより、この場合、リクエスト１１はロボット１からロボット１ａに直接送られ、遠隔機器１２がロボット１、１ａ、および１ｂと同化することになる。しかし、この実施形態には、ロボットにより交換されるコンピュータプログラムの種類に対するいずれの制御も妨げられ、ロボットの挙動を制御することが不可能になる、という欠点がある。実際、いずれの外部制御も行われない場合、プログラマが、ロボットに対して危険な挙動のための挙動符号化コンピュータプログラムを生成してしまうと、このロボットはこの危険な挙動を他のロボットに送信してしまう可能性がある。
【００６７】
そのため、本発明の第２の実施形態によれば、遠隔機器１２は、常にロボット１、１ａ、および１ｂから分離しており、挙動符号化コンピュータプログラムは、ロボットによりロードされることが可能になる前に遠隔機器１２を通過する。すると、コンピュータ機器１２上で、ロボットから受信したコンピュータプログラムをチェックして、それらのプログラムが危険な挙動を符号化したものでないか確認することが可能になる。従って、第１のロボット１ａと第２のロボット１との間で挙動を交換するため、第１のロボット１ａは、そのデータベース６ａに、実行されると第１のロボット１ａに特定の挙動に従って動作させるコンピュータプログラム７を格納し、第１のロボット１ａは、コンピュータプログラム７を遠隔機器１２に送信し、第２のロボット（例えばロボット１）は、正当に送信されたコンピュータプログラムを遠隔機器１２からロードする。
【図１】
2010538849.tif 000003
【図２】
2010538849.tif 000004
【図３】
2010538849.tif 000005
【図４】
2010538849.tif 000006
【図５】
2010538849.tif 000007
【手続補正書】
【提出日】平成21年2月10日(2009.2.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
実行されると特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラムを格納するように設計された格納手段（６、６ａ、６ｂ）を備えるロボット（１、１ａ、１ｂ）であって、実行されると特定の挙動に従って前記ロボットに動作させるコンピュータプログラム（１６）を遠隔コンピュータ機器（１２）からロードすることが可能なロード手段（８、９）と、前記正当にロードされたコンピュータプログラム（１６）を前記格納手段（６、６ａ、６ｂ）に保存することが可能な保存手段（２２）とを備え、前記ロード手段は、前記コンピュータプログラムの前記遠隔機器（１２）からのロードを開始させるためロードリクエスト（１１）を前記遠隔機器に送信するように設計されており、前記リクエストは、前記ロボットが発生させることが可能な動作に関するデータを含む、ロボットにおいて、前記ロボットは、前記単一のロボットにより開始されるロードリクエストを自動的にトリガするためのパラメータを格納するための少なくとも１つのメモリを備えることを特徴とする、ロボット（１、１ａ、１ｂ）。
【請求項２】
ロードリクエストをトリガするための前記パラメータは、存在目的パラメータを含む、請求項１に記載のロボット（１、１ａ、１ｂ）。
【請求項３】
少なくとも１つの存在目的は、前記ロボットが発生させる１組の挙動により定義される、請求項２に記載のロボット（１、１ａ、１ｂ）。
【請求項４】
ロードリクエストをトリガするための前記パラメータは、前記ロボットのユーザがサブスクリプションを行ったサブスクリプションパラメータを含む、請求項１〜３のいずれか一項に記載のロボット（１、１ａ、１ｂ）。
【請求項５】
前記サブスクリプションパラメータ（２０）は、前記遠隔機器に送信され得るリクエストの数を含む、請求項１〜４のいずれか一項に記載のロボット。
【請求項６】
作動されると前記ロボットに前記ロボットの挙動を発生させるように設計された挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）を備え、前記コンピュータプログラム（１６）は、実行されると、前記挙動生成手段を作動させることにより少なくとも１つの挙動に従って前記ロボットに動作させることが可能である、請求項１〜４のいずれか一項に記載のロボット。
【請求項７】
前記挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）は、モータにより制御される可動部（２ａ〜２ｅ）を備え、前記コンピュータプログラム（１６）は、前記可動部の少なくとも１つを動かすように前記モータの少なくとも１つを作動させることにより、少なくとも１つの挙動に従って前記ロボットに動作させることが可能である、請求項６に記載のロボット。
【請求項８】
前記挙動生成手段（２ａ〜２ｅ、３ａ〜３ｅ、４、２３ａ〜２３ｆ）は、アプリケーション（４）を備え、前記コンピュータプログラム（１６）は、前記アプリケーションの少なくとも１つを作動させることにより少なくとも１つの挙動を発生させることが可能である、請求項６または７に記載のロボット。
【請求項９】
前記格納手段（６、６ａ、６ｂ）に格納された前記正当にロードされたコンピュータプログラム（１６）をさらに備える、請求項１〜７のいずれか一項に記載のロボット。
【請求項１０】
前記格納手段に格納された前記コンピュータプログラム（７）の前記遠隔機器（１２）への送信を開始させるように設計された送信手段をさらに備える、請求項１〜８のいずれか一項に記載のロボット（１、１ａ、１ｂ）。
【請求項１１】
実行されると少なくとも１つの特定の挙動に従ってロボットに動作させる少なくとも１つのコンピュータプログラム（７）を格納するように設計された格納手段（６、６ａ、６ｂ）を備えるロボット（１、１ａ、１ｂ）において、請求項１〜９のいずれか一項に記載のロボットの前記ロード手段（８、９）により遠隔機器（１２）から前記コンピュータプログラムをロードすることを可能にするため、前記格納手段に格納された前記コンピュータプログラム（７）の前記遠隔機器（１２）への送信を開始させるように設計された送信手段を備えることを特徴とする、ロボット（１、１ａ、１ｂ）。
【請求項１２】
請求項１〜１１のいずれか一項に記載のロボット（１、１ａ、１ｂ）と、少なくとも１つの特定の挙動に従って前記ロボットに動作させることが可能なコンピュータプログラム（１６）を格納するように設計された格納手段（１５）、前記格納手段（１５）に格納されたコンピュータプログラム（１６）、および前記ロボットの前記ロード手段（８、９）が前記遠隔機器（１２）からのロードを開始させると前記コンピュータプログラム（１６）を前記ロボットに送信するように設計された送信手段を備えるコンピュータ機器（１２）とを備えるシステム。
【請求項１３】
前記コンピュータ機器は、前記ロボットにロードされる前記コンピュータプログラムにより符号化された前記挙動を前記ロボットが発生させることが可能であるかどうかを決定するように設計された選択手段（１３）を備える、請求項１２に記載のシステム。
【請求項１４】
前記選択手段（１３）は、前記リクエスト（１１）におけるデータに従って前記ロボットにロードされる前記コンピュータプログラムにより符号化された前記挙動を前記ロボットが発生させることが可能であるかどうかを決定することが可能である、請求項１３に記載のシステム。
【請求項１５】
ロボットを進化させる方法であって：
−前記ロボットが、特定の挙動に従って前記ロボットに動作させることが可能なコンピュータプログラム（１６）を遠隔コンピュータ機器（１２）からロードするステップと；
−前記コンピュータプログラム（１６）が実行されるときに前記ロボットが前記挙動に従って動作することが可能となるように、前記ロボットが、前記正当にロードされたコンピュータプログラム（１６）を格納手段（６、６ａ、６ｂ）に保存するステップと；
を含み、前記ロボットが前記コンピュータプログラムをロードする前記ステップは：
−前記ロボットは、メモリに格納されたロードリクエストをトリガするためのパラメータに従って、前記単一のロボットの主導により自動的に、前記ロボットが発生させることが可能な動作に関するデータを含むリクエスト（１１）を前記遠隔コンピュータ機器（１２）に送信するステップと；
−前記コンピュータ機器（１２）が前記リクエストに応答して前記コンピュータプログラムを前記ロボットに送信するステップと；
を含み、前記コンピュータ機器（１２）が前記リクエストに応答して前記コンピュータプログラムを前記ロボットに送信する前記ステップは：
−前記ロボットが前記コンピュータプログラムを実行することが可能であるかどうかを判定するため、前記コンピュータ機器（１２）が前記リクエスト（１１）を解析するステップと；
−前記ロボットが前記コンピュータプログラムを実行することが可能である場合、前記コンピュータ機器（１２）が前記コンピュータプログラムを送信するステップと；
を含む、方法。
【請求項１６】
−第１のロボットは、実行されると特定の挙動に従って前記第１のロボットに動作させる前記コンピュータプログラム（７）を格納手段（６、６ａ、６ｂ）に格納し；
−前記第１のロボットは、前記コンピュータプログラム（７）を遠隔機器（１２）に送信し；
−前記遠隔機器（１２）は、前記コンピュータプログラム（７）を格納手段（１５）に格納し；
−第２のロボットは、前記遠隔機器（１２）から正当に送信された前記コンピュータプログラムをロードする、請求項１５に記載の方法。
【請求項１７】
前記ロボットは、前記挙動を発生させるため、前記正当にロードされたコンピュータプログラム（１６）を実行する、請求項１５または１６に記載の方法。
【国際調査報告】
2010538849.tif 000008
2010538849.tif 000009
2010538849.tif 000010
2010538849.tif 000011
2010538849.tif 000012
2010538849.tif 000013