(57)【要約】  本発明は、ロボット（１、６）との通信が可能なコンピュータ機器（２）に基づいてロボットの運動を編集する方法であって：ロボットの複数の基準位置（１０）を生成するステップと；少なくとも１つの位置の時系列（９ａ、９ｂ）を生成するステップであって、位置の時系列は、複数の基準位置（１０）、および２つの連続する基準位置の間の遷移運動（１１）を含む、ステップと；を含み、ロボットは、ロボットの変位を生じさせるコンピュータ機器に含まれた変位手段（７ａ、７ｂ、７ｃ）と相互依存するようになされ、ロボットは、実ロボットおよび／またはコンピュータ機器のスクリーン上に表示された仮想ロボットである、方法に関する。
2010531743.tif 000002
【特許請求の範囲】
【請求項１】
ロボット（１、６）との通信に適した計算装置（２）から前記ロボットの運動を編集するための方法であって：
−前記ロボットの複数の基準位置（１０）を生成するステップと；
−少なくとも１つの位置の時系列（９ａ、９ｂ）を生成するステップであって、前記位置の時系列は、前記複数の基準位置（１０）、および２つの連続する基準位置の間の遷移運動（１１）を含む、ステップと；を含む方法において、
前記ロボットと、前記ロボットの前記運動を引き起こす、前記計算装置に含まれた運動手段（７ａ、７ｂ、７ｃ）との間に相互依存を生じさせ、
前記ロボットは、実ロボットおよび／または前記計算装置のスクリーン上に表示された仮想ロボットであることを特徴とする方法。
【請求項２】
前記複数の基準位置を生成するステップは、前記ロボットの前記運動を引き起こす、前記計算装置に含まれた運動手段（７ａ、７ｂ、７ｃ）により、前記基準位置を定義するように前記位置の時系列の基準位置を生成するステップを含む、請求項１に記載の方法。
【請求項３】
前記複数の基準位置を生成するステップは：
−前記ロボットを要求された位置に運動させることにより、前記基準位置をさらに生成するステップと；
−前記要求された位置の特性を前記計算装置に記録するステップと；
−前記要求された位置の前記特性に基づいて前記基準位置を定義するステップと；をさらに含む、請求項１に記載の方法。
【請求項４】
前記複数の基準位置を生成するステップは：
−前記位置の時系列に従い、前記ロボットの少なくとも１つの関節の特性における時間的変化のグラフィック表現（１３）を表示するステップと；
−前記位置の時系列を変更するように、前記時間的変化の前記グラフィック表現を変更するステップと；
−前記グラフィック表現の変更に従い、新しい位置の時系列を生成するステップと；をさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ロボットは複数の関節を含み、
−複数の位置の時系列（９ａ、９ｂ）を生成するステップであって、前記位置の時系列の各々は、前記複数の関節のうちのいくつかの関節の位置に対応する基準位置を含む、ステップ；を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記複数の関節について前記ロボットの運動を引き起こすように、前記複数の位置の時系列の前記位置の時系列を同時に読み込む、請求項５に記載の方法。
【請求項７】
前記仮想ロボットは、実ロボットとシミュレータとに基づいて生成され、前記シミュレータは、前記実ロボットの各運動が前記仮想ロボットについて同じ動きを引き起こすことができるとともに、前記仮想ロボットの各運動が前記実ロボットについて同じ運動を引き起こすことができるように設計されている、請求項６に記載の方法。
【請求項８】
ロボットの運動を編集するためのシステムであって、前記ロボットとの通信に適した計算装置を含み、前記システムは：
−前記ロボットの複数の基準位置を生成する第１の手段と；
−前記複数の基準位置を含む位置の時系列を生成する第２の手段であって、２つの基準位置の間の前記ロボットの前記運動を補間に基づいて生成する、第２の手段と；
−前記ロボットと相互依存し、前記ロボットの運動を引き起こすために適した運動手段（７ａ、７ｂ、７ｃ）と；を含み、
前記ロボットは、実ロボットおよび／または前記計算装置のスクリーン上に表示された仮想ロボットであるシステム。
【請求項９】
前記基準位置を定義するように、前記計算装置に含まれた前記運動手段に基づいて前記位置の時系列の基準位置を生成する第３の手段；をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記ロボットを要求された位置に運動させることにより前記基準位置をさらに生成し、前記要求された位置の特性を前記計算装置に記録し、前記要求された位置の前記特性に基づいて前記基準位置を定義するための第４の手段；をさらに含む、請求項８または９に記載のシステム。
【請求項１１】
前記位置の時系列に従い、前記ロボットの少なくとも１つのモータの特性における時間的変化のグラフィック表現を表示する手段と；前記位置の時系列を変更するように、前記時間的変化の前記グラフィック表現を変更する手段と；前記グラフィック表現の変更に従い、新しい位置の時系列を変更する手段と；を含む、請求項８〜１０のいずれか一項に記載のシステム。
【請求項１２】
前記ロボットは複数の関節を含み、前記システムは、複数の位置の時系列を生成する手段であって、前記位置の時系列の各々は、前記複数の関節のうちのいくつかの関節の位置に対応する基準位置を含む、手段を含む、請求項８〜１１のいずれか一項に記載のシステム。
【請求項１３】
前記複数の関節によって前記ロボットの運動を引き起こすように、前記複数の位置の時系列の前記位置の時系列を同時に読み込む手段を含む、請求項１２に記載のシステム。
【請求項１４】
ロボットとの通信に適した計算装置にロードされ、実行されると、請求項１〜７のいずれか一項に記載のロボットの運動の編集を可能にするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットとの通信に適した計算装置からロボットの運動を編集するための方法に関する。
【０００２】
本発明は、また、ロボットとの通信に適した計算装置を含む、ロボットの運動を編集するためのシステムに関する。
【０００３】
本発明は、また、ロボットとの通信に適した計算装置にロードされ、実行されると、ロボットの運動の編集を可能にするコンピュータプログラムに関する。
【背景技術】
【０００４】
特にロボットの運動を編集するための方法が既知である。かかる方法は、ロボットが再生可能な運動を、開発者またはユーザが編集することを可能にする。これは、例えば、歩いたり踊ったりする運動、またはより単純に、腕を上げたり振ったりする運動に関わるものである。
【０００５】
かかる既知の方法では、ロボットとの通信に適した計算装置にコンピュータプログラムがロードされる。このコンピュータプログラムは、例えば、ロボットの１つ以上の関節の位置を、これらの関節に関連付けられたモータを介して変更することを可能にするインタフェースを生成する。インタフェースは、計算装置のスクリーン上に、２つの境界の間で移動されるカーソル、または変更される数値の形態で表すことができる。カーソルの位置または数値の変更により、ロボットのモータの位置を変更することが可能である。このロボットは、計算装置とは分離された実ロボット、または例えば計算装置のスクリーン上に表示された仮想ロボットのいずれであってもよい。
【０００６】
既知の方法では、このように、計算装置にロードされたコンピュータプログラムにより、ロボットに対して複数の位置が定義される。
【０００７】
これらの異なる位置は、次いで、「タイムライン」と呼ばれる位置の時系列に統合される。かかる位置の時系列には、その位置の時系列を定義するように時間遷移を介して相互接続された、「キーフレーム」と呼ばれる一連の基準位置が含まれる。位置の時系列では、ロボットが呈する、異なる位置、すなわちロボットのモータの異なる位置が、上述のように計算装置上に表示されたインタフェースから、例えばカーソルにより生成される。
【０００８】
計算装置上に表示されたカーソルに基づくこの種の編集方法には、位置の時系列における基準位置の微調整を可能にする、という利点がある。
【０００９】
しかし、この種の方法は、ロボットの大幅な運動、すなわち位置の大まかな調整を定義するには不便である。特に、ロボットの運動がモータを駆動させるカーソルに基づいて定義される場合は、十分な運動が行われるように駆動対象のモータの各々のカーソルを操作することは複雑である。このため、ロボットの運動を編集するための既知の方法では、ユーザが簡単に広範囲の運動を編集することは不可能である。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、本発明により解決される課題は、ロボットの広範囲の運動の編集を容易にすることである。
【課題を解決するための手段】
【００１１】
本発明の第１の態様による方法によれば、この問題は、ロボットとの通信に適した計算装置からロボットの運動を編集するための方法により解決され、かかる方法は：
−ロボットの複数の基準位置を生成するステップと；
−位置の時系列を生成するステップであって、位置の時系列は、複数の基準位置、および２つの連続する基準位置の間の遷移運動を含む、ステップと；を含み、
複数の基準位置を生成するステップは：
−ロボットの運動を引き起こす、計算装置の運動手段により、基準位置を定義するように位置の時系列の基準位置を生成するステップ；を含み、
複数の基準位置を生成するステップは：
−ロボットを要求された位置に運動させることにより、基準位置をさらに生成するステップと；
−要求された位置の特性を計算装置に記録するステップと；
−要求された位置の特性に基づいて基準位置を定義するステップと；をさらに含む、方法である。
【００１２】
従って、本発明により、ユーザは、まず、実際にまたは仮想的にロボットを運動させることによりロボットの位置の大まかな調整を行い、次いで、計算装置の運動手段により微調整を行うことにより、基準位置を定義することができる。
【００１３】
これにより、ロボットの多数の位置を簡単に生成することが可能になる。
【００１４】
一実施形態によれば、複数の基準位置を生成するステップは：
−位置の時系列に従い、ロボットの少なくとも１つの関節の特性における時間的変化のグラフィック表現を表示するステップと；
−位置の時系列を変更するように、時間的変化のグラフィック表現を変更するステップと；
−グラフィック表現の変更に従い、新しい位置の時系列を生成するステップと；をさらに含む。
【００１５】
一実施形態によれば、ロボットは複数の関節を含み、本方法は：
−複数の位置の時系列を生成するステップであって、位置の時系列の各々は、複数の関節のうちのいくつかの関節の位置に対応する基準位置を含む、ステップ；を含む。
【００１６】
この実施形態では、複数の関節についてロボットの運動を引き起こすように、複数の位置の時系列の位置の時系列を同時に読み込む。
【００１７】
一実施形態によれば、ロボットは実ロボットである。
【００１８】
異なる実施形態によれば、ロボットは計算装置のスクリーン上に表示された仮想ロボットである。
【００１９】
この場合、仮想ロボットは、実ロボットとシミュレータとに基づいて生成され、シミュレータは、実ロボットの各運動が仮想ロボットについて同じ動きを引き起こすことができるとともに、仮想ロボットの各運動が実ロボットについて同じ運動を引き起こすことができるように設計されている。
【００２０】
また、本発明の第２の態様によれば、上述の問題は、ロボットとの通信に適した計算装置にロードされ、実行されると、先に説明した方法によるロボットの動作の編集を可能にするコンピュータプログラムにより解決される。
【００２１】
本発明は、また、ロボットとの通信に適した計算装置を含む、ロボットの動作を編集するためのシステムに関し、本システムは：
−ロボットの複数の基準位置を生成する第１の手段と；
−位置の時系列を生成する第２の手段であって、位置の時系列は、複数の基準位置、および２つの連続する基準位置の間の運動を含む、第２の手段と；
−ロボットの少なくとも１つのモータの運動を引き起こすために適した運動手段と；
−基準位置を定義するように、計算装置の運動手段に基づいて位置の時系列の基準位置を生成する第３の手段と；
−ロボットを要求された位置に運動させることにより基準位置をさらに生成し、要求された位置の特性を計算装置に記録し、要求された位置の特性に基づいて基準位置を定義するための第４の手段と；を含む、システムである。
【００２２】
上記システムの一実施形態によれば、本システムは：位置の時系列に従い、ロボットの少なくとも１つのモータの特性における時間的変化のグラフィック表現を表示する手段と；位置の時系列を変更するように、時間的変化のグラフィック表現を変更する手段と；グラフィック表現の変更に従い、新しい位置の時系列を変更する手段と；を含む。
【００２３】
一実施形態によれば、ロボットは複数の関節を含み、本システムは、複数の位置の時系列を生成する手段であって、位置の時系列の各々は、複数の関節のうちのいくつかの関節の位置に対応する基準位置を含む、手段を含む。
【００２４】
この場合、本システムは、複数の関節によってロボットの運動を引き起こすように、複数の位置の時系列の位置の時系列を同時に読み込むための手段を備える。
【００２５】
本発明の実施形態を、以下の添付図面を参照して説明する。
【図面の簡単な説明】
【００２６】
【図１】本発明によるシステムを示す。
【図２】本発明による方法を実施するための第１のインタフェースを示す。
【図３】本発明による方法を実施するための位置の時系列を含む第２のインタフェースを示す。
【図４】本発明による方法を実施するための第３のインタフェースを示す。
【発明を実施するための形態】
【００２７】
図１は、実ロボット１を概略的に示す。本発明は、実ロボット１の運動の編集を可能にする。実ロボット１は、その関節にモータを含むとともに、モータの位置の決定を可能にするセンサを含む。実ロボット１は、通信手段３を介した計算装置２との通信、すなわちデータ交換に適している。このような通信手段３は、例えばＷｉＦｉ無線ネットワークタイプである。
【００２８】
図２は、本発明によるロボットの運動を編集するための方法を実施するための第１のインタフェース４を示す。計算装置２にコンピュータプログラムがロードされると、計算装置２のスクリーン上にこのインタフェース４が生成される。
【００２９】
第１のインタフェース４は、実ロボット１の仮想表現を仮想ロボット６の形態で提供するウィンドウ５を含む。仮想ロボット６は、シミュレータを用いて実ロボット１をシミュレーションすることにより実装される。シミュレータは、起動させても停止させてもよく、実ロボット１の運動および行動に加え、実ロボット１が発し得る光、音、または言葉をもウィンドウ５内で視覚化可能である。シミュレータは、物理法則を組み込んでおり、例えばロボットがバランスを失えば転倒させ、また、実ロボットが物体に触れれば接触を生じさせる。また、運動の定義を容易にするため、シミュレータは、実ロボット１に搭載されたカメラにより記録された画像を視覚化することも可能である。これにより、実ロボット１の環境を考慮しつつ、仮想ロボット６に基づいて実ロボット１の運動を定義することが可能になる。シミュレータは、実ロボット１のすべての挙動が仮想ロボット６上で実行できるように、実ロボット１に接続されている。シミュレータが起動されている場合、仮想ロボット６の運動により、実ロボット１で同じ運動が引き起こされる。同様に、実ロボット１の運動により、仮想ロボット６で同じ運動が引き起こされる。複数の実ロボット１を複数の仮想ロボット６の形態でウィンドウ５内に表すことも可能で、実ロボット１が物理的に近くにない場合であっても、実ロボット１をグループ化して同期的にシミュレータから制御することが可能である。
【００３０】
シミュレータは実ロボット１と仮想ロボット６との両方を同様に制御することを可能にするため、以下の本発明の説明およびロボットに対する作用は、仮想ロボット６および実ロボット１に対して同様に適用可能である。実ロボット１が転倒する危険がある複雑なロボットの運動をユーザが定義する場合は、仮想ロボットの使用が特に好適であり、少なくとも部分的にシミュレータを停止させることで実ロボット１の破損が回避される。
【００３１】
続く説明では、実ロボット１に対する作用について説明するが、仮想ロボット６に同じ作用を適用することが可能であることは言うまでもない。
【００３２】
インタフェース１のゾーン７は、例えば計算装置２に関連付けられたマウスにより、移動させることができる複数のカーソル７ａ、７ｂ、７ｃを含む。カーソルの各々は、実ロボット１のモータの位置、すなわち実ロボット１の関節の位置を定義している。カーソルの１つをある値まで移動させると、関連付けられたモータがカーソルの移動に従って運動する。このように、カーソル７ａ、７ｂ、７ｃは、ロボットの関節におけるモータ（例えば頭、肘、および肩それぞれのモータ）の運動に対応している。
【００３３】
カーソル７ａ、７ｂ、７ｃにより、関連付けられたモータの位置の微調整が可能になる。
【００３４】
また、本発明によれば、例えば手動で実ロボット１を運動させることにより、実ロボット１の位置を定義することが可能である。この手動の運動により、ロボットに要求される位置が定義される。次いで、この要求された位置を計算装置２により記録する。この種の運動により、例えば肩のモータを駆動させることでロボットの腕を低位置から高位置に移動させることにより、特にロボットの位置を大まかに定義することが可能になる。このように、カーソル７ａ、７ｂ、および７ｃ、ならびにロボットの位置の変化すなわち運動は、相互依存すなわちリンクしている。
【００３５】
この大まかな運動に続いて、先に説明したカーソル７ａ、７ｂ、および７ｃを補助に用いて細かな運動を行うことにより、ロボットの位置を微調整することが可能になる。先に説明した細かなおよび大まかな運動の可能性を組み合わせることにより、ユーザは、ロボットの多数の運動を簡単に編集することが可能である。
【００３６】
また、ロボットの位置の定義をさらに単純化するため、インタフェース４は、既定の位置Ｐ１、Ｐ２、Ｐ３のリストを含むウィンドウ１４を含んでもよい。これらの位置の各々には、モータに関連付けられた関節のパラメータが関連付けられている。このリスト中の要素を、例えばマウスを用いてクリックすると、ロボットは、これらのパラメータにより定義された位置を呈する。
【００３７】
これらの異なるロボット位置決め手段に基づいて、ロボットの基準位置が定義される。図３に示すように、これらの基準位置は、基準座標１０を含む位置の時系列９ａ、９ｂに挿入される。基準座標１０の各々は、ロボットの基準位置１０、すなわちロボットの各モータまたはロボットのモータのいくつかの特性の定義に対応している。
【００３８】
基準位置１０に基づいて位置の時系列９ａ、９ｂを生成するため、２つの基準位置１０の間の遷移１１に対応する運動を定義する。遷移は、モータに関連付けられた各関節の運動が規則的であるとともにその速度が２つの基準位置１０の間で一定である、線形遷移であってもよい。また、遷移は、全体的な運動が各基準位置において急激なものにならないように加速相に続いて減速相が現れる、滑らかな遷移であってもよい。また、他の種の遷移をユーザが追加および定義してもよい。
【００３９】
本発明によれば、ロボットのモータおよび関節のセットの異なるサブセットに対して、異なる位置の時系列９ａ、９ｂを使用することが可能である。例えば、時系列９ａをロボットの上半身（特に肩、肘、および頭を含む）のモータの運動に対応させ、時系列９ｂをロボットの下半身（特に腰、膝、および足首を含む）のモータの運動に対応させてもよい。これにより、基準座標はすべての関節ではなくいくつかの関節のみの位置の定義を含めばよいため、ロボットの運動を定義することを可能にすることが実質的に容易になる。異なる時系列９ａ、９ｂを同期的に呼び出すことで、ロボット全体の運動が得られる。時系列９ａ、９ｂの各々は、起動または停止させることが可能で、その他の時系列とは独立して呼び出すことが可能である。２つの時系列の間で競合が生じた場合、すなわち、２つの別個の時系列の読込中に同じ関節が同時に２つの異なる位置を呈しなければならない場合は、一方の時系列を他方よりも優先するか、または２つの位置の平均を取ることが可能である。
【００４０】
また、２つの基準座標の間の時間間隔を指定し、一方のフレームの特性を他方のフレームに複製することも可能である。位置の時系列において定義されたロボットの運動が要求された運動に正確に対応することを検証するため、定義された時系列を時系列読込機能の補助を用いて再生することが可能である。
【００４１】
位置の時系列が定義されたら、特定の関節の位置を時間に応じて表示することが可能である。かかる表示を実施したウィンドウ１２を図４に示す。図４において、ウィンドウ１２は、ロボットのモータに関連付けられた関節の位置における変化を示すダイアグラム１３を含んでいる。ダイアグラム１３は、編集可能であり、計算装置２に関連付けられたマウスを補助に用いて変更することが可能である。ダイアグラム１３の編集によっても、２つの基準位置の間の遷移の微調整、および基準座標内における関節の位置の微調整を行うことで、新しい基準位置を定義することが可能である。
【００４２】
このように、上に定義されたすべての機能により、ロボットプログラミングの初心者であるユーザにとっても、ロボットの運動を特に簡単に編集することが可能になる。さらに、本発明により定義された位置または位置の時系列の各々は、メモリに格納された状態でユーザ同士が交換することで、多数のユーザのコミュニティでロボットの運動の編集を改良することが可能で、コミュニティのユーザの各々は、コミュニティのその他のユーザにより編集された運動を用いることが可能である。
【図１】
2010531743.tif 000003
【図２】
2010531743.tif 000004
【図３】
2010531743.tif 000005
【図４】
2010531743.tif 000006
【国際調査報告】
2010531743.tif 000007
2010531743.tif 000008
2010531743.tif 000009
2010531743.tif 000010