(57)【要約】      （修正有）【課題】モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供すること。【解決手段】本発明にかかるロボット制御システムは、ロボット１の各機能に対応して設けられ、対応する機能を制御可能な複数の制御部２３〜２７と、要求された主動作タスクを、前記複数の制御部２３〜２７に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部２３〜２７に対して実行させるタスク制御部２０，２１とを備えたものである。【選択図】図２
2008006518.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部と、
要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部に対して実行させるタスク制御部とを備えたロボット制御システム。
【請求項２】
前記タスク制御部は、要求された主動作タスクを、時系列に処理を実行すべき複数のステップのそれぞれに対して設定された前記細分化タスクに変換し、当該ステップ毎に当該細分化タスクを前記複数の制御部に対して実行させることを特徴とする請求項１記載のロボット制御システム。
【請求項３】
前記複数の制御部は、前記細分化タスクに応じて自律して動作を実行することを特徴とする請求項１又は２記載のロボット制御システム。
【請求項４】
前記機能と制御部の対応関係は変更可能であることを特徴とする請求項１記載のロボット制御システム。
【請求項５】
前記請求項１〜４いずれかに記載のロボット制御システムを備えたロボット。
【請求項６】
ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部を備えたロボットを制御する方法であって、
要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換するステップと、
変換された細分化タスクを前記複数の制御部に対して実行させるステップとを備えたロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、ロボット制御方法およびロボットに関し、特に、タスクに応じたロボット制御技術に関する。
【背景技術】
【０００２】
様々な用途のロボットが開発されている。通常、ロボットは、多自由度機構を有するが、ロボットを構成する各部位の動作は、コンピュータにより構成される制御部によって全体的に統括して制御される。
【０００３】
従って、ロボットの全身を協調させて動作させるには、複雑な身体モデルが必要であった。特に、ロボット技術の進歩に伴って自由度が増加すると、ロボットの身体モデルがさらに複雑となり、ロボットの全身を含む環境モデルも大きく複雑なものにならざるをえなかった。
【０００４】
また、ロボットに対して作業を実行させる場合には、制御部は、各部位が協調し、かつ干渉することないように作業を遂行するよう計算しなければならないが、一つの作業を実行するための計算量は膨大であった。
【０００５】
また、タスクを変更又は追加した場合には、各部位が相互に及ぼす影響を考慮しなければならないためロボットの全身を考慮した上でロボットに対して教示する必要があった。例えば、２０軸を有するロボットに対しては、各軸に対して指令値を与える必要があるが、一部の軸に対する目標値を変更すると、その他の全ての軸に対する指令値を変更する必要があり、その作業は膨大なものであった。
【０００６】
さらに、機能拡張などの理由により、ロボットの部位の一部を変更した場合には、その変更がロボットの全身に影響を及ぼすため、再度、ロボット全身の設定を行なわなければならなかった。例えば、関節の角度が５０度まで曲がる構成から７０度まで曲がる構成に変更された場合や、２本指構成の手から５本指構成の手に変更された場合である。
【０００７】
他方、特許文献１には、ロボットの制御について分散制御を行う技術が開示されている。しかしながら、特許文献１に開示された技術は、複数のマイクロロボットのそれぞれに対して独自のタスク命令を与え、そして独自のミッションを遂行する制御技術に関するものであり、一つのロボットの各部位の処理に関して分散制御を実行するものではない。従って、特許文献１に開示されたロボットにおいても上述の問題点が発生しうる。
【特許文献１】特開平１１−２３１９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、従来のロボット制御によれば、モデルの複雑化や計算量の増大、さらに、タスク変更に対する教示作業の増加や部位の変更に対する設定作業の増加といった問題点があった。
【０００９】
本発明は、かかる課題を解決するためになされたものであり、モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明にかかるロボット制御システムは、ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部と、要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部に対して実行させるタスク制御部とを備えたものである。
【００１１】
ここで、前記タスク制御部は、要求された主動作タスクを、時系列に処理を実行すべき複数のステップのそれぞれに対して設定された前記細分化タスクに変換し、当該ステップ毎に当該細分化タスクを前記複数の制御部に対して実行させることが好ましい。
【００１２】
また、前記複数の制御部は、前記細分化タスクに応じて自律して動作を実行することが望ましい。
【００１３】
さらに、前記機能と制御部の対応関係は変更可能であるとよい。また、好適な実施の形態において、上述のロボット制御システムはロボットに搭載される。
【００１４】
本発明にかかるロボット制御方法は、ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部を備えたロボットを制御する方法であって、要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換するステップと、変換された細分化タスクを前記複数の制御部に対して実行させるステップとを備えたものである。
【発明の効果】
【００１５】
本発明によれば、モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供することができる。
【発明を実施するための最良の形態】
【００１６】
まず、本発明にかかるロボット制御システムについて、図１に示す概念図を用いて説明する。図１に示す例に示すロボット１は、環境認識部を有する頭部と、物体を把持するためのハンドを有する双腕アームとを少なくとも備えている。そして、この例では、ロボット１に対して対象物２を両手で抱えて所定の地点へ運搬するというタスク（以下、「主動作タスク」とする）を実行するよう指示している。この場合、ロボット１は、運搬を実現するための主動作タスクが、見るステップ→掴むステップ→運ぶステップ→置くステップに、予め分類されて、設定されている。図１に示す例では、ロボット１は、このうち、運ぶステップを実行している。さらに、運ぶステップにおいては、ロボット１の各部位（機能）に対して細分化されたタスク（以下、「細分化タスク」とする）を実行することが指示される。例えば、頭に対しては対象物２を見るという細分化タスク、右手に対しては対象物２を掴むという細分化タスク、右腕に対しては目標位置へ腕を伸ばすという細分化タスク、左手に対しては対象物２を掴むという細分化タスク、左腕に対しては外力に追従するという細分化タスクである。
【００１７】
各機能（部位）は、細分化タスクに基づいて、自律的に動作を実行する。このように局所的には各部位が自身に与えられた細分化タスクに基づいて自律的に動作を実行するが、これにより、全身としては「運搬」という最上位の主動作タスクを実現することができる。
【００１８】
なお、図１に示す例では、左手と左腕は異なる部位として異なる細分化タスクが与えられているが、左手系として一つの部位として一つの細分化タスクを与えるようにしてもよい。
【００１９】
続いて、図２を用いて、本発明にかかるロボット制御システムの構成について説明する。当該ロボット制御システムは、ロボットの各部位に設けられたセンサー１０よりセンサー１０による検出信号を制御部２０に入力する。制御部２０は、センサー１０からの検出信号や操作者による操作信号に応じて、アクチュエータ３０を制御する。
【００２０】
センサー１０には、例えば、対象物の位置や姿勢を検出するための画像センサー（カメラ）、外力を検出する力覚センサーや触覚センサー、関節角度を検出するエンコーダポテンショメータ、音声を検出マイクロフォン等が含まれる。センサー１０は、制御部２０と有線又は無線により接続されている。
【００２１】
制御部２０は、第１のタスク制御部２１、第２のタスク制御部２２、頭制御部２３、右腕制御部２４、左腕制御部２５、右手制御部２６、左手制御部２７を備えている。どのような単位で機能や部位を分けて制御部を設けるかは、要求される性能によって適宜決定し、変更することができる。図２に示す例は、図１で示されるような上半身のみのロボットを想定しているが、足を有し、自律歩行可能なロボットの場合には、さらに右脚制御部、左脚制御部等を有する。
【００２２】
制御部２０は、ハードウェア構成として、ＣＰＵ（Central Processing Unit：中央制御装置）、ＲＯＭ、ＲＡＭ等のメモリ等を備えている。このとき、制御部２０は、全体で一つのＣＰＵによって各制御部２１〜２７を構成するようにしてもよいが、各制御部２１〜２７のそれぞれに対応した数のＣＰＵによって構成してもよく、任意のグループ毎に一つのＣＰＵによって構成してもよい。
【００２３】
第１のタスク制御部２１は、操作者からの指令若しくはロボット自身の判断により要求された主動作タスクを認識処理する機能を有する。例えば、「特定の対象物をある場所からある場所へ運搬すること」が主動作タスクとして要求される。第１のタスク制御部２１は、このような処理を可能とするため、多数の主動作タスクが予め設定され、記憶部に格納している。
【００２４】
第２のタスク制御部２２は、第１のタスク制御部２１によって認識された主動作タスクを、当該主動作タスクを実現するための手順に分解し、当該手順を構成するステップ毎に、細分化タスクに変換する。例えば、「特定の対象物をある場所からある場所へ運搬する」という主動作タスクは、見るステップ、掴むステップ、運ぶステップ、置くステップに分解される。そして、各ステップ毎に、頭制御部２３、右腕制御部２４、左腕制御部２５、右手制御部２６、左手制御部２７のそれぞれに、動作単位の指令である細分化タスクを実行させる。第２のタスク制御部２２は、このような処理を可能とするため、主動作タスクが、複数のステップのそれぞれについて、細分化タスクと関連付けられて記述され記憶部に格納されている。
【００２５】
頭制御部２３、右腕制御部２４、左腕制御部２５、右手制御部２６、左手制御部２７は、ロボット１の各機能（部位）に対応して設けられ、対応する機能（部位）を動作単位で制御することができる。
【００２６】
頭制御部２３は、ロボット１の頭部の動作や、頭部に設けられたカメラを制御する。右腕制御部２４は、主として右腕の関節の動作を制御する。左腕制御部２５は、主として左腕の関節の動作を制御する。右手制御部２６は、主として右手の指部の関節の動作を制御する。左手制御部２７は、主として左手の指部の関節の動作を制御する。
【００２７】
アクチュエータ３０は、ロボットの各部位に設けられ、アームや関節等を駆動するモータ等である。アクチュエータ３０は、制御部２０と有線又は無線により接続されている。
【００２８】
続いて、図３のフローチャートを用いて、本発明にかかるロボット制御システムにおける制御の流れについて説明する。図３に示す例は、ロボットに対して、両手で対象物を掴んで運搬する動作を指示した場合である。
【００２９】
操作者からの指令若しくはロボット自身の判断により、所定の対象物の運搬が指示されると、第１のタスク制御部２１は、この指示が「運搬」のタスクであると認識し、設定する（Ｓ１００）。
【００３０】
次に、第２のタスク制御部２２は、第１のタスク制御部２１から「運搬」のタスクであるとの情報を取得し、「運搬」のタスクでは、見るステップ（Ｓ１０１）、掴むステップ（Ｓ１０２）、運ぶステップ（Ｓ１０３）、置くステップ（Ｓ１０４）の順番に時系列に細分化タスクを実行すべきであると、予め関連付けられたデータより判断する。
【００３１】
まず、見るステップ（Ｓ２０１）では、頭制御部２３には探すタスクを、右腕制御部２４には姿勢保持のタスクを、左腕制御部２５には姿勢保持のタスクを、右手制御部２６のタスクには放すタスクを、左手制御部２７には放すタスクをそれぞれ実行させている。それぞれの細分化タスクを実行する場合に、各制御部２３〜２７は、センサー１０から入力された検出信号に基づき、ロボット１の各機能（部位）を制御している。また、それぞれの制御部２３〜２７は、他の制御部とは独立して（自律して）、それぞれに割り当てられた細分化タスクにより定められた目標値に達するまで当該細分化タスクを実行する。
【００３２】
本例では、見るステップは２段階のステップに分かれている。最初のステップ（Ｓ２０１）においてロボット１が、センサー１０からの入力より対象物を発見したと判定した場合には、後のステップ（Ｓ２０２）に移行する。後のステップでは、頭制御部２３には見るタスクを、右腕制御部２４には姿勢保持のタスクを、左腕制御部２５には姿勢保持のタスクを、右手制御部２６のタスクには放すタスクを、左手制御部２７には放すタスクをそれぞれ実行させる。
【００３３】
次に、ロボット１が対象物を視野内に含め、撮像状態にあると判定した場合には、掴むステップ（Ｓ２０３）を実行する。掴むステップ（Ｓ２０３）では、頭制御部２３には見るタスクを、右腕制御部２４には腕を伸ばすタスクを、左腕制御部２５には腕を伸ばすタスクを、右手制御部２６のタスクには放すタスクを、左手制御部２７には放すタスクをそれぞれ実行させる。
【００３４】
本例では、掴むステップは２段階のステップ（Ｓ２０３，Ｓ２０４）に分かれている。最初のステップ（Ｓ２０３）においてロボット１が、センサー１０からの入力よりロボット１の両手が対象物の把持位置まで到達したと判定した場合には、後のステップ（Ｓ２０４）に移行する。後のステップ（Ｓ２０４）では、頭制御部２３には見るタスクを、右腕制御部２４には姿勢保持のタスクを、左腕制御部２５には姿勢保持のタスクを、右手制御部２６のタスクには掴むタスクを、左手制御部２７には掴むタスクをそれぞれ実行させる。
【００３５】
次に、ロボット１が対象物の把持動作を完了したと判定した場合には、運ぶステップを実行する（Ｓ２０５）。運ぶステップ（Ｓ２０５）では、頭制御部２３には探すタスクを、右腕制御部２４には腕を伸ばすタスクを、左腕制御部２５には力追従タスクを、右手制御部２６のタスクには掴むタスクを、左手制御部２７には掴むタスクをそれぞれ実行させる。図３では図示していないが、さらに置くステップ（Ｓ１０４）における細分化タスクを実行し、「運搬」タスクを完了する。
【００３６】
続いて、図４を用いて、制御部２３〜２７を代表して頭制御部２３の構成例について説明する。図４（ａ）に示されるように、頭制御部２３は、見る処理ブロック２３１と探す処理ブロック２３２を備えている。
【００３７】
図４（ｂ）に示されるように、センサー１０から頭制御部２３に対しては、例えば画像センサーより対象物の位置を示す検出信号が入力され、エンコーダより関節角度を示す検出信号が入力される。見る処理ブロック２３１では、目標位置と現在角度から見る処理が実行され、探す処理ブロック２３２では、探索用目標起動と現在角度から探す処理が実行され、その結果がアクチュエータ３０に出力される。
【００３８】
以上、説明したように、本発明にかかるロボット制御システムでは、各制御部は、動作単位でロボットを制御するので、記述が容易となり、機能の追加や修正が容易となる。また、各部位の機能を追加や修正する場合にも、その変更がロボットの全体に対して影響しないため、容易に実行できる。さらに、第２のタスク制御部は、タスクを達成できるように各機能（部位）の役割を考慮して動作単位の指令を発行するため、各機能（部位）はその指令をタスクとして自律的に動作するだけで、協調動作を実現できる。
【００３９】
また、各部位の分類を可変にすることで、必要な部位を組み合わせて１つのモデルとして制御することができ、対応できるタスクの範囲を拡大させることが可能となる。また、全体でみれば多自由度の機構を、各部位に分類することによって並列分散的に処理することができるので、計算時間が短縮化され、ロボットの反応速度を上げることが可能となる。
【図面の簡単な説明】
【００４０】
【図１】本発明にかかるロボット制御システムの処理概念を説明するための説明図である。
【図２】本発明にかかるロボット制御システムの構成を示すブロック図である。
【図３】本発明にかかるロボット制御システムの処理を示すフローチャートである。
【図４】本発明にかかるロボット制御システムの頭制御部の詳細ブロック図である。
【符号の説明】
【００４１】
１  ロボット
２  対象物
１０  センサー
２０  制御部
２１  第１のタスク制御部
２２  第２のタスク制御部
２３  頭制御部
２４  右腕制御部
２５  左腕制御部
２６  右手制御部
【図１】
2008006518.tif 000003
【図２】
2008006518.tif 000004
【図３】
2008006518.tif 000005
【図４】
2008006518.tif 000006