説明

ロボットシステムの行為に基づくタスク実現方法

【課題】本発明はロボットシステムにおいて、行為に基づいてタスクを実現することができる行為に基づくタスク実現方法を提供する。
【解決手段】行為に基づくタスク実現方法は、複数のコンポーネントのうちの1つ以上のコンポーネントから1つ以上の基本行為を実現するステップ、1つ以上の基本行為から拡張可能行為を実現するステップ、および拡張可能行為から拡張行為を実現するステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットシステムの制御構造に関し、より詳しくは、ロボットシステムの行為に基づくタスク実現方法に関する。
【背景技術】
【0002】
ロボットシステムは様々な環境においてユーザが所望するサービングを提供するために数多くのハードウェアとソフトウェアモジュールを必要とし、これを有機的に動作させるためには効率的な制御構造を必要とする。
【0003】
また、従来のロボットシステムが単純なタスク、例えばロボットシステムの応用プログラムだけを遂行したのに対し、現代の知能型ロボットは複雑な環境において様々なサービスを提供しなければならず、このためには複雑なタスクを成功的に遂行しなければならない。
【0004】
このようにロボットシステムが様々で複雑なタスクを遂行するためには、ハードウェア的な向上の以外にソフトウェア的な制御構造の改善が必要である。このため、ロボットシステムの制御構造に対する研究が活発に進行されてきた。
【0005】
従来のロボットシステム制御構造にはSense−Plan−Actに基づくSPA構造がある。SPA構造は、認知(sense)、計画(plan)、遂行(act)の3部分に分類された制御構造に応じてロボットシステムを順次制御する。
【0006】
例えば、SPA構造の認識においてはセンサ(sensor)から全ての情報を収集し、計画においては収集された情報に基づいてワールドモデル(world model)を生成し、遂行に対する計画を樹立し、計画から伝達された命令の通りに行動をする。
【0007】
このようなSPA構造は複雑なタスクに対して最適化が可能ではあるが、システム複雑度による遅い応答時間と外部環境、すなわちロボットシステムのハードウェア構成に依存する問題点を有している。
【0008】
このような問題を解決するために包摂アーキテクチャ(subsumption architecture)を基盤とする行為に基づく制御構造が提案されたが、これは複雑なタスクを遂行できない問題点を有している。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明が解決しようとする課題は、行為に基づいてロボットシステムのタスクを実現するが、ロボットシステムのハードウェア構成に依存しないつつ拡張および再使用が可能な行為に基づくロボットシステムのタスクを実現する方法を提供することにある。
【課題を解決するための手段】
【0010】
前記課題を解決するための本発明の一実施形態による行為に基づくタスク実現方法は、複数のコンポーネントのうちの1つ以上のコンポーネントから1つ以上の基本行為を実現するステップ、1つ以上の基本行為から拡張可能行為を実現するステップ、および拡張可能行為から拡張行為を実現するステップを含む。
【0011】
前記課題を解決するための本発明の他の実施形態による行為に基づくタスク実現方法は、最初開発者により実現されたロボットシステムの複数の行為のうちから開発しようとするタスクに該当する1つ以上の行為を抽出するステップ、および抽出した1つ以上の行為を再構成してロボットシステムのタスクを実現するステップを含む。
【発明の効果】
【0012】
本発明に係るロボットシステムの行為に基づくタスク実現方法によれば、ロボットの行為に基づいて応用プログラム、すなわちロボットシステムのタスクを実現するが、行為階層に再使用および拡張が可能な拡張可能行為を追加することにより、複雑なタスクの開発期間を短縮し、維持補修を効率的に行うことができる効果がある。
また、次期の開発者が予め実現された行為階層を再使用してロボットシステムのタスクを実現することができる。
【図面の簡単な説明】
【0013】
【図1】本発明に係るロボットシステムの制御階層構造を示す図である。
【図2】本発明の一実施形態によるロボットのタスクを実現するフローチャートである。
【図3】図2のフローチャートに応じて実現されたタスクを含むロボットの制御階層構造の一例を示す図である。
【図4】図3の拡張可能行為の概念図である。
【図5】図3の拡張行為の概念図である。
【図6】本発明の他の実施形態によるロボットのタスクを実現するフローチャートである。
【図7】図1〜図6によって実現されたタスクを用いたロボットの制御方法に対するフローチャートである。
【発明を実施するための形態】
【0014】
本発明と本発明の動作上の利点および本発明の実施形態によって達成される目的を十分に理解するためには、本発明の実施形態を例示する添付図面および添付図面に記載された内容を参照しなければならない。
以下、添付図面を参照して本発明の好ましい実施形態を説明することによって本発明を詳しく説明する。各図面に提示された同一の参照符号は同一の部材を示す。
【0015】
図1は本発明に係るロボットシステムの制御階層構造を示す図である。
図1を参照すれば、ロボットシステム(以下、ロボット)の制御階層構造は、ハードウェア階層10、コンポーネント階層20、行為階層30、およびタスク(または、応用プログラム)階層40を含むことができる。
【0016】
ハードウェア階層10は、ロボットシステム(以下、ロボット)の複数のハードウェアで構成することができる。例えば、ハードウェア階層10は、ロボットの移動のための輪(または、脚)、ロボット腕、カメラ、タッチセンサまたは超音波センサなどを含むセンサなどのようなロボットを構成する複数のハードウェアを含むことができる。
【0017】
コンポーネント階層20は、複数のハードウェア各々の動作を制御するための複数のコンポーネントで構成することができる。
例えば、複数のハードウェアの各々には組み込みソフトウェアやファームウェアなどが実現(または、搭載)されており、コンポーネント階層20の複数のコンポーネントの各々は複数のハードウェアの各々から提供されるAPI(Application Program Interface;API)を利用して実現されることができる。
【0018】
複数のコンポーネントの各々はコンポーネント開発者によってプログラミングされて実現され、ロボットの複数のハードウェアの各々に従属的に実現されることができる。
【0019】
行為階層30は、基本行為(basic behavior)31、拡張可能行為(extensible behavior)33、および拡張行為(extended behavior)35で構成することができる。
例えば、開発者は、既に実現された複数のコンポーネントのうちの1つ以上のコンポーネントを利用してロボットの複数の行為を実現することができる。
【0020】
この時、開発者は、1つ以上のコンポーネントから行為階層30の基本行為31を実現することができ、実現された基本行為31またはこれに1つ以上のコンポーネントを組み合わせて拡張可能行為33を実現することができ、拡張可能行為33またはこれに基本行為31または1つ以上のコンポーネントを組み合わせて拡張行為35を実現することができる。
【0021】
ここで、基本行為31は行為階層30の最も基本となる行為であって、これ以上拡張する必要のない行為である。基本行為31は、1つ以上のコンポーネントからデバイス抽象化を通じて実現されることができる。
【0022】
また、基本行為31は、以前に1つ以上のコンポーネントから実現された基本行為から実現されることもできる。すなわち、開発者は既に実現された1つ以上の基本行為を組み合わせて新しい基本行為を実現することもできる。
【0023】
拡張可能行為33は、開発者の実現意図またはロボットの構成に応じて各々異に実現できる行為である。このような拡張可能行為33は、次期開発者がロボットタスク、例えばロボットの応用プログラムを容易に開発できるようにするために拡張性を有することが好ましい。拡張可能行為33の拡張性は、今後図面を参照して詳細に説明する。
【0024】
拡張行為35は拡張可能行為33から実現されることができ、実施形態に応じては拡張可能行為33と他の行為、すなわち1つ以上の基本行為31の組み合わせまたは拡張可能行為33と1つ以上のコンポーネントの組み合わせから実現されることができる。
【0025】
タスク階層40は、行為階層30の複数の行為、すなわち基本行為31、拡張可能行為33、および拡張行為35から実現されたロボットのタスク、すなわちロボット応用プログラムで構成することができる。
【0026】
タスク階層40のタスクは開発者の意図によって様々に実現されるが、ロボットがユーザの命令に応じて行う様々な作業を1つまたはそれ以上のタスクとして実現されることができる。
【0027】
タスクは行為階層30の複数の行為から実現されることができ、これにより、開発者はロボットのハードウェア特性を考慮しなくてもタスクを実現することができる。
【0028】
上述したコンポーネント階層20の複数のコンポーネント、行為階層30の複数の行為、およびタスク階層40の1つ以上のタスクは、様々なプログラミング言語、例えばC++、Javaなどを利用して実現されることができる。
【0029】
図2は本発明の一実施形態によるロボットのタスクを実現するフローチャートであり、図3は図2のフローチャートに応じて実現されたタスクを含むロボットの制御階層構造の一例を示す図である。
【0030】
図1〜図3を参照すれば、開発者は、ハードウェア階層10の複数のハードウェアの各々から複数のコンポーネントを実現することができる(S10)。
例えば、開発者は、ロボットの複数のハードウェアの各々から走行を駆動し制御するナビゲーション(Navigation)コンポーネント111を実現することができる。
【0031】
また、開発者は、ロボットの複数のハードウェアの各々からテキストを音声に変換するテキスト・ツー・スピーチ(Text to Speech;以下、TTS)コンポーネント113を実現することができる。
【0032】
また、開発者は、ロボットの複数のハードウェアの各々からロボット腕の動きを制御するスイング・アーム(Swing Arm)コンポーネント115を実現することができる。
すなわち、開発者は、複数のコンポーネントを実現することにより、ロボットの物理的アクチュエータまたはセンサなどを駆動し制御することができる。
ここで、開発者は、複数のコンポーネントだけを実現するコンポーネント開発者であってもよく、今後記述する行為階層30の複数の行為またはタスク階層40のタスクを実現する応用開発者であってもよい。
【0033】
本実施形態においては、一例として、開発者が、複数のコンポーネントだけでなく、複数の行為と1つ以上のタスクを開発する例を挙げて説明する。但し、本発明は、これに制限されず、複数のコンポーネントを実現する開発者と複数の行為および1つ以上のタスクを実現する開発者とは異に構成することもできる。
【0034】
複数のコンポーネントが実現されれば、開発者は、実現された複数のコンポーネントのうちの1つ以上のコンポーネントから行為階層30の複数の行為を実現することができる。
【0035】
開発者は、1つ以上のコンポーネントからロボットの基本行為31を実現することができる(S20)。
例えば、開発者は、実現されたナビゲーションコンポーネント111からロボットを指定位置までに移動させるための行為、すなわちゴー・ツー・ランドマーク(GotoLandmark)行為121を実現することができる。
【0036】
また、開発者は、実現されたTTSコンポーネント113からロボットが音声を出力するスピーカー(Speaker)行為125を実現することができる。
【0037】
また、開発者は、実現された基本行為、例えばゴー・ツー・ランドマーク行為121から他の基本行為、例えばロボットをユーザの位置に移動させるためのゴー・ツー・ユーザ(GotoUser)行為123を実現することができる。
【0038】
1つ以上のコンポーネントからロボットの1つ以上の基本行為31が実現されれば、開発者は、1つ以上の基本行為31からロボットの拡張可能行為33を実現することができる(S30)。
【0039】
拡張可能行為33は、前述したように拡張性を有するように実現されることができ、開発者またはロボットの種類に応じて異に実現されることができる。
例えば、開発者は、実現されたゴー・ツー・ランドマーク行為121またはゴー・ツー・ユーザ行為123からロボットがお使いを遂行できるエランド(Errands)行為131を実現することができる。
エランド行為131は拡張性を有する行為であって、開発者によって様々な行為に拡張される。
【0040】
図4は図3の拡張可能行為の概念図である。
図3および図4を参照すれば、開発者は、1つ以上の基本行為31から拡張可能なエランド行為131を実現するが、拡張性のために、エランド行為131に1つ以上の拡張ポイント(133_1、133_2、133_3)を指定することができる。
例えば、開発者は、エランド行為131の開始時点、すなわちロボットがエランド行為131を始める直前の時点に第1拡張ポイント(133_1)を指定することができる。
【0041】
また、開発者は、エランド行為131の中間時点、すなわちロボットがエランド行為131を遂行して指定位置に到着した後にユーザ命令を遂行する直前の時点に第2拡張ポイント(133_2)を指定することができる。
【0042】
また、開発者は、エランド行為131の終了時点、すなわちロボットがエランド行為131を遂行した後にユーザの位置に復帰した直後の時点に第3拡張ポイント(133_3)を指定することができる。
【0043】
再び図1〜図3を参照すれば、エランド行為131に複数の拡張ポイント(133_1、133_2、133_3)が指定されれば、開発者はそれぞれの拡張ポイント(133_1、133_2、133_3)に拡張要素を追加することによって拡張行為35を実現することができる(S40)。
【0044】
図5は図3の拡張行為の概念図である。
図3および図5を参照すれば、開発者は、エランド行為131の第1拡張ポイント(133_1)〜第3拡張ポイント(133_3)の各々に第1拡張子(143_1)〜第3拡張子(143_3)を追加することによってロボットの拡張行為35を実現することができる。
ここで、開発者によってエランド行為131の第1拡張ポイント(133_1)に追加される第1拡張子(143_1)は、ユーザの命令情報とユーザの位置情報を含むことができる。
【0045】
また、開発者によってエランド行為131の第2拡張ポイント(133_2)に追加される第2拡張子(143_2)は、指定位置におけるロボット動作情報を含むことができる。
【0046】
また、開発者によってエランド行為131の第3拡張ポイント(133_3)に追加される第3拡張子(143_3)は、ユーザ位置におけるロボット動作情報を含むことができる。
【0047】
すなわち、開発者は、拡張可能なエランド行為131の第1拡張ポイント(133_1)〜第3拡張ポイント(133_3)の各々に第1拡張子(143_1)〜第3拡張子(143_3)を各々追加することによってロボットのサービング動作、すなわちコーヒーサーブ行為141を実現することができる。
【0048】
そこで、ロボットは、ユーザからのコーヒーお使い命令に応じ、指定位置、すなわちコーヒーがある位置に移動してコーヒーが入っているコップを取り、これをユーザにサービングする動作を遂行することができる。
【0049】
一方、第1拡張子(143_1)〜第3拡張子(143_3)は、複数のコンポーネント、例えば開発者によって実現されたスイング・アームコンポーネント115とナビゲーションコンポーネント111および1つ以上の基本行為31、例えばスピーカー行為125の組み合わせから実現されることができる。
【0050】
本実施形態においては、一例として、開発者がエランド行為131から拡張されたコーヒーサーブ(Coffee Serve)行為141を実現することを説明したが、本発明はこれに制限されない。
【0051】
再び図1〜図3を参照すれば、拡張子の追加によって拡張行為35が実現されれば、開発者は、拡張行為35からタスク、すなわちロボットの応用プログラムを実現することができる(S50)。
【0052】
本実施形態において、開発者は、拡張行為35、すなわちコーヒーサーブ行為141からホームサービス(Home Service)タスク151を実現することができる。
【0053】
1つのタスク、すなわちホームサービスタスク151は、1つ以上の拡張行為35を含むことができる。すなわち、本発明のホームサービスタスク151は、図3に示されたコーヒーサーブ行為141だけでなく、開発者によってエランド行為131から拡張された様々な拡張行為を含むこともできる。
開発者は、ホームサービスタスク151を実現するが、拡張行為35だけでなく、拡張可能行為33と基本行為31を組み合わせて実現することもできる。
【0054】
一方、最初開発者(または、以前開発者)によってコンポーネント階層20の複数のコンポーネントまたは行為階層30の複数の行為が実現された状態で、開発者は、実現された複数のコンポーネントまたは複数の行為を再構成してロボットのタスクを実現することもできる。
【0055】
図6は本発明の他の実施形態によるロボットのタスクを実現するフローチャートである。
図1、図3、および図6を参照すれば、最初開発者が複数のコンポーネントまたは複数の行為を実現した場合、次期開発者(以下、開発者)は、既に実現された複数のコンポーネントまたは複数の行為を検索し、開発しようとするロボットのタスクに好適な1つ以上のコンポーネントまたは行為を抽出することができる(S110)。
【0056】
開発者は、抽出された1つ以上のコンポーネントまたは1つ以上の行為を再構成することができ、拡張可能な行為を拡張して再構成することもできる(S120)。
【0057】
最初開発者が複数のコンポーネントを既に実現した場合、開発者は、複数のコンポーネントのうちの1つ以上のコンポーネントを組み合わせる再構成を通じてロボットの1つ以上の基本行為31を実現することができる。
【0058】
例えば、開発者は、既に実現されたナビゲーションコンポーネント111からゴー・ツー・ランドマーク行為121を実現することができ、TTSコンポーネント113からスピーカー行為125を実現することができる。また、開発者は、ゴー・ツー・ランドマーク行為121からゴー・ツー・ユーザ行為123を実現することができる。
【0059】
次に、開発者は、実現された1つ以上の基本行為31から、前述したように拡張可能行為33および拡張行為35を実現することができる。
【0060】
また、最初開発者が複数のコンポーネントと1つ以上の基本行為31を既に実現した場合、開発者は、複数のコンポーネントのうちの1つ以上のコンポーネントまたは1つ以上の基本行為31を組み合わせる再構成を通じてロボットの拡張可能行為33を実現することができる。
【0061】
例えば、開発者は、既に実現されたゴー・ツー・ランドマーク行為121、ゴー・ツー・ユーザ行為123、およびスピーカー行為125のうちのゴー・ツー・ランドマーク行為121およびゴー・ツー・ユーザ行為123を組み合わせてエランド行為131を実現することができる。
【0062】
次に、開発者は、実現された拡張可能行為33から、前述したように拡張行為35を実現することができる。
【0063】
また、最初開発者が複数のコンポーネントと1つ以上の基本行為31および拡張可能行為33を実現した場合、開発者は、複数のコンポーネントのうちの1つ以上のコンポーネントまたは1つ以上の基本行為31または拡張可能行為33を組み合わせる再構成を通じてロボットの拡張行為35を実現することができる。
【0064】
例えば、開発者は、既に実現されたエランド行為131から拡張された行為、すなわちコーヒーサーブ行為141を実現することができる。コーヒーサーブ行為141は、前述したように、エランド行為131の1つ以上の拡張ポイントに拡張子を追加して実現されることができる。
【0065】
開発者が既に実現されたコンポーネントまたは行為を利用して行為階層30を実現した後、行為階層30の複数の行為からタスクを実現することができる(S130)。
【0066】
図7は図1〜図6によって実現されたタスクを用いたロボットの制御方法に対するフローチャートである。本実施形態においては、説明の便宜のために、ロボットがユーザからのコーヒーサーブ命令を遂行するのを例に挙げて説明し、これは、図7と共に前述した図3を参照して説明する。
【0067】
図1、図3、および図7を参照すれば、ロボットシステムはホームサービスタスク151を実行させ、ホームサービスタスク151はユーザの命令を認識するために待機することができる(S210)。
【0068】
ユーザが音声またはテキストを利用してロボットにコーヒーお使い命令を伝送すれば、ロボットはユーザのコーヒーお使い命令をタスクを通じて認識することができる(S220)。
【0069】
ユーザの命令を認識した後、ロボットは、ホームサービスタスク151によって行為階層30の複数の行為、すなわち基本行為31、拡張可能行為33、および拡張行為35を実行させることができる(S230)。
【0070】
次に、実行される複数の行為によってコンポーネント階層20の複数のコンポーネントが実行され(S240)、これにより、ロボットはコーヒーがある位置に移動してコーヒーが入っているコップを取り、これをユーザにサービングする動作を遂行してユーザのコーヒーお使い命令を遂行することができる(S250)。
【0071】
本発明の内容を図面に示された一実施形態を参考に説明したが、これは例示的なものに過ぎず、本技術分野の通常の知識を有した者であれば、様々な変形および均等な他の実施形態が可能であるということを理解するはずである。したがって、本発明の真の技術的保護範囲は、添付した特許請求の範囲の技術的思想によって決められなければならない。
【符号の説明】
【0072】
10 ・・・ハードウェア階層
20 ・・・コンポーネント階層
30 ・・・行為階層
31 ・・・基本行為
33 ・・・拡張可能行為
35 ・・・拡張行為
40 ・・・タスク階層

【特許請求の範囲】
【請求項1】
ロボットシステムの行為に基づくタスク実現方法であって、
複数のコンポーネントのうちの1つ以上のコンポーネントから1つ以上の基本行為を実現するステップ;
前記1つ以上の基本行為から拡張可能行為を実現するステップ;および
前記拡張可能行為から拡張行為を実現するステップを含む行為に基づくタスク実現方法。
【請求項2】
前記拡張行為から前記ロボットシステムの前記タスクを実現するステップをさらに含む、請求項1に記載の行為に基づくタスク実現方法。
【請求項3】
前記基本行為、前記拡張可能行為、および前記拡張行為の組み合わせから前記ロボットシステムの前記タスクを実現するステップをさらに含む、請求項1に記載の行為に基づくタスク実現方法。
【請求項4】
前記拡張可能行為を実現するステップは、前記1つ以上の基本行為から前記拡張可能行為を実現するが、前記拡張可能行為に1つ以上の拡張ポイントを指定する、請求項1に記載の行為に基づくタスク実現方法。
【請求項5】
前記拡張行為を実現するステップは、前記拡張可能行為の前記1つ以上の拡張ポイントに拡張子を追加する、請求項4に記載の行為に基づくタスク実現方法。
【請求項6】
前記拡張子は、前記複数のコンポーネントまたは前記1つ以上の基本行為から実現される、請求項5に記載の行為に基づくタスク実現方法。
【請求項7】
前記複数のコンポーネントの各々は、前記ロボットシステムの複数のハードウェアの各々を制御するために実現される、請求項1に記載の行為に基づくタスク実現方法。
【請求項8】
ロボットシステムの行為に基づくタスク実現方法であって、
最初開発者によって実現された前記ロボットシステムの複数の行為のうちから開発しようとする前記タスクに該当する1つ以上の行為を抽出するステップ;および
抽出された前記1つ以上の行為を再構成して前記ロボットシステムの前記タスクを実現するステップを含む行為に基づくタスク実現方法。
【請求項9】
前記複数の行為は複数のコンポーネントから実現された1つ以上の基本行為を含み、
前記タスクを実現するステップは、
前記1つ以上の基本行為から拡張可能行為を実現するステップ;
前記拡張可能行為から拡張行為を実現するステップ;および
前記基本行為、前記拡張可能行為、および前記拡張行為のうちから1つ以上の行為を抽出するステップを含む、請求項8に記載の行為に基づくタスク実現方法。
【請求項10】
前記拡張可能行為を実現するステップは、前記1つ以上の基本行為から前記拡張可能行為を実現するが、前記拡張可能行為に1つ以上の拡張ポイントを指定する、請求項9に記載の行為に基づくタスク実現方法。
【請求項11】
前記拡張行為を実現するステップは、前記拡張可能行為の前記1つ以上の拡張ポイントに拡張子を追加する、請求項10に記載の行為に基づくタスク実現方法。
【請求項12】
前記拡張子は、前記最初開発者により実現された前記複数のコンポーネントまたは前記1つ以上の基本行為から実現される、請求項11に記載の行為に基づくタスク実現方法。
【請求項13】
前記複数の行為は、複数のコンポーネントから実現された1つ以上の基本行為と、前記1つ以上の基本行為から実現された拡張可能行為とを含み、
前記タスクを実現するステップは、
前記拡張可能行為から拡張行為を実現するステップ;および
前記基本行為、前記拡張可能行為、および前記拡張行為のうちから1つ以上の行為を抽出するステップを含む、請求項8に記載の行為に基づくタスク実現方法。
【請求項14】
前記拡張可能行為は1つ以上の拡張ポイントを含み、
前記拡張行為を実現するステップは、前記拡張可能行為の前記1つ以上の拡張ポイントに拡張子を追加する、請求項13に記載の行為に基づくタスク実現方法。
【請求項15】
前記拡張子は、前記最初開発者により実現された前記複数のコンポーネントまたは前記1つ以上の基本行為から実現される、請求項14に記載の行為に基づくタスク実現方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−121167(P2011−121167A)
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【出願番号】特願2010−271512(P2010−271512)
【出願日】平成22年12月6日(2010.12.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(596180076)韓國電子通信研究院 (733)
【氏名又は名称原語表記】Electronics and Telecommunications Research Institute
【住所又は居所原語表記】161 Kajong−dong, Yusong−gu, Taejon korea
【Fターム(参考)】