JP2007157166A - Method and apparatus for providing xml-based service in server controlling mobile home service robot - Google Patents

Method and apparatus for providing xml-based service in server controlling mobile home service robot Download PDF

Info

Publication number
JP2007157166A
JP2007157166A JP2006332283A JP2006332283A JP2007157166A JP 2007157166 A JP2007157166 A JP 2007157166A JP 2006332283 A JP2006332283 A JP 2006332283A JP 2006332283 A JP2006332283 A JP 2006332283A JP 2007157166 A JP2007157166 A JP 2007157166A
Authority
JP
Japan
Prior art keywords
task
execution
robot
service
xml
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006332283A
Other languages
Japanese (ja)
Inventor
Hoon Kim Sung
キム、スン、フーン
Kyeong Ho Lee
イ、キョン、ホ
Joong Bae Kim
キム、ジョン、ベ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020060072646A external-priority patent/KR100772522B1/en
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2007157166A publication Critical patent/JP2007157166A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method and an apparatus for providing XML-based service in a server controlling a mobile home service robot. <P>SOLUTION: The method and the apparatus for providing an XML-based service in a server controlling a mobile home service robot comprise steps of: receiving a service instruction; interpreting the service instruction to generate at least one object; initializing the object to confirm whether to satisfy a task execution condition or not, and determining priority-based execution of tasks when the execution condition is satisfied; receiving, if data provided by the robot is needed for the execution, the data after requesting information providing to the robot and executing a task determined to be executed. A task is then formed based on XML to the home robot having an inexpensive and low-level processor, whereby robot services can be easily developed, and the inexpensive home robot can also embody the same service as a high-level robot. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、モバイルホームサービスロボットを制御する方法に係り、さらに詳細には、二輪、LCDモニタ、マイク、スピーカ、障害物感知センサや低レベルのメイン制御プロセッサを備えた安価型モバイルホームサービスロボットのための制御ソフトウェアアーキテクチャ分野に関する。さらに具体的に説明すれば、本発明は、安価のホームサービスロボットが、ユーザの命令または特定の状況により行うサービスをXML(eXtensible Markup Language)を基盤に作成して、これを遠隔ロボット制御プログラムに搭載した後に実行する方法に係り、CあるいはC++またはジャバのようなプログラミング言語ではない、高レベルのテキストを基盤にロボット用サービスを開発し、これを安価のロボットでも実行させる方法に関する。   The present invention relates to a method for controlling a mobile home service robot, and more particularly, an inexpensive mobile home service robot including a motorcycle, an LCD monitor, a microphone, a speaker, an obstacle sensor, and a low-level main control processor. For the control software architecture field. More specifically, the present invention is based on the XML (extensible Markup Language) based on a user's command or a specific situation, and an inexpensive home service robot creates this as a remote robot control program. The present invention relates to a method that is executed after being installed, and relates to a method for developing a service for a robot based on a high-level text that is not a programming language such as C, C ++, or Java, and executing the service even on an inexpensive robot.

現在、使用されている一般的なロボットタスクの作成方法は、次のように三つの形態の方法を取っている。   Currently, a general method for creating a robot task takes three forms as follows.

第一に、ハードウェアを抽象化したインターフェースを利用して、C++またはジャバのような客体指向(オブジェクト指向)言語やC言語を利用してロボットタスクプログラムを直接作成する方法である。この方法は、ロボットのハードウェア特性及び制御プログラムに熟練した開発者ではなければタスクを作成し難いという問題点がある。また、一度作成されたロボットタスクの属性を実行時間に変更し難いという問題点がある。   The first is a method of directly creating a robot task program using an object-oriented (object-oriented) language such as C ++ or Java or a C language using an interface that abstracts hardware. This method has a problem that it is difficult to create a task unless the developer is skilled in the hardware characteristics and control program of the robot. There is also a problem that it is difficult to change the attribute of the robot task once created at the execution time.

第二に、第一の方法を使用しつつ、ロボットタスクで使用するハードウェア依存的なデータをXMLで作成して柔軟性を追加する方法である。この方法は、前記第一の方法に比べて、ロボットタスクが使用するハードウェアの特性情報をXML形態で作成するために、実行時間をも任意に変更しやすいという長所がある。しかし、この方法も、第一の方法で指摘された問題点のように、プログラム言語を利用して開発するため、ロボット分野において専門知識があって初めてタスクを開発できるという問題点がある。   Second, while using the first method, hardware-dependent data used in the robot task is created in XML to add flexibility. Compared with the first method, this method has an advantage that the execution time can be arbitrarily changed because the hardware characteristic information used by the robot task is created in the XML format. However, this method also has a problem that tasks can be developed only when there is specialized knowledge in the robot field because the program language is used for development as the problem pointed out in the first method.

第三に、あらかじめ作成されたロボットタスクプログラムを組み合わせて、実行する順序のみをXMLで表現する方法である。この方法は、単純にXMLを使用して、あらかじめ作成されたタスクプログラムの実行順序を指定する方法でコード化されたタスクの性格を実行時間に指定するか、または開発者が開発するときに多様な形態に作成し難いという問題点がある。   The third method is a method of expressing only the execution order in XML by combining robot task programs created in advance. In this method, the nature of a task coded by a method of simply specifying the execution order of a task program created in advance using XML is specified as an execution time, or various methods are used when a developer develops. There is a problem that it is difficult to create a simple form.

発明が解決しようとする技術的課題は、前記の問題点を解決するためになされたものであって、安価かつ低レベルのプロセッサを使用するホームロボットに対する、サービスのためのタスクを開発するに当って、XMLと同じ高レベルのテキスト基盤の言語のみを利用してロボット用サービスを開発することによって、ロボットの制御プログラムを全く知らないサービスコンテンツ開発者も、難無くロボット用サービスを開発できる方法及び装置を提供するところにある。   The technical problem to be solved by the invention is to solve the above-mentioned problems, and in developing a service task for a home robot using an inexpensive and low-level processor. By developing a robot service using only the same high-level text-based language as XML, a service content developer who does not know the robot control program at all can develop a robot service without difficulty. Is to provide.

前記技術的課題を解決するために、本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法は、サービス命令を受信するステップと、前記サービス命令を解釈して、少なくとも一つ以上の客体を生成するステップと、前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とする。   In order to solve the above technical problem, an XML-based service providing method for a server controlling a mobile home service robot according to the present invention includes a step of receiving a service command, and interpreting the service command to generate at least one service command. The object is generated, the object is initialized, whether the task execution condition is satisfied, and if the execution condition is satisfied, the execution is determined according to the priority of the task, and the robot provides the execution Receiving data after requesting the robot to provide information if the data to be executed is necessary, and executing the task determined to be executed.

前記技術的課題を解決するために、本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置は、サービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する客体生成部と、前記客体を受信して生命周期管理及び実行条件を検査する客体管理部と、前記実行条件の充足時に前記客体を実行するタスクの実行如何及び実行順序を決定する仲裁部と、前記仲裁部の決定を入力されてタスクを実行する実行部と、を備えることを特徴とする。   In order to solve the above technical problem, an XML-based service providing apparatus for a server controlling a mobile home service robot according to the present invention interprets a service command and generates at least one object. A generation unit, an object management unit that receives the object and inspects life cycle management and execution conditions, an arbitration unit that determines execution and execution order of tasks that execute the object when the execution conditions are satisfied, and An execution unit that receives a decision of the arbitration unit and executes a task.

本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法及びその装置は、安価かつ低レベルのプロセッサを有するホームロボットに対して、XMLを基盤にタスクを作成することによってロボットサービスを難無く開発でき、安価のホームロボットも、高レベルのロボットと同様のサービスを具現できる。   An XML-based service providing method and apparatus for a server for controlling a mobile home service robot according to the present invention provides a robot service by creating a task based on XML for a home robot having a low-cost and low-level processor. A cheap home robot that can be developed without difficulty can implement the same services as a high-level robot.

また、本発明は、安価かつ低レベルのロボットに対してリアルタイム性を要求するロボット制御モジュール、例えば、速度または位置基盤ロボット制御モジュールと、センサデータ収集及び感知モジュールとはロボットに搭載し、高レベルのロボットタスク実行モジュールのみをサーバに置くことによって、ネットワークの遅延と関係なくロボットを制御できる。   The present invention also provides a robot control module that requires real-time performance for a low-cost and low-level robot, for example, a speed or position-based robot control module and a sensor data collection and sensing module are mounted on the robot, By placing only the robot task execution module in the server, the robot can be controlled regardless of network delay.

また、本発明は、安価かつ低レベルのホームサービスロボットの場合に、XMLを解釈または実行できる計算能力に劣るため、これを解決するための手段として、XML基盤のサービスを解釈し、サービスを構成する各タスクを実行するサーバを遠隔に置いて、ロボットに搭載されたリアルタイムロボット制御モジュールをネットワークを通じて制御する方法及び装置を提供する。   In addition, the present invention is inferior in computing power capable of interpreting or executing XML in the case of an inexpensive and low-level home service robot. Therefore, as a means for solving this, the XML-based service is interpreted and the service is configured. A method and apparatus for controlling a real-time robot control module mounted on a robot through a network by remotely placing a server that executes each task to be performed.

また、本発明は、安価かつ低レベルのプロセッサを搭載しているモバイルホームロボットの場合に、サービス開発者がハードウェア及びロボット制御に関する専門知識がなくても、XMLを利用してロボット用サービスを難無く作成できるようにすることによって、既存にロボット制御プログラムを作成するときより開発生産性を向上させうる。   In addition, the present invention provides a service for robots using XML even when a service developer does not have expertise in hardware and robot control in the case of a mobile home robot equipped with an inexpensive and low-level processor. By making it possible to create without difficulty, development productivity can be improved more than when an existing robot control program is created.

また、本発明は、安価のプロセッサを搭載したモバイルホームロボットの場合には計算能力が低価するため、開発者が作成したXMLを解釈または実行すべき能力がないため、ネットワークに連結された遠隔ロボットタスク実行サーバをおいて、ロボットにはリアルタイムロボット制御モジュールのみを置く方法を提案することによって、高レベルのプロセッサを使用するロボットと同じレベルのサービスを行える。   In addition, since the present invention has a low computing capacity in the case of a mobile home robot equipped with an inexpensive processor, there is no ability to interpret or execute XML created by a developer. By providing a robot task execution server and proposing a method in which only a real-time robot control module is placed in the robot, the same level of service as a robot using a high-level processor can be performed.

そして、サービス開発者をして、XMLのような高レベルのテキスト基盤言語を利用して開発させ、プログラム言語が有する特性をXMLに表現できるように支援して、ロボットで支援しようとするタスク(サービスを構成する要素)の属性をあらかじめ定義し、これをXMLで作成した後、ロボットに搭載された制御プログラムでコードを有する客体で自動生成して実行及び管理し、タスクXMLには、あらかじめ作成されたロボットの基本行動等の実行方法を指定し、実行時間に客体化されたタスクがこれを制御できる。   Then, a service developer is allowed to develop using a high-level text-based language such as XML, and to support the characteristics of the programming language that can be expressed in XML. After defining the attributes of the elements that make up the service in advance and creating them in XML, they are automatically generated and executed and managed by the object that has the code in the control program installed in the robot, and created in advance in the task XML The execution method of the robot's basic behavior and the like can be specified, and the task that is objectified at the execution time can control this.

以下、添付された図面を参照しつつ、本発明の望ましい一実施形態を詳細に説明する。図1は、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す概念図である。図2は、本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置の構成を示すブロック図であり、図3は、図2の実行部の詳細構成を示すブロック図である。図4は、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることをさらに詳細に示すブロック図である。 図5は、本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法の過程を示すフローチャートである。   Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a conceptual diagram illustrating that a server for controlling a mobile home service robot according to the present invention is linked to a robot and a task creator. FIG. 2 is a block diagram illustrating a configuration of an XML-based service providing apparatus for a server that controls a mobile home service robot according to the present invention, and FIG. 3 is a block diagram illustrating a detailed configuration of an execution unit illustrated in FIG. FIG. 4 is a block diagram illustrating in more detail that the server controlling the mobile home service robot according to the present invention is linked to the robot and the task creator. FIG. 5 is a flowchart illustrating an XML-based service providing method for a server controlling a mobile home service robot according to the present invention.

まず、本発明の概要及び背景を説明する。本発明は、ロボット分野に関する。特に、本発明は、二輪、LCDモニタ、マイク、スピーカ、障害物感知センサや低レベルのメイン制御プロセッサとを備えた安価型モバイルホームロボットの制御ソフトウェアアーキテクチャ分野に属する。具体的に、本発明は、安価かつ低レベルのプロセッサを使用するモバイルホームサービスロボットが、ユーザの命令や特定の状況により行うサービスをXML(eXtensible Markup Language)を利用して作成し、遠隔タスク実行サーバ及びロボットに搭載されたリアルタイム制御モジュールを利用してタスクを実行する方法に関する。以下、使用される用語について定義すれば、次の通りである。まず、行為とは、ロボットの基本行動(位置移動、TTS、インターネット情報検索、センシング等)を言い、タスクとは、ロボットが行う単位任務(ユーザに近づくこと、新聞を読み取ること、メールを読み取ること、バッテリの充電など)、行為の集合からなるものを言う。そして、サービスとは、ロボットが行うサービス(お父さんに近づいて新聞を読んであげることなど)、すなわち、タスクのまとまりを言う。   First, the outline and background of the present invention will be described. The present invention relates to the field of robots. In particular, the present invention belongs to the field of control software architecture for an inexpensive mobile home robot equipped with a motorcycle, an LCD monitor, a microphone, a speaker, an obstacle sensor, and a low-level main control processor. Specifically, according to the present invention, a mobile home service robot using an inexpensive and low-level processor creates a service to be performed according to a user command or a specific situation using XML (extensible Markup Language), and executes a remote task. The present invention relates to a method of executing a task using a real-time control module mounted on a server and a robot. Hereinafter, the terms used will be defined as follows. First, the action refers to the basic action of the robot (position movement, TTS, Internet information search, sensing, etc.), and the task refers to the unit mission performed by the robot (approaching the user, reading the newspaper, reading the mail). , Battery charge, etc.), which consists of a set of actions. A service is a service performed by a robot (such as reading a newspaper close to a father), that is, a set of tasks.

本発明では、開発者が作成するサービスは、タスクから構成されており、タスク制御サーバは、サービスXMLから各タスクを分離して実行を担当するサーバである。   In the present invention, the service created by the developer is composed of tasks, and the task control server is a server that takes charge of execution by separating each task from the service XML.

図1は、本発明に係るモバイルホームサービスロボットのXML基盤のサービスを実行する全体的な流れを説明するための図面であって、本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す。   FIG. 1 is a diagram for explaining an overall flow of executing an XML-based service of a mobile home service robot according to the present invention. The server for controlling the mobile home service robot according to the present invention includes a robot and a task. Indicates that it is linked with the creator.

図1に示すように、各構成要素は、何れも相異なるプロセッサに存在し、ネットワークを通じて互いに連結されている。特に、ロボットプログラムを駆動するタスク実行モジュール及びリアルタイムロボット制御モジュールの場合、既存のロボットの場合には、何れも一つのロボットに存在するか、または同じサーバに存在する形式を取る。しかし、本発明では、ロボットタスク実行モジュールとリアルタイムロボット制御モジュールとを分離して、サーバ及びクライアントの概念として存在するようにした。   As shown in FIG. 1, each component exists in a different processor and is connected to each other through a network. In particular, in the case of a task execution module and a real-time robot control module that drive a robot program, existing robots are either present in one robot or in the same server. However, in the present invention, the robot task execution module and the real-time robot control module are separated and exist as the concept of a server and a client.

図1に示すように、サービス開発者は、クライアントPCに存在するロボットタスクXML作成器110を通じてサービスを作成し、TCPを通じて遠隔ロボットタスク実行サーバ120に伝送する。伝送されたサービスXMLは、遠隔ロボットタスク制御サーバ120によって解釈されて、各タスクの実行を待機する。タスク実行条件が満たされれば、遠隔タスク実行サーバ120によりタスクが実行され、モータ制御及びセンサデータの取得の必要な場合には、ロボット130に搭載されたリアルタイムロボット制御器131を通じてロボット物理階層(モータ/センサ)133の機能を利用する。このとき、ロボット130に搭載されたリアルタイムロボット制御器131は、速度及び位置基盤のモータ制御モジュール(図示せず)及びロボット物理階層133からデータを周期的に受け取る機能を行う。また、遠隔ロボットタスク制御サーバ120には、位置移動、経路計画、ユーザ認識などのロボットの基本的な行為が基本的に内蔵されており、客体化されたタスクが行われる。   As shown in FIG. 1, the service developer creates a service through the robot task XML creator 110 existing in the client PC, and transmits it to the remote robot task execution server 120 through TCP. The transmitted service XML is interpreted by the remote robot task control server 120 and waits for execution of each task. If the task execution condition is satisfied, the task is executed by the remote task execution server 120. When motor control and sensor data acquisition are required, the robot physical hierarchy (motor) is transmitted through the real-time robot controller 131 mounted on the robot 130. / Sensor) 133 is used. At this time, the real-time robot controller 131 mounted on the robot 130 performs a function of periodically receiving data from a speed and position-based motor control module (not shown) and the robot physical layer 133. The remote robot task control server 120 basically incorporates basic robot actions such as position movement, route planning, and user recognition, and performs an objective task.

遠隔ロボットタスク制御サーバ120で、XMLで作成されたタスクを客体化及び実行する遠隔ロボットタスク実行サーバの構成を示す一実施形態は、図2の通りである。図2に示すように、客体生成部210は、外部からサービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する。特に、サービス命令を構成するタスクの種類別に前記客体を生成する。客体管理部220は、客体生成部210が生成した前記客体を受信して、生命周期管理及び実行条件を検査する。仲裁部230は、前記客体管理部の検査結果、前記実行条件が満たされれば、前記客体を行うタスクの実行如何及び実行順序を決定する。さらに詳細には、前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査して、前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁して実行するタスクを、次に説明するタスクキュー310に保存して順次的な実行を仲裁する。実行部230は、仲裁部のその決定を入力されてタスクを実行する。   FIG. 2 shows an embodiment of the configuration of a remote robot task execution server for objectizing and executing a task created in XML by the remote robot task control server 120. As shown in FIG. As shown in FIG. 2, the object generation unit 210 generates atleast one or more objects after receiving a service command from the outside. In particular, the object is generated for each type of task constituting the service command. The object management unit 220 receives the object generated by the object generation unit 210 and inspects life cycle management and execution conditions. The arbitration unit 230 determines whether or not to execute the task for performing the object if the inspection result of the object management unit and the execution condition are satisfied. In more detail, the life cycle including the disappearance and initialization of the object and the execution condition of the task are inspected, and if the execution condition is satisfied, the execution of the task satisfying the execution condition is arbitrated based on the priority order. The tasks to be executed are stored in a task queue 310 described below, and sequential execution is arbitrated. The execution unit 230 receives the decision of the arbitration unit and executes the task.

図3を参照しつつ、実行部240のさらに詳細な構成を説明する。まず、タスクキュー310は、前記タスクを順次に保存して出力する。スレッド管理部340は、前記タスクキュー310に保存されたタスクの単一あるいは多重スレッド属性によって前記タスクの実行方法を決定する。客体実行部320は、スレッド管理部340によって決定された前記実行方法によってタスクを実行する。そして、タスク実行状態管理部は、前記タスクの実行結果をフィードバックされ、不完全な場合、前記仲裁部230に再実行を要請する機能を行う。   A more detailed configuration of the execution unit 240 will be described with reference to FIG. First, the task queue 310 sequentially stores and outputs the tasks. The thread manager 340 determines the task execution method according to the single or multiple thread attribute of the task stored in the task queue 310. The object execution unit 320 executes the task according to the execution method determined by the thread management unit 340. The task execution state management unit feeds back the execution result of the task, and performs a function of requesting the arbitration unit 230 to perform re-execution when it is incomplete.

遠隔ロボットタスク制御サーバ120でXMLで作成されたタスクを客体化及び実行するさらに具体的な一実施形態を、図4及び図5を参照しつつ説明する。図4に示すように、タスクXML作成器110で作成されたサービス(タスクの集合)XMLは、TCPを通じて遠隔ロボットタスク制御サーバ120に伝送される。タスクXML解釈部401は、受信したサービスXMLを解釈した後、客体生成部402にタスクの情報を伝達し、客体生成部402は、このタスクの類型によって自動で客体を生成する。このとき、タスクの次のような類型に区分して客体を生成する。
−時間型タスク:所定時間に一回のみ実行されるか、または一定の周期を有して実行されるタスクである。例えば、モーニングコール及びアラームのようなものである。
−命令型タスク:ユーザの命令によって行われるタスクである。例えば、“ロボット!こっちにおいで!”という命令に対して、ロボットがユーザに近づくタスクである。
−イベント型タスク:開発者が定義したイベントが発生したときに行われるタスクである。
A more specific embodiment for objectifying and executing a task created in XML by the remote robot task control server 120 will be described with reference to FIGS. 4 and 5. FIG. As shown in FIG. 4, the service (collection of task) XML created by the task XML creator 110 is transmitted to the remote robot task control server 120 via TCP. The task XML interpretation unit 401 interprets the received service XML, and then transmits task information to the object generation unit 402. The object generation unit 402 automatically generates an object according to the type of the task. At this time, objects are generated by classifying into the following types of tasks.
-Time-type task: a task that is executed only once at a predetermined time or is executed with a certain period. For example, wake-up calls and alarms.
-Instruction type task: a task performed by a user instruction. For example, in response to an instruction “Robot! Come over here!”, The robot approaches the user.
-Event type task: A task performed when an event defined by the developer occurs.

例えば、外部センサである窓開き感知センサから窓が開かれたイベントが発生するときに行われるタスクは、イベント型タスクと定義される(ステップS510)。   For example, a task that is performed when a window opening event is generated from a window opening detection sensor that is an external sensor is defined as an event type task (step S510).

以下では、客体生成部402から生成された各客体は、類型別の客体管理部403、404、405に伝達されて初期化され、実行条件が満足されることを待つ。客体管理部は、図4に示すように、そして、前述された種類別タスクを管理するために、時間型客体管理部403、命令型客体管理部404、及びイベント型客体管理部405に区分して構成される(ステップS520)。   In the following, each object generated from the object generation unit 402 is transmitted to the object management units 403, 404, and 405 classified by type and initialized, and waits for execution conditions to be satisfied. The object management unit is divided into a time type object management unit 403, a command type object management unit 404, and an event type object management unit 405, as shown in FIG. (Step S520).

客体管理部403、404、405は、客体の消滅及び初期化を含む生命周期管理、及びタスクの実行条件検査を含む機能を行う。各タスクの実行条件が満足されれば、客体管理部403、404、405は、タスク実行仲裁部406に当該タスクの実行仲裁を要請する(ステップS540)。タスク実行仲裁部406は、同時または順次的に複数のタスクを行うとき、何なるタスクを先に行うか、または実行中のタスクを停止または中止するかを決定する。   The object management units 403, 404, and 405 perform functions including life cycle management including object disappearance and initialization, and task execution condition inspection. If the execution conditions for each task are satisfied, the object management units 403, 404, and 405 request the task execution arbitration unit 406 to execute the task (step S540). When performing a plurality of tasks simultaneously or sequentially, the task execution arbitration unit 406 determines what task is to be performed first, or whether the task being executed is stopped or stopped.

例えば、ホームロボットが家の中でお使いを行っている場合に、ガス漏れが感知されれば、タスク実行仲裁部406により現在実行中のお使いタスクをしばらく中断し、ガス漏れ対応タスクを先に行った後、以前のお使いを行うようなことである。   For example, when a gas leak is detected when the home robot is operating in the house, the task execution arbitration unit 406 interrupts the task currently being executed for a while and starts the task corresponding to the gas leak first. It is like doing the previous use after going to.

また、図4に示すように、タスク実行仲裁部406は、実行するタスクをタスクキュー407に保存して、タスクを順次に行わせる。タスクキュー407に保存された客体は、何れも自身がスレッド形態で実行されるか否かの情報を有している。スレッド管理部408は、タスクキュー407のタスク客体を多重スレッドまたは単一スレッドで実行させ、単一スレッドである場合、順次にタスクキュー407に含まれたタスクを実行する。   Also, as shown in FIG. 4, the task execution arbitration unit 406 stores the tasks to be executed in the task queue 407 and causes the tasks to be performed sequentially. Each object stored in the task queue 407 has information on whether or not it is executed in a thread form. The thread management unit 408 causes the task object of the task queue 407 to be executed by multiple threads or a single thread, and in the case of a single thread, the tasks included in the task queue 407 are sequentially executed.

例えば、音楽を再生するタスク及びユーザに近づいて写真を撮るタスクがタスクキュー407に入ったと仮定すると、音楽を再生するタスクは、いかなるタスクとも同時に実行されうるタスクであるので、マルチスレッドの属性を有し、第二の場合には、モータを動かして移動することと関連し、異なるタスクが同時にモータを動かしてはならないので、必ず単一スレッドで実行されねばならない。また、モータの動きと関連があるので、タスクは、いずれも順次に実行されねばならない。このようなものをタスク実行仲裁部406が整理する(ステップS540)。   For example, assuming that the task of playing music and the task of taking a picture close to the user are in the task queue 407, the task of playing music is a task that can be executed at the same time as any task. In the second case, the different tasks associated with moving by moving the motor must not be moved at the same time, so must always be executed in a single thread. Also, since tasks are related to the movement of the motor, all tasks must be executed sequentially. Such a task is arranged by the task execution arbitration unit 406 (step S540).

タスクの実行において、リアルタイムロボット制御器131を呼び出す必要のある場合を判断して(ステップS550)、必要な場合には、ロボット行為実行部411を通じて、ロボットに搭載されたリアルタイムロボット制御器131に制御命令を伝達して必要な情報を獲得する(ステップS560)。ロボット行為実行部411には、ロボット位置移動及びユーザ認識のようなロボットの基本的な行為があらかじめ内蔵されている。タスクの実行が完了すれば、タスク実行状態管理部409は、タスクが正常に実行されたか否かを判断し、実行が失敗した場合には、タスク実行仲裁部406にタスクの再実行を要請する(ステップS570)。   When executing the task, it is determined whether the real-time robot controller 131 needs to be called (step S550). If necessary, the real-time robot controller 131 mounted on the robot is controlled through the robot action execution unit 411. A command is transmitted to acquire necessary information (step S560). The robot action execution unit 411 incorporates basic robot actions such as robot position movement and user recognition in advance. When the execution of the task is completed, the task execution state management unit 409 determines whether the task has been executed normally. If the execution has failed, the task execution arbitration unit 406 is requested to re-execute the task. (Step S570).

以下は、本発明のタスクを定義するXMLのDTD(Document TypeDefinition)に関する一実施形態であって、XMLのタグ構造及び各タグの説明である。
<?xml version=“1.0”encoding=“UTF−8”?>
<!ELEMENT services(context−info*、service+)>
<!−−serviceは、サービスを構成しているタスクを記述する。一つのサービスは、一つ以上のタスクから構成される。
Used in:services
−−><!ELEMENT service(service−name,task*)>
<!−−サービスの名前を指定する。
Used in:service
−−><!ELEMENT service−name(#PCDATA)>
<!−−サービスを構成するタスクの属性を指定する。各タスク属性は、name、property及び実行するロボット行為の情報から構成される。各タスクは、一つ以上の行為を有しうる。
Used in:service
−−><!ELEMENT task(name,properties,behaviors*)>
<!−−タスクの名前を指定する。
Used in:task
−−><!ELEMENT name(#PCDATA)>
<!−−タスクの属性を指定する。タスクの属性は、実行方式、呼び出し命令語、優先順位、実行形態、実行完了後に実行する次のタスクから構成される。属性情報の詳細な内容は、各タグ説明に記載する。タスクの実行方式は、タスクを実行する方式を意味し、実行形態は、プログラムの内部で単一スレッドまたはマルチスレッドで駆動させるかを意味する。propertiesを構成する各要素は、イベント、命令、時間の実行方式によって指定すべき属性が変わる。timertype、expiration、duration、intervalは、exectypeがTimer Taskである場合でのみ使用される値である。
Used in:task
−−><!ELEMENT properties(exectype、command?、priority?、type、next−invoke?、post−condition?、pre−condition?、timertype?、firetime?、duration?、interval?)>
<!−−タスクの実行条件の方式を指定する。タスクの実行方式は、イベント、命令、時間の3つ形態に区分される。
Used in:properties
−−><!ELEMENT exectype(#PCDATA)>
<!−−?タスク実行仲裁モジュールで使用する実行形態を指定する。タスクの実行形態は、Parallel、Single、Plannedの3種類の一つである。
1)Parallel Task:同時実行の可能なタスク(Moveto及びGototoのように、リアルタイムロボット制御の不要なタスク)
例)Music Play Task、E−mail Send Task、Home Appliance Control Taskなど
2)Single Task:システムにたった一つのみ駆動されうるタスク
例)Follow Person Taskなど
3)Planned Task:Path Planningの対象になれるタスク(単一スレッドで順次に実行)
例)Move To Task、Go To Taskなど
Used in:properties
−−><!ELEMENT type(#PCDATA)>
<!−−タスクの実行方式がcommandに指定された場合、タスクを呼び出す命令語を指定する。eventに指定されている場合には、この命令語を命令型タスク管理者に伝達して実行させる。
Used in:properties
−−><!ELEMENT command(#PCDATA)>
<!−−開発者が指定するタスクの優先順位である。priorityがなく、Planned Taskに設定されているタスクは、タスク実行仲裁モジュールで移動距離を基準に動的に優先順位を割り当てる。
Used in:properties
−−><!ELEMENT priority(#PCDATA)>
<!−−現在実行するタスクの実行が完了した後、呼び出すタスクを指定する。
Used in:properties
−−><!ELEMENT next−invoke(#PCDATA)>
<!−−タスクの実行結果に対する成功如何条件を記述する。タスクの成功的な完了如何は、Logical Sensorにより検査される。Logical Sensorの種類及び値は、ユーザによって指定される。Post−Conditionが満たされない場合、next−invokeにより設定された次のタスクは実行されない。Logical Sensorは、ロボット実行状態管理モジュールに存在する仮想のセンサである。
Used in:properties
−−><!ELEMENT post−condition(logicalsensor,value)>
<!−−Logical Sensorの種類を指定する。
Used in:post−condition
−−><!ELEMENT logical sensor(#PCDATA)>
<!−−Logical Sensorの値を指定する。
Used in:post−condition
−−><!ELEMENT value(#PCDATA)>
<!−−タスクが実行される前に実行可否を検査するための条件を記述する。タスクの実行決定は、post−conditionと同様に、Logical Sensorにより検査される。Logical Sensorの種類及び値は、ユーザによって指定される。pre−conditionが満たされない場合、タスクは実行されない。
Used in:properties
−−><!ELEMENT pre−condition(logical sensor,value)>
<!−−タスクの実行方式がtimerである場合に設定される値であり、OneshotTimerとPeriodicTimerのうち一つの値を有する。
1)OneshotTimerは、所定時間に一回のみ実行するTask(絶対時間)
2)PeriodicTimerは、一定の時間間隔で実行され続けるTask(相対時間)
Used in:properties
−−><!ELEMENT timertype(#PCDATA)>
<!−−タスクの実行方式がTimerである場合に設定される値であり、Timer TaskがOneshotTimerである場合に、登録後から終了時点までTimerがfireされるまでの時間を意味する。
Used in:properties
−−><!ELEMENT firetime(#PCDATA)>
<!−−タスクの実行方式がTimerである場合に設定される値であり、PeriodicTimerに設定された場合、Timerが最初にFireされるまでの時間を意味する。
Used in:properties
−−><!ELEMENT duration(#PCDATA)>
<!−−タスクの実行方式がTimerである場合に設定される値であり、PeriodicTimerに設定された場合、TimerTaskがFireされる周期を意味する。
Used in:properties
−−><!ELEMENT interval(#PCDATA)>
<!−−タスクを構成する行為の情報を記述する。
Used in:task
−−><!ELEMENT behaviors(behavior*)>
<!−−タスクを構成する単位行為の情報を記述する。
Used in:behaviors
−−><!ELEMENT behavior(sequence,type,owner?,defined−class−name?,normal−content?,abnormal_content?,post−condition?,goal?)>
<!−−タスクを構成する単位行為の実行順序を記述する。
Used in:behavior
−−><!ELEMENT sequence(#PCDATA)>
<!−−行為の客体の名称を指定する。
Used in:behavior
−−><!ELEMENT defined−class−name(#PCDATA)>
The following is an embodiment related to XML DTD (Document Type Definition) that defines the task of the present invention, and an XML tag structure and description of each tag.
<? xml version = "1.0" encoding = "UTF-8"? >
<! ELEMENT services (context-info *, service +)>
<! --Service describes the tasks that make up the service. One service is composed of one or more tasks.
Used in: services
---><! ELEMENT service (service-name, task *)>
<! -Specify the name of the service.
Used in: service
---><! ELEMENT service-name (#PCDATA)>
<! -Specify the attributes of the tasks that make up the service. Each task attribute includes information on name, property, and robot action to be executed. Each task can have one or more actions.
Used in: service
---><! ELEMENT task (name, properties, behaviors *)>
<! -Specify the name of the task.
Used in: task
---><! ELEMENT name (#PCDATA)>
<! --Specify task attributes. The task attribute includes an execution method, a call instruction word, a priority order, an execution form, and a next task to be executed after completion of the execution. Detailed contents of the attribute information are described in each tag description. The task execution method means a method of executing a task, and the execution form means whether the program is driven by a single thread or a multi-thread inside the program. In each element constituting properties, an attribute to be specified varies depending on an event, instruction, and time execution method. “timertype”, “expiration”, “duration”, and “interval” are values that are used only when “expectetype” is a timer task.
Used in: task
---><! ELEMENT properties (ejecttype, command ?, priority ?, type, next-invoke ?, post-condition ?, pre-condition ?, timertype ?, firetime ?, duration ?, interval?)
<! --- Specify the task execution condition method. There are three types of task execution methods: event, command, and time.
Used in: properties
---><! ELEMENT expecttype (#PCDATA)>
<! −−? Specify the execution form to be used in the task execution arbitration module. There are three types of task execution modes: Parallel, Single, and Planned.
1) Parallel Task: Tasks that can be executed simultaneously (tasks that do not require real-time robot control, such as Moveto and Gototo)
Example) Music Play Task, E-mail Send Task, Home Appli- cation Control Task, etc. 2) Single Task: Task that can be driven by only one system eg: Follow Person Task: Path Target Task (Sequential execution in a single thread)
Example) Move To Task, Go To Task, etc. Used in: properties
---><! ELEMENT type (#PCDATA)>
<! --- When a task execution method is designated as command, an instruction word for calling a task is designated. If the event is specified, this command word is transmitted to the command type task manager to be executed.
Used in: properties
---><! ELEMENT command (#PCDATA)>
<! -Task priority specified by the developer. For tasks that do not have priority and are set to Planned Task, the task execution arbitration module dynamically assigns priorities based on the movement distance.
Used in: properties
---><! ELEMENT priority (#PCDATA)>
<! --- Specify the task to be called after execution of the currently executed task is completed.
Used in: properties
---><! ELEMENT next-invoke (#PCDATA)>
<! -Describe the success condition for the task execution result. The successful completion of the task is inspected by the Logical Sensor. The type and value of the logical sensor is specified by the user. When Post-Condition is not satisfied, the next task set by next-invoke is not executed. The logical sensor is a virtual sensor that exists in the robot execution state management module.
Used in: properties
---><! ELEMENT post-condition (logical sensor, value)>
<! --- Specify the type of Logical Sensor.
Used in: post-condition
---><! ELEMENT logical sensor (#PCDATA)>
<! --- Specify the value of Logical Sensor.
Used in: post-condition
---><! ELEMENT value (#PCDATA)>
<! -Describes the conditions for checking whether the task can be executed before the task is executed. The task execution decision is inspected by the logical sensor in the same manner as the post-condition. The type and value of the logical sensor is specified by the user. If pre-condition is not satisfied, the task is not executed.
Used in: properties
---><! ELEMENT pre-condition (logical sensor, value)>
<! -A value that is set when the task execution method is timer, and has one value of OnetimeTimer and PeriodicTimer.
1) OneTimeTimer is executed only once in a predetermined time (Absolute time)
2) PeriodicTimer is a Task (relative time) that continues to be executed at regular time intervals.
Used in: properties
---><! ELEMENT timetype (#PCDATA)>
<! --- A value that is set when the task execution method is Timer, and when Timer Task is OneTimer, it means the time from the registration to the completion of Timer.
Used in: properties
---><! ELEMENT firetime (#PCDATA)>
<! -A value that is set when the task execution method is Timer, and when it is set to PeriodicTimer, it means the time until the Timer is first fired.
Used in: properties
---><! ELEMENT duration (#PCDATA)>
<! -A value that is set when the execution method of the task is Timer, and when it is set to PeriodicTimer, it means a period in which the TimerTask is fired.
Used in: properties
---><! ELEMENT interval (#PCDATA)>
<! -Describes information on actions that constitute a task.
Used in: task
---><! ELEMENT behaviors (behavior *)>
<! -Describe information on the unit actions that make up the task.
Used in: behaviors
---><! ELEMENT behavior (sequence, type, owner ?, defined-class-name ?, normal-content ?, ab- mal_content ?, post-condition ?, goal?)>
<! -Describe the execution order of the unit actions that make up the task.
Used in: behavior
---><! ELEMENT sequence (#PCDATA)>
<! -Specify the name of the action object.
Used in: behavior
---><! ELEMENT defined-class-name (#PCDATA)>

また、本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られうるデータが保存される全ての種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM(Read Only Memory)、RAM(Random Access Memory)、CD−ROM、磁気テープ、フロッピーディスク、光データ記録装置などがあり、また、キャリアウェーブ(例えば、インターネットを通した伝送)の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存かつ実行されうる。   Also, the server-based XML-based service providing method for controlling the mobile home service robot according to the present invention can be embodied as a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of the computer-readable recording medium include a ROM (Read Only Memory), a RAM (Random Access Memory), a CD-ROM, a magnetic tape, a floppy disk, an optical data recording device, and a carrier wave (for example, , Transmission over the Internet). Further, the computer-readable recording medium can be distributed in a computer system connected to a network, and computer-readable code can be stored and executed in a distributed manner.

以上、図面および明細書で最適の実施形態が開示された。ここでは特定の用語が使用されたが、これは、単に本発明を説明するための目的で使用されたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施形態が可能であるという点が理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決まらねばならない。   As mentioned above, the optimal embodiment was disclosed by drawing and specification. Although specific terms are used herein, they are used merely for purposes of describing the present invention and are intended to limit the scope of the invention as defined in the meaning and claims. It was not used. Accordingly, those skilled in the art will appreciate that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention must be determined by the technical idea of the claims.

本発明は、モバイルホームサービスロボットに関連した技術分野に好適に適用され得る。   The present invention can be suitably applied to a technical field related to a mobile home service robot.

本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることを示す概念図である。FIG. 2 is a conceptual diagram illustrating that a server for controlling a mobile home service robot according to the present invention is linked with a robot and a task creator. 本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of an XML-based service providing apparatus for a server that controls a mobile home service robot according to the present invention. FIG. 図2の実行部の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the execution part of FIG. 本発明によるモバイルホームサービスロボットを制御するサーバが、ロボット及びタスク作成器と連動されることをさらに詳細に示すブロック図である。FIG. 5 is a block diagram illustrating in more detail that a server for controlling a mobile home service robot according to the present invention is linked to a robot and a task creator. 本発明によるモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法の過程を示すフローチャートである。4 is a flowchart illustrating a process of an XML-based service providing method for a server controlling a mobile home service robot according to the present invention.

符号の説明Explanation of symbols

210 客体生成部
220 客体管理部
230 仲裁部
240 実行部
310 タスクキュー
320 客体実行部
340 スレッド管理部
210 Object Generation Unit 220 Object Management Unit 230 Arbitration Unit 240 Execution Unit 310 Task Queue 320 Object Execution Unit 340 Thread Management Unit

Claims (12)

(a)サービス命令を受信するステップと、
(b)前記サービス命令を解釈して、少なくとも一つ以上の客体を生成するステップと、
(c)前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、
(d)前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とするモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
(A) receiving a service command;
(B) interpreting the service instruction to generate at least one object;
(C) initializing the object, checking whether the task execution condition is satisfied, and determining execution according to task priority if the execution condition is satisfied;
(D) If the data provided by the robot is necessary for the execution, the information is received after requesting the robot to provide information, and the task determined to be executed is executed. An XML-based service providing method for a server that controls a mobile home service robot.
前記(a)ステップは、
XMLで作成された前記サービス命令をTCPを通じて受信することを特徴とする請求項1に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (a) includes:
The method for providing an XML-based service for a server for controlling a mobile home service robot according to claim 1, wherein the service command created in XML is received via TCP.
前記(b)ステップは、
(b1)前記サービス命令を構成するタスクの種類別に客体を生成することを特徴とする請求項1に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (b)
(B1) The method for providing an XML-based service for a server for controlling a mobile home service robot according to claim 1, wherein an object is generated for each type of task constituting the service command.
前記(b1)ステップは、
所定周期あるいは時間に実行されるタスク、ロボットユーザの命令によって実行されるタスク、事前に設定されたイベントが発生したときに実行されるタスクに種類を区分して客体を生成することを特徴とする請求項3に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (b1) includes
The object is generated by classifying a task into a task that is executed at a predetermined cycle or time, a task that is executed by a robot user's command, or a task that is executed when a preset event occurs. An XML-based service providing method for a server that controls the mobile home service robot according to claim 3.
前記(c)ステップは、
(c1)前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査するステップと、
(c2)前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁するステップと、
(c3)実行するタスクをキューに保存して順次的な実行を図るステップと、を含むことを特徴とする請求項1に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (c) includes:
(C1) Inspecting the life cycle including the disappearance and initialization of the object and the execution condition of the task;
(C2) if the execution condition is satisfied, arbitrating the execution of the task that satisfies the execution condition based on the priority;
The method for providing an XML-based service for a server for controlling a mobile home service robot according to claim 1, further comprising: (c3) storing a task to be executed in a queue and sequentially executing the task.
前記(c3)ステップは、
前記タスクを多重スレッドあるいは単一スレッドで実行することを特徴とする請求項5に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (c3)
6. The method for providing an XML-based service for a server for controlling a mobile home service robot according to claim 5, wherein the task is executed by multiple threads or a single thread.
前記(d)ステップは、
前記タスクの正常実行如何を判断して、失敗したならば再実行し、成功したならば他のタスクの実行を待機するステップをさらに含むことを特徴とする請求項1に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法。
The step (d) includes:
The mobile home service robot according to claim 1, further comprising: determining whether the task is normally executed, re-executing if the task is failed, and waiting for execution of another task if the task is successful. XML-based service providing method for servers that control the server.
サービス命令を受信した後に解釈して、少なくとも一つ以上の客体を生成する客体生成部と、
前記客体を受信して生命周期管理及び実行条件を検査する客体管理部と、
前記実行条件の充足時に、前記客体を実行するタスクの実行如何及び実行順序を決定する仲裁部と、
前記仲裁部の決定を入力されてタスクを実行する実行部と、を備えることを特徴とするモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置。
An object generation unit that interprets the service command after receiving the service command and generates at least one object;
An object management unit that receives the object and inspects life cycle management and execution conditions;
An arbitration unit that determines whether or not a task for executing the object is executed and an execution order when the execution condition is satisfied;
An XML-based service providing apparatus for a server that controls a mobile home service robot, comprising: an execution unit that receives a decision of the arbitration unit and executes a task.
前記実行部は
前記タスクを順次に保存及び出力するタスクキューと、
前記タスクキューに保存されたタスクの単一あるいは多重スレッド属性によって前記タスクの実行方法を決定するスレッド管理部と、
前記決定された実行方法によってタスクを実行する客体実行部と、
前記タスクの実行結果をフィードバックされ、不完全な場合、前記仲裁部に再実行を要請するタスク実行状態管理部と、を備えることを特徴とする請求項8に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置。
The execution unit includes a task queue for sequentially storing and outputting the tasks;
A thread management unit that determines a method for executing the task according to a single or multiple thread attribute of the task stored in the task queue;
An object execution unit for executing a task according to the determined execution method;
9. The mobile home service robot according to claim 8, further comprising: a task execution state management unit that feeds back an execution result of the task and requests the arbitration unit to re-execute when the result is incomplete. Server XML-based service providing device.
前記客体生成部は、
サービス命令を構成するタスクの種類別に前記客体を生成することを特徴とする請求項8に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置。
The object generator is
9. The XML-based service providing apparatus for a server for controlling a mobile home service robot according to claim 8, wherein the object is generated for each type of task constituting a service command.
前記仲裁部は、
前記客体の消滅及び初期化を含む生命周期及びタスクの実行条件を検査して、前記実行条件が満たされれば、優先順位に基づいて実行条件が満たされたタスクの実行を仲裁して、実行するタスクをキューに保存して順次的な実行を仲裁することを特徴とする請求項8に記載のモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供装置。
The arbitration department
The life cycle including the disappearance and initialization of the object and the execution condition of the task are inspected, and if the execution condition is satisfied, the execution of the task satisfying the execution condition is arbitrated based on the priority order and executed. 9. The XML-based service providing apparatus for a server for controlling a mobile home service robot according to claim 8, wherein the task is stored in a queue and the sequential execution is arbitrated.
(a)サービス命令を受信するステップと、
(b)前記サービス命令を解釈して少なくとも一つ以上の客体を生成するステップと、
(c)前記客体を初期化し、タスク実行条件の充足如何を確認して、実行条件が満たされれば、タスクの優先順位による実行を決定するステップと、
(d)前記実行にロボットが提供するデータが必要であれば、前記ロボットに情報提供を要請した後に受信して、前記実行が決定されたタスクを実行するステップと、を含むことを特徴とするモバイルホームサービスロボットを制御するサーバのXML基盤のサービス提供方法をコンピュータで実行させうるプログラムを記録したコンピュータで読み取り可能な記録媒体。
(A) receiving a service command;
(B) interpreting the service instruction to generate at least one object;
(C) initializing the object, checking whether the task execution condition is satisfied, and determining execution according to task priority if the execution condition is satisfied;
(D) If the data provided by the robot is necessary for the execution, the information is received after requesting the robot to provide information, and the task determined to be executed is executed. A computer-readable recording medium having recorded thereon a program capable of executing an XML-based service providing method of a server for controlling a mobile home service robot.
JP2006332283A 2005-12-08 2006-12-08 Method and apparatus for providing xml-based service in server controlling mobile home service robot Pending JP2007157166A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119461 2005-12-08
KR1020060072646A KR100772522B1 (en) 2005-12-08 2006-08-01 Method for providing XML-based service by server which controls mobile home service robot and apparatus thereof

Publications (1)

Publication Number Publication Date
JP2007157166A true JP2007157166A (en) 2007-06-21

Family

ID=38241356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006332283A Pending JP2007157166A (en) 2005-12-08 2006-12-08 Method and apparatus for providing xml-based service in server controlling mobile home service robot

Country Status (1)

Country Link
JP (1) JP2007157166A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108504A (en) * 2008-10-31 2010-05-13 Korea Electronics Telecommun Robot software component thread processsing system and method
JP2011129099A (en) * 2009-12-18 2011-06-30 Korea Electronics Telecommun Robot service loading method in intelligent type service robot environment, and service loading device for the same
US8689217B2 (en) 2008-10-31 2014-04-01 Electronics And Telecommunications Research Institute System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes
KR101981116B1 (en) * 2017-11-17 2019-05-22 동아대학교 산학협력단 Module and method for controling home service robot, home service robot, computer program
US10946525B2 (en) * 2017-01-26 2021-03-16 Hitachi, Ltd. Robot control system and robot control method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108504A (en) * 2008-10-31 2010-05-13 Korea Electronics Telecommun Robot software component thread processsing system and method
US8689217B2 (en) 2008-10-31 2014-04-01 Electronics And Telecommunications Research Institute System and method for thread processing robot software components responsive to periodic, dedicated, and passive modes
JP2011129099A (en) * 2009-12-18 2011-06-30 Korea Electronics Telecommun Robot service loading method in intelligent type service robot environment, and service loading device for the same
US8793648B2 (en) 2009-12-18 2014-07-29 Electronics And Telecommunications Research Institute Method and device for loading service application of robot based on ubiquitous robotic companion (URC) environment
US10946525B2 (en) * 2017-01-26 2021-03-16 Hitachi, Ltd. Robot control system and robot control method
KR101981116B1 (en) * 2017-11-17 2019-05-22 동아대학교 산학협력단 Module and method for controling home service robot, home service robot, computer program

Similar Documents

Publication Publication Date Title
US6384829B1 (en) Streamlined architecture for embodied conversational characters with reduced message traffic
US11055583B1 (en) Machine learning for computing enabled systems and/or devices
CN110383298B (en) Data efficient reinforcement learning for continuous control tasks
US7835821B2 (en) Robot server for controlling robot, system having the same for providing content, and method thereof
CN110781007A (en) Task processing method, device, server, client, system and storage medium
CA2946040C (en) Executing software applications on a robot
US20190385022A1 (en) Self-supervised robotic object interaction
US10102449B1 (en) Devices, systems, and methods for use in automation
Costantini et al. DALICA: Agent-based ambient intelligence for cultural-heritage scenarios
JP2017517800A (en) Robot motion monitoring
JP2007157166A (en) Method and apparatus for providing xml-based service in server controlling mobile home service robot
US11762451B2 (en) Methods and apparatus to add common sense reasoning to artificial intelligence in the context of human machine interfaces
Phillips Metaglue: A programming language for multi-agent systems
KR20070052641A (en) Robot server, content providing system and method comprising the same
Boovaraghavan et al. MLIoT: An end-to-end machine learning system for the Internet-of-Things
US12093328B2 (en) Playback engine
KR100772522B1 (en) Method for providing XML-based service by server which controls mobile home service robot and apparatus thereof
Pineda et al. Ioca: Interaction-oriented cognitive architecture
WO2023071643A1 (en) Method and apparatus for processing task, electronic device, and medium
CA3221529A1 (en) Systems and methods for generation of action strategies by an autonomous system
Wang et al. Robotic reliability engineering: Experience from long-term tritonbot development
KR20070061241A (en) Network-based robot control device, robot and robot control method
Alonso et al. A flexible and scalable social robot architecture employing voice assistant technologies
US20230376293A1 (en) Application deployment
CN113191379B (en) Prediction method and device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090213

A02 Decision of refusal

Effective date: 20090828

Free format text: JAPANESE INTERMEDIATE CODE: A02