(57)【要約】【課題】単一のモーションデータを用いて簡易にロボットが個性的に振る舞うことを実現すること。【解決手段】ロボット制御装置は、制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、キーポーズ間の遷移時間とを含むモーションデータを記憶する第１記憶部と、キーポーズ間の遷移に個性を付与するための情報である個性パラメータを記憶する第２記憶部と、個性パラメータに基づいて、モーションデータを再生成するモーションデータ再生成処理部と、再生成されたモーションデータから、制御周期ごとの関節角度データを生成する動作データ生成部と、を備える。【選択図】図１
2014069257.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを記憶する第１記憶部と、
前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータを記憶する第２記憶部と、
前記個性パラメータに基づいて、前記モーションデータを再生成するモーションデータ再生成処理部と、
再生成されたモーションデータから、制御周期ごとの関節角度データを生成する動作データ生成部と、
を備えたロボット制御装置。
【請求項２】
前記個性パラメータは、前記ロボット装置が動作を開始するまでの遅延時間に関する反応時間を含み、
前記モーションデータ再生成処理部は、前記モーションデータに含まれる動作開始のキーポーズを、前記反応時間だけ維持するブランクモーションを生成し、前記ブランクモーションを、前記モーションデータの動作開始位置に追加することにより、前記モーションデータを再生成すること、
を特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記個性パラメータは、前記関節の角度を増減させるための角度係数を含み、
前記モーションデータ再生成処理部は、前記モーションデータに含まれる前記キーポーズの前記関節角度データが示す角度に、前記角度係数を乗算することにより、前記モーションデータを再生成すること、
を特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記個性パラメータは、さらに、前記関節の可動角度の制限を示す角度制限値を含み、
前記モーションデータ再生成処理部は、さらに、前記関節角度データが示す角度に、前記角度係数を乗算した値が、前記角度制限値以下になるように修正すること、
を特徴とする請求項３に記載のロボット制御装置。
【請求項５】
前記個性パラメータは、前記ロボット装置の動作速度に関する時間補正値を含み、
前記モーションデータ再生成処理部は、前記モーションデータに含まれる前記キーポーズ間の遷移時間に対し、前記時間補正値を乗算することにより、前記モーションデータを再生成すること、
を特徴とする請求項１〜４のいずれか一つに記載のロボット制御装置。
【請求項６】
前記個性パラメータは、さらに、前記ロボット装置の動作を拡大する割合である誇張値を含み、
前記モーションデータ再生成処理部は、前記モーションデータに含まれる複数のキーポーズのうち所定の第１キーポーズと前記第１キーポーズから遷移する第２キーポーズとの間に、前記誇張値に基づいて、前記第１キーポーズから前記第２キーポーズへ遷移する動作を拡大する補間キーポーズを生成し、前記第１キーポーズと前記第２キーポーズとの間の遷移時間を、前記第１キーポーズから前記補間キーポーズへの第１遷移時間と、前記補間キーポーズから前記第２キーポーズへの第２遷移時間に修正することにより、前記モーションデータを再生成すること、
を特徴とする請求項１〜５のいずれか一つに記載のロボット制御装置。
【請求項７】
前記モーションデータ再生成処理部は、さらに、前記個性パラメータを、時間の経過に従って減衰または飽和させて、減衰または飽和させた個性パラメータに基づいて、前記モーションデータを再生成すること、
を特徴とする請求項１〜６のいずれか一つに記載のロボット制御装置。
【請求項８】
前記ロボット装置に付与する性格と、前記キーポーズ間の遷移に関する情報とを対応付けた性格テーブルを記憶する第３記憶部と、
前記性格テーブルの前記性格ごとの前記キーポーズ間の遷移に関する情報を集約して、前記個性パラメータを生成する性格テーブル集約部と、
をさらに備えたことを特徴とする請求項１〜６のいずれか一つに記載のロボット制御装置。
【請求項９】
制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを入力するステップと、
前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータに基づいて、前記モーションデータを再生成するステップと、
再生成されたモーションデータから、制御周期ごとの関節角度データを生成するステップと、
を含むロボット制御方法。
【請求項１０】
制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを入力するステップと、
前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータに基づいて、前記モーションデータを再生成するステップと、
再生成されたモーションデータから、制御周期ごとの関節角度データを生成するステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット制御方法およびプログラムに関する。
【背景技術】
【０００２】
ロボットの動作を生成する手法に、各関節角度のデータ集合のうち特徴的なポーズであるキーポーズを利用する方法がある。この手法では、ロボットの複雑な動作を、複数のキーポーズから動作を組み立て、キーポーズとキーポーズ間の遷移時間の情報を含むモーションデータを再生することによりロボット装置を動作させる。
【０００３】
従来、このモーションデータに対して再生される動作は一つに定まっており、モーションデータと動作は一対一の関係となっている。例えば、同一のモーションデータを有し、かつ同一のシステムから構成される複数のロボット装置に、同時に「うなずく」という動作を行わせた場合、各ロボットは、全く同一の動きでうなずく動作を行う。これは、ある意味で言えば、ロボットらしい振る舞いと考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１４９２７７号公報
【特許文献２】国際公開００／３２３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、人間の集団に「うなずけ」と号令した場合、うなずく動作として、反応するタイミングや首を曲げる角度などは人それぞれとなる。これはロボットと対極の振る舞い、すなわち個性的な振る舞いであり、人間に個性が備わっているためである。
【０００６】
ロボットに人間と同様に個性的に振る舞わせるためには、ロボットの機体ごとに、動作を少しずつ異ならせたモーションデータを作成する。そして、それぞれのロボットが、自身に対応したモーションデータを再生することにより、少しずつ異なる動作を行い、これにより個性的な振る舞いを実現することができる。
【０００７】
しかしながら、このようなロボットの機体ごとにモーションデータを作成して準備することは煩雑となり、ロボットの数が増大すれば、膨大な数のモーションデータが必要となるという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、単一のモーションデータを用いて簡易にロボットが個性的に振る舞うことを実現することができるロボット制御装置、ロボット制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるロボット制御装置は、制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを記憶する第１記憶部と、前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータを記憶する第２記憶部と、前記個性パラメータに基づいて、前記モーションデータを再生成するモーションデータ再生成処理部と、再生成されたモーションデータから、制御周期ごとの関節角度データを生成する動作データ生成部と、を備えた。
【００１０】
また、本発明にかかるロボット制御方法は、制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを入力するステップと、前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータに基づいて、前記モーションデータを再生成するステップと、再生成されたモーションデータから、制御周期ごとの関節角度データを生成するステップと、を含む。
【００１１】
本発明にかかるプログラムは、制御対象となるロボット装置の関節の角度を示す関節角度データの集合であるポーズのうち、所定の特徴的なポーズである複数のキーポーズと、前記キーポーズ間の遷移時間とを含むモーションデータを入力するステップと、前記キーポーズ間の遷移に個性を付与するための情報である個性パラメータに基づいて、前記モーションデータを再生成するステップと、再生成されたモーションデータから、制御周期ごとの関節角度データを生成するステップと、を前記コンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、単一のモーションデータを用いて簡易にロボットが個性的に振る舞うことを実現することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態１にかかるロボット装置の機能的構成を示すブロック図である。
【図２】図２は、モーションデータの一例を模式的に示す図である。
【図３】図３は、個性パラメータの一例を示す図である。
【図４】図４は、性格テーブルの一例を示す図である。
【図５】図５は、実施の形態１のロボット制御処理の手順を示すフローチャートである。
【図６】図６は、実施の形態１のロボット制御処理を説明するための図である。
【図７】図７は、個性パラメータの生成処理の手順を示すフローチャートである。
【図８】図８は、実施の形態２の個性パラメータの一例を示す図である。
【図９】図９は、動作を大げさに拡大するための補間キーポーズの追加の処理を説明するための図である。
【図１０】図１０は、キーポーズＡ’の生成について説明するための図である。
【図１１】図１１は、誇張値と通貨点１１０４の位置の関係を示す図である。
【図１２】図１２は、実施の形態２のロボット制御処理の手順を示すフローチャートである。
【図１３】図１３は、実施の形態２のロボット制御処理を説明するための図である。
【図１４】図１４は、変形例の性格テーブルの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、この発明にかかるロボット制御装置、ロボット制御方法およびプログラムの実施の形態を詳細に説明する。以下に示す実施の形態では、ロボット制御装置が、制御対象であるロボット装置の内部に設けられた構成を例にあげて説明する。
【００１５】
（実施の形態１）
本実施の形態のロボット装置は、機械的構成としての複数のリンク機構と、複数のリンク機構を駆動させることによりロボット装置を動作させる複数のアクチュエータとから構成される。
【００１６】
図１は、実施の形態１にかかるロボット装置１００の機能的構成を示すブロック図である。本実施の形態のロボット装置１００は、図１に示すように、ロボット制御装置１１０と、アクチュエータ１２０とを主に備えている。
【００１７】
アクチュエータ１２０は、後述するアクチュエータコントローラ１１７からの指令を受けて、複数のリンク機構を駆動して、ロボット装置１００を動作させるものである。ここで、動作とは、ロボット装置１００の仕草であり、目標座標へリンクの末端である手や足等のエンドエフェクタを伸ばすような作業や自発的な動作とは区別する。例えば、「うなずく」という動作は、首を縦に振る仕草である。アクチュエータ１２０は、具体的には、モータ等が該当する。
【００１８】
ロボット制御装置１１０は、アクチュエータ１２０を制御することにより、ロボット装置１００の動作を制御する。ロボット制御装置１１０は、図１に示すように、第１記憶部１１１と、第２記憶部１１２と、第３記憶部１１３と、モーションデータ再生成処理部１１４と、性格テーブル集約部１１５と、動作データ生成部１１６と、アクチュエータコントローラ１１７とを主に備えている。
【００１９】
第１記憶部１１１、第２記憶部１１２、第３記憶部１１３は、それぞれフラッシュメモリ等のメモリやハードディスクドライブ装置（ＨＤＤ）等の記憶媒体である。
【００２０】
第１記憶部１１１には、モーションデータが保存されている。モーションデータは、複数のキーポーズと、キーポーズ間の遷移時間とを含むデータであり、ロボット装置１００の動作を定めるものである。
【００２１】
ここで、ロボット装置１００を構成する関節の角度を示す関節角度データの集合をポーズといい、キーポーズは、所定の特徴的なポーズである。
【００２２】
ここで、モーションデータについて説明する。複雑な動作は、動作中の特徴的なポーズをキーポーズとして複数のキーポーズから動作を組み立てることができる。また、次のキーポーズに遷移する時間も動作するために必要な要素となる。
【００２３】
ロボット装置１００は、予め定められた制御周期で、ロボット装置１００を構成する各関節を少しずつ駆動させて、すなわち、各関節を回転させて動いている。このため、ロボット装置１００が動作する時は、アクチュエータ１２０は、キーポーズ間の各関節角度をロボット装置１００の制御周期に分割して補間された角度に従って各関節を駆動する。これらのロボット装置１００を動作させるために必要な情報をまとめたデータが、モーションデータである。
【００２４】
モーションデータのフォーマットは任意であり、多様な記述方式が存在する。ロボット装置１００を動作させるためには、制御周期に各関節をどれだけ動かすかという情報が重要とある。このため、ロボット装置１００を動作させることが目的であるモーションデータには、複数のキーポーズとキーポーズ間の遷移時間が最低限含まれている。なお、本実施の形態では、モーションデータから動作を行うことを、動作を再生すると呼ぶ。
【００２５】
図２は、モーションデータの一例を模式的に示す図である。図２に示すモーションデータは、二つのキーポーズＡ，Ｂと、ロボット装置１００がキーポーズＡからキーポーズＢへ遷移するための遷移時間とから構成される。なお、図２に示すキーポーズの姿勢は一例であり、これに限定されるものではない。
【００２６】
図１に戻り、第２記憶部１１２には、個性パラメータが記憶されている。個性パラメータは、ロボット装置１００に個性を付与するためのデータであり、キーポーズ間の遷移に関する情報である。この個性パラメータは、後述する性格テーブル集約部１１５によって生成されて第２記憶部１１２に保存される。
【００２７】
図３は、個性パラメータの一例を示す図である。個性パラメータは、図３に示すように、反応時間Ｄと、角度係数Ａと、角度制限値Ｌと、時間補正値Ｃとを含んでいる。反応時間Ｄは、ロボット装置１００が起動してから動作を開始するまでの遅延時間に関するデータであり、０または自然数として表現できる。反応時間Ｄは実時間とすることができる他、ロボット装置１００の制御周期とすることもできる。本実施の形態では、反応時間Ｄをロボット装置１００の制御周期としているが、これに限定されるものではない。反応時間Ｄは、例えば、図３に示すように「＋１０」（秒）等の値が該当する。
【００２８】
角度係数Ａは、モーションデータのキーポーズに作用し、キーポーズを実現する度合いの値である。具体的には、角度係数Ａは、関節角度データが示す関節角度に乗算する値であり、関節の角度を増減させる。従って、角度係数Ａが１．０未満の場合には関節角度は減少し、角度係数Ａが１．０の場合には関節角度は変化せず、角度係数Ａが１．０より大きい場合には関節角度は増加する。
【００２９】
角度制限値Ｌは、関節ごとに、ロボット装置１００を構成する関節の可動角度の制限を示す角度であり、図３の例に示すように、関節ごとの制限角度（整数）の集合となっている。このため、関節角度と角度係数Ａの乗算値は、この角度制限値Ｌを越えないように、後述するモーションデータ再生成処理部１１４によって調整される。
【００３０】
時間補正値Ｃは、ロボット装置１００の動作速度に作用するデータであり、キーポーズ間の遷移時間Ｔを増減させるデータである。時間補正値Ｃは、図３の例に示すように正負を含む増減の割合を百分率で表し、キーポーズ間の遷移時間Ｔに乗算する割合となる。
【００３１】
図１に戻り、モーションデータ再生成処理部１１４は、第１記憶部１１１からモーションデータを入力して、第２記憶部１１２に保存されている個性パラメータに基づいて、モーションデータを追加修正した新たなモーションデータを生成する。すなわち、モーションデータ再生成処理部１１４は、モーションデータを再生成する。
【００３２】
より具体的には、モーションデータ再生成処理部１１４は、モーションデータから動作開始のキーポーズを抽出し、抽出した動作開始のキーポーズを、個性パラメータの反応時間Ｄだけ維持するブランクモーションを生成する。言い換えれば、モーションデータ再生成処理部１１４は、動作開始のキーポーズをブランクキーポーズとし、反応時間Ｄをブランクキーポーズの遷移時間であるブランク遷移時間としたブランクモーションを生成する。
【００３３】
そして、モーションデータ再生成処理部１１４は、生成されたブランクモーションを、モーションデータの動作開始位置に追加する。
【００３４】
また、モーションデータ再生成処理部１１４は、モーションデータから各キーポーズを抽出し、各キーポーズの関節角度データが示す関節角度に、個性パラメータの角度係数Ａを乗算する。このとき、モーションデータ再生成処理部１１４は、関節角度と角度係数Ａの乗算値が、角度制限値Ｌ以下になるように補正する。
【００３５】
また、モーションデータ再生成処理部１１４は、モーションデータから各キーポーズ間の遷移時間Ｔを抽出し、抽出した各遷移時間Ｔに個性パラメータの時間補正値Ｃを乗算する。
【００３６】
以上のようなモーションデータ再生成処理部１１４による処理により、モーションデータの再生成、すなわち、新たなモーションデータの生成が行われる。
【００３７】
動作データ生成部１１６は、再生成されたモーションデータ（新たなモーションデータ）から、ロボット装置１００で設定されたアクチュエータ１２０の可動範囲制限や、キーポーズ間の関節角度の補間方法により、ロボット装置１００を動作させるための制御周期ごとの関節角度データに変換する。
【００３８】
アクチュエータコントローラ１１７は、動作データ生成部１１６によって生成された制御周期ごとの関節角度データに従って、アクチュエータ１２０に対して駆動指令を送出し、アクチュエータ１２０を制御する。これにより、ロボット装置１００は、再生成されたモーションデータに従って動作することになる。
【００３９】
第３記憶部１１３には、性格テーブルが記憶されている。性格テーブルは、ロボット装置１００に付与する性格と、個性パラメータとしてキーポーズ間の遷移に関する情報とを対応付けたデータである。性格テーブルは、後述する性格テーブル集約部１１５によって個性パラメータを生成するために使用され、予め、ユーザ等によって入力されて第３記憶部１１３に保存されている。
【００４０】
図４は、性格テーブルの一例を示す図である。性格テーブルは、図４に示すように、性格名に、キーポーズ間の遷移に関する情報としての反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃが対応付けられている。
【００４１】
性格名は、ロボット装置１００に付与する性格の名称であり、図４の例では、「おだやか」、「腰痛持ち」、「おおげさ」等の性格がある。性格テーブルでは、これらの各性格に対応するように、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを定めている。ここで、性格テーブルには、ｎ個（ｎ＝０，１，２，３，…）の性格が登録されているものとする。
【００４２】
反応時間Ｄは、ロボット装置１００が起動してから動作を開始するまでの遅延時間に関するデータであり、反応時間Ｄ＝｛ｄ１，ｄ２，・・・，ｄｎ｝からなる。
【００４３】
角度係数Ａは、関節の角度を増減させるためのデータであり、モーションデータのキーポーズに作用し、キーポーズを実現する度合いの値である。角度係数Ａは、角度係数Ａ＝｛ａ１，ａ２，・・・，ａｎ｝からなる。
【００４４】
角度制限値Ｌは、関節ごとに、ロボット装置１００を構成する関節の可動角度の制限を示す角度であり、角度制限値Ｌ＝｛ｌ１，ｌ２，・・・，ｌｎ｝からなり、ｌｎ＝｛θ１，  θ２，・・・，θｉ｝（ｉはロボットの自由度）である。
【００４５】
時間補正値Ｃは、ロボット装置１００の動作速度に作用するデータであり、キーポーズ間の遷移時間Ｔを増減させるデータであり、時間補正値Ｃ＝｛ｔ１，ｔ２，・・・，ｔｎ｝からなる。
【００４６】
ユーザは、ロボット装置１００に付与したい性格の性格名を性格テーブルに追加する。そして、性格名で示される性格に象徴されるような、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃのパラメータを性格テーブルに追加する。ここで、ユーザは任意の性格を性格テーブルに追加することができる。また、ユーザは任意の性格名を選択することにより、その性格名に対応した個性パラメータに基づいた動作をロボット装置１００に行わせることができる。
【００４７】
図１に戻り、性格テーブル集約部１１５は、第３記憶部１１３から性格テーブルを読み出して、性格テーブルに登録されている性格名の性格ごとのキーポーズ間の遷移に関する情報、すなわち、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃのそれぞれを集約して、個性パラメータを生成する。そして、性格テーブル集約部１１５は、生成した個性パラメータを第２記憶部１１２に保存する。
【００４８】
具体的には、性格テーブル集約部１１５は、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃのそれぞれを、以下の（１）〜（４）式により集約して個性パラメータを算出する。
【００４９】
【数１】
2014069257.tif 000003
【００５０】
性格テーブルは、任意のタイミングでも変更可能である。性格テーブル集約部１１５は、性格テーブルが更新されるごとに、個性パラメータを算出するので、ロボット装置１００の動作に反映される。
【００５１】
次に以上のように構成された本実施の形態のロボット装置１００によりロボット制御処理について説明する。図５は、実施の形態１のロボット制御処理の手順を示すフローチャートである。図６は、実施の形態１のロボット制御処理を説明するための図である。
【００５２】
まず、モーションデータ再生成処理部１１４は、第１記憶部１１１からモーションデータを入力して、入力したモーションデータから動作開始のキーポーズを取得する（ステップＳ１１）。そして、モーションデータ再生成処理部１１４は、第２記憶部１１２に保存されている個性パラメータを入力し、個性パラメータから反応時間Ｄを取得する（ステップＳ１２）。
【００５３】
次に、モーションデータ再生成処理部１１４は、動作開始のキーポーズをブランクキーポーズとして、個性パラメータの反応時間Ｄであるブランク遷移時間だけ維持するブランクモーションを生成する（ステップＳ１３）。そして、モーションデータ再生成処理部１１４は、生成したブランクモーションを、モーションデータの動作開始位置に追加する（ステップＳ１４）。
【００５４】
次に、モーションデータ再生成処理部１１４は、個性パラメータから、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを取得する（ステップＳ１５）。
【００５５】
次に、モーションデータ再生成処理部１１４は、モーションデータから、キーポーズとキーポーズ間の遷移時間Ｔとを取得する（ステップＳ１６）。そして、モーションデータ再生成処理部１１４は、キーポーズの関節角度データが示す関節角度に、個性パラメータの角度係数Ａを乗算する（ステップＳ１７）。さらに、モーションデータ再生成処理部１１４は、関節角度と角度係数Ａの乗算値が、角度制限値Ｌを超えているか否かを判断する（ステップＳ１８）。
【００５６】
そして、関節角度と角度係数Ａの乗算値が、角度制限値Ｌを超えている場合には（ステップＳ１８：Ｙｅｓ）、モーションデータ再生成処理部１１４は、関節角度と角度係数Ａの乗算値を角度制限値Ｌ以下に補正する（ステップＳ１９）。次に、モーションデータ再生成処理部１１４は、キーポーズ間の遷移時間Ｔに個性パラメータの時間補正値Ｃを乗算する（ステップＳ２０）。
【００５７】
そして、モーションデータ再生成処理部１１４は、モーションデータに含まれるすべてのキーポーズ、キーポーズ間の遷移時間Ｔについて上記処理を行ったか否かを判断する（ステップＳ２１）。そして、モーションデータに含まれるすべてのキーポーズ、キーポーズ間の遷移時間Ｔについて上記処理を行っていない場合には（ステップＳ２１：Ｎｏ）、モーションデータ再生成処理部１１４は、ステップＳ１６からＳ２０までの処理を繰り返し実行する。
【００５８】
一方、ステップＳ２１で、モーションデータに含まれるすべてのキーポーズ、キーポーズ間の遷移時間Ｔについて上記処理を行った場合には（ステップＳ２１：Ｙｅｓ）、モーションデータ再生成処理部１１４は、処理を終了する。
【００５９】
以上のようにして、モーションデータ再生成処理部１１４は、モーションデータを再生成する。その後、動作データ生成部１１６は、再生成されたモーションデータから、制御周期ごとの関節角度データを生成し、アクチュエータコントローラ１１７は、動作データ生成部１１６によって生成された制御周期ごとの関節角度データに従って、アクチュエータ１２０に対して駆動指令を送出し、アクチュエータ１２０を制御する。
【００６０】
次に、性格テーブルから個性パラメータの生成処理について説明する。図７は、個性パラメータの生成処理の手順を示すフローチャートである。
【００６１】
まず、性格テーブル集約部１１５は、第３記憶部１１３から性格テーブルを入力する（ステップＳ４１）。そして、性格テーブル集約部１１５は、性格テーブルの反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを、それぞれ上述した（１）式〜（４）式により集約して個性パラメータを求める（ステップＳ４２）。そして、性格テーブル集約部１１５は、求めた個性パラメータを第２記憶部１１２に保存する（ステップＳ４３）。
【００６２】
このように本実施の形態では、入力されたモーションデータから、個性パラメータに基づいてモーションデータを再生成し、再生成したモーションデータを再生することでロボット装置１００を動作させているので、個性的な動作をロボット装置１００に行わせるために多数のモーションデータを準備する必要がなくなり、単一のモーションデータを用いて簡易にロボット装置１００が個性的に振る舞うことを実現することができる。
【００６３】
また、本実施の形態では、ユーザが入力した性格テーブルを集約して個性パラメータを求めているので、ユーザが所望の性格をロボット装置１００に付与して、個性的な振る舞いを実現することができる。
【００６４】
（実施の形態２）
実施の形態１では、個性パラメータとして、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを用いていたが、実施の形態２では、これらのパラメータに加え、誇張値Ｅを個性パラメータとして用いてモーションデータを再生成している。
【００６５】
実施の形態のロボット装置１００の機能ブロック図は、図１に示した実施の形態１と同様である。実施の形態２の説明において、実施の形態１と同一の構成については、説明を省略する。実施の形態２においては、第２記憶部１１２に保存されている個性パラメータが、実施の形態１と異なり、個性パラメータからモーションデータを再生成するモーションデータ再生成処理部１１４の処理が、誇張値Ｅを用いた処理に対応する。
【００６６】
本実施の形態の個性パラメータは、実施の形態１と同様に、キーポーズ間の遷移に関する情報として、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを含む他、誇張値Ｅを含んでいる。
【００６７】
図８は、実施の形態２の個性パラメータの一例を示す図である。誇張値Ｅは、ロボット装置１００の動作を大げさに拡大する割合であり、図８に示すように、百分率で表す。
【００６８】
モーションデータ再生成処理部１１４は、モーションデータに含まれる複数のキーポーズのうち所定の第１キーポーズと第１キーポーズから遷移する第２キーポーズとの間に、個性パラメータの誇張値Ｅに基づいて、第１キーポーズから第２キーポーズへ遷移する動作を拡大する補間キーポーズを生成する。
【００６９】
また、モーションデータ再生成処理部１１４は、第１キーポーズと第２キーポーズとの間の遷移時間Ｔを、第１キーポーズから補間キーポーズへの第１遷移時間と、補間キーポーズから第２キーポーズへの第２遷移時間に修正することにより、モーションデータを再生成する。
【００７０】
例えば、モーションデータ再生成処理部１１４は、第１キーポーズと第２キーポーズとの間の遷移時間Ｔを、第１遷移時間と第２遷移時間に等分に分割するが、これに限定されるものではなく、第１遷移時間と第２遷移時間との和が、第１キーポーズと第２キーポーズとの間の遷移時間Ｔを超えるようにしたり、当該遷移時間未満となるようにモーションデータを構成してもよい。また、第１キーポーズと第２キーポーズとの間の遷移時間Ｔを、第１遷移時間と第２遷移時間に不等分に分割するようにモーションデータを構成してもよい。
【００７１】
以下、モーションデータ再生成処理部１１４による、動作を大げさに拡大するための補間キーポーズの追加について具体例をあげて説明する。図９は、動作を大げさに拡大するための補間キーポーズの追加の処理を説明するための図である。
【００７２】
モーションデータには、図９に示すキーポーズＡ（第１キーポーズ）と、キーポーズＡから遷移するキーポーズＢ（第２キーポーズ）と、キーポーズＡとキーポーズＢの間の遷移時間Ｔとが含まれているものとする。
【００７３】
ここで、図９に示すように、モーションデータのキーポーズＡとキーポーズＢの間に、動作が外側に膨らむようなキーポーズＡ’を補間キーポーズとして追加することにより、モーションデータを再生成する場合を考える。この場合、モーションデータ再生成処理部１１４は、キーポーズＡからキーポーズＡ’への遷移時間（第１遷移時間）、キーポーズＡ’からキーポーズＢへの遷移時間（第２遷移時間）をそれぞれ、元のキーポーズＡからキーポーズＢへの遷移時間Ｔの１／２となるように修正するものとする。
【００７４】
モーションデータ再生成処理部１１４は、具体的には以下のように、キーポーズＡ’を生成する。図１０は、キーポーズＡ’の生成について説明するための図である。図１０では、ｘｙｚ座標を考える。ｘ軸は、図１０において裏側から表側に向かう方向の軸であり、ｙ軸は図１０の水平右方向の軸であり、ｚ軸は図１０において垂直上方向の軸であるものとする。
【００７５】
図１０において、例えば手のようなエンドエフェクタの初めの位置である始点と終わりの位置である終点とを直線で結んだ線１１０１の中点を通る垂線１１０２を考える。そして、垂線１１０２上の誇張値Ｅで矢印１１０３方向へエンドエフェクタが通るｙ−ｚ平面上の通過点１１０４を定める。
【００７６】
図１１は、誇張値Ｅと通過点１１０４の位置の関係を示す図である。図１１に示すように、誇張値Ｅは、線１１０１の中点を中心とした円で表される。すなわち、図１１に示すように、誇張値Ｅが１００％のときに、エンドエフェクタの始点と終点に接して最大となり、誇張値Ｅが０％のときには変化がない。また、図１１に示す誇張値Ｅの円はｙ−ｚ平面上の軌跡のみ考える。すなわち、この例では、動作はロボット装置１００に対し横方向（すなわち、ｙ−ｚ平面上）に膨らむが、ロボット装置１００に対し縦方向（すなわち、ｘ軸方向）の膨らみは意識しないものとする。
【００７７】
なお、図１０、１１では、説明および誇張の計算を簡易にするために、エンドエフェクタがｙ−ｚ平面上で動作を拡大し、エンドエフェクタのｘ座標の変化はない例をあげているが、これに限定されるものではない。例えば、エンドエフェクタがｘｙｚ−３次元空間で自在に動作を拡大可能とし、図１１に示す円の軌跡をｘｙｚ−３次元空間で表すように構成してもよい。
【００７８】
モーションデータ再生成処理部１１４は、誇張値Ｅに基づいて通過点１１０４を次のように算出する。モーションデータ再生成処理部１１４は、まず、エンドエフェクタの始点と終点のロボットを基点としたローカルな座標系上の位置を、順運動学により求める。ここで、順運動学とは、各関節角度値からエンドエフェクタの座標位置を求める手法である。
【００７９】
そして、モーションデータ再生成処理部１１４は、始点と終点をｙ−ｚ平面へ投影し（ｘ座標を考慮しない）、その中点の座標を算出する。モーションデータ再生成処理部１１４は、中点を通る垂線１１０２の方程式を算出し、誇張値Ｅにより垂線上の通過点１１０４を算出する。
【００８０】
次に、モーションデータ再生成処理部１１４は、通過点１１０４を求めたら、逆運動学により、キーポーズを構成する各関節角度を算出する。これにより、モーションデータ再生成処理部１１４は、キーポーズＡ’を生成する。ここで、逆運動学は、エンドエフェクタの位置から各関節角度を求める手法である。モーションデータ再生成処理部１１４は、このような動作を大げさに拡大するキーポーズＡ’を、ブランクモーションの後段に追加してモーションデータを再生成する。
【００８１】
次に、以上のように構成された本実施の形態のロボット制御処理について説明する。図１２は、実施の形態２のロボット制御処理の手順を示すフローチャートである。図１３は、実施の形態２のロボット制御処理を説明するための図である。
【００８２】
モーションデータの入力および動作開始のキーポーズの取得からモーションデータへのブランクモーションの追加までの処理（ステップＳ１１〜Ｓ１４）については実施の形態１と同様である。
【００８３】
モーションデータ再生成処理部１１４は、モーションデータにブランクモーションを追加したら、個性パラメータから誇張値Ｅを取得する（ステップＳ５１）。そして、モーションデータ再生成処理部１１４は、モーションデータから、キーポーズと、キーポーズの遷移時間Ｔを取得する（ステップＳ５２）。
【００８４】
次に、モーションデータ再生成処理部１１４は、取得した誇張値Ｅに基づいて、上述の手法により、キーポーズ間に補間キーポーズを追加し、キーポーズの遷移時間Ｔの修正を行う（ステップＳ５３）。そして、モーションデータ再生成処理部１１４は、モーションデータの中のすべてのキーポーズ、キーポーズの遷移時間について上記処理が終了したか否かを判断し（ステップＳ５４）、終了するまで、ステップＳ５１からＳ５３までの処理を繰り返し実行する。ステップＳ５１からＳ５４の処理により、キーポーズ数は２倍程度増加し、ステップＳ１５以降の処理で、増加したキーポーズに対しても個性パラメータが反映されることになる。
【００８５】
すべてのキーポーズ、キーポーズの遷移時間についてステップＳ５１からＳ５３までの処理が終了したら（ステップＳ５４：Ｙｅｓ）、モーションデータ再生成処理部１１４は、個性パラメータから、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃを取得する（ステップＳ１５）。これ以降の処理（ステップＳ１６〜Ｓ２１）については、実施の形態１と同様である。
【００８６】
このように本実施の形態では、個性パラメータに誇張値Ｅを含み、誇張値Ｅに基づいて動作を大げさに拡大する補間キーポーズを生成してモーションデータのキーポーズ間に追加しているので、単一のモーションデータで、ロボット装置１００により個性的に振る舞わせることができる。
【００８７】
（変形例１）
上記実施の形態には種々の変形を行うことができる。このような変形例として、時間の経過により、個性パラメータが減衰または飽和していくように構成することができる。例えば、ロボット装置１００に電源を投入してしばらくは元気がないが、時間が経過するに従って元気になっていくような動作、逆に時間が経過するに従って、動作がにぶくなっていく（すなわち、歳をとる）等を実現するように個性パラメータを減衰または飽和させるように、モーションデータ再生成処理部１１４を構成することができる。
【００８８】
このような動作を実現するためには、例えば、性格テーブルに、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃの各値に対する補助パラメータとして、時定数τを設定することができる。図１４は、変形例の性格テーブルの一例を示す図である。
【００８９】
本変形例の性格テーブルには、図１４に示すように、性格ごとに、反応時間Ｄ、角度係数Ａ、角度制限値Ｌ、時間補正値Ｃの他に、時定数τが登録されている。本変形例では、時定数τは、個性パラメータの反応時間Ｄに付与されるものとするが、これに限定されるものではない。時定数τの単位は分であり、負の値の場合には、反応時間Ｄが減衰し、正の値の場合には反応時間Ｄが飽和するものとする。一方、時定数τが０の場合には、減衰、飽和の効果を発揮しないものとする。
【００９０】
モーションデータ再生成処理部１１４は、時定数τが付与された個性パラメータ（本例では、反応時間Ｄ）を時定数τが示す時間の経過後に、反応時間Ｄの値の６３．２％に減衰または飽和させる。例えば、性格テーブルにおいて時定数τに「＋４」が設定されており、個性パラメータの反応時間Ｄに「＋１０」が設定されている場合には、モーションデータ再生成処理部１１４は、４分後に反応時間Ｄを「６．３２」とし、小数点を切り捨てて「６」に飽和させる。
【００９１】
モーションデータ再生成処理部１１４は、時定数τが負で減衰を示す場合には、減衰した反応時間Ｄを、時定数τを用いた（５）式により算出する。また、モーションデータ再生成処理部１１４は、時定数τが正で飽和を示す場合には、飽和した反応時間Ｄを、時定数τを用いた（６）式により算出する。
【００９２】
【数２】
2014069257.tif 000004
【００９３】
このように時間の経過により個性パラメータが変化するので、性格テーブルは、例えば１分ごとの周期で更新することが必要になる。そして、この性格テーブルの更新に伴って、性格テーブル集約部１１５による個性パラメータの再集約が行われる。
【００９４】
（変形例２）
また、ロボット装置１００のバッテリー残量を個性パラメータへ反映させるように構成してもよい。すなわち、バッテリー残量が所定量以下となり少なくなった場合に、ロボット装置１００の動作を小さくするように角度係数Ａの値を変更したり、動作を遅くするように時間補正値Ｃを変更したりする。これにより、ロボット装置１００が充電を行うまでの延命措置を行うことが可能となる。この場合において、モーションデータによる動作を省電力化することにとどめ、例えば、ロボット装置１００が充電ステーションへ向かうための移動動作（歩行動作）には影響を与えずに、遅くならないように構成することができる。
【００９５】
上記実施の形態では、ロボット制御装置１１０が、制御対象であるロボット装置１００の内部に設けられた構成を例にあげて説明したが、これに限定されるものではない。例えば、ロボット制御装置１１０を、ロボット装置１００と別体で設けるように構成してもよい。
【００９６】
また、ロボット制御装置１１０を動作させるためのパラメータや各種データが記憶された第１記憶１１１、第２記憶部１１２、第３記憶部１１３は、各々別の記憶媒体によって構成されてもよく、同一の記憶媒体によって構成されてもよい。また、各記憶部はロボット制御装置１１０に内蔵されていてもよく、ロボット装置１１０の外部に備えられロボット制御装置１１０にパラメータやデータが供給される形態であってもよい。
【００９７】
一例としては、モーションデータを記憶する第１記憶部を、ロボット装置１００の外部に構成し、複数のロボット装置１００に対して同時に同一のモーションデータを供給するように構成することができる。また、個性パラメータを記憶する第２記憶部を、ロボット装置１００の各々に内蔵し、これによって、複数のロボット装置１００に同一のモーションデータによる動作指示を行った場合であっても、各々のロボット装置１００がモーションデータに基づく動作に対して個性的な動作を行うように構成することができる。
【００９８】
なお、上記実施の形態のロボット装置１００におけるモーションデータ再生成処理部１１４と、性格テーブル集約部１１５と、動作データ生成部１１６と、アクチュエータコントローラ１１７はハードウェアで実現してもソフトウェアで実現してもいずれでもよい。
【００９９】
ソフトウェアで実現する場合には、上記実施の形態のロボット装置１００で実行されるロボット制御プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１００】
上記実施の形態のロボット装置１００で実行されるロボット制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１０１】
さらに、上記実施の形態のロボット装置１００で実行されるロボット制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施の形態のロボット装置１００で実行されるロボット制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１０２】
上記実施の形態のロボット装置１００で実行されるロボット制御プログラムは、上述した各部（モーションデータ再生成処理部１１４と、性格テーブル集約部１１５と、動作データ生成部１１６と、アクチュエータコントローラ１１７）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭからロボット制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、モーションデータ再生成処理部１１４と、性格テーブル集約部１１５と、動作データ生成部１１６と、アクチュエータコントローラ１１７が主記憶装置上に生成されるようになっている。
【０１０３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０４】
１００  ロボット装置
１１０  ロボット制御装置
１１１  第１記憶部
１１２  第２記憶部
１１３  第３記憶部
１１４  モーションデータ再生成処理部
１１５  性格テーブル集約部
１１６  動作データ生成部
１１７  アクチュエータコントローラ
１２０  アクチュエータ
【図１】
2014069257.tif 000005
【図２】
2014069257.tif 000006
【図３】
2014069257.tif 000007
【図４】
2014069257.tif 000008
【図５】
2014069257.tif 000009
【図６】
2014069257.tif 000010
【図７】
2014069257.tif 000011
【図８】
2014069257.tif 000012
【図９】
2014069257.tif 000013
【図１０】
2014069257.tif 000014
【図１１】
2014069257.tif 000015
【図１２】
2014069257.tif 000016
【図１３】
2014069257.tif 000017
【図１４】
2014069257.tif 000018