Abstract:
The present invention relate to a policy-based robot managing apparatus and method for managing a plurality of robots, which generate a wide area policy for controlling cooperation between the plurality of robots connected by a network, compare the generated wide area policy with an existing wide area policy to check whether a conflict between the wide area policies occurs, convert the generated wide area policy into local policies applicable to the plurality of robots, and transmit the local policies to the corresponding robots, respectively. According to the embodiments of the present invention, since a policy-based management technique is introduced, it is possible to more efficiently control different kinds of robots having various forms through a wide area policy having a pseudo-code form even though a manager does not know previously set information of the individual network robots.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to Korean Patent Application No. 10-2009-0121188 filed on Dec. 8, 2009, the entire contents of which are herein incorporated by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a policy-based robot managing apparatus and method for managing a plurality of robots, and more particularly, to a policy-based apparatus and method for managing a plurality of robots that generates a wide area policy for managing and operating a plurality of different kinds of network robots and transmits and applies the generated wide area policy to the individual network robots. 
     2. Description of the Related Art 
     With the recent development of an industrial field, various forms of manufacturing robots capable of performing repetitive delicate assembly work or difficult tasks instead of humans have been developed. On the basis of this robot technology, various service robots are being developed with extension of a range of application of robots to service fields. 
     These service robots can be classified into personal service robots and professional service robots. The personal service robots can provide support services for the elderly, such as life support or walking assistance for the elderly, education services such as a private instructor or tools and materials for education, and domestic help services such as cleaning up or tidying up. The professional service robots mean robots used for public services or difficult work that humans cannot do, and include public service robots for a guide or helper robot, robots for dangerous work as extinguishing fires or life-saving, military robots, etc. 
     In order to enable those service robots to provide more complicated and elaborated services, the necessity of network robot technology in which a plurality of robots are connected by a network and performs one application service together have come into the focus, and as a result, the network robot technology has been developed. All network robots are connected to a server through a network. Each of the network robots and communication thereof can be controlled through the server. The network robots provide a complicated application service at a high level of difficulty even though it is difficult for the individual robots to provide the application service due to limitations of hardware platforms of the individual robots. The network robot technology can be effectively applied to professional service fields than personal support service fields. Since the network robot technology provides services through the cooperation of a plurality of robots, the importance of a robot server technology monitoring the statuses of robots providing services and remotely controlling the robots is being emphasized. 
     As robot application services are diversified and become complicated, interest in the robot server technology of controlling cooperation of a plurality of robots has increased, and associated technology has been developed. However, those kinds of technology are mainly limited to technology for managing a plurality of the same kind of robots. In particular, development of robot server technology capable of controlling a plurality of different kinds of robots is still at an early stage. 
     In order to use a plurality of different kinds of robots to provide a higher level of robot application service, development of technology capable of controlling and managing a plurality of different kinds of robots is needed. 
     SUMMARY OF THE INVENTION 
     In order to solve the above-mentioned problem, it is an object of the present invention to provide a policy-based robot managing apparatus and method for managing a plurality of robots, in which a robot managing server for providing various application services through the cooperation of a plurality of different kinds of network robots generates and applies a policy to control the individual network robots, thereby more efficiently managing the robots. 
     According to an embodiment of the present invention, it is provided a policy-based robot managing apparatus for managing a plurality of robots, the apparatus including: a policy generating unit configured to generate a wide area policy for controlling cooperation between the plurality of robots connected by a network; a policy checking unit configured to compare the generated wide area policy with an existing wide area policy to check whether a conflict between the wide area policies occurs; a policy converting unit configured to convert the generated wide area policy into local policies applicable to the plurality of robots; and a communicating unit configured to transmit the local policies to the corresponding robots, respectively. 
     The policy converting unit may check profile information on robots to which the generated wide area policy will be applied, and convert the generated wide area policy into commands executable in the individual robots to generate the local policies corresponding to the individual robots. 
     The profile information may include at least one of network set information on the plurality of robots and a list of commands on the corresponding robots. 
     The wide area policy may be recorded in a pseudo-code form. 
     When it is determined by the policy checking unit that a conflict between the generated wide area policy and the existing wide area policy occurs, the policy generating unit may generate another new wide area policy. 
     The policy-based robot managing apparatus may further include a storage unit which includes a robot profile storage unit configured to store profile information on the plurality of robots connected by the network, and a wide area policy storage unit configured to store the wide area policy. 
     When it is determined by the policy checking unit  130  that no conflicts between the generated wide area policy and the existing wide area policy occur, the policy checking unit may store the generated wide area policy in the wide area policy storage unit. 
     The plurality of robots may execute commands described in the local policies to operate according to the local policies. 
     According to another embodiment of the present invention, it is provided a policy-based robot managing method for managing a plurality of robots, the method including: generating a wide area policy for controlling cooperation between the plurality of robots connected by a network; comparing the generated wide area policy with an existing wide area policy to check whether a conflict between the wide area policies occurs; converting the generated wide area policy into local policies applicable to the plurality of robots; and transmitting the local policies to the corresponding robots, respectively. 
     The converting may include checking profile information on robots to which the generated wide area policy will be applied, and converting the generated wide area policy into commands executable in the individual robots to generate the local policies corresponding to the individual robots. 
     The profile information may include at least one of network set information on the plurality of robots and a list of commands on the corresponding robots. 
     The wide area policy may be recorded in a pseudo-code form. 
     When it is determined in the checking that a conflict between the generated wide area policy and the existing wide area policy occurs, in the generating, another new wide area policy may be generated. 
     The policy-based robot managing method may further include storing the generated wide area policy in a wide area policy storage unit when it is determined in the checking that no conflicts between the generated wide area policy and the existing wide area policy occur. 
     The policy-based robot managing method may further include executing commands described in the local policies in the plurality of robots such that the plurality of robots operate according to the local policies. 
     The policy-based robot managing method may further include receiving local policy execution results from the plurality of robots, and managing the plurality of robots on the basis of the received local policy execution results. 
     According to the embodiments of the present invention, since a policy-based management technique is introduced, it is possible to more efficiently control different kinds of robots having various forms through a wide area policy having a pseudo-code form even though a manager does not know previously set information of the individual network robots. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a drawing illustrating a configuration of a system adapting a policy-based robot control apparatus for controlling a plurality of robots according to an exemplary embodiment of the present invention; 
         FIG. 2  is a block diagram illustrating a detailed configuration of the robot managing server according to the exemplary embodiment of the present invention; 
         FIG. 3  is a block diagram illustrating a detailed configuration of a robot according to the exemplary embodiment of the present invention; and 
         FIG. 4  is a drawing illustrating an operational flow of a policy-based robot managing method of managing a plurality of robots. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. 
       FIG. 1  is a drawing illustrating a configuration of a system adapting a policy-based robot control apparatus for controlling a plurality of robots according to an exemplary embodiment of the present invention. 
     As shown in  FIG. 1 , a system adapting a robot control apparatus includes a plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  (generally designated by reference numeral  200 ) and a robot managing server  100  for controlling the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z.    
     The robot managing server  100  stores information on each of the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  and controls the operation of each of the robots  200  by extracting information on a robot  200  to be controlled and transmitting a control command to the corresponding robot  200 . 
     At this time, the robot managing server  100  may separately control the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  or may simultaneously control the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  by generating a wide area policy. 
     A detailed configuration of the robot managing server  100  and its operation of controlling the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  will be described with reference to  FIG. 2 . 
       FIG. 2  is a block diagram illustrating a detailed configuration of the robot managing server according to the exemplary embodiment of the present invention. 
     As shown in  FIG. 2 , the robot managing server  100  according to the embodiment of the present invention includes a storage unit  110 , a policy generating unit  120 , a policy checking unit  130 , a policy converting unit  140 , and a communicating unit  150 . 
     The storage unit  110  includes a robot profile storage unit  111  and a wide area policy storage unit  115 . 
     The robot profile storage unit  111  stores profile information on each of the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  connected to the robot managing server  100  by a network. It is possible that the robot profile storage unit  111  has previously stored profile information on robots that were connected to the robot managing server  100  in the past but were not currently connected to the robot managing server  100 . 
     At this time, the profile information of a robot  200  includes network set information on the corresponding robot  200 , a list of commands to the corresponding robot  200 , etc. 
     The wide area policy storage unit  115  stores a wide area policy generated by the policy generating unit  120 . 
     The policy generating unit  120  generates a wide area policy for controlling cooperation between the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  connected by the network. At this time, the policy generating unit  120  generates the wide area policy for controlling cooperation between the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  in a pseudo-code form. 
     If the policy generating unit  120  generates the wide area policy, the policy checking unit  130  compares the wide area policy newly generated by the policy generating unit  120  with an existing wide area policy stored in the wide area policy storage unit  115  in advance. At this time, the policy checking unit  130  checks whether a conflict between the newly generated wide area policy and the existing wide area policy occurs. 
     If a conflict between the newly generated wide area policy and the existing wide area policy occurs, the policy checking unit  130  informs the policy generating unit  120  of the conflict so as to make the policy generating unit  120  generate another new wide area policy. 
     Meanwhile, if no conflicts between the newly generated wide area policy and the existing wide area policy occur, the policy checking unit  130  stores the newly generated wide area policy in the wide area policy storage unit  115 . 
     If the checking by the policy checking unit  130  is completed, the policy converting unit  140  converts the newly generated wide area policy into a form applicable to the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z.    
     That is, the policy converting unit  140  checks robots  200  to which the newly generated wide area policy will be applied, and reads the profile information on the corresponding robots  200  from the robot profile storage unit  111 . Next, the policy converting unit  140  converts the newly generated wide area policy into commands that the individual robots  200  can execute, thereby generating local policies for the corresponding robots  200 . 
     The communicating unit  150  checks the connection status of the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  through the network. Further, the communicating unit  150  transmits the local policies generated by the policy converting unit  140  to the corresponding robots  200 , respectively. 
     Meanwhile,  FIG. 3  is a block diagram illustrating a detailed configuration of a robot according to the exemplary embodiment of the present invention. 
     As shown in  FIG. 3 , a robot  200  includes a communicating unit  210 , a policy applying unit  220 , and a storage unit  230 . 
     First, the communicating unit  210  connects to the robot managing server  100  through the network and checks the connection status with the robot managing server  100 . Further, the communicating unit  210  receives the local policy from the robot managing server  100  and transmits the local policy to the policy applying unit  220 . 
     The storage unit  230  stores set information on the corresponding robot  200 . Further, the storage unit  230  includes a local policy storage unit  235  for storing the local policy received through the communicating unit  210 . 
     If receiving the local policy through the communicating unit  210 , the policy applying unit  220  stores the received local policy in the local policy storage unit  235 . 
     Further, the policy applying unit  220  applies the local policy to the corresponding robot  200 . In other words, the policy applying unit  220  executes the command described in the local policy to control the operation of the corresponding robot  200 . 
     Next, the policy applying unit  220  transmits the local policy execution result to the robot managing server  100 . 
     The embodiment of the present invention having the above-mentioned configuration operates as follows. 
       FIG. 4  is a drawing illustrating an operational flow of a policy-based robot managing method of managing a plurality of robots. 
     As shown in  FIG. 4 , if the policy generating unit  120  generates a wide area policy for controlling cooperation between the plurality of robots  200   a ,  200   b ,  200   c , . . . , and  200   z  connected by the network (S 400 ), the policy checking unit  130  compares the wide area policy newly generated by the policy generating unit  120  with the existing wide area policy (S 410 ). 
     At this time, the policy checking unit  130  checks whether a conflict between the newly generated wide area policy and the existing wide area policy occurs (S 420 ). If any conflicts between the newly generated wide area policy and the existing wide area policy do not occur, the policy checking unit  130  stores the newly generated wide area policy in the wide area policy storage unit  115  (S 430 ). 
     If a conflict between the newly generated wide area policy and the existing wide area policy occurs, the policy checking unit  130  informs conflict information to the policy generating unit  120 . In this case, the policy generating unit  120  returns to step ‘S 400 ’ to generate another new wide area policy. 
     If the checking of the policy checking unit  130  is completed, the policy converting unit  140  checks the profile information on robots  200  to which the newly generated wide area policy will be applied (S 440 ), and converts the newly generated wide area policy into commands that the individual robots  200  can execute, thereby generating local policies for the corresponding robots  200  (S 450 ). 
     Next, the communicating unit  150  transmits the local policies generated in Step S 450  to the corresponding robots, respectively (S 460 ). 
     Meanwhile, if receiving the local policy from the robot managing server  100 , each of the robots  200  stores the received local policy in the local policy storage unit  235  (S 470 ). 
     Further, the policy applying unit  220  of the corresponding robot  200  executes the command described in the local policy to control the operation of the corresponding robot  200  according to the local policy (S 480 ). Next, the corresponding robot  200  transmits the local policy execution result to the robot managing server  100  (S 490 ). 
     The robot managing server  100  manages the individual robots  200  on the basis of the local policy execution results received from the robots  200  (S 500 ). If there is a robot  200  that fails to execute the local policy, the policy converting unit  140  generates another local policy for the corresponding robot  200  and transmits the generated local policy to the corresponding robot  200 . 
     Although the exemplary embodiments of the present invention have been described above with reference to the accompanying drawings, they are used in a generic and descriptive sense only and not for purposes of limitation. It will be apparent to those skilled in the art that modifications and variations can be made in the present invention without deviating from the spirit or scope of the invention.