Abstract:
A robot system having a plurality of component units. The robot system includes a first storage device, and a second storage device. The robot system further includes a plurality of control devices, with a first component control device provided with the first component unit and a second component control device provided with the second component unit. The first component control device controls the first component unit and the second component control device controls the second component unit.

Description:
This is a continuation of application Ser. No. 09/483,778, filed Jan. 18, 2000, now U.S. Pat. No. 6,421,585 issued on Jan. 18, 2000. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to a robot apparatus, a body unit thereof, and a coupling unit thereof, and more particularly, is suitably applied to an autonomic robot 
     In recent years, autonomic robot apparatuses have been proposed that determine their movements based on instruction signals supplied from an external control device or surrounding image information input from a sensor attached at a predetermined position. Though such an autonomic robot apparatus receives an instruction signal from the control device or image information from the sensor, it vaguely moves in the beginning. Then, it gradually makes movements suitable for the input instruction signal and image information by repeating such movements. 
     That is, when the autonomic robot apparatus, receiving an instruction from the control device and image information from the sensor, vaguely moves, it sequentially stores in a internal storage means as learned data, the input instruction signal and image information as well as movement information indicating how it moves in response to these signal and information. Subsequently, when the autonomic robot apparatus makes a movement in response to the instruction signal the same as that previously received and stored in the storage means, it evaluates the past learned data stored in the storage means and the present learned data based on predetermined parameters. 
     As a result, if the autonomic robot apparatus determines that the present learned data has higher rating than the past learned data, it deletes the past learned data from the storage means and stores the present learned data. On the other hand, if the autonomic robot apparatus determines that the past learned data has higher rating than the present learned data, it discards the present learned data and keep the past learned data in the storage means. In this manner, by gradually writing learned data to the storage means to accumulate it therein, the autonomic robot apparatus acquires the capability of autonomically determining its movements depending on an externally provided command. In this case, the autonomic robot apparatus uses as a method of storing learned data, a centralized management method of storing the learned data in a single storage means for management. 
     Incidentally, some autonomic robot apparatuses are an integral type and do not require units to be removed, but those comprising a plurality of units have recently been designed. The robot apparatus comprising a plurality of units is constructed by, for example, connecting together a head unit corresponding to an animal&#39;s head, a body unit corresponding to the animal&#39;s body, and a manipulator unit corresponding to the animal&#39;s legs. 
     In fact, the robot apparatus comprising a plurality of units is constructed by combining desired units which are selected from a group of head units including a plurality of head units, a group of body units including a plurality of body units, and a group of manipulator units including a plurality of manipulator units. Then, if, for example, the head unit must be replaced with a new one, the robot apparatus can change the combination of units by selecting a desired one from the group of head units and replacing the currently connected head unit with the selected head unit selected from the group of head units. 
     By the way, in the robot apparatus comprising a plurality of units, in the case of using the centralized management method as the method of storing learned data, the learned data is stored in, for example, a storage means of the body unit for management. If such a robot apparatus has obtained sufficient learned data to behave autonomically and then, for example, the manipulator unit is replaced with another manipulator unit having a different function, it is impossible that the storage means of the body unit already stores such learned data as to allow the new replaced manipulator unit to sufficiently exhibit its function. In this case, the robot apparatus must newly obtain learned data for the new replaced manipulator unit from the beginning, thereby requiring a large amount of labor and time to obtain learned data. 
     OBJECTS OF THE INVENTION 
     In view of the foregoing, It is thus an object of the present invention to provide a robot apparatus that can substantially improve usability as compared with the prior art. 
     SUMMARY OF THE INVENTION 
     In order to attain the above objects, according to a first aspect of the present invention, there is provided a robot apparatus having a plurality of component units. The robot unit includes a control means for controlling the plurality of component units, a first component unit which is electrically connected to the control means, having a first unique information associated therewith concerning the first component unit, a second component unit having a second unique information associated therewith concerning the first component unit which replaces the first component, a storage means provided for storing the first unique information and the second unique information, means for generating new unique information based upon both the first unique information and the second unique information and means for writing the new unique information into the storage means. The robot apparatus further includes a plurality of component storage means, with a first component storage means provided with the first component and a second component storage means provided with the second component and wherein the first unique information is stored in the first component storage means and the second unique information is stored in the second component storage means and the new unique information is stored in the second component storage means. 
     The robot apparatus further includes a plurality of control means, with a first component control means provided with the first component and a second component control means provided with the second component wherein the first component control means controls the first component means and the second component control means controls the second component. The plurality of storage means are built into the respective ones of the component units and contain at least a sensor for measuring a predetermined physical amount and outputting the results of that measurement. The plurality of storage means also store the of the output information of the sensor as input information and a movement history of each the component. The plurality of storage means stores the movement history and input information as learned data with which the coupling units make unique movements in response to the input information. 
     The nature, principle and utility of the invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings in which like parts are designated by like reference numerals or characters. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which: 
     FIG. 1 is a schematic view showing one embodiment of a robot apparatus constructed in according with the present invention; 
     FIG. 2 is a schematic diagram showing a group of units for constructing the robot apparatus; 
     FIG. 3 a  is a block diagram showing a circuit configuration of a first embodiment of the robot apparatus; 
     FIG. 3 b  is a block diagram showing a circuit configuration of a second embodiment of the robot apparatus; 
     FIG. 4 is a flowchart showing a procedure for blending learned data; and 
     FIG. 5 is a flowchart showing a procedure for generating combination learned data. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The following is a detailed description of embodiments of the present invention with reference to the drawings. FIG. 1 is a schematic view showing a typical configuration of a robot apparatus. The pet robot  1  comprises a head portion  2 , a body portion  3 , leg portions  4 A- 4 D, and a tail portion  5 . These components are appropriately coupled into the form of a pet as desired. Head portion  2 , leg portions  4 A- 4 D and tail portion  5  are moved relative to body portion  3  so that the pet robot behaves like a genuine four-footed animal. The robot apparatus  1  manages learned data required to autonomically determine its movement, by distributing the learned data to the units. 
     Head portion  2  includes an image detecting unit  10 , corresponding to eyes of a live pet, and comprising, e.g., a CCD (Charge Coupled Device) camera for detecting an image. A microphone  11 , corresponding to an ear of a live pet, receives and hears various sounds, such as a voice. A speaker  12 , corresponding to a mouth of a live pet, generates a voice. Each of these components is attached to head portion  2  at respective predetermined positions. Head portion  2  further includes a remote controller command receiver  13  for receiving commands transmitted from a user via a remote controller (not shown). A touch sensor  14  is also provided for detecting the contact of a user&#39;s hand upon head portion  2 . 
     In a preferred embodiment, pet robot  1  is provided with both red and green LEDs, indicative of anger and pleasure, respectively. Body portion  3  includes a battery  21  attached to a position corresponding to the belly of a live pet. An electronic circuit (not shown) is installed within body portion  3  for controlling the operation of pet robot  1 . 
     Actuators  23 A- 23 N (some of which are not shown) are provided respectively at articulation joints of legs  4 A- 4 D, at joints between legs  4 A- 4 D and body portion  3 , at a joint between body portion  3  and head portion  2 , at a joint between body portion  3  and tail portion  5 , etc. Actuators  23 A- 23 N are driven under control of electronic circuit installed within body portion  3 . Pet robot  1  is able to move as a genuine four-footed animal by driving the actuators  23 A- 23 N in such a manner that head portion  2  swings vertically or horizontally, tail portion  5  wags, and legs  4 A- 4 D moves to make the pet robot walk or run, as desired. 
     The robot apparatus  1  is constituted by combining, for example, as shown in FIG. 2, the head unit  2 A selected from a group  2  of head units including head units  2 A,  2 B and  2 C as a coupling unit, the body unit  3 A selected from a group  3  of body units including body units  3 A and  3 B as a body unit, the manipulator unit  4 A selected from a group  4  of manipulator units including manipulator units  4 A,  4 B,  4 C and  4 D as a coupling unit. 
     In the robot apparatus  1  which is composed of the above selected units, if the manipulator unit  4 A must be replaced with a new one, the combination of units can be changed by selecting, for example, the manipulator unit  4 C from the manipulator unit group  4  and replacing the currently connected manipulator unit  4 A with it. 
     The manipulator unit  4 A has a function for trotting, and the manipulator unit  4 C has a function for grasping an object, so learned data obtained by each unit is comprised of such data as to exhibit its function. Thus, after replacing the manipulator unit  4 A with the manipulator unit  4 C, the robot apparatus  1  cannot allow the manipulator section  4 C to exhibit its function even by applying the learned data obtained by the manipulator unit  4 A to the manipulator unit  4 C. Therefore, the robot apparatus  1  is configured to manage learned data by distributing it to the units so that the new replaced unit can fully show its function after replacement. 
     FIG. 3 a  shows a circuit configuration of the robot apparatus  1 . When a user first makes a desired sound for a desired movement, the body unit  3  uses a microphone  17  to catch the sound and inputs a resulting audio signal S 1  to a signal processing section  18 . The signal processing section  18  applies predetermined data processing to the audio signal S 1  and resulting desired movement data S 2  to a body central processing unit (CPU)  19  acting as a movement control means. 
     The body unit  3  uses a sensor  5  comprising the charge coupled device (CCD) camera to convert surrounding conditions into body image data S 3 , and sends this data out to the body CPU  19  via a serial bus host controller  6  that control a bus. At this point, the head unit  2  sends out head image data S 10  obtained by a sensor  20  comprising the CCD camera  10 , to the body unit  3  via a hub  21  and to a head CPU  22 . The body unit  3  inputs the head image data S 10  to the CPU  19  via a hub  25  and a serial bus host controller  6  in this order. Likewise, the manipulator unit  4  sends out sensing data S 13  obtained by a st least one of sensors  28  including a CCD camera, a potention meter, and a pressure sensor or the like to the body unit  3  and to a manipulator CPU  30  via a hub  29 , and this data is sent to the body CPU  19  via the hub  25  and serial bus host controller  6  of the body unit  3  in this order. 
     In addition, the body CPU  19 , when receiving the desired movement data S 2 , first generates a drive signal S 15  for driving the entire robot apparatus  1 , and generates a body drive signal S 16  for driving the body unit  3 , based on the drive signal. The body CPU  19  then sends out the drive signal S 16  to an actuator  32  via the serial bus host controller  6  to drive the actuator  32 , and allows the body unit  3  to make a movement such as tail wagging. Concurrently, the body CPU  19  sends out the drive signal S 15  to the head unit  2  and manipulator unit  4  via the serial bus host controller  6  and the hub  25  in this order. 
     The head unit  2  inputs the drive signal S 15  supplied from the body unit  3 , to the head CPU  22  via the hub  21 . Based on the drive signal S 15 , the head CPU  22  generates a head drive signal S 17  for driving the head unit  2  and sends out this signal to an actuator  36  via the hub  21  to drive the actuator  36 , and allows the head unit  2  to make a movement. 
     Similarly, the manipulator unit  4  inputs the drive signal S 15  supplied from the body unit  3 , to the CPU  30  via the hub  29 . Based on the drive signal S 15 , the manipulator CPU  30  generates a manipulator drive signal S 18  for driving the manipulator unit  4  and sends out this signal to an actuator  41  via the hub  29  to drive the actuator  41 , and allows the manipulator unit  4  to make a movement. 
     In this case, the body CPU  19  of the body unit  3  stores in a body storage section  45  as learned data S 20 , the desired movement data S 2  input with the microphone  17 , the body image data S 3  input with the sensor  5 , and the body drive signal S 16  for driving the body unit  3 . Incidentally, the body CPU  19  is adapted to send out the desired movement data S 2  to the head unit  2  and manipulator unit  4  via the serial bus host controller  6  and the hub  25  in this order. 
     Thus, the head CPU  22  of the head unit  2 , receiving the desired movement data S 2  from the body unit  3 , stores in a head storage section  47  as learned data S 22 , the desired movement data S 2 , the head image data S 10  input with the sensor  20 , and the head drive signal S 17  for driving the head unit  2 . In addition, the manipulator CPU  30  of the manipulator unit  4 , receiving the desired movement data S 2  from the body unit  3 , stores in a manipulator storage section  49  as learned data S 24 , the desired movement data S 2 , the manipulator image data S 13  input with the sensor  28 , and the manipulator drive signal S 18  for driving the manipulator unit  4 . 
     The robot apparatus  1  sequentially repeats the above processing to store the learned data in the storage section  45 ,  47 , and  49  of each unit. Subsequently, if a movement is made in response to the desired movement data S 2  the same as that stored in the storage section, the past learned data S 20  stored in the storage section  45  and the new learned data S 20  each is evaluated based on a predetermined criterion. 
     As a result, if the body unit  3  determines that the present learned data S 20  has higher rating than the past learned data S 20 , it deletes the past learned data S 20  from the body storage means  45  and newly stores the present learned data S 20 . On the other hand, if the body unit  3  determines that the past learned data S 20  has higher rating than the present learned data S 20 , it discards the present learned data S 20  and keeps the past learned data S 20  in the body storage means  45 . 
     Similarly, the head unit  2  updates the learned data S 22  stored in the head storage section  47  to accumulate the learned data S 22 , while the manipulator unit  4  updates the learned data S 24  stored in the manipulator storage section  49  to accumulate the learned data S 24 . In this manner, the robot apparatus  1  gradually obtains learned data to acquire the capability of determining a movement suitable for an externally provided command, and uses as a method for managing the obtained learned data, object-oriented learning that manages data by distributing it to each unit. 
     The case will be described in which the manipulator units  4 A and  4 C (FIG. 2) storing therein learned data obtained by repeating the above processing generate new learned data based on both the learned data stored in the manipulator unit  4 A and the learned data stored in the manipulator unit  4 C (hereafter, this is referred to as “blending”) and then the blended learned data is stored in the manipulator unit  4 C. 
     When a user first connects the manipulator unit  4 A to the body unit  2 A, the manipulator CPU  30  of the manipulator unit  4 A reads out the learned data S 24  from the manipulator storage section  49  of the manipulator unit  4 A and transfers this data to the body storage section  45  for storage, via the hub  29 , the hub  25  and the serial bus host controller  6  of the body unit  3 A in this order. 
     Subsequently, the user removes the manipulator unit  4 A from the body unit  2 A and connects the manipulator unit  4 C to the body unit  2 A. In response to this, the manipulator CPU  30  of the manipulator unit  4 C reads out the learned data S 24  from the manipulator storage section  49  of the manipulator unit  4 C and transfers this data to the body storage section  45  for storage, via the hub  29 , the hub  25  and the serial bus host controller  6  of the body unit  3 A in this order. 
     The body CPU  19  as a learning data blending means of the body unit  3 A has inside a work area such as a memory and reads out the learned data of the manipulator unit  4 A and the learned data of the manipulator unit  4 C from the body storage section  45  to transfer these data to the work area. The body CPU  19  blends in this work area the learned data of the manipulator unit  4 A with the learned data of the manipulator unit  4 C to generate new learned data, that is, blended learned data. The generated blended learned data is sent out to the manipulator storage section  49  of the manipulator unit  4 C for storage via the serial bus controller  6 , the hub  25 , and the hub  29  of the manipulator unit  4 C in this order. 
     Thus, the manipulator unit  4 C can have not only the capability of behaving based on the learned data obtained by itself but also the capability of behaving based on the learned data obtained by the manipulator unit  4 A, thereby improving its own movement capability without the needs for learning processing. 
     Now, a data format of learned data will be described. For example, the learned data S 24  obtained by the manipulator unit  4  is comprised command data T indicating the desired movement data S 2  instructed by the user, a vector (g) indicating the condition of the manipulator image data S 13  input from the sensor  28 , and a vector (a) indicating the manipulator drive signal S 18  to be supplied to the actuator  41 . The learned data S 24  is represented by the vector T, the vector (g) and the vector (a). 
     Specifically, the command data T indicating the desired movement data S 2  indicates, for example, “forward,” “kick,” and “jump” or the like. The state vector (g) indicating the condition of the manipulator image data S 13  input from the sensor  28  is represented by the m-dimensional condition vector G m ={g(1), g(2), g(3), . . . , g(m)}, where (m) indicates the number of conditions of the manipulator image data S 13 , that is, the types of feature quantities. The movement vector (a) indicating the manipulator drive signal S 18  to be supplied to the actuator  41  is represented by the n-dimensional movement vector A n ={a(1), a(2), a(3), . . . , a(n)J, where (n) corresponds to the number of motors in the manipulator unit  4 . 
     Subsequently, the case will be described in which the learned data of the manipulator unit  4 A is represented by data T 1 , vector g 1 , vector a 1 , the learned data of the manipulator unit  4 B is represented by data T 2  vector g 2 , vector a 2 , and these data are blended together and stored in the manipulator unit  4 B. In this case, if the learned data (data T 1 , vector g 1 , vector a 1 ) is identical to the learned data (data T 2  vector g 2 , vector a 2 ), the body CPU  19  need not carry out the blending processing and stores either of them as blended learned data. 
     If the command data T 1  and the command data T 2  are identical and the state vector g 1  is different from the state vector g 2  and/or the movement vector a 1  is different from the movement vector a 2  the body CPU  19  of the body unit  3  evaluates each learned data based on an evaluation function which uses a time of duration and power consumption required for movement in response to a given command as parameters. Thus, the body CPU  19  selects as blended learned data the learned data that has higher rating, while discarding the learned data having lower rating. In the case where the command data T 1  is different from the command data T 2 , that is, their desired movements are different from each other, the CPU  12  of the body unit  3  stores both the learned data (data T 1 , vector g 1 , vector a 1  and the learned data (data T 2 , vector g 2 , vector a 2 ). 
     For example, in the case where the learned data “a movement of shoot” of the manipulator unit  4 A is blended with the learned data “a movement of pass” of the manipulator unit  4 B, the body CPU  19  of the body unit  3  generates the blended learned data “movements of shoot and pass”. In addition, in the case where the learned data “capability of navigation from point A to point B” of the head unit  4 A is blended with the learned data “capability of navigation from point B to point C” of the head unit  4 B, the body CPU  19  of the body unit  3  generates the blended learned data “capability of navigation from point A to point C.” In this manner, the body CPU  19  of the body unit  3  blends the learned data together to improve the capability of each unit. 
     Now, the reinforced learning processing will be described, which determines a combination of units suitable for a given desired movement and generates combination learned data. The user first provides a desired movement to the body unit  3 A and then, for example, couples the head unit  2 A, the body unit  3 A, and the manipulator unit  4 A together to construct the robot apparatus  1  (FIG.  1 ). 
     The head CPU  22  of the head unit  2 A reads out from the head storage section  47  identification information S 30  indicating the head unit  2 A and sends out this information to the body CPU  19  via the hub  21 , the hub  25  and the serial bus host controller  6  of the body unit  3 A. In addition, the manipulator CPU  30  of the manipulator unit  4 A reads out from the manipulator storage section  49  identification information S 31  indicating the manipulator unit  4 A and sends out this information to the body CPU  19  via the hub  29 , the hub  25  and the serial bus host controller  6  of the body unit  3 A. This information may contain any information which is common to all manipulator units or unique information which is specific to the manipulator, including but not limited to history, behavior, serial number, manufacturer, model number, company name, calibration information, capabilities, time information, etc. 
     The body CPU  19  of the body unit  3 A reads out from the body storage section  45  identification information S 35  indicating the body unit  3 A and stores the identification information S 35  for the body unit  3 A, the identification information S 30  for the head unit  2 A, and the identification information S 31  for the manipulator unit  4 A, in the body storage section  45  as coupling information indicating the current combination of units. Further, the body CPU  19  sets a desired movement based on the desired movement data S 2  to make a movement. 
     In this case, the body CPU  19  of the body unit  3 A determines whether the movement has been successfully made, with the set desired movement as a reference. As a result, if the body CPU  19  has made a positive determination, then it determines that the current combination of units is suited for the desired movement, and sends out the externally provided desired movement data S 2  to the body storage section  45  to store therein the desired movement data S 2  and the above combination information as combination learned data. 
     On the contrary, if the body CPU  19  determines that the movement has failed, it generates an execution result signal S 40  indicating the failure of the movement. Then, the body CPU  12  uses the signal processing section  11  to subject this signal to predetermined data processing and then sends the resultant out to a display section  50  as an output means comprising a liquid crystal display. The display section  50  shows the predetermined message “Task failed. Replace unit.” When the user replaces, for example, the manipulator unit  4 A in response to this display, the body CPU  12  of the body unit  3 A updates and stores the coupling information S 37  in the body storage section  45  and then makes the desired movement again. By repeating these processing, the robot apparatus can obtain combination learned data comprising a combination of units suitable for the desired movement provided by the user. 
     FIG. 3 b  shows a circuit configuration of a second embodiment of the robot apparatus  1 . Items which are numbered the same operate the same as in FIG. 3 a  and will not be discussed again. 
     The body unit  3  uses a sensor  5  comprising the charge coupled device (CCD) camera to convert surrounding conditions into body image data S 3 , and sends this data out to the body CPU  19  via a serial bus host controller  6  that control a bus. At this point, the head unit  2  sends out head image data S 10  obtained by a sensor  20  comprising the CCD camera  10 , to the body unit  3  via a hub  21 . The body unit  3  inputs the head image data S 10  to the CPU  19  via a hub  25  and a serial bus host controller  6  in this order. Likewise, the manipulator unit  4  sends out sensing data S 13  obtained by at least on of sensors  28  comprising a CCD camera, to the body unit  3  via a hub  29 , and this data is sent to the body CPU  19  via the hub  25  and serial bus host controller  6  of the body unit  3  in this order. 
     In addition, the body CPU  19 , when receiving the desired movement data S 2 , first generates a drive signal S 15  for driving the entire robot apparatus  1 , and generates a body drive signal S 16  for driving the body unit  3 , based on the drive signal. The body CPU  19  then sends out the drive signal S 16  to an actuator  32  via the serial bus host controller  6  to drive the actuator  32 , and allows the body unit  3  to make a movement such as tail wagging. Concurrently, the body CPU  19  sends out the drive signal S 15  to the head unit  2  and manipulator unit  4  via the serial bus host controller  6  and the hub  25  in this order. 
     The head unit  2  inputs the drive signal S 15  supplied from the body unit  3 , to the body CPU  19  via the hub  21 . Based on the drive signal S 15 , the body CPU  19  generates a head drive signal S 17  for driving the head unit  2  and sends out this signal to an actuator  36  via the hub  21  to drive the actuator  36 , and allows the head unit  2  to make a movement. 
     Similarly, the manipulator unit  4  inputs the drive signal S 15  supplied from the body unit  3 , to the body CPU  19  via the hub  29 . Based on the drive signal S 15 , the body CPU  19  generates a manipulator drive signal S 18  for driving the manipulator unit  4  and sends out this signal to an actuator  41  via the hub  29  to drive the actuator  41 , and allows the manipulator unit  4  to make a movement. 
     In this case, the body CPU  19  of the body unit  3  stores in a body storage section  45  as learned data S 20 , the desired movement data S 2  input with the microphone  17 , the body image data S 3  input with the sensor  5 , and the body drive signal S 16  for driving the body unit  3 . Incidentally, the body CPU  19  is adapted to send out the desired movement data S 2  to the head unit  2  and manipulator unit  4  via the serial bus host controller  6  and the hub  25  in this order. 
     Thus, the body CPU  19 , receiving the desired movement data S 2  from the body unit  3 , stores in a head storage section  47  as learned data S 22 , the desired movement data S 2 , the head image data S 10  input with the sensor  20 , and the head drive signal S 17  for driving the head unit  2 . In addition, the body CPU  19 , receiving the desired movement data S 2  from the body unit  3 , stores in a manipulator storage section  47  as learned data S 24 , the desired movement data S 2 , the manipulator image data S 13  input with the sensor  28 , and the manipulator drive signal S 18  for driving the manipulator unit  4 . 
     The robot apparatus  1  sequentially repeats the above processing to store the learned data in the storage sections  45 ,  47  and  49 . Subsequently, if a movement is made in response to the desired movement data S 2  the same as that stored in the storage section, the past learned data S 20  stored in the storage section  45  and the new learned data S 20  each is evaluated based on a predetermined criterion. 
     As a result, if the body unit  3  determines that the present learned data S 20  has higher rating than the past learned data S 20 , it deletes the past learned data S 20  from the body storage means  45  and newly stores the present learned data S 20 . On the other hand, if the body unit  3  determines that the past learned data S 20  has higher rating than the present learned data S 20 , it discards the present learned data S 20  and keeps the past learned data S 20  in the body storage means  45 . 
     Similarly, the head unit  2  updates the learned data S 22  stored in the head storage section  47  to accumulate the learned data S 22 , while the manipulator unit  4  updates the learned data S 24  stored in the manipulator storage section  49  to accumulate the learned data S 24 . In this manner, the robot apparatus  1  gradually obtains learned data to acquire the capability of determining a movement suitable for an externally provided command, and uses as a method for managing the obtained learned data, object-oriented learning that manages data by distributing it to each unit. 
     The case will be described in which the manipulator units  4 A and  4 C (FIG. 2) storing therein learned data obtained by repeating the above processing generate new learned data based on both the learned data stored in the manipulator unit  4 A and the learned data stored in the manipulator unit  4 C (hereafter, this is referred to as “blending”) and then the blended learned data is stored in the manipulator unit  4 C. 
     When a user first connects the manipulator unit  4 A to the body unit  2 A, the body CPU  19  of the manipulator unit  4 A reads out the learned data S 24  from the manipulator storage section  49  of the manipulator unit  4 A and transfers this data to the body storage section  45  for storage, via the hub  29 , the hub  25  and the serial bus host controller  6  of the body unit  3 A in this order. 
     Subsequently, the user removes the manipulator unit  4 A from the body unit  2 A and connects the manipulator unit  4 C to the body unit  2 A. In response to this, the body CPU  19  reads out the learned data S 24  from the manipulator storage section  49  and transfers this data to the body storage section  45  for storage, via the hub  29 , the hub  25  and the serial bus host controller  6  of the body unit  3 A in this order. 
     The body CPU  19  as a learning data blending means of the body unit  3 A has inside a work area such as a memory and reads out the learned data of the manipulator unit  4 A and the learned data of the manipulator unit  4 C from the body storage section  45  to transfer these data to the work area. The body CPU  19  blends in this work area the learned data of the manipulator unit  4 A with the learned data of the manipulator unit  4 C to generate new learned data, that is, blended learned data. The generated blended learned data is sent out to the manipulator storage section  49  for storage via the serial bus controller  6 , the hub  25 , and the hub  29  in that order. 
     Thus, the manipulator unit  4 C can have not only the capability of behaving based on the learned data obtained by itself but also the capability of behaving based on the learned data obtained by the manipulator unit  4 A, thereby improving its own movement capability without the needs for learning processing. 
     Next, a learning-data blending processing procedure, for example, a procedure for blending the learned data S 24  of the manipulator unit  4 A (FIG. 2) with the learned data S 24  of the manipulator unit  4 B (FIG. 2) will be described using the flowchart shown in FIG.  4 . Incidentally, the following description is applicable to procedures for blending together the learned data of other units together, so the description of these procedures is omitted. 
     First, in step SP 2  following SP 1 , when the manipulator unit  4 A is coupled to the body unit  3 A, the body CPU  19  of the body unit  3 A reads out the learned data S 24  from the manipulator storage section  49  of the manipulator unit  4 A via the hub  2 S and transfers this data to the body storage section  45 . 
     In step SP 3 , upon recognizing that the user has removed the manipulator section  4 A from the body unit  3 A and the manipulator unit  4 B is newly attached on the body unit  3 A for replacement, the body CPU  19  proceeds to the next step SP 4 . In step SP 4 , the body CPU  19  of the body unit  3 A reads out the learned data S 24  from the manipulator storage section  49  of the newly attached manipulator unit  4 B, transfers this data to the body storage section  45 , and then blends the learned data of the manipulator unit  4 A and the learned data of the manipulator unit  4 B to generate blended learned data, which is then stored in the body storage section  45 . 
     In the subsequent step SP 5 , the CPU  12  of the body unit  3 A sends out the generated blended learned data to the manipulator storage section  49  of the manipulator unit  4 B, which is then overwritten with this data for storage. In step SP 6 , the body CPU  19  of the body unit  3 A deletes the blended learned data stored in the body storage section  45  and then returns to step SP 1  to repeat the processing. 
     Next, a procedure for generating combination learned data will be explained with reference to the flowchart shown in FIG.  5 . In step SP 11  following step SP 10 , the desired movement data S 2  is provided from the external to the main CPU  19  of the body unit  3 A. In step SP 12 , desired units, for example, the head unit  2 A and the manipulator unit  4 A are coupled together. Then, the body CPU  19  stores in the body storage section  45  coupling information indicating the current combination of units and then sets a desired movement based on the desired movement data S 2  to execute a task corresponding to the desired movement. 
     In step SP 13 , the body CPU  19  of the body unit  3 A determines whether the task has been successfully executed, with the set desired movement as a reference. As a result, when the body CPU  19  of the body unit  3 A has made a positive determination, the processing proceeds to step SP 14 , whereas when it has determined that the task has failed, the processing proceeds to step SP 15 . 
     In step SP 14 , the body CPU  19  of the body unit  3 A determines that the current combination of units is suited for the provided desired movement, and stores in the body storage section  45  the desired movement and the above combination information as combination learned data. On the contrary, in step SP 15  the body CPU  19  of the body unit  3 A displays a predetermined message on the display section  50  to prompt the user to replace the unit with a new one. When the user replaces the unit in response to the message on the display section  50 , the body CPU  19  returns to step SP 12  to repeat the above processing. 
     With the above configuration, the robot apparatus  1  previously obtains learned data required to autonomically determine a movement corresponding to a command from a user or surrounding conditions, and manages the obtained learned data by distributing it to the storage sections of the units. Thus, when a unit is replaced with a new one, the learned data obtained by the unit to be replaced can be blended with the learned data obtained by the new unit to obviate the need to obtain learned data corresponding to the learned data obtained by the former unit from the beginning, thereby reducing the labor and time required to obtain learned data. 
     In addition, the robot apparatus  1  previously obtains combination learned data indicating a combination of units suitable for performing a desired movement provided by the user, and when the user specifies a movement, it notifies the user of a combination suitable for the movement, thereby enabling the user to easily determine a combination of units suited to make the desired movement. 
     With the above configuration, by previously obtaining learned data required to autonomically determine a movement in accordance with to externally provided information, and managing the obtained learned data by distributing it to each unit, the learned data obtained by a unit to be replaced can be blended with the learned data obtained by the new unit to reduce the labor and time required to obtain learned data, thereby realizing the robot apparatus  1  with improved usability. 
     In addition, by previously obtaining learned data required to autonomically determine a movement in accordance with an instruction provided by a user, and when the user provides an instruction, the user is informed of a combination corresponding to it. Therefore, the user can easily determine a combination of units suited to make the desired movement, thereby realizing the robot apparatus  1  with improved usability. 
     Note that, in the aforementioned embodiment, the blended learned data stored in body storage section  45  is deleted in step SP 6  of the learned data blending processing procedure shown in FIG.  4 . However, the present invention is not limited thereto and the blended learned data can be stored and held rather than being deleted. 
     In addition, in the aforementioned embodiment, the combination learned data is stored in the body storage section  45  of the body unit  3 . However, the present invention is not limited thereto and the combination learned data can be managed by distributing and storing it in the body storage section  45  of the body unit  3 , the head storage section  47  of the head unit  2 , and the manipulator storage section  49  of the manipulator unit  4 . 
     In addition, in the aforementioned embodiment, the desired movement is set based on the externally supplied desired movement data S 2 . However, the present invention is not limited thereto and the robot apparatus can set a desired movement by itself based on the body image data S 3  supplied from the sensor  15  or various other data. 
     In addition, in the aforementioned embodiment, the desired movement provided by the user and the combination of units suitable for the desired movement are stored in the body storage section  45  as combination learned data. However, the present invention is not limited thereto and the body storage section  45  can store data of combinations unsuitable for the desired movement as well as the desired movement and the combination of units suitable for the desired movement. 
     In addition, in the aforementioned embodiment, the learned data includes the externally provided desired movement data S 2 , the image data input with the sensor, and the drive signal for driving the unit. The present invention, however, is not limited thereto and, in short, the learned data can include externally input information and the movement history of the coupling units in response to the input information. 
     Furthermore, in the aforementioned embodiment, the present invention is applied to the robot apparatus  1  constituted by coupling together the head unit  2 , the body unit  3 , and the manipulator unit  4 . The present invention, however, is not limited thereto and is applicable to a robot apparatus constituted by coupling a body unit and a manipulator unit together or combining various other coupling units together. 
     As described above, in the present invention, input information and the movement history of coupling units in response to the input information are stored in a storage means as learned data instead of the input information and the movement history of the entire robot apparatus in response to the input information. Thus, even if a coupling unit is replaced with a new one, the learned data of the new coupling unit can be used as it is to determine a movement of the coupling unit, thereby providing a robot apparatus that can substantially improve usability as compared with the prior art. 
     Further, in the present invention, the combination of coupling units and the movement history of a movement control means based on the input information are stored in a storage means as combination learned data, and the combination learned data is read out from the storage means as required and outputs it to the external via an output means. Consequently, the user can easily determine a combination suitable for making a desired movement, so the present invention can provide a robot apparatus that can substantially improve usability compared to the prior art. 
     While there has been described in connection with the preferred embodiments of the invention, it will be obvious to those skilled in the art that various changes and modifications may be aimed, therefore, to cover in the appended claims all such changes and modifications as fall within the true spirit and scope of the invention. 
     Having now fully described the invention, it will be apparent to one of ordinary skill in the art that many changes and modifications can be made thereto without departing from the spirit and scope of the invention as set forth herein.