(57)【要約】【課題】様々な外的要因に柔軟に対応した動きを行うことができなかった。【解決手段】（１）外的要因に応答して各々が独立に動くことが可能な複数の部位と、（２）（２ａ）外的要因を受けた時点から外的要因に対する複数の部位の動きが完了する時点までの処理を規定するプログラムと、（２ｂ）複数の部位の各毎に、外的要因により特定される引数と、引数に対応する部位の動きとの関係を規定するテーブルとを記憶する第１の記憶部と、（３）外的要因に応じて変更可能な、複数の部位を動かす順序を規定するリストを記憶する第２の記憶部と、（４）外的要因が発生したとき、プログラムに従い、かつ、リストにより規定される、発生した外的要因により変更された複数の部位を動かす順序に従って、複数の部位の各々に、外的要因により特定される引数に対応する動きをさせる制御部と、を含む。【選択図】図２
2009066703.tif 000002
【特許請求の範囲】
【請求項１】
（１）外的要因に応答して各々が独立に動くことが可能な複数の部位と、
（２）（２ａ）前記外的要因を受けた時点から当該外的要因に対する前記複数の部位の動きが完了する時点までの処理を規定するプログラムと、（２ｂ）前記複数の部位の各毎に、前記外的要因により特定される引数と、当該引数に対応する当該部位の動きとの関係を規定するテーブルとを記憶する第１の記憶部と、
（３）前記外的要因に応じて変更可能な、前記複数の部位を動かす順序を規定するリストを記憶する第２の記憶部と、
（４）前記外的要因が発生したとき、前記プログラムに従い、かつ、前記リストにより規定される、当該発生した外的要因により変更された前記複数の部位を動かす順序に従って、前記複数の部位の各々に、前記外的要因により特定される引数に対応する動きをさせる制御部と、を含むことを特徴とするロボット。
【請求項２】
前記第２の記憶部は、ＦｅＲＡＭであることを特徴とする請求項１記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用及び民生用等のロボットに関する。
【背景技術】
【０００２】
下記の特許文献１に記載された「外部の状況を認識して所定の行動を発現するロボット」と同様の目的を有する従来のロボットＲＯ（図１に図示。）は、外的要因、例えば、当該ロボットＲＯが監視し制御すべき対象が変化することに応答すべく、ＣＰＵ１０とＲＯＭ２０とを有する制御ユニットＣＴ（図６に図示。）を備える。ＣＰＵ１０は、前記監視及び制御を行い、即ち、ロボットＲＯを動作させ、また、ＲＯＭ２０は、ロボットＲＯの当該動作を規定するプログラムＰＲ（図７に図示。）及びテーブルＴ（図４に図示。）を記憶している。
【０００３】
プログラムＰＲに従って動作を行う前記ロボットＲＯは、図７のフローチャートに示されるように、ステップＳ１０で、外的要因が発生したと認識されると、ステップＳ１１で、当該外的要因を分析し、その結果として、ロボットＲＯの頭ＨＥ、腕ＡＲ、．．．、（図１に図示。）の各々の動きを規定するための引数（例えば、ｈｅ２、ａｒ０等（図４に図示。））を算出する。当該引数が算出されると、ロボットＲＯは、ステップＳ１２で、頭ＨＥを、引数ｈｅ２により特定される動き（位置ｈｅＰ２、姿勢ｈｅＡ２）の量だけ動かし、ステップＳ１３で、腕ＡＲを、引数ａｒ０により特定される動き（位置ａｒＰ０、姿勢ａｒＡ０）の量だけ動かす。以下、同様にして、ステップＳ１４で、手ＨＡを動かし、ステップＳ１５で、腰ＷＡを動かし、ステップＳ１６で、脚ＬＥを動かし、ステップＳ１７で、足ＦＯを動かす。これにより、頭ＨＥから足ＦＯまでの動作を完了し、ステップＳ１８での終了すべきか否かの判断結果により、ステップＳ１０に戻り、または、プログラムＰＲが完全に終了する。
【０００４】
【特許文献１】特開２００１−３１２６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のプログラムＰＲでは、頭ＨＥから足ＦＯまでを動かす順序が、ステップＳ１２→ステップＳ１３→・・・→ステップＳ１７のように一通りに固定されていたことから、例えば、全ての部位のうち足ＦＯを最初に動かす必要があるような外的要因が発生すると、ロボットＲＯ全体としての動きが不適切になり、即ち、様々な外的要因に対し柔軟に対応した動きをすることができなかった。
【課題を解決するための手段】
【０００６】
本発明は、上記した課題を解決すべく、以下の適用例により実現される。
【０００７】
［適用例１］
適用例１のロボットは、
（１）外的要因に応答して各々が独立に動くことが可能な複数の部位と、
（２）（２ａ）前記外的要因を受けた時点から当該外的要因に対する前記複数の部位の動きが完了する時点までの処理を規定するプログラムと、（２ｂ）前記複数の部位の各毎に、前記外的要因により特定される引数と、当該引数に対応する当該部位の動きとの関係を規定するテーブルとを記憶する第１の記憶部と、
（３）前記外的要因に応じて変更可能な、前記複数の部位を動かす順序を規定するリストを記憶する第２の記憶部と、
（４）前記外的要因が発生したとき、前記プログラムに従い、かつ、前記リストにより規定される、当該発生した外的要因により変更された前記複数の部位を動かす順序に従って、前記複数の部位の各々に、前記外的要因により特定される引数に対応する動きをさせる制御部と、を含む。
【０００８】
適用例１のロボットによれば、前記制御部が、前記プログラムに従い、かつ、前記発生した外的要因により変更された前記複数の部位を動かす順序に従って、前記複数の部位の各々に、前記外的要因により特定される引数に対応する動きをさせることから、従来と異なり、当該ロボット全体としての動きを前記発生した外的要因に適するものとすることが可能となる。
【０００９】
［適用例２］
適用例２のロボットは、適用例１のロボットであって、前記第２の記憶部は、ＦｅＲＡＭである。
【発明を実施するための最良の形態】
【００１０】
実施例のロボットについて図面を参照して説明する。
【００１１】
〈構成〉
図１は、実施例のロボットの構成を示す。実施例のロボットＲＯは、図１に示されるように、当該ロボットＲＯの部位として、従来と同様な、頭ＨＥと、腕ＡＲと、手ＨＡと、腰ＷＡと、脚ＬＥと、足ＦＯとを含む。頭ＨＥは、また、図１に示されるように、ロボットＲＯの動作の制御及び監視を行う制御ユニットＣＴと、ロボットＲＯの外部で発生する事象である外的要因を検出するセンサユニットＳＳ（例えば、視覚センサ、加速度センサ）とを有する。
【００１２】
図２は、制御ユニットＣＴの構成を示す。制御ユニットＣＴは、図２に示されるように、ＣＰＵ１と、ＲＯＭ２と、ＦｅＲＡＭ３とを含む。
【００１３】
『制御部』であるＣＰＵ１は、ＲＯＭ２に記憶されているプログラムＰに従い、かつ、ＦｅＲＡＭ３に記憶されているリストＬ及びＲＯＭ２に記憶されているテーブルＴを参照しつつ、ロボットＲＯの各部位、即ち、頭ＨＥから足ＦＯまでの動作を制御し、かつ、その動作を監視する。
【００１４】
ＣＰＵ１は、また、後述されるように、リストＬの内容である各部位を動かす順序を、外的要因の分析結果に基づき変更する。
【００１５】
『第１の記憶部』であるＲＯＭ２は、前記プログラムＰ及び前記テーブルＴを記憶している。
【００１６】
プログラムＰは、図３に示されるように、（１）外的要因の有無を確認すること（ステップＳ１）、（２）外的要因を分析すること（ステップＳ２）、（３）部位を動かす順序を変更すること（ステップＳ３）、（４）変更された順序に従って部位を動かすこと（ステップＳ４）という４つのステップから構成されている。即ち、従来のプログラムＰＲ（図７に図示。）と異なり、各部位を動作させる順序（従来のような、頭を動かす（ステップＳ１２）→腕を動かす（ステップＳ１３）→．．．→足を動かす（ステップＳ１７）という順序）を規定していない。
【００１７】
テーブルＴは、図４に示されるように、ロボットＲＯの頭ＨＥから足ＦＯまでの各部位毎に、外的要因の分析の結果により求められる引数と、当該引数に対応する当該部位の動き（位置及び姿勢）との対応関係（従来の対応関係と同一）を規定している。
【００１８】
『第２の記憶部』であるＦｅＲＡＭ３は、不揮発性メモリであり、前記リストＬを記憶している。
【００１９】
リストＬは、図５（Ａ）、（Ｂ）に示されるように、ロボットＲＯを構成する、頭ＨＥから足ＦＯまでの部位と、当該部位を動かす順序との対応関係を規定する。当該リストにおける当該対応関係は、外的要因の分析の結果に応じて変更させる。例えば、ＣＰＵ１は、外的要因の内容に応じて、図５（Ａ）に示される当初の順序（（１）頭ＨＥ→（２）腕ＡＲ→（３）手ＨＡ→（４）腰ＷＡ→（５）脚ＬＥ→（６）足ＦＯ）を、図５（Ｂ）に示されるような順序（（１）頭ＨＥ→（２）足ＦＯ→（３）腕ＡＲ→（４）脚ＬＥ→（５）腰ＷＡ→（６）手ＨＡ）に変更する。
【００２０】
〈動作〉
実施例のロボットの動作について、図３に図示された、プログラムが規定するフローチャートに沿って説明する。
【００２１】
ステップＳ１：センサユニットＳＳは、外的要因が発生しているか否か、例えば、当該ロボットＲＯが操作すべき対象である物体ＯＢが移動しているか否かを判断する。
【００２２】
ステップＳ２：ステップＳ１で外的要因が発生していると判断されると、制御ユニットＣＴ内のＣＰＵ１は、当該外的要因を分析することにより、ロボットＲＯの頭ＨＥから足ＦＯまでの各部位毎に、引数を算出する。以下の説明では、当該引数の算出により、頭ＨＥの引数として「ｈｅ０」が得られ、同様にして、腕ＡＲから脚ＬＥまでの各部位の引数が得られ、加えて、足ＦＯの引数として「ｆｏ０」が得られたことを想定する。
【００２３】
ステップＳ３：ＣＰＵ１は、上記した外的要因の分析の結果として、リストＬにおける「（部位を）動かす順序」を、図５（Ａ）に図示された順序「（１）頭ＨＥ→（２）腕ＡＲ→（３）手ＨＡ→（４）腰ＷＡ→（５）脚ＬＥ→（６）足ＦＯ」から、図５（Ｂ）に図示された順序「（１）頭ＨＥ→（２）足ＦＯ→（３）腕ＡＲ→（４）脚ＬＥ→（５）腰ＷＡ→（６）手ＨＡ」の順序に変更する。
【００２４】
ステップＳ４：ＣＰＵ１は、変更されたリストＬの内容、即ち、ロボットＲＯの各部位を動かす順序に従って、当該各部位を動かす。
【００２５】
より具体的には、ＣＰＵ１は、最初に、リストＬの「動かす順序」を参照することにより、最初に動かすべき部位が「頭ＨＥ」であることを知得し、当該「頭ＨＥ」のテーブルＴを参照することにより、頭ＨＥの引数ｈｅ０に対応する動き（位置ｈｅＰ０、姿勢ｈｅＡ０）を知得し、その結果として、頭ＨＥを動き（位置ｈｅＰ０、姿勢ｈｅＡ０）の量だけ動かす。
【００２６】
同様にして、ＣＰＵ１は、次に、リストＬの「動かす順序」を再び参照することにより、次に動かすべき部位が「足ＦＯ」であることを知得し、当該「足ＦＯ」のテーブルＴを参照することにより、足ＦＯの引数ｆｏ０に対応する動き（位置ｆｏＰ０、姿勢ｆｏＡ０）を知得し、その結果として、足ＦＯを動き（位置ｆｏＰ０、姿勢ｆｏＡ０）の量だけ動かす。
【００２７】
ＣＰＵ１は、以下、同様にして、腕ＡＲ→脚ＬＥ→腰ＷＡ→手ＨＡの順序で各部位を順次動かす。
【００２８】
ステップＳ５：ＣＰＵ１は、ロボットＲＯの動作を終了させるべきか否かを判断し、終了させるべきでないと判断するときには、ステップＳ１に戻り、終了させるべきであると判断するときには、プログラムＰを完全に終了する。
【００２９】
〈効果〉
上述したように、実施例のロボットＲＯでは、制御ユニットＣＴ内のＣＰＵ１が、外的要因の内容に応じて、リストＬにおける部位の動かす順序を変更した上で、当該変更された順序に従って、ロボットＲＯの頭ＨＥから足ＦＯまでの各部位を動かすことから、ロボットＲＯの頭ＨＥから足ＦＯまでの各部位を動かす順序が一通りに固定されていた従来と異なり、ロボットＲＯが様々な外的要因に柔軟に対応することが可能となる。
【００３０】
さらに、リストＬが、書き換え回数が事実上無制限であるＦｅＲＡＭ３に記憶されていることから、リストＬにおける部位を動かす順序を頻繁に変更しても、当該リストＬの内容を信頼性高く維持することが可能となる。
【００３１】
上述したと異なり、前記ＣＰＵ１は、前記部位を動かす順序を、外的要因に基づき計算された変化量に合致する移動量に適するように変更し、かつ、当該変更された順序に従って前記各部位を前記移動量によって特定される引数に対応する動きをさせることによっても、上記したと同様な効果を得ることができる。
【図面の簡単な説明】
【００３２】
【図１】実施例及び従来のロボットの構成を示す図。
【図２】実施例の制御ユニットの構成を示す図。
【図３】実施例のプログラムの内容を示す図。
【図４】実施例のテーブルの内容を示す図。
【図５】実施例のリストの内容を示す図。
【図６】従来の制御ユニットの構成を示す図。
【図７】従来のプログラムの内容を示す図。
【符号の説明】
【００３３】
ＣＴ…制御ユニット、１…ＣＰＵ、２…ＲＯＭ、３…ＦｅＲＡＭ、Ｐ…プログラム、Ｔ…テーブル、Ｌ…リスト。
【図１】
2009066703.tif 000003
【図２】
2009066703.tif 000004
【図３】
2009066703.tif 000005
【図４】
2009066703.tif 000006
【図５】
2009066703.tif 000007
【図６】
2009066703.tif 000008
【図７】
2009066703.tif 000009