Apparatus for controlling robot and method thereof

An apparatus for controlling a robot and a method thereof are provided. The apparatus includes: a state interpretation unit determining whether or not a current situation belongs to a preset unstable state by evaluating the current situation based on a plurality of perception information items; and a target generation unit setting a target action of the robot by comparing the current situation and the determination result with a predetermined value system, and then, modifying the target action by receiving a feedback of the action performance result of the robot as perception information. According to the method and apparatus, by inputting a processing procedure and a value system to solve a variety of unstable states that can occur in situations of a user and circumstances surrounding the robot, the robot can actively respond with actions.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application claims the benefit of Korean Patent Application No. 10-2005-0121046, filed on Dec. 9, 2005, and No. 10-2006-0058892, filed on Jun. 28, 2006 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an apparatus for controlling a robot and a method thereof, and more particularly, to an apparatus enabling a robot to actively respond with actions to solve a variety of unstable states that can occur in situations and circumstances occurring to the robot, and a method thereof.

2. Description of the Related Art

Active control technology is the conventional technology that deals with the art of the present invention. Active control technology is based on desires and emotions, and active control technology is employed by robots of the pet robot group represented by AIBO of the Japanese company, SONY.

In AIBO, a method of drawing an action with internal and external stimuli, such as hunger and scolding, as motives, is embedded. According to this method, AIBO receives inputs from a plurality of perception evaluation items and motive states, and by repeatedly applying a variety of arithmetic expressions and matrix operations that can calculate correlations between each element forming the inputs, AIBO actively draws a behavioral expression. An example of such a drawn behavioral expression is a behavioral expression from an instinctive desire as illustrated by expression 1:

According to expression 1, if fatigue is high and curiosity is low, a resting behavior is active. Fatigue, curiosity and the like are based on a desire and emotion model of the robot and are continuously calculated by gathering external stimuli values sensed from a variety of sensors arranged on the robot, and which are input to the action selection arithmetic expressions. In this manner, the robot actively expresses a series of actions.

However, the active action expression method based on desire and emotion, as described above, may be useful in order to draw an instinctive action, but it is difficult for the method to be used in order to draw actions that have a high-level of intention. In this case, the actions that have a high-level of intention include the following actions.

First, the actions include an action involving a user. That is, a robot should be able to draw an action, i.e., a service that can improve comfort, and provide pleasure and enjoyment to the user. For example, when the interpreted result of a current situation indicates that the user is in a living room, wherein the temperature is high and the humidity is low and causing the user to feel uncomfortable, the robot should generate an objective to make the living room surroundings pleasant for the user and should be able to provide a suitable service based on that objective.

Secondly, the robot should be able to determine whether or not an unstable situation has occurred by continuously monitoring and interpreting changes in the surrounding, and draw a objective-oriented action that can solve the occurred unstable situation. For example, if the robot senses a situation where the temperature of a certain area is continuously rising at midnight, the robot should determine that an emergency situation has occurred, and in order to solve the problem, the robot should be able to alert the user or further examine the area where the emergency situation has occurred.

SUMMARY OF THE INVENTION

The present invention provides an apparatus and method capable of providing an internal knowledge processing mechanism enabling a robot to actively draw actions that have a high-level of intention.

According to an aspect of the present invention, there is provided an apparatus for controlling a robot including: a state interpretation unit determining whether or not a current situation belongs to a preset unstable state by evaluating the current situation based on a plurality of perception information items input externally; and a target generation unit setting a target action of the robot by comparing the current situation and the determination result with a predetermined value system, and then, modifying the target action by receiving a feedback of the action performance result of the robot as perception information.

According to another aspect of the present invention, there is provided a method of controlling a robot including: establishing a plurality of obligations that a robot must perform; determining whether or not a current situation belongs to a preset unstable state by evaluating the current situation based on a plurality of perception information items input externally; setting a target action of the robot by comparing the current situation with the determination result with the obligations, and then, ordering the performance of the target action; and modifying the target action by receiving a feedback of the action performance result of the robot as perception information.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown. For the convenience of explaining and to easily understand, an apparatus and a method for controlling a robot according to an embodiment of the present invention will be explained together.FIG. 1is a block diagram illustrating a structure of an apparatus for controlling a robot according to an embodiment of the present invention.FIG. 2is a flowchart illustrating a method of controlling a robot according to an embodiment of the present invention.FIG. 3is a detailed flowchart illustrating an operation S220for determining an unstable state of the method illustrated inFIG. 2according to an embodiment of the present invention.FIG. 4is a detailed flowchart illustrating an operation S230for ordering a target action of a robot of the method illustrated inFIG. 2according to an embodiment of the present invention.

The apparatus for controlling a robot according to an embodiment of the present invention is composed of a state interpretation unit110and a target generation unit120. The state interpretation unit110determines whether or not a current situation belongs to a preset unstable state by evaluating the current situation based on an established performance obligation in operation S210with at least one or more perception information items input externally in operation S220.

The target generation unit120sets a target action of the robot by comparing the current situation and the result of the determination of whether the current situation belongs to the preset unstable state as determined by the state interpretation unit110with a predetermined value system, and orders the target action in operation S230. Then, by receiving feedback on the result of performing the action by the robot as perception information, the target generation unit120modifies an action so that the result of the action becomes a target value in operation S240.

First, detailed blocks of the state interpretation unit110and the target generation unit120will be explained and then, the apparatus for controlling a robot will be explained in more details.

The state interpretation unit110is composed of an attention list unit111storing symbols that can be criteria to determine the unstable state, as attention-requiring clues; a situation interpretation unit113symbolizing the perception information items with symbols corresponding to the items, respectively, and outputting the symbols; a situation unit115storing the symbolized perception information items; a situation monitor117confirming whether or not the attention-requiring clues exist by searching through the situation unit115whenever the contents of the situation unit115change, and if the attention-requiring clues exist, outputting a driving signal ordering start of logic; and an unstable state interpretation unit119determining whether or not a current state has entered into an unstable state, by performing logic based on a predetermined rule according to the driving signal.

Meanwhile, the target generation unit120is composed of a value system unit121storing obligations that the robot must perform; a target setting unit123receiving inputs of the determination result of the state interpretation unit110and a current situation, accessing the value system unit121in order to compare the inputs of the determination result with the obligations, and then, setting a target action that the robot must perform; and an action selection unit125outputting an action guide to the robot so as to perform the set target action.

Detailed operations of the apparatus for controlling a robot will now be explained in detailed under the structure described above. First, the attention list unit111stores clue information with which an occurrence of a situation that the robot should pay attention to can be found in operation S221. The state interpretation unit110receives inputs of a variety of perception information items from an external perception devices (not shown), including a variety of sensors, cameras, and a voice recognition apparatus. Perception information items are input to the situation interpretation unit113, and the situation interpretation unit113interprets and symbolizes each perception information item or combines many perception information items and symbolizes the combined items so that a situation description can be generated in operation S223. Thus generated situation description data is recorded in the situation unit115.

Part of the situation description data recorded in the situation unit115is re-input to the situation interpretation unit113and undergoes a process of modification or deletion in order to maintain consistency of the contents of the situation description data recorded in the situation unit115. Since the situation unit115continuously receives situation description data that is generated as a result of an interpretation of a situation, the contents of the situation unit115continuously change. The situation monitor117continuously monitors the changed contents of the situation unit115. If data stored in the attention list unit111appears in the situation unit115, the situation monitor117informs the unstable state situation interpretation unit119of this fact. The unstable state interpretation unit119determines whether or not an unstable state has occurred by collectively considering special attention clues transferred by the situation monitor117and the contents of the situation unit115in operations S225and S227. If it is determined that an unstable state has occurred, the unstable state interpretation unit119transfers the occurred unstable state to the target generation unit120in operation S229. The target setting unit123of the target generation unit120collectively evaluates the unstable state of the unstable state interpretation unit119and the contents of the situation unit115, determines which target action is to be set for a user by comparing the unstable state of the unstable state interpretation unit119and the contents of the situation unit115with the value system unit111, and transfers the set target action to the action selection unit125. The action selection unit125selects an action that can achieve the set target action in operations S231and S233.

An external action embodiment and implementation device, for example, a robot, which receives the thus selected action, determines how to perform the selected action and actually performs the selected action. The performance result is again input to the state interpretation unit110as perception information. If the performance result is successful, it is interpreted and determined that the set target has been achieved. If the performance result is not successful, the set target has not been achieved and therefore, a new target is set through the procedure described above or the action that is required to achieve the target is stopped.

In the performing of the functions as described above, data exchanged between elements performing the respective functions is data described in a knowledge representation language, and based on this, each element performs a series of logical functions such that required determination functions can be performed. Also, the value system unit111is a knowledge based unit describing obligatory items and task items that should be performed by the robot, and is a set of data promoting safety of the actions of the robot and setting basic aims of the actions of the robot.

Hereinafter, an embodiment of the present invention will be explained with a more specific example. The present embodiment of the present invention applies to a robot that actively provides a pleasant indoor environment to a user by monitoring and interpreting the situation of the indoor environment.

First, the structure of the robot will now be explained briefly. The robot of the present embodiment and the structure of an environment for the operation of the robot are illustrated inFIG. 5.FIG. 5is schematic diagram illustrating an apparatus for controlling a robot that is actually interoperating with other devices according to an embodiment of the present invention.

A robot apparatus540is composed of a driving unit (not shown), a sensor545measuring temperature and humidity, a camera547, an alarm543, and a communication module541. The communication module541wirelessly performs communication functions with a home gateway520. The home gateway520performs a control center function controlling an air conditioner530and an electric window510having remote control functions. The robot apparatus540transfers a function request to the home gateway520so that the devices are controlled.

Next, an active robot control apparatus and method according to an embodiment of the present invention will be explained together. The sensor545of the robot apparatus540, which measures temperature and humidity, is attached to the robot apparatus540to continuously sense temperature and humidity data of a space where the robot apparatus540is positioned and transfers the data to the situation interpretation unit113. The situation interpretation unit113symbolizes a situation by using a predetermined rule. For example, if the temperature is 25 degrees or greater, a symbol corresponding to “hot” is generated, and if the temperature is 10 degrees or lower, a symbol corresponding to “cool” is generated. Also, the camera547of the robot apparatus540continuously shoots images in a predetermined manner and transfers the images to the situation interpretation unit113. At the same time, though not shown, recognition results by a variety of external recognition devices are also transferred too the situation interpretation unit113. For example, a predetermined user is recognized through image recognition, an identification (ID) of the recognized user is transferred to the situation interpretation unit113. By using the transferred ID, the situation interpretation unit113records in the situation unit115a symbol indicating which user the robot apparatus540is confronted by. The following table 1 describes the contents of data recorded in the situation unit115at an arbitrary time:

TABLE 1LocatedAt(Me,101)//I (robot) is positioned at a place 101.LocatedAt(Cheolsu,101)//A user with an ID, Cheolsu, is in theplace 101.Confronted(Cheolsu,2005-10-23T10:20:30) //I (robot) is confronted bya user with an ID, Cheolsu.Temperature(101,28)//Temperature of the place 101 is 28 degrees.Humidity(101,80)//Humidity of the place 101 is 80%.Hot(101)//the place 101 is hot.VeryHumid(101)//the place101 is very humid.

A robot manufacturer or a user registers a symbol, such as Hot or VeryHumid, which becomes a clue of an unstable state of an environment in the attention list unit111. Since a service for a user may be needed when the robot apparatus540confronts the user, a symbol, such as Confronted, is also registered in the attention list unit111.

The situation monitor117determines whether or not a special attention clue exists by monitoring the contents of the situation unit115in order to determine whether the contents of the situation unit115have changed. If the contents of the situation unit115correspond to the example described above, the situation monitor117drives the unstable state interpretation unit119with Hot and VeryHumid as clues. The unstable state interpretation unit119determines whether or not an unstable state has occurred by collectively analyzing the current contents of the situation unit115. By performing logic based on the following rules, the unstable state interpretation unit119determines whether or not an unstable state has occurred.R10: Hot(?loc) and VeryHumid(?loc) and LocatedAt(?someone,?loc) and ˜CaughtCold(?someone)→Instability(HotAndHumid,Uncomfortable,?someone,?loc)R11: TooNoisy(?loc) and LocatedAt(?someone,?loc) and ˜PlayingMedia(?someone,?loc)→Instability(Noisy,Uncomfortable,?someone,?loc)

Rule R10 determines that an area is unstable because the area is hot and humid if an area is hot and humid and if a person is in the area. According to this rule, if nobody is in the hot and humid area, it is determined that an unstable state has not occurred. Also, rule R10 includes a condition described as, (˜CaughtCold(?someone)), where the state is not regarded as an unstable state if the user in the area has caught a cold. This is because if the user has caught a cold, a boiler may be intentionally set to a high temperature and a humidifier may be turned on.

Rule R11 means that if a user is in a predetermined area that is very noisy and the user has not turned on a movie or music media player, the state is regarded as an unstable state.

The unstable state interpretation unit119transfers a sensed unstable state to the target generation unit120so that a target action of the robot apparatus540can be generated. The target setting unit123generates a target by gathering the occurred unstable state, preset data of the value system unit121, and other situations of the situation unit115. Initially, the value system unit121includes the following knowledge:R20: User(?someone)−>OughtToMake(?someone, Comfortable)R21: User(?someone)−>OughtToBeTo(?someone, Polite)R22: Uncomfortable=˜ComfortableR23: Impolite=˜Polite

Rule R20 can be interpreted as a task item where a user is serviced to feel comfortable, and rule R21 can be interpreted as a task item where the robot apparatus540acts politely to the user. Logical expressions R22 and R23 indicate that the both concepts of each expression are contradictory. This value system of the robot apparatus540, that is explained above, becomes clue information to verify whether or not an occurred unstable state prevents the robot apparatus540from performing a task, and explains which action should be drawn with which intention.

The target setting unit123determines an occurrence of an inconsistency in the value system of the robot apparatus540, and which target action should be set in order to solve the inconsistency, according to the following rules:R30: OughtToMake(?someone,?x) and Instability(?cause,?y,?someone,?loc) and ?x=˜?y→Resolve(?cause,?someone,?loc)R31: Resolve(?cause,?someone,?loc) and Resolvent(?cause,?goal)→Goal(?goal,?someone,?loc)R32: Resolvent(HotAndHumid, CoolAndDry)

Rule R30 indicates that when a task is assigned through a value system and the task cannot be completed because of an unstable state (as described by ?x=˜?y), the causal element must be solved. Rule R31 is applied to find a clue to solve the causal element and to set a target action in order to perform the solution. Rule R32 describes as a fact that a basic solution to HotAndHumid is CoolAndDry. Accordingly, considering the data flow up to this point, the target setting unit123will set a target action as per the following:Goal(CoolAndDry,Cheolsu,101)

That is, the target action means that, “Area101should be made to be cool and dry for a user with an ID of Cheolsu”.

Rules R40 and R41 indicate means to achieve specific target actions. Initially, rule R40 indicates an action of opening a window, and indicates a prerequisite where the window is closed and the weather is sunny. Also, the result of the action is CoolAndDry. Next, rule R41 suggests an action of turning on the air conditioner530, and indicates a prerequisite where the window and a door are closed.

Rule R42 determines an action to be performed by collectively considering a target action, means to achieve the target action, and a current state. If the window and door are closed and the weather is cloudy, the action that is to be selected will be an action to turn on the air conditioner. However, if the window and door are closed and the weather is sunny, both rules R40 and R41 are satisfied and a contradiction occurs. In the case of a contradiction, a priority between actions is set as the following so that a policy for selecting an action is followed and the contradiction can be solved.R40: Action(OpenWindow, WindowClosed, ClearWether, CoolAndDry)R41: Action(TurnOnAirconditioner, WindowClosed, DoorClosed, CoolAndDry)R42: Superior(OpenWindow, TurnOnAirconditioner)R43: Goal(?resolvent, ?someone, ?loc) and Action(?action, ?precondition1, ?precondition2, ?resolvent) and ?precondition1(?loc) and ?precondition2(?loc)→TemporaryPerform(?action, ?loc)R44: TemporaryPerform (?action1, ?loc) and TemporaryPerform (?action2, ?loc) and Superior(?action1, ?action2)→Perform(?action1,?loc)

Rule R42 declares that opening the window is an action having priority over an action of turning on the air conditioner. Also, rule R43 performs an intermediate decision instead of determining a final action. When a plurality of actions are selected, rules R44 determines a final result by selecting an action with a higher priority from among the plurality of actions.

Thus, the determined final action is transferred to an action embodiment and implementation device, for example, a robot, and an actual physical service is performed. For example, as illustrated inFIG. 5, if an action of opening the window is drawn because the user is in the room and the room is hot and humid, the robot apparatus540instructs the home gateway520to open the electric window510of the room through the communication module541, and according to the instruction, the electric window510is opened.

It should be noted that, by storing the contents of knowledge processing of the processing process as described above, the robot apparatus540can inform the intention of performing the action to the user. That is, in the above example, the robot apparatus540can answer “The window is opened to make Cheolsu feels comfortable”. That is, because the contradiction occurred in the part of the value system where there was a lack of comfort. Also, in relation to why it was determined that Cheolsu feels uncomfortable, the robot apparatus540can answer, “because the room is hot and humid.”

In the method of actively controlling a robot according to the present invention as described above, the intention to maintain the environment of the user to be safe and pleasant is continuously input into a robot apparatus and the robot is compelled to act according to the intention such that the robot apparatus can be actively controlled.

Also, the robot apparatus can be made to be able to explain the reason why an action by the robot is performed based on a value system.

According to the apparatus and method of controlling a robot of the present invention as described above, by inputting a processing procedure and a value system to solve a variety of unstable states that can occur in situations of a user and circumstances surrounding the robot, the robot can actively respond with corresponding actions.

As a result, the robot can actively keep the user in a safe situation and solve the instability of the environment, and the robot manufacturer or the user can easily assign or set the robot apparatus with tasks, obligations, and etiquette.

Also, the robot apparatus can be made to be able to explain the background and the process of an action performed by the robot apparatus.

Furthermore, in relation to making a robot apparatus perform more active and intelligent actions, by making the robot apparatus able to think in a manner similar to that of a human being, user friendliness and safety of the robot apparatus can be improved. As a result, this improvement can be a driving force for the robot industry in terms of personal and home use.