説明

ロボット制御システム、ロボット制御方法及びロボット

【課題】モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供すること。
【解決手段】本発明にかかるロボット制御システムは、ロボット1の各機能に対応して設けられ、対応する機能を制御可能な複数の制御部23〜27と、要求された主動作タスクを、前記複数の制御部23〜27に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部23〜27に対して実行させるタスク制御部20,21とを備えたものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御システム、ロボット制御方法およびロボットに関し、特に、タスクに応じたロボット制御技術に関する。
【背景技術】
【0002】
様々な用途のロボットが開発されている。通常、ロボットは、多自由度機構を有するが、ロボットを構成する各部位の動作は、コンピュータにより構成される制御部によって全体的に統括して制御される。
【0003】
従って、ロボットの全身を協調させて動作させるには、複雑な身体モデルが必要であった。特に、ロボット技術の進歩に伴って自由度が増加すると、ロボットの身体モデルがさらに複雑となり、ロボットの全身を含む環境モデルも大きく複雑なものにならざるをえなかった。
【0004】
また、ロボットに対して作業を実行させる場合には、制御部は、各部位が協調し、かつ干渉することないように作業を遂行するよう計算しなければならないが、一つの作業を実行するための計算量は膨大であった。
【0005】
また、タスクを変更又は追加した場合には、各部位が相互に及ぼす影響を考慮しなければならないためロボットの全身を考慮した上でロボットに対して教示する必要があった。例えば、20軸を有するロボットに対しては、各軸に対して指令値を与える必要があるが、一部の軸に対する目標値を変更すると、その他の全ての軸に対する指令値を変更する必要があり、その作業は膨大なものであった。
【0006】
さらに、機能拡張などの理由により、ロボットの部位の一部を変更した場合には、その変更がロボットの全身に影響を及ぼすため、再度、ロボット全身の設定を行なわなければならなかった。例えば、関節の角度が50度まで曲がる構成から70度まで曲がる構成に変更された場合や、2本指構成の手から5本指構成の手に変更された場合である。
【0007】
他方、特許文献1には、ロボットの制御について分散制御を行う技術が開示されている。しかしながら、特許文献1に開示された技術は、複数のマイクロロボットのそれぞれに対して独自のタスク命令を与え、そして独自のミッションを遂行する制御技術に関するものであり、一つのロボットの各部位の処理に関して分散制御を実行するものではない。従って、特許文献1に開示されたロボットにおいても上述の問題点が発生しうる。
【特許文献1】特開平11−231910号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述したように、従来のロボット制御によれば、モデルの複雑化や計算量の増大、さらに、タスク変更に対する教示作業の増加や部位の変更に対する設定作業の増加といった問題点があった。
【0009】
本発明は、かかる課題を解決するためになされたものであり、モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明にかかるロボット制御システムは、ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部と、要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部に対して実行させるタスク制御部とを備えたものである。
【0011】
ここで、前記タスク制御部は、要求された主動作タスクを、時系列に処理を実行すべき複数のステップのそれぞれに対して設定された前記細分化タスクに変換し、当該ステップ毎に当該細分化タスクを前記複数の制御部に対して実行させることが好ましい。
【0012】
また、前記複数の制御部は、前記細分化タスクに応じて自律して動作を実行することが望ましい。
【0013】
さらに、前記機能と制御部の対応関係は変更可能であるとよい。また、好適な実施の形態において、上述のロボット制御システムはロボットに搭載される。
【0014】
本発明にかかるロボット制御方法は、ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部を備えたロボットを制御する方法であって、要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換するステップと、変換された細分化タスクを前記複数の制御部に対して実行させるステップとを備えたものである。
【発明の効果】
【0015】
本発明によれば、モデルの記述が容易で、計算量が少なく、さらにタスクや一部の部位を変更した場合にも対応が容易なロボット制御システム、ロボット制御方法およびロボットを提供することができる。
【発明を実施するための最良の形態】
【0016】
まず、本発明にかかるロボット制御システムについて、図1に示す概念図を用いて説明する。図1に示す例に示すロボット1は、環境認識部を有する頭部と、物体を把持するためのハンドを有する双腕アームとを少なくとも備えている。そして、この例では、ロボット1に対して対象物2を両手で抱えて所定の地点へ運搬するというタスク(以下、「主動作タスク」とする)を実行するよう指示している。この場合、ロボット1は、運搬を実現するための主動作タスクが、見るステップ→掴むステップ→運ぶステップ→置くステップに、予め分類されて、設定されている。図1に示す例では、ロボット1は、このうち、運ぶステップを実行している。さらに、運ぶステップにおいては、ロボット1の各部位(機能)に対して細分化されたタスク(以下、「細分化タスク」とする)を実行することが指示される。例えば、頭に対しては対象物2を見るという細分化タスク、右手に対しては対象物2を掴むという細分化タスク、右腕に対しては目標位置へ腕を伸ばすという細分化タスク、左手に対しては対象物2を掴むという細分化タスク、左腕に対しては外力に追従するという細分化タスクである。
【0017】
各機能(部位)は、細分化タスクに基づいて、自律的に動作を実行する。このように局所的には各部位が自身に与えられた細分化タスクに基づいて自律的に動作を実行するが、これにより、全身としては「運搬」という最上位の主動作タスクを実現することができる。
【0018】
なお、図1に示す例では、左手と左腕は異なる部位として異なる細分化タスクが与えられているが、左手系として一つの部位として一つの細分化タスクを与えるようにしてもよい。
【0019】
続いて、図2を用いて、本発明にかかるロボット制御システムの構成について説明する。当該ロボット制御システムは、ロボットの各部位に設けられたセンサー10よりセンサー10による検出信号を制御部20に入力する。制御部20は、センサー10からの検出信号や操作者による操作信号に応じて、アクチュエータ30を制御する。
【0020】
センサー10には、例えば、対象物の位置や姿勢を検出するための画像センサー(カメラ)、外力を検出する力覚センサーや触覚センサー、関節角度を検出するエンコーダポテンショメータ、音声を検出マイクロフォン等が含まれる。センサー10は、制御部20と有線又は無線により接続されている。
【0021】
制御部20は、第1のタスク制御部21、第2のタスク制御部22、頭制御部23、右腕制御部24、左腕制御部25、右手制御部26、左手制御部27を備えている。どのような単位で機能や部位を分けて制御部を設けるかは、要求される性能によって適宜決定し、変更することができる。図2に示す例は、図1で示されるような上半身のみのロボットを想定しているが、足を有し、自律歩行可能なロボットの場合には、さらに右脚制御部、左脚制御部等を有する。
【0022】
制御部20は、ハードウェア構成として、CPU(Central Processing Unit:中央制御装置)、ROM、RAM等のメモリ等を備えている。このとき、制御部20は、全体で一つのCPUによって各制御部21〜27を構成するようにしてもよいが、各制御部21〜27のそれぞれに対応した数のCPUによって構成してもよく、任意のグループ毎に一つのCPUによって構成してもよい。
【0023】
第1のタスク制御部21は、操作者からの指令若しくはロボット自身の判断により要求された主動作タスクを認識処理する機能を有する。例えば、「特定の対象物をある場所からある場所へ運搬すること」が主動作タスクとして要求される。第1のタスク制御部21は、このような処理を可能とするため、多数の主動作タスクが予め設定され、記憶部に格納している。
【0024】
第2のタスク制御部22は、第1のタスク制御部21によって認識された主動作タスクを、当該主動作タスクを実現するための手順に分解し、当該手順を構成するステップ毎に、細分化タスクに変換する。例えば、「特定の対象物をある場所からある場所へ運搬する」という主動作タスクは、見るステップ、掴むステップ、運ぶステップ、置くステップに分解される。そして、各ステップ毎に、頭制御部23、右腕制御部24、左腕制御部25、右手制御部26、左手制御部27のそれぞれに、動作単位の指令である細分化タスクを実行させる。第2のタスク制御部22は、このような処理を可能とするため、主動作タスクが、複数のステップのそれぞれについて、細分化タスクと関連付けられて記述され記憶部に格納されている。
【0025】
頭制御部23、右腕制御部24、左腕制御部25、右手制御部26、左手制御部27は、ロボット1の各機能(部位)に対応して設けられ、対応する機能(部位)を動作単位で制御することができる。
【0026】
頭制御部23は、ロボット1の頭部の動作や、頭部に設けられたカメラを制御する。右腕制御部24は、主として右腕の関節の動作を制御する。左腕制御部25は、主として左腕の関節の動作を制御する。右手制御部26は、主として右手の指部の関節の動作を制御する。左手制御部27は、主として左手の指部の関節の動作を制御する。
【0027】
アクチュエータ30は、ロボットの各部位に設けられ、アームや関節等を駆動するモータ等である。アクチュエータ30は、制御部20と有線又は無線により接続されている。
【0028】
続いて、図3のフローチャートを用いて、本発明にかかるロボット制御システムにおける制御の流れについて説明する。図3に示す例は、ロボットに対して、両手で対象物を掴んで運搬する動作を指示した場合である。
【0029】
操作者からの指令若しくはロボット自身の判断により、所定の対象物の運搬が指示されると、第1のタスク制御部21は、この指示が「運搬」のタスクであると認識し、設定する(S100)。
【0030】
次に、第2のタスク制御部22は、第1のタスク制御部21から「運搬」のタスクであるとの情報を取得し、「運搬」のタスクでは、見るステップ(S101)、掴むステップ(S102)、運ぶステップ(S103)、置くステップ(S104)の順番に時系列に細分化タスクを実行すべきであると、予め関連付けられたデータより判断する。
【0031】
まず、見るステップ(S201)では、頭制御部23には探すタスクを、右腕制御部24には姿勢保持のタスクを、左腕制御部25には姿勢保持のタスクを、右手制御部26のタスクには放すタスクを、左手制御部27には放すタスクをそれぞれ実行させている。それぞれの細分化タスクを実行する場合に、各制御部23〜27は、センサー10から入力された検出信号に基づき、ロボット1の各機能(部位)を制御している。また、それぞれの制御部23〜27は、他の制御部とは独立して(自律して)、それぞれに割り当てられた細分化タスクにより定められた目標値に達するまで当該細分化タスクを実行する。
【0032】
本例では、見るステップは2段階のステップに分かれている。最初のステップ(S201)においてロボット1が、センサー10からの入力より対象物を発見したと判定した場合には、後のステップ(S202)に移行する。後のステップでは、頭制御部23には見るタスクを、右腕制御部24には姿勢保持のタスクを、左腕制御部25には姿勢保持のタスクを、右手制御部26のタスクには放すタスクを、左手制御部27には放すタスクをそれぞれ実行させる。
【0033】
次に、ロボット1が対象物を視野内に含め、撮像状態にあると判定した場合には、掴むステップ(S203)を実行する。掴むステップ(S203)では、頭制御部23には見るタスクを、右腕制御部24には腕を伸ばすタスクを、左腕制御部25には腕を伸ばすタスクを、右手制御部26のタスクには放すタスクを、左手制御部27には放すタスクをそれぞれ実行させる。
【0034】
本例では、掴むステップは2段階のステップ(S203,S204)に分かれている。最初のステップ(S203)においてロボット1が、センサー10からの入力よりロボット1の両手が対象物の把持位置まで到達したと判定した場合には、後のステップ(S204)に移行する。後のステップ(S204)では、頭制御部23には見るタスクを、右腕制御部24には姿勢保持のタスクを、左腕制御部25には姿勢保持のタスクを、右手制御部26のタスクには掴むタスクを、左手制御部27には掴むタスクをそれぞれ実行させる。
【0035】
次に、ロボット1が対象物の把持動作を完了したと判定した場合には、運ぶステップを実行する(S205)。運ぶステップ(S205)では、頭制御部23には探すタスクを、右腕制御部24には腕を伸ばすタスクを、左腕制御部25には力追従タスクを、右手制御部26のタスクには掴むタスクを、左手制御部27には掴むタスクをそれぞれ実行させる。図3では図示していないが、さらに置くステップ(S104)における細分化タスクを実行し、「運搬」タスクを完了する。
【0036】
続いて、図4を用いて、制御部23〜27を代表して頭制御部23の構成例について説明する。図4(a)に示されるように、頭制御部23は、見る処理ブロック231と探す処理ブロック232を備えている。
【0037】
図4(b)に示されるように、センサー10から頭制御部23に対しては、例えば画像センサーより対象物の位置を示す検出信号が入力され、エンコーダより関節角度を示す検出信号が入力される。見る処理ブロック231では、目標位置と現在角度から見る処理が実行され、探す処理ブロック232では、探索用目標起動と現在角度から探す処理が実行され、その結果がアクチュエータ30に出力される。
【0038】
以上、説明したように、本発明にかかるロボット制御システムでは、各制御部は、動作単位でロボットを制御するので、記述が容易となり、機能の追加や修正が容易となる。また、各部位の機能を追加や修正する場合にも、その変更がロボットの全体に対して影響しないため、容易に実行できる。さらに、第2のタスク制御部は、タスクを達成できるように各機能(部位)の役割を考慮して動作単位の指令を発行するため、各機能(部位)はその指令をタスクとして自律的に動作するだけで、協調動作を実現できる。
【0039】
また、各部位の分類を可変にすることで、必要な部位を組み合わせて1つのモデルとして制御することができ、対応できるタスクの範囲を拡大させることが可能となる。また、全体でみれば多自由度の機構を、各部位に分類することによって並列分散的に処理することができるので、計算時間が短縮化され、ロボットの反応速度を上げることが可能となる。
【図面の簡単な説明】
【0040】
【図1】本発明にかかるロボット制御システムの処理概念を説明するための説明図である。
【図2】本発明にかかるロボット制御システムの構成を示すブロック図である。
【図3】本発明にかかるロボット制御システムの処理を示すフローチャートである。
【図4】本発明にかかるロボット制御システムの頭制御部の詳細ブロック図である。
【符号の説明】
【0041】
1 ロボット
2 対象物
10 センサー
20 制御部
21 第1のタスク制御部
22 第2のタスク制御部
23 頭制御部
24 右腕制御部
25 左腕制御部
26 右手制御部

【特許請求の範囲】
【請求項1】
ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部と、
要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換し、当該細分化タスクを前記複数の制御部に対して実行させるタスク制御部とを備えたロボット制御システム。
【請求項2】
前記タスク制御部は、要求された主動作タスクを、時系列に処理を実行すべき複数のステップのそれぞれに対して設定された前記細分化タスクに変換し、当該ステップ毎に当該細分化タスクを前記複数の制御部に対して実行させることを特徴とする請求項1記載のロボット制御システム。
【請求項3】
前記複数の制御部は、前記細分化タスクに応じて自律して動作を実行することを特徴とする請求項1又は2記載のロボット制御システム。
【請求項4】
前記機能と制御部の対応関係は変更可能であることを特徴とする請求項1記載のロボット制御システム。
【請求項5】
前記請求項1〜4いずれかに記載のロボット制御システムを備えたロボット。
【請求項6】
ロボットの各機能に対応して設けられ、対応する機能を制御可能な複数の制御部を備えたロボットを制御する方法であって、
要求された主動作タスクを、前記複数の制御部に対応して細分化された細分化タスクに変換するステップと、
変換された細分化タスクを前記複数の制御部に対して実行させるステップとを備えたロボット制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−6518(P2008−6518A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2006−177360(P2006−177360)
【出願日】平成18年6月27日(2006.6.27)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】