Robot device, robot device action control method, external force detecting device and external force detecting method6754560Abstract A robot is proposed which has a speech recognition unit to detect information supplied simultaneously with or just before or after detection of a touch by a touch sensor, an associative memory/recall memory to store action made correspondingly to the touch and input information (speech signal) detected by the speech recognition unit in association with each other, and an action generator to control the robot to make action recalled by the associative memory/recall memory based on a newly acquired input information (speech signal). The robot has also a sensor data processor to allow the robot to act correspondingly to the touch detection by the touch sensor. Thus, the robot can learn action in association with an input signal such as speech signal. Claims What is claimed is: Description TECHNICAL FIELD
First step: Propagation
Second step: Creation. In this step, an agent creases a new word and
associates it with a new feature.
Third step: Self-organization. In this step, the system organizes itself
through sorting and selection.
More specifically, the language game includes a first step for a so-called image processing, a second step for a word related with language processing (actually, however, no speech is recognized but so-called character is entered), and a third step in which an image acquired in the first step (step 1) is associated with the word. The aforementioned discrimination game has no part equivalent to the second step but it is applied only to a differentiation effected in an existing feature space. Also, the "Language Acquisition with A Conceptual Structure-Based Speech Input from Perceptual Information" (by Iwasaki and Tamura, Sony Computer Science Laboratory) (will be referred to as "Document 4" hereunder) discloses an acquisition of a grammar using HMM for the speech recognition and a typical pattern (in circular, triangular or other shapes, and red, blue and other colors) in which an image is displayed in colors on a computer monitor for the image recognition. In the Document 4, the user simultaneously clicks a pointing device or mouse (with a pointer 212 pointed) on a pattern (an object) on a monitor 210 as shown in FIG. 4, and utters "red circle" or the like. The discrimination game theory for color images and speech recognition for HMM are used to effect the first to third steps probabilistically in the language game in the Document 3. For generation of a new class, a predetermined method for verification is effected. In the method disclosed in the Document 4, when it is judged that a new class should be generated by the verification using HMM for the speech recognition, the HMM is subdivided to generate the new class. Further, a pattern 211 (first object (Obj 1) selected by pointing the cursor thereto and clicking the mouse is moved onto a second object (Obj2) 213 as indicated with an arrow in FIG. 4, and at the same time, an uttered speech "mount" is supplied to recognize a movement of a pattern, made on the monitor 210. The movement thus recognized is classified by HMM. As in the foregoing, a variety of techniques for knowledge or language acquisition has been proposed. However, these techniques are not advantageous as in the following concerning the aspect of action acquisition (action learning) in the robot. (1) Evaluation of distance in feature space and belongingness to a class, of input signal (2) Creation and evaluation of action (3) Sharing of target object between robot and user. So-called target object sharing The above problem (1) is difficult to solve since evaluation of the belongingness of an input image signal to a class is influenced only by information related to the image signal, sound signal supplied at the same time or by stored information recalled based on the two signal. Note that a belongingness-to-class evaluation is an index for a class to which of classes an input signal belongs. Assume here that there has been entered an image signal considered very near to image signals in an existing class in the feature space. In this case, classes A and B are near to each other in the image feature space as shown in FIG. 5A. However, it is assumed that the image signal thus entered is intended to generate a new class. On the other hand, if there is made under these conditions a judgment that a speech signal has been entered as other information on an object corresponding to the image signal and the input speech signal is very far from the existing classes, a new class for the speech signal will be generated for the object. So, it is assumed for example that as shown in FIG. 5B, a class of sound .alpha. (sound class corresponding to the class of image A) and a class of sound .beta. (sound class corresponding to the class of image B) are mapped differently in the sound feature space and so a threshold S.sub.2 can be set. Therefore, if the belongingness-to-class evaluation of a sound, made based on the feature space, can reflect the belongingness-to-class evaluation of an image, it is possible to generate a new class for the image. For example, by reflecting the belongingness-to-class evaluation in the sound feature space, there can be set a threshold S.sub.1 between the classes of images A and B near to each other to differentiate between the classes as shown in FIG. 5A. That is, by making reference to any other belongingness-to-class evaluation, belongingness to a class can be effected more appropriately. However, if classes of image signal or speech signal are very near to each other, the above is not sufficient to generate a new class for the image or speech. It means that when image classes or sound classes are near to each other in their respective feature space as shown in FIGS. 6A and 6B, they cannot be differentiated between them even if they have quite different features from each other as viewed from a third feature space. The third feature space may be indicative of a feature of action. Accordingly, the present invention has an object to overcome the above-mentioned drawbacks of the prior art by providing a robot apparatus and a method for controlling the action of the robot apparatus, adapted to appropriately differentiate objects in their respective feature spaces. The above problem (2) is to generate, when a signal to be judged to belong to a new class is supplied to the robot apparatus, new action of the robot apparatus and to evaluate the new action. With the conventional technique, evaluation of a language creation corresponds to evaluation of generated action. With the technique disclosed in the Document 3, an arbitrary phoneme sequences is generated. It will be a name or the like of an object contained in an input signal, maybe, an image signal. However, any arbitrary motion series should not be generated to generate action. For example, even if there is generated an arbitrary series of each joint angle of the robot apparatus having four legs having a 3 degree of freedom for example, the robot apparatus will not make any meaningful motion. When a language is generated, the phoneme sequences of the language will only be a name of the object. However, it will be a problem how to evaluate generated action, good or not good. Also the present invention has another object to overcome the above-mentioned drawbacks of the prior art by providing a robot apparatus and a method for controlling the action of the robot apparatus, adapted to generate appropriate action for an input. The above-mentioned problem (3) is the so-called target object sharing (shared attention). This problem is caused by the fact that information perceived by the robot apparatus is very variable. For example, even when the user or trainer tries to teach the robot apparatus by holding an orange ball in a direction not towards the image signal input unit (e.g., CCD camera) of the robot apparatus and uttering "orange ball", if an object within the field of view of the robot apparatus is a pink box, the "pink" box will be associated with the speech "orange ball". In the Document 4, the pattern 211 on the monitor 210 is designated as a target object by pointing the cursor to the pattern 211 and clicking the mouse. Actually, however, there is not available any means for pointing or designating such a target object. Even in case the theories disclosed in the Documents 2 and 3 are applied to the robot apparatus, the trainer or user of the robot apparatus will select at random one of some things in his or her field of view and utter the name of the thus-selected thing based on his memory to direct the robot apparatus's attention towards the selected thing as a target object to be recognized by the robot apparatus. Actually, however, this is not any learning by which the robot apparatus can recognize the target object. Also the present invention has another object to overcome the above-mentioned drawbacks of the prior art by providing a robot apparatus and a method for controlling the action of the robot apparatus, adapted to share a target object (attention sharing) in order to appropriately recognize the target object. The conventional robot apparatus detects an external force applied to the head or the other thereof via a touch sensor or the like provided at the head, thereby interacting with the user. However, the interaction will be limited by the number of sensors provided and location of the latter. DISCLOSURE OF THE INVENTION Accordingly, the present invention has an object to overcome the above-mentioned drawbacks of the prior art by providing a robot apparatus, external force detector and a method for detecting an external force, capable of assuring a higher degree of freedom in interaction with a touch (external force) by the user. The present invention has another object to provide a robot apparatus and a method for controlling the action of the robot apparatus capable of appropriately recognizing each object in its feature space. The present invention has another object to provide a robot apparatus and a method for controlling the action of the robot apparatus, capable of generating appropriate action in response to an input. The present invention has another object to provide a robot apparatus and a method for controlling the action of the robot apparatus, capable of sharing a target object (attention sharing) to appropriately recognize the target object. The present invention has another object to provide a robot apparatus, external force detector and a method for detecting external force, capable of assuring a higher degree of freedom in interaction with a touch (external force) by the user. The above object can be attained by providing a robot apparatus including: means for detecting a touch; means for detecting information supplied simultaneously with, just before or after the touch detection by the touch detecting means; means for storing action made correspondingly to the touch detection in association with the input information detected by the input information detecting means; and means for recalling action from information in the storing means based on a newly acquired information to control the robot apparatus to do the action. In the above robot apparatus, information supplied just before or after the touch detection by the touch detecting means is detected by the input information detecting means, action made in response to the touch and input information detected by the input information detecting means are stored in association with each other into the storing means, and action is recalled by the action controlling means from information in the storing means based on a newly acquired input information to control the robot apparatus to do the action. Thus, in the above robot apparatus, input information and action made when the input information has been detected are stored in association with each other, and when information identical to the input information is supplied again, corresponding action is reproduced. Also the above object can be attained by providing a method for controlling the action of a robot apparatus, including the steps of: detecting a touch made to the robot apparatus; detecting information supplied simultaneously with or just before or after the touch detection in the touch detecting step; storing action made in response to the touch detection in the touch detecting step and input information detected in the input information detecting step in association with each other into a storing means; and recalling action from the information in the storing means based on newly acquired input information to control the robot to do the action. In the above robot apparatus action controlling method, input information and action made when the input information has been detected are stored in association with each other, and when information identical to the input information is supplied again, corresponding action is reproduced. Also the above object can be attained by providing a robot apparatus including: means for detecting input information; means for storing the input information detected by the input information detecting means and action result information indicative of a result of action made correspondingly to the input information detected by the input information detecting means; and means for identifying action result information in the storing means based on a newly supplied input information to control the robot apparatus to do action based on the action result information. In the above robot apparatus, action result information indicative of a result of action made correspondingly to the input information detected by the input information detecting means and the input information are stored in association with each other into the storing means, and action result information in the storing means is identified based on a newly supplied input information to control the robot apparatus to do action based on the action result information. Thus in the above robot apparatus, input information and action result information indicative of action made correspondingly to the input information are stored in association with each other, and when identical information is supplied again, past action is recalled based on the action result information corresponding to the input information to control the robot apparatus to do appropriate action. Also the above object can be attained by providing a method for controlling the action of a robot apparatus, including the steps of: storing action result information indicative of a result of action made correspondingly to input information detected by an input information detecting means and the input information itself in association with each other into a storing means; and identifying action result information in the storing means based on newly supplied input information to control the robot apparatus to make action based on the action result information. By the above robot apparatus action controlling method, the robot apparatus stores input information and action result information indicative of a result of action made based on the input information in association with each other, and when identical input information is supplied again, past action is recalled based on action result information corresponding to the input information to control the robot apparatus to do appropriate action. Also the above object can be attained by providing a robot apparatus including: means for detecting input information; means for detecting a feature of the input information detected by the input information detecting means; means for classifying the input information based on the detected feature; means for controlling the robot apparatus to do action based on the input information; and means for changing the classification of the input information having caused the robot apparatus to do the action based on action result information indicative of a result of the action made by the robot apparatus under the control of the action controlling means. In the above robot apparatus, a feature of input information detected by the input information detecting means is detected by the feature detecting means, the input information is classified based on the detected feature, the robot apparatus is controlled by the action controlling means to act based on the classification of the input information, and the classification of the input information, having caused the robot apparatus action, is changed based on action result information indicative of a result of the action made by the robot apparatus under the control of the action controlling means. Thus the above robot apparatus acts correspondingly to the classification of input information and changes the classification based on a result of the action. Also the above object can be attained by providing a method for controlling the action of a robot apparatus, including the steps of: detecting a feature of input information detected by an input information detecting means; classifying the input information based on the feature detected in the feature detecting step; controlling the robot apparatus to act based on the classification of the input information, made in the information classifying step; and changing the classification of the input information having caused the robot apparatus to do the action based on action result information indicative of a result of the action made by the robot apparatus controlled in the action controlling step. By the above robot apparatus action controlling method, the robot apparatus is controlled to act correspondingly to the classification of input information and changes the classification based on a result of the action. Also, the above object can be attained by providing a robot apparatus including: means for identifying a target object; means for storing information on the target object identified by the target object identifying means; and means for controlling the robot apparatus to act based on information on a newly detected object and information on the target object, stored in the storing means. The above robot apparatus stores information on a target object identified by the target object identifying means into the storing means, and is controlled by the action controlling means to act based on the information on the newly detected object and information on the target object, stored in the storing means. Thus the above robot apparatus stores a target object, and when information on an identical object is supplied again, the robot apparatus makes predetermined action. Also, the above object can be attained by providing a method for controlling the action of a robot apparatus, including the steps of: identifying a target object; storing information on the target object identified in the target object identifying step into a storing means; and controlling the robot apparatus to act based on information on a newly detected object and information on the target object, stored in the storing means. By the above robot apparatus action controlling means, the robot apparatus stores a target object, and when an identical object is supplied again, the robot apparatus makes predetermined action. Also the above object can be attained by providing a robot apparatus including: moving members, joints to move the moving members, detecting means for detecting the state of the joint to which an external force is applied via the moving member; and means for learning the joint state detected by the detecting means and external force in association with each other. In the above robot apparatus, the state of the joint to which an external force is applied via the moving member can be detected by the detecting means and the joint state detected by the detecting means and external force are learned in association with each other by the learning means. That is, the robot apparatus learns an external force in association with a joint state which varies correspondingly to the external force acting on the moving member. Also, the above object can be attained by providing an external force detector including: means for detecting the state of a joint which moves a moving member; and means for detecting an external force acting on the moving member based on the joint state detected by the joint state detecting means. In the above external force detector, the state of the joint which moves the moving member is detected by the joint state detecting means and the external force acting on the moving member is detected based on the joint state detected by the joint state detecting means. Namely, the external force detector detects an external force acting on the moving member based on the state of a joint which moves the moving member. Also, the above object can be attained by providing a method for detecting an external force, including the steps of: detecting the state of a joint which moves a moving member; detecting an external force acting on the moving member based on the detected joint state; and detecting the external force acting on the moving member based on the state of the joint which moves the moving member. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 show a feature space for detection of a feature of an input signal. FIG. 2 is a block diagram of a learning system including recognition classes for image and sound information. FIGS. 3A and 3B explain the generation of a new recognition class. FIG. 4 explains the language acquisition with a conceptual structure-based speech input from perceptual information (as in Document 4 by Iwahashi et al). FIGS. 5A and 5B explain the relation between an image feature space and sound feature space. FIGS. 6A to 6C explain the relation between an image feature space, sound feature space and third feature space. FIG. 7 is a perspective view of a robot apparatus according to the present invention. FIG. 8 is a block diagram of the circuit configuration of the robot apparatus in FIG. 7. FIG. 9 is a block diagram of the software configuration of the robot apparatus in FIG. 7. FIG. 10 is a block diagram of a middleware layer in the software configuration in the robot apparatus in FIG. 7. FIG. 11 is a block diagram of an application layer in the software configuration in the robot apparatus in FIG. 7. FIG. 12 is a block diagram of action model library in the application layer in FIG. 11. FIG. 13 explains an finite probabilistic automaton being information for determination of action of the robot apparatus. FIG. 14 shows a state transition table prepared in each node in the finite probabilistic automaton. FIG. 15 is a block diagram of a part, according to the present invention, of the robot apparatus in FIG. 7. FIGS. 16A and 16B explain a teaching of a motion to the robot apparatus. FIGS. 17A and 17B show a discrimination unit which teaches a motion to the robot apparatus. FIG. 18 is a block diagram of discriminators for learning a motion. FIG. 19 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus is in standing position. FIG. 20 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in standing position is pushed forward at the back thereof. FIG. 21 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in standing position is pushed backward at the back thereof. FIG. 22 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in standing position is pushed upward at the neck thereof. FIG. 23 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in standing position is pushed downward at the neck thereof. FIG. 24 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in sitting position is pushed upward at the neck thereof. FIG. 25 is a characteristic curve of pulse widths used in the motion learning, showing pulse widths which are when the robot apparatus in sitting position is pushed downward at the neck thereof. FIG. 26 is a block diagram of a pleasantness/unpleasantness judgment unit in the robot device. FIG. 27 explains a neural network. FIG. 28 is a block diagram of a configuration of the robot apparatus according to the present invention, destined for learning an external force. FIG. 29 shows a three-layer back-propagation neural network. FIG. 30 shows a system of neurons in each layer in the three-layer back-propagation neural network. FIG. 31 is a characteristic curve of sigmoid function. FIG. 32 is a characteristic curve of the relation between number of times of learning and mean error. FIG. 33 is a detailed block diagram of the speech recognition unit in the robot apparatus. FIG. 34 is a block diagram of an associative memory/recall memory and action generator in the robot apparatus. FIG. 35 is a block diagram of the associative memory/recall memory used in the robot apparatus. FIG. 36 is a detailed block diagram of a sensor data processor in the robot apparatus. FIGS. 37A to 37E explains a shared learning for recognition of a target object by pointing the finger. FIG. 38 is a schematic block diagram of the associative memory system. FIG. 39 shows an example of a competitive learning neural network of a two-layer hierarchical type used in the associative memory system in FIG. 38. FIG. 40 shows an example of the variation, due to an epoch, of an association between an input neuron activated by an input pattern and a one not activated, and a neuron in the competitive layer. FIG. 41 shows a contents tree of hierarchical action decision system used for testing the action deciding operation of the robot apparatus. FIG. 42 shows time changes of Hunger and Sleepy included in the instincts in the first operation test. FIG. 43 shows time changes of Activity, Pleasantness and Certainty included in the emotions in the first operation test. FIG. 44 shows time changes of Sleep and Eat as motivations in the first operation test. FIG. 45 shows time changes of the instincts in the second operation test. FIG. 46 shows time changes of the emotions in the second operation test. FIG. 47 shows time changes of a release mechanism (RM) in the second operation test. BEST MODE FOR CARRYING OUT THE INVENTION The best mode for carrying out the present invention will be described in detail with reference to the accompanying drawings. The best mode concerns an autonomous robot apparatus which autonomously behaves correspondingly to its surrounding environment (external factor) or internal state (internal factor). First the construction of the robot apparatus will be described, and then the applications of the present invention to the robot apparatus will be described in detail. (1) Construction of the Robot Apparatus According to the Present Invention As shown in FIG. 7, the robot apparatus (will be referred to simply as "robot" hereunder) is generally indicated with a reference 1. It is a pet robot shaped in the similitude of a "dog". As shown, the robot 1 includes a body unit 2, leg units 3A to 3D joined to the front right and left and rear right and left, respectively, of the body unit 2, and a head unit 4 and tail unit 5 joined to the front and rear ends, respectively, of the body unit 2. As shown in FIG. 8, the body unit 2 houses a CPU (central processing unit) 10, DRAM (dynamic random-access memory) 11, flash ROM (read-only memory) 12, PC (personal computer) card interface circuit 13 and a signal processing circuit 14, all connected to each other via an internal bus 15 to form a controller 16, and further a battery 17 to supply a power to the robot 1. Further the body unit 2 houses an angular velocity sensor 18 and acceleration sensor 19, to detect the orientation and acceleration of the robot 1, etc. The head unit 4 houses a CCD (charge coupled device) camera 20 to image the environment surrounding the robot 1, a touch sensor 21 to detect a pressure given to the robot 1 as physical action such as "patting" or "hitting" by the user, a distance sensor 22 to measure a distance to an object existing before the robot 1, a microphone 23 to collect external sounds, a speaker 24 to output a sound such as barking, LEDs (light emitting diode) (not shown) as "eyes" of the robot 1, and so on, disposed in place, respectively. Further, actuators 25.sub.1 to 25.sub.n and potentiometers 26.sub.1 to 26.sub.n are disposed in joints of the leg units 3A to 3D, articulations between the leg units 3A to 3D and body unit 2, an articulation between the head unit 4 and body unit 2, and in an articulation between a tail 5A and tail unit 5, respectively. The numbers of actuators and potentiometers used in each joint and articulation depend upon the degree of freedom of the actuator and potentiometer. For example, each of the actuators 25.sub.1 to 25.sub.n uses a servo motor. As the servo motor is driven, the leg units 3A to 3D are controlled to shift to a target posture or motion. Each of the angular velocity sensor 18, acceleration sensor 19, touch sensor 21, distance sensor 22, microphone 23, speaker 24, LEDs, actuators 25.sub.1 to 25.sub.n, and potentiometers 26.sub.1 to 26.sub.n is connected to the signal processing circuit 14 of the controller 16 via a corresponding one of hubs 27.sub.1 to 27.sub.n, and CCD camera 20 and battery 17 are connected directly to the signal processing circuit 14. Note that signals from the angular velocity sensor 18, acceleration sensor 19 and potentiometers 26.sub.1 to 26.sub.n are used in learning of the motion (action) as will further be described later. The signal processing circuit 14 sequentially acquires data supplied from each of the above sensors (will be referred to as "sensor data" hereinunder), image data and speech data, and stores each of them into place in the DRAM 11 via the internal bus 15. Also the signal processing circuit 14 sequentially acquires data supplied from the battery 17 and indicating the remaining potential in the battery 17, and stores each of them into place in the DRAM 11. Based on each of the sensor data, image data, speech data and remaining battery potential data thus stored in the DRAM 11, the CPU 10 will control the action of the robot 1. Actually, after the power is initially supplied to the robot 1, the CPU 10 reads a control program from a memory card 28 set in a PC card slot (not shown) in the body unit 2 or flash ROM 12 via the PC card interface circuit 13 or directly, and stores it into the DRAM 11. Also, the CPU 10 determines the internal state of the robot 1, environment surrounding the robot 1, the existence of an instruction or action from the user, etc. based on the sensor data, image data, speech data, remaining battery potential data sequentially stored from the signal processing circuit 14 into the DRAM 11 as in the above. Further, the CPU 10 decides next action based on the determination result and the control program stored in the DRAM 11, and drives the necessary ones of the actuators 25.sub.1 to 25.sub.n for the next action on the basis of the result of determination to thereby shake or nod the head unit 4, wag the tail SA of the tail unit 5 or drive the leg units 3A to 3D for walking. Also at this time, the CPU 10 generates speech data as necessary, and supplies it as speech signals to the speaker 24 via the signal processing circuit 14, thereby outputting a voice or speech created from the speech signals, turning on or off or flickering the LEDs. Thus, the robot 1 autonomously behaves correspondingly to its internal state or surrounding environment, or an instruction or action from the user. (2) Software Structure of the Control Program The above control program for the robot 1 has a software structure as shown in FIG. 9. As shown, a device driver layer 30 is positioned in the lowest layer of the control program, and consists of a device driver set 31 including a plurality of device drivers. In this case, each device driver is an object allowed to make a direct access to the CCD camera 20 (see FIG. 8) and an ordinary hardware used in a computer such as a timer, and works with an interruption from an appropriate hardware. As shown in FIG. 9, a robotic server object 32 is also positioned in the lowest layer of the device driver layer 30. This object 32 consists of, for example, a virtual robot 33 including a software group which provides an interface for access to hardware such as the above-mentioned various sensors, actuators 25.sub.1 to 25.sub.n, etc., a power manager 34 including a software group which manages power switching etc., a device driver manager 35 including a software group which manages other various device drivers, and a designed robot 36 including a software group which manages the mechanism of the robot 1. There is also provided a manager object 37 consisting of an object manager 38 and service manager 39. The object manager 38 is a software group to manage start and termination of each of software groups included in the robotic server object 32, middleware layer 40 and application layer 41, respectively. The service manager 39 is a software group which manages the association between objects on the basis of information on an association between objects stated in an association file stored in the memory card 28 (see FIG. 8). The middleware layer 40 is positioned above the robotic server object 32 and consists of a software group which provides basic functions of the robot 1 such as image processing, speech processing, etc. The application layer 41 is positioned above the middleware layer 40 and consists of a software group which decides action of the robot 1 based on the result of a process effected by each software group included in the middleware layer 40. The software structures of the middleware layer 40 and application layer 41 are shown in detail in FIG. 10. As shown in FIG. 10, the middleware layer 40 consists of a recognition system 60 including signal processing modules 50 to 58 intended for noise detection, temperature detection, brightness detection, scale detection, distance detection, posture detection, touch sensing, motion detection and color recognition, respectively, and an input semantics converter module 59, and an output system 69 including an output w semantics converter module 68 and signal processing modules 61 to 67 intended for posture management, tracking, motion reproduction, walking, recovery from overturn, LED lighting and speech reproduction, respectively. The signal processing modules 50 to 58 in the recognition system 60 acquire appropriate ones of sensor data, image data and speech data read from the DRAM 11 (see FIG. 8) by the virtual robot 33 in the robotic server object 32, process the data in a predetermined manner and supply the data processing result to the input semantics converter module 59. In this example, the virtual robot 33 is formed as a function to transfer or convert signals under a predetermined communication rule. Based on the data processing result supplied from the signal processing modules 50 to 58, the input semantics converter module 59 recognizes the internal state and surrounding environment of the robot 1 such as "noisy", "hot", "bright", "ball was detected", "overturn was detected", "patted", "hit", "musical scale was heard", "moving object was detected" or "obstacle was detected", and an instruction or action from the user, and outputs the recognition result to the application layer 41 (see FIG. 8). As shown in FIG. 11, the application layer 41 is composed of five modules including action model library 70, action switching module 71, learning module 72, emotion module 73 and an instinct module 74. As shown in FIG. 12, the action model library 70 has provided therein independent action modules 70.sub.1 to 70.sub.n corresponding to some preselected conditional items, respectively, such as "when battery potential has become low", "for recovery from overturn", "for avoiding an obstacle", "for expression of an emotion", "when ball has been detected", etc. For example, when these action modules 70.sub.1 to 70.sub.n are supplied with the recognition result from the input semantics converter module 59 or when a predetermined time has elapsed after they are supplied with a final recognition result, they decide action for the robot 1 to do next by referring to the parametric value of an appropriate one of the emotions held in the emotion module 73 and the parametric value of an appropriate one the desires held in the instinct module 74 as necessary as will further be described later, and output the decision result to the action switching module 71. Note that in this embodiment of the present invention, the action modules 70.sub.1 to 70.sub.n adopt, as a means for decision of next action, an algorithm called "finite probabilistic automaton" to stochastically decide which one of nodes (state) NODE.sub.0 to NODE.sub.n shown in FIG. 13 transits and to which other one of them the node transits, based on transition probabilities P.sub.1 to P.sub.n set for arcs ARC.sub.1 to ARC.sub.n, respectively, which provide connections between the nodes NODE.sub.0 to NODE.sub.n. More specifically, each of the action models 70.sub.1 to 70.sub.n has a state transition table 80 as shown in FIG. 14, corresponding to each of the nodes NODE.sub.0 to NODE.sub.n included in the action models 70.sub.1 to 70.sub.n, respectively. That is, in the state transition table 80, input events (recognition results) taken as conditions for transition between the nodes NODE.sub.0 to NODE.sub.n are entered in lines covered by an "Input event name" column in the order of precedence, and additional conditional data to the transition conditions are entered in lines covered by "Data name" and "Data range" columns. Therefore, as shown in the state transition table 80 in FIG. 14, it is a condition for a node NODE.sub.100 to transit to another node that when the result of recognition that "BALL (robot has detected the ball)" is given, "SIZE (ball size)" given together with the result of recognition is "0, 1000 (0 to 1000)". Also, the node NODE.sub.100 can transit to another node when "OBSTACLE (the robot 1 has detected an obstacle)" is given as a result of the recognition and "DISTANCE (distance between the obstacle and robot 1)" given along with the result of recognition is "0, 100 (0 to 100)". Also, the node NODE.sub.100 can transit to another node when any of the parametric values of those motions "JOY", "SURPRISE" and "SADNESS" held in the emotion model 73, of the emotions and desires held in the emotion model 73 and instinct model 74, respectively, to which the action models 70.sub.1 to 70.sub.n refer, cyclically takes a value of "50, 100 (50 to 100)" even with entry of no result of recognition. In the state transition table 80, names of the nodes to which each of the nodes NODE.sub.0 to NODE.sub.n can transit are given in a "Transition destination nodes" line covered by a "Probability of transition to other node (Di)" column, probabilities of the transition to other nodes NODE.sub.0 to NODE.sub.n, which would be possible when all the requirements given in the "Input event name", "Data name" and "Date range" columns, respectively, are satisfied are given in corresponding places in the "Probability of transition to other node (Di)" column, and action to be outputted when the state transits to the nodes NODE.sub.0 to NODE.sub.n are given in an "Output action" line covered by the "Probability of transition to other node (Di)" column. Note that the sum of the transition probabilities in the line covered by the "Probability of transition to other node Di" column is 100(%). Therefore, the node NODE.sub.100 in the state transition table 80 shown in FIG. 14 can transit to a node NODE.sub.120 (node 120) with a transition probability of "30%" when "BALL (the bal has been detected)" is given as a result of the recognition and "SIZE (the size of the ball)" given along with the result of recognition is "0, 1000 (0 to 1000)". At this time, the robot 1 will make action "ACTION 1". Each of the action models action is configured so that many of the action models 70.sub.1 to 70.sub.n given as in the state transition table 80 link to each other. For example, when a recognition result is supplied from the input semantics converter module 59, the state transition table of corresponding nodes NODE.sub.0 to NODE.sub.n is used to stochastically decide next action and the decision result is outputted to the action switching module 71. The action switching module 71 shown in FIG. 11 selects predetermined high-priority ones of the pieces of action outputted from the action models 70.sub.1 to 70.sub.n in the action model library 70, and sends a command for execution of the action (will be referred to as "action command" hereunder) to the output semantics converter module 68 of the middleware layer 40. Note that in this embodiment, the action outputted from the lower ones of the action models 70.sub.1 to 70.sub.n in FIG. 12 are set higher in priority than those outputted from the higher action models. When action is complete, the action switching module 71 informs the learning module 72, emotion module 73 and instinct module 74 of the completion of the action based on action-completion information supplied from the output semantics converter module 68. On the other hand, the learning module 72 is supplied with the result of recognition of a teaching given by the user to the robot as action such as "hit", "patted" or the like, among recognition results supplied from the input semantics converter 59. The learning module 71 changes the transition probability for a corresponding one of the action models 70.sub.1 to 70.sub.n in the action model library 70. The learning module 72 reduces the expression probability of that action when the robot 1 is hit (=scolded) for example, while raising the expression probability when the robot 1 is patted (=praised) for example, both on the basis of the recognition results and an information from the action switching module 71. On the other hand, the emotion model 73 holds a parameter indicating the intensity of each of a total of six emotions "joy", "sadness", "anger", "surprise", "disgust" and "fear". The emotion model 73 cyclically renews the parametric values of these emotions on the basis of a specific recognition result such as "hit", "patted" or the like supplied from the input semantics converter module 59, elapsed time and information from the action switching module 71. More particularly, the emotion model 73 uses a predetermined computation equation to compute a variation of the emotion at a time from a recognition result supplied from the input semantics converter module 59, behavior of the robot 1 at that time, and an elapsed time from the preceding renewal. Then, taking the emotion variation as .DELTA.E[t], current parametric value of the emotion as E[t] and factor indicating the sensitivity to the emotion as k.sub.e, the emotion module 73 determines a parametric value E[t+1] of the emotion in a next cycle by computing an equation (4), and replaces the emotion parametric value E[t+1] with the current parametric value E[t] of the emotion, to thereby renew the parametric value of the emotion. The emotion model 73 also renews the parametric values of all the remaining emotions in the same manner. E[t+1]=E[t]+k.sub.e.times..DELTA.E[t] (4) Note that it is predetermined how much each of recognition result and information from the output semantics converter module 68 influences the variation .DELTA.E[t] of the parametric value of each emotion. The predetermination is such that for example, the result of recognition of"hit" will have an great influence on the variation .DELTA.E[t] of the parametric value of the "anger" emotion, while the result of recognition of "patted" will have a great influence on the variation .DELTA.E[t] of the parametric value of the "joy" emotion. The information from the output semantics converter module 68 is so-called feedback information on action (action-completion information). Namely, it is information on the expression result of action. The emotion model 73 will change the emotion with such information. For example, "barking" action will lower the level of "anger" emotion. Note that information from the output semantics converter module 68 is also supplied to the aforementioned learning module 72 which renews the transition probability for an appropriate one of the action models 70.sub.1 to 70.sub.n based on the information from the output semantics converter module 68. Note that the result of action may be fed back by an output (action having a feeling added thereto) of the action switching module 71. On the other hand, the instinct model 74 holds parameters indicating the intensity of each of a total of four independent desires "exercise", "affection", "appetite" and "curiosity". The instinct model 74 cyclically renews the parametric values of these desires on the basis of recognition results supplied from the input semantics converter module 59, elapsed time and information from the action switching module 71. More particularly, the instinct model 74 uses a predetermined computation equation to compute a variation of each of the desires "exercise", "affection" and "curiosity" at a time from a recognition result supplied from the output semantics converter module 68, elapsed time and information from the output semantics converter module 68. Then, taking the desire variation as .DELTA.I[k], current parametric value of the desire as I[k] and factor indicating the sensitivity to the desire as k.sub.i, the instinct module 74 determines a parametric value I[k+1] of the desire in a next cycle by computing an equation (5) cyclically, and replaces the value I[k+1] with the current parametric value I[k] of the desire, to thereby renew the parametric value of the desire. The instinct model 74 also renews the parametric values of all the remaining desires except for "appetite" in the same manner. I[k+1]=I[k]+k.sub.i.times..DELTA.I[k] (5) Note that it is predetermined how much each of recognition result and information from the output semantics converter module 68 influences the variation .DELTA.I[k] of the parametric value of each desire. The predetermination is such that for example, information from the output semantics converter module 68 will have an great influence on the variation .DELTA.I[k] of the parametric value of "tired" state. Note that in this embodiment, each of the emotions and desires (instinct) has a variable parametric value range thereof limited to 0 to 100, and also each of the factors k.sub.e and k.sub.i has a value set for each of emotions and desires. On the other hand, as shown in FIG. 10, the output semantics converter module 68 of the middleware layer 40 supplies, to an appropriate one of the signal processing modules 61 to 67 of the output system 69, an abstract action command like "move forward", "joy", "bark" or "track (a ball)" supplied from the action switching module 71 of the application layer 41 as in the above. Based on action command supplied, the signal processing modules 61 to 67 generates a servo instruction for supply to an appropriate one of the actuators 25.sub.1 to 25.sub.n, speech data for a speech to be outputted from the speaker 24 (see FIG. 8) or drive data for supply to the LEDs as "eyes" of the robot for carrying out the action, and sequentially sends the data to an appropriate one of the actuators 25.sub.1 to 25.sub.n and speaker 24 or LEDs via the virtual robot 33 in the robotic server object 32 and signal processing circuit 14 (see FIG. 8) in this order. As in the above, the robot 1 is adapted to autonomously act correspondingly to its own internal state and environmental (external) state or an instruction or action from the user on the basis of the control program. (3) Changing of the Instinct and Emotion Corresponding to the Environment The robot 1 is also adapted to be cheerful in a bright environment for example, while being quiet in a dark environment. Namely, the robot 1 is adapted to have the emotion and instinct thereof changed correspondingly to the extent of each of three factors "noise", "temperature" and "illumination" in the environment surrounding the robot 1 (will be referred to as "environmental factors" hereunder). More particularly, the robot 1 has external sensors to detect the surroundings, including a temperature sensor or thermosensor (not shown) to detect the ambient temperature in addition to the aforementioned CCD camera 20, distance sensor 22, touch sensor 21 and microphone 23, disposed each in place. The recognition system 60 of the middleware layer 40 includes the signal processing modules 50 to 52 for noise detection, temperature detection and brightness detection corresponding to the above sensors, respectively. The noise detecting signal processing module 50 detects the level of ambient noise based on speech data given from the microphone 23 (see FIG. 8) via the virtual robot 33 in the robotic server object 32, and outputs the detection result to the input semantics converter module 59. The temperature detecting signal processing module 51 detects an ambient temperature based on sensor data supplied from the thermosensor via the virtual robot 33, and outputs the detection result to the input semantics converter module 59. The brightness detecting signal processing module 52 detects an ambient illumination based on image data supplied from the CCD camera 20 (see FIG. 8) via the virtual robot 33, and outputs the detection result to the input semantics converter module 59. The input semantics converter module 59 recognizes the extent of each of the ambient "noise", "temperature" and "illumination" based on the outputs from the signal processing modules 50 to 52, and outputs the recognition result to the internal state model of the application module 41 (see FIG. 11). More specifically, the input semantics converter module 59 recognizes the extent of ambient "noise" based on an output from the noise detecting signal processing module 50, and outputs a recognition result like "noisy" or "quiet" to the emotion model 73, instinct model 74, etc. Also the input semantics converter module 59 recognizes the extent of ambient "temperature" based on an output from the temperature detecting signal processing module 51, and outputs a recognition result like "hot" or "cold" to the emotion model 73, instinct model 74, etc. Further the input semantics converter module 59 recognizes the extent of ambient "illumination" based on an output from the brightness detecting signal processing module 52, and outputs a recognition result like "bright" or "dark" to the emotion model 73, instinct model 74, etc. The emotion model 73 cyclically changes the parametric value of each of the emotions by computing the equation (4) based on the various recognition results supplied from the input semantics converter module 59 as in the above. Then the emotion model 73 increases or decreases the value of the factor k.sub.e in the equation (4) for a predetermined appropriate emotion based on the recognition results as to the "noise", "temperature" and "illumination" supplied from the input semantics converter module 59. More particularly, for example, when a recognition result "noisy" is supplied, the emotion model 73 will increase the value of the factor k.sub.e for the "anger" emotion " by a predetermined number. On the other hand, when the recognition result supplied is "quiet", the emotion model 74 will decrease the value of the factor k.sub.e for the "anger" emotion by a predetermined number. Thereby, the parametric value of the "anger" emotion will be changed under the influence of the ambient "noise". Also, when a recognition result "hot" is supplied, the emotion model 73 will decreases the value of the factor k.sub.e for the "joy" emotion by a predetermined number. On the other hand, the recognition result supplied is "cold", the emotion model 73 will increase the value of the factor k.sub.e for the "sadness" emotion by a predetermined number. Thus, the parametric value of the "sadness" emotion will be changed under the influence of the ambient "temperature". Further, when a recognition result "bright" is supplied, the emotion model 73 will decreases the value of the factor k.sub.e for the "joy" emotion by a predetermined number. On the other hand, the recognition result supplied is "dark", the emotion model 73 will increase the value of the factor k.sub.e for the "fear" emotion by a predetermined number. Thus, the parametric value of the "fear" emotion will be changed under the influence of the ambient "illumination". Similarly, the instinct model 74 cyclically changes the parametric value of each of the desires by computing the equation (5) based on various recognition results supplied from the input semantics converter module 59 as in the above. Also, the instinct model 74 increases or decreases the value of the factor k.sub.i in the equation (5) for a predetermined appropriate desire based on the recognition results as to the "noise", "temperature" and "illumination" supplied from the input semantics converter module 59. Also, for example, when recognition results "noisy" and "bright" are supplied, the instinct model 74 will decrease the value of the factor k.sub.i for the "tired" state by a predetermined number. On the other hand, when the recognition results supplied are "quiet" and "dark", the instinct model 74 will increase the value of the factor k.sub.i for the "tired" state by a predetermined number. Further, for example, when a recognition result "hot" or "cold", the instinct model 74 will increase the value of the factor k.sub.i for the "tiredness" by a predetermined number. Thus, when the robot 1 is in a "noisy" environment for example, the parametric value of the "anger" emotion is easy to increase while that of the "tired" state is easy to decrease, so that the robot 1 will make a generally "irritated" action. On the other hand, when the environment surrounding the robot 1 is "quiet", the parametric value of the "anger" emotion is easy to decrease while that of the "tired" state is easy to increase, so that the robot 1 will act generally "gently". Also, when the robot 1 is in a "hot" environment, the parametric value of the "joy" emotion is easy to decrease while that of the "tired" state is easy to increase, so the robot 1 will show generally "lazy" action. On the other hand, when the robot 1 is in a "cold" environment, the parametric value of the "sadness" emotion is easy to increase while that of the "tired" state is easy to increase, so the robot 1 will act generally "with a complaint of the cold". When the robot 1 is in the "bright" environment, the parametric value of the "joy" emotion is easy to increase while that of the "tired" state is easy to decrease, so that the robot 1 will show generally "cheerful" action. On the other hand, in a "dark" environment, the parametric value of the "joy" emotion is easy to increase while that of the "tired" state is easy to increase, so that the robot 1 will act generally "gently". The robot 1 is constructed as in the above and can have the emotion and instinct thereof changed correspondingly to the surrounding environment and autonomously act according to the states of its emotion and instinct. (4) Applications of the Present Invention (4-1) General Description The essential parts of the robot 1 to which the present invention is applied will be described here below. The robot 1 is constructed to learn action in correlation with an image signal and speech signal (acoustic signal), and start up action with the image signal and speech signal correlated with the action after the learning. In the following, mainly an example that the robot 1 is made to learn action in correlation with a speech or voice will be described. However, it is of course that the robot 1 is made to learn action in correlation with an image. More particularly, according to the present invention, the robot 1 is constructed as in the following. As shown in FIG. 15, the robot 1 includes a speech recognition unit 101, sensor data processor 102, instinct/emotion storage unit 103, associative memory/recall memory 104 and an action generator 105. The speech recognition unit 101 functions as an input information detector to detect information supplied simultaneously with, or just before or after a touch detection by a touch sensor (e.g., touch sensor 21 in FIG. 8) which detects a touch on the robot 1. The associative memory/recall memory 104 stores action made in response to the touch and input information (speech signal) detected by the speech recognition unit 101 in correlation with each other. The action generator 105 works as an action controller to provide action stored in the associative memory/recall memory 104 and which is associated with newly acquired input information (speech signal). Also, the sensor data processor 102 works to have the robot 1 make action in response to a touch detection by the touch sensor (not shown) for example. More specifically, each of these robotic components functions as will be described below. The speech recognition unit 101 processes speech signals supplied from outside (microphone 23) to recognize them as a predetermined language. More particularly, the speech recognition unit 101 adopts the HMM to recognize an input speech as a phoneme sequences by a plurality of recognition classes based on the HMM. The speech recognition unit 101 is also capable of generating an increased number of classes based on the existing classes through learning. For example, when an unrecognizable speech is given for example, the speech recognition unit 101 divides the existing class to generate new classes as shown in FIG. 6B. More particularly, the speech recognition unit 101 divides an existing class having a certainty factor (belongingness evaluation) for an input speech to generate new classes. For example, a part of a class, having a small feature, is divided to provide new classes. Thus, the speech recognition unit 101 can recognize pre-registered languages as well as a new language. The sensor data processor 102 generates a signal for a motion (action) taught to the robot based on a change of sensor data. That is, the sensor data processor 102 recognizes input action information. The motion to be taught to the robot may be a preset one for example, and it may also be a new one set by the user. Also, any one of motions already set may be selectively generated. Teaching of an preset motion to the robot is such that the preset motion of the robot is triggered by entry of a sensor data from the touch sensor for example. For example, the robot is preset to shift from a "standing" position to a "sitting" position when a predetermined touch sensor provided at the rear back portion of the robot is pushed. Namely, the robot is taught to actually shift to the "sitting" position when the touch sensor at the rear back portion of the robot in the "standing position" is pushed. Note that a sensor for teaching such a motion to the robot may be provided at the end of the head or leg. By providing such sensors in arbitrary positions, it is possible to teach a variety of motions to the robot. Also, teaching of a newly set motion to the robot can be done using a change of a control signal for a moving part (joint) for example. The moving parts include for example the actuators (servo motors) 25.sub.1 to 25.sub.n provided at the joints of the leg units 3A to 3D, articulations between the leg units 3A to 3D and body unit 2, articulation between the heat unit 4 and body unit 2, articulation between the tail unit 5 and tail 5A, etc. For example when a moving part of the robot 1 is forced by the user to move, a load will take place to the moving part. The load to the moving part will cause a different signal from a one which will take place during a normal motion of the moving part (with no external load), for example, a servo signal to the moving part. A change in posture of the robot 1, namely, a motion of the robot 1, can be known from such a signal. Thus, by storing the signal, an motion urged by the user can be taught as a new motion to the robot 1. Teaching of such a new motion will further be described later. Also, according to the present invention, the robot 1 is adapted to detect an external force (external load) from such a signal change and thus learn the external force as will further be described later. Further, the sensor data processor 102 can recognize the class of action the robot 1 has to learn. For example, the robot 1 can learn input action information by recognizing the class thereof based on a feature thereof in an action feature space. The instinct/emotion storage unit 103 stores information on emotions correlated with the aforementioned speech and action. That is, the instinct/emotion storage unit 103 changes the instinct or emotion with input sensor signal or the like from the instinct model or emotion model as in the above. The associative memory/recall memory 104 makes a learning based on information from the aforementioned speech recognition unit 101, sensor data processor 102 and instinct/emotion storage unit 103, and thereafter it generates action information corresponding to input speech and image on the basis of the learning. The associative memory/recall memory 104 employs a conventional principle of associative memory based on which image and speech classes are correlated with each other, having previously been described concerning the equations (1) and (2), and associatively stores each information. For example, when the sensor data processor 102 detects, from sensor data, a teaching of a motion for shifting from the "standing" position to "sitting" position and the speech recognition unit 101 recognizes an uttered language "backward" simultaneously with, or just before or after, the detection of the teaching by the sensor data processor 102, the associative memory/recall memory 104 will store (learn) the motion for shifting from the "standing" to "sitting" position and the uttered language "backward" in association with each other. This is generally the same as the teaching of "sitting" to a real dog. Also, the associative memory/recall memory 104 can be adapted to learn an input motion by correlating the input motion and an input language with each other (triggering) only when the input motion and language are preset in pair. For example, if the uttered language "backward" is given simultaneously with, or just before or after, the teaching of the above-mentioned so-called "sitting" motion, the associative memory/recall memory 104 will learn (store) the motion in correlation (association) with the uttered language "backward". However, it will not learn the motion if the input language is any other than "backward". Also, the associative memory/recall memory 104 can learn a motion by correlating a recognized motion or language with the instinct and emotion outputted from the instinct/emotion storage unit 103. For example, if the associative memory/recall memory 104 feels scared (fear) in learning of a motion at entry of a speech (uttered language), it can learn (store) such a speech in correlation with such a "fear" emotion. As in the above, the associative memory/recall memory 104 learn (store) a speech, motion or emotion in correlation (association) with each other, and after the learning, it will generate action information correspondingly to an input image, speech, etc. based on the learning result. The action generator 105 generates action based on the action information output from the above associative memory/recall memory 104. For example, when an uttered language "backward" is given to the associative memory/recall memory 104 after learning of the aforementioned teaching to "backward", the action generator 105 will cause a shift from the "standing" position to "sitting" position. As in the above, the robot 1 will be able to learn action in association with speech information and change of sensor signal (data) to enable action (motion) as a result of the learning on the basis of an input speech. A series of operations of the robot 1 from learning of a "sitting" motion until outputting the motion for example will be described below. During learning, the robot 1 is given a touch simultaneously with, or just before or after, giving a speech (acoustic signal) as shown in FIG. 16A. The speech signal is for example "backward". Supplying the touch signal is equal to teaching of a motion for shifting from the "standing" position to "sitting" position to change a sensor signal from a moving part related with the motion. Note that a touch sensor or push button (e.g., teaching button for "sitting") may be provided at a predetermined location as in the above to teach the motion to the robot by operating (pushing) the touch sensor or push button. In this case, supplying a touch signal means generation of a signal by operating such a touch sensor. With the above teaching operation, the robot 1 will be taught to make a shifting motion from (A-1) to (A-2) in FIG. 16A. After thus taught, the robot 1 will shift to the "sitting" position as in (A-2) in FIG. 16A, which is taught during learning, as shown in (B-2) in FIG. 16B when given an uttered language (acoustic signal) taught to the robot 1 during learning, for example, "backward" as in (B-1) in FIG. 16B. The motion to be taught to the robot is not limited to the aforementioned one. That is, simultaneously with, or just before or after, giving a speech (utterance), the robot 1 may be pushed forward on the back, have the neck raised upward or pushed down, or raised at the front legs in order to teach such motions to the robot 1. By association of this teaching of a motion with a corresponding uttered language, a motion "prone lying", "standing" or "shaking" for example can be taught to the robot 1. Also, the robot 1 can learn as follows for example. First, the robot 1 will learn to "kick" in learning a motion. More particularly, the user (trainer) will operate the front legs and teach the robot 1 to "kick" a thing. The motion to be learned by the robot 1 may be a preset one or a new one. On the other hand, an uttered language "red" learned through the language recognition and red color recognized based on an image are stored in association with each other. As a result of such a learning, the robot 1 will recognize an uttered language "kick a red thing" and kick a "red" thing as generated action. For example, the red object is recognized by segmentation of an input image and identifying red portions of the image. That is, the robot 1 will recognize a thing consisting of red segments as an object to kick. In the above embodiment, speech information is associated with action but the present invention is not limited to this association. For example, image information may be associated with the action information. In this case, the robot 1 is provided with an image recognition unit for recognizing a specific image from image signals supplied from an imaging unit such as the CCD camera 20 for example. Also, the above embodiment has been described concerning the association of an instinct or emotion outputted from the instinct/emotion storage unit 103 with learned action and uttered language. However, the present invention is not limited to this association. For example, an instinct or emotion taking place later may be linked with preset action and uttered language. Further, in the robot 1, an emotion caused by an output (actual action), an input which is a motivation of the emotion (e.g., uttered language or image) and the output itself (actual action) can be stored (learned). Thus, in an actual scene after the learning, the robot 1 can also recall a corresponding stored emotion from an input language or the like to make predetermined action without providing any output (action) which should intrinsically be provided correspondingly to the input language. By storing (learning) an emotion caused when touching (action) a red thing (input), for example, a scared feeling (fear) when sensing a high temperature, the robot 1 can recall a fear just when seeing a red thing (input) later, thereby expressing the fear as action (making a predetermined action). Namely, the robot 1 can make any other appropriate action without repeating any past action such as touching a red thing. In this case, the associative memory/recall memory 104 will function to store action result information indicative of the result of action made correspondingly to a speech signal detected by the speech recognition unit 101 and the speech signal in association with each other, and the action generator 105 works to control action based on the action result information identified by the associative memory/recall memory 104 based on a new input speech signal. Also the robot 1 can have an influence of another space of an input, emotion and action on the feature space of an input signal to has an influence on the classification of the input signal. That is, as shown in FIGS. 6A, 6B and 6C, when classes are near to each other in the feature space of image and speech, the image and speech are classified referring to the third feature space (e.g., action feature space). More specifically, in case, having made first action in response to a first input object (image) characterized by image signals, the robot 1 was given a reward (e.g., it is "patted") while it was punished (e.g., "hit") when it has also made the first action as a result of the classification (first and second objects are near to each other in the image feature space) in response to a second object very similar to the first object in the image feature space, the robot 1 is adapted to make any action other than the first action in response to a second and subsequent entry of the second object. Namely, the result of classification (action result in this case) in another feature space is used to has an influence on another classification or strategy of classification. In this case, the speech recognition unit 101 has functions as an input information detector, a feature detector to detect a feature of speech signals detected by the input information detector, and an information classification unit to classify speech signals based on the feature. It should be reminded that the classification of speech signals based on a feature is equivalent to classification by HMM. Note that the function as the feature detector is performed by a feature extractor 122 which will further be described later with reference to FIG. 33, while the function as the information classification unit is performed by an HMM unit 123 shown also in FIG. 33. Further, the speech recognition unit 101 will have a function as a classification changer to change the classification of speech signals (recognition classes) having caused action based on action result information indicative of the result (e.g., reward or punishment) of the action made by the robot 1 under the control of the action generator 105. Note that the learning by the association may be a one by association of action made by the robot 1 when praised with a stimulus (speech, image, action or the like). All the components of the robot 1, according to the present invention have been described in the foregoing. Next, each of the components will further be described. (4-2) Learning of Arbitrary Motion (Detail Description of the Sensor Data Processor) As having been described in the foregoing, the robot 1 learns a motion (action) which is a preset motion or an arbitrary motion. There will be described here below how the robot 1 learns an arbitrary motion, that is, a new motion. The joints of the robot 1 are controlled by corresponding servo motors as in the above. In the robot 1, a time series of angles is generated based on angle designations (angle designation information) from the CPU 10, and the robot 1 shows a motion as a result. Also, the servo controller provides signals including an actual joint angle supplied from the potentiometer provided in each joint and a pulse signal supplied to each servo motor. The robot 1 is taught an arbitrary motion by the use of the pulse signal instead of a sensor signal (sensor data) from a touch sensor, used to teach the aforementioned preset motion to the robot 1. To learn such an arbitrary motion, the robot 1 includes a discrimination unit 111 shown in FIG. 17A. The discrimination unit 111 corresponds to the sensor data processor 102 in FIG. 15 is constructed for the robot 1 to learn an arbitrary motion. The discrimination unit 111 is dedicated for the robot 1 to learn a motion based on the pulse width of a control signal supplied to each joint servo motor. It should be reminded here that the robot 1 is adapted to shift to various postures and thus will not keep any constant posture when learning a motion. Therefore, the robot 1 has to be taught similar motions both in the "standing" and "sitting" positions. Namely, the robot 1 has to be taught a motion by the use of a pulse width controlling the motion of a moving part (joint), in association with each posture of the robot 1. For this reason, the discrimination unit 111 includes a plurality of discriminators 111.sub.1, 111.sub.2, . . . each for one posture, as shown in FIG. 17B. For example, the first discriminator 111.sub.1 is provided for learning a motion in the "sitting" position, and the second discriminator 111.sub.2 is provided for learning a similar motion in the "standing" position. Based on information on a current posture of the robot 1, the discrimination unit 111 selects a desired one of the plurality of discriminators 111.sub.1, 111.sub.2, . . . for learning of a motion in an arbitrary posture of the robot 1. Note that posture information indicative of the current posture can be detected from information, for example, gravity information, provided from the potentiometers 26.sub.1 to 26.sub.n, angular velocity sensor 18 or acceleration sensor 19. Also, the current-posture information can be acquired based on a command outputted as a control signal for a moving part from the action generator 105. Teaching (learning) is effected by comparison of a pulse width which takes place when no external force is applied to the robot 1 and a one which takes place when an external force is applied. Namely, the width of a pulse signal supplied to each joint (servo motor) which is in the normal state (with no external force applied) takes a pattern fixed within certain limits while the width of a pulse signal supplied to the joint while the robot 1 is being applied with an external force will have a different pattern from that shown by the joint in the normal state. For teaching a motion to the robot 1 by applying an external force thereto, the above relation (difference between pulse-width patterns) is used to acquire information on the motion. More particularly, motion teaching is effected as will be described below. For example, when the robot 1 is recognized based on posture information to be in a standing position, a pulse width, which takes place when an external force is applied to the robot 1 for teaching a motion, is supplied to the first discriminator 111.sub.1 to which information assigned to the motion is also supplied at the same time. For example, a pulse width used for the motion teaching is of a signal used for the so-called PID control as shown in the following equation (6). More specifically, a PWM-controlled pulse width is used for this purpose. ##EQU1## where e.sub.i is an error of a time i (difference between target angle and current angle in potentiometer (actual angle), and P.sub.g, I.sub.g and D.sub.g are constants. The pulse width used for the motion learning is a P value acquired by computing the equation (6). For example, vectors are used as information on a pulse width which takes place when an external force is applied to the robot 1 for the purpose of motion teaching and a to-be-taught motion, respectively. A five-dimensional vector [V.sub.0, V.sub.1, V.sub.2, V.sub.3, V.sub.4 ] is used as information assigned to the to-be taught motion. With the five elements V.sub.0, V.sub.1, V.sub.2, V.sub.3 and V.sub.4 of the vector, it is possible to recognize five types of stimuli. The teaching will be detailed in the following. When the robot 1 is pushed backward on the back, there are provided a vector P.sub.1 acquired from a pulse width resulted at that time and intended-motion information O.sub.1 =[0, 1, 0, 0, 0]. As shown in FIG. 18 for example, the discriminator 111.sub.1 is supplied with the pulse-width vector (backward) P.sub.1 and [0, 1, 0, 0, 0]. Each of the vector elements V.sub.0, V.sub.1, V.sub.2, V.sub.3 and V.sub.4 is learned as a real number (with floating point) between 0 and 1. The larger the (learned) stimulus part, the more approximate the vector element is to 1. For example, a vector is acquired as real numbers like[0.1, 0.9, 0.2, 0.1, 0.3] as a result of the motion learning with information O.sub.1 =[0, 1, 0, 0, 0]. Also, when the robot 1 is pushed forward on the back, there are provided a vector P.sub.2 acquired from a pulse width resulted at that time and intended-motion information O.sub.2 =[0, 0, 1, 0, 0]. When the robot 1 has the neck pushed down, there are provided a vector P.sub.3 acquired from a pulse width resulted at that time and intended-motion information O.sub.3 =[0, 0, 0, 1, 0]. When the robot 1 the neck pushed up, there are provided a vector P.sub.4 acquired from a pulse width resulted at that time and intended-motion information O.sub.4 =[0, 0, 0, 0, 1]. Also, for example, there are provided a vector P.sub.0 acquired from a pulse width which takes place when no external force is applied and intended-motion information O.sub.0 =[1, 0, 0, 0, 0]). The vector P.sub.0 and information O.sub.0 are compared with the above vectors and information to learn the intended motions. Examples of the pulse width are shown in FIGS. 19 to 25 in which the horizontal axis shows positions of the joint while the vertical axis shows values taken by the so-called PWM pulse. FIG. 19 shows the pulse width (value of pulse signal) when the robot 1 is in the standing position. In Figures, "FR1" indicates a position of the first joint (shoulder joint) of the front right leg, "FR2" indicates a position of the second joint (knee joint) of the same leg, and "FR3" indicates a position of the third joint (ankle joint) of the same leg. "FL1" indicates a position of the first joint (shoulder joint) of the front left leg, "FL2" indicates a position of the second joint (knee joint) of the same leg, and "FL3" indicates a position of the third joint (ankle joint) of the same leg. "HR1" indicates a position of the first joint (shoulder joint) of the rear right leg, "HR2" indicates a position of the second joint (knee joint) of the same leg, and "HR3" indicates a position of the third joint (ankle joint) of the same left. "HL1" indicates a position of the first joint (shoulder joint) of the rear left leg, "HL2" indicates a position of the second joint (knee joint) of the same leg, and "HL3" indicates a position of the third joint (ankle joint) of the same leg. "Head1", "Head2" and "Head3" indicate positions of the neck joints, respectively. The above is also true for FIGS. 20 to 25. Thus, a total of 15 pulse widths can be acquired when the robot 1 is in a state (posture or motion). That is, a vector P used for the aforementioned learning can be obtained as a one consisting of 15-dimensional elements. When the robot 1 in the standing position is pushed forward on the back, a pulse having a width as shown in FIG. 20 is produced. When the robot 1 in the standing position is pushed backward on the back, the width of a thus-produced pulse will be as shown in FIG. 21. When the robot 1 in the standing position is pushed up on the head, a pulse having a width as shown in FIG. 22 is produced. When the robot 1 in the standing position is pushed down on the head, there will be produced a pulse having a width shown in FIG. 23. When the robot 1 in the sitting position is held at the right leg, a pulse having a width as shown in FIG. 24 will be produced. When the robot 1 in the sitting position is held at the left leg, there is produced a pulse having a width as shown in FIG. 25. Based on these pulse widths, the discrimination unit 111 detects the corresponding postures of the robot 1 for learning a motion. Also, the robot 1 includes a pleasantness/unpleasantness judgment unit 112 as shown in FIG. 26 to enable such a motion learning as a real animal will do. Receiving an output from the sensor data processor 102, the pleasantness/unpleasantness judgment unit 112 judges the data to be either an emotion value defining the pleasantness or a one defining the unpleasantness, and outputs corresponding action information. For example, when an emotion defining the unpleasantness in the emotion model 73 has a large value, the pleasantness/unpleasantness judgment unit 112 outputs action information which will cause action to avoid the unpleasantness. When the robot 1 is pushed backward on the back, the pleasantness/unpleasantness judgment unit 112 will judge the output from the sensor data processor 102 to be an emotion value defining the unpleasantness and output action information for shifting to the "sitting" position. Also, when the robot 1 is pushed forward on the back or down on the neck, the pleasantness/unpleasantness judgment unit 112 will judge the data from the sensor data processor 102 to be an emotion value defining the unpleasantness and output action information for shifting to the "prone" position. When the robot 1 in the prone position has the neck raised upward, the pleasantness/unpleasantness judgment unit 112 will judge the data from the sensor data processor 102 to be an emotion value defining the unpleasantness and output action information for shifting to the "sitting" position. When the robot 1 in the sitting position has the neck raised upward, the pleasantness/unpleasantness judgment unit 112 will judge the data from the sensor data processor 102 to be an emotion value defining the unpleasantness and output action information for shifting to the "standing" position. That is to say, when the robot 1 is applied with so a large external force as to feel unpleasant, the robot 1 will make the above motions. The action generator 105 generates action based on the above action information. As in teaching of a posture to a real dog or the like, the robot 1 applied with action or external force will learn to shift from a current position where it feels unpleasant with such a handling to any other position. Note that a motion is taught to the robot 1 by repeating the application of an external force or action a plurality of times. Also, the teaching or teaching is repeated for other postures (other discriminators). Each of the discriminators is constructed for a learning with a hierarchical neural network for example. As shown in FIG. 27, a three-layer neural network, for example, is composed of an input layer, hidden layer and an output layer. In this case, the procedure for learning or teaching is as will be outlined below. In the input layer, sensor signal or the like formed correspondingly to the input layer is supplied to each neuron. In the hidden layer, feature of data transmitted via each neuron of the input layer is extracted. More particularly, each neuron in the hidden layer remarks some feature of input data and extracts it for evaluation. In the output layer, features from the neurons of the hidden layer are combined together to make a final decision. In the above three-layer neural network, there is established a back-propagation-based learning which can be adopted to construct a discriminator for example. Thus, by pushing backward the robot 1 on the back, O.sub.1 =[0, 1, 0, 0, 0] is supplied to the discriminator and the latter will output a value (real number) approximate to [0, 1, 0, 0, 0]. As in the above, the robot 1 can learn an arbitrary motion via the discrimination unit 111. Thus, through learning of image and speech signals in association with each other, the robot 1 can make, in response to a predetermined utterance (speech signal) given thereto, a motion it has learned correspondingly to the predetermined utterance. (4-3) Learning of an External Force Applied to the Robot 1 In the foregoing, the learning of an arbitrary motion has been described. In the learning of arbitrary motion, the robot 1 learns a motion (posture) to which the robot 1 is urged by an external force applied thereto and makes the motion in response to a given predetermined utterance (speech signal). Learning of types of such an external force will be described here below. After having learned the type of an applied external force, the robot 1 can make a predetermined motion when the external force the robot 1 has learned is applied. More particularly, when the robot 1 having learned an external force applied to the waist for shifting to a sitting position is applied to the waist thereof with an external force equivalent to that external force, it will recognize the external force input and make a sitting motion for example as a predetermined motion. The learning of an external force will further be described here below. For learning an external force, the robot 1 includes a moving member 151, joint unit 152 to move the moving member, detector 153 to detect the state of the joint unit 152 having an external force applied thereto via the moving part 151, and a learning unit 160 to learn the state of the joint unit 152, detected by the detector 153, and the external force in association with each other, as shown in FIG. 28. After having learned the state of the joint unit 152 and external force, the robot 1 can identify, when applied with an external force, the type of the external force based on the state of the joint unit 152. The moving member 151 includes portions the leg units 3A to 3D, head unit 4 and tail unit 5, joined to the body unit 2 and driven by the actuators 25.sub.1 to 25.sub.n as shown in FIGS. 6 and 8. The joint unit 152 includes such actuators, and more particularly, the motors forming the actuators. Owing to the above construction, the robot 1 can learn an external force by the use of a PWM pulse supplied to the motor (actuator). As in the above, in the robot 1, portions of the leg units 3A to 3D, head unit 4 and tail unit 5, joined each with adjoint to the body unit 2 are the moving members. Each of the leg units 3A to 3D is composed of a plurality of moving members joined with a plurality of joints (shoulder joint, knee joint and ankle joint) to each other, and the leg units 3A to 3D are joined with joints to the front right and left and rear right and left, respectively, of the body unit 2, and the head unit 4 and tail unit 5 are joined with joints to the front and rear ends, respectively, of the body unit 2. The joints enabling the moving members to move are formed from the actuators 25.sub.1 to 25.sub.n. The PWM pulse signal is supplied to the motors (actuators 25.sub.1 to 25.sub.n joined). The width of the PWM pulse signal depends upon the state of the joint (motor) 152 to which an external force is applied via the moving part 151 (each unit as in the above). Namely, it is computed as an error or difference between a target angle and actual one of each joint (motor). Thus, when an external force is applied to the robot 1, the error will be larger and the pulse width be larger. That is to say, as the robot 1 is applied with a larger external force, the width of the PWM pulse signal will be larger. The robot 1 thus learns an external force by the use of such a PWM pulse signal. The detector 153 detects the width of PWM pulse signal as a state of the joint unit 152 on which an external force acts via the moving member 151. Note that since the width of the PWM pulse signal is computed as an error or difference between a target angle and actual one of each joint (motor) as in the above, the state of the joint unit 152, detected by the detector 153, may be said to be an error or difference between a target angle and actual one of each joint (motor). Also note that the detector 153 may be implemented as a function of the signal processing circuit 14 shown in FIG. 8 and other or by a software or object program. In this embodiment, a PWM pulse signal supplied to the motors (joint) in the leg units 3A to 3D and one supplied to the motors (joint) in the body unit 2 and head unit 4 are used as a PWM pulse signal used in learning an external force as will further be describe later. FIGS. 19 to 25 show the changes of such PWM pulse signals supplied to the joints (motor) for use to learn external forces applied to the robot. As will be seen through comparison the pulse width pattern, shown in FIG. 20, which takes place when the robot 1 is pushed forward on the back and the pulse width pattern, shown in FIG. 21, which takes place when the robot 1 is pushed backward on the back, the width of the PWM pulse is generally symmetrical with respect to "0" (x-axis). In the external-force learning, the patterns of PWM pulse width (more specifically, vectors), taking place when various external forces are applied to the robot 1, are used as learning data in the learning unit 160 in which the neural network is used for the external-force learning. The learning unit 160 is implemented by a software or an object program for example. As the neural network, a back-propagation neural network of a layer-connection type network is used for the external-force learning. The back-propagation neural network is highly adaptive to the pattern recognition, and this embodiment uses a three-layer back-propagation neural network consisting of an input layer 161, hidden layer (middle layer) 162 and an output layer 163 as shown in FIGS. 29 and 30. In the three-layer back-propagation neural network, when information (pulse width) D.sub.in is supplied from a touch sensor to the input layer 161 after learning an external force, the output layer 163 will output information D.sub.out on the type of the external force learned, corresponding to the information D.sub.in supplied from the touch sensor. The input layer 161, hidden layer 162 and output layer 163 in the three-layer back-propagation neural network are constructed as will be described below. The input layer 161 has a plurality of neurons (18 neurons in this embodiment). That is, the input layer 161 is supplied with 18 data for the external-force learning. The robot 1 has three types of current postures "standing", "sitting" and "sleeping" for example. The widths of PWM pulse signal supplied to each joint (motor in the join) are in 15 types (12 types (=3 types.times.4) for supply to the four leg units and 3 types for supply to the head unit). Therefore, a total of 18 types of PWM pulse widths are supplied as data to the input layer 161. The current postures are used for the external-force learning for the state of a joint depends upon the posture of the robot 1, namely, since the pulse width depends upon the posture of the robot 1. The input layer 161 is supplied with a pattern being a vector composed of various pulse widths as information D.sub.in, from the touch sensor. Note that in this embodiment, since the input pulse width takes a value within the range of [-512, 512], it is normalized by the following equation (7): Imput=(P+.vertline.P.sub.min.vertline.)/(P.sub.max +.vertline.P.sub.min.vertline.) (7) where P is a measured pulse width, P.sub.max is a maximum pulse width (512) and P.sub.min is a minimum pulse width (-512). Since the input data about the posture takes a value [0, 1] (either 0 or 1), the pulse width has not to be normalized. The hidden layer 162 has a plurality of neurons (17 neurons in this embodiment). The number of the neurons is determined by the so-called rule of thumb. That is, the number of neurons in the input layer 161 and that in the output layer 163 are averaged and the result is smoothed to determine the number of neurons. The number of neurons "numOfHidden" in the hidden layer 162, determined by the rule of thumb, is given by the following equation (8): numOfHidden=(numOfInput+numOfOutput)/2+2=14+.alpha. (8) where "numOfInput" is the number of neurons in the input layer 161, "numOfOutput: is the number of neurons in the output layer 153 and .alpha. is a value which is increased or decreased by the smoothing. Placing "18" as the number of neurons "numOfInput" in the input layer 161 and "10" as the number of neurons "numOfOutput" in the output layer 153 in the equation (8) will provide a number "17" of neurons "numOfHidden" in the hidden layer 162. The output layer 163 has a plurality of neurons (10 neurons in this embodiment). With the 10 neurons in the output layer 163, the robot 1 can recognize 10 types of external force by learning. Namely, the robot 1 can recognize 10 types of external force including, for example, "ForceForward" (external force by which the robot 1 is pushed forward on the back, as in FIG. 20), "ForceBackward" (external force by which the robot 1 is pushed backward on the back, as in FIG. 21), "RightHandUp" (external force by which the right hand is raised, as in FIG. 24), "LeftHandUp" (external force by which th left hand is raised, as in FIG. 25), "BothHandUp" (external force by which both the hands are raised, not shown), "HeadUp" (external force by which the head is raised, as in FIG. 22), "HeadDown" (external force by which the head is pushed down, as in FIG. 23), "HeadRight" (external force by which the head is pushed to right, not shown), "HeadLeft" (external force by which the head is pushed to left, not shown) and "Noforce" (no external force applied, as shown in FIG. 9). The input layer 161, hidden layer 162 and output layer 163 are constructed as in the above. Various input/output functions may be used in the hidden layer 162 and output layer 163 but in this embodiment, the so-called sigmoid function is used. Different from the so-called threshold function, the sigmoid function has a characteristic that it provides an output which changes smoothly with respect to an input sum as shown in FIG. 31. The three-layer back-propagation neural network is used to learn various external forces as in the following. The external-force learning is done by supplying the network (learning unit 160) with a pair of input vector data and teaching signal vector data as shown in FIG. 30. Trainer vector data is supplied so that a certain neuron outputs "1" while other neurons output "0". Namely, "1" is supplied for an external force of a type to be recognized while "0" is supplied for all external forces of other types. The middle or hidden layer 162 provides an output y.sub.i (1) as a result of the input sum by computing the sigmoid function "sigmoid ( ) " given by the following equation (9), the output layer 163 provides an output y.sub.j (2) as a result of the input sum by computing the sigmoid function "sigmoid ( )" given by the following equation (10). The following equation (11) is used to renew the weight, that is, to learn the weight. The sigmoid function "sigmoid ( )" is a function given by the following equation (12). ##EQU2## W.sub.ij.sup.(m+1) (t)=W.sub.ij.sup.(m+1) (t-1)-.epsilon.y.sub.i.sup.(m) (t)z.sub.i.sup.(m+1) +.beta.W.sub.ij.sup.(m+1) (t-1)(m=0, 1) (11) sigmoid(x)=1/(1+exp(-x)) (12) where a.sub.i is the width of each input pulse signal, z.sub.i is an error back-propagation output, .epsilon. is a learning function, and .gamma. is a moment coefficient. The learning function (.epsilon.) and moment coefficient (.beta.) are factors greatly affecting the learning speed. For example, in the robot 1 constructed as in this embodiment, the learning speed can be made optimum with .epsilon.=0.2 and .beta.=0.4. Entry of input vector data and that of trainer vector data are repeated a plurality of times until the difference or error between the input vector data and trainer vector data supplied to the neural network is less than a threshold. Then, the learning is ended. For example, the learning is ended when a mean error as given by the following equation (13) is less than a threshold: error=(.SIGMA..vertline.te-a.vertline..sup.2)/numOfOutput (13) where a is input vector data and te is trainer vector data. For example, the robot 1 is made to learn the same data repeatedly 10 times in an on-line learning (consecutive learning). Also, the robot 1 is made to learn data of the same pattern continuously about 20 times. Thereby, the robot 1 will have learned a total of about 800 samples. FIG. 32 shows an example of the relation between a number of times of learning and a mean error. As seen from FIG. 32, the mean error when learning has been made about 50 times is minimum, which means that the learning has been ended with 50 times of try. Note that an initial value of weighting factor is normally given at random, it depends upon the initial value how many times a learning should be repeated. That is, depending upon the initial value, the learning will be ended with about 50 times of try in one case as in the above, but with about 150 times of try in the other case. The three-layer back-propagation neural network is used to learn an external force as in the above. Thus, the robot 1 can receive a plurality of types of input external forces (an external force supplied a plurality of times) and learn the plurality of input external forces in association with a state of the joint unit 152 (e.g., PWM pulse width) to categorize (classify) the external force. Note that it is confirmed by the so-called versatility test by the robot 1 whether an external force could have successfully been categorized or not, for example. More particularly, for example, when the robot 1 is applied at the waist thereof with an external force, it recognizes, through the above-mentioned learning, that the external force applied to the waist is included in the plurality of types of external forces it has ever learned, more specifically, that the pulse width (pattern) caused by the external force applied to the waist corresponds to any of PWM pulse widths (pattern) supplied to each joint unit 152, to thereby sit as a corresponding sitting motion. Thus, the freedom of an instruction by touching (external force) by the user can be enlarged for the robot 1 to make many types of motions. Note that in the above, the learning using the three-layer back-propagation neural network has been described but the learning unit can of course use any other method of learning. For example, the learning unit can use SVM (support vector machine) to categorize an external force applied to the robot 1. The SVM is a method for linearly classifying external forces as in the "Perceptron". More specifically, the SVM is to map data once in a nonlinear space and determine a hyperplane separate in the space, and thus can solve an actually nonlinear problem. Normally, in a pattern recognition, when a test sample x=(x.sub.1, x.sub.2, X.sub.3, . . . x.sub.n), a recognition function f(x) given by the equation (14) can be determined: ##EQU3## On the assumption that the supervise label is y=(y.sub.1, y.sub.2, y.sub.3, . . . , y.sub.n), a problem to minimize .parallel.V.parallel..sup.2 should be solved under the constraints as given by the following expression (15): Constraints: y.sub.j (V.sup.T x.sup.i +b).gtoreq.1 (15) Such a constraint problem can be solved with the Lagrange's method of undetermined multipliers. By introducing a Lagrange's multiplier, the problem can be expressed as given by the following equation (16): ##EQU4## By partial differentiation of b and v as in the following equation (17), a quadratic programming problem as given by the following equation (18) can be solved. The constraints is given by the following expression (19). .differential.L/.differential.b=.differential.L/.differential.V=0 (17) max.SIGMA.a.sub.i -1/2.alpha..sub.i.alpha..sub.j y.sub.i y.sub.j x.sub.i.sup.T x.sub.j (18) Constraints: .alpha..sub.i.gtoreq.0,.SIGMA..alpha..sub.i y.sub.i =0 (19) When the number of dimensions in the feature space is smaller than the number of discipline samples, a slack variable .xi..gtoreq.0 is introduced to change the constraints to that given by the following expression (20): Constraints: y.sub.i (V.sup.T x.sub.i +b).gtoreq.1-.xi..sub.i (20) For the optimization, an objective function given by the expression (21) is optimized: 1/2.parallel.V .parallel..sup.2 +C.SIGMA..xi..sub.i (21) where C is a coefficien | ||||||
