Abstract:
There is provided an actuator control device for force-controlling a joint driving actuator according to a commanded joint force command value τ a . The actuator control device includes a joint value detecting means for detecting a joint value q at an output stage of the actuator, an action force detecting means for detecting an action force τ e  in a joint driving direction at the output stage of the actuator, and a driving force determining means for determining an instructed driving force τ to the actuator, on the basis of an ideal response model of the actuator which specifies the relationship of a joint value acceleration target value achieved as the actuator responds ideally when the joint force command value τ a , the action force τ e , and a joint value velocity obtained by time-differentiating the joint value q are given.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to an actuator control device and an actuator control method which control actuators used for driving or the like of joint parts of a robot, an actuator, a robot apparatus, and a computer program, and particularly, to an actuator control device and an actuator control method which control driving of joint actuators by a force control method which directly controls a joint generation force, an actuator, a robot apparatus, and a computer program. 
         [0003]    More specifically, the present invention relates to an actuator control device and an actuator control method which perform force control suitable for physical interaction with a human being while coping with factors of disturbances whose modeling or identifying is difficult, such as friction or inertia, which exists in joint parts, an actuator, a robot apparatus, and a computer program, and particularly, to an actuator control device and an actuator control method which perform force control suitable for physical interaction with a human being while coping with a disturbance problem by calculating a joint force for generating a desired force in a predetermined part of a body while the dynamics of the robot is taken into consideration, an actuator, a robot apparatus, and a computer program. 
         [0004]    2. Description of the Related Art 
         [0005]    With economic development, the mechanism of a decrease in the birthrate or stabilization of young population to a low level, and a decrease in mortality below the middle age acts. As a result, the phenomenon in which elderly population increases relatively proceeds rapidly. Although the ratio of elderly people and productive-age population which supports the elderly people was 1 person:3.3 persons at the present time of 2005, it is expected that the ratio will be 1 person:2.4 persons in 2015, and 1 person:2.1 persons in 2025. In such an aging society, it is imperative to make the elderly people live as healthily and actively as possible without requiring nursing care, or to make a society in which aggravation can be prevented as much as possible even if the elderly people require nursing care, and they can lead independent lives. 
         [0006]    Additionally, the need for mechatronics instruments aiming at assistance in elderly people&#39;s minds and bodies is increasing in elderly-people nursing care facilities or at homes which have elderly people. 
         [0007]    For example, an odor emission source detecting and eliminating apparatus is suggested which can be utilized for immediately sanitary removal of excrement which may cause odors in elderly people nursing-care facilities, hospitals, etc., and cause hospital infections (for example, refer to JP-A-2005-61836). Additionally, an action expression system is suggested which makes the action of an elderly person expressed by a robot at a close relative&#39;s house on the basis of a first detection result obtained by detecting the action of the elderly person, estimates the degree of interest of the close relative from a second detection result obtained by detecting the watching action of the close relative, and feeds back the result to give a change to the action expression of the robot (for example, refer to JP-A-2006-178644). 
         [0008]    In recent years, the need for mental assistance in which robots are effectively incorporated in occupational therapy as well as physical assistance called power assistance of autonomous walking aids or upper limbs is further increasing. 
         [0009]    The mechatronics instruments to be applied in the field as described above should execute a task while making physical contact with people or complicated actual environments flexibly and safely. That is, unlike the fact that related-art industrial robots performed fixed motions under a known environment, the inventors consider that the above mechatronics instruments should sense an unknown environment and obtain a proper external force from surrounding environments which vary every moment, thereby properly adjusting the generation forces of actuators so that a desired task may be achieved. 
         [0010]    Here, the robot is basically a multi-link structure including joints which are a plurality of links and link movable portions, and is adapted so as to drive each joint by using an actuator including a DC brushless motor or the like. Additionally, the method of controlling such a robot (or joint actuator which constitutes the robot) includes, for example, positional control and force control. The positional control is a control method of driving the joint so as to give a position command value, such as an angle, to the actuator and follow the command value. The other force control is a control method of directly receiving a target value of the force to be applied to an operation object and realizing the force indicated by the target value, and can directly control a joint generation force and directly control a force. 
         [0011]    Most of related-art robot apparatuses are driven by positional control from simplicity on control, and easy construction of a system. However, the positional control is commonly called “hard control” because its basic purpose is to hold a position, and is not suitable for responding to an external force flexibly or for precisely performing “soft” control in terms of velocity or acceleration. For example, robot apparatuses which execute a task while performing physical interaction with various outsides originally have low compatibility with the positional control. 
         [0012]    In contrast, in the force control it is considered that more flexible physical interaction service with a human being in terms of force becomes possible although a control law or a system configuration becomes complicated. On the other hand, the force control is apt to be influenced by a disturbance, and the control is not easy. 
         [0013]    Friction or inertia which exists in a joint part becomes a biggest problem as a disturbance in the force control. Parameters which determine the dynamics of the robot are classified roughly into mass properties, such as link weight, center of gravity, and inertia tensor, and the friction and inertia inside a joint. The former mass properties can be calculated relatively easily and with high precision on the basis of CAD (Computer Aided Design) data. In contrast, the latter (especially friction) is hard to model and identify and becomes a factor which causes a large error. 
         [0014]    A method of coping with the disturbance problem in the force control can be classified roughly into following three methods. 
         [0015]    As a first method, it is conceivable to perform the design of eliminating a deceleration mechanism which becomes as a generation source of unknown friction as much as possible from a joint part. Specifically, the first method includes using a direct drive motor (for example, refer to JP-A-2007-124856) or a configuration (for example, refer to U.S. Pat. No. 5,587,937) which performs deceleration of a low reduction gear ratio using a wire mechanism. According to this method, although high-response force control becomes possible, there is a problem that the motor becomes bigger or a sufficient joint force is not obtained. 
         [0016]    As a second method, a method of arranging a force sensor at a working point of a force, feeding back the deviation between a generation force and a force command value to a joint command value, and suppressing a disturbance exerted on the generation force at the action point is conceivable (for example, refer to “Robust Motion Control by Disturbance Observer” (Journal of Robotics Society of Japan, Vol. 11, No. 4, pp. 486-493, 1993) by Onishi). According to this method, it becomes possible to suppress all disturbances, such as a disturbance force received from a cable as well as the disturbance inside the joint, whereas there is a constraint that interaction is limited to a part in which the force sensor is set. In other words, in order to allow interaction in an arbitrary part of a whole body, expensive force sensors should be mounted in various places of the body. 
         [0017]    As a third method, a method of calculating a joint force for generating a desired force in a predetermined part of the body while the dynamics of the robot is taken into consideration is conceivable (for example, refer to “A prioritized multi-objective dynamic controller for robots in human environments” (In Proceeding of the IEEE/RSJ International Conference on Humanoid Robots, 2004)). For example, in the specification of Patent Application No. 2007-272099 already transferred to the present applicant, a control system is disclosed which determines generation force target values of all actuators by detecting contact parts with the outside without omission, using contact sensors arranged in a distributed manner over the whole body surface of a link structure, such as a robot, and by exactly solving a mechanical model so that a desired motion may be achieved, while properly using external forces having the detected contact parts as points of action. According to the control system, favorable tactile force interaction in which points of action are not limited can be realized by compensating a force, which is difficult to model, within each joint which connects between links by a torque sensor provided at a joint part. 
         [0018]    However, in the third method, it is necessary to use an “actuator which makes an ideal behavior” for the joint part so that the friction and inertia of the joint part which become key factors of errors match a theoretical model. Additionally, it is assumed that a reducer is included in the actuator and that the actuator makes a behavior according to the theoretical model as a system including the reducer. 
         [0019]    According to the third method, since errors of parameters other than parameters inside a joint can generally be made small, the precision of a generation force also becomes favorable. It becomes possible to utilize a reducer, and it also becomes possible to obtain a large joint force by a small motor. Additionally, since the force feedback from a force sensor is not used, it is also not necessary to mount force sensors in various places. 
       SUMMARY OF THE INVENTION 
       [0020]    In view of the above, it is desirable to provide excellent actuator control device and actuator control method which can suitably control driving of joint actuators by a force control method which directly controls a joint generation force, an actuator, a robot apparatus, and a computer program. 
         [0021]    It is also desirable to provide excellent actuator control device and actuator control method which can favorably perform force control suitable for physical interaction with a human being while coping with factors of disturbances whose modeling or identifying is difficult, such as friction or inertia, which exists in joint parts, an actuator, a robot apparatus, and a computer program. 
         [0022]    It is also desirable to provide excellent actuator control device and actuator control method which can favorably perform force control suitable for physical interaction with a human being while coping with a disturbance problem by calculating a joint force for generating a desired force in a predetermined part of a body while the dynamics of the robot is taken into consideration, an actuator, a robot apparatus, and a computer program. 
         [0023]    According to a first embodiment of the present invention, there is provided an actuator control device for force-controlling a joint driving actuator according to a commanded joint force command value τ a . The actuator control device includes a joint value detecting means for detecting a joint value q at an output stage of the actuator, an action force detecting means for detecting an action force τ e  in a joint driving direction at the output stage of the actuator, and a driving force determining means for determining an instructed driving force τ to the actuator, on the basis of an ideal response model of the actuator which specifies the relationship of a joint value acceleration target value achieved as the actuator responds ideally when the joint force command value τ a , the action force τ e , and a joint value velocity obtained by time-differentiating the joint value q are given. 
         [0024]    Although a method of controlling joint actuators of a robot which form a multi-link structure is classified roughly into a positional control and a force control, the force control of directly controlling a joint generation force and directly controlling a force is suitable in order to carry out more flexible physical interaction service with human beings in terms of force. 
         [0025]    However, the force control tends to be influenced by a disturbance and has a problem that a system configuration is complicated. The main factors of the disturbance are friction and inertia which exist in a joint part, and since modeling and identifying of the friction and inertia are difficult, there is a possibility that a large error is invited. 
         [0026]    Although the actuator control device according to the embodiment of the present invention controls driving of a joint actuator by a force control method, an attempt to deal with the disturbance problem is made by calculating a joint force for generating a desired force in a predetermined part of the body while the dynamics of the robot is taken into consideration. According to this coping method, since errors of parameters other than parameters inside a joint can generally be made small, the precision of a generation force also becomes favorable. It becomes possible to utilize a reducer, and it also becomes possible to obtain a large joint force by a small motor. Additionally, since the force feedback from a force sensor is not used, it is also not necessary to mount force sensors in various places. 
         [0027]    The actuator control device according to the embodiment of the present invention is adapted to determine the driving force τ to be assigned to a joint on the basis of an ideal response model of an actuator when the device force-controls the joint driving actuator according to the commanded joint force command value τ a . The expression “ideal response model” is configured by a secondary differential equation that specifies the relationship of a joint value acceleration target value achieved as the actuator responds ideally when the joint force command value τ a , the action force τ e , and a joint value velocity obtained by time-differentiating the joint value q are given. 
         [0028]    Additionally, the actuator control device includes a joint value detecting means, including an encoder or the like, for detecting a joint value q at an output stage of the actuator, an action force detecting means, such as a torque sensor, which detects an action force τ e  in a joint driving direction at the output stage of the actuator, and uses these detection results as inputs when the driving force τ is determined. 
         [0029]    The ideal response model of the actuator including a secondary differential equation shall include an virtual inertia or an virtual viscous resistance coefficient υ a  which acts according to the magnitude of the joint value velocity obtained by time-differentiating the joint value q. The expression “virtual inertia or virtual viscous resistance coefficient υ a ” is a parameter of dynamics, included inside a joint, whose modeling is difficult, and becomes a key factor of a disturbance. However, by including the virtual inertia or virtual viscous resistance coefficient in the ideal response model, the driving force determining means can suppress influence of the disturbance to determine the driving force τ with high precision. 
         [0030]    Additionally, the driving force determining means is adapted to apply a disturbance observer to remove influence of a disturbance resulting from friction or inertia, etc. inside a joint whose modeling becomes difficult, and can determine the driving force τ of the actuator with high precision in conformity with the theoretical response model. 
         [0031]    Here, the disturbance observer is adapted to estimate a driving force which has acted on the joint on the basis of the joint value velocity obtained by time-differentiating the joint value q detected by the joint value detecting means when the joint actuator is driven by the driving force τ determined by the driving force determining means, and subtract the estimated driving force from the driving force τ to calculate a disturbance joint force τ d . 
         [0032]    Thus, the driving force determining means can correct a joint force target value τ ref , which is based on the joint value acceleration target value obtained from the ideal response model, by the disturbance joint force τ d  obtained by the disturbance observer in a previous control cycle, and determine the driving force τ in the current control cycle. 
         [0033]    According to a second embodiment of the present invention, there is provided a computer program described in a computer readable format so as to execute processing for force-controlling a joint driving actuator according to a commanded joint force command value τ a  on a computer. The program causes the computer to function as a joint value detecting means for detecting a joint value q at an output stage of the actuator, an action force detecting means for detecting an action force τ e  in a joint driving direction at the output stage of the actuator, and a driving force determining means for determining an instructed driving force τ to the actuator, on the basis of an ideal response model of the actuator which specifies the relationship of a joint value acceleration target value achieved as the actuator responds ideally when the joint force command value τ a , the action force τ e , and a joint value velocity obtained by time-differentiating the joint value q are given. 
         [0034]    The computer program according to the second embodiment of the present invention defines a computer program stated in a computer-readable format so as to realize predetermined processing on a computer. In other words, by installing the computer program according to the second embodiment of the present invention in a computer, cooperative operation can be exhibited on the computer, and the same operational effects as the actuator control device according to the first embodiment of the present invention can be obtained. 
         [0035]    Additionally, the actuator control device according to the embodiment of the present invention can be applied to force control of at least some joint actuators, in a robot apparatus including a link structure constructed by connecting a plurality of rigid body links, and joint actuators which drive joints which connect between the links. For example, when dynamics operation is applied to perform force control of a robot, it is premised that an actuator behaves ideally so that friction and inertia of a joint part which become key factors of errors match a theoretical model. Although an actuator generally includes a reducer, and errors, such as unknown friction, exist inside a joint, the force control can be realized suitably if an ideal response of the joint actuator is achieved by the present invention. 
         [0036]    According to the embodiment of the present invention, it is possible to provide excellent actuator control device and actuator control method which can favorably perform force control suitable for physical interaction with a human being while coping with factors of disturbances whose modeling or identifying is difficult, such as friction or inertia, which exists in joint parts, an actuator, a robot apparatus, and a computer program. 
         [0037]    Additionally, according to the embodiment of the present invention, it is possible to provide excellent actuator control device and actuator control method which can favorably perform force control suitable for physical interaction with a human being while coping with a disturbance problem by calculating a joint force for generating a desired force in a predetermined part of a body while the dynamics of the robot is taken into consideration, an actuator, a robot apparatus, and a computer program. 
         [0038]    According to the actuator control device related to the present invention, an ideal (in other words, virtualized) actuator which behaves as a theoretical model can be constructed. Accordingly, by applying the ideal actuator to a joint of a robot, it is possible to solve a disturbance problem in the force control by a method of calculating a joint force for generating a desired force in a predetermined part of the body while the dynamics of the robot is taken into consideration. As a result, it is possible to provide a robot which can perform flexible force interaction with a human being and an environment in an arbitrary part. Additionally, even if an hexa-axial force sensor is not arranged over the whole body of a robot, the control of generation force, acceleration, speed, and position in an arbitrary parts of the body can be performed favorably. 
         [0039]    Other objects, features, and advantages of the present invention will become apparent from the embodiments of the present invention to be described later or more detailed description based on the attached drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0040]      FIG. 1A  is a front view of a humanoid robot to which the invention can be applied. 
           [0041]      FIG. 1B  is a left side view of the humanoid robot to which the invention can be applied. 
           [0042]      FIG. 1C  is a back view of the humanoid robot to which the invention can be applied. 
           [0043]      FIG. 1D  is a top view of the humanoid robot to which the invention can be applied. 
           [0044]      FIG. 1E  is a bottom view of the humanoid robot to which the invention can be applied. 
           [0045]      FIG. 1F  is a perspective view of the humanoid robot to which the invention can be applied. 
           [0046]      FIG. 1G  is a front view of a head part of the humanoid robot to which the invention can be applied. 
           [0047]      FIG. 1H  is a left side view of the head part of the humanoid robot to which the invention can be applied. 
           [0048]      FIG. 1I  is a back view of the head part of the humanoid robot to which the invention can be applied. 
           [0049]      FIG. 1J  is a top view of the head part of the humanoid robot to which the invention can be applied. 
           [0050]      FIG. 1K  is a bottom view of the head part of the humanoid robot to which the invention can be applied. 
           [0051]      FIG. 1L  is a perspective view of the head part of the humanoid robot to which the invention can be applied. 
           [0052]      FIG. 2  is a view showing a joint degree-of-freedom model of the humanoid robot shown in  FIGS. 1A to 1L . 
           [0053]      FIG. 3  is a view showing a configuration of an actuator which drives each joint shaft. 
           [0054]      FIG. 4A  is a view showing a configuration of a torque sensor attached to an output shaft of a reducer. 
           [0055]      FIG. 4B  is a view showing an equivalent circuit of the torque sensor. 
           [0056]      FIG. 5  is a view showing a configuration of the connection topology in the humanoid robot shown in  FIGS. 1A to 1L . 
           [0057]      FIG. 6  is a control block diagram of a joint angle acceleration control system for performing a response according to a theoretical model. 
           [0058]      FIG. 7  is a graph showing the comparison between a theoretical response of a joint angle obtained by carrying out numerical calculation according to the inertia I a  and viscosity coefficient υ a  specified by a user and an actual measurement response of the joint angle to which the control system shown in  FIG. 6  is applied. 
           [0059]      FIG. 8  is a flow chart showing a processing sequence of operation which realizes an ideal joint angle acceleration response. 
           [0060]      FIG. 9  is a functional block diagram of a control system of a robot by a force control method based on dynamics operation. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0061]    Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. 
         [0062]    A front view, a left side view, a back view, a top view, a bottom view, and a perspective view of a humanoid robot to which the invention can be applied are shown in  FIGS. 1A  to L, and a front view, a left side view, a back view, a top view, a bottom view, and a perspective view of a head part of the robot are respectively shown in  FIGS. 1A to 1L . A joint degree-of-freedom model of the humanoid robot shown in  FIGS. 1A to 1L  is shown in  FIG. 2 . In the humanoid robot shown, an upper body is connected to a pelvic part via two leg bodies as a moving means, and a waist joint. Two arm parts are connected to the upper body, and a head part is connected to the upper body via a neck joint. 
         [0063]    The right and left leg bodies are provided with a total of six degrees of freedom including three degrees of freedom of a hip joint, one degree of freedom of a knee joint, and two degrees of freedom of an ankle joint, respectively. Additionally, the right and left arm parts are provided with a total of six degrees of freedom including three degrees of freedom of a shoulder joint, one degree of freedom of an elbow joint, and two degrees of freedom of a wrist joint, respectively. Both the neck joint and the waist joint have three degrees of freedom around X, Y, and the Z axes. 
         [0064]      FIG. 3  shows a configuration of an actuator which drives each joint shaft. The illustrated actuator includes a motor (for example, a DC brushless motor) for generating rotary torque, an electric current control type motor driver for driving the motor, and a reducer for converting a rotary force of the motor into a sufficient generation force. Additionally, an encoder for measuring a joint angle and a torque sensor which detects the rotary torque are attached to an output shaft of the reducer. It should be noted that parameters of dynamics, such as friction or inertia, whose modeling or identifying becomes difficult, are included in a joint part. 
         [0065]    A configuration of the torque sensor attached to the output shaft of the reducer is shown in  FIG. 4A . The illustrated torque sensor has a rare distorted structure, and has a configuration in which the volume of infinitesimal deformation is measured by two pairs of strain gauges A to D which are stuck on a beam portion so as to face each other. An equivalent circuit of the torque sensor is shown in  FIG. 4B . When deformation is caused in the rare distorted structure by the torque (external torque) τ e  applied to the output shaft of the reducer, the volume of deformation is measured as a potential difference approximately proportional to τ e  at both ends of a bridge circuit including resistors A to D. Such torque measurement results are collected by a microcomputer for control set in the actuator, and are then transmitted to a host computer (which will be described later). 
         [0066]      FIG. 5  shows a configuration of the connection topology in the humanoid robot shown in  FIGS. 1A to 1L . Each joint driving actuator is connected with a host computer which generally controls the whole operation of the humanoid robot, so that torque control target value thereof can be given from the host computer, and a current output torque, a current joint angle or a current joint angular velocity can be transmitted to the host computer. 
         [0067]    The humanoid robot has triaxial waist joint actuators a 1 , a 2 , a 3 , and triaxial neck joint actuators a 16 , a 17 , and a 18  in a body part, and these actuators are serially connected to the host computer. Additionally, the torque sensors tq 16 , tq 17 , and tq 18  shown in  FIG. 4A  are arranged between an output shaft of each of the actuator motors a 16 , a 17 , and a 18 , and the frame. Each joint actuator receives a positional control target value thereof through a serial cable, and transmits a current output torque, a joint angle, and a joint angular velocity to the host computer. 
         [0068]    Additionally, the humanoid robot has triaxial shoulder joint actuators a 4 , a 5 , and a 6 , a uniaxial elbow joint actuator a 7 , and biaxial wrist joint actuators a 8  and a 9  in a left arm part, torque sensors tq 4 , tq 5 , tq 6 , tq 7 , tq 8 , and tq 9  shown in  FIG. 4A  are arranged between an output shaft of each of the actuator motors a 4 , a 5 , a 6 , a 7 , a 8 , and a 9 , and the frame, and these torque sensors are serially connected to the host computer. Similarly, the humanoid robot has triaxial shoulder joint actuators a 10 , a 11 , and a 12 , a uniaxial elbow joint actuator a 13 , and biaxial wrist joint actuators a 14  and a 15  in a right arm part, torque sensors tq 10 , tq 11 , tq 12 , tq 13 , tq 14 , and tq 15  shown in  FIG. 4A  are arranged between an output shaft of each of the actuator motors a 10 , a 11 , a 12 , a 13 , a 14 , and a 15 , and the frame, and these torque sensors are serially connected to the host computer. 
         [0069]    Additionally, the humanoid robot has triaxial hip joint actuators a 19 , a 20 , and a 21 , a uniaxial knee joint actuator a 22 , and biaxial ankle joint actuators a 23  and a 24  in a left leg part, torque sensors tq 19 , tq 20 , tq 21 , tq 22 , tq 23 , and tq 24  shown in  FIG. 4A  are arranged between an output shaft of each of the actuator motors a 19 , a 23 , a 21 , a 22 , a 23 , and a 24 , and the frame, and these torque sensors are serially connected to the host computer. Similarly, the humanoid robot has triaxial hip joint actuators a 25 , a 26 , and a 27 , a uniaxial knee joint actuator a 28 , and biaxial ankle joint actuators a 29  and a 30  in a right leg part, torque sensors tq 25 , tq 26 , tq 27 , tq 28 , tq 29 , and tq 30  shown in  FIG. 4A  are arranged between an output shaft of each of the actuator motors a 25 , a 26 , a 27 , a 28 , a 29 , and a 30 , and the frame, and these torque sensors are serially connected to the host computer. 
         [0070]    The dynamics operation of the robot is executed on the host computer to generate the torque target value of each joint actuator. The torque target value is transmitted to a control microcomputer juxtaposed to the actuator, and is used for control of the actuator executed on the control microcomputer. Additionally, each joint actuator is controlled by a force control method. 
         [0071]    According to a method of calculating a joint force for generating a desired force in a predetermined part of a body while the dynamics of the robot is taken into consideration, the influence of disturbance in force control can be avoided. However, it is necessary to use an ideal actuator for a joint so that the friction and inertia of a joint part which become key factors of errors match a theoretical model. 
         [0072]    Here, when a joint actuator performs a response which has deviated from a theoretical model used in the dynamics operation, a desired motional state is not achieved even if the torque calculated by dynamics operation is made act on the actuator. Actually, unknown parameters of dynamics, such as friction, which cannot be modeled, are included in an actuator with a reducer as shown in  FIG. 4A , and become key factors of disturbance which affects force control. If a measure for such a disturbance problem is not taken, the response deviates easily from a theoretical model. 
         [0073]    Thus, in this embodiment, an attempt to deal with the disturbance problem is made by the third method of calculating a joint force for generating a desired force in a predetermined part of the body while the dynamics of the robot is taken into consideration. In such a case, it becomes unnecessary to dispose a hexa-axial force sensor in any parts of the body. 
         [0074]    Hereinafter, a method of correcting the response of an actuator such that a response according to a theoretical model is performed even if influence of disturbance, such as friction or inertia, which cannot be modeled is exerted, will be described. 
         [0075]    In the dynamics operation of the robot, the actuator is modeled by a numerical expression as shown in the following Expression (1). 
         [0000]        I   a   {umlaut over (q)}=τ   a −τ e   −v   a   {dot over (q)}   (1) 
         [0076]    In the above Expression (1), I a  is the virtual inertia of a joint, q is the joint angle of the joint (obtained as an encoder output), τ a  is a command value of the generation torque of the joint, τ e  is an external torque exerted by the joint, and υ a  is an unknown virtual viscosity coefficient (whose modeling becomes difficult) inside the joint. 
         [0077]    It can be seen from the above Expression (1) that the term external torque τ e  which acts on the joint is included in the theoretical model. Accordingly, in order to correct the response of the actuator so as to be the response according to the theoretical model, it is necessary to detect the external torque τ e . In this embodiment, as described referring to FIGS.  4 A and  4 B, the torque sensor for measuring the external torque τ e  in the output shaft of a reducer is disposed in the actuator, and torque measurement results are collected by the microcomputer. 
         [0078]    The fact that the actuator performs the response according to the theoretical model expressed by the above Expression (1) means that the joint angle acceleration at the left side of the above Expression (1) is attained when the right side of the Expression is given. In this embodiment, in order to configure such a joint angle acceleration control system, the joint torque τ is determined with high precision on the basis of a theoretical response model by applying a disturbance observer which estimates disturbance torque. 
         [0079]    A control block diagram of the joint angle acceleration control system for performing the response according to the theoretical model is shown in  FIG. 6 . In this drawing, a portion surrounded by a dotted line is equivalent to the disturbance observer, and a robust acceleration control system is built by estimating a disturbance torque τ d  and removing the influence which affects the control system. Here, J n  is defined as a nominal value of the inertia within the joint, J is defined as an (unknown) actual value of the inertia within the joint, and q is defined as the joint angle. As for the virtual inertia I a  of the joint, it is assumed that an virtual constant is given as a design item in the dynamics operation. 
         [0080]    On the host computer, a torque command value τ a  for the actuator is determined in every control cycle by the force control method; an external torque actual measurement value τ e  measured by the torque sensor (refer to  FIG. 4B ) attached to the output shaft of the reducer of the actuator, and an angular velocity actual measurement value obtained from the joint angle q measured by the encoder attached to the output shaft of the reducer are sent from the control microcomputer within the actuator. Then, the torque command value τ a , the external torque actual measurement value τ e , and the angular velocity actual measurement value of the joint angle q are assigned to the theoretical response model expressed by the above Expression (1), an acceleration target value of the joint angle q at the left side of this numerical expression is calculated, and the angular acceleration target value is input to the disturbance observer. 
         [0081]    Within the disturbance observer, the input acceleration target value of the joint angle q is multiplied by the virtual inertia nominal value J n  of the joint, and the resulting value is converted into the torque target value τ ref  in a current control cycle. Then, when the torque target value τ ref  is corrected by the disturbance torque τ d  obtained in the previous control cycle by the disturbance observer, the torque command value τ for the joint in the current control cycle is obtained. 
         [0082]    When the force control including the torque command value τ is made to a joint including a transfer coefficient 1/J n , the joint is rotationally driven while being influenced by disturbance, such as friction or inertia, which exists in the joint part. Specifically, the torque command value τ is converted into an electric current command value, and, this converted value is used as an instruction input to the motor driver. The generation torque τ e  and the joint angle q in that case are measured by the torque sensor and the encoder, respectively, and the joint angular velocity is obtained by time-differentiating the encoder output q. 
         [0083]    The disturbance observer can estimate the torque which has acted on the joint by applying the transfer coefficient J n S including the virtual inertia nominal value J n  of the joint to the angular velocity of the measured joint angle q, and can estimate the disturbance torque τ d  by subtracting the estimated torque from the torque command value τ to the joint. Also, the disturbance torque τ d  obtained in the current control cycle is fed back, and is used for correction of the torque command value τ in the next control cycle (same as the above). In addition, a low pass filter (LPF) expressed by g/(s+g) which has been inserted on the way is used to prevent the divergence of the system. 
         [0084]    By doing so, even if an external disturbance component, such as inertia or friction, which cannot be modeled, exists in the joint part, the acceleration response of the actuator can be made to follow the acceleration target value. That is, when the right side of the above Expression (1) is given, the joint angle acceleration at the left side is attained. Thus, the response according to the theoretical model can be realized irrespective of the actuator being influenced by a disturbance. Here, the above low pass filter g/(s+g) which feeds back the disturbance torque τ d  is inserted (as mentioned above), and is not fit for removal of a disturbance in a high frequency region. 
         [0085]    In addition, refer to, for example, the “Robust Motion Control by Disturbance Observer” (refer to “Robust Motion Control by Disturbance Observer” (Journal of Robotics Society of Japan, Vol. 11, No. 4, pp. 486-493, 1993) by Onishi) about the disturbance observer. The disturbance observer estimates an external disturbance component in a plant, and feeds back the component as a control input, whereby it is effective to reach a target state even if an unknown parameter change or an unknown disturbance is in the plant. Here, in order to estimate the disturbance correctly, it is necessary to repeat feedback operation in a plurality of cycles. 
         [0086]    In the control block configuration shown in  FIG. 6 , the disturbance observer obtains the angular acceleration of the joint angle q according to the above Expression (1), and sets this acceleration to a joint angle acceleration target value for a joint actuator. The angular acceleration of the joint angle q is determined on the basis of the external torque τ e  obtained from the torque sensor attached to the output shaft of the reducer, the generation torque τ a  of the joint, and the time differential of the joint angle q output from the encoder attached to the output shaft of the reducer. By taking such a configuration, the joint is allowed to perform the response according to the inertia I a  and the viscosity coefficient υ a  specified by a user, and is idealized or virtualized. 
         [0087]    The comparison between a theoretical response of a joint angle obtained by carrying out numerical calculation according to the inertia I a  and viscosity coefficient υ a  specified by a user and an actual measurement response of the joint angle to which the control system shown in  FIG. 6  is applied is shown in  FIG. 7 . Here, the actual measurement of the joint angle was performed by applying the control system shown in  FIG. 6  to an actuator in which a torque sensor is attached to a harmonic drive gearing having large friction. 
         [0088]    According to the comparison results shown in  FIG. 7 , it can be seen that the actual measurement response in a case where the control system shown in  FIG. 6  is applied substantially matches the theoretical response. Accordingly, by applying the control system shown in  FIG. 6 , it can be said that the existing actuator can be corrected as an actuator which performs a desired ideal response (that is, virtualized) even if an unknown external disturbance component, such as friction or inertia, is included in the joint part. 
         [0089]    The actuator control as shown in  FIG. 6  for realizing an ideal joint angle acceleration response by using the control system using the disturbance observer can be configured by relatively simple processing operation, and can be executed at a high sampling rate (for example, in a cycle of 100 microseconds) independently on a control microcomputer which is juxtaposed to each actuator. 
         [0090]    A processing sequence of operation which realizes an ideal joint angle acceleration response is shown in the form of a flow chart in  FIG. 8 . 
         [0091]    First, the value of a torque sensor attached to an output shaft of a reducer of an actuator is measured, and an external torque τ e  is obtained (Step S 1 ). 
         [0092]    Next, the value of an encoder attached to the output shaft of the reducer of the actuator is measured, and a joint angle q is obtained (Step S 2 ). Further, the joint angle q is time-differentiated, and a joint angular velocity is obtained. 
         [0093]    Next, a joint angle acceleration target value of the joint angle q is calculated using the above Expression (1) (Step S 3 ). That is, the following Expression (2) is calculated. 
         [0000]        {umlaut over (q)}   ref =(τ a −τ e −υ a   {dot over (q)} )/ I   a    (2) 
         [0094]    Next, a disturbance torque τ d  is obtained by a disturbance observer (Step S 4 ). A disturbance torque τ d  is calculated by the following Expression (3) from  FIG. 6 . Here, a torque command value τ in this expression is defined as a torque command value in a previous control cycle. 
         [0000]    
       
         
           
             
               
                 
                   
                     τ 
                     d 
                   
                   = 
                   
                     
                       g 
                       
                         s 
                         + 
                         g 
                       
                     
                      
                     
                       ( 
                       
                         τ 
                         - 
                         
                           
                             J 
                             n 
                           
                            
                           
                             S 
                             2 
                           
                            
                           q 
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0095]    A torque command value τ in a current control cycle can be obtained by converting a joint angle acceleration obtained from the above Expression (2) in Step S 2  into a torque target value τ ref , and by adding a disturbance torque τ d  obtained from the torque target value τ ref  by the above Expression (3). 
         [0000]      τ= J   n   {umlaut over (q)}   ref +τ d    (4) 
         [0096]    Next, an electric current command value i ref  to the motor driver is calculated by dividing the torque command value τ obtained from the above Expression (4) by a torque constant K t  (Step S 5 ). 
         [0000]        i   ref   =τ/K   t    (5) 
         [0097]    Then, the obtained electric current command value i ref  is delivered to the motor driver, and electric current control is executed (Step S 6 ). 
         [0098]    For example, a method of applying dynamics operation to perform the force control of a robot is disclosed in JP-A-2007-108955 already transferred to the present applicant. When the idealized actuator as mentioned above is achieved, the force control of the robot using dynamics operation can be realized suitably. 
         [0099]    In the joint degree-of-freedom model shown in  FIG. 2 , a bipedal walking mobile robot is expressed as an open link tree structure with a pelvis B as a basis. The robot can move freely in a world space, and can change its posture. Thus, Euler angle α=(α, β, γ) T  of the pelvis B and the position p 0 (p 0x , p 0y , p 0z ) T  thereof are introduced as state variables for expressing the whole state of the robot. Then, a generalized variable q representing the whole posture of the robot can be expressed like the following Expression (6), using a vector θ in which all joint values serving as the current states of actuators can be enumerated, and a vector in which the posture α and position p 0  of a base are enumerated as the motion state of the robot. 
         [0000]        q =(α,  p   0 , θ) T    (6) 
         [0100]    As an important concept in the robot control of a force control system, there is a concept called “operational space)”. The operational space is a space for describing the relationship between a force acting on the robot, and acceleration to be generated. The operational space becomes indispensable when a contact way between the robot and an environment is used as constraint conditions when joint angles of the robot are not position-controlled, but force-controlled. In a link structure in which a rigid body link is connected via joints, a vector in which all values of the joints can be enumerated is called a generalized variable, and is expressed by q. When the relationship with a time differential value of the generalized variable q is associated like the following Expression (7), using Jacobian J, an operational space can be defined with respect to a physical quantity x. 
         [0000]      {dot over (x)}=J{dot over (q)}  (7) 
         [0101]    The Cartesian coordinate system for execution of a task, such as a finger position posture at the tip of a manipulator, is an example of the operational space. As for the basic idea of the operational space, refer to, for example, “A unified approach to motion and force control of robot manipulators” (The operational space formulation, IEEE Journal of Robotics and Automation, and RA-3 (1), pp. 43-53, 1987). 
         [0102]    Generally, it is known that the equation of motion of the whole link structure can be expressed as shown in the following Expression (8). 
         [0000]      τ= H{umlaut over (q)}+b−J   T   f    (8) 
         [0103]    Here, τ is a generalized force corresponding to the generalized variable q, b is the gravitational force/Coriolis force, and f is an external force acting on the operational space. The above Expression (8) is changed like the following Expression (9). 
         [0000]        {umlaut over (x)}=Λ   −1   f+c    (9) 
         [0104]    Here, Λ −1  is called an operational space inertia inverse matrix, and is expressed like the following Expression (10). Here, H is an inertia matrix for a joint space of the whole structure. 
         [0000]      Λ −1   =JH   −1   J   T    (10) 
         [0105]    Additionally, c of a third term of a right side of the above Expression (9) is equivalent to an operational space bias acceleration (that is, the acceleration acting on an operational space in a case where an external force does not act), and is expressed like the following Expression (11). 
         [0000]        c=JH   −1 (τ− b )+ {dot over (J)}{dot over (q)}   (11) 
         [0106]    The operational space, i.e., the relationship between acceleration and a force are given by an operational space inertia inverse matrix. In addition, in the calculation as defined in the above. Expression (10), an inertia matrix H for a joint space of the whole structure is interposed, and thus, needless calculation is made. Therefore, a great amount of calculation is needed in the calculation of the operational space inertia inverse matrix. Therefore, there is a problem that this is not fit for real-time processing. In contrast, by applying the direct dynamics operation which obtains generalized acceleration (joint acceleration) from the generalized force (joint force) of the link structure, the operational space inertia inverse matrix can be calculated at high speed, and calculational load can be relieved. As for a high-speed calculation method of the operational space inertia inverse matrix and the bias acceleration, refer to JP-A-2007-108955 already transferred to the present applicant. 
         [0107]    In the method of controlling a robot using dynamics operation, in order to achieve various motion objects, it is possible to take two-step release of obtaining an virtual force f acting on an operational space as a first step and of converting the virtual force f into an external force from a joint torque and an environment which exist actually as a second step (for example, refer to the specification of JP-A-2007-272099 already transferred to the present applicant). 
         [0108]    As the first step, the virtual force f to be applied to the operational space can be obtained by solving linear complementary problems as shown in the following Expressions (12) and (13). 
         [0000]        {umlaut over (x)}=Λ   −1   f+c    (12) 
         [0000]      f min     i   ≦f i ≦f max     i      (13) 
         [0109]    Additionally, if a requirement under which a known force f k  is generated in an operational space J k  is given as a motion requirement for a force, in conjunction with the above motion requirements for positions, velocity, and acceleration, a virtual force, i.e., a generalized force τ v  which is required as a whole is expressed like the following Expression (14). 
         [0000]      τ v   =J   T   f+J   k   T   f   k   =J   v   T   f   v    (14) 
         [0110]    Here, fv is a coupling vector of f and f k , and J v  is a Jacobian representing an operational space of f v  in which J and J k  are enumerated longitudinally. 
         [0111]    In the second step, as shown in a following Expression (15), the virtual force f v  is converted into an external force f e  obtained from an environment and a torque τ a  of an actuator of a joint part. f v  is a virtual force including even a force which does not exist actually. 
         [0000]        J   v   T   f   v   =J   e   T   f   e   +J   a   T   f   a    (15) 
         [0112]    Here, J e  and J a  are Jacobians corresponding to an operational space on which f e  and τ a  act. 
         [0113]    f e  and τ a  which satisfy Expression (15) do not always exist. Thus, a corrected component Δf v  of the virtual force f v  of the above Expression is taken into consideration. 
         [0000]        J   v   T ( f   v   −Δf   v )= J   e   T   f   e   +J   a   T   f   a    (16) 
         [0114]    The solution of the above Expression (16) can be obtained by solving such problems as the following Expressions (17) and (18). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       min 
                        
                       
                         1 
                         2 
                       
                        
                       
                         e 
                         T 
                       
                        
                       
                         Q 
                         1 
                       
                        
                       e 
                     
                     + 
                     
                       
                         1 
                         2 
                       
                        
                       
                         y 
                         T 
                       
                        
                       
                         Q 
                         2 
                       
                        
                       y 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     subject 
                      
                     
                         
                     
                      
                     to 
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
             
               
                 
                   Ay 
                   ≥ 
                   d 
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
         [0115]    Here, e is a value which is obtained by subtracting a right side from a left side of the above Expression (16), and which gives an error of the above Expression (16). Further, y is a coupling vector of τ a , f e , and Δf v . Thus, a first term of the above Expression (17) represents a condition for minimization of an error for satisfaction of the above Expression (16), and a second term of the above Expression (18) represents a condition for minimization of a virtual force correction amount Δf v , an actual force f e , and τ a . Q 1  and Q 2  are positive definite symmetric matrices representing the weight for minimization therebetween. An inequality constraint expression (18) gives upper limits, lower limits, etc. of a vertical reaction force, a friction condition, and a joint generation force. 
         [0116]    If the above Expression (17) and (18) are arranged, they are formulated as secondary programming problems as shown in the following Expressions (19) and (20). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       min 
                        
                       
                         1 
                         2 
                       
                        
                       
                         y 
                         T 
                       
                        
                       Qy 
                     
                     + 
                     
                       
                         r 
                         T 
                       
                        
                       y 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     subject 
                      
                     
                         
                     
                      
                     to 
                   
                 
               
               
                 
                   ( 
                   19 
                   ) 
                 
               
             
             
               
                 
                   Ay 
                   ≥ 
                   d 
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
           
         
       
     
         [0117]    By using the secondary programming problems, the above Expressions (19) and (20) can be solved with respect to y, and further, τ a , f e , and Δf v . The torque τ a  of the actuator of the joint part obtained by solving these expressions may act on the robot. 
         [0118]    According to the force control method based on the dynamics operation as described above, the value of a hexa-axial force sensor is not required. Here, even if the obtained τ a  is applied to a general actuator, an error, such as unknown friction, exists and a desired value cannot be obtained. Additionally, the response characteristics also deviate from the ideal joint model (the above Expression (1)) used for the above dynamics operation, and the motion objects are also hardly achieved. In contrast, when the actuator which is provided by the invention and which allows an ideal response is used, a joint response as premised by dynamics operation is allowed, and the motion objects of the whole robot can be achieved favorably. 
         [0119]    In addition, the above-described operation is executed at a lower sampling rate than the control operation for idealization of an actuator. For example, it is assumed that the above operation is executed in a cycle of 1 millisecond. 
         [0120]    Additionally, although numerical differentiation and a low pass filter have been used in the above-described embodiment in order to obtain the joint angle acceleration which is required inside the disturbance observer, these become factors which reduce the response of an actuator. In order to measure the joint angle acceleration directly, an actuator may be directly provided with an acceleration detector. 
         [0121]    A functional block diagram of a control system  10  of a robot by the force control method based on the dynamics operation is shown in  FIG. 9 . 
         [0122]    A mechanical model  11  holds geometric parameters and dynamical parameters of rigid body links of a robot to be controlled. Physical quantities which vary every moment according to the current state of the robot, such as joint angles, are also included in the data which the mechanical model  11  holds. 
         [0123]    The target value setting unit  12  sets target values relating to positions, velocity, acceleration, posture, angular velocity, angular acceleration, force, moment, etc., which are imposed on respective parts, joints, and momentum of the robot. For example, as for the positions, velocity, acceleration, posture, angular velocity, and angular acceleration, the target values are set as values at a left side of the above Expression (9). The known force f k  is stored separately. 
         [0124]    A virtual external force calculating unit  13  obtains a virtual external force which is required to realize the target values set in the target value setting unit  12 . Specifically, as for an unknown virtual external force, a force f which satisfies the above Expressions (12) and (13) is obtained by a linear complementary problem solver  13 - 2 . The coefficient matrix Λ −1  or bias vector c of the above Expression (12) is obtained using high-speed operation of operational space physical quantities (for example, refer to JP-A-2007-108955), in an operational space physical quantity calculating unit  13 - 1 . Information on the mechanical model is utilized for calculation of the operational space physical quantities. In a case where a known virtual external force f k  is further added, a virtual external force which is required as a whole is obtained by Expression (14). 
         [0125]    An actual force converting unit  15  converts the virtual external force τ v =J T   v f v , which is obtained in the virtual external force calculating unit  13 , into actual forces, i.e., the external force f e  obtained from an environment, and the torque τ a  of an actuator of a joint part so that the above Expression (16) may be satisfied. Conversion processing from the virtual external force into the actual forces is achieved by solving the above Expressions (19) and (20) by a secondary programming problem solver  15 - 1 . Among them, the actual force converting unit  15  outputs the torque τ a  of an actuator. 
         [0126]    A torque detection means  16  is a torque sensor (refer to  FIG. 4A ) attached to a joint part, and measures and outputs an actual torque which acts on each joint part. Also, a torque feedback control unit  17  detects the variation between the torque detected by the torque detection means  16 , and a command torque, and feeds the variation back to an electrical current target value. As a result, disturbances, such as friction and inertia, which are included in a motor driving system, are suppressed, and an actuator target torque is precisely realized in each joint. 
         [0127]    The invention has been described in detail hitherto, referring to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the spirit of the present invention. 
         [0128]    Although the embodiment in which the invention is applied to a bipedal walking legged mobile robot has been mainly described in this specification, the spirit of the present invention is not limited thereto. The invention can also be similarly applied to various types of mechatronics instruments including a multi-link structure which operates a joint actuator by the force control method. 
         [0129]    In summary, the invention has been disclosed in an illustrative manner, and the contents described in this specification should not be definitely interpreted. In order to evaluate the spirit of the present invention, the claims should be taken into consideration. 
         [0130]    In addition, the invention disclosed in the above embodiments is also taken as creation of designs, and the humanoid robot shown as  FIGS. 1A to 1F  is equivalent to a “robot toy” as described in the classification of articles comparable to Appendix 1 of Regulations under Design Law, and can also be the next aspects as description of the article related to the design. 
         [0131]    An article related to the design is a humanoid robot whose action and thinking, for example, walking or the like is controlled independently, and can move fingers, hands, and feet, can move a neck, and can move a waist, similarly to a human being. Unlike a related-art industrial robot aiming at being provided for an industrial specific application, the article does not have such a particular industrial limited application. Additionally, the article is not a mere plaything unlike related-art toys or dolls. The principal features of the article, like an actual human being, are to interchange (communicate) intention, feeling, and thinking autonomously with a human being, to improve the life of a human being, and to support these. Whether or not the article is provided for any kinds of applications or objects is dependent on those who use this article. For example, the article can also be used mainly for a pet as a child&#39;s playmate, or can be provided for the purpose of nursing of a sick person, and can also substitute for a human being’ task in an adverse environment. In this meaning, the article differs from a related-art article which is defined by specifying its application and function. 
         [0132]    Additionally, the head part of the robot shown as  FIGS. 1G to 1L  is also taken as a replaceable part which constitutes a “robot toy” as described in the classification of articles comparable to Appendix 1 of Regulations under Design Law, and is equivalent to “a head part for the robot toy.” Since the article related to the design has an application as a “robot toy” and the description thereof is common to the contents described in the above Paragraph 0129 except for functional description that the head part of the article is replaceable, the description of the article will be omitted. 
         [0133]    Here, inventions of designs in a case where the invention disclosed in the above embodiments are also taken as creation of designs are described additionally. However, since  FIG. 1B  is a left side view, and a right side view is represented substantially symmetrically, illustration of the right side view is omitted. Similarly, since a right side view is represented substantially symmetrically to  FIG. 1H , illustration thereof is omitted. 
         [0134]    Additionally, the invention disclosed in the above embodiment shall be taken as partial designs from  FIGS. 1A to 1L . Here, although not shown, the article related to the design is used as a “robot toy”, and as partial designs related to the “robot toy”, it can be inferred that the present applicant intends to receive design registration of the parts shown in  FIGS. 1G to 1L  as partial designs, and portions, other than the portions which are intended to receive design registrations as the partial designs can be inferred by subtracting  FIGS. 1G through 1L  among  FIGS. 1A to 1F . 
         [0135]    The present application contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2008-119508 filed in the Japan Patent Office on May 1, 2008, the entire contents of which is hereby incorporated by reference. 
         [0136]    It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.