WO2005082582A1 - 移動ロボットの歩容生成装置 - Google Patents

移動ロボットの歩容生成装置 Download PDF

Info

Publication number
WO2005082582A1
WO2005082582A1 PCT/JP2005/003346 JP2005003346W WO2005082582A1 WO 2005082582 A1 WO2005082582 A1 WO 2005082582A1 JP 2005003346 W JP2005003346 W JP 2005003346W WO 2005082582 A1 WO2005082582 A1 WO 2005082582A1
Authority
WO
WIPO (PCT)
Prior art keywords
reaction force
floor reaction
motion
error
force component
Prior art date
Application number
PCT/JP2005/003346
Other languages
English (en)
French (fr)
Inventor
Toru Takenaka
Takashi Matsumoto
Takahide Yoshiike
Original Assignee
Honda Motor Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co., Ltd. filed Critical Honda Motor Co., Ltd.
Priority to KR1020067017634A priority Critical patent/KR101140812B1/ko
Priority to JP2006510511A priority patent/JP4805818B2/ja
Priority to US10/597,933 priority patent/US7774098B2/en
Priority to EP05719663A priority patent/EP1738879B1/en
Publication of WO2005082582A1 publication Critical patent/WO2005082582A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages

Definitions

  • the present invention relates to a device for generating a desired gait such as a bipedal mobile robot.
  • Patent Document 2 Japanese Patent Application Laid-Open No. 2002-326173
  • Patent Document 3 PCT International Publication No. lgWO / 03/057427 / Al
  • Patent Document 3 the first dynamic model (simplified model) representing the relationship between the motion of the robot (position and posture of each part) and the floor reaction force is used. Satisfy the dynamic equilibrium condition on the first dynamic model (the condition that the translational force component of the floor reaction force reaches the target value, and the floor reaction force moment around a certain point reaches the target value).
  • an instantaneous target gait composed of an instantaneous value of the target motion of the robot (instant target motion) and an instantaneous value of the desired floor reaction force (instant target floor reaction force) is sequentially created.
  • this instantaneous desired gait is input to a second dynamic model (full model), and a part of the instantaneous desired movement (a desired upper body posture and a desired moment around the desired ZMP) is corrected.
  • the final instantaneous target gait is generated in time series.
  • a high linearity! ⁇ model is used as a first dynamic model (simple model).
  • a relatively dynamic kinetic model as a second dynamic model (full model).
  • a model with high target accuracy it is possible to make the dynamic accuracy between the gait motion and the floor reaction force finally generated closer to the dynamics of the real robot.
  • the present invention has been made in view of a powerful background, and can efficiently generate a gait that can satisfy a predetermined component of a floor reaction force that is set to prevent slipping of a robot. It is another object of the present invention to provide a gait generating device for a mobile robot, which can ensure good dynamic accuracy between the motion of the gait and the floor reaction force.
  • the first invention of the gait generating device for a mobile robot of the present invention sets an allowable range of a predetermined floor reaction force component of a floor reaction force generated by the movement of the mobile robot in order to achieve the object. And a gait generator that generates a desired gait including at least the desired motion of the mobile robot so as to satisfy the allowable range.
  • Provisional target motion creating means for creating a temporary motion that is a temporary value of the target motion using a predetermined first dynamic model of the mobile robot so that the floor reaction force component satisfies the allowable range;
  • the first reaction is generated by the floor reaction force component generated on the second dynamic model and the motion.
  • An evaluation unit for evaluating whether the floor reaction force component error calculated by the floor reaction force component error calculation unit is within a predetermined allowable error range; and When the floor reaction force component error corresponding to the temporary motion falls within the allowable error range, the temporary motion is determined as the target motion, and the floor reaction force component error corresponding to the temporary motion is reduced to the allowable error range.
  • a target motion determining means for correcting the provisional motion at least once or more to determine the target motion.
  • the target motion determining means corrects the n-th (n: n ⁇ l) integer of the tentative motion.
  • the post-correction motion determined by the n-th post-correction motion is referred to as the n-th post-correction motion
  • the floor reaction force component error calculated from the n-th post-correction motion by the floor reaction force component error calculating means is referred to as the n-th floor reaction force component error.
  • the target motion determining means may include an error of the (n ⁇ 1) th floor reaction force component and at least the (n ⁇ 1) th floor reaction force component error in the floor reaction force component generated on the first dynamic model by the nth corrected motion.
  • a post-correction motion determining process for determining the n-th post-correction motion such that the sum of the floor reaction force correction amount determined according to the component error and the floor reaction force correction amount satisfies the allowable range; and The difference between the n-th floor reaction force component error corresponding to the motion and the n-1 floor reaction force component error corresponding to the n-1 corrected motion, and the n-th floor reaction force component error and at least the n-th floor reaction force component error -1 Determines whether the floor reaction force component error change amount AFM defined as one of the difference with the floor reaction force component correction amount determined according to the floor reaction force component error has converged to 0 or not. The convergence determination process is repeated at least until it is determined that the floor reaction force component error change amount AFM has converge
  • the dynamic accuracy of the second dynamic model is different from that of the first dynamic model. Is higher than the floor reaction force generated on the second dynamic model by the arbitrary motion of the robot than the floor reaction force generated on the first dynamic model by the motion. This means that the actual floor reaction force (actual floor reaction force) acting on the robot when the actual robot performs the motion on the floor on which the motion is performed is closer to the actual floor reaction force. This applies not only to the first invention but also to any of the second to sixteenth inventions described below.
  • an arbitrary motion model of the robot satisfies a predetermined floor reaction force component (a translational floor reaction force horizontal component, a floor reaction force moment vertical component, etc.) on an arbitrary dynamic model
  • a predetermined floor reaction force component a translational floor reaction force horizontal component, a floor reaction force moment vertical component, etc.
  • the predetermined floor reaction force component generated on the dynamic model due to the motion (the predetermined floor reaction force component of the floor reaction force for which the dynamics of the dynamic model is established with respect to the motion) Min.) Falls within the allowable range.
  • the provisional target movement creating means generates a provisional movement that is a provisional value of the target movement for the time being. This provisional motion is created using the first dynamics model such that the floor reaction force component satisfies the allowable range.
  • the evaluation means evaluates whether or not the floor reaction force component error obtained from the temporary motion by the floor reaction force component error calculation means falls within a predetermined allowable error range.
  • the floor reaction force component error corresponding to the provisional motion is generated on the first dynamic model by the provisional motion and the floor reaction force component generated on the second dynamic model. Since this is a difference from the floor reaction force component, it means an error of the floor reaction force component on the first dynamic model with respect to the provisional motion.
  • the provisional movement In the evaluation by the evaluation means, when the floor reaction force component error corresponding to the provisional movement is within an allowable error range, the provisional movement generates on the first dynamic model. Since the error of the floor reaction force component is sufficiently small !, the provisional motion is determined as the target motion. If the floor reaction force component error corresponding to the provisional movement deviates from the permissible error range, the provisional movement is corrected at least once by the target movement determining means. can get. In correcting the temporary motion, the target motion determining means determines that the corrected motion determining process and the convergence determining process have converged at least to the floor reaction force component error change amount AFM to 0. Repeat until Then, the post-correction motion determined in the final post-correction motion determination process in the repetition process is determined as the target motion.
  • the floor reaction force component generated on the first dynamic model by the n-th post-correction motion after the n-th correction is added to the (n ⁇ 1) th correction. It is determined according to the (n ⁇ 1) th floor reaction force component error calculated corresponding to the post-motion (the 0th corrected motion is the tentative motion) and at least the (n ⁇ 1) th floor reaction force component error.
  • the n-th corrected motion is determined on the second dynamic model because the n-th corrected motion is determined so that the sum of the floor reaction force correction amount and the floor reaction force correction value satisfies the allowable range. There is a high possibility that the floor reaction force component will satisfy the allowable range.
  • the n-th corrected motion is not generally the same as the (n-1) -th corrected motion
  • the n-th floor reaction force component error added in determining the n-th corrected motion is considered.
  • the floor reaction force correction amount corresponding to this is not necessarily appropriate. Therefore, in the first invention, it is determined in the convergence determination processing whether or not the floor reaction force component error change amount ⁇ FM converges to 0, and the corrected motion determination is performed at least until it is determined that convergence is achieved. Repeat the process.
  • the nth floor reaction force component error corresponding to the nth corrected motion determined at that time is the (n ⁇ 1) th floor reaction force component error or the Since the floor reaction force correction amount is substantially equivalent to the floor reaction force correction amount, the (n ⁇ 1) th floor reaction force component error or the floor reaction force correction amount corresponding to the (n ⁇ 1) th floor reaction force component error when determining the n-th corrected motion is appropriate. It can be said that there is a (highly reliable!) Floor reaction force component error. Then, the n-th corrected motion at this time is determined as the target motion.
  • the corrected motion is created on a first kinetic model (which is generally more linear than the second kinetic model), and the second kinetic model is simply an n-th (1) Since it is used to calculate the floor reaction force from the post-correction motion, the process of generating the n-th post-correction motion and the process of calculating the floor reaction force for the (n-1) post-correction motion must be performed efficiently and in a short time. Can be. Further, the tentative motion (the motion after the 0th correction) does not require much dynamic accuracy, so that the temporary motion can be easily and quickly created using a highly linear dynamic model such as the first dynamic model. it can.
  • the first invention it is possible to efficiently generate a gait that satisfies the allowable range of the predetermined component of the floor reaction force, and to obtain a dynamic between the motion of the gait and the floor reaction force. Good target accuracy can be ensured.
  • the target motion is created using the first dynamics model, which is generally more linear than the second dynamics model, the floor reaction force component error or the corresponding It is possible to efficiently generate a target motion such that the floor reaction force component considering the floor reaction force correction amount can appropriately satisfy the allowable range.
  • the second aspect of the mobile robot gait generating device of the present invention provides an allowable range of a predetermined floor reaction force component of a floor reaction force generated by the movement of the mobile robot.
  • a gait generator for generating a desired gait including at least a desired movement of the mobile robot so as to satisfy a permissible range by setting a surrounding area;
  • Provisional target movement creating means for creating a provisional movement that is a provisional value of the target movement; a predetermined first dynamics model of the mobile robot; and a predetermined dynamics accuracy higher than the first mobile dynamics model.
  • the floor reaction force component generated on the second dynamic model by the motion with respect to an arbitrary motion of the mobile robot and the first dynamic model by the motion A floor reaction force component error calculating means for obtaining a floor reaction force component error that is a difference from the floor reaction force component generated in;
  • Target movement determining means for correcting the temporary movement at least once or more to determine the target movement
  • the corrected motion obtained by the target motion determining means by the n-th correction (n: n ⁇ 1) of the provisional motion is referred to as an n-th corrected motion, and the floor movement is calculated from the n-th corrected motion.
  • the floor reaction force component error obtained by the force component error calculation means is defined as the n-th floor reaction force component error
  • the temporary motion is defined as the 0th corrected motion
  • the floor reaction force component error calculation means obtains the temporary motion from the temporary motion.
  • the target motion determining means includes an error of the (n ⁇ 1) th floor reaction force component and at least the (n ⁇ 1) th floor reaction force component error in the floor reaction force component generated on the first dynamic model by the nth corrected motion.
  • a post-correction motion determining process for determining the n-th post-correction motion so that the sum of any of the floor reaction force correction amounts determined according to the component errors satisfies the allowable range; and The nth floor reaction force component error corresponding to the motion and the n-1st corresponding to the n-1st corrected motion The difference between the floor reaction force component error, and the difference between the n-th floor reaction force component error and the floor reaction force correction amount determined in accordance with at least the (n-1) th floor reaction force component error.
  • the convergence determination process for determining whether the defined floor reaction force component error change amount AFM has converged to 0 is performed until at least the floor reaction force component error change amount AFM is determined to have converged to 0. It is characterized in that the corrected motion determined in the last post-correction motion determination process in this repetition process is determined as the target motion.
  • the evaluation means in the first invention is omitted, and the corrected motion determination process and the convergence determination process are executed at least once.
  • the temporary motion may be created using the first dynamics model so that the floor reaction force component satisfies the allowable range, as in the first invention. Good, but it doesn't have to be.
  • the operation and effect of the post-correction motion determination processing and the convergence determination processing are the same as those of the first invention. Therefore, a desired gait with high dynamic accuracy that can satisfy the allowable range of the floor reaction force component on the second dynamic model can be generated on the first dynamic model.
  • the corrected motion is created on the first dynamic model, and the second dynamic model simply calculates the floor reaction force from the n-1 corrected motion. Since it is used to calculate the motion, the process of generating the n-th corrected motion and the process of calculating the floor reaction force for the n-1 th corrected motion can be performed efficiently and in a short time. In addition, since the tentative motion (the motion after the 0th correction) does not require much dynamic accuracy, the tentative motion is easily created in a short time using a highly linear dynamic model such as the first dynamic model. it can.
  • the second invention similarly to the first invention, it is possible to efficiently generate a gait that can satisfy the allowable range of the predetermined component of the floor reaction force, and to simultaneously exercise the gait with the floor reaction force.
  • the dynamic accuracy between the force and the force can be secured well.
  • the target motion is created by using the first dynamic model, which is generally more linear than the second dynamic model, the floor reaction force component error or the corresponding The desired motion can be efficiently generated such that the floor reaction force component in consideration of the corrected floor reaction force correction amount can appropriately satisfy the allowable range.
  • a third invention of the gait generation device for a mobile robot of the present invention includes a target value of a predetermined first floor reaction force component of the floor reaction force generated by the motion of the mobile robot and the first floor reaction force component. And a predetermined allowable range of the second floor reaction force component, which is different from the target value of the mobile robot, so that the target value of the first floor reaction force component and the allowable range of the second floor reaction force component are satisfied.
  • a gait generator for generating a desired gait including at least movement
  • the second dynamics A floor reaction force component error Aerr which is a difference between the first floor reaction force component generated on the dynamic model and the first floor reaction force component generated on the first dynamic model due to the motion, and A floor reaction force component error which is a difference between the second floor reaction force component generated on the second dynamic model due to the motion and the second floor reaction component generated on the first dynamic model due to the motion.
  • the created temporary motion force The floor reaction force component error Aerr of the floor reaction force component error Aerr and Berr obtained by the floor reaction force component error calculation means falls within a predetermined first allowable error range! And evaluation means for evaluating whether or not the floor reaction force component error Berr falls within a predetermined second allowable error range,
  • the evaluation means when both the floor reaction force component errors Aerr and Berr corresponding to the provisional movement fall within the corresponding first and second allowable error ranges, respectively, The motion is determined as the target motion, and at least one of the floor reaction force component errors Aerr and Berr corresponding to the provisional motion is either the first allowable error range or the second allowable error range corresponding to the error.
  • the corrected motion determined by the target motion determining means by the n-th (n: n ⁇ l) correction of the tentative motion is referred to as an n-th corrected motion, and the floor reaction from the n-th corrected motion is performed.
  • the floor reaction force component errors Aerr and Berr obtained by the force component error calculation means are respectively the nth floor reaction force component errors Aerr (n) and Berr (n), the provisional motion is the 0th corrected motion, and the provisional motion is Floor reaction force component errors Aerr and Berr corresponding to the zeroth floor reaction force component errors A err (0) and Berr (0), respectively.
  • the target motion determining means includes, for the first floor reaction force component generated on the first dynamic model by the n-th corrected motion, an (n ⁇ 1) th floor reaction force component error Aerr (nl) and at least the second floor reaction force component error Aerr (nl).
  • the value obtained by adding any one of the first floor reaction force correction amount determined according to the n-1 floor reaction force component error Aerr (nl) coincides with the target value, and
  • the second floor reaction force component generated on the first dynamics model has an n-1st floor reaction force component error Berr (nl) and at least the n-1th floor reaction force component error Berr (nl).
  • n floor A floor reaction defined as one of a difference between a force component error Aerr (n) and the first floor reaction force correction amount determined according to at least the (n ⁇ 1) th floor reaction force component error A err (nl).
  • Force component error change amount ⁇ Aerr the n-th floor reaction force component error corresponding to the determined n-th corrected motion Berr (n) and the (n ⁇ 1) th corrected motion corresponding to the (n ⁇ 1) -th corrected motion Error Berr (nl), and the second floor reaction force determined in accordance with the n-th floor reaction force component error Berr (n) and at least the n-1st floor reaction force component error Berr (nl).
  • a convergence determination process for determining whether the floor reaction force component error change amount ⁇ Berr defined as one of the differences from the force correction amount has converged to 0. It repeats until it is determined that both the forces ⁇ Aerr and ⁇ Berr have converged to the force ⁇ , and is determined in the last modified motion determination process in this repetition process. The motion after the correction is determined as the target motion.
  • satisfying a desired value of a predetermined floor reaction force component on an arbitrary dynamic model with respect to an arbitrary motion of the robot is determined by the motion.
  • the predetermined floor reaction force component generated on the dynamic model matches or almost matches the target value.
  • the third aspect of the invention is based on a floor reaction force acting on the mobile robot, in addition to an allowable range of a second floor reaction force component (which corresponds to a predetermined floor reaction force component in the first invention).
  • a desired gait including a desired exercise is generated so as to satisfy the desired value of the first floor reaction force component.
  • the provisional target motion creating means generates a provisional motion that is a provisional value of the target motion for the time being. This provisional motion is created using the first dynamics model so that the first floor reaction force component matches the target value and the second floor reaction force component satisfies the allowable range. You.
  • the floor reaction force component error Aerr and Berr obtained from the temporary motion by the floor reaction force component error calculation means fall within the first allowable error range and the second allowable error range, respectively. Evaluated by means.
  • the floor reaction force component error Aerr corresponding to the tentative motion is represented by the first floor reaction force component generated on the second dynamic model by the tentative motion and the first dynamic model by the tentative motion. Since this is a difference from the first floor reaction force component generated in the above, it means an error of the first floor reaction force component on the first dynamic model with respect to the provisional motion.
  • the floor reaction force component error Berr corresponding to the tentative motion is calculated on the first dynamic model by the second reaction force component generated on the second dynamic model by the tentative motion and by the tentative motion. Since this is a difference from the generated second floor reaction force component, it means an error of the second floor reaction force component on the first dynamic model with respect to the provisional motion. Note that the first allowable error range and the second allowable error range may be the same range.
  • both the floor reaction force component errors Aerr and Berr corresponding to the provisional motion fall within the corresponding first and second allowable error ranges.
  • the provisional motion is controlled by the eye movement. It is determined as a target movement.
  • one of the floor reaction force component errors Aerr and Berr corresponding to the provisional motion deviates from the corresponding first or second allowable error range.
  • the provisional motion is corrected at least once by the target motion determining means, and the correction results in the target motion.
  • the target motion determining means sets the corrected motion determining process and the convergence determining process to at least both the floor reaction force component error change amounts AAerr and ⁇ Berr to 0. It repeats until it is determined that it has converged, and determines the post-correction motion determined in the final post-correction motion determination process in this repetition process as the target motion.
  • the first floor reaction force component generated on the first dynamic model by the n-th post-correction motion after the n-th correction is added to the post-n ⁇ 1 post-correction component.
  • the motion (the 0th corrected motion is the provisional motion) is the n ⁇ 1th floor reaction force component error Aerr (nl) and at least the (n ⁇ 1) th floor reaction force component error Aerr ( nl), the sum of the first floor reaction force correction amount and the first floor reaction force correction amount that matches the target value, and the second floor reaction force generated on the first dynamic model by the n-th corrected motion
  • the 2 floor reaction force component error Berr (nl) and at least the n-1 floor reaction force component error Berr (nl) calculated corresponding to the n-1 post-correction motion are added to the 2 floor reaction force component.
  • the n-th corrected motion is determined such that the sum of the second floor reaction force correction amount and the second floor reaction force correction amount satisfies the allowable range.
  • the n-th corrected motion is not generally the same as the (n-1) -th corrected motion, the (n-1) -th floor reaction force component error Aerr (nl ) And Berr (nl), or the first floor reaction force correction amount and the second floor reaction force correction amount corresponding to these, are not necessarily appropriate. Therefore, in the third invention, based on the same concept as in the first invention, it is determined whether the floor reaction force component error change ⁇ Aerr and the floor reaction force component error change ⁇ Berr converge to 0, respectively.
  • the corrected motion determination process is repeated until it is determined that at least both ⁇ Aerr and ⁇ Berr have converged.
  • the nth floor reaction force component error Aerr (n), Berr (n) corresponding to the nth corrected motion determined at that time is The n ⁇ 1th floor reaction force component error Aerr (nl), Berr (n-1), respectively, or approximately the same as the first floor reaction force correction amount and the second floor reaction force correction amount corresponding to these.
  • the n-th floor reaction force component error Aerr (nl) or the first floor reaction force correction amount corresponding to the n-th floor reaction force component error A 1 Floor reaction force component error Berr (nl) or the second floor reaction force error It can be said that both the force correction amount and the appropriate (highly reliable) floor reaction force component error.
  • the motion after the n-th correction at this time is determined as the target motion.
  • the corrected motion is created on a first kinetic model (which is generally more linear than the second kinetic model), and the second kinetic model is simply an n-th (1) Since it is used to calculate the floor reaction force from the post-correction motion, the process of generating the n-th post-correction motion and the process of calculating the floor reaction force for the (n-1) post-correction motion must be performed efficiently and in a short time. Can be.
  • the temporary motion (the motion after the 0th correction) does not require much dynamic accuracy, so that the temporary motion can be easily created in a short time using a highly linear dynamic model such as the first dynamic model. it can.
  • a gait that can satisfy the target value of the first floor reaction force component and the allowable range of the second floor reaction force component can be efficiently generated, and the gait of the gait can be efficiently generated.
  • the dynamic accuracy between the movement and the floor reaction force can be ensured well.
  • the target motion is created using the first dynamic model which is generally more linear than the second dynamic model, the floor reaction force component error Aerr or the corresponding The first floor reaction force component, which tastes the first floor reaction force correction amount, appropriately satisfies the target value, and the floor reaction force component error Berr or the second floor reaction force correction amount corresponding thereto is calculated. It is possible to efficiently generate a target motion in which the added second floor reaction force component can appropriately satisfy the allowable range.
  • the fourth invention of the gait generation device for a mobile robot of the present invention provides a first floor reaction force component of a floor reaction force generated by the movement of the mobile robot.
  • a target value and an allowable range of a predetermined second floor reaction force component different from the first floor reaction force component are set, and a target value of the first floor reaction force component and an allowable range of the second floor reaction force component are set.
  • a gait generator that generates a desired gait including at least the desired movement of the mobile robot so as to satisfy the following condition: tentative target movement creating means for creating a temporary movement that is a temporary value of the desired movement.
  • Target movement determining means for correcting the temporary movement at least once or more to determine the target movement
  • the corrected motion obtained by the target motion determining means by the n-th correction (n: n ⁇ 1) of the provisional motion is referred to as an n-th corrected motion, and the floor movement is calculated from the n-th corrected motion.
  • the floor reaction force component errors Aerr and Berr obtained by the force component error calculation means are respectively the nth floor reaction force component errors Aerr (n) and Berr (n), the temporary motion is the 0th corrected motion,
  • the floor reaction force component errors Aerr and Berr obtained from the motion by the floor reaction force component error calculation means are respectively set to the zeroth floor reaction force component errors Aerr (O) and Berr (O)
  • the target motion determining means includes, for the first floor reaction force component generated on the first dynamic model by the n-th corrected motion, an (n ⁇ 1) th floor reaction force component error Aerr (nl) and at least the second floor reaction force component error Aerr (nl).
  • the value obtained by adding any one of the first floor reaction force correction amount determined according to the n-1 floor reaction force component error Aerr (nl) coincides with the target value, and
  • the second floor reaction force component generated on the first dynamics model has an n-1st floor reaction force component error Berr (nl) and at least the n-1th floor reaction force component error Berr (nl).
  • n Floor reaction force A floor reaction force defined as one of a difference between a minute error Aerr (n) and the first floor reaction force correction amount determined according to at least the (n ⁇ 1) th floor reaction force component error A err (nl).
  • the floor reaction force component error change amount ⁇ Berr defined as one of the difference from the second floor reaction force correction amount determined according to the reaction force component error Berr (nl)
  • the convergence determination process of determining whether or not the error has been converged to at least both the floor reaction force component error change amount ⁇ Aerr and ⁇ Berr is determined.
  • the modified motion determined by the processing is determined as the target motion.
  • the evaluation means in the third invention is omitted, and the corrected motion determination processing and the convergence determination processing are executed at least once.
  • the first floor reaction force component matches the target value by using the first dynamics model, as in the third invention, and
  • the second floor reaction force component may be created so as to satisfy the allowable range! ⁇ is not necessarily created in this way.
  • the operational effects of the post-correction motion determination processing and the convergence determination processing are the same as those of the third invention. Therefore, a desired gait with high dynamic accuracy that satisfies the target value of the first floor reaction force component and the allowable range of the second floor reaction force component on the second dynamic model. Can be generated on the first kinetic model.
  • the corrected motion is created on the first dynamic model, and the second dynamic model simply calculates the floor reaction force from the n-1 corrected motion. Since it is used to calculate the motion, the process of generating the n-th corrected motion and the process of calculating the floor reaction force for the n-1 th corrected motion can be performed efficiently and in a short time. In addition, since the tentative motion (the motion after the 0th correction) does not require much dynamic accuracy, the tentative motion is easily created in a short time using a highly linear dynamic model such as the first dynamic model. it can.
  • a gait that can satisfy the target value of the first floor reaction force component and the allowable range of the second floor reaction force component can be efficiently generated.
  • the target motion is created using the first dynamic model, which is generally more linear than the second dynamic model.
  • the first floor reaction force component appropriately satisfies the target value and the floor reaction force component error Berr is added. It is possible to efficiently generate a target motion such that the second floor reaction force component appropriately satisfies the allowable range.
  • the floor reaction force component is a translational floor reaction force horizontal component of a floor reaction force acting on the mobile robot (a fifth invention). According to this, it is possible to generate a desired gait in which the translational floor reaction force horizontal component appropriately satisfies the allowable range (contains within the allowable range), so that it is possible to appropriately generate a desired gait that is unlikely to cause a slip of the robot.
  • the first floor reaction force component is a floor reaction force of the floor reaction force acting on the moving robot around a predetermined point of action (for example, a target ZMP). It is a force moment horizontal component, and the second floor reaction force component is preferably a translational floor reaction force horizontal component of a floor reaction force acting on the mobile robot (a sixth invention).
  • the floor reaction force moment horizontal component around the predetermined action point satisfies the target value
  • the translational floor reaction force horizontal component satisfies the allowable range (ie, falls within the allowable range). Since the gait can be generated, it is difficult for the robot to slip while satisfying the dynamic equilibrium condition. ⁇ The desired gait can be generated appropriately.
  • the seventh invention of the mobile robot gait generator of the present invention provides a target ZMP of the mobile robot and a translational floor reaction force generated by the motion of the mobile robot.
  • a gait generator which sets a permissible range of a horizontal component and generates a desired gait including at least a target motion of the mobile robot so as to satisfy the target ZMP and the permissible range of the translational floor reaction force horizontal component.
  • Error ZMPerr which is the difference between ZMP calculated on the dynamic model and ZMP calculated on the first dynamics model by the motion
  • Translation which is the difference between the translational floor reaction force horizontal component generated and the translational floor reaction force horizontal component generated on the first dynamic model by the motion.
  • Error calculating means for obtaining a floor reaction force horizontal component error Ferr
  • At least one of the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr corresponding to the provisional motion deviates from the corresponding first or second allowable error range! / If you want! Then, the corrected motion determined by the target motion determining means by the n-th correction of the provisional motion (n: an integer satisfying n ⁇ l) is referred to as an n-th corrected motion, and the floor motion is calculated from the n-th corrected motion.
  • the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr obtained by the reaction force component error calculation means are defined as an n-th ZMP error ZMPerr (n) and an n-th translational floor reaction force horizontal component error Ferr (n), respectively.
  • the target motion determining means is responsive to the ZMP calculated on the first dynamic model by the n-th corrected motion, the (n ⁇ 1) th ZMP error ZMPerr (nl) and at least the (n ⁇ 1) th ZMP error ZMPerr (nl).
  • the translational floor generated on the first dynamics model by the n / m-corrected motion matches the target ZMP with!
  • the deviation from the ZMP correction amount determined in The reaction force horizontal component includes the n-1st translational floor reaction force horizontal component error Ferr (nl) and at least the floor reaction force correction amount determined according to the n-1st translational floor reaction force horizontal component error Ferr (nl) When Determine the n-th corrected motion so that the sum of the deviations satisfies the allowable range.
  • the corrected motion determination process, and the n-th ZMP error ZMPerr (n) corresponding to the determined n-th corrected motion.
  • the ZMP error change amount A ZMPerr defined as one of the difference from the ZMP correction amount determined accordingly and the n-th translational floor reaction force horizontal component error Ferr (n ) And the n-1 translational floor reaction force horizontal component error F err (nl) corresponding to the n-1 corrected motion, and at least the n-th translation floor reaction force horizontal component error Ferr (n)
  • the convergence judgment processing for judging whether or not the flat component error variation ⁇ Ferr has converged to 0 is performed at least by the ZMP error variation ⁇ ZMPerr and the translational floor reaction force horizontal component error variation ⁇ Ferr. It repeats until it is determined that it has converged to 0, and determines the post-correction motion determined in the last post-correction motion determination process in this repetition process as the target motion.
  • satisfying the target ZMP on an arbitrary dynamic model for an arbitrary motion of the robot means that the robot generates on the dynamic model by the motion. It means that the horizontal component of the moment generated around the target ZMP (or the floor reaction force moment horizontal component that balances the moment) is zero or almost zero, as the resultant of the inertial force and the gravity acting on the robot. This is the same in the eighth, tenth, fifteenth, and sixteenth inventions described below.
  • the provisional target movement creating means generates a provisional movement that is a provisional value of the target movement for the time being.
  • the provisional motion is created using the first dynamics model such that the target ZMP is satisfied and the translational floor reaction force horizontal component satisfies the allowable range.
  • the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr obtained from the provisional motion by the error calculating means fall within the first allowable error range and the second allowable error range, respectively. Is evaluated by In this case, the ZMP error ZMPerr corresponding to the provisional motion is calculated on the second dynamic model by the provisional motion.
  • the difference between the ZMP calculated on the first dynamic model and the ZMP calculated on the first dynamic model by the temporary motion means an error of the ZMP on the first dynamic model with respect to the temporary motion.
  • the translational floor reaction force horizontal component error Berr corresponding to the provisional motion is the translational floor reaction force horizontal component generated on the second dynamic model due to the provisional motion and the first dynamic model Since this is the difference from the translational floor reaction force horizontal component generated above, it means the error of the translational floor reaction force horizontal component on the first dynamic model for the tentative motion.
  • both the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr corresponding to the provisional motion correspond to the first allowable error range and the second allowable error range, respectively. If the error is within the allowable error range, the ZMP calculated on the first dynamic model by the provisional motion is sufficiently small and the translational floor generated on the first dynamic model by the provisional motion is generated. Since the error of the reaction force horizontal component is both sufficiently small! /, The provisional movement is determined as the target movement.
  • the target motion determining means determines the corrected motion determining process and the convergence determining process by at least the ZMP error change ⁇ ZMPerr and the translational floor reaction force horizontal component error. The process is repeated until it is determined that both the change amounts ⁇ Ferr converge to 0, and the corrected motion determined in the final corrected motion determination process in this repetition process is determined as the target motion.
  • the ZMP calculated on the first dynamic model by the n-th post-correction motion after the n-th correction is added to the n ⁇ 1 post-correction motion (
  • the motion after the 0-th correction is the provisional motion
  • an (n ⁇ 1) -ZMP error ZMPerr (nl) calculated corresponding to the temporary motion is the provisional motion
  • the translational floor reaction force horizontal component generated on the first dynamic model by the n-th corrected motion is obtained by adding any one of N ⁇ 1 translational floor reaction force horizontal component error Ferr (nl) calculated in accordance with and the floor reaction force correction amount determined according to at least the n ⁇ 1 translational floor reaction force horizontal component error Ferr (nl) And added either The n-th corrected motion is determined so that the object satisfies the above-mentioned tolerance.
  • the convergence judgment is made based on the same concept as in the first invention, whether or not the ZMP error change amount ⁇ ZMPerr and the translational floor reaction force horizontal component error change amount ⁇ Ferr converge to 0, respectively.
  • the corrected motion determination process is repeated until it is determined that at least both ⁇ ZMPerr and ⁇ Ferr have converged.
  • the nZMP error ZMPerr (n) and the nth translational floor reaction force horizontal component error Ferr corresponding to the nth corrected motion determined at that time (n) is the n-1st ZMP error ZMPerr (nl), the n-1st translational floor reaction force horizontal component error Ferr (n-1), or the ZMP correction amount and the floor reaction force correction amount corresponding to these, respectively.
  • n-th ZMP error ZMPerr (nl) or the ZMP correction amount corresponding thereto which is added when determining the n-th corrected motion, and the n-th translational floor reaction force horizontal It can be said that both the component error Ferr (nl) and the floor reaction force correction amount corresponding thereto are appropriate (highly reliable) floor reaction force component errors. Then, the n-th corrected motion at this time is determined as the target motion.
  • a target gait with high dynamic accuracy that satisfies the target ZMP on the second dynamic model and the allowable range of the translational floor reaction water in the first dynamic model can be obtained. It can be generated on the model.
  • the corrected motion is created on a first kinetic model (which is generally more linear than the second kinetic model), and the second kinetic model is simply an n-th (1) Since it is used to find the ZMP and floor reaction force from the post-correction motion, the process of generating the n-th post-correction motion and the process of calculating the ZMP and floor reaction force for the (n-1) post-correction motion are efficiently shortened. Do it in time. In addition, since the tentative motion (the motion after the 0th correction) does not require much dynamic accuracy, it can be easily and quickly performed using a highly linear dynamic model such as the first dynamic model. Can be created.
  • the target ZMP and the allowable range of the translational floor reaction force horizontal component are satisfied.
  • a possible gait can be efficiently generated, and dynamic accuracy between the motion of the gait and the floor reaction force can be ensured well.
  • the ZMP error ZMPerr or the corresponding ZMP taking into account the ZMP correction amount appropriately satisfies the target ZMP, and the translational floor reaction force horizontal component error Ferr or the translational floor reaction force horizontal component taking into account the floor reaction force correction amount corresponding to this is appropriately allowed.
  • the target motion that can satisfy the range can be efficiently generated.
  • an eighth aspect of the mobile robot gait generator of the present invention provides a target ZMP of the mobile robot and an allowable range of a translational floor reaction force horizontal component generated by the motion of the mobile robot. And a gait generator for generating a desired gait including at least the desired motion of the mobile robot so as to satisfy the desired ZMP and the allowable range of the translational floor reaction force horizontal component.
  • a temporary target motion creating means for creating a temporary motion that is a temporary value of the target motion; a predetermined first dynamic model of the mobile robot; and a predetermined second dynamic model having a higher dynamic accuracy than the first dynamic model.
  • ZMP calculated on the second dynamic model by the motion and ZMP calculated on the first dynamic model by the motion And the translational floor reaction force horizontal component generated on the first dynamics model by the motion and the translational floor reaction force horizontal component generated on the second dynamics model by the motion.
  • Error calculating means for obtaining a translational floor reaction force horizontal component error Ferr, which is a difference from
  • Target movement determining means for correcting the temporary movement at least once or more to determine the target movement
  • the corrected motion determined by the target motion determining means by the n-th correction (n: n ⁇ 1) of the temporary motion is referred to as an n-th corrected motion, and the floor movement is calculated from the n-th corrected motion.
  • the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr obtained by the force component error calculation means are defined as the n-th ZMP error ZMPerr (n) and the n-th translational floor reaction force horizontal component error F err (n), respectively.
  • the motion is assumed to be the 0th corrected motion, and the ZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr obtained from the provisional motion by the floor reaction force component error calculating means are calculated.
  • the target motion determining means includes an (n ⁇ 1) -th ZMP error ZMPerr (nl) and at least the (n ⁇ 1) -th ZMP error ZMPerr (n ⁇ 1) in the ZMP calculated on the first dynamic model by the n-th corrected motion.
  • the difference between the! / And the ZMP correction amount determined in accordance with the target is the same as the target ZMP, and the n-corrected motion is generated on the first dynamic model.
  • the translational floor reaction force horizontal component includes an (n ⁇ 1) th translational floor reaction force horizontal component error Ferr (nl) and at least the n ⁇ 1th translational floor reaction force horizontal component error Ferr (nl).
  • the n-th corrected motion is determined so that the sum of the correction amount and the deviation or the difference satisfies the allowable range.
  • the ZMP error defined as one of the differences from the ZMP correction amount determined according to the ZMPerr (n-1)
  • the change amount A ZMPerr corresponding to the determined n-th corrected motion The difference between the nth translational floor reaction force horizontal component error Ferr (n) and the n-1st translational floor reaction force horizontal component error F err (nl) corresponding to the n-1st corrected motion, and the nth translation
  • the difference between the floor reaction force horizontal component error Ferr (n) and the floor reaction force correction amount determined in accordance with at least the n ⁇ 1th translational floor reaction force horizontal component error Ferr (nl) is defined as V or deviation.
  • the convergence determination process for determining whether or not the translational floor reaction force horizontal component error change ⁇ Ferr converges to 0, respectively, at least by the ZMP error change ⁇ ZMPerr and the translational floor reaction force horizontal component error change. Repeat until it is determined that both of the quantities ⁇ Ferr have converged to 0, and repeat until it is determined that both of the forces have converged to ⁇ . Is characterized in determining a corrected was determined at the end of the corrected motion determination processing motion in processing returns as the target exercise.
  • the evaluation means in the seventh invention is omitted, and the corrected motion determination processing and the convergence determination processing are executed at least once.
  • the provisional motion is created using the first dynamics model so that the target ZMP is satisfied and the translational floor reaction force horizontal component satisfies the allowable range.
  • the operation and effect of the post-correction motion determination processing and the convergence determination processing are the same as those of the seventh invention. Accordingly, a target gait with high dynamic accuracy that satisfies the target ZMP on the second dynamic model and satisfies the allowable range of the horizontal component of the floor reaction force in the first dynamic model. Can be generated by
  • the corrected motion is created on a first kinetic model (which is generally more linear than the second kinetic model). Is simply used to determine the n ⁇ 1th corrected motion force ZMP and the floor reaction force, so the generation of the nth corrected motion and the ZMP and floor reaction force The calculation process can be performed efficiently and in a short time. Also, since the tentative motion (the motion after the 0th correction) does not require much dynamic accuracy, it can be easily and quickly created using a highly linear dynamic model such as the first dynamic model. it can.
  • the eighth invention similarly to the seventh invention, it is possible to efficiently generate a gait that satisfies the target ZMP and the allowable range of the translational floor reaction force horizontal component, and at the same time, moves the gait.
  • the dynamic accuracy between the ground reaction and the floor reaction can be ensured well.
  • the ZMP error ZMPerr or the ZMP The ZMP that takes into account the correction amount appropriately satisfies the target ZMP, and the translational floor reaction force horizontal component error Ferr or the translational floor reaction force horizontal component that takes into account the floor reaction force correction amount corresponding to this error is appropriately set. It is possible to efficiently generate a target motion that satisfies the allowable range.
  • the first floor reaction force component generated on the first dynamic model by the provisional motion is the same as the first invention. It matches or almost matches the target value.
  • the n-th corrected motion includes the first floor reaction force horizontal component generated on the first dynamics model, the (n ⁇ 1) th floor reaction force component error Aerr (nl), and a predetermined The value obtained by adding any one of the values multiplied by the first coefficient is determined to be equal to the target value.
  • the first floor reaction force horizontal component generated on the first dynamic model by the n-th corrected motion is calculated from the target value by the n ⁇ 1th floor reaction force component error Aerr (nl) and a predetermined error It is equal to or almost equal to the value obtained by subtracting one of the values multiplied by the first coefficient.
  • Aerr nl
  • a predetermined error It is equal to or almost equal to the value obtained by subtracting one of the values multiplied by the first coefficient.
  • the floor reaction force component error calculating means is configured to determine whether or not the temporary motion is generated on the first dynamic model by the temporary motion.
  • the floor reaction force component error Aerr corresponding to the provisional movement is calculated, and for the n-th corrected movement other than the provisional movement, the n
  • the first floor reaction force component error Aerr (nl) based on the target value and at least the n-1 floor
  • the floor reaction force component error A corresponding to the n-th corrected motion is obtained by subtracting any force from the first floor reaction force correction amount determined according to the reaction force component error Aerr (nl).
  • err may be calculated (the ninth invention).
  • the provisional motion creating means is configured to satisfy a target value of the first floor reaction force component on at least the first dynamic model.
  • the provisional motion is generated by the first floor reaction force component error calculating means, the first reaction force generated on the first dynamic model by the provisional motion is generated.
  • the floor reaction force component error Aerr corresponding to the provisional movement is calculated by using the target value as the force component, and for the n-th corrected movement other than the provisional movement, the n-th corrected movement is performed.
  • the (n ⁇ 1) th floor reaction force component error Aerr (nl) and at least the (n ⁇ 1) th floor reaction force component are calculated from the target value.
  • the difference obtained by subtracting any of the first floor reaction force correction amounts determined according to the error Aerr (nl) May be set to so that to calculate the floor reaction force component error Aerr corresponding after said n corrected motion by Being (tenth aspect).
  • the ninth invention or the tenth invention without directly calculating the first floor reaction force component from the n-th corrected motion by the first dynamics model, the floor corresponding to these motions is not calculated.
  • the reaction force component error can be easily obtained.
  • the floor reaction force component error calculating means responds to the temporary motion by the first dynamics by the temporary motion.
  • the ZMP error ZMPerr to be calculated is calculated, and for the n-th corrected motion other than the provisional motion, the ZMP calculated on the first dynamic model by the n-th corrected motion is calculated from the target ZMP.
  • the n-th correction is performed by subtracting any one of the (n ⁇ 1) -th ZMP error ZMPerr (nl) and the ZMP correction amount determined according to at least the (n ⁇ 1) -th ZMP error ZMPerr (nl).
  • the ZMP error ZMPerr corresponding to the post-motion may be calculated (eleventh invention).
  • the reaction force component error calculating means uses the target ZMP as the ZMP calculated on the first dynamics model by the provisional motion by using the target ZMP error for the provisional motion.
  • ZMPerr is calculated, and for the n-th corrected motion other than the provisional motion, as the ZMP calculated on the first dynamic model by the n-th corrected motion, from the target ZMP to the (n ⁇ 1) ZMP Either the error ZMPerr (nl) or at least the (n ⁇ 1) -th ZMP error ZMPerr (n ⁇ 1) determined in accordance with the ZMP error (n ⁇ 1).
  • the ZMP error ZMPerr corresponding to the movement may be calculated as follows. Akira).
  • the ZMP errors corresponding to these motions are not directly calculated from the provisional motion or the n-th corrected motion by the first dynamic model, but are calculated. Can be easily obtained.
  • the target movement, the provisional movement, and the corrected movement are the time series of the instantaneous values of the movement of the mobile robot during a predetermined period.
  • the m-th floor reaction force component error (m: an integer that satisfies m ⁇ 0) obtained by the floor reaction force component error calculation means is calculated by the m-th correction motion.
  • the predetermined allowable error range of the evaluation means is an allowable error range for a predetermined first characteristic amount of the time-series notons constituting the zeroth floor reaction force component error, and the target motion determining means
  • the corrected motion determination process of the present invention includes, at each time t of the n-th corrected motion, an instantaneous value FM of the floor reaction force component generated on the first dynamic model at time t by the n-th corrected motion.
  • (t) the value obtained by adding one of the value of the (n ⁇ 1) th floor reaction force component error at the time t and the value of the floor reaction force correction amount determined at least in accordance with the value is obtained at the time.
  • the instantaneous value of the n-th corrected motion at the time t is determined so as to satisfy the allowable range at the time t, and the floor reaction force component error change amount AFM is the n-th floor reaction force component error.
  • the floor reaction force component error change amount AFM is the n-th floor reaction force component error.
  • the convergence determination process of the target motion determining means is such that the predetermined second characteristic amount of the time series pattern forming the floor reaction force component error change amount ⁇ FM is a predetermined allowable change. It is preferable that the process is a process of determining that the floor reaction force component error change amount AFM force SO has converged when the value falls within the range (the thirteenth invention).
  • the types of the first feature amount and the second feature amount are a maximum value of an absolute value of a time series (an absolute value of each value of a time series), or The sum of the absolute values, the effective value of the pattern of the time series, or the difference between the maximum value and the minimum value of the time series is exemplified.
  • the types of the first feature amount and the second feature amount need not be the same, but may be the same.
  • the evaluation means includes: a first characteristic of a time-series pattern constituting the zeroth floor reaction force component error (that is, the floor reaction force component error corresponding to the provisional motion). Since it is evaluated whether the amount falls within the allowable error range, it can be evaluated whether the time series of the zeroth floor reaction force component error is sufficiently small as a whole. As a result, it is possible to appropriately evaluate whether or not the entire time series of the instantaneous values of the provisional movement is suitable as the time series of the target movement. Further, in the convergence determination process, it is determined that the predetermined second feature amount of the time-series pattern constituting the floor reaction force component error change amount AFM falls within a predetermined allowable change amount range.
  • the time series of the determined instantaneous values of the n-th corrected motion is a force determined by taking into account a highly reliable floor reaction force component error or a highly reliable floor reaction force correction amount. It is possible to judge appropriately. As a result, the reliability of the dynamic accuracy of the desired gait including the finally determined desired movement can be improved.
  • the target motion, the provisional motion, and the corrected motion are the motions of the mobile robot in a predetermined period.
  • the m-th floor reaction force component error (m: an integer that satisfies m ⁇ 0) obtained by the floor reaction force component error calculation means is the m-th corrected motion.
  • the corrected motion determining process of the target motion determining means is performed at each time t of the n-th corrected motion, which is formed from a time series of the difference between the instantaneous value of the floor reaction force component and the instantaneous value during the predetermined period.
  • the first dynamics at time t by the n-th corrected motion The instantaneous value FM of the floor reaction force components that occur on Dell (t), the first n - 1 floor values and at least the floor reaction force correction determined in accordance with said value of reaction force component error of the time t And determining the instantaneous value of the n-th corrected motion at the time t such that the sum of the deviations satisfies the allowable range at the time t.
  • the floor reaction force component error variation ⁇ FM Is the difference between the value of the n-th floor reaction force component error at each time and the value of the (n-1) th floor reaction force component error at that time, and the time of the n-th floor reaction force component error. At least one of the value of the floor reaction force correction amount determined according to the value of the floor reaction force component error at the time and the value of the floor reaction force correction amount at least at the (n ⁇ 1) th floor reaction force component error.
  • the convergence determination process of the target motion determining means is configured so that a predetermined feature amount of a time-series pattern constituting the floor reaction force component error change amount ⁇ FM falls within a predetermined allowable change amount range. At the same time, the process is to judge that the floor reaction force component error change amount AFM has converged to 0. Preferred (14th invention).
  • examples of the type of the feature amount include those exemplified with respect to the thirteenth invention.
  • a predetermined feature amount of a time-series pattern constituting the floor reaction force component error change amount ⁇ FM falls within a predetermined allowable change amount range. It is determined that the floor reaction force component error change amount AFM has converged to 0 at the time of execution, so that the time series of the determined instantaneous value of the n-th corrected motion is, as in the case of the thirteenth invention, Highly reliable ⁇ ⁇ Floor reaction force component error or highly reliable ⁇ It is possible to appropriately judge whether or not the force is determined in consideration of the floor reaction force correction amount. As a result, the reliability of the dynamic accuracy of the desired gait including the finally determined desired movement can be improved.
  • the target movement, the provisional movement and the corrected movement are performed for a predetermined period. And a time series of instantaneous values of the motion of the mobile robot at
  • the m-th floor reaction force component error Aerr of the m-th floor reaction force component error Aerr, B err (m: an integer that satisfies m ⁇ 0) obtained by the floor reaction force component error calculation means is the m-th corrected
  • the time series of the difference between the instantaneous value of the first floor reaction force component occurring above and the instantaneous value in the predetermined period, and the m-th floor reaction force component error Berr is obtained at each time of the m-th corrected motion.
  • the zeroth floor reaction force component error Aerr (O) is an allowable error range for a predetermined first feature amount of the time series pattern, and the predetermined second allowable error range is the zeroth floor reaction force component.
  • the error Berr (O) is an allowable error range for a predetermined second feature amount of the time-series pattern constituting the error Berr (O), and the corrected motion determining process of the target motion determining means is performed on the n-th corrected motion.
  • the n-th repair The instantaneous value of the first floor reaction force component generated on the first dynamics model at time t due to the posterior movement is calculated by adding the value at time t of the (n ⁇ 1) th floor reaction force component error Aerr (nl). A value obtained by adding at least one of the first floor reaction force correction amount determined according to the value satisfies the target value at the time t, and the time obtained by the n-th corrected motion is the time.
  • the instantaneous value of the n-th corrected motion at the time t is determined so that a value obtained by adding a deviation from the value of the second floor reaction force correction amount determined accordingly satisfies the allowable range at the time t.
  • the floor reaction force component error change amount ⁇ Aerr is a value at each time of the n-th floor reaction force component error Aerr (n) and the (n ⁇ 1) th floor reaction force component error Aerr ( nl) and the value of the n-th floor reaction force component error Aerr (n) at each time and at least the (n ⁇ 1) th floor reaction force component error Aerr (nl) at that time.
  • a Berr Is the difference between the value of the n-th floor reaction force component error Berr (n) at each time and the value of the (n-1) th floor reaction force component error Berr (nl) at that time, and the n-th
  • the second floor reaction force correction amount determined according to the value of the floor reaction force component error Berr (n) at each time and at least the (n ⁇ 1) th floor reaction force component error Berr (nl) at that time.
  • the convergence determination process of the target motion determining means includes determining that a predetermined third feature amount of a time-series pattern constituting the floor reaction force component error change amount ⁇ Aerr is a predetermined tolerance for the third feature amount. It is determined that the floor reaction force component error change amount ⁇ Aerr has converged to 0 when falling within the change amount range, and the second of the time series patterns constituting the floor reaction force component error change amount ⁇ Berr is determined. Preferably, when the four characteristic amounts fall within a predetermined allowable change amount range for the fourth characteristic amount, the floor reaction force component error change amount ⁇ Berr force converges to ⁇ Berr force ⁇ . ).
  • examples of each of the first to fourth feature amounts include those exemplified with respect to the thirteenth invention.
  • the types of the first to fourth feature quantities need not be the same, but may be the same!
  • the evaluation means calculates the zeroth floor reaction force component error Aerr (O) (ie, the floor reaction force component error Aerr corresponding to the provisional motion).
  • the first feature amount of the series pattern and the second feature amount of the time series pattern forming the zeroth floor reaction force component error Aerr (O) (that is, the floor reaction force component error Berr corresponding to the provisional motion) Since it is evaluated whether they fall within the first and second allowable error ranges corresponding to each, the time series of Aerr (0) and Berr (0) is Small enough! /, Or not. As a result, it is possible to appropriately evaluate whether or not the entire time series of the instantaneous values of the provisional movement is suitable as the time series of the target movement.
  • the predetermined third feature amount force of the time series pattern forming the floor reaction force component error change amount ⁇ Aerr is set to the predetermined third feature amount force when the value falls within the permissible change amount range corresponding thereto. It is determined that the variation has converged to the Aerr force ⁇ , and the predetermined fourth characteristic amount of the time series pattern constituting the floor reaction force component error variation amount ⁇ Berr falls within the permissible variation amount range corresponding thereto.
  • the time series of the (n ⁇ 1) th floor reaction force component error Aerr (nl) and Berr (n ⁇ 1) corresponding to the (n ⁇ 1) th corrected motion Alternatively, each of the time series of the first floor reaction force correction amount and the second floor reaction force correction amount according to these Aerr (nl) and Berr (nl), and the n-th floor corresponding to the n-th corrected motion It can be determined whether or not the time series of the reaction force component errors Aerr (n) and Berr (nl) have substantially the same overall pattern. As a result, the time series of the instantaneous values of the n-th corrected motion determined as described above is highly reliable!
  • the floor reaction force component error Aerr, Berr or the highly reliable first floor reaction force correction amount and second floor It is possible to appropriately determine whether or not the force is determined in consideration of the reaction force correction amount. As a result, the reliability of the dynamic accuracy of the desired gait including the finally determined desired movement can be improved.
  • the target movement, the provisional movement, and the corrected movement are the movements of the moving port bot during a predetermined period.
  • the m-th floor reaction force component error Aerr Berr (m: m is an integer that satisfies m ⁇ 0) which is obtained by the floor reaction force component error calculation means.
  • the m-th floor reaction force component error Aerr is the instantaneous value of the first floor reaction force component generated on the second dynamic model at each time of the m-th corrected motion due to the m-th corrected motion and the m-th corrected
  • the first floor generated on the first kinetic model at the time due to the corrected motion A time-series force of the difference between the instantaneous value of the reaction force component and the instantaneous value of the reaction force component during the predetermined period is formed, and the m-th floor reaction force component error Berr is calculated at each time of the m-th corrected motion in the second dynamic model.
  • the corrected motion determination process of the target motion determining means is performed at each time t of the n-th corrected motion at the time t by the n-th corrected motion at a time t.
  • the instantaneous value of the first floor reaction force component generated on the dynamic model is added to the value of the (n ⁇ 1) th floor reaction force component error Aerr (nl) at time t and at least the value determined in accordance with the value. The value obtained by adding!
  • the instantaneous value of the second floor reaction force component generated on the first dynamic model at the time t by the n-corrected motion at the time t is calculated at the time t of the n ⁇ 1th floor reaction force component error Berr (nl).
  • the n-th corrected motion at the time t so that the one that radiates at least one of the value and at least the value of the second floor reaction force correction amount determined according to the value satisfies the allowable range at the time t.
  • the floor reaction force component error change amount AAerr is a value at each time of the nth floor reaction force component error Aerr (n) and the (n ⁇ 1) th floor reaction force component error.
  • the difference change amount ⁇ Berr is a difference between the value of the n-th floor reaction force component error Berr (n) at each time and the value of the (n ⁇ 1) th floor reaction force component error Berr (nl) at the time, and The second floor reaction force determined in accordance with the value at each time of the n-th floor reaction force component error Berr (n) and at least the value of the n ⁇ 1th floor reaction force component error Berr (nl) at the time.
  • the convergence determination process of the target motion determining means comprises the floor reaction force component error change amount ⁇ Aerr.
  • the process is a process for determining that the floor reaction force component error change amount ⁇ Berr force ⁇ has converged (16th invention).
  • examples of the types of the third feature quantity and the fourth feature quantity include those exemplified with respect to the thirteenth invention.
  • the types of the third and fourth feature amounts need not be the same, but may be the same.
  • the predetermined third characteristic amount of the time-series pattern forming the floor reaction force component error change amount ⁇ Aerr corresponds to the permissible change. It is determined that the AAerr has converged to 0 when the value falls within the range, and the predetermined fourth feature amount of the time-series pattern constituting the floor reaction force component error change amount ⁇ Berr corresponds to this. Is determined to have converged to the ⁇ Berr force SO when the variation falls within the allowable change amount range, the time series of the determined instantaneous values of the n-th corrected motion are reliable, as in the thirteenth invention.
  • the target movement, the provisional movement, and the corrected movement are the instantaneous values of the movement of the mobile robot during a predetermined period.
  • the mZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr (m: an integer that satisfies m ⁇ 0) obtained by the floor reaction force component error calculation means.
  • the predetermined first allowable error range of the means is a predetermined first characteristic amount of a time-series pattern forming the zeroth ZMP error ZMPerr (O).
  • the predetermined second allowable error range is a predetermined second characteristic amount of a time-series pattern forming the zeroth translational floor reaction force horizontal component error Ferr (O).
  • the corrected motion determining process of the target motion determining means is performed at each time t of the n-th corrected motion at the time t by the n-th corrected motion on the first dynamic model.
  • the instantaneous value of the ZMP calculated in the above is calculated by subtracting one of the value at the time t of the (n ⁇ 1) th ZMP error ZMPerr (nl) and the value of the ZMP correction amount determined at least according to the value. Satisfies the target ZMP at the time t and the instantaneous value of the translational floor reaction force horizontal component generated on the first dynamic model at the time t by the n-th corrected motion is n-1
  • the translational floor reaction force horizontal component error Ferr (nl) is determined at least according to the value at time t.
  • the ZMP error change amount A ZMPerr is the difference between the value of the n-th ZMP error ZMPerr (n) at each time and the value of the (n ⁇ 1) -th ZMP error ZMPerr (n ⁇ 1) at that time, and Any one of the difference between the value of the nZMP error ZMPerr (n) at each time and the value of the ZMP correction amount determined according to at least the value of the (n ⁇ 1) th ZMP error ZMPerr (nl) at the time.
  • the translational floor reaction force horizontal component error change amount ⁇ Ferr is composed of the value at each time of the nth translational floor reaction force horizontal component error Ferr (n) and the nth — 1 Difference between the translational floor reaction force horizontal component error Ferr (nl) and the value at that time, and the n-th translational floor reaction force horizontal component error Ferr (n) at each time and at least n-1 translational floor reaction force horizontal component error Ferr (nl) from the time series in the predetermined period of any one of the differences from the value of the floor reaction force correction amount determined according to the value at the time.
  • the convergence determining process of the target motion determining means is configured such that a predetermined third feature amount of a time-series pattern forming the ZMP error change amount ⁇ ZMPerr is a predetermined tolerance for the third feature amount. It is determined that the ZMP component error change amount ⁇ ZMPerr force SO has converged when falling within the change amount range, and a predetermined one of the time-series patterns constituting the translational floor reaction force horizontal component error change amount ⁇ Ferr.
  • the process is a process of judging that the translational floor reaction force horizontal component error deviation A Ferr has converged to 0 when the fourth feature amount falls within a predetermined allowable variation range with respect to the fourth feature amount.
  • examples of the types of the first to fourth feature amounts include those exemplified with respect to the thirteenth invention. In this case, the types of the first to fourth feature amounts need not be the same, but may be the same.
  • the evaluation means includes a first characteristic of a time-series pattern constituting the zeroth ZMP error ZMPerr (O) (ie, the ZMP error ZMPerr corresponding to the provisional motion). And the second feature value of the time-series pattern forming the zeroth translational floor reaction force horizontal component error Ferr (O) (that is, the translational floor reaction force horizontal component error Ferr corresponding to the provisional motion).
  • O zeroth ZMP error ZMPerr
  • Ferr (0) that is, the translational floor reaction force horizontal component error Ferr corresponding to the provisional motion
  • the target movement, the provisional movement, and the corrected movement are the instantaneous values of the movement of the mobile robot during a predetermined period.
  • the floor reaction force component error calculating means The mZMP error ZMPerr of the mZMP error ZMPerr and the translational floor reaction force horizontal component error Ferr (m: an integer that satisfies m ⁇ 0) is obtained by the m-th corrected motion.
  • the m-th translational floor reaction horizontal component error Berr is the instantaneous translational floor reaction horizontal component generated on the second dynamic model at each time of the m-th corrected motion.
  • the post-correction motion determination process of The instantaneous value of ZMP calculated on the first dynamic model at time t by the n-th corrected motion is calculated by adding the value at time t of the n ⁇ 1th ZMP error ZMPerr (nl) and at least the value at time t.
  • the value of the ZMP correction amount determined in accordance with the following formula satisfies the target ZMP at the time t, and the first motion is performed at the time t by the n-th corrected motion.
  • the instantaneous value of the translational floor reaction force horizontal component generated on the dynamic model is determined in accordance with at least the value at time t of the (n ⁇ 1) th translational floor reaction force horizontal component error Ferr (nl) and the value determined at least in accordance with the value. And determining the instantaneous value of the n-th corrected motion at the time t such that the value obtained by adding any of the floor reaction force correction values satisfies the allowable range at the time t.
  • the error change amount ⁇ ZMPerr is the value of the n-th ZMP error ZMPerr (n) at each time and the value of the (n ⁇ 1) -th ZMP error ZMPerr (n ⁇ 1) at that time.
  • the translational floor reaction force horizontal component error change amount ⁇ Ferr is composed of the time-series force in one of the predetermined periods, and the time difference of the n-th translational floor reaction force horizontal component error Ferr (n) is obtained.
  • the convergence determination process of the target motion determining means includes a ZMP error change amount ⁇ ZMPerr.
  • the translation is performed when a predetermined fourth feature amount of the time-series patterns constituting the translational floor reaction force horizontal component error change amount ⁇ Ferr falls within a predetermined allowable change amount range for the fourth feature amount.
  • the process is a process of determining that the floor reaction force horizontal component error deviation A Ferr has converged to 0 (the eighteenth invention).
  • the types of the third feature quantity and the fourth feature quantity include those exemplified with respect to the thirteenth invention.
  • the types of the third and fourth feature amounts need not be the same, but may be the same.
  • the predetermined third characteristic amount force of the time series pattern forming ZMPerr falls within the permissible change amount range corresponding thereto, it is determined that the A ZMPerr force has converged, and the translational floor reaction force horizontal Since it is determined that the ⁇ Ferr force SO has been converged when the predetermined fourth feature amount of the time-series pattern constituting the component error change amount ⁇ Ferr falls within the permissible change amount range corresponding thereto.
  • the time series of the determined instantaneous values of the n-th corrected operation is highly reliable!
  • the ZMP error ZMPerr and the translational floor reaction water equilibrium error Ferr or the reliability It is possible to appropriately judge whether or not the force is determined by taking into account the highly responsive ZMP correction amount and the floor reaction force correction amount. As a result, the reliability of the dynamic accuracy of the desired gait including the finally determined desired movement can be improved.
  • the error change amount generally converges to zero. Therefore, in the convergence determination process, when, for example, the number of repetitions (the number of executions) of the corrected motion determination process reaches a predetermined number, the error change amount converges to 0 (when two types of error change amounts are used). In such a case, it may be determined that both have converged.)
  • the convergence of the error change amount to zero may be determined based on a difference between the n-th corrected motion and the (n ⁇ 1) -th corrected motion.
  • the desired gait may include not only the desired movement but also the desired floor reaction force.
  • the nth corrected motion finally determined as the target motion is used for the first and second inventions. 1
  • the floor reaction force component obtained by adding the floor reaction force component generated on the dynamic model to the error of the n-1th floor reaction force component, or! / What is necessary is just to set the target value of the component.
  • a floor reaction force component generated on the second dynamic model by the n-th corrected motion finally determined as the target motion may be set as the target value of the floor reaction force component.
  • the tentative motion is determined as the target motion
  • the floor reaction force component generated on the first dynamic model by the tentative motion may be set as the target value! ,.
  • the final movement is finally determined as the target movement.
  • the target value of the first floor reaction force component is defined as the target value of the first floor reaction force component
  • the second floor reaction force component generated on the first dynamic model by the n-th corrected motion is calculated as The difference between the first floor reaction force component error Berr (nl) and the second floor reaction force correction amount corresponding thereto may be added as the target value of the second floor reaction force component.
  • the first floor reaction force component and the second floor reaction force component generated on the second dynamic model by the n-th corrected motion finally determined as the target motion may be set as the respective target values.
  • the provisional movement is determined as the target movement
  • the first floor reaction force component and the second floor reaction force component generated on the first dynamic model by the provisional movement are set as respective target values.
  • the n-th correction after finally determining the target movement is performed.
  • the translational floor reaction force horizontal component generated on the first dynamics model by the movement is calculated by adding the n-1st translational floor reaction force horizontal component error Ferr (nl) or the floor reaction force correction amount corresponding to this to! / ⁇
  • the value obtained by adding the above may be used as the target value of the translational floor reaction force horizontal component.
  • Target ZMP can be left as it is.
  • the translational floor reaction force horizontal component generated on the second dynamic model by the n-th corrected motion finally determined as the target motion may be set as the target value thereof. Further, when the provisional movement is determined as the target movement, the provisional movement causes the movement to be generated on the first dynamic model.
  • the translational floor reaction force horizontal component that is generated should be the target value!
  • the desired gait generated thereby is further corrected using a full model (third dynamic model) as described in Patent Documents 2 and 3.
  • a full model third dynamic model
  • the target gait generated in the eleventh to twelfth inventions has high dynamic accuracy, divergence of the gait in the full model hardly occurs. For this reason, it is possible to prevent the amount of correction of the target ZMP trajectory or the floor reaction force moment around the target ZMP from becoming excessive, and to keep the stability margin of the robot high.
  • a bipedal mobile robot is taken as an example of the mobile robot.
  • FIG. 1 is a schematic diagram showing an outline of an overall configuration of a bipedal mobile robot to which an embodiment of the present invention is applied.
  • a bipedal mobile robot (hereinafter, referred to as a robot) 1 includes a pair of left and right legs (leg links) 2, 2 extending downward from an upper body (base of the robot 1) 3. . Both legs 2 and 2 have the same structure, each having six joints.
  • the six joints are joints 10R and 10L for rotation (rotation) of the crotch (waist) (rotation in the Y direction with respect to the upper body 3) and the roll direction of the crotch (waist) in the order of the upper body 3 side force.
  • Joints 12R and 12L for rotation (around the X axis), Joints 14R and 14L for rotation in the crotch (lumbar) pitch direction (around the Y axis), and joints 16R and 16L for rotation in the knee pitch direction And joints 18R and 18L for rotation of the ankle in the pitch direction, and joints 20R and 20L for rotation of the ankle in the roll direction.
  • symbols R and L are symbols corresponding to the right side and the left side of the robot 1, respectively.
  • a foot (foot) 22R (L) constituting the tip of each leg 2 is attached.
  • the upper body 3 is attached to the top of both legs 2 and 2 via three joints 10R (L), 12R (L), and 14R (L) of the crotch of each leg 2. ing. Inside the body 3, a control unit 60 and the like, which will be described in detail later, are stored. In FIG. 1, the control unit 60 is shown outside the body 3 for convenience of illustration.
  • the hip joint (or the hip joint) is connected to the joints 10R (L) and 12R.
  • the knee joint is composed of the joint 16R (L)
  • the ankle joint is the joint It is composed of 18R (L) and 20R (L).
  • the hip joint and the knee joint are connected by a thigh link 24R (L)
  • the knee joint and the ankle joint are connected by a lower leg link 26R (L).
  • a pair of left and right arms 5 and 5 is attached to both upper sides of the upper body 3, and a head 4 is disposed at the upper end of the upper body 3.
  • Each arm 5 has a shoulder joint composed of three joints 30R (L), 32R (L) and 34R (L), an elbow joint composed of joint 36R (L), and a joint 38R (L). And a wrist part 40R (L) connected to the wrist joint. Rigid links are formed between the shoulder joint and the elbow joint, and between the elbow joint and the wrist joint.
  • the joint shown below
  • the desired motion of both feet 22R and 22L can be performed.
  • the robot 1 can arbitrarily move in the three-dimensional space.
  • each arm 5 can perform a motion such as arm swing by rotating its shoulder joint, elbow joint, and wrist joint.
  • a known 6-axis force sensor 50 is interposed between the ankle joints 18R (L) and 20R (L) of each leg 2 and the foot 22R (L). ing.
  • the 6-axis force sensor 50 is for detecting whether the foot 22R (L) of each leg 2 lands, and detecting a floor reaction force (ground load) acting on each leg 2 and the like.
  • the detection signals of the three-directional components Fx, Fy, Fz of the translational force of the floor reaction force and the three-directional components Mx, My, Mz of the moment are output to the control unit 60.
  • the body 3 is provided with a posture sensor 54 for detecting the inclination angle and the angular velocity of the body 3 with respect to the Z axis (vertical direction (gravity direction)), and the detection signal is controlled by the posture sensor 54. Output to control unit 60.
  • the attitude sensor 54 includes an acceleration sensor and a gyro sensor (not shown), and detection signals from these sensors are used to detect the attitude angle (inclination angle) of the body 3 and its angular velocity.
  • each joint of the robot 1 is provided with an electric motor 64 (see FIG. 3) for driving the joint and a rotation amount (rotation angle of each joint) of the electric motor 64.
  • An encoder (rotary encoder) 65 for detection is provided, and a detection signal of the encoder 65 is supplied to the encoder 6. 5 to the control unit 60.
  • a joystick (operator) 73 for manipulating the robot 1 is provided outside the force robot 1, which is not shown in Fig. 1, and is operated by operating the joy stick 73.
  • the robot 1 steps, such as specifying the direction of movement of the robot 1 such as turning the robot 1 that is moving straight ahead, specifying the movement mode of the robot 1 such as walking and running, and the friction state of the floor surface (road surface state). It is configured such that a request or a constraint condition for the contents can be input to the control unit 60 as needed.
  • the joystick 73 can communicate with the control unit 60 by wire or wirelessly.
  • FIG. 2 is a diagram schematically showing a basic configuration of a distal end portion (including each foot 22R (L)) of each leg 2 in the present embodiment.
  • a spring mechanism 70 is provided between the foot 22R (L) and the six-axis force sensor 50, and the sole (the bottom surface of each foot 22R, L) is provided.
  • a sole elastic body 71 which is also strong such as rubber is attached.
  • a compliance mechanism 72 is configured by the spring mechanism 70 and the sole elastic body 71.
  • the spring mechanism 70 includes a rectangular guide member (not shown) attached to the upper surface of the foot 22R (L) and an ankle joint 18R (L) (in FIG. 2, the ankle joint). 20R (L) is omitted) and 6-axis force sensor 50 side, and a piston-like member (not shown) that is finely movably housed in the guide member via an elastic material (rubber or spring) It is composed of
  • the foot 22R (L) indicated by a solid line in Fig. 2 shows a state when no floor reaction force is applied.
  • the spring mechanism 70 of the compliance mechanism 72 and the sole elastic body 71 bend, and the foot 22R (L) moves to the position and posture as exemplified by the dotted line in the figure.
  • the structure of the compliance mechanism 72 is important not only to reduce the landing impact but also to enhance controllability. The details thereof are described in detail in, for example, Japanese Patent Application Laid-Open No. 5-305584 previously proposed by the present applicant, and further description in this specification will be omitted.
  • FIG. 3 is a block diagram showing a configuration of the control unit 60.
  • the control unit 60 is composed of a microcomputer, and has a first arithmetic unit 90 and a second arithmetic unit 92 which also have CPU power, an AZD variable ⁇ 80, a counter 86, a DZA variable ⁇ 96, a RAM84, a ROM94, And a bus line 82 for exchanging data between them.
  • This control unit 60 In, the output signals of the 6-axis force sensor 50, posture sensor 54 (acceleration sensor and rate gy mouth sensor), joystick 73, etc. of each leg 2 are converted into digital values by AZD conversion 80, and then transmitted via the bus line 82. Sent to RAM84.
  • the outputs of the encoders 65 (rotary encoders) of the joints of the robot 1 are input to the RAM 84 via the counter 86.
  • the first arithmetic unit 90 generates a desired gait as described later and calculates a joint angle displacement command (a displacement angle of each joint or a command value of a rotation angle of each electric motor 64). Send to 4.
  • the second arithmetic unit 92 reads the joint angle displacement command and the actually measured joint angle detected based on the output signal of the encoder 65 from the RAM 84, and determines the amount of operation required to drive each joint. The calculated operation amount is output to the electric motor 64 that drives each joint via the DZA converter 96 and the servo amplifier 64a.
  • FIG. 4 is a block diagram showing a main functional configuration of the control unit 60 of the robot 1 according to the embodiment of the present specification.
  • the parts other than the “real robot” part in FIG. 4 are constituted by the processing functions executed by the control unit 60 (mainly the functions of the first arithmetic unit 90 and the second arithmetic unit 92). It is.
  • the processing function is realized by a program or the like mounted on the control unit 60.
  • the symbols R and L are omitted when it is not necessary to particularly distinguish the left and right of each part (the leg 2, the arm 5, etc.) of the robot 1.
  • the control unit 60 includes a gait generator 100 that generates and outputs a desired gait freely and in real time, as described later.
  • the gait generator 100 realizes the embodiment of the present invention by its function.
  • the desired gait output by the gait generator 100 includes a corrected desired body posture trajectory (trajectory of the desired posture of the body 3), a corrected target body position trajectory (a trajectory of the desired position of the body 3), Foot position / posture trajectory (trajectory of target position and target posture of each foot 22), target arm posture trajectory (trajectory of target posture of each arm), target ZMP (target total floor reaction force center point) trajectory, target It consists of the corrected desired floor reaction force moment trajectory around the ZMP and the desired total floor reaction force trajectory.
  • a movable part such as the head
  • the target position / posture trajectory of the movable part is added to the target gait.
  • gait means a temporal change pattern (time-series pattern), and is sometimes called a “pattern” instead of a “trajectory”.
  • pattern means spatial orientation
  • the body posture is the inclination angle (posture angle) of the body 3 in the roll direction (around the X axis) with respect to the Z axis (vertical axis) and the inclination angle (posture angle) of the body 3 in the pitch direction (around the Y axis).
  • the foot posture is represented by a spatial azimuth of two axes fixedly set for each foot 22.
  • the body posture may be referred to as the body posture angle.
  • the target arm posture regarding the arm body 5 is represented by a relative posture with respect to the body 3 in the embodiment of the present specification.
  • the body position refers to the position of a representative point of the body 3 which is roughly determined (a fixed point in the local coordinate system arbitrarily fixed with respect to the body 3).
  • the foot position means the position of a representative point of each foot 22 that has been roughly determined (fixed point in a local coordinate system arbitrarily fixedly set for each foot 22).
  • the representative point of each foot 22 is on the bottom surface of each foot 22 (more specifically, the point where the perpendicular from the center of the ankle joint of each leg 2 to the bottom surface of each foot 22 intersects the bottom surface). Is set to
  • the corrected target body posture and the corrected target body position for the body 3 are based on a certain basic target body posture (temporary target body position) and a target body position (temporary target body position). It has been corrected.
  • the basic target body position / posture is a target body position / posture determined by a simplified model gait generator described later (the target body position / posture determined by S032 in FIG. 10 described later). Body position).
  • the components of the gait other than the components relating to the floor reaction force that is, the components relating to the position and orientation of each part of the robot 1, such as the foot position and orientation, the body position and orientation, are collectively referred to as “movements”. Movement.
  • the floor reaction force acting on each foot 22 (floor reaction force composed of translational force and moment) is called “each foot floor reaction force”, and the robot 1 has two (two) foot reaction forces for the foot 22R and 22L.
  • the resultant force of each foot floor reaction is called the total floor reaction.
  • each floor floor reaction force is hardly mentioned, and unless otherwise noted, “floor reaction force” is treated as synonymous with “total floor reaction force”.
  • the desired floor reaction force is defined as the point of action and the translational force and moment acting on that point. Is represented by Since the point of action is good for everywhere, countless expressions can be considered for the same desired floor reaction force.However, in particular, the target floor reaction force center point (the target position of the center point of the total floor reaction force) is used as the working point, When expressing the reaction force, the moment component of the desired floor reaction force is zero except for the vertical component (moment component around the vertical axis (Z axis)). In other words, the horizontal component of the moment of the desired floor reaction force around the center point of the desired floor reaction force (the moment about the horizontal axis (X axis and Y axis)) becomes zero.
  • the ZMP calculated from the target motion trajectory of the robot 1 (the target motion trajectory force is also calculated and the resultant force of inertia and gravity acts around that point)
  • the moment when the moment becomes zero excluding the vertical component) and the desired floor reaction force center point coincide with each other, so it is the same as giving the desired ZMP trajectory instead of the desired floor reaction force center point trajectory.
  • the vertical position of the body 3 of the robot 1 is determined by the body height determination method proposed by the present applicant in Japanese Patent Application Laid-Open No. Hei 10-86080.
  • the translational floor reaction vertical component is determined dependently.
  • the horizontal position trajectory of the robot 1 (or the trajectory of the overall center of gravity) is set so that the resultant force of the inertia and gravity due to the motion of the desired gait becomes zero in the horizontal component of the moment generated around the target ZMP. Is determined, the translational floor reaction force horizontal component is also determined dependently. Therefore, when the robot 1 walks, only the target ZMP may be the only physical quantity that should be explicitly set for the floor reaction force of the target gait.
  • the trajectory of the robot 1 such as the desired vertical body position. Also, when walking the robot 1, if the coefficient of friction is low and the robot 1 moves on the floor (low mu road), the translational floor reaction force vertical component (more strictly, the translational floor reaction force Since the component perpendicular to the floor affects the frictional force, it is desirable to explicitly set the target trajectory of the translational floor reaction vertical component to prevent the robot 1 from slipping. Further, in the embodiment of the present invention, in the target gait finally output by the gait generator 100, the target ZMP or Instead, generate a corrected desired floor reaction force moment (a moment whose horizontal component is not always 0).
  • the corrected target floor around the target ZMP is used as a component relating to the floor reaction force of the target gait output by the gait generator 100.
  • the reaction moment and the target translational floor reaction force vertical component are included!
  • the desired gait output by the gait generator 100 is, in a broad sense, “a set of a desired motion trajectory and a desired floor reaction force trajectory during one or more steps”. In a narrow sense, it is used as a meaning of ⁇ a set of a target motion trajectory during one step and a target floor reaction force trajectory including a target ZMP, a corrected target floor reaction force moment, and a target translational floor reaction force vertical component. '' Used in a meaning.
  • a desired gait provisional desired gait created in the process of determining the final desired gait (the desired gait output by the gait generator 100) In)
  • the result obtained by subtracting the corrected desired floor reaction force moment from the narrowly defined desired gait is used in the meaning of the desired gait.
  • a desired gait temporary desired gait created in the process of determining a final desired gait (the desired gait output by the gait generator 100) is a real gait. It is closely related to the invention. For this reason, most of the desired gaits appearing in the following description are used in the meaning of the narrowly defined desired gaits excluding the corrected desired floor reaction force moment.
  • the floor reaction force vertical component means “translational floor reaction force vertical component”
  • the vertical component of the moment of the floor reaction force (the component around the vertical axis) is The term “moment” is used to distinguish it from the “floor reaction force vertical component”.
  • the “floor floor reaction force horizontal component” means “translational floor reaction force horizontal component”.
  • the translational floor reaction force is sometimes referred to as a floor reaction force translational force component.
  • the "one step" of the desired gait is used in the meaning from the time when one leg 2 of the robot 1 lands to the time when the other leg 2 lands.
  • the two-leg supporting period in the gait is a period in which the robot 1 supports its own weight with the two legs 2, 2, and the one-leg supporting period is the robot 1's own weight with only one of the legs 2.
  • the aerial period refers to the period in which both legs 2 and 2 are separated from the floor (floating in the air).
  • Piece The leg 2 that does not support the weight of the robot 1 during the leg support period is called a free leg. Note that there is no double leg support period in the running gait of the robot 1 in which the one leg support period and the aerial period are alternately repeated.
  • both the legs 2 and 2 do not support the weight of the robot 1 during the aerial period, but for convenience, the leg 2 and the supporting leg, which were the free legs during the one-leg supporting period immediately before the aerial period, are not used.
  • the legs 2 are also referred to as a free leg and a supporting leg during the aerial period, respectively.
  • the trajectory of the desired gait is described in a global coordinate system (a coordinate system fixed to the floor).
  • a support leg coordinate system determined corresponding to the landing position / posture of the support leg foot 22 is used.
  • a vertical line extending from the center of the ankle joint to which the foot 22 is connected to the floor surface is connected to the floor, for example, with almost the entire bottom surface of the support leg foot 22 grounded to the floor.
  • a coordinate system in which the point of intersection is the origin and the front and rear directions of the foot 22 when projected on a horizontal plane passing through the origin is the X axis direction and the left and right direction is the Y axis direction (the Z axis direction is vertical Direction).
  • the X, X, and ⁇ coordinates mean the coordinates of the supporting leg coordinate system unless otherwise specified.
  • FIG. 5 is a block diagram showing details of gait generator 100. With reference to FIG. 5, a more specific outline of the processing of the gait generator 100 will be described below.
  • the gait generator 100 includes a gait parameter determination unit 100a.
  • the gait parameter determination unit 100a determines a gait parameter value or a time-series table that defines a desired gait.
  • the gait parameters determined by the gait parameter determining unit 100a include, among the desired gaits, a desired foot position / posture trajectory, a desired arm posture trajectory, a desired ZMP trajectory, And a parameter defining the desired floor reaction force vertical component trajectory, respectively.
  • the gait generator 100 when the gait generator 100 generates a desired gait, a basic gait for generating a gait such as a planned landing position / posture of the free leg foot 22 and a planned landing time or a stride or a moving speed is used.
  • the required value (required parameter) is given to the joystick 73 or a device gait generator 100 such as a not-shown action planning unit (device for creating an action plan of the robot 1).
  • the gait generator 100 also reads the required parameters from a storage medium that previously stores the required parameters.
  • the gait parameter determination unit 100a of the gait generator 100 determines a gait parameter according to the required parameter.
  • the gait parameters determined by the gait parameter determining unit 100a include a reference body posture trajectory, a ZMP allowable range, and a floor reaction force horizontal component allowable range, respectively.
  • the parameters to be specified are also included.
  • the reference body posture trajectory is not finally output by the gait generator 100, but is taken into account when determining a desired gait.
  • the reference body posture trajectory is given from the joystick 73 or the action planning unit with respect to the body posture of the robot 1 or directly follows a predetermined request (a request for maintaining the body posture in a vertical posture). This is the generated body posture trajectory.
  • the desired body posture hereafter, ⁇ body posture '' without the ⁇ reference '' indicates the desired body posture
  • the desired gait generates a corrected desired floor reaction force moment (which is generally not 0) around the desired ZMP. Will be corrected as follows. Therefore, the target ZMP is different from the original definition (the definition that the horizontal component of the floor reaction force moment is zero), and ZMP (hereinafter, true ZMP) that satisfies the original definition is Move to a position shifted from the target ZMP by the value obtained by dividing the corrected target floor reaction force moment by the target floor reaction force vertical component.
  • the true ZMP of the corrected gait (the desired gait finally output by the gait generator 100) is at least the ZMP possible range (so-called supporting polygon. Floor and bottom of foot 22) And the floor reaction force action point (ZMP), assuming that no adhesive force acts between and. Furthermore, in order to secure a sufficient stability margin of the robot 1, it is desirable that the true ZMP of the corrected gait is in the vicinity of the center of the ZMP possible range. Therefore, in the embodiment of the present specification, an allowable range in which a true ZMP of the corrected gait can exist is set. This range is called the ZMP allowable range.
  • the ZMP allowable range is set to match the ZMP possible range or to be included in the ZMP possible range.
  • the value obtained by dividing the corrected desired floor reaction force moment around the target ZMP by the vertical component of the desired floor reaction force represents the amount of deviation of the true ZMP position from the target ZMP.
  • the ZMP allowable range can be converted into a corrected target floor reaction force moment allowable range by multiplying the boundary position by the target floor reaction force vertical component. It may be set instead of the ZMP allowable range.
  • the floor reaction force horizontal component allowable range is a floor reaction force horizontal component that can generate a friction force on the ground contact surface of the foot 22 of the robot 1 with the floor so that the foot 22 does not slip. It is the allowable range of the component.
  • at least the motion of the desired gait (the desired motion) finally output by the gait generator 100 is the floor reaction force generated by the motion, which is in proportion to the water equivalent of the inertial force of the robot 1.
  • the horizontal component is generated so that it falls within the floor reaction force horizontal component allowable range (so as to satisfy the floor reaction force horizontal component allowable range).
  • the floor reaction force horizontal component allowable range set in the embodiment of the present specification is for a normal gait set in the process of S022 described later and the basic gait set in the process of S026. There is one for gait and one for gait correction (full model correction) set in S030. However, these floor reaction force horizontal component allowable ranges need not necessarily be different from each other, and may be the same. On the other hand, the ZMP allowable range is only for gait correction (full model correction) set in S030 processing.
  • gait parameters for generating a desired gait include parameters other than the above-described parameters. These are determined in the gait parameter determination unit 100a so as to satisfy required boundary conditions.
  • the gait parameters determined by the gait parameter determination unit 100a are input to the target instantaneous value generation unit 100b.
  • the target instantaneous value generator 100b sets the reference body posture, target foot position / posture, target ZMP, target floor reaction force vertical component, ZMP allowable range, and floor reaction force horizontal component allowable range. For example, an instantaneous value (a value for each predetermined control processing cycle of the control unit 60) of some constituent elements (excluding the desired body position / posture) of the desired gait is sequentially calculated (generated).
  • the target instantaneous value generation unit 100b includes a translational floor reaction force (translational force component of the floor reaction force) error trajectory (specifically, a time series of the instantaneous value of the error of the translational floor reaction force horizontal component) and a floor reaction force moment error trajectory.
  • translational force component of the floor reaction force translational force component of the floor reaction force
  • floor reaction force moment error trajectory specifically, a time series of the instantaneous value of the error of the translational floor reaction force horizontal component
  • floor reaction force moment error trajectory For details, see the error of the horizontal component of the floor reaction force moment around the target ZMP. Is also output.
  • These error trajectories are based on the floor reaction force generated by the simplified model (first dynamic model) described later with respect to the floor reaction force generated by the semi-full model (second dynamic model) described later due to the motion of the gait. It corresponds to a time series pattern of errors.
  • the target instantaneous value calculated by the target instantaneous value generation unit 100b is input to the simplified model gait generation unit 100c.
  • the simple dani model gait generator 100c is based on the input target instantaneous value, and a simplified model (first power) described later as a dynamic model that approximates the relationship between the motion of the robot 1 and the floor reaction force.
  • the instantaneous value of the target body position / posture (temporary target body position / posture for the full model correction unit described later) is calculated using the dynamic model and the semi-full model (second dynamic model).
  • the simplified model used here is the same as that used in the target instantaneous value generator 100b.
  • the simple dani model gait generator 100c calculates the instantaneous value of the desired body position and orientation so that required dynamic conditions regarding the floor reaction force moment around the target ZMP and the translational floor reaction force are satisfied.
  • the dynamic condition is a floor reaction force moment horizontal component obtained by correcting the floor reaction force moment horizontal component around the target ZMP generated on the simplified model by the motion of the gait according to the floor reaction force moment error.
  • the condition is that the translational floor reaction force horizontal component generated by correcting the translational floor reaction force horizontal component generated on the model according to the translational floor reaction force error satisfies the floor reaction force horizontal component allowable range.
  • the instantaneous value of the desired body position / posture is determined by the translation of the resultant force of inertia force and gravity generated by the desired motion.
  • the dynamic condition that the force vertical component (in other words, the resultant force of the inertial force and gravity due to the vertical translation of the entire center of gravity of the robot 1) balances the desired floor reaction force vertical component is also satisfied. It is determined.
  • the instantaneous value of the desired gait (temporary desired gait) including the desired body position / posture is sequentially determined by the arithmetic processing of the simplified model gait generator 100c.
  • a desired gait having the desired body position / posture determined by the simplified model gait generator 100c as a component is referred to as a simple gait model gait.
  • the simplified model gait including the desired body position / posture determined by the simple model model gait generator 100c is input to the full model corrector 100D. This full model correction unit lOOd
  • the full model correction unit lOOd executes the processing of E1 or E2 so as to satisfy the following conditions of D1 to D3. That is, the full model correction unit lOOd
  • a gait generated using the simple model is corrected using a displacement dimension correcting model (hereinafter referred to as a displacement dimension corrected gait). Satisfies dynamic equilibrium conditions with accuracy.
  • the true ZMP (ZMP that satisfies the original definition modified by generating a corrected desired floor reaction force moment around the target ZMP) is the ZMP allowable range (the allowable range where sufficient stability margin can be maintained).
  • the process of E2 is executed so as to satisfy the conditions of D1 to D3.
  • the processing of the full model correction unit lOOd in the embodiment of the present specification is described in detail in, for example, PCT International Publication WOZ03Z057427ZA1 previously proposed by the present applicant (specifically, This is the same as in step S038 in FIG. 13). Therefore, a detailed description of the processing of the full model correction unit lOOd in this specification is omitted.
  • the correction is performed by the full model correction unit lOOd, but the correction is omitted, and the instantaneous value of the simple gait model gait is directly output from the gait generator 100. Just do it.
  • the gait parameter determination unit 100a, the desired instantaneous value generation unit 100b, and the simple model model gait generation unit 100c execute processing related to the core of the present invention. Become.
  • the gait generator 100 uses a simplified model as a first dynamic model and a semi-full model as a second dynamic model described in detail below for each control processing cycle of the control unit 60. To determine the instantaneous value of the desired gait.
  • the floor reaction force horizontal component of the desired gait is generated by generating two movement modes (body translation mode and body rotation mode) of the body 3 described below in a combined manner. Is within the allowable range (or within the friction limit) while satisfying the dynamic equilibrium condition.
  • a motion that changes the horizontal component of the floor reaction force moment around the target ZMP without changing the vertical component of the floor reaction force and the horizontal component of the floor reaction force is called a body rotation mode.
  • the motion of the body 3 includes a body vertical movement mode in addition to the body translation mode and the body rotation mode. This is a movement that moves the upper body 3 in the vertical direction.
  • FIG. 7 shows a structural example of a simplified model. As shown in the figure, this simplified model has two mass points (foot mass points) 2m and 2m corresponding to each leg 2 of the robot 1, and mass points (upper mass point) corresponding to the upper body 3 and a total force of 24m.
  • This model is composed of a mass point and a flywheel FH with inertia and mass.
  • Zsup Support leg mass point vertical position
  • Zswg Swing leg mass point vertical position
  • Zb Upper body mass point vertical position
  • Z Gtotal Overall center of gravity vertical position
  • Xsup Support leg mass point horizontal position
  • Xswg Swing leg mass point horizontal position
  • Xb Upper body mass horizontal position
  • XGtotal Overall center of gravity horizontal position
  • by: Upper body posture angle (tilt angle) around the Y axis with respect to the vertical direction
  • mb Upper body mass point mass
  • msup Support leg mass point mass
  • mswg Swing leg Mass point mass
  • J Body moment of inertia (equivalent moment of inertia in body rotation mode)
  • Fx Floor reaction force horizontal component (Details: Before and after translation floor reaction force)
  • Fz Vertical floor reaction force vertical component (Detail
  • XGtotal (mb * Xb + msup * Xsup + mswg * Xswg) / mtotal ... Equation 1 e
  • the dynamics of the legs 2 and 2 the dynamics of each mass 2m and 2m
  • the dynamics are configured so as not to interfere with each other, and the dynamics of the entire robot 1 are represented by a linear combination thereof.
  • the relationship between the motion of the upper body 3 and the floor reaction force includes the relationship between the translational motion of the upper body 3 (upper body translation mode) and the floor reaction force, and the rotational motion of the upper body 3 (upper body rotation). Mode) and the floor reaction force.
  • the floor reaction force generated by the horizontal motion of the upper body mass point 24m corresponds to the floor reaction force generated by the horizontal translational motion of the upper body 3 (upper body translation mode), and the rotation of the flywheel
  • the floor reaction force generated by the movement corresponds to the rotational movement of the body 3 (body rotation mode), that is, the floor reaction force generated by the posture change movement of the body 3.
  • the mass of the arm of the robot 1 is assumed to be included in the upper body mass 24m, and the upper body mass 24m has a mass including the mass of the arm.
  • the movement of the arm in the target gait is performed while canceling the moment of inertial force around the vertical axis generated in the robot 1 by movement other than the arm swing of the robot 1 as described later.
  • the effect of the arm swinging motion of the arms (excluding the component around the vertical axis) on the floor reaction force moment and the floor reaction The effect on the force horizontal component is ignored.
  • FIG. 8 illustrates the structure of the semi-full model.
  • the semi-full model has corresponding masses in the vicinity of the knee joint of the upper body 3, each foot 22, and each leg 2 (the part near the knee joint of the thigh link).
  • upper body 3 has inertia (inertial moment) lb around the body mass point.
  • the dynamic equation is omitted.
  • the relationship between the motion of the robot 1 and the floor reaction force is the same as that of the simple dani model described above. It is described as the relationship between the translational motion and the posture change motion of the upper body 3 and the floor reaction force (translational floor reaction force and floor reaction force moment around the target ZMP).
  • This semi-full model has higher dynamic accuracy than the simplified model.
  • the fact that the dynamic accuracy of the semi-full model is higher than that of the simple dani model means, more specifically, that the floor reaction force generated on the semi-full model by any target motion of the robot 1 depends on the target motion.
  • the target motion is matched by the actual floor reaction force that actually acts on the robot 1 when the actual robot 1 performs on the assumed floor surface, rather than the floor reaction force generated on the simple dani model. Do).
  • the full model used by the full model correction unit 100d is a multi-mass model having a mass at each link of the robot 1 as shown in FIG. 9, for example.
  • each link of the robot 1 may have an inertia around the corresponding mass point.
  • the semi-full model may have the same structure as the full model.
  • the gait generator 100 includes a target gait for one step from the landing of one leg 2 of the robot 1 to the landing of the other leg 2 (the target in the narrow sense). Using the gait as a unit, the desired gait for that one step is generated in order.
  • the target gait that is to be newly generated is “this gait”
  • the next target gait is “next gait”
  • the next target gait is “next next gait”
  • the target gait generated just before the “current gait” is called the “previous gait”.
  • the gait generator 100 When the gait generator 100 newly generates a current time's gait, the gait generator 100 includes a landing position / posture of the free leg side foot 22 up to two steps ahead of the robot 1, The required value (request) of the scheduled landing time is input as a required parameter for the gait (or the gait generator 100 reads the required parameter from the storage device). Then, based on these required parameters, the gait generator 100 corrects the desired body position / posture trajectory, the desired foot position / posture trajectory, the desired ZMP trajectory, the desired floor reaction force vertical component trajectory, the desired arm posture trajectory, Generates the desired floor reaction force moment trajectory.
  • FIG. 10 is a flowchart (structured flowchart) showing a main routine of gait generation processing executed by the gait generator 100.
  • the procedure of the main routine process is the same as, for example, PCT International Publication WOZ03Z057427ZA1 (hereinafter referred to as Patent Document 1) by the present applicant, except for a part of the subroutine process.
  • This process is performed when the gait generator 100 is activated. Next, the process proceeds to S 14 via S012, and the gait generator 100 waits for a timer interrupt for each control cycle (the calculation processing cycle in the flowchart of FIG. 10). The control cycle is ⁇ t.
  • the flow proceeds to S016, in which it is determined whether or not the force is a gait switch. If the gait is a switch, the process proceeds to S018, and if not, the process proceeds to S030.
  • gait switching point means the timing at which the generation of the previous time's gait is completed and the generation of the current time's gait is started. The control cycle becomes the gait switching point.
  • the time t is initialized to 0, and then proceed to S020 to read the next time's gait support leg coordinate system, the next time's gait support leg coordinate system, the current time's gait cycle and the next time's gait cycle. Be included.
  • These support leg coordinate system and gait cycle are determined by the required parameters. That is, in the present embodiment, the required parameters given from the joystick 44 or the like to the gait generator 100 are the landing position / posture of the free leg side foot 22 up to two steps ahead (the foot 22 has landed and the force is also the sole). (The foot position and posture in a state where the foot is rotated without slipping so that it touches the floor almost completely), and the required values for the scheduled landing time.
  • the requested values of the gaits are given to the gait generator 100 before the start of generation of the current gait (the gait switching in S016) as corresponding to the current gait and the next gait, respectively. It is a thing. These required values can be changed even during the generation of the current time's gait.
  • the next time's gait support leg coordinates correspond to the required value of the landing scheduled position / posture of the first free leg side foot 22 (the free leg side foot 22 in the current time's gait) in the above request parameters.
  • the system is determined. Also, one after another according to the required value of the scheduled landing position and orientation of the foot 22 on the swing leg side of the second step.
  • the gait support leg coordinate system is determined.
  • this time's gait cycle is based on the scheduled landing time of the free leg side foot 22 of the first step (this time's gait) from the scheduled landing time of the support leg side foot 22 of this time's gait (required value). Value), and the next gait cycle is the scheduled landing time of the second leg on the free leg side 22 (required value) from the scheduled landing time of the first leg on the free leg side 22 (required value). Value).
  • the gait generator 100 determines a gait parameter (normal gait parameter) of a normal gait as a virtual periodic gait following the current time's gait.
  • the gait parameters determined here include a foot trajectory parameter that defines a desired foot position and posture trajectory in a normal gait, a reference body posture trajectory parameter that defines a reference body posture trajectory, and a target arm. Arm trajectory parameters that specify the attitude trajectory, ZMP trajectory parameters that specify the target ZMP trajectory, floor reaction force vertical component trajectory parameters that specify the desired floor reaction force vertical component trajectory, and allowable range of the target floor reaction force horizontal component There are parameters to do.
  • the "normal gait” indicates that the motion state of the robot 1 (the state of the foot position, the posture of the body, etc.) at the boundary of the gait when the gait is repeated. It is used to mean a periodic gait that does not cause continuity.
  • the “normal gait” includes not only a periodic gait for moving the robot 1 straight, but also a periodic gait for turning the robot 1. In this case, when the turning rate is set to zero, it means straight traveling, so “turning” includes straight traveling in a broad sense. For this reason, in the embodiments of the present specification, the “normal gait” is often referred to as a “normal turning gait”.
  • the normal turning gait which is a periodic gait
  • the normal turning gait is a gait for two steps of the robot 1, that is, a first turning gait following the current time gait, and a gait following the first turning gait.
  • the gait composed of the second turning gait is a gait for one cycle of the normal turning gait, and the gait for one cycle is repeated.
  • the generated gait for this time is, for example, a running gait (one leg When the gait has a support period and an aerial period), the first and second turning gaits of the normal turning gait are also running gaits, and the walking gait for walking the robot 1 (one leg) When the gait has a support period and a two-leg support period), the first turning gait and the second turning gait of the normal turning gait are also running gaits. That is, the basic gait forms of the first turning gait and the second turning gait are the same as the current time gait.
  • the normal turning gait is used by the gait generator 100 to determine the motion state of the robot 1 such as the divergent component at the end of the current time's gait, the body vertical position speed, the body posture angle, and its angular speed. It is created tentatively and is not output directly from the gait generator 100.
  • divergence means that the position of the upper body 3 of the robot 1 is shifted to a position far away from the positions of both feet 22,22.
  • the value of the divergent component means that the position of the upper body 3 of the robot 1 is the position of both feet 22 and 22 (more specifically, the global coordinate system (support leg set on the ground surface of the support leg side foot 22). It is a numerical value that indicates how far away from the origin of the coordinate system).
  • the divergent component is obtained by the following equation for each of the dynamic models described above.
  • Divergent component upper body mass point horizontal position + upper body mass point horizontal velocity Z ⁇ ... Equation 2
  • is a predetermined value.
  • the divergent component in the gait is obtained by using the body horizontal position and the body horizontal velocity, respectively, instead of the body mass point horizontal position and the body mass point horizontal velocity of Equation 2.
  • a gait (current gait) is generated using a divergent component as an index so that a desired gait is continuously generated without generating the divergence. That is, a normal gait (more precisely, a normal gait parameter) following the current gait for which the force is to be generated is set according to the required parameters related to the current gait, and the initial gait of the normal gait is set. After calculating the divergent component, the terminal divergent component of this time's gait is used as the initial divergent component of the normal gait. The current time's gait is generated so as to match (more generally, the current time's gait is made continuous or close to the normal gait).
  • the gait parameters of the normal gait are determined according to the subroutine processing flowchart shown in FIG. That is, the foot trajectory parameters, reference body posture trajectory parameters, arm orbit parameters, ZMP trajectory parameters, floor reaction force vertical component trajectory parameters, and target floor reaction force horizontal component allowable range related to the normal gait are defined. Parameters to be determined are determined by the processing of S100-S110. Then, in S112, the initial time Ts of the normal gait and the period of one step (the time of one cycle of the normal gait) Tcyc are redefined. Since these processes are the same as the processes of the flowchart of FIG.
  • the gait meter of the normal gait determined by the forces S100-S110 is respectively shown. Are determined so that the trajectory defined by the above parameters satisfies the periodicity of the normal gait and satisfies the gait requirement represented by the above-mentioned required parameters.
  • the 15 of the above-mentioned publication 1 is the expected landing position / posture of the free leg foot 22 of the first turning gait following the current time gait (
  • the above-mentioned landing position / posture (request value) of the second step matches the above-mentioned landing position / posture (request value) of the second step, and the free leg foot of the second turning gait. Is determined so as to match the expected landing position / posture (required value) of the free leg foot 22 of the current time's gait.
  • the ZMP trajectory parameters are based on the foot trajectory parameters so that the target ZMP is located near the center of the contact surface of the supporting leg foot 22 and changes continuously over the entire period of the normal gait. Is determined.
  • the initial time Ts of the normal gait redefined in S112 of Fig. 13 is the time of the starting point when a gait of one cycle of the normal gait is created as described later (this is the present embodiment). This is different from the time at the end of the current time's gait), and is the time immediately before the start of the aerial period (time when the desired floor reaction force vertical component becomes 0) of the first turning gait.
  • the period Tcyc of one step of the normal gait is a period of the total time of the first turning gait and the second turning gait of the normal gait.
  • the normal gait depends on the periodicity of the gait. And its change speed state) are gaits that are the same as the state at time Tx + Tcyc. Since the normal gait is a periodic gait in which a gait of two steps is one cycle, in this specification, the period of the one cycle (the first turning gait and the second turning gait) Is regarded as the period of one step of the normal gait.
  • the parameters of the normal gait determined in the processing of S100 to S110 are not all the parameters that define the normal gait.
  • the gait parameter (normal gait parameter) that defines the normal gait is the beginning or end of one period of the normal gait (start time of the period) in addition to the parameter determined in S022. It includes the position and speed of the body 3 at (the end time of the period), the posture angle of the body 3 and its angular velocity, and a peak value of a body tilt recovery moment ZMP converted value described later.
  • the horizontal position and horizontal speed of the body 3, the angular velocity of the posture angle of the body 3, and the peak value of the ZMP converted value are exploratively determined in the processing of S024 described later.
  • the normal gait parameter is a gait parameter that can uniquely generate a normal gait using the values of the respective parameters constituting the gait parameter and the above-described simplified model.
  • the initial state of the normal gait is calculated.
  • the initial state calculated here is the initial body horizontal position speed of the normal gait (initial body position and initial body speed in the horizontal direction), and the initial body vertical position speed (the initial body position in the vertical direction). Position and initial body velocity), initial divergent component, initial body posture angle and its angular velocity.
  • the calculation of this initial state is performed using the simplified model and the semi-full model according to the flowchart of the subroutine processing of FIG.
  • the processing of FIG. 12 is schematically described below.
  • the generated normal gait is substantially equivalent to the boundary condition (the state of the initial and the terminal (the body horizontal position, the body horizontal velocity, the body posture angle, the body posture angular velocity in the present embodiment)). It is determined whether or not the value satisfies the condition. If the condition is not satisfied, the value of the search target is changed. By repeating this, the initial state that can finally satisfy the boundary condition of the normal gait is determined.
  • the basic concept (method) of the processing in FIG. 12 is the same as the processing in FIG.
  • the search target includes the body posture angular velocity and the peak value of the body inclination restoration moment ZMP conversion value, which is the same as the processing shown in FIG. Is different.
  • a part of the detailed processing (subroutine processing) of the processing in S208 is also different from that of the above-mentioned publication.
  • the body tilt recovery moment ZMP converted value peak value ZMPrecpeek obtained in the process of the flowchart of Fig. 12 is determined in the one-leg supporting period of the robot 1 (more specifically, from immediately after the start of the one-leg supporting period to immediately before the end).
  • the ZMP conversion value of the floor reaction force moment required to bring the body posture closer to the reference body posture during the body tilt angle restoration period (hereinafter referred to as the ZMPrec (reference target ZMP (determined in S022)).
  • Fig. 19 shows the peak value of the target ZMP (force deviation) specified by the obtained ZMP trajectory parameters.
  • the ZMPrec has a trapezoidal pattern as shown in the figure, and the peak value (height of the trapezoid) is ZMPrecpeek.
  • the foot position / posture, the body posture angle ⁇ , and the arm based on the normal gait parameters (the parameters determined in S022)
  • the initial state of the posture (the state at the initial time Ts of the normal turning gait) is determined. Note that these initial states are states viewed in the support leg coordinate system of the first turning gait (the above-described next time gait support leg coordinate system).
  • the initial state of the foot position / posture is determined at each time Ts in the foot position / posture trajectory calculated using the finite time settling filter based on the foot trajectory parameters determined in S022.
  • the position and orientation of the foot 22 are determined.
  • the finite time settling filter has been described in the above-mentioned publication 1 and the like, and the description is omitted here.
  • the initial state of the body posture angle ⁇ bs is determined to be the same as the reference body posture angle at the time Ts determined by the reference body posture trajectory parameter determined in S022, and the initial state of the arm posture is S022 Is determined in the same way as the state at time Ts determined by the arm posture trajectory parameters determined in.
  • the candidate (Xs, Vx, cobs, ZMPrecpeek) for these search targets is provisionally determined with the initial body horizontal velocity, initial body posture angular velocity, and body tilt restoration moment peak value of the ZMP converted value as search targets.
  • the initial value of the candidate value to be searched is determined.
  • the tentatively determined candidate value may be basically arbitrary, but may be determined based on, for example, the initial state of the normal gait obtained at the time of the previous generation of the gait. It should be noted that these provisionally determined values are values as viewed in the support leg coordinate system of the first turning gait (the aforementioned next time gait support leg coordinate system).
  • S206 The processing of S218 will be described more specifically.
  • the body vertical position and body vertical velocity (Zs, Vzs) of the initial state (time Ts) of the normal gait on the simplified model are It is determined.
  • the resultant force of the vertical inertial force and gravity of the overall center of gravity of the robot 1 on the simple model is balanced with the desired floor reaction force vertical component, and the vertical position of the overall center of gravity is the boundary condition of the normal gait. Is determined to satisfy.
  • This process is performed in the same manner as the process of S206 in FIG. Note that (Zs, Vzs) depends on the values (candidate values) of Xsl, Vxsl, 0 bsl, and ⁇ si which are determined or provisionally determined as described above.
  • the upper body horizontal position, the upper body horizontal velocity, the upper body posture angle and the angular velocity of the end of the gait generated in S208 are represented by the supporting leg coordinate system of the next one step of the gait.
  • the supporting leg coordinate system of the next one step of the gait (Support leg coordinate system of the first turning gait following the second turning gait of the normal gait generated in S208) And the value is set to (Xe, Vxe, 0 be, ⁇ be).
  • the respective values of Xs, Vx, co bs, and ZMPrecpeek are set near the candidate values of the current search target (Xs, Vx, co bs, ZMPrecpeek).
  • Xs, Vx, co bs, ZMPrecpeek are changed by predetermined small amounts
  • a Xs, A Vx, A cobs, ⁇ ZMPrecpeek, and a plurality of (four in this embodiment) search target candidates are determined.
  • the gait parameters normal gait parameters in which the search target of the normal gait parameters is corrected to each newly determined candidate
  • the same processing as in S2088-S212 is executed to correspond to each candidate to be searched. Find the boundary condition error.
  • the steady turning initial divergence component q [0], which is the divergence component at the next initial time 0, is obtained.
  • the value obtained in S222 is a value seen in the support leg coordinate system of the first turning gait of the normal turning gait following the current time gait.
  • the initial divergence component q [0] of the normal turning is represented by q "which is a value viewed from the support leg coordinate system of the current time's gait, and the initial (time 0) body vertical position / velocity is represented by the current time's gait.
  • the value of (Xs, Vx, ⁇ bs, ZMPrecpeek) to be searched is determined so as to satisfy the boundary condition of the normal gait, and the value of the search object is used to determine the simple gait.
  • the initial state (including the initial divergent component) of the normal gait generated on the dani model, which is the state (the motion state of the upper body 3) at the original initial time (time 0) is determined.
  • the floor reaction force moment error Merr_p (k) as the error of the floor reaction force moment horizontal component around the target ZMP generated on the simple model by the tentatively created gait movement (temporary movement)
  • a sequence and a time series of a translational floor reaction force error Ferr_p (k) as an error of a translational floor reaction force horizontal component generated on the simplified model by the motion are obtained.
  • the process of FIG. 13 includes a process of calculating these errors Merr_p (k) and Ferr_p (k) as well as creating a normal gait. Further, these errors Merr_p (k) and Ferr_p (k) are updated in the process of FIG. 13 and are finally determined.
  • the floor reaction force moment error Merr_p (k) is generally defined as the period from the initial time Ts of the normal gait to the end time Ts + Tcyc (one cycle of the normal gait).
  • a gait generated using the simple dani model (first dynamic model) generates a motion around a predetermined action point such as the target ZMP on the semi-full model (second dynamic model). Satisfies the difference between the floor reaction force moment and the floor reaction force moment generated around the point of action on the simple model, or the desired value of the floor reaction force moment around a predetermined point of action on the simple model.
  • Time series of the difference between the floor reaction force moment generated around the action point and the target value of the floor reaction force moment around the action point on the semi-full model by the motion of the gait generated to (Time series for each width ⁇ k).
  • the floor reaction force moment horizontal component around the target ZMP (the target ZMP defined by the ZMP trajectory parameters determined in S022) is focused on, and generated so as to satisfy the target ZMP on the simplified model.
  • the floor reaction force moment horizontal component generated around the target ZMP on the semi-full model due to the gait motion and the floor reaction camoment horizontal component generated around the target ZMP on the simple model model or its target value ( 0) (The difference in the instantaneous value of the floor reaction force moment horizontal component at each time k) is the time series of the floor reaction force moment error Merr_p (k).
  • the translational floor reaction force error Ferr_p (k) is a period from the initial time Ts of the normal gait to the end time Ts + Tcyc (a period of one cycle of the normal gait).
  • the gait motion generated by using the simple dani model generates a translational floor reaction force generated on the semi-full model (second dynamics model), and a translational floor reaction force generated on the simplified model. It shows the time series of the difference from the translational floor reaction force (time series for each predetermined time width).
  • the gait generated by the simplified model is focused on the translational floor reaction force horizontal component.
  • the difference between the translational floor reaction force horizontal component generated on the semi-full model and the translational floor reaction force horizontal component generated on the simple dani model due to the movement of the volume (the instantaneous moment of the translational floor reaction force horizontal component at each time k)
  • the time series of the value difference) is the time series of the translational floor reaction force error Merr_p (k).
  • the normal gait is generated on the simple model by the motion of the gait (the normal gait to be created) at each time k from the beginning to the end.
  • the floor reaction force moment around the target ZMP plus the floor reaction force moment error Merr_p (k) is regarded as the true floor reaction force moment around the target ZMP, and the true floor reaction force moment is 0. (To satisfy the original definition of the target ZMP).
  • the normal gait also includes the translational floor reaction force generated on the simplified model by the motion of the gait (the normal gait to be created) at each time k until the initial force ends.
  • the translational floor reaction force error Ferr_p (k) is added to the force.
  • the force is regarded as the true translational floor reaction force horizontal component, and the true floor reaction force horizontal component satisfies the floor reaction force horizontal component allowable range. Created.
  • Merr_p (k) and Ferr_p (k) change according to the gait movement pattern while it is desirable to increase their reliability.
  • the initial state (state at time Ts) of the motion of the upper body 3 is a value provisionally determined in the processing of Fig. 12 (current state).
  • (Xs, Vxs, ⁇ bs, cos, Zs, Vzs) are set.
  • the time series values of the floor reaction force moment error Merr_p (k) and the translational floor reaction force error F err_p (k) are initialized to zero.
  • the reason for initializing Merr_p (k) and Ferr_p (k) to 0 is that the target ZMP is satisfied on the simple model in S306 described later. This is for creating a gait satisfying the floor reaction force horizontal component allowable range.
  • the processing of S306-S312 is executed for each time from the initial time Ts of the normal gait to the end time Ts + Tcyc via S304.
  • the target ZMP at time k on the simplified model (defined by the ZMP trajectory parameters determined in S022 Around the target ZMP)-Merr_p (k) is generated and the translational floor reaction force horizontal component (translational floor reaction force that balances the inertial force associated with the translational acceleration horizontal component of the overall center of gravity of the gait on a simplified model)
  • the gait of the normal gait should be such that Ferr_p (k) is within the allowable range of the floor reaction force horizontal component at time k (the allowable floor reaction force horizontal component defined by the parameters determined in S022).
  • a time series of instantaneous values is created.
  • a Merr (k) and A Ferr (k) are updated each time a gait is created in the loop processing of S314-S328 described later.
  • the time series of A Merr (k) is called the floor reaction force moment error change
  • the time series of A Ferr (k) is called the translation floor reaction force error change.
  • both Merr_p (k) and Ferr_p (k) are initialized to 0 in S302
  • a Merr (k) and A Ferr (k) calculated in S308 are the same as those obtained in S306. (k) and Ferr (k) respectively.
  • a Merr (k) and A Ferr (k) calculated in S308 are substantially equivalent to the gait motion (created in S306 so as to satisfy the target ZMP and the floor reaction force horizontal component allowable range ( This indicates the error of the floor reaction force generated on the simple dani model due to the provisional motion).
  • ⁇ Merr (k) and ⁇ Ferr (k) calculated in S308 are the initial values of the floor reaction force moment error change ⁇ Merr (k) and the translational floor reaction force error change ⁇ Ferr (k), respectively. have.
  • the determination process of S316 is performed via S314.
  • the predetermined feature values of the time series of ⁇ Merr (k) (current time series) and the time series of ⁇ Ferr (k) (current time series) are within a predetermined allowable range. It is determined whether there is a certain force.
  • This judgment process determines whether both the time series of ⁇ Merr (k) and the time series of ⁇ Ferr (k) converge to almost 0 (this is based on the time series pattern of Merr_p (k) and Ferr_p ( This is a process for determining whether or not the force in each of the time series patterns of k) converges to a substantially constant pattern.
  • the maximum value of the absolute value of the time series of ⁇ Merr (k) (the absolute value of the value at each time k), or the sum of the absolute values, or the effective value of the pattern of the time series
  • the difference between the maximum value and the minimum value of the time series is used as a feature amount for determining the convergence of the time series of ⁇ Merr (k). Is determined in S314.
  • the maximum value of the absolute value of the time series of A Ferr (k) (the absolute value of the value at each time k), or the sum of the absolute values, or the effective value of the pattern of the time series
  • the value or the difference between the maximum value and the minimum value of the time series is used as a feature amount for determining the convergence of the time series of ⁇ Ferr (k), and whether the feature amount is in an allowable range close to 0 or not. Is determined in S314.
  • the types of the feature amounts may be the same for ⁇ Merr (k) and A Ferr (k), but they need not be the same. Also, it is not necessary that the permissible range for the feature value is the same for ⁇ Merr (k) and ⁇ Ferr (k).
  • the determination process of S316 is a process of evaluating whether or not the floor reaction force moment error Merr_p (k) and the translational floor reaction force error Ferr_p (k) regarding the gait created in the processes of S300 to S312 are sufficiently small.
  • ⁇ Merr (k) and ⁇ Ferr (k) time series may be performed separately.
  • the type of the feature amount may be different between the evaluation process and the convergence determination process, or the allowable range for the feature amount may be different.
  • the loop processing of S314-S328 ends, and the processing of Fig. 13 also ends.
  • the gait finally created by the processing in FIG. 13 is obtained as the gait (normal gait) to be created in S208 in FIG. Therefore, after the processing of S300-S312 is completed, if the first determination result of S316 is YES, the gait created by the processing of S300-S312 is the gait to be created in S208 of FIG. Obtained as a normal gait).
  • the gait is a gait having sufficient dynamic accuracy because the judgment result in S316 is YES.
  • S300 and S304 Similar processing power as S312 Repeated with S318—S328. More specifically, in S318, the initial state of the body 3 is set as in S300. Further, the processing power of S322-S328 is executed for each time from the initial time Ts of the normal gait to the end time Ts + Tcyc via S320 (this is the same as S304). The processing of S322-S328 is the same as the processing of S306-S312, respectively.
  • the gait movement corresponding to the n-first gait generation is performed.
  • the n-th gait is generated by correcting for errors Merr_p (k) and Ferr_p (k).
  • the n-th gait changes the sign of the floor reaction force moment error Merr_p (k) when the n-th gait is generated on the simplified model by the motion of the n-th gait.
  • An inverted Merr_p (k) is generated around the target ZMP at time k, and the translational floor reaction force horizontal component generated on the simplified model by the n-th gait motion is expressed as n- It is created so that the sum of the translational floor reaction force error Ferr_p (k) during the first generation of the gait falls within the floor reaction force horizontal component allowable range at time k.
  • the 0th gait generation means gait generation in S300-S312.
  • the state in which the determination result of S316 is NO indicates that the time series pattern of Merr_p (k) or Ferr_p (k) is updated each time it is repeated. Changes.
  • the kinetic force of the gait corrected using such a time series of Merr_p (k) and Ferr_p (k) The time series of Merr_p (k) or Ferr_p (k) newly obtained is The reliability as an error of the floor reaction force generated on the simple dani model is low.
  • the judgment result of S316 is YES
  • the time series pattern of Merr_p (k) or Ferr_p (k) is updated every time the processing of S318-S328 is repeated.
  • the instantaneous values of the body horizontal caloric velocity and the body posture angular acceleration are determined by the processing of S412 so as to satisfy the conditions described in the figure.
  • Merr_p (k) (the Merr_p (k) obtained at the time of n-th gait generation) becomes simple at time k due to the motion of the gait being created (gait during the n-th gait creation).
  • Merr_p (k) around the target ZM P (the target ZMP obtained in S402) is considered as the error of the horizontal component of the floor reaction force moment around the target ZMP generated on the target model.
  • the true floor reaction force moment horizontal component around the target ZMP generated by the actual robot 1 by the determined motion is generated on a semi-full model.
  • the floor reaction force moment horizontal component around the target ZMP is considered to be almost 0 (the original target value of the floor reaction force moment horizontal component around the target ZMP). Therefore, in S412, the body horizontal acceleration and the body posture angular acceleration are determined on the simplified model so that Merr_p (k) is generated around the target ZMP. This is due to the addition of the error Merr_p (k) to the floor reaction force moment horizontal component (-Mer_p (k)) around the target ZMP generated on the simplified model by the motion of the gait to be created. This is equivalent to determining the body horizontal acceleration and body posture angular acceleration so that the original desired value of the floor reaction force moment horizontal component around the target ZMP becomes 0.
  • the translational floor reaction force horizontal component acting on the actual robot 1 by the determined motion is within the allowable range of the floor reaction force water. It is thought to fit in. Therefore, in S412, the translational floor reaction force horizontal component generated on the simple dani model due to the motion of the gait to be created has Ferr_p (k) added to the floor reaction force horizontal component allowable range (S410 Determine the body horizontal acceleration and body posture angular acceleration as shown below.
  • the body horizontal acceleration and the body posture angular acceleration determined in S412 as described above are respectively integrated by the second order, and the instantaneous values of the body horizontal position and the body posture angle are obtained. It is determined. Up to this point, the instantaneous values of the body vertical position, foot position / posture, and arm posture have already been determined (see S404 and S408), and the instantaneous values of the body horizontal position and the body posture angle have been determined. This means that the instantaneous value of the motion of the robot 1 (the instantaneous value of the target motion of the normal gait) is determined.
  • each leg 2 since each leg 2 has six degrees of freedom, if the instantaneous value of the target position and orientation of each foot 22 and the instantaneous value of the target position and orientation of the body 3 are determined, The displacement of each joint of each leg 2 of the robot 1 is uniquely determined.
  • a floor reaction force moment around the target ZMP is determined using a simple model based on the target motion including the determined foot position / posture, body position 'speed, body posture angle' angular velocity.
  • the horizontal component Msmpl (k) and the translational floor reaction force horizontal component Fsmpl (k) may be calculated. That is, Msmpl (k) is the inertial force generated by the motion of each element (the material point and the flywheel in the present embodiment) of the simple model and the overall center of gravity of the simple model, which are determined in accordance with the target motion.
  • the resultant force with gravity acting on the target is calculated by reversing the sign of the instantaneous value of the horizontal component of the moment generated around the target ZMP (the value at each time k).
  • Fsmpl (k) is the horizontal acceleration of the overall center of gravity of the simple dani model corresponding to the target motion.
  • the instantaneous value of the minute (the value at each time k) is multiplied by the total mass of the simple Eich model (the horizontal component of the inertial force generated by the motion of the total center of gravity), and the sign is inverted.
  • Msmpl (k) and Fsmpl (k) may be obtained by the following equation instead of performing the operation of the simplified model as described above.
  • the floor reaction force moment Msmpl (k) about the target ZMP coincides or almost coincides with Merr_p (k), and therefore Msmpl (k) may be obtained by the above equation 3a. “0” in the above may be omitted.
  • Fx '(k) in Equation 3b is a translational floor reaction force horizontal component Fsmpl (k) generated on the simple dani model by the motion of the gait created by the processing from S410 to S414.
  • Fsmpl (k) generated on the simple dani model by the motion of the gait created by the processing from S410 to S414.
  • Ferr_p (k) To the translational floor reaction force error (translational floor reaction force horizontal component error) Ferr_p (k), which satisfies the floor reaction force horizontal component allowable range in the processing described later in S412.
  • the target value of the floor reaction force horizontal component (F S mpl (k) + Ferr_p (k)) when determining the body horizontal acceleration (satisfies the floor reaction force horizontal component allowable range) Is determined as the target value)).
  • the translational floor reaction horizontal component Fsmpl (k) generated on the simplified model by the motion of the gait created by the processing from S410 to S414 matches or almost matches the value on the right side of Equation 3b.
  • Fsmpl (k) may be determined by Equation 3b using the value of Fx ′ (k) determined during the processing of S412.
  • Msmpl (k) and Fsmpl (k) may be obtained using Equations 3a and 3b !, which means that the gait creation processing described later (the processing of S028 described later or The same applies to the processing of S032).
  • the floor reaction force moment water around the target ZMP generated on the semi-full model is generated based on the target motion of the gait determined as described above.
  • the instantaneous value Msemifoll (k) of the flat component and the instantaneous value Fsemifoll (k) of the translational floor reaction force horizontal component are calculated.
  • the method of calculation is the same as in the case of calculating the instantaneous values Msmpl (k) and Fsmpl (k) on the simplified model in S415.
  • Msemifoll (k) and Fsemifoll (k) cannot be obtained by the same method as in the above equations 3a and 3b, it is necessary to perform actual arithmetic processing of the semi-full model.
  • Msemifoll (k) and Fsemifoll (k) are true of the floor anti-camoment horizontal component and the translational floor reaction horizontal component acting on the robot 1 when the actual robot 1 moves according to the target motion, respectively. It is equivalent to a value.
  • times Tm, Ts2, and Tm2 that define a body inclination angle restoration period of a normal gait are determined. These times define the period for generating the body tilt restoration moment ZMP conversion value ZMPrec as shown in FIG. That is, the time immediately after the start of the first one-leg supporting period after the initial time Ts of the normal gait is Tm, The time immediately before the end of the period is determined as Ts2, and the time immediately after the start of the next one-leg support period is determined as Tm2. Then, the period [Tm, Ts2] and the period [Tm2, Te] are respectively defined as periods during which ZMPrec is generated (body tilt angle restoration period in a normal gait). This is the same as the processing of S500 in FIG.
  • the body horizontal caloric velocity a tmp due to the body translation mode motion is calculated so that the floor reaction force moment horizontal component Merr_p (k) is generated on the simplified model (S504).
  • a tmp is the provisional value of the horizontal body acceleration in the gait being created.
  • the translational floor reaction force horizontal component Fxtmp which balances the inertial force due to the horizontal acceleration of the center of gravity of the simple model when the body horizontal acceleration is a tmp, has a translational floor reaction force error (translational floor reaction force horizontal component
  • the translation floor reaction force horizontal component Fx generated on the simplified model by the motion of the gait being created is replaced by the current value of the translation floor reaction force error (translation floor reaction force horizontal component error) Ferr_p (k ),
  • the body rotation is performed so that the floor reaction force moment horizontal component around the target ZMP becomes Merr_p (k) on the simplified model by the motion of the body translation mode and the body rotation mode of X.
  • the body angle acceleration ⁇ of the mode is determined (S518).
  • Merr_p (k) is generated around the target ZMP on the simplified model (the floor reaction force moment generated around the target ZMP on the simple model is due to the motion of the gait being created).
  • the current value of the floor reaction force moment error, Merr (k) becomes 0, which is the original target value around the target ZMP), and the horizontal acceleration of the entire center of gravity on the simple model
  • the translational floor reaction force horizontal component Fx ' which is the floor reaction force horizontal component Fx that balances the inertia force and the current value of the translational floor reaction force error Ferr_p (k), which is generated by the motion of the gait being created
  • the body horizontal acceleration a in the body translation mode and the body angular acceleration j8 in the body rotation mode are determined so that the horizontal floor reaction force horizontal component corresponding to the horizontal floor reaction force component falls within the allowable range of the floor reaction force horizontal component.
  • the processing in S520 to S530 is executed.
  • the body angle acceleration ⁇ is calculated using the simplified model, the body tilt restoring moment ⁇ the instantaneous value of the converted value pattern (this is the body tilt angle temporarily determined in the process of S12).
  • Recovery moment ⁇ ⁇ Determined according to the converted value peak value (latest candidate value) and the current time k. (See Fig. 19) It is determined to generate a floor reaction force moment around the target ZMP (S520). And S522).
  • the body horizontal acceleration ⁇ is the floor reaction force moment around the target ⁇ ⁇ generated by the motion in the body translation mode
  • the current value of the reaction force moment error, Merr_p (k) is subtracted, and the upper body horizontal velocity ⁇ x tmp to match the resulting floor reaction force moment horizontal component, Merr_p (k), and the body determined earlier It is obtained as the difference between the floor reaction force moment due to the angular acceleration ⁇ and the body horizontal acceleration that generates the same floor reaction force moment (S524 and S526).
  • the basic concept (method) of the processing in FIG. 15 is the same as the processing in FIG.
  • the target ZMP is satisfied on the simplified model (the floor reaction force moment horizontal component force around the target ZMP becomes ⁇ ), and the floor reaction force horizontal component on the simplified model is obtained.
  • the body horizontal acceleration and the body posture angular acceleration are determined so as to satisfy the allowable range.
  • the horizontal component of the floor reaction force moment Merr_p (k) is generated on the simplified model (in other words, the horizontal component of the floor reaction force moment generated around the target ZMP by the motion of the robot 1 on the simplified model) Then, the current value of the floor reaction force moment error, Merr_p (k), is added to the original horizontal component of the desired floor reaction force moment around the target ZMP, which is 0).
  • the translational floor reaction force horizontal component Fx ' which is the sum of the floor reaction force horizontal component Fx that matches the inertial force due to the horizontal acceleration of the horizontal acceleration and the current value of the translational floor reaction force error Ferr_p (k), defines the allowable floor reaction force horizontal component Body horizontal acceleration and body to satisfy (within the acceptable range) Energized angular acceleration is determined.
  • the current value Ferr_p (k) of the translational floor reaction force error is added to the floor reaction force horizontal component Fx that balances the inertia force due to the horizontal acceleration of the overall center of gravity on the simple model.
  • Fx is calculated from the upper limit value and the lower limit value of the floor reaction force horizontal component allowable range.
  • the body horizontal acceleration and the body posture angular acceleration may be determined so as to satisfy the allowable range obtained by subtracting the current value of the translational floor reaction force error Ferr_p (k). Even in this case, it is equivalent to the original method.
  • the generated normal gait is a floor reaction force generated on the semi-full model by the movement (this accurately matches the floor reaction force acting on the actual robot 1 by the movement).
  • the normal gait is highly linear, taking into account the errors Merr_p (k) and Ferr_p (k) of the floor reaction force generated on the simple model for the motion of the gait. !, Generated based on the dynamics of the simple model. Further, the instantaneous value of each time k of the normal gait is generated by correcting the correction by Merr_p (k) and Ferr_p (k) at that time. Merr_p (k) and Ferr_p (k) used in this case represent the error of the floor reaction force generated on the simplified model since the convergence judgment result of S316 is YES. As reliable as.
  • the initial state of the normal gait can be determined exploratively and efficiently in a short time without diverging the gait movement.
  • the semi-full model is used only for calculating the floor reaction force (floor reaction force moment horizontal component and translational floor reaction force horizontal component) generated by gait motion created using the simple dani model. The calculation can be easily performed in a short time without requiring an exploratory process.
  • the gait parameters of the current time gait are determined (partially tentatively determined) in S026.
  • the gait parameters determined here include the foot position / posture trajectory (the position / posture trajectory of each foot 22), the reference body posture trajectory, the arm posture trajectory, the floor reaction force vertical component trajectory, and the floor reaction force in this gait.
  • the body inclination angle restoration period [Ta, Tb] in the current time's gait is set.
  • gait parameters defining each trajectory are determined so as to lead to a normal gait while satisfying the above requirements for the current time gait.
  • the foot trajectory parameters relating to the free leg foot 22 of the current time's gait are determined at the end of the current time's gait while the expected landing position and time of the free time foot 22 of the current time's gait satisfy those required values.
  • the position and orientation of the free leg foot 22 should be the same at the beginning of the normal gait (at the end of the current time's gait). Is determined.
  • the ZMP trajectory parameter determined in S610 is a provisional value, and an example of a ZMP trajectory defined by the provisional value (an example of a trajectory in the X-axis direction) is shown at the top of FIG. I have.
  • the ZMP trajectory parameters are set such that the target ZMP is located near the center of the contact surface of the support leg foot 22 in the one leg support period of the present time gait, and the target ZMP is in the aerial period following the one leg support period. Is determined to change continuously at the end of the current time's gait up to the initial ZMP of the normal gait.
  • the body tilt angle restoration period set in S612 in FIG. 16 is a period from time Ta force to time Tb in FIG. 21 and a period from immediately after the start of the one-leg support period of the current time gait to immediately before the end. .
  • gait parameters (current gait parameters) defining the current time's gait include, in addition to the parameters determined in S026, a ZMP correction parameter for correcting the ZMP trajectory specified by the ZMP trajectory parameter; Upper body tilt recovery moment The peak value of the ZMP conversion value (in this case, two types of peak values) is included. These parameters are determined exploratively in the process of S028 described below.
  • the flow proceeds to S028, where the gait parameters (ZMP trajectory parameters) of the current time's gait are corrected.
  • the divergent component at the end of the current time's gait matches the initial divergent component of the normal turning gait determined in S024 (more specifically, the body position / posture trajectory is made to be continuous or close to the normal gait. ),
  • the gait parameters of the current time's gait are corrected, and the final current time's gait parameters are determined.
  • the ZMP correction parameter and the body inclination restoring moment The ZMP conversion value has two types of peak Is determined).
  • This processing is performed according to a subroutine processing shown in the flowchart of FIG.
  • the processing in Fig. 17 is such that the terminal divergence component of the current time's gait matches or almost coincides with the initial divergence component of the normal gait on the simplified model.
  • the ZMP correction parameter a which defines the ZMP correction amount
  • the first peak value ZMPrecpeeka and the second peak value ZMPrecpeekb of the body tilt restoration moment ZMP converted value are exploratively determined.
  • ZMPrecpeekb is the two peak values of the ZMP-converted value of the floor reaction force moment required to bring the body posture closer to the reference body posture during the recovery period [Ta, Tb] of the gait body inclination angle.
  • FIG. 20 shows an example. Resting moment of body tilt in normal gait The peak value of the ZMP converted value was one force. The body posture angle and its angular velocity at the end of the current time's gait are the initial body posture angle of the normal gait and In this embodiment, a first peak value ZMPrecpeeka and a second peak value ZMPrecpeekb are used as two adjustable parameters of the body tilting restoring moment ZMP converted value to match the angular velocity. In the present embodiment, as shown in FIG.
  • the ZMP-converted value of the body inclination restoring moment in this time's gait is based on the trapezoidal pattern in the first half of the one-leg supporting period and the trapezoidal pattern in the second half.
  • the peak value of the trapezoidal pattern in the first half is the first peak value ZMPrecpeeka
  • the peak value of the trapezoidal pattern in the second half is the second peak value ZMPrecpeekb.
  • the ZMP correction parameter a obtained in the processing of Fig. 17 connects the current time's gait to a normal gait (the divergent component at the end of the current time's gait substantially matches the initial divergent component q "of the normal gait)
  • This is a parameter that defines the target ZMP correction amount, and its example is shown in the middle part of Fig. 21.
  • the ZMP correction amount specified by the ZMP correction parameter a is The trapezoidal pattern is generated until immediately before the end of the one leg support period and immediately before the end of the force, and the peak value a is used as the ZMP correction parameter.
  • Initial candidates of values on the simplified model of ZMPrecpeeka and ZMPrecpeekb are provisionally determined.
  • the initial candidates may be basically arbitrary, but may be determined based on, for example, the values of a, ZMPrecpeeka and ZMPrecpeekb finally determined at the time of creating the previous time's gait.
  • a loop process from S704 to S714 is executed.
  • the current gait (temporary current gait) is calculated using the current candidate values of a, ZMPrecpeeka and ZMPrecpeekb to be searched, and the simple model. Is done. More specifically, a ZMP trajectory parameter corrected based on the current value of the ZMP correction parameter a, This time's gait parameters consisting of the current values of ZMPrecpeeka and ZMPrecpeekb and parameters other than the ZMP trajectory parameters determined in S026 (foot trajectory parameters, floor reaction force vertical component trajectory parameters, etc.) Is used to calculate a provisional current time gait. The more specific processing in S704 will be described later.
  • the divergent component at the end of the provisional current time gait (scheduled landing time of the free leg foot of the current time's gait) calculated in S704 and the initial divergent component q ”( Difference between the final body posture angle at the end of the provisional current time gait and the initial body posture angle of the normal gait (finally calculated at S024).
  • the difference and the difference between the angular velocity of the body posture angle at the end of the provisional current time gait and the initial body posture angular velocity of the normal gait (finally calculated in S024) are obtained. If the difference value satisfies the condition of whether or not the force is within the allowable range (close to 0 or not), the force is determined.
  • the gait parameters can be modified so that the provisional current time gait can be connected to the normal gait on the simplified model. a, ZMPrecpeeka and ZMPrecpeekb are determined as.
  • S706 The processing of S716 will be described in more detail.
  • the terminal divergence component qO [k ] Is calculated according to the definition formula of the divergent component described above.
  • the difference between the initial body posture angle of the normal gait and the terminal body posture angle of the provisional current time gait created in S704 is obtained as the terminal body posture angle error ⁇ berr
  • the difference between the initial body posture angular velocity of the normal gait and the terminal body posture angular velocity of the provisional current time gait created in S704 is determined as the terminal body posture angular velocity error ⁇ berr.
  • the values of the respective parameters are set to predetermined small amounts ⁇ a, ⁇ ZMPrecpeeka near the candidate values of the current search target (a, ZMPrecpeeka, ZMPrecpeekb).
  • ⁇ ZMPrecpeekb is changed and a plurality of (three in this embodiment) search target candidates are determined, and the same processing as in S704—S710 is executed based on the current time's gait parameters including the respective search target candidates. Then, a set of errors (errq, 0 berr, co berr) corresponding to each candidate to be searched is obtained.
  • the current time's gait parameter is exploratively determined so that the current time's gait is linked to the normal gait, with (a, ZMPrecpeeka, ZMPrecpeekb) as the search target.
  • the floor reaction force moment error and the translation floor reaction force error around the target ZMP are determined and the current time gait ( This is a process in which the instantaneous value of the temporary gait is sequentially created in time series from the beginning to the end.
  • the only difference from the normal gait generation processing of FIG. 13 is the initial state of the gait and the period of gait generation. More specifically, regarding this difference, in the processing of FIG. 18, in S800 and S818, the terminal state of the previous gait (specifically, the terminal state viewed in the support leg coordinate system of the current gait) is changed to the current gait (temporary). This is set as the initial state of the gait.
  • the processing of S804-S812 corresponds to the processing of S304-S312 in FIG. 13, and the processing of S820-S828, or the processing of S320-S328 in FIG. Therefore, the processing in S806 and S822 in FIG. 18 is executed by the subroutine processing in FIG. 14, and the processing in S412 in FIG.
  • FIG. 14 is executed by the subroutine processing in FIG. However, among the processing of S806 and S822 in FIG. 18, the processing of S500 is omitted in the processing of FIG. 15 which is the subroutine processing of S412 of FIG. This is because the body tilt angle restoration period of the gait this time is the period [Ta, Tb] set in S612 of FIG.
  • a provisional current time gait is generated as described above in S028.
  • the target ZMP ZMP trajectory parameter determined in S026 on the simplified model 17 satisfies the target ZMP defined by the ZMP correction parameter a (latest candidate value) provisionally determined in the processing of FIG. 17 and the floor reaction force horizontal component allowable range (S026).
  • the gait is provisionally created so as to satisfy the allowable range defined by the determined parameters.
  • the floor reaction force moment error (floor reaction force moment horizontal component error) Merr_p (k) is calculated using the simple dani model and the semi-full model.
  • gait correction (creation of gait) is repeated using the latest values of the time series of Merr_p (k) and Ferr_p (k).
  • the horizontal component of the floor anti-camo generated around the target ZMP is Merr_p (k) (the sign of the error Merr_p (k) obtained when generating the n-th gait is inverted)
  • the translational floor reaction force horizontal component generated on the simple dani model by the n-th gait is represented by Ferr_p (k) (the error found when the n-th gait was generated).
  • Ferr_p (k)) is created so that it falls within the allowable range of the floor reaction force horizontal component related to the gait this time.
  • the gait of the 0th time is a gait created in the processing of S800-S812.
  • the process in FIG. 13 ends, and the gait finally created at this point is the current gait to be created in S704 in FIG. 17 (temporary current gait) ). If the judgment result of the first S816 after the processing of S800-S812 is YES, the gait created in the processing of S800-S812 (the 0th gait) is created in S704 of FIG. Obtained as the current time's gait (provisional current time's gait).
  • a Ferr (k) may use the same type of feature quantity, but does not have to be. Also, the permissible range for the feature does not need to be the same for A Merr (k) and A Ferr (k).
  • the semi-IJ disconnection processing of S816 is performed only after the convergence judgment of ⁇ Merr (k) and ⁇ Ferr (k) in the repetition of the processing of S818-S828, similar to the case of S316.
  • the first process in S816 is to determine whether the floor reaction force moment error Merr_p (k) and the translational floor reaction force error Ferr_p (k) for the gait created in S800-S812 are sufficiently small (S300-S312).
  • the kinetic accuracy of the gait created in step (2) also serves as a process for evaluating the force / strength sufficiently. These evaluation processes and the convergence judgment process are performed separately as in the case of S316. In such a case, the type of feature quantity or the allowable range for the feature quantity may be different between the evaluation process and the convergence determination process.
  • the provisional current time gait finally generated in S028 leads to a normal gait while satisfying the target ZMP and the floor reaction force horizontal component allowable range on the semi-full model by its motion. (Like satisfying the boundary condition of the gait this time).
  • the provisional current time gait is generated based on the dynamics of the simplified model, taking into account errors Merr_p (k) and Ferr_p (k) of the floor reaction force on the simple model.
  • the instantaneous value at each time k of the current time's gait is generated by correcting the correction by Merr_p (k) and Ferr_p (k) at that time.
  • Merr_p (k) and Ferr_p (k) used in this case represent the error of the floor reaction force generated on the simplified model since the convergence judgment result of S816 is YES. As reliable as. For this reason, gait movements are effective in a short time without diverging.
  • the gait parameters (a, ZMPrecpeeka and ZMPrecpeekb) of the current time's gait can be determined exploratively.
  • the gait parameter determination unit 100a executes the gait parameter determination unit 100a.
  • the time series of Merr_p (k) relating to the provisional current time gait finally generated in S028 is the floor reaction force moment error trajectory (see FIG. 5).
  • the time series of (k) is the translational floor reaction force error trajectory (see FIG. 5).
  • the process proceeds to SO32, and the instantaneous value of the current time's gait is sequentially determined.
  • the subroutine process of this process is the same as the process of the flowchart of FIG. However, in this case, the value finally determined in S028 of FIG. 10 is used as the time-series value of Merr_p (k) and Ferr_p (k) used in S412. Further, the processing of S416 and S418 is omitted.
  • the step size of the time series of the instantaneous value of the current time's gait (the value of Ak) is set to the control period At of the control unit 60.
  • the flow advances to S034, where the operation of the arm for canceling the spin (rotation about the vertical axis) of the robot 1 is determined.
  • This processing is based on the vertical reaction force moment generated around the target ZMP when the robot 1 moves along the target gait without swinging the robot 1 arm.
  • the posture of the arm is determined so as to be generated by swinging the arm of the body (movement of swinging the arms back and forth), and is performed in the same manner as in S034 of FIG.
  • the details are described in Japanese Patent Application Laid-Open Publication No. H11-157, and further description is omitted here.
  • the process proceeds to S036 for full model correction (processing of the full model correction unit 100e).
  • the instantaneous value of the ZMP allowable range and the instantaneous value of the floor reaction force horizontal component allowable range are determined. In this processing, it is determined based on the gait parameters that define the ZMP allowable range and the floor reaction force horizontal component allowable range determined in S030.
  • the processing of S032-S036 (excluding the processing of S412 and S414 in S032 and the processing of S034) is the processing executed by the target instantaneous value generation unit 100b.
  • a corrected gait using the full model is generated.
  • This process is a process executed by the full model correction unit 100c.
  • this process is the same as the process of S038 in FIG. 13 of the above-mentioned publication 1, and is executed as described in the publication 1. Therefore, detailed description is omitted in this specification.
  • a corrected target body position and posture and a corrected desired floor reaction force moment which are obtained by further correcting the desired body position and posture (the body position and posture of the displacement dimension corrected gait), are determined.
  • the gait generation processing of the gait generator 100 according to the present embodiment has been described above.
  • the present embodiment is an embodiment of the first, third, fifth, sixth, ninth, thirteenth, and fifteenth inventions.
  • the normal gait finally generated in the process of S024 in FIG. 10 or the current time gait finally generated in S028 of FIG. 10 corresponds to the target gait in each of the above inventions.
  • the processing power of S300-S312 in FIG. 13 or the processing power of S800-S812 in FIG. I do.
  • the processing force of S306 and S322 in FIG. 13 or the processing power of S415 and S418 in FIG. 14 executed in the processing of S806 and S822 in FIG. hand! /
  • the repetition processing of S316-S328 in FIG. 13 or the repetition processing of S816-S828 in FIG. 18 corresponds to the target motion determining means in each invention described above.
  • the judgment processing of S316 or S816 is performed by the target motion determining means.
  • the processing of S322 or the processing of S822 corresponds to the corrected motion determination processing.
  • the first floor reaction force component and the second floor reaction force component in the third invention correspond to the floor reaction force moment horizontal component and the translation floor reaction force horizontal component, respectively, in the present embodiment.
  • the case of using the equation 3a in the process of S415 in FIG. 14 is the ninth embodiment of the present invention.
  • the operation of the composite compliance control apparatus 101 will be described with reference to FIG.
  • the operation of the composite compliance control device 101 is described in detail in Japanese Patent Application Laid-Open No. Hei 10-277969 filed earlier by the present applicant, so that only a brief description will be given in this specification.
  • the gait generator 100 among the target gaits generated as described above, the corrected target body position / posture (trajectory) and the target arm posture (trajectory) are converted into a robot geometric model (inverse kinematics calculation unit). Sent to 102.
  • the desired foot position / posture (trajectory), the desired ZMP trajectory (target total floor reaction force center point trajectory), and the desired total floor reaction force (trajectory) (corrected desired floor reaction force moment and desired floor reaction force)
  • the vertical component is sent to the composite compliance operation determining unit 104 and also to the target floor reaction force distributor 106.
  • the desired floor reaction force distributor 106 distributes the floor reaction force to each foot 22, and determines the desired center of each foot floor reaction force and the desired foot floor reaction force.
  • the determined target foot floor reaction force center points and the desired foot floor reaction force are sent to the composite compliance operation determination unit 104.
  • the corrected target foot position / posture (trajectory) with mechanism deformation compensation is sent from the composite compliance operation determination unit 104 to the robot geometric model 102.
  • the robot geometric model 102 receives the 12 joints of the legs 2 and 2 that satisfy them. Calculate the joint displacement command (value) of the joint and send it to the displacement controller 108.
  • the displacement controller 108 controls the displacement of the twelve joints of the robot 1 according to the joint displacement command (value) calculated by the robot geometric model 102 as a target value.
  • the robot geometric model 102 calculates a displacement designation (value) of the arm joint that satisfies the target arm posture, and sends it to the displacement controller 108.
  • the displacement controller 108 controls the displacement of the twelve joints of the arm of the robot 1 with the joint displacement command (value) calculated by the robot geometric model 102 as a target value.
  • the floor reaction force generated by the robot 1 (specifically, the actual floor reaction force of each foot) is detected by the six-axis force sensor 50. The detected value is sent to the composite compliance operation determination unit 104.
  • the posture inclination deviation ⁇ errx, erry erry generated at the mouth bot 1 (specifically, the deviation of the actual posture angle from the target body posture angle, the posture angle deviation in the roll direction (around the X axis) is err errx, and the pitch
  • the posture angle deviation in the direction (around the Y axis) is erryerry) is detected via the posture sensor 54, and the detected value is sent to the posture stabilization control calculation unit 112.
  • the posture stabilization control calculation unit 112 calculates a compensation total floor reaction force moment around a target total floor reaction force center point (target ZMP) for restoring the body posture angle of the robot 1 to the target body posture angle. It is sent to the composite compliance operation determination unit 104.
  • target ZMP target total floor reaction force center point
  • the composite compliance operation determining unit 104 corrects the desired floor reaction force based on the input value. Specifically, the compensation total floor reaction force moment or the sum of the compensation total floor reaction force moment and the corrected target floor reaction force moment acts around the target total floor reaction force center point (target ZMP). Correct the desired floor reaction force.
  • the composite compliance operation determining unit 104 attempts to match the corrected target floor reaction force with the state of the actual robot for which the force such as a sensor detection value is also calculated and the floor reaction force with the mechanism deformation compensation described above. Determine the flat position and attitude (trajectory).
  • the corrected target foot position / posture with the mechanical deformation compensation takes into account the mechanical deformation of the compliance mechanism 72 and the like.
  • the control deviation for each target is weighted, and control is performed so that the weighted average of the control deviation (or the square of the control deviation) is minimized.
  • the actual foot position / posture and the total floor reaction force are controlled so as to substantially follow the target foot position / posture and the target total floor reaction force.
  • Ferr—p (k) Ferr—p (k) + p * ⁇ Ferr (k) Equation 1 Ob
  • p is a predetermined coefficient of 1 or less and 0 or more.
  • the floor reaction force moment horizontal component generated around the target ZMP on the simplified model by the motion of the gait (target gait) including the body horizontal acceleration and the body posture angular acceleration to be determined is
  • the floor reaction force moment horizontal component Merr_p (k) obtained by subtracting the correction amount Merr_p (k) obtained from Equation 10a from the original desired floor reaction force moment horizontal component ( 0), and the upper body to be determined
  • the correction amount Ferr_p (k) obtained by Equation 10b is added to the floor reaction force horizontal component Fx generated on the simple model by the motion of the gait (target gait) including the horizontal acceleration and the body posture angular acceleration.
  • the body acceleration and the body posture angular acceleration may be determined such that the translational floor reaction force horizontal component satisfies the floor reaction force horizontal component allowable range.
  • the floor reaction force moment horizontal component, Merr_p (k) is determined by the following formula:
  • the gait motion is determined so that the horizontal component of the floor reaction force moment obtained by adding the correction amount Merr_p (k) to the original component matches the original desired floor reaction force moment horizontal component. Means to specify.
  • the determination processing of the first S316 before executing the processing of S318-S328 in FIG. 13 may be omitted. That is, the processing of S318 to S328 may be executed at least once after the processing of S300 to S312 in FIG. Similarly, after the processing of S800-S812 in FIG. 18 is completed, the first judgment processing of S816 before executing the processing of S818-S828 in FIG. 18 is omitted, and the processing power of S818-S828 S It may be executed.
  • Such an embodiment is an embodiment of the second, fourth, fifth, sixth, tenth, fourteenth, and sixteenth inventions described above. It becomes. In this case, the correspondence between these inventions and the second embodiment excludes the evaluation means! (Evaluation means is not provided in the second embodiment.)
  • the above-described embodiment the embodiment first described in the present specification (hereinafter, referred to as the first embodiment)) and the first invention or the third invention This is the same as the correspondence with the invention.
  • the convergence of A Merr (k) and A Ferr (k) may be determined based on the number of repetitions as described above. Alternatively, based on the difference between the gait motion generated at each gait generation and the gait motion generated at the previous time (for example, the difference between the position and posture of a certain part such as the upper body), ⁇ The convergence of Merr (k) and ⁇ Ferr (k) may be determined.
  • the error Merr_p (k) related to the floor reaction force moment horizontal component around the target ZMP is used.
  • an action point is set at a point different from the target ZMP, and the action point is set.
  • the error about the horizontal component of the floor reaction force moment around the point (here, this is Merr_p '(k)) may be used.
  • the error is determined from the target value of the floor reaction force moment horizontal component around the action point (the target value such that the floor reaction force moment water around the target ZMP becomes zero).
  • the determination of the body horizontal acceleration and the body horizontal acceleration so that Merr_p (k) occurs around the target ZMP This is equivalent to determining the body posture angular acceleration (in other words, determining the instantaneous value of the motion of the target gait).
  • the floor reaction force vertical component trajectory (or a parameter defining the same) may be set, for example, as shown in FIG.
  • the body tilt angle restoring period may be set, for example, to a two-leg supporting period.
  • the floor reaction force horizontal component allowable range is sufficiently large for the entire period of one step of a gait in which the friction coefficient of the floor assumed in gait generation is large! If the generated translational floor reaction force horizontal component is surely within the floor reaction force horizontal component allowable range), the entire period may be used as the body tilt angle restoration period.
  • the ZMP conversion value of the body tilt restoring moment may be zero.
  • a force using the floor reaction force moment error Merr_p (k) is obtained by dividing this Merr_p (k) by the desired floor reaction force vertical component at each time k of the gait. Is the ZMP at time k (the sum of the inertial force generated by the motion of the gait of Robot 1 and gravity). This corresponds to the deviation (error) from the target ZMP at the point on the floor where the moment horizontal component of the force is 0). Therefore, instead of the floor reaction force moment error Merr_p (k), an error of the ZMP from the target ZMP (here, this is referred to as a ZMP error ZMPerr_p (k)) may be used. In this case, in the processing of S412 in FIG.
  • the resultant force of the inertia force and gravity generated by the motion of the gait of the robot 1 ZMP error ZMPerr_p (k) is calculated as the deviation of ZMP from the target ZMP.
  • the converted value or the value obtained by multiplying the ZMP error ZMPerr_p (k) by a predetermined coefficient (for example, a positive number less than 1).
  • a predetermined coefficient for example, a positive number less than 1.
  • Determining the body horizontal acceleration and the body posture angle acceleration so that the horizontal component becomes 0 is determined by the Merr_p (k) around the target ZMP or the floor reaction force moment horizontal component obtained by multiplying this by a predetermined coefficient.
  • the body horizontal acceleration and the body posture angle acceleration are determined so as to generate Determining the instantaneous value of the dynamic) becomes equivalent to.
  • the value of ZMPerr_p (k) or the value obtained by multiplying ZMPerr_p (k) or ZMPerr_p (k) by a predetermined coefficient is added to the position of ZMP calculated on the motility of the gait to be created. This is the same as determining the body horizontal acceleration and body posture angular acceleration so that the calorie matches the position of the target ZMP (and thus the instantaneous value of the target gait movement).
  • Error ZMPerr_p (k) is the ZMP calculated on the semi-full model from the motion of the gait being created in the processing of S306 and S322 in FIG. 13 or S806 and S822 in FIG. This means the difference from the ZMP calculated on the dani model.
  • S308, S324, or S808, S At 824 at each time k, the difference between the newly obtained ZMP error and the ZMP error obtained at the time of generating the immediately preceding gait is obtained as the ZMP error change amount ⁇ ZMPerr (k), which is obtained as S316 or It can be used instead of A Merr in the judgment process of S816.
  • the embodiment S hereinafter, referred to as a third embodiment of the seventh invention and the seventeenth invention is configured.
  • the eighth invention is achieved. And an embodiment of the eighteenth invention (hereinafter, referred to as a fourth embodiment).
  • the floor reaction force moment Msmpl (k) generated around the target ZMP on the simplified model is calculated according to the above equation 3a.
  • the error ZMPerr_p (k) determined as described above is calculated as S306, S322 in FIG.
  • the motion (temporary motion) of the gait being created in the processing of S806 and S822 in FIG. 18 also means the difference between the ZMP calculated on the semi-full model and the target ZMP. Therefore, the embodiment in this case corresponds to the embodiment of the eleventh invention or the twelfth invention.
  • the fifteenth invention, and the sixteenth invention will be constructed.
  • the floor reaction force becomes a vertical component force ⁇ and the ZMP becomes indefinite, so that the floor reaction force moment error as in the above embodiment may be used.
  • ZMPerr_p (k) can be used for the entire period of the gait because there is no aerial period.
  • the ZMP error ZMPerr_p (k) determined as described above the right side of the above equation 10a is divided by the floor reaction force vertical component at time k (this is the ZMP correction amount in the present invention). May be used).
  • the target ZMP and the floor reaction After generating a gait that satisfies the allowable range of the force horizontal component from the beginning to the end, the gait that corrects the floor reaction force moment error Merr_p (k) and the translational floor reaction force Ferr_p (k) (normal The gait or the current time's gait was generated up to the end of the initial force.
  • the generation of the instantaneous value of the gait corrected for the floor reaction force moment error Merr_p (k) and the translational floor reaction force Ferr_p (k) determined based on the gait motion (temporary motion) It may be performed sequentially from the beginning to the end.
  • the semi-full model may be the same as the full model for full model correction.
  • the floor reaction force horizontal component allowable range for the semi-full model must be equal to the full model in order to perform the process for exploratory determination of the gait parameters (the processes of S024 and S028 in Fig. 10) in a short time and efficiently. It is preferable to set it wider than the allowable floor reaction force horizontal component range.
  • the gait correction processing using the full model is excluded, and only the allowable range of the translational floor reaction force horizontal component around the target ZMP is set.
  • the allowable range of the vertical component of the floor reaction force moment around the target ZMP may be set.
  • the error of the floor reaction force moment vertical component which can be obtained only by the error of the floor reaction force moment horizontal component, is also calculated, and the error for the vertical component is added to the floor reaction force moment vertical component generated on the simplified model.
  • the motion of the desired gait may be generated such that the generated moment satisfies an allowable range for the vertical component.
  • the gait generating device for a mobile robot of the present invention The gait that can prevent slipping of the gait can be efficiently generated, and the dynamic accuracy between the motion of the gait and the floor reaction force can be secured well. This is useful in that a gait of a mobile robot having inherently low stability can be generated while ensuring the stability of the mobile robot.
  • FIG. 1 is a diagram schematically illustrating the overall configuration of a mobile robot (bipedal walking robot) to which an embodiment of the present invention is applied.
  • FIG. 2 is a side view showing a configuration of a foot portion of each leg of the robot in FIG.
  • FIG. 3 is a block diagram showing a configuration of a control unit provided in the robot of FIG. 1.
  • FIG. 4 is a block diagram showing a functional configuration of the control unit in FIG. 3.
  • FIG. 6 (a) and (b) are diagrams for explaining the motion modes (body translation mode and body rotation mode) of the robot, respectively.
  • FIG. 7 A diagram showing the structure of a first dynamics model (simple model) used in gait generation.
  • FIG. 8 is a diagram showing the structure of a second dynamic model (semi-full model) used for gait generation.
  • FIG. 9 is a diagram showing a structure of a full model used in gait generation.
  • FIG. 10 is a flowchart showing a main routine process of the gait generator in the embodiment.
  • FIG. 11 is a flowchart showing a subroutine process of FIG. 10;
  • FIG. 12 is a flowchart showing a subroutine process of FIG. 10;
  • FIG. 13 is a flowchart showing a subroutine process of FIG. 12.
  • FIG. 14 is a flowchart showing the subroutine processing of FIG.
  • FIG. 15 is a flowchart showing the subroutine processing of FIG. 14.
  • FIG. 16 is a flowchart showing a subroutine process of FIG. 10;
  • FIG. 17 is a flowchart showing a subroutine process of FIG. 10;
  • FIG. 18 is a flowchart showing a subroutine process of FIG. 17.
  • FIG. 19 is a graph showing an example of a ZMP-converted value of a body inclination restoring moment in a normal gait.
  • FIG. 20 is a graph showing an example of a ZMP conversion value of a body inclination restoring moment in a current time gait.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Abstract

 移動ロボット1に作用する床反力の所定成分(並進床反力水平成分等)の許容範囲を満足するようにロボット1の目標歩容を生成するとき、目標運動の仮値である仮運動を作成し、この仮運動を修正する処理を第1動力学モデルとこれよりも動力学的精度の高い第2動力学モデルとを用いて所定条件が満たされるまで繰り返し、最終的な修正後運動を目標運動として得る。仮運動と各回の修正毎の修正後運動とに対して、第2動力学モデル上で発生する床反力の所定成分と第1動力学モデル上で発生する床反力の所定成分との差を床反力誤差として求めると共に、各回の修正毎のその誤差の変化量を求める。その変化量が0に収束したときの修正後運動を目標運動として決定する。

Description

明 細 書
移動ロボットの歩容生成装置
技術分野
[0001] 本発明は 2足移動ロボット等の目標歩容を生成する装置に関する。
背景技術
[0002] 2足移動ロボット等の移動ロボットの目標歩容を生成する技術としては、例えば特許 第 3443077号 (特許文献 1)、あるいは、第 18回日本ロボット学会学術講演 Z3P14 /「2足ヒューマノイドロボットのリアルタイム歩行安定ィ匕制御 HRPにおける歩行制 御モジュールの有効性の検証一」(非特許文献 1)に見られるように、目標 ZMPまわり の床反力モーメントの誤差、あるいは実 ZMPの目標 ZMPからの誤差を観測し、その 誤差を小さくするように歩容を修正する技術が知られて!/、る。
[0003] しかし、これらの技術では、並進床反力の誤差が考慮されていないため、摩擦係数 の低い路面でロボットを歩行させたり、走行のように並進床反力鉛直成分が 0もしくは ほぼ 0になる時期を有する歩容を生成する場合には、ロボットのスリップを生じないよ うな歩容を生成することが困難である。
[0004] このため、例えば特開 2002— 326173号公報 (特許文献 2)や、 PCT国際公開公 lgWO/03/057427/Al (特許文献 3)に見られる技術が本願出願人により提案 されている。これらの特許文献 3, 4に見られる技術では、ロボットの運動(各部位の位 置、姿勢)と、床反力との関係を表す第 1の動力学モデル (単純化モデル)を用いて 該第 1の動力学モデル上での動力学的平衡条件 (床反力の並進力成分が目標値に なる、ある点のまわりの床反力モーメントが目標値になるなどの条件)を満足するよう にロボットの目標運動の瞬時値 (瞬時目標運動)と目標床反力の瞬時値 (瞬時目標 床反力)とからなる瞬時目標歩容が逐次作成される。そして、この瞬時目標歩容を第 2の動力学モデル (フルモデル)に入力して、該瞬時目標運動の一部(目標上体位 置姿勢や目標 ZMPまわりの目標モーメントなど)を補正することで、最終的な瞬時目 標歩容が時系列的に生成される。
[0005] この技術では、第 1の動力学モデル(単純ィ匕モデル)として、線形性の高!ヽモデル を使用することで、ロボットの安定な運動を継続的に行 ヽ得る歩容を効率よく短時間 で作成することが可能となると共に、第 2の動力学モデル (フルモデル)として比較的 動力学的精度の高いモデルを使用することで、最終的に生成される歩容の運動と床 反力との間の動力学的精度を実ロボットの動力学により近づけることが可能となる。
[0006] しかし、前記特許文献 2, 3に見られる技術では、第 2の動力学モデルを用いて作 成される歩容は発散しやす 、ため、目標 ZMP軌道を修正するかもしくは目標 ZMP まわりに床反力モーメントを発生させるようにして、ロボットの目標運動軌道が第 1の 動力学モデルで作成された歩容カもかけはなれな 、ようにする必要があった。そして 、この場合、目標 ZMP軌道の修正量や、目標 ZMPまわりの床反力モーメントが比較 的大きくなることがあり、このような場合には、安定余裕を高く保つことが困難となる場 合あった。逆に、安定余裕を高く保っために、目標 ZMP軌道の修正量や、目標 ZM Pまわりの床反力モーメントの許容範囲を狭く設定すると、歩容が発散する恐れが高 まるという不具合があった。
[0007] 本発明は力かる背景に鑑みてなされたものであり、ロボットのスリップ等を防止する ために設定する床反力の所定の成分の許容範囲を満足し得る歩容を効率よく生成 できると共に、その歩容の運動と床反力との間の動力学的精度を良好に確保するこ とができる移動ロボットの歩容生成装置を提供することを目的とする。
発明の開示
[0008] 本発明の移動ロボットの歩容生成装置の第 1発明は、かかる目的を達成するために 、移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設 定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標 歩容を生成する歩容生成装置にぉ 、て、
前記移動ロボットの所定の第 1動力学モデルを用いて、前記床反力成分が前記許 容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動 作成手段と、
前記第 1動力学モデルと該第 1移動動力学モデルよりも動力学的精度が高い所定 の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によ つて前記第 2動力学モデル上で発生する前記床反力成分と該運動によって前記第 1 動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める 床反力成分誤差算出手段と、
前記作成された仮運動力 前記床反力成分誤差算出手段によって求められる床 反力成分誤差が所定の許容誤差範囲に収まっているか否かを評価する評価手段と 前記評価手段の評価において前記仮運動に対応する床反力成分誤差が前記許 容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると 共に、前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱してい る場合には、前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目 標運動決定手段とを備え、
前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場 合において、前記目標運動決定手段が前記仮運動の第 n回目(n:n≥lである整数) の修正によって求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前 記床反力成分誤差算出手段により求められる床反力成分誤差を第 n床反力成分誤 差とし、前記仮運動を第 0修正後運動とし、前記仮運動に対応する床反力成分誤差 を第 0床反力成分誤差としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記床反力成分に、第 n - 1床反力成分誤差と少なくとも該第 n - 1床反力成分 誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を 満たすように第 n修正後運動を決定する修正後運動決定処理と、前記決定した第 n 修正後運動に対応する第 n床反力成分誤差と第 n - 1修正後運動に対応する第 n - 1 床反力成分誤差との差、および、前記第 n床反力成分誤差と少なくとも前記第 n - 1 床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として 定義される床反力成分誤差変化量 A FMが 0に収束したカゝ否かを判断する収束判断 処理とを少なくとも該床反力成分誤差変化量 A FMが 0に収束したと判断されるまで 繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後 運動を前記目標運動として決定することを特徴とするものである。
なお、本発明において、第 2動力学モデルの動力学的精度が第 1動力学モデルよ りも高いというのは、ロボットの任意の運動によって第 2動力学モデル上で発生する床 反力が、該運動によって第 1動力学モデル上で発生する床反力よりも、該運動で想 定されている床上で実際のロボットが該運動を行なったときに該ロボットに作用する 実際の床反力(実床反力)により近いものとなることを意味する。このことは、第 1発明 に限らず、後述の第 2—第 16発明のいずれにおいても同様である。
[0010] また、ロボットの任意の運動に対して、任意の動力学モデル上で所定の床反力成 分 (並進床反力水平成分、床反力モーメント鉛直成分など)の許容範囲を満足すると いうことは、該運動によって該動力学モデル上で発生する該所定の床反力成分 (該 運動に対して該動力学モデルの動力学が成立する床反力のうちの所定の床反力成 分)が前記許容範囲に収まるということを意味する。このことは、第 1発明に限らず後 述の第 2—第 16発明のいずれにおいても同様である。
[0011] 力かる第 1発明によれば、前記仮目標運動作成手段によって、とりあえず、目標運 動の仮値である仮運動が生成される。この仮運動は、第 1動力学モデルを用いて、前 記床反力成分が前記許容範囲を満たすように作成される。
[0012] そして、前記仮運動から前記床反力成分誤差算出手段によって求められる床反力 成分誤差が所定の許容誤差範囲に収まっているか否かが評価手段によって評価さ れる。この場合、該仮運動に対応する床反力成分誤差は、該仮運動によって前記第 2動力学モデル上で発生する前記床反力成分と該仮運動によって前記第 1動力学 モデル上で発生する前記床反力成分との差であるから、仮運動に対する第 1動力学 モデル上での前記床反力成分の誤差を意味する。
[0013] そして、前記評価手段の評価において、該仮運動に対応する床反力成分誤差が 許容誤差範囲に収まっている場合には、該仮運動によって第 1動力学モデル上で発 生する前記床反力成分の誤差が十分に小さ!、ので、該仮運動が前記目標運動とし て決定される。また、該仮運動に対応する床反力成分誤差が許容誤差範囲から逸脱 している場合には、この仮運動は、目標運動決定手段によって少なくとも 1回以上修 正され、その修正により目標運動が得られる。この仮運動の修正を行なう場合におい て、前記目標運動決定手段は、前記修正後運動決定処理と前記収束判断処理とを 少なくとも前記床反力成分誤差変化量 A FMが 0に収束したと判断されるまで繰り返 し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運動を 前記目標運動として決定する。
[0014] この場合、前記修正後運動決定処理では、第 n回目の修正後の第 n修正後運動に よって前記第 1動力学モデル上で発生する前記床反力成分に、第 n - 1修正後運動( 第 0修正後運動は、前記仮運動である)に対応して算出される第 n - 1床反力成分誤 差と少なくとも該第 n - 1床反力成分誤差に応じて決定した床反力補正量とのいずれ かを加えたものが前記許容範囲を満たすように第 n修正後運動を決定するので、この 第 n修正後運動は、それによつて第 2動力学モデル上で発生する前記床反力成分が 前記許容範囲を満足し得るものとなる可能性が高い。ただし、第 n修正後運動は、第 n— 1修正後運動とは一般には同一にはならないので、第 n修正後運動を決定するに 際して加味した、第 n - 1床反力成分誤差、もしくはこれに応じた床反力補正量は必 ずしも適切なものとは言えない。そこで、第 1発明では、前記床反力成分誤差変化量 Δ FMが 0に収束したカゝ否かを前記収束判断処理で判断し、少なくとも収束したと判 断されるまで、前記修正後運動決定処理を繰り返す。このとき、 A FMが 0に収束した 場合には、その時に決定された第 n修正後運動に対応する第 n床反力成分誤差は、 第 n— 1床反力成分誤差もしくはこれに応じた前記床反力補正量とほぼ同等のものと なるので、第 n修正後運動を決定するに際して加味した第 n— 1床反力成分誤差もしく はこれに応じた前記床反力補正量は適切な (信頼性の高!、)床反力成分誤差である と言える。そして、この時の第 n修正後運動が前記目標運動として決定される。
[0015] これにより前記第 2動力学モデル上で前記床反力成分の許容範囲を満足し得るよ うな動力学的精度の高い目標歩容を第 1動力学モデル上で生成できることとなる。
[0016] さらに前記修正後運動は、第 1動力学モデル (これは第 2動力学モデルよりも一般 に線形性が高い)上で作成され、また、第 2動力学モデルは、単に第 n— 1修正後運 動から床反力を求めるために使用されるので、第 n修正後運動の生成処理と、第 n— 1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また 、前記仮運動 (第 0修正後運動)は、さほど動力学的精度が要求されないので、前記 第 1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作 成できる。 [0017] よって、第 1発明によれば、床反力の所定の成分の許容範囲を満足し得る歩容を 効率よく生成できると共に、その歩容の運動と床反力との間の動力学的精度を良好 に確保することができる。また、目標運動の作成は、第 2動力学モデルよりも一般に 線形性の高い第 1動力学モデルを使用して行なうので、歩容の発散を生じにくぐ床 反力成分誤差もしくはこれに応じた床反力補正量を加味した前記床反力成分が適 切に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
[0018] また、本発明の移動ロボットの歩容生成装置の第 2発明は、前記の目的を達成する ために、移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範 囲を設定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含 む目標歩容を生成する歩容生成装置において、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1の動力学モデルと該第 1移動動力学モデルよりも動 力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運 動に対して、該運動によって前記第 2動力学モデル上で発生する前記床反力成分と 該運動によって前記第 1動力学モデル上で発生する前記床反力成分との差である 床反力成分誤差を求める床反力成分誤差算出手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n:n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる床反力成分誤差を第 n床反力成分誤差とし、前記 仮運動を第 0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により 求められる床反力成分誤差を第 0床反力成分誤差としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記床反力成分に、第 n - 1床反力成分誤差と少なくとも該第 n - 1床反力成分 誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を 満たすように第 n修正後運動を決定する修正後運動決定処理と、前記決定した第 n 修正後運動に対応する第 n床反力成分誤差と第 n - 1修正後運動に対応する第 n - 1 床反力成分誤差との差、および、前記第 n床反力成分誤差と少なくとも前記第 n - 1 床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として 定義される床反力成分誤差変化量 A FMが 0に収束したカゝ否かを判断する収束判断 処理とを少なくとも該床反力成分誤差変化量 A FMが 0に収束したと判断されるまで 繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後 運動を前記目標運動として決定することを特徴とするものである。
[0019] この第 2発明は、第 1発明における前記評価手段を省略し、前記修正後運動決定 処理と収束判断処理とが少なくも 1回以上、実行されるようにしたものである。なお、こ の第 2発明では、前記仮運動は、例えば、前記第 1発明と同様に、第 1動力学モデル を用いて、前記床反力成分が前記許容範囲を満たすように作成してもよいが、必ず しもこのように作成する必要はない。
[0020] この第 2発明では、前記修正後運動決定処理および収束判断処理による作用効果 は、第 1発明と同じである。従って、前記第 2動力学モデル上で前記床反力成分の許 容範囲を満足し得るような動力学的精度の高い目標歩容を第 1動力学モデル上で 生成できる。
[0021] さらに第 1発明と同様に、前記修正後運動は、第 1動力学モデル上で作成され、ま た、第 2動力学モデルは、単に第 n— 1修正後運動から床反力を求めるために使用さ れるので、第 n修正後運動の生成処理と、第 n - 1修正後運動に対する床反力の算出 処理を効率よく短時間で行うことができる。また、前記仮運動 (第 0修正後運動)は、さ ほど動力学的精度が要求されないので、前記第 1動力学モデルなど、線形性の高い 動力学モデルを使用して容易に短時間で作成できる。
[0022] よって、第 2発明によれば、第 1発明と同様に、床反力の所定の成分の許容範囲を 満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力 学的精度を良好に確保することができる。また、目標運動の作成は、第 2動力学モデ ルよりも一般に線形性の高い第 1動力学モデルを使用して行なうので、歩容の発散 を生じにくぐ床反力成分誤差もしくはこれに応じた床反力補正量を加味した前記床 反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成できる 次に、本発明の移動ロボットの歩容生成装置の第 3発明は、移動ロボットの運動に よって発生する床反力の所定の第 1床反力成分の目標値と該第 1床反力成分と異な る所定の第 2床反力成分の許容範囲とを設定し、該第 1床反力成分の目標値と第 2 床反力成分の許容範囲とを満足するように、移動ロボットの目標運動を少なくとも含 む目標歩容を生成する歩容生成装置において、
前記移動ロボットの所定の第 1動力学モデルを用いて、前記第 1床反力成分が前 記目標値に一致し、且つ、前記第 2床反力成分が前記許容範囲を満たすように、前 記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記第 1動力学モデルと該第 1動力学モデルよりも動力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって 前記第 2動力学モデル上で発生する前記第 1床反力成分と該運動によって前記第 1 動力学モデル上で発生する前記第 1床反力成分との差である床反力成分誤差 Aerr を求めると共に、該運動によって前記第 2動力学モデル上で発生する前記第 2床反 力成分と該運動によって前記第 1動力学モデル上で発生する前記第 2床反力成分と の差である床反力成分誤差 Berrを求める床反力成分誤差算出手段と、
前記作成された仮運動力 前記床反力成分誤差算出手段によって求められる床 反力成分誤差 Aerr, Berrのうちの床反力成分誤差 Aerrが所定の第 1許容誤差範囲 に収まって!/ヽるか否かを評価すると共に、床反力成分誤差 Berrが所定の第 2許容誤 差範囲に収まっているか否かを評価する評価手段と、
前記評価手段の評価において前記仮運動に対応する床反力成分誤差 Aerr, Berr の両者がそれぞれに対応する前記第 1許容誤差範囲および第 2許容誤差範囲に収 まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運 動に対応する床反力成分誤差 Aerr, Berrの少なくとも ヽずれか一方がそれに対応 する前記第 1許容誤差範囲または第 2許容誤差範囲カゝら逸脱している場合には、前 記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定手段 とを備え、
前記仮運動に対応する床反力成分誤差 Aerr, Berrの少なくとも ヽずれか一方がそ れに対応する前記第 1許容誤差範囲または第 2許容誤差範囲から逸脱している場合 において、前記目標運動決定手段が前記仮運動の第 n回目(n:n≥lである整数)の 修正によって求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記 床反力成分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれぞれ 第 n床反力成分誤差 Aerr(n), Berr(n)とし、前記仮運動を第 0修正後運動とし、前記 仮運動に対応する床反力成分誤差 Aerr, Berrをそれぞれ第 0床反力成分誤差 A err(0), Berr(0)としたとさ、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記第 1床反力成分に、第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤差 Aerr(n-l)に応じて決定した第 1床反力補正量とのいずれかを加 えたものが前記目標値に一致し、且つ、該第 n修正後運動によって前記第 1動力学 モデル上で発生する前記第 2床反力成分に、第 n - 1床反力成分誤差 Berr(n-l)と少 なくとも該第 n - 1床反力成分誤差 Berr(n-l)に応じて決定した第 2床反力補正量との V、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する修 正後運動決定処理と、前記決定した第 n修正後運動に対応する第 n床反力成分誤 差 Aerr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 Aerr(n-l)との差、 および、前記第 n床反力成分誤差 Aerr(n)と少なくとも前記第 n - 1床反力成分誤差 A err(n-l)に応じて決定した前記第 1床反力補正量との差のいずれか一方として定義さ れる床反力成分誤差変化量 Δ Aerrと、前記決定した第 n修正後運動に対応する第 n 床反力成分誤差 Berr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 B err(n-l)との差、および、前記第 n床反力成分誤差 Berr(n)と少なくとも前記第 n - 1床 反力成分誤差 Berr(n-l)に応じて決定した前記第 2床反力補正量との差のいずれか 一方として定義される床反力成分誤差変化量 Δ Berrとがそれぞれ 0に収束したカゝ否 かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量 Δ Aerr, Δ Berr の両者力^に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前 記修正後運動決定処理で決定した修正後運動を前記目標運動として決定すること を特徴とするものである。
なお、第 3発明において、ロボットの任意の運動に対して、任意の動力学モデル上 で、ある所定の床反力成分の目標値を満足するということは、該運動によって、該動 力学モデル上で発生する該所定の床反力成分 (該運動に対して該動力学モデルの 動力学が成立する床反力成分)が目標値に一致もしくはほぼ一致することを意味す る。このことは、第 3発明に限らず後述の第 4発明、第 6発明、第 9発明、第 13発明、 第 14発明にお 、ても同様である。
[0025] 前記第 3発明は、移動ロボットに作用する床反力のうちの第 2床反力成分 (これは第 1発明における所定の床反力成分に相当する)の許容範囲に加えて、第 1床反力成 分の目標値をも満足するように目標運動を含む目標歩容を生成するものである。
[0026] この第 3発明では、前記仮目標運動作成手段によって、とりあえず、目標運動の仮 値である仮運動が生成される。この仮運動は、前記第 1動力学モデルを用いて、前 記第 1床反力成分が前記目標値に一致し、且つ、前記第 2床反力成分が前記許容 範囲を満たすように作成される。
[0027] そして、前記仮運動から前記床反力成分誤差算出手段によって求められる床反力 成分誤差 Aerrおよび Berrがそれぞれ第 1許容誤差範囲、第 2許容誤差範囲に収まつ ているか否かが評価手段によって評価される。この場合、該仮運動に対応する床反 力成分誤差 Aerrは、該仮運動によって前記第 2動力学モデル上で発生する前記第 1 床反力成分と該仮運動によって前記第 1動力学モデル上で発生する前記第 1床反 力成分との差であるから、仮運動に対する第 1動力学モデル上での前記第 1床反力 成分の誤差を意味する。同様に、該仮運動に対応する床反力成分誤差 Berrは、該 仮運動によって前記第 2動力学モデル上で発生する前記第 2反力成分と該仮運動 によって前記第 1動力学モデル上で発生する前記第 2床反力成分との差であるから 、仮運動に対する第 1動力学モデル上での前記第 2床反力成分の誤差を意味する。 なお、第 1許容誤差範囲および第 2許容誤差範囲は、同じ範囲であってもよい。
[0028] そして、前記評価手段の評価にお!、て、該仮運動に対応する床反力成分誤差 Aerr , Berrの両者がそれぞれに対応する第 1許容誤差範囲、第 2許容誤差範囲に収まつ ている場合には、該仮運動によって第 1動力学モデル上で発生する前記第 1床反力 成分および第 2床反力成分の誤差が両者とも十分に小さいので、該仮運動が前記目 標運動として決定される。また、該仮運動に対応する床反力成分誤差 Aerr, Berrの いずれかがそれに対応する第 1許容誤差範囲または第 2許容誤差範囲から逸脱して いる場合には、この仮運動は、目標運動決定手段によって少なくとも 1回以上修正さ れ、その修正により目標運動が得られる。この仮運動の修正を行なう場合において、 前記目標運動決定手段は、前記修正後運動決定処理と前記収束判断処理とを少な くとも前記床反力成分誤差変化量 AAerr, Δ Berrの両者が 0に収束したと判断される まで繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修 正後運動を前記目標運動として決定する。
この場合、前記修正後運動決定処理では、第 n回目の修正後の第 n修正後運動に よって前記第 1動力学モデル上で発生する前記第 1床反力成分に、第 n - 1修正後運 動 (第 0修正後運動は、前記仮運動である)に対応して算出される第 n— 1床反力成分 誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤差 Aerr(n-l)に応じて決定した第 1 床反力補正量とのいずれかを加えたものが前記目標値に一致し、且つ、第 n修正後 運動によって前記第 1動力学モデル上で発生する前記第 2床反力成分に、第 n - 1修 正後運動に対応して算出される第 n - 1床反力成分誤差 Berr(n-l)と少なくとも該第 n - 1床反力成分誤差 Berr(n-l)に応じて決定した前記第 2床反力補正量とのいずれか を加えたものが前記許容範囲を満たすように第 n修正後運動を決定する。ただし、第 n修正後運動は、第 n— 1修正後運動とは一般には同一にはならないので、第 n修正 後運動を決定するに際して加味した、第 n— 1床反力成分誤差 Aerr(n-l)および Berr(n-l),もしくは、これらに応じた第 1床反力補正量および第 2床反力補正量は必 ずしも適切なものとは言えない。そこで、第 3発明では、第 1発明と同様の考え方によ つて、前記床反力成分誤差変化量 Δ Aerrと前記床反力成分誤差変化量 Δ Berrとが それぞれ 0に収束したカゝ否かを前記収束判断処理で判断し、少なくとも Δ Aerrおよび Δ Berrの両者が収束したと判断されるまで、前記修正後運動決定処理を繰り返す。 このとき、 Δ Aerrおよび Δ Berrの両者が 0に収束した場合には、その時に決定された 第 n修正後運動に対応する第 n床反力成分誤差 Aerr(n), Berr(n)は、それぞれ第 n— 1 床反力成分誤差 Aerr(n-l), Berr(n-1)、あるいは、これらに応じた前記第 1床反力補 正量、第 2床反力補正量とほぼ同等のものとなるので、第 n修正後運動を決定するに 際して加味した、第 n - 1床反力成分誤差 Aerr(n-l)もしくはこれに応じた前記第 1床 反力補正量と、第 n - 1床反力成分誤差 Berr(n-l)もしくはこれに応じた前記第 2床反 力補正量との両者は適切な (信頼性の高い)床反力成分誤差であると言える。そして
、この時の第 n修正後運動が前記目標運動として決定される。
[0030] これにより前記第 2動力学モデル上で前記第 1床反力成分の目標値を満足し、且 つ第 2床反力成分の許容範囲を満足し得るような動力学的精度の高い目標歩容を 第 1動力学モデル上で生成できることとなる。
[0031] さらに前記修正後運動は、第 1動力学モデル (これは第 2動力学モデルよりも一般 に線形性が高い)上で作成され、また、第 2動力学モデルは、単に第 n— 1修正後運 動から床反力を求めるために使用されるので、第 n修正後運動の生成処理と、第 n— 1修正後運動に対する床反力の算出処理を効率よく短時間で行うことができる。また 、前記仮運動 (第 0修正後運動)は、さほど動力学的精度が要求されないので、前記 第 1動力学モデルなど、線形性の高い動力学モデルを使用して容易に短時間で作 成できる。
[0032] よって、第 3発明によれば、第 1床反力成分の目標値と、第 2床反力成分の許容範 囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の 動力学的精度を良好に確保することができる。また、目標運動の作成は、第 2動力学 モデルよりも一般に線形性の高い第 1動力学モデルを使用して行なうので、歩容の 発散を生じにくぐ床反力成分誤差 Aerrもしくはこれに応じた第 1床反力補正量をカロ 味した前記第 1床反力成分が適切に前記目標値を満足し、且つ、床反力成分誤差 Berrもしくはこれに応じた第 2床反力補正量を加味した前記第 2床反力成分が適切 に前記許容範囲を満足し得るような目標運動を効率よく生成できる。
[0033] また、本発明の移動ロボットの歩容生成装置の第 4発明は、前記の目的を達成する ために、移動ロボットの運動によって発生する床反力の所定の第 1床反力成分の目 標値と該第 1床反力成分と異なる所定の第 2床反力成分の許容範囲とを設定し、該 第 1床反力成分の目標値と第 2床反力成分の許容範囲とを満足するように、移動ロボ ットの目標運動を少なくとも含む目標歩容を生成する歩容生成装置にお!、て、 前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1動力学モデルと該第 1動力学モデルよりも動力学的 精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対 して、該運動によって前記第 2動力学モデル上で発生する前記第 1床反力成分と該 運動によって前記第 1動力学モデル上で発生する前記第 1床反力成分との差である 床反力成分誤差 Aerrを求めると共に、該運動によって前記第 2動力学モデル上で発 生する前記第 2床反力成分と該運動によって前記第 1動力学モデル上で発生する前 記第 2床反力成分との差である床反力成分誤差 Berrを求める床反力成分誤差算出 手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n:n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれぞれ第 n床反力 成分誤差 Aerr(n), Berr(n)とし、前記仮運動を第 0修正後運動とし、前記仮運動から 前記床反力成分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれ ぞれ第 0床反力成分誤差 Aerr(O), Berr(O)としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記第 1床反力成分に、第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤差 Aerr(n-l)に応じて決定した第 1床反力補正量とのいずれかを加 えたものが前記目標値に一致し、且つ、該第 n修正後運動によって前記第 1動力学 モデル上で発生する前記第 2床反力成分に、第 n - 1床反力成分誤差 Berr(n-l)と少 なくとも該第 n - 1床反力成分誤差 Berr(n-l)に応じて決定した第 2床反力補正量との V、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する修 正後運動決定処理と、前記決定した第 n修正後運動に対応する第 n床反力成分誤 差 Aerr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 Aerr(n-l)との差、 および、前記第 n床反力成分誤差 Aerr(n)と少なくとも前記第 n - 1床反力成分誤差 A err(n-l)に応じて決定した前記第 1床反力補正量との差のいずれか一方として定義さ れる床反力成分誤差変化量 Δ Aerrと、前記決定した第 n修正後運動に対応する第 n 床反力成分誤差 Berr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 B err(n-l)との差、および、前記第 n床反力成分誤差 Berr(n)と少なくとも前記第 n - 1床 反力成分誤差 Berr(n-l)に応じて決定した前記第 2床反力補正量との差のいずれか 一方として定義される床反力成分誤差変化量 Δ Berrとがそれぞれ 0に収束したカゝ否 かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量 Δ Aerr, Δ Berr の両者力^に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前 記修正後運動決定処理で決定した修正後運動を前記目標運動として決定すること を特徴とするものである。
[0034] この第 4発明は、第 3発明における前記評価手段を省略し、前記修正後運動決定 処理と収束判断処理とが少なくも 1回以上、実行されるようにしたものである。なお、こ の第 4発明では、前記仮運動は、例えば、前記第 3発明と同様に、第 1動力学モデル を用いて、前記第 1床反力成分が前記目標値に一致し、且つ、前記第 2床反力成分 が前記許容範囲を満たすように作成してもよ!ヽが、必ずしもこのように作成する必要 はない。
[0035] この第 4発明では、前記修正後運動決定処理および収束判断処理による作用効果 は、第 3発明と同じである。従って、前記第 2動力学モデル上で前記第 1床反力成分 の目標値を満足し、且つ前記第 2床反力成分の許容範囲を満足し得るような動力学 的精度の高い目標歩容を第 1動力学モデル上で生成できる。
[0036] さらに第 3発明と同様に、前記修正後運動は、第 1動力学モデル上で作成され、ま た、第 2動力学モデルは、単に第 n— 1修正後運動から床反力を求めるために使用さ れるので、第 n修正後運動の生成処理と、第 n - 1修正後運動に対する床反力の算出 処理を効率よく短時間で行うことができる。また、前記仮運動 (第 0修正後運動)は、さ ほど動力学的精度が要求されないので、前記第 1動力学モデルなど、線形性の高い 動力学モデルを使用して容易に短時間で作成できる。
[0037] よって、第 4発明によれば、第 3発明と同様に、第 1床反力成分の目標値と、第 2床 反力成分の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運 動と床反力との間の動力学的精度を良好に確保することができる。また、目標運動の 作成は、第 2動力学モデルよりも一般に線形性の高い第 1動力学モデルを使用して 行なうので、歩容の発散を生じにくぐ床反力成分誤差 Aerrを加味した前記第 1床反 力成分が適切に前記目標値を満足し、且つ、床反力成分誤差 Berrを加味した前記 第 2床反力成分が適切に前記許容範囲を満足し得るような目標運動を効率よく生成 できる。
[0038] なお、前記第 1発明または第 2発明では、前記床反力成分は、前記移動ロボットに 作用する床反力の並進床反力水平成分であることが好ましい (第 5発明)。これによ れば、並進床反力水平成分が適切に許容範囲を満足する (許容範囲に収まる)目標 歩容を生成できるので、ロボットのスリップを生じ難い目標歩容を適切に生成できる。
[0039] さらに、前記第 3発明または第 4発明では、前記第 1床反力成分は、前記移動ロボ ットに作用する床反力の、所定の作用点(例えば目標 ZMP)まわりの床反力モーメン ト水平成分であり、前記第 2床反力成分は、前記移動ロボットに作用する床反力の並 進床反力水平成分であることが好ま ヽ (第 6発明)。
[0040] これによれば、所定の作用点まわりの床反力モーメント水平成分がその目標値を満 足し、且つ、並進床反力水平成分がその許容範囲を満足する (許容範囲に収まる) 目標歩容を生成できるので、動力学的平衡条件を満たしつつ、ロボットのスリップを 生じ難 ヽ目標歩容を適切に生成できる。
[0041] 次に、本発明の移動ロボットの歩容生成装置の第 7発明は、前記の目的を達成す るために、移動ロボットの目標 ZMPと該移動ロボットの運動によって発生する並進床 反力水平成分の許容範囲とを設定し、該目標 ZMPと並進床反力水平成分の許容範 囲とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する 歩容生成装置において、
前記移動ロボットの所定の第 1動力学モデルを用いて、前記目標 ZMPを満足し、 且つ、前記並進床反力水平成分が前記許容範囲を満たすように、前記目標運動の 仮値である仮運動を作成する仮目標運動作成手段と、
前記第 1動力学モデルと該第 1動力学モデルよりも動力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって 前記第 2動力学モデル上で算出される ZMPと該運動によって前記第 1動力学モデ ル上で算出される ZMPとの差である ZMP誤差 ZMPerrを求めると共に、該運動によ つて前記第 2動力学モデル上で発生する前記並進床反力水平成分と該運動によつ て前記第 1動力学モデル上で発生する前記並進床反力水平成分との差である並進 床反力水平成分誤差 Ferrを求める誤差算出手段と、
前記作成された仮運動力 前記誤差算出手段によって求められる ZMP誤差
ZMPerrおよび並進床反力水平成分誤差 Ferrのうちの ZMP誤差 ZMPerrが所定の第 1許容誤差範囲に収まっているか否かを評価すると共に、並進床反力水平成分誤差 Ferrが所定の第 2許容誤差範囲に収まっているか否かを評価する評価手段と、 前記評価手段の評価において前記仮運動に対応する ZMP誤差 ZMPerrおよび並 進床反力水平成分誤差 Ferrの両者がそれぞれに対応する前記第 1許容誤差範囲 および第 2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動とし て決定すると共に、前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水 平成分誤差 Ferrの少なくともいずれか一方がそれに対応する前記第 1許容誤差範囲 または第 2許容誤差範囲から逸脱して ヽる場合には、前記仮運動を少なくとも 1回以 上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrの 少なくともいずれか一方がそれに対応する前記第 1許容誤差範囲または第 2許容誤 差範囲から逸脱して!/ヽる場合にお!ヽて、前記目標運動決定手段が前記仮運動の第 n回目(n:n≥lである整数)の修正によって求める修正後運動を第 n修正後運動とし 、該第 n修正後運動から前記床反力成分誤差算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrをそれぞれ第 nZMP誤差 ZMPerr(n)お よび第 n並進床反力水平成分誤差 Ferr(n)とし、前記仮運動を第 0修正後運動とし、 前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrをそ れぞれ第 OZMP誤差 ZMPerr(O)および第 0並進床反力水平成分誤差 Ferr(O)としたと さ、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で算 出される ZMPに、第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した ZMP補正量との!/、ずれかをカ卩えたものが前記目標 Z MPに一致し、且つ、該第 n修正後運動によって前記第 1動力学モデル上で発生す る前記並進床反力水平成分に、第 n-1並進床反力水平成分誤差 Ferr(n-l)と少なく とも該第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した床反力補正量と の!、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する 修正後運動決定処理と、前記決定した第 n修正後運動に対応する第 nZMP誤差 ZMPerr(n)と第 n— 1修正後運動に対応する第 n— 1ZMP誤差 ZMPerr(n-l)との差、お よび、前記第 nZMP誤差 ZMPerr(n)と少なくとも前記第 n— 1ZMP誤差 ZMPerr(n- 1)に 応じて決定した前記 ZMP補正量との差のいずれか一方として定義される ZMP誤差 変化量 A ZMPerrと、前記決定した第 n修正後運動に対応する第 n並進床反力水平 成分誤差 Ferr(n)と第 n - 1修正後運動に対応する第 n - 1並進床反力水平成分誤差 F err(n-l)との差、および、第 n並進床反力水平成分誤差 Ferr(n)と少なくとも前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した前記床反力補正量との差の V、ずれか一方として定義される並進床反力水平成分誤差変化量 Δ Ferrとがそれぞ れ 0に収束したか否かを判断する収束判断処理とを少なくとも該 ZMP誤差変化量 Δ ZMPerrおよび並進床反力水平成分誤差変化量 Δ Ferrの両者が 0に収束したと判断 されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で 決定した修正後運動を前記目標運動として決定することを特徴とするものである。
[0042] なお、この第 7発明において、ロボットの任意の運動に対して、任意の動力学モデ ル上で目標 ZMPを満足するということは、該運動によって該動力学モデル上で発生 するロボットの慣性力と該ロボットに作用する重力との合力が目標 ZMPまわりに発生 するモーメントの水平成分 (あるいは、そのモーメントに釣り合う床反力モーメント水平 成分)が 0もしくはほぼ 0になることを意味する。このことは、後述の第 8発明、第 10発 明、第 15発明、第 16発明においても同様である。
[0043] かかる第 7発明では、前記仮目標運動作成手段によって、とりあえず、目標運動の 仮値である仮運動が生成される。この仮運動は、前記第 1動力学モデルを用いて、 前記目標 ZMPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満た すように作成される。
[0044] そして、前記仮運動から前記誤差算出手段によって求められる ZMP誤差 ZMPerr および並進床反力水平成分誤差 Ferrがそれぞれ第 1許容誤差範囲、第 2許容誤差 範囲に収まっているか否かが評価手段によって評価される。この場合、該仮運動に 対応する ZMP誤差 ZMPerrは、該仮運動によって前記第 2動力学モデル上で算出さ れる ZMPと該仮運動によって前記第 1動力学モデル上で算出される ZMPとの差で あるから、仮運動に対する第 1動力学モデル上での ZMPの誤差を意味する。同様に 、該仮運動に対応する並進床反力水平成分誤差 Berrは、該仮運動によって前記第 2動力学モデル上で発生する並進床反力水平成分と該仮運動によって前記第 1動 力学モデル上で発生する並進床反力水平成分との差であるから、仮運動に対する 第 1動力学モデル上での並進床反力水平成分の誤差を意味する。
[0045] そして、前記評価手段の評価にお!、て、該仮運動に対応する ZMP誤差 ZMPerrお よび並進床反力水平成分誤差 Ferrの両者がそれぞれに対応する第 1許容誤差範囲 、第 2許容誤差範囲に収まっている場合には、該仮運動によって第 1動力学モデル 上で算出される ZMPが誤差が十分に小さぐ且つ該仮運動によって第 1動力学モデ ル上で発生する並進床反力水平成分の誤差が両者とも十分に小さ!/、ので、該仮運 動が前記目標運動として決定される。また、該仮運動に対応する ZMP誤差 ZMPerr および並進床反力水平成分誤差 Ferrのいずれかがそれに対応する第 1許容誤差範 囲または第 2許容誤差範囲から逸脱している場合には、この仮運動は、目標運動決 定手段によって少なくとも 1回以上修正され、その修正により目標運動が得られる。こ の仮運動の修正を行なう場合において、前記目標運動決定手段は、前記修正後運 動決定処理と前記収束判断処理とを少なくとも前記 ZMP誤差変化量 Δ ZMPerrおよ び並進床反力水平成分誤差変化量 Δ Ferrの両者が 0に収束したと判断されるまで繰 り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後運 動を前記目標運動として決定する。
[0046] この場合、前記修正後運動決定処理では、第 n回目の修正後の第 n修正後運動に よって前記第 1動力学モデル上で算出される ZMPに、第 n - 1修正後運動 (第 0修正 後運動は、前記仮運動である)に対応して算出される第 n— 1ZMP誤差 ZMPerr(n-l) と少なくとも該第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した ZMP補正量とのいず れかを加えたものが前記目標 ZMPに一致し、且つ、第 n修正後運動によって前記第 1動力学モデル上で発生する並進床反力水平成分に、第 n— 1修正後運動に対応し て算出される第 n— 1並進床反力水平成分誤差 Ferr(n-l)と少なくとも該第 n— 1並進床 反力水平成分誤差 Ferr(n-l)に応じて決定した床反力補正量とのいずれかを加えた ものが前記許容範囲を満たすように第 n修正後運動を決定する。ただし、第 n修正後 運動は、第 n— 1修正後運動とは一般には同一にはならないので、第 n修正後運動を 決定するに際して加味した、第 n - 1ZMP誤差 ZMPerr(n-l)および第 n - 1並進床反力 水平成分誤差 Ferr(n-1)、もしくは、これらの応じた ZMP補正量および床反力補正量 は必ずしも適切なものとは言えない。そこで、第 7発明では、第 1発明と同様の考え方 によって、前記 ZMP誤差変化量 Δ ZMPerrと前記並進床反力水平成分誤差変化量 Δ Ferrとがそれぞれ 0に収束した力否かを前記収束判断処理で判断し、少なくとも Δ ZMPerrおよび Δ Ferrの両者が収束したと判断されるまで、前記修正後運動決定処理 を繰り返す。このとき、 Δ ZMPerrおよび Δ Ferrの両者が 0に収束した場合には、その 時に決定された第 n修正後運動に対応する第 nZMP誤差 ZMPerr(n)および第 n並進 床反力水平成分誤差 Ferr(n)は、それぞれ第 n - 1ZMP誤差 ZMPerr(n-l)、第 n - 1並 進床反力水平成分誤差 Ferr(n-1)、あるいは、これらの応じた ZMP補正量、床反力 補正量とほぼ同等のものとなるので、第 n修正後運動を決定するに際して加味した、 第 n— 1ZMP誤差 ZMPerr(n-l)もしくはこれに応じた前記 ZMP補正量と、第 n— 1並進 床反力水平成分誤差 Ferr(n-l)もしくはこれに応じた前記床反力補正量との両者は 適切な (信頼性の高い)床反力成分誤差であると言える。そして、この時の第 n修正 後運動が前記目標運動として決定される。
[0047] これにより前記第 2動力学モデル上で目標 ZMPを満足し、且つ並進床反力水平成 分の許容範囲を満足し得るような動力学的精度の高い目標歩容を第 1動力学モデ ル上で生成できることとなる。
[0048] さらに前記修正後運動は、第 1動力学モデル (これは第 2動力学モデルよりも一般 に線形性が高い)上で作成され、また、第 2動力学モデルは、単に第 n— 1修正後運 動から ZMPや床反力を求めるために使用されるので、第 n修正後運動の生成処理と 、第 n - 1修正後運動に対する ZMPや床反力の算出処理を効率よく短時間で行うこと 力 Sできる。また、前記仮運動 (第 0修正後運動)は、さほど動力学的精度が要求されな いので、前記第 1動力学モデルなど、線形性の高い動力学モデルを使用して容易に 短時間で作成できる。
[0049] よって、第 7発明によれば、目標 ZMPと、並進床反力水平成分の許容範囲を満足 し得る歩容を効率よく生成できると共に、その歩容の運動と床反力との間の動力学的 精度を良好に確保することができる。また、目標運動の作成は、第 2動力学モデルよ りも一般に線形性の高い第 1動力学モデルを使用して行なうので、歩容の発散を生 じにくぐ ZMP誤差 ZMPerrもしくはこれに応じた ZMP補正量を加味した ZMPが適切 に目標 ZMPを満足し、且つ、並進床反力水平成分誤差 Ferrもしくはこれに応じた床 反力補正量を加味した並進床反力水平成分が適切に前記許容範囲を満足し得るよ うな目標運動を効率よく生成できる。
また、本発明の移動ロボットの歩容生成装置の第 8発明は、前記の目的を達成する ために、移動ロボットの目標 ZMPと該移動ロボットの運動によって発生する並進床反 力水平成分の許容範囲とを設定し、該目標 ZMPと並進床反力水平成分の許容範囲 とを満足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩 容生成装置において、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1動力学モデルと該第 1動力学モデルよりも動力学的 精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対 して、該運動によって前記第 2動力学モデル上で算出される ZMPと該運動によって 前記第 1動力学モデル上で算出される ZMPとの差である ZMP誤差 ZMPerrを求める と共に、該運動によって前記第 2動力学モデル上で発生する前記並進床反力水平 成分と該運動によって前記第 1動力学モデル上で発生する前記並進床反力水平成 分との差である並進床反力水平成分誤差 Ferrを求める誤差算出手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n:n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤 差 Ferrをそれぞれ第 nZMP誤差 ZMPerr(n)および第 n並進床反力水平成分誤差 F err(n)とし、前記仮運動を第 0修正後運動とし、前記仮運動から前記床反力成分誤差 算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrを それぞれ第 OZMP誤差 ZMPerr(O)および第 0並進床反力水平成分誤差 Ferr(O)とした とき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で算 出される ZMPに、第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n- 1)に応じて決定した ZMP補正量との!/、ずれかをカ卩えたものが前記目標 Z MPに一致し、且つ、該第 n修正後運動によって前記第 1動力学モデル上で発生す る前記並進床反力水平成分に、第 n-1並進床反力水平成分誤差 Ferr(n-l)と少なく とも該第 n— 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した床反力補正量と の!、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する 修正後運動決定処理と、前記決定した第 n修正後運動に対応する第 nZMP誤差 ZMPerr(n)と第 n— 1修正後運動に対応する第 n— 1ZMP誤差 ZMPerr(n-l)との差、お よび、前記第 nZMP誤差 ZMPerr(n)と少なくとも前記第 n— 1ZMP誤差 ZMPerr(n- 1)に 応じて決定した前記 ZMP補正量との差のいずれか一方として定義される ZMP誤差 変化量 A ZMPerrと、前記決定した第 n修正後運動に対応する第 n並進床反力水平 成分誤差 Ferr(n)と第 n - 1修正後運動に対応する第 n - 1並進床反力水平成分誤差 F err(n-l)との差、および、第 n並進床反力水平成分誤差 Ferr(n)と少なくとも前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した前記床反力補正量との差の V、ずれか一方として定義される並進床反力水平成分誤差変化量 Δ Ferrとがそれぞ れ 0に収束したか否かを判断する収束判断処理とを少なくとも該 ZMP誤差変化量 Δ ZMPerrおよび並進床反力水平成分誤差変化量 Δ Ferrの両者が 0に収束したと判断 されるまで繰り返し、の両者力^に収束したと判断されるまで繰り返し、この繰り返し処 理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運 動として決定することを特徴とするものである。
この第 8発明は、第 7発明における前記評価手段を省略し、前記修正後運動決定 処理と収束判断処理とが少なくとも 1回以上、実行されるようにしたものである。なお、 この第 8発明では、前記仮運動は、例えば、第 1動力学モデルを用いて、前記目標 Z MPを満足し、且つ、前記並進床反力水平成分が前記許容範囲を満たすように作成 してもょ 、が、必ずしもこのように作成する必要はな 、。 [0052] この第 8発明では、前記修正後運動決定処理および収束判断処理による作用効果 は、第 7発明と同じである。従って、前記第 2動力学モデル上で前記目標 ZMPを満 足し、且つ並進床反力水平成分の許容範囲を満足し得るような動力学的精度の高 い目標歩容を第 1動力学モデル上で生成できる。
[0053] さらに第 7発明と同様に、前記修正後運動は、第 1動力学モデル (これは第 2動力 学モデルよりも一般に線形性が高い)上で作成され、また、第 2動力学モデルは、単 に第 n— 1修正後運動力 ZMPや床反力を求めるために使用されるので、第 n修正 後運動の生成処理と、第 n - 1修正後運動に対する ZMPや床反力の算出処理を効 率よく短時間で行うことができる。また、前記仮運動 (第 0修正後運動)は、さほど動力 学的精度が要求されないので、前記第 1動力学モデルなど、線形性の高い動力学モ デルを使用して容易に短時間で作成できる。
[0054] よって、第 8発明によれば、第 7発明と同様に、目標 ZMPと、並進床反力水平成分 の許容範囲を満足し得る歩容を効率よく生成できると共に、その歩容の運動と床反 力との間の動力学的精度を良好に確保することができる。また、目標運動の作成は、 第 2動力学モデルよりも一般に線形性の高い第 1動力学モデルを使用して行なうの で、歩容の発散を生じにくぐ ZMP誤差 ZMPerrもしくはこれに応じた ZMP補正量を 加味した ZMPが適切に目標 ZMPを満足し、且つ、並進床反力水平成分誤差 Ferrも しくはこれに応じた床反力補正量を加味した並進床反力水平成分が適切に前記許 容範囲を満足し得るような目標運動を効率よく生成できる。
[0055] ところで、前記第 3発明(ある 、はこれを構成要件とする第 6発明)にお 、て、前記 仮運動によって第 1動力学モデル上で発生する第 1床反力成分は、該目標値に一 致もしくはほぼ一致する。また、前記第 n修正後運動は、それによつて第 1動力学モ デル上で発生する第 1床反力水平成分に、第 n - 1床反力成分誤差 Aerr(n-l)とこれ に所定の第 1係数を乗じたものとのいずれかを加えたものが前記目標値に一致する ように決定される。従って、該第 n修正後運動によって第 1動力学モデル上で発生す る第 1床反力水平成分は、前記目標値から、第 n - 1床反力成分誤差 Aerr(n-l)とこれ に所定の第 1係数を乗じたものとのいずれかを差し引いたものに一致もしくはほぼ一 致する。このことは、前記第 4発明(あるいはこれを構成要件とする第 6発明)におい て、前記仮運動を、前記第 1動力学モデル上で前記第 1床反力成分の目標値を満 足するように作成した場合には同様である。
[0056] そこで、前記第 3発明(あるいは第 6発明)では、前記床反力成分誤差算出手段は 、前記仮運動に対しては、該仮運動によって前記第 1動力学モデル上で発生する前 記第 1床反力成分として、前記目標値を用いることにより該仮運動に対応する前記床 反力成分誤差 Aerrを算出し、前記仮運動以外の第 n修正後運動に対しては、該第 n 修正後運動によって前記第 1動力学モデル上で発生する前記第 1床反力成分として 、前記目標値から前記第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反 力成分誤差 Aerr(n-l)に応じて決定した前記第 1床反力補正量とのいずれ力を差し 引いたものを用いることにより該第 n修正後運動に対応する前記床反力成分誤差 A errを算出するようにしてもょ 、 (第 9発明)。
[0057] 同様に、前記第 4発明(あるいは第 6発明)では、前記仮運動作成手段が、少なくと も前記第 1動力学モデル上で前記第 1床反力成分の目標値を満足するように前記仮 運動を作成する手段であるときには、前記床反力成分誤差算出手段は、前記仮運 動に対しては、該仮運動によって前記第 1動力学モデル上で発生する前記第 1床反 力成分として、前記目標値を用いることにより該仮運動に対応する前記床反力成分 誤差 Aerrを算出し、前記仮運動以外の第 n修正後運動に対しては、該第 n修正後運 動によって前記第 1動力学モデル上で発生する前記第 1床反力成分として、前記目 標値から前記第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤 差 Aerr(n-l)に応じて決定した前記第 1床反力補正量とのいずれかを差し引いたもの を用いることにより該第 n修正後運動に対応する前記床反力成分誤差 Aerrを算出す るようにしてもよい (第 10発明)。
[0058] この第 9発明、あるいは第 10発明によれば、第 n修正後運動から第 1動力学モデル によって直接的に第 1床反力成分を算出せずに、これらの運動に対応する床反力成 分誤差を容易に求めることができる。
[0059] この第 9発明、第 10発明と同様の考え方によって、前記第 7発明では、前記床反力 成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記第 1動力学モ デル上で算出される ZMPとして、前記目標 ZMPを用いることにより該仮運動に対応 する前記 ZMP誤差 ZMPerrを算出し、前記仮運動以外の第 n修正後運動に対しては 、該第 n修正後運動によって前記第 1動力学モデル上で算出される ZMPとして、前 記目標 ZMPから前記第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した前記 ZMP補正量とのいずれかを差し引いたものを用 V、ることにより該第 n修正後運動に対応する ZMP誤差 ZMPerrを算出するようにしても よい (第 11発明)。
[0060] 同様に、第 8発明では、前記仮運動作成手段が、少なくとも前記第 1動力学モデル 上で前記目標 ZMPを満足するように前記仮運動を作成する手段である場合には、 前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前記 第 1動力学モデル上で算出される ZMPとして、前記目標 ZMPを用いることにより該 仮運動に対応する前記 ZMP誤差 ZMPerrを算出し、前記仮運動以外の第 n修正後 運動に対しては、該第 n修正後運動によって前記第 1動力学モデル上で算出される ZMPとして、前記目標 ZMPから前記第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n- 1)に応じて決定した前記 ZMP補正量とのいずれかを差し 弓 I V、たものを用 、ることにより該第 n修正後運動に対応する ZMP誤差 ZMPerrを算出 するようにしてもょ 、(第 12発明)。
[0061] この第 11発明、あるいは第 12発明によれば、仮運動あるいは第 n修正後運動から 第 1動力学モデルによって直接的に ZMPを算出せずに、これらの運動に対応する Z MP誤差を容易に求めることができる。
[0062] また、前述した第 1一第 12発明では、前記誤差の信頼性を高める上では、ロボット の歩容のある期間分の誤差の瞬時値の時系列を使用し、その時系列の全体に対し て前記評価手段の評価処理、あるいは、前記収束判断処理を行なうことが望ましい。
[0063] そこで、前記第 1発明(あるいはこれを構成要件とする第 5発明)では、前記目標運 動、仮運動および修正後運動は、所定期間における前記移動ロボットの運動の瞬時 値の時系列から構成されるものであり、前記床反力成分誤差算出手段により求めら れる前記第 m床反力成分誤差 (m:m≥0である整数)は、第 m修正後運動によって 該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記床反力成 分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生 する前記床反力成分の瞬時値との差の前記所定期間における時系列から構成され
、前記評価手段の前記所定の許容誤差範囲は、前記第 0床反力成分誤差を構成す る時系列のノターンのうちの所定の第 1特徴量に対する許容誤差範囲であり、前記 目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各時刻 t において、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で発生する 前記床反力成分の瞬時値 FM(t)に、前記第 n - 1床反力成分誤差の該時刻 tでの値 と少なくとも該値に応じて決定した床反力補正量の値とのいずれかをカ卩えたものが該 時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正後運動の瞬時値を 決定する処理であり、前記床反力成分誤差変化量 A FMは、前記第 n床反力成分誤 差の各時刻での値と第 n— 1床反力成分誤差の該時刻での値との差、および、前記 第 n床反力成分誤差の各時刻での値と少なくとも第 n - 1床反力成分誤差の該時刻で の値に応じて決定した前記床反力補正量の値との差のいずれか一方の前記所定期 間における時系列から構成され、前記目標運動決定手段の前記収束判断処理は、 前記床反力成分誤差変化量 Δ FMを構成する時系列のパターンのうちの所定の第 2 特徴量が所定の許容変化量範囲に収まったときに該床反力成分誤差変化量 A FM 力 SOに収束したと判断する処理であることが好ましい (第 13発明)。
[0064] なお、この第 13発明において、前記第 1特徴量、第 2特徴量の種類としては、時系 列の絶対値(時系列の各値の絶対値)のうちの最大値、あるいは、その絶対値の総 和、あるいは、該時系列のパターンの実効値、あるいは、該時系列の最大値と最小 値との差などが挙げられる。また、これらの第 1特徴量、第 2特徴量の種類は、同一で ある必要はないが、同一でもよい。
[0065] この第 13発明によれば、前記評価手段は、前記第 0床反力成分誤差 (すなわち前 記仮運動に対応する床反力成分誤差)を構成する時系列のパターンの第 1特徴量 が前記許容誤差範囲に収まっているか否かを評価するので、第 0床反力成分誤差の 時系列が全体的に十分に小さいか否かを評価できる。その結果、仮運動の瞬時値の 時系列の全体が目標運動の時系列として適したものであるか否かを適切に評価でき る。さらに、前記収束判断処理では、前記床反力成分誤差変化量 A FMを構成する 時系列のパターンのうちの所定の第 2特徴量が所定の許容変化量範囲に収まったと きに該床反力成分誤差変化量 A FMが 0に収束したと判断するので、第 n— 1修正後 運動に対応する第 n— 1床反力成分誤差の時系列、あるいは該第 n— 1修正後運動に 応じた前記床反力補正量の時系列と、第 n修正後運動に対応する第 n床反力成分 誤差の時系列とが、全体的にほぼ同じパターンになったか否かを判断できる。その結 果、前記決定した第 n修正後運動の瞬時値の時系列が、信頼性の高い床反力成分 誤差または信頼性の高い床反力補正量を加味して決定されたものである力否かを適 切に判断できる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学 的精度の信頼性を高めることができる。
上記第 11発明と同様の考え方によって、前記第 2発明(あるいはこれを構成要件と する第 5発明)では、前記目標運動、仮運動および修正後運動は、所定期間におけ る前記移動ロボットの運動の瞬時値の時系列力 構成されるものであり、前記床反力 成分誤差算出手段により求められる前記第 m床反力成分誤差 (m: m≥0である整数 )は、第 m修正後運動によって該第 m修正後運動の各時刻に前記第 2動力学モデル 上で発生する前記床反力成分の瞬時値と該第 m修正後運動によって該時刻に前記 第 1動力学モデル上で発生する前記床反力成分の瞬時値との差の前記所定期間に おける時系列から構成され、前記目標運動決定手段の前記修正後運動決定処理は 、前記第 n修正後運動の各時刻 tにおいて、該第 n修正後運動によって時刻 tに前記 第 1動力学モデル上で発生する前記床反力成分の瞬時値 FM(t)に、前記第 n - 1床 反力成分誤差の該時刻 tでの値と少なくとも該値に応じて決定した前記床反力補正
Figure imgf000028_0001
、ずれかを加えたものが該時刻 tでの前記許容範囲を満たすように該時 刻 tにおける第 n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差 変化量 Δ FMは、前記第 n床反力成分誤差の各時刻での値と第 n - 1床反力成分誤 差の該時刻での値との差、および、前記第 n床反力成分誤差の各時刻での値と少な くとも第 n - 1床反力成分誤差の該時刻での値に応じて決定した前記床反力補正量 の値との差のいずれか一方の前記所定期間における時系列から構成され、前記目 標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ FMを構 成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲に収まつ たときに該床反力成分誤差変化量 A FMが 0に収束したと判断する処理であることが 好ましい (第 14発明)。
[0067] なお、この第 14発明において、前記特徴量の種類としては、前記第 13発明に関し て例示したものが挙げられる。
[0068] この第 14発明によれば、前記収束判断処理では、前記床反力成分誤差変化量 Δ FMを構成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲 に収まったときに該床反力成分誤差変化量 A FMが 0に収束したと判断するので、前 記第 13発明の場合と同様に、前記決定した第 n修正後運動の瞬時値の時系列が、 信頼性の高 ヽ床反力成分誤差または信頼性の高 ヽ床反力補正量を加味して決定さ れたものである力否かを適切に判断できる。ひいては、最終的に決定した目標運動 を含む目標歩容の動力学的精度の信頼性を高めることができる。
[0069] また、第 13発明と同様の考え方によって、前記第 3発明(あるいはこれを構成要件 とする第 6発明もしくは第 9発明)では、前記目標運動、仮運動および修正後運動は 、所定期間における前記移動ロボットの運動の瞬時値の時系列から構成されるもの であり、
前記床反力成分誤差算出手段により求められる前記第 m床反力成分誤差 Aerr, B err (m:m≥0である整数)のうちの第 m床反力成分誤差 Aerrは、第 m修正後運動に よって該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記第 1 床反力成分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル 上で発生する前記第 1床反力成分の瞬時値との差の前記所定期間における時系列 から構成されると共に、前記第 m床反力成分誤差 Berrは、第 m修正後運動の各時刻 に前記第 2動力学モデル上で発生する前記第 2床反力成分の瞬時値と該第 m修正 後運動によって該時刻に前記第 1動力学モデル上で発生する前記第 2床反力成分 の瞬時値との差の前記所定期間における時系列力 構成され、前記評価手段の前 記所定の第 1許容誤差範囲は、前記第 0床反力成分誤差 Aerr(O)を構成する時系列 ノターンのうちの所定の第 1特徴量に対する許容誤差範囲であると共に前記所定の 第 2許容誤差範囲は、前記第 0床反力成分誤差 Berr(O)を構成する時系列のパター ンのうちの所定の第 2特徴量に対する許容誤差範囲であり、前記目標運動決定手段 の前記修正後運動決定処理は、前記第 n修正後運動の各時刻 tにおいて、該第 n修 正後運動によって時刻 tに前記第 1動力学モデル上で発生する前記第 1床反力成分 の瞬時値に、前記第 n - 1床反力成分誤差 Aerr(n-l)の時刻 tでの値と少なくとも該値 に応じて決定した前記第 1床反力補正量の値とのいずれかを加えたものが該時刻 t での前記目標値を満足し、且つ、該第 n修正後運動によって該時刻 tに前記第 1動力 学モデル上で発生する前記第 2床反力成分の瞬時値に、前記第 n - 1床反力成分誤 差 Berr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記第 2床反力補正量 の値との 、ずれかを加えたものが該時刻 tでの前記許容範囲を満たすように該時刻 t における第 n修正後運動の瞬時値を決定する処理であり、前記床反力成分誤差変 化量 Δ Aerrは、前記第 n床反力成分誤差 Aerr(n)の各時刻での値と第 n - 1床反力成 分誤差 Aerr(n-l)の該時刻での値との差、および、前記第 n床反力成分誤差 Aerr(n) の各時刻での値と少なくとも第 n— 1床反力成分誤差 Aerr(n-l)の該時刻での値に応 じて決定した前記第 1床反力補正量の値との差のいずれか一方の前記所定期間に おける時系列から構成されると共に、前記床反力成分誤差変化量 A Berrは、前記第 n床反力成分誤差 Berr(n)の各時刻での値と第 n - 1床反力成分誤差 Berr(n-l)の該時 刻での値との差、および、前記第 n床反力成分誤差 Berr(n)の各時刻での値と少なく とも第 n— 1床反力成分誤差 Berr(n-l)の該時刻での値に応じて決定した前記第 2床 反力補正量の値との差のいずれか一方の前記所定期間における時系列から構成さ れ、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ Aerrを構成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対す る所定の許容変化量範囲に収まったときに該床反力成分誤差変化量 Δ Aerrが 0に 収束したと判断すると共に、前記床反力成分誤差変化量 Δ Berrを構成する時系列 のパターンのうちの前記第 4特徴量が該第 4特徴量に対する所定の許容変化量範囲 に収まったときに該床反力成分誤差変化量 Δ Berr力^に収束したと判断する処理で あることが好ま 、 (第 15発明)。
なお、この第 15発明において、前記第 1一第 4特徴量のそれぞれの種類としては、 前記第 13発明に関して例示したものが挙げられる。この場合、第 1一第 4特徴量の種 類は互いに同一である必要はな 、が、同一でもよ!/、。 [0071] この第 15発明によれば、前記評価手段は、前記第 0床反力成分誤差 Aerr(O) (すな わち前記仮運動に対応する床反力成分誤差 Aerr)を構成する時系列のパターンの 第 1特徴量と、第 0床反力成分誤差 Aerr(O) (すなわち前記仮運動に対応する床反力 成分誤差 Berr)を構成する時系列のパターンの第 2特徴量とがそれぞれに対応する 第 1許容誤差範囲、第 2許容誤差範囲に収まっているか否かを評価するので、 Aerr(0)、 Berr(0)の時系列のそれぞれにつ ヽて該時系列が全体的に十分に小さ!/、か 否かを評価できる。その結果、仮運動の瞬時値の時系列の全体が目標運動の時系 列として適したものであるカゝ否かを適切に評価できる。さらに、前記収束判断処理で は、前記床反力成分誤差変化量 Δ Aerrを構成する時系列のパターンのうちの所定 の第 3特徴量力これに対応する許容変化量範囲に収まったときに該 Δ Aerr力 ^に収 束したと判断すると共に、前記床反力成分誤差変化量 Δ Berrを構成する時系列のパ ターンのうちの所定の第 4特徴量がこれに対応する許容変化量範囲に収まったとき に該 Δ Berrが 0に収束したと判断するので、第 n— 1修正後運動に対応する第 n— 1床 反力成分誤差 Aerr(n-l), Berr(n- 1)の時系列、あるいは、これらの Aerr(n-l), Berr(n-l)に応じた前記第 1床反力補正量、第 2床反力補正量の時系列のそれぞれと 、第 n修正後運動に対応する第 n床反力成分誤差の時系列 Aerr(n), Berr(n-l)のそ れぞれとが、全体的にほぼ同じパターンになったか否かを判断できる。その結果、前 記決定した第 n修正後運動の瞬時値の時系列が、信頼性の高!、床反力成分誤差 Aerr, Berrまたは信頼性の高い第 1床反力補正量、第 2床反力補正量を加味して決 定されたものである力否かを適切に判断できる。ひいては、最終的に決定した目標 運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
[0072] 同様に、前記第 4発明(あるいはこれを構成要件とする第 6発明、もしくは第 10発明 )では、前記目標運動、仮運動および修正後運動は、所定期間における前記移動口 ボットの運動の瞬時値の時系列力 構成されるものであり、前記床反力成分誤差算 出手段により求められる前記第 m床反力成分誤差 Aerr, Berr (m:m≥0である整数) のうちの第 m床反力成分誤差 Aerrは、第 m修正後運動によって該第 m修正後運動 の各時刻に前記第 2動力学モデル上で発生する前記第 1床反力成分の瞬時値と該 第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生する前記第 1床 反力成分の瞬時値との差の前記所定期間における時系列力 構成されると共に、前 記第 m床反力成分誤差 Berrは、第 m修正後運動の各時刻に前記第 2動力学モデル 上で発生する前記第 2床反力成分の瞬時値と該第 m修正後運動によって該時刻に 前記第 1動力学モデル上で発生する前記第 2床反力成分の瞬時値との差の前記所 定期間における時系列から構成され、前記目標運動決定手段の前記修正後運動決 定処理は、前記第 n修正後運動の各時刻 tにおいて、該第 n修正後運動によって時 刻 tに前記第 1動力学モデル上で発生する前記第 1床反力成分の瞬時値に、前記第 n— 1床反力成分誤差 Aerr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前 記第 1床反力補正量の値との!/、ずれかを加えたものが該時刻 tでの前記目標値を満 足し、且つ、該第 n修正後運動によって該時刻 tに前記第 1動力学モデル上で発生 する前記第 2床反力成分の瞬時値に、前記第 n - 1床反力成分誤差 Berr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記第 2床反力補正量の値とのいずれか をカロえたものが該時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正 後運動の瞬時値を決定する処理であり、前記床反力成分誤差変化量 AAerrは、前 記第 n床反力成分誤差 Aerr(n)の各時刻での値と第 n - 1床反力成分誤差 Aerr(n-l) の該時刻での値との差、および、前記第 n床反力成分誤差 Aerr(n)の各時刻での値と 少なくとも第 n— 1床反力成分誤差 Aerr(n-l)の該時刻での値に応じて決定した前記 第 1床反力補正量の値との差のいずれか一方の前記所定期間における時系列から 構成されると共に、前記床反力成分誤差変化量 Δ Berrは、前記第 n床反力成分誤差 Berr(n)の各時刻での値と第 n— 1床反力成分誤差 Berr(n-l)の該時刻での値との差、 および、前記第 n床反力成分誤差 Berr(n)の各時刻での値と少なくとも第 n - 1床反力 成分誤差 Berr(n-l)の該時刻での値に応じて決定した前記第 2床反力補正量の値と の差のいずれか一方の前記所定期間における時系列力 構成され、前記目標運動 決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ Aerrを構成する 時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対する所定の許容変 化量範囲に収まったときに該床反力成分誤差変化量 Δ Aerrが 0に収束したと判断す ると共に、前記床反力成分誤差変化量 Δ Berrを構成する時系列のパターンのうちの 前記第 4特徴量が該第 4特徴量に対する所定の許容変化量範囲に収まったときに該 床反力成分誤差変化量 Δ Berr力^に収束したと判断する処理であることが好ま ヽ( 第 16発明)。
[0073] なお、この第 16発明において、前記第 3特徴量、第 4特徴量の種類としては、前記 第 13発明に関して例示したものが挙げられる。この場合、第 3、第 4特徴量の種類は 同一である必要はないが、同一でもよい。
[0074] この第 16発明によれば、前記収束判断処理では、前記床反力成分誤差変化量 Δ Aerrを構成する時系列のパターンのうちの所定の第 3特徴量がこれに対応する許容 変化量範囲に収まったときに該 AAerrが 0に収束したと判断すると共に、前記床反力 成分誤差変化量 Δ Berrを構成する時系列のパターンのうちの所定の第 4特徴量がこ れに対応する許容変化量範囲に収まったときに該 Δ Berr力 SOに収束したと判断する ので、前記第 13発明の場合と同様に、前記決定した第 n修正後運動の瞬時値の時 系列が、信頼性の高い床反力成分誤差 Aerr, Berrまたは信頼性の高い第 1床反力 補正量、第 2床反力補正量を加味して決定されたものである力否かを適切に判断で きる。ひいては、最終的に決定した目標運動を含む目標歩容の動力学的精度の信 頼性を高めることができる。
[0075] 同様に、前記第 7発明(あるいはこれを構成要件とする第 11発明)においては、前 記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運 動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段によ り求められる前記第 mZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferr (m: m ≥0である整数)のうちの第 mZMP誤差 ZMPerrは、第 m修正後運動によって該第 m 修正後運動の各時刻に前記第 2動力学モデル上で算出される ZMPの瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で算出される ZMPの瞬時 値との差の前記所定期間における時系列から構成されると共に、前記第 m並進床反 力水平成分誤差 Berrは、第 m修正後運動の各時刻に前記第 2動力学モデル上で発 生する並進床反力水平成分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間 における時系列から構成され、前記評価手段の前記所定の第 1許容誤差範囲は、前 記第 0ZMP誤差 ZMPerr(O)を構成する時系列のパターンのうちの所定の第 1特徴量 に対する許容誤差範囲であると共に、前記所定の第 2許容誤差範囲は、前記第 0並 進床反力水平成分誤差 Ferr(O)を構成する時系列のパターンのうちの所定の第 2特 徴量に対する許容誤差範囲であり、前記目標運動決定手段の前記修正後運動決定 処理は、前記第 n修正後運動の各時刻 tにおいて、該第 n修正後運動によって時刻 t に前記第 1動力学モデル上で算出される ZMPの瞬時値に、前記第 n - 1ZMP誤差 ZMPerr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記 ZMP補正量の値 とのいずれかをカ卩えたものが該時刻 tでの前記目標 ZMPを満足し、且つ、該第 n修 正後運動によって該時刻 tに前記第 1動力学モデル上で発生する並進床反力水平 成分の瞬時値に、前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)の時刻 tでの値と 少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたもの が該時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正後運動の瞬 時値を決定する処理であり、前記 ZMP誤差変化量 A ZMPerrは、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と第 n— 1ZMP誤差 ZMPerr(n- 1)の該時刻での値との差、 および、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と少なくとも第 n— 1ZMP誤差 ZMPerr(n-l)の該時刻での値に応じて決定した前記 ZMP補正量の値との差のいず れか一方の前記所定期間における時系列力 構成されると共に、前記並進床反力 水平成分誤差変化量 Δ Ferrは、前記第 n並進床反力水平成分誤差 Ferr(n)の各時 刻での値と第 n— 1並進床反力水平成分誤差 Ferr(n-l)の該時刻での値との差、およ び、前記第 n並進床反力水平成分誤差 Ferr(n)の各時刻での値と少なくとも第 n - 1並 進床反力水平成分誤差 Ferr(n-l)の該時刻での値に応じて決定した前記床反力補 正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前 記目標運動決定手段の前記収束判断処理は、前記 ZMP誤差変化量 Δ ZMPerrを構 成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対する所定の 許容変化量範囲に収まったときに該 ZMP成分誤差変化量 Δ ZMPerr力 SOに収束した と判断すると共に、前記並進床反力水平成分誤差変化量 Δ Ferrを構成する時系列 のパターンのうちの所定の第 4特徴量が該第 4特徴量に対する所定の許容変化量範 囲に収まったときに該並進床反力水平成分誤差偏差 A Ferrが 0に収束したと判断す る処理であることが好ま 、(第 17発明)。 [0076] なお、この第 17発明おいて、前記第 1一第 4特徴量の種類としては、前記第 13発 明に関して例示したものが挙げられる。この場合、第 1一第 4特徴量の種類は互いに 同一である必要はないが、同一でもよい。
[0077] この第 17発明によれば、前記評価手段は、前記第 0ZMP誤差 ZMPerr(O) (すなわ ち前記仮運動に対応する ZMP誤差 ZMPerr)を構成する時系列のパターンの第 1特 徴量と、第 0並進床反力水平成分誤差 Ferr(O) (すなわち前記仮運動に対応する並進 床反力水平成分誤差 Ferr)を構成する時系列のパターンの第 2特徴量とがそれぞれ に対応する第 1許容誤差範囲、第 2許容誤差範囲に収まっているか否かを評価する ので、 ZMPerr(0)、 Ferr(0)の時系列のそれぞれについて該時系列が全体的に十分に 小さいか否かを評価できる。その結果、仮運動の瞬時値の時系列の全体が目標運 動の時系列として適したものであるか否かを適切に評価できる。さらに、前記収束判 断処理では、前記 ZMP誤差変化量 Δ ZMPerrを構成する時系列のパターンのうちの 所定の第 3特徴量力これに対応する許容変化量範囲に収まったときに該 Δ ZMPerr 力 SOに収束したと判断すると共に、前記並進床反力水平成分誤差変化量 Δ Ferrを構 成する時系列のパターンのうちの所定の第 4特徴量がこれに対応する許容変化量範 囲に収まったときに該 Δ Ferr力^に収束したと判断するので、第 n— 1修正後運動に対 応する第 n - 1ZMP誤差 ZMPerr(n-l)および第 n - 1並進床反力水平成分誤差 Berr(n-l)の時系列、あるいは、これらの応じた前記 ZMP補正量および床反力補正 量の時系列のそれぞれと、第 n修正後運動に対応する第 nZMP誤差の時系列 ZMPerr(n)および第 n並進床反力水平成分誤差 Ferr(n-l)のそれぞれとが、全体的に ほぼ同じパターンになった力否かを判断できる。その結果、前記決定した第 n修正後 運動の瞬時値の時系列が、信頼性の高!ヽ ZMP誤差 ZMPerrおよび並進床反力水平 成分誤差 Ferr、または、信頼性の高い ZMP補正量および床反力補正量を加味して 決定されたものである力否かを適切に判断できる。ひいては、最終的に決定した目 標運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
[0078] 同様に、前記第 9発明(あるいはこれを構成要件とする第 12発明)においては、前 記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボットの運 動の瞬時値の時系列から構成されるものであり、前記床反力成分誤差算出手段によ り求められる前記第 mZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferr (m: m ≥0である整数)のうちの第 mZMP誤差 ZMPerrは、第 m修正後運動によって該第 m 修正後運動の各時刻に前記第 2動力学モデル上で算出される ZMPの瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で算出される ZMPの瞬時 値との差の前記所定期間における時系列から構成されると共に、前記第 m並進床反 力水平成分誤差 Berrは、第 m修正後運動の各時刻に前記第 2動力学モデル上で発 生する並進床反力水平成分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生する並進床反力水平成分の瞬時値との差の前記所定期間 における時系列から構成され、前記目標運動決定手段の前記修正後運動決定処理 は、前記第 n修正後運動の各時刻 tにおいて、該第 n修正後運動によって時刻 tに前 記第 1動力学モデル上で算出される ZMPの瞬時値に、前記第 n— 1ZMP誤差 ZMPerr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記 ZMP補正量の値 とのいずれかをカ卩えたものが該時刻 tでの前記目標 ZMPを満足し、且つ、該第 n修 正後運動によって該時刻 tに前記第 1動力学モデル上で発生する並進床反力水平 成分の瞬時値に、前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)の時刻 tでの値と 少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加えたもの が該時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正後運動の瞬 時値を決定する処理であり、前記 ZMP誤差変化量 Δ ZMPerrは、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と第 n— 1ZMP誤差 ZMPerr(n- 1)の該時刻での値との差、 および、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と少なくとも第 n— 1ZMP誤差 ZMPerr(n-l)の該時刻での値に応じて決定した前記 ZMP補正量の値との差のいず れか一方の前記所定期間における時系列力 構成されると共に、前記並進床反力 水平成分誤差変化量 Δ Ferrは、前記第 n並進床反力水平成分誤差 Ferr(n)の各時 刻での値と第 n— 1並進床反力水平成分誤差 Ferr(n-l)の該時刻での値との差、およ び、前記第 n並進床反力水平成分誤差 Ferr(n)の各時刻での値と少なくとも第 n - 1並 進床反力水平成分誤差 Ferr(n-l)の該時刻での値に応じて決定した前記床反力補 正量の値との差のいずれか一方の前記所定期間における時系列から構成され、前 記目標運動決定手段の前記収束判断処理は、前記 ZMP誤差変化量 Δ ZMPerrを構 成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対する所定の 許容変化量範囲に収まったときに該 ZMP成分誤差変化量 Δ ZMPerr力 SOに収束した と判断すると共に、前記並進床反力水平成分誤差変化量 Δ Ferrを構成する時系列 のパターンのうちの所定の第 4特徴量が該第 4特徴量に対する所定の許容変化量範 囲に収まったときに該並進床反力水平成分誤差偏差 A Ferrが 0に収束したと判断す る処理であることが好ましい(第 18発明)。
[0079] なお、この第 18発明において、前記第 3特徴量、第 4特徴量の種類としては、前記 第 13発明に関して例示したものが挙げられる。この場合、第 3、第 4特徴量の種類は 同一である必要はないが、同一でもよい。
[0080] この第 18発明によれば、前記収束判断処理では、前記 ZMP誤差変化量 Δ
ZMPerrを構成する時系列のパターンのうちの所定の第 3特徴量力これに対応する許 容変化量範囲に収まったときに該 A ZMPerr力^に収束したと判断すると共に、前記 並進床反力水平成分誤差変化量 Δ Ferrを構成する時系列のパターンのうちの所定 の第 4特徴量がこれに対応する許容変化量範囲に収まったときに該 Δ Ferr力 SOに収 束したと判断するので、前記第 17発明の場合と同様に、前記決定した第 n修正後運 動の瞬時値の時系列が、信頼性の高!ヽ ZMP誤差 ZMPerrおよび並進床反力水平成 分誤差 Ferr、または、信頼性の高い ZMP補正量および床反力補正量を加味して決 定されたものである力否かを適切に判断できる。ひいては、最終的に決定した目標 運動を含む目標歩容の動力学的精度の信頼性を高めることができる。
[0081] なお、前記第 1一第 8発明において、前記修正後運動決定処理をある程度の回数 ( 複数回)、繰り返せば、一般に、前記誤差変化量は 0に収束する。従って、前記収束 判断処理においては、例えば修正後運動決定処理の繰り返し回数 (実行回数)が所 定回数に達したときに、前記誤差変化量が 0に収束した (誤差変化量が 2種類の場 合には、その両者が収束した)と判断するようにしてもよい。また、第 n修正後運動と 第 n— 1修正後運動との差を基に前記誤差変化量の 0への収束を判断するようにして ちょい。
[0082] また、以上説明した第 1一第 16発明において目標歩容に目標運動だけでなく目標 床反力を含めてもよい。 [0083] この場合、第 1発明、第 2発明、あるいはこれらを構成要件とする第 5発明、第 13発 明、第 14発明では、最終的に目標運動として決定した第 n修正後運動によって第 1 動力学モデル上で発生する床反力成分に、第 n - 1床反力成分誤差、もしくはこれに 応じた床反力補正量との!/、ずれかを加えたものを前記床反力成分の目標値とすれ ばよい。あるいは、最終的に目標運動として決定した第 n修正後運動によって第 2動 力学モデル上で発生する床反力成分を、前記床反力成分の目標値とすればよい。 なお、前記仮運動を目標運動として決定したときには、該仮運動によって第 1動力学 モデル上で発生する床反力成分を目標値とすればよ!、。
[0084] また、前記第 3発明、第 4発明、あるいはこれらを構成要件とする第 6発明、第 9発 明、第 10発明、第 15発明、第 16発明では、最終的に目標運動として決定した第 n修 正後運動によって第 1動力学モデル上で発生する第 1床反力成分に、第 n - 1床反力 成分誤差 Aerr(n-l)もしくはこれに応じた第 1床反力補正量とのいずれかを加えたも のを前記第 1床反力成分の目標値とし、また、第 n修正後運動によって第 1動力学モ デル上で発生する第 2床反力成分に、第 n - 1床反力成分誤差 Berr(n-l)もしくはこれ に応じた第 2床反力補正量との 、ずれかを加えたものを前記第 2床反力成分の目標 値とすればよい。あるいは、最終的に目標運動として決定した第 n修正後運動によつ て第 2動力学モデル上で発生する第 1床反力成分および第 2床反力成分をそれぞれ の目標値とすればよい。なお、前記仮運動を目標運動として決定したときには、該仮 運動によって第 1動力学モデル上で発生する第 1床反力成分、第 2床反力成分をそ れぞれの目標値とすればょ 、。
[0085] また、前記第 7発明、第 8発明、あるいはこれらを構成要件とする第 11発明、第 12 発明、第 17発明、第 18発明では、最終的に目標運動として決定した第 n修正後運 動によって第 1動力学モデル上で発生する並進床反力水平成分に、第 n - 1並進床 反力水平成分誤差 Ferr(n-l)もしくはこれに応じた床反力補正量の!/ヽずれかを加えた ものを並進床反力水平成分の目標値とすればよい。 目標 ZMPは当初のままでよい。 あるいは、最終的に目標運動として決定した第 n修正後運動によって第 2動力学モデ ル上で発生する並進床反力水平成分をそれの目標値とすればよい。また、前記仮運 動を目標運動として決定したときには、該仮運動によって第 1動力学モデル上で発 生する並進床反力水平成分を目標値とすればよ!、。
[0086] また、第 1一第 16発明では、それにより生成した目標歩容を前記特許文献 2, 3のも のの如ぐフルモデル (第 3動力学モデル)を用いてさらに補正するようにしてもよ!、。 この場合、第 1一第 12発明で生成される目標歩容は、動力学的精度が高いので、フ ルモデルにおける歩容の発散が生じにくい。このため、目標 ZMP軌道の修正量、あ るいは、目標 ZMPまわりの床反力モーメントが過大になるのを防止し、ロボットの安 定余裕を高く保つことができる。
発明を実施するための最良の形態
[0087] 以下、添付図面を参照して本発明の実施形態を説明する。尚、本明細書の実施形 態では、移動ロボットとしては 2足移動ロボットを例にとる。
[0088] 図 1は、本発明の実施形態を適用する 2足移動ロボットの全体的構成の概略を示す 概略図である。
[0089] 図示の如ぐ 2足移動ロボット(以下、ロボットという) 1は上体 (ロボット 1の基体) 3から 下方に延設された左右一対の脚体 (脚部リンク) 2, 2を備える。両脚体 2, 2は同一構 造であり、それぞれ 6個の関節を備える。その 6個の関節は上体 3側力 順に、股 (腰 部)の回旋(回転)用(上体 3に対するョー方向の回転用)の関節 10R, 10Lと、股 (腰 部)のロール方向(X軸まわり)の回転用の関節 12R, 12Lと、股 (腰部)のピッチ方向 (Y軸まわり)の回転用の関節 14R, 14L、膝部のピッチ方向の回転用の関節 16R, 1 6Lと、足首のピッチ方向の回転用の関節 18R, 18Lと、足首のロール方向の回転用 の関節 20R, 20Lとから構成される。なお、本明細書において、符号 R, Lはそれぞ れロボット 1の右側、左側に対応するものであることを意味する符号である。
[0090] 各脚体 2の足首の 2つの関節 18R (L) , 20R(L)の下部には、各脚体 2の先端部を 構成する足平 (足部) 22R (L)が取着されると共に、両脚体 2, 2の最上位には、各脚 体 2の股の 3つの関節 10R(L) , 12R (L) , 14R(L)を介して前記上体 3が取り付けら れている。上体 3の内部には、詳細を後述する制御ユニット 60などが格納される。な お、図 1では図示の便宜上、制御ユニット 60を上体 3の外部に記載している。
[0091] 上記構成の各脚体 2においては、股関節(あるいは腰関節)は関節 10R (L) , 12R
(L) , 14R(L)から構成され、膝関節は関節 16R(L)から構成され、足首関節は関節 18R(L) , 20R(L)から構成される。また股関節と膝関節とは大腿リンク 24R(L)で連 結され、膝関節と足首関節とは下腿リンク 26R (L)で連結される。
[0092] 上体 3の上部の両側部には左右一対の腕体 5, 5が取り付けられると共に、上体 3の 上端部には頭部 4が配置される。各腕体 5は、 3つの関節 30R(L) , 32R (L) , 34R( L)から構成された肩関節と、関節 36R (L)から構成された肘関節と、関節 38R(L)か ら構成された手首関節と、この手首関節に連結された手先部 40R (L)とを備えている 。肩関節と肘関節との間、および肘関節と手首関節との間はそれぞれ剛体状のリンク で構成されている。
[0093] 上記のロボット 1の構成により、各脚体 2の足平 22R(L)は、上体 3に対して 6つの自 由度を与えられている。そして、ロボット 1の歩行等の移動中に、両脚体 2, 2を合わせ て 6 * 2 = 12個(この明細書で「 *」はスカラに対する演算としては乗算を、ベクトルに 対する演算としては外積を示す)の関節を適宜な角度で駆動することで、両足平 22 R, 22Lの所望の運動を行うことができる。これにより、ロボット 1は任意に 3次元空間 を移動することができる。また、各腕体 5は、その肩関節、肘関節、手首関節の回転 によって、腕振り等の運動を行うことができる。
[0094] 図 1に示す如ぐ各脚体 2の足首関節 18R (L) , 20R(L)の下方には足平 22R (L) との間に公知の 6軸力センサ 50が介装されている。該 6軸力センサ 50は、各脚体 2 の足平 22R(L)の着地の有無、および各脚体 2に作用する床反力(接地荷重)等を 検出するためのものであり、該床反力の並進力の 3方向成分 Fx, Fy, Fz並びにモー メントの 3方向成分 Mx, My, Mzの検出信号を制御ユニット 60に出力する。また、上 体 3には、 Z軸 (鉛直方向(重力方向))に対する上体 3の傾斜角およびその角速度を 検出するための姿勢センサ 54が備えられ、その検出信号が該姿勢センサ 54から制 御ユニット 60に出力される。この姿勢センサ 54は、図示を省略する加速度センサお よびジャイロセンサを備え、これらのセンサの検出信号が上体 3の姿勢角(傾斜角)お よびその角速度を検出するために用いられる。また、詳細構造の図示は省略するが 、ロボット 1の各関節には、それを駆動するための電動モータ 64 (図 3参照)と、その 電動モータ 64の回転量 (各関節の回転角)を検出するためのエンコーダ (ロータリエ ンコーダ) 65 (図 3参照)とが設けられ、該エンコーダ 65の検出信号が該エンコーダ 6 5から制御ユニット 60に出力される。
[0095] さらに、図 1では図示を省略する力 ロボット 1の外部には、ロボット 1を操縦するため のジョイスティック (操作器) 73 (図 3参照)が設けられ、そのジョイスティック 73を操作 することで、直進移動しているロボット 1を旋回させるなどロボット 1の移動方向を指定 する、ロボット 1の歩行、走行などの運動形態および床面の摩擦状態 (路面状態)を 指定するなど、ロボット 1の歩容に対する要求もしくは制約条件を必要に応じて制御 ユニット 60に入力できるように構成されている。ジョイスティック 73は有線もしくは無線 により制御ユニット 60との通信が可能とされている。
[0096] 図 2は本実施形態における各脚体 2の先端部分 (各足平 22R(L)を含む)の基本構 成を概略的に示す図である。同図に示すように、各足平 22R(L)の上方には、前記 6 軸力センサ 50との間にばね機構 70が装備されると共に、足底 (各足平 22R, Lの底 面)にはゴムなど力もなる足底弾性体 71が貼られている。これらのばね機構 70及び 足底弾性体 71によりコンプライアンス機構 72が構成されている。詳細な図示は省略 するが、ばね機構 70は、足平 22R(L)の上面部に取り付けられた方形状のガイド部 材(図示省略)と、足首関節 18R(L) (図 2では足首関節 20R(L)を省略している)お よび 6軸力センサ 50側に取り付けられ、前記ガイド部材に弹性材 (ゴムやばね)を介 して微動自在に収納されるピストン状部材(図示省略)とから構成されている。
[0097] 図 2に実線で表示された足平 22R(L)は、床反力を受けていないときの状態を示し ている。各脚体 2が床反力を受けると、コンプライアンス機構 72のばね機構 70と足底 弾性体 71とがたわみ、足平 22R (L)は図中に点線で例示したような位置姿勢に移る 。このコンプラインァス機構 72の構造は、着地衝撃を緩和するためだけでなぐ制御 性を高めるためにも重要なものである。その詳細は、例えば本出願人が先に提案し た特開平 5— 305584号公報に詳細に説明されているので、本明細書でのさらなる説 明は省略する。
[0098] 図 3は制御ユニット 60の構成を示すブロック図である。該制御ユニット 60はマイクロ コンピュータにより構成されており、 CPU力もなる第 1の演算装置 90及び第 2の演算 装置 92、 AZD変^^ 80、カウンタ 86、 DZA変^^ 96、 RAM84、 ROM94、並 びにこれらの間のデータ授受を行うバスライン 82を備えている。この制御ユニット 60 では、各脚体 2の 6軸力センサ 50、姿勢センサ 54 (加速度センサおよびレートジャィ 口センサ)、ジョイスティック 73等の出力信号は AZD変翻80でデジタル値に変換 された後、バスライン 82を介して RAM84に送られる。またロボット 1の各関節のェン コーダ 65 (ロータリーエンコーダ)の出力は、カウンタ 86を介して RAM84に入力され る。
[0099] 前記第 1の演算装置 90は後述の如く目標歩容を生成すると共に、関節角変位指 令 (各関節の変位角もしくは各電動モータ 64の回転角の指令値)を算出し、 RAM8 4に送出する。また、第 2の演算装置 92は RAM84から関節角変位指令と、前記ェン コーダ 65の出力信号に基づいて検出された関節角の実測値とを読み出し、各関節 の駆動に必要な操作量を算出して、その操作量を DZA変換器 96とサーボアンプ 6 4aとを介して各関節を駆動する電動モータ 64に出力する。
[0100] 図 4は、本明細書の実施形態におけるロボット 1の制御ユニット 60の主な機能的構 成を示すブロック図である。この図 4中の「実ロボット」の部分以外の部分が制御ュニ ット 60が実行する処理機能 (主として第 1の演算装置 90及び第 2の演算装置 92の機 能)によって構成されるものである。その処理機能は、制御ユニット 60に実装されたプ ログラム等によって実現されている。尚、以下の説明では、ロボット 1の各部 (脚体 2、 腕体 5など)の左右を特に区別する必要がないときは、前記符号 R, Lを省略する。
[0101] 以下説明すると、制御ユニット 60は、後述の如く目標歩容を自在かつリアルタイム に生成して出力する歩容生成装置 100を備えている。この歩容生成装置 100は、そ の機能によって本発明の実施形態を実現するものである。この歩容生成装置 100が 出力する目標歩容は、補正目標上体姿勢軌道 (上体 3の目標姿勢の軌道)、補正目 標上体位置軌道 (上体 3の目標位置の軌道)、目標足平位置姿勢軌道 (各足平 22の 目標位置及び目標姿勢の軌道)、目標腕姿勢軌道 (各腕体の目標姿勢の軌道)、目 標 ZMP (目標全床反力中心点)軌道、目標 ZMPまわりの補正目標床反力モーメント 軌道および目標全床反力軌道から構成される。尚、脚体 2や腕体 5以外に、上体 3〖こ 対して可動な部位 (頭部など)を備える場合には、その可動部位の目標位置姿勢軌 道が目標歩容に加えられる。
[0102] ここで、本明細書での歩容に関する基本的な用語の定義などについて説明してお く。歩容における「軌道」は時間的変化のパターン (時系列パターン)を意味し、「軌道 」の代わりに「パターン」と称することもある。また、「姿勢」は空間的な向きを意味する
。例えば上体姿勢は Z軸 (鉛直軸)に対するロール方向(X軸まわり)の上体 3の傾斜 角(姿勢角)とピッチ方向 (Y軸まわり)の上体 3の傾斜角(姿勢角)とで表され、足平 姿勢は各足平 22に固定的に設定された 2軸の空間的な方位角で表される。本明細 書では、上体姿勢は上体姿勢角ということもある。なお、腕体 5に関する目標腕姿勢 は、本明細書の実施形態では上体 3に対する相対姿勢で表される。
[0103] 上体位置は、上体 3のあら力じめ定めた代表点(上体 3に対して任意に固定設定し たローカル座標系でのある固定点)の位置を意味する。同様に、足平位置は、各足 平 22のあら力じめ定めた代表点(各足平 22に対して任意に固定設定したローカル 座標系での固定点)の位置を意味する。例えば各足平 22の代表点は、各足平 22の 底面上 (より具体的には各脚体 2の足首関節の中心から各足平 22の底面への垂線 が該底面と交わる点等)に設定される。
[0104] 上体 3に関する前記補正目標上体姿勢および補正目標上体位置は、ある基本とな る目標上体姿勢 (仮目標上体姿勢)および目標上体位置 (仮目標上体位置)を補正 したものである。本明細書の実施形態では、基本となる目標上体位置姿勢は、後述 する単純化モデル歩容生成部で決定される目標上体位置姿勢 (後述の図 10の S03 2で決定される目標上体位置姿勢)が相当する。
[0105] なお、以降の説明では、誤解を生じるおそれがない場合には、しばしば「目標」を省 略する。
[0106] 歩容のうちの、床反力に係わる構成要素以外の構成要素、すなわち足平位置姿勢 、上体位置姿勢等、ロボット 1の各部位の位置姿勢に関する構成要素を総称的に「運 動」という。また、各足平 22に作用する床反力(並進力及びモーメントからなる床反力 )を「各足平床反力」と呼び、ロボット 1の全て(2つ)の足平 22R, 22Lについての「各 足平床反力」の合力を「全床反力」という。ただし、以下の説明においては、各足平床 反力はほとんど言及しないので、特に断らない限り、「床反力」は「全床反力」と同義と して扱う。
[0107] 目標床反力は、一般的には、作用点とその点に作用する並進力及びモーメントに よって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の 表現が考えられるが、特に目標床反力中心点 (全床反力の中心点の目標位置)を作 用点にして目標床反力を表現すると、目標床反力のモーメント成分は、鉛直成分 (鉛 直軸 (Z軸)まわりのモーメント成分)を除いて零になる。換言すれば、目標床反力中 心点まわりの目標床反力のモーメントの水平成分 (水平軸 (X軸及び Y軸)まわりのモ ーメント)は零になる。
[0108] なお、動力学的平衡条件を満足する歩容では、ロボット 1の目標運動軌道から算出 される ZMP (目標運動軌道力も算出される慣性力と重力との合力がその点まわりに 作用するモーメントが、鉛直成分を除いて零になる点)と目標床反力中心点とは一致 することから、目標床反力中心点軌道の代わりに目標 ZMP軌道を与えると言っても 同じことである。
[0109] ここで、ロボット 1の歩行を行う場合には、例えば本出願人が先に特開平 10— 8608 0号公報で提案した上体高さ決定手法によってロボット 1の上体 3の鉛直位置 (上体 高さ)が決定されると、並進床反力鉛直成分は従属的に決定される。さらに、目標歩 容の運動による慣性力と重力との合力が目標 ZMPまわりに発生するモーメントの水 平成分が 0になるようにロボット 1の上体水平位置軌道(あるいは全体重心の位置軌 道)を決定することで、並進床反力水平成分も従属的に決定される。このため、ロボッ ト 1の歩行を行う場合には、目標歩容の床反力に関して明示的に設定すべき物理量 としては、目標 ZMPだけでもよい。
[0110] 一方、床反力が 0もしくはほぼ 0になるような時期を伴う歩容でのロボット 1の移動、 例えばロボット 1の走行を行う場合には、並進床反力鉛直成分もロボット 1の動作制御 上重要である。このため、並進床反力鉛直成分の目標軌道を明示的に設定した上で
、ロボット 1の目標上体鉛直位置等の軌道を決定することが望ましい。また、ロボット 1 の歩行においても、摩擦係数が低 、床面上 (低ミュー路上)でロボット 1を移動させる ような場合には、並進床反力鉛直成分 (より厳密には並進床反力の床面に垂直な成 分)が摩擦力に影響を及ぼすことから、ロボット 1のスリップなどを防止する上で、並進 床反力鉛直成分の目標軌道を明示的に設定することが望ましい。さらに、本発明の 実施形態では、最終的に歩容生成装置 100が出力する目標歩容では、目標 ZMPま わりに補正目標床反力モーメント (水平成分が 0とは限らな 、モーメント)を発生させる
[0111] このようなことから、本明細書の実施形態では、歩容生成装置 100が出力する目標 歩容の床反力に関する構成要素として、目標 ZMP軌道のほか、目標 ZMPまわりの 補正目標床反力モーメントと、目標並進床反力鉛直成分とを含ませて!/、る。
[0112] そして、本明細書では、歩容生成装置 100が出力する目標歩容は、広義には、「1 歩ないしは複数歩の期間の目標運動軌道と目標床反力軌道との組」の意味で使用 され、狭義には、「1歩の期間の目標運動軌道と、目標 ZMP、補正目標床反力モー メント及び目標並進床反力鉛直成分を含む目標床反力軌道との組」の意味で使用さ れる。
[0113] 但し、本明細書の実施形態においては、最終的な目標歩容 (歩容生成装置 100が 出力する目標歩容)を決定するまでの過程で作成する目標歩容 (仮目標歩容)では、 上記狭義の目標歩容から、補正目標床反力モーメントを除 、たものが目標歩容の意 味で使用される。補足すると、本明細書の実施形態では、最終的な目標歩容 (歩容 生成装置 100が出力する目標歩容)を決定するまでの過程で作成する目標歩容 (仮 目標歩容)が本発明に密接に関連するものとなっている。このため、以降の説明で現 れる目標歩容の大部分は、前記狭義の目標歩容から、補正目標床反力モーメントを 除いたものの意味で使用される。
[0114] なお、以降の説明では、「床反力鉛直成分」は「並進床反力鉛直成分」を意味する ものとし、床反力のうちのモーメントの鉛直成分 (鉛直軸回り成分)は、「モーメント」と いう用語を用いて「床反力鉛直成分」と区別をする。同様に、「床反力水平成分」は「 並進床反力水平成分」を意味するものとする。並進床反力は、床反力並進力成分と いうこともある。
[0115] また、目標歩容の「1歩」は、ロボット 1の片方の脚体 2が着地してからもう一方の脚 体 2が着地するまでの意味で使用する。
[0116] また、歩容における両脚支持期とは、ロボット 1がその自重を両脚体 2, 2で支持す る期間、片脚支持期とはいずれか一方のみの脚体 2でロボット 1の自重を支持する期 間、空中期とは両脚体 2, 2が床力も離れている (空中に浮いている)期間を言う。片 脚支持期においてロボット 1の自重を支持しない側の脚体 2を遊脚と呼ぶ。なお、片 脚支持期と空中期とが交互に繰り返されるロボット 1の走行歩容では両脚支持期は無 い。この場合、空中期では両脚 2, 2とも、ロボット 1の自重を支持しないこととなるが、 便宜上、該空中期の直前の片脚支持期において遊脚であった脚体 2、支持脚であつ た脚体 2をそれぞれ該空中期にお ヽても遊脚、支持脚と呼ぶ。
[0117] また、目標歩容の軌道は、グローバル座標系(床に固定された座標系)で記述され る。グローバル座標系としては、例えば支持脚足平 22の着地位置姿勢に対応して定 まる支持脚座標系が用いられる。この支持脚座標系は、例えば支持脚足平 22の底 面のほぼ全面を床に接地した状態で、その足平 22が連結された足首関節の中心か ら床面に延ばした垂線が床と交わる点を原点とし、その原点を通る水平面に支持脚 足平 22を投影したときの該足平 22の前後方向を X軸方向、左右方向を Y軸方向と する座標系(Z軸方向は鉛直方向)である。以降の説明では、特にことわらない限り、 X、 Υ、 Ζ座標は、この支持脚座標系の座標を意味する。
[0118] 図 5は、歩容生成装置 100の詳細を示すブロック図である。この図 5を参照して、歩 容生成装置 100の処理のより具体的な概要を以下に説明する。
[0119] 図示の如ぐ歩容生成装置 100は歩容パラメータ決定部 100aを備える。歩容パラ メータ決定部 100aは、目標歩容を規定する歩容パラメータの値あるいは時系列テー ブルを決定する。
[0120] 本明細書の実施形態では、歩容パラメータ決定部 100aが決定する歩容パラメータ には、目標歩容のうちの、目標足平位置姿勢軌道、目標腕姿勢軌道、目標 ZMP軌 道、および目標床反力鉛直成分軌道をそれぞれ規定するパラメータが含まれる。
[0121] ここで、歩容生成装置 100が目標歩容を生成するとき、遊脚足平 22の着地予定位 置姿勢、着地予定時刻、あるいは歩幅、移動速度等の歩容生成用の基本的な要求 値 (要求パラメータ)が、前記ジョイスティック 73、もしくは図示しない行動計画部(ロボ ット 1の行動計画を作成する装置)などの装置力 歩容生成装置 100に与えられる。 あるいは、上記要求パラメータをあらかじめ記憶保持した記憶媒体カも該要求パラメ ータを歩容生成装置 100が読み込む。そして、歩容生成装置 100の歩容パラメータ 決定部 100aは、その要求パラメータに応じて歩容パラメータを決定する。 [0122] また、本明細書の実施形態では、歩容パラメータ決定部 100aが決定する歩容パラ メータには、基準上体姿勢軌道、 ZMP許容範囲、床反力水平成分許容範囲をそれ ぞれ規定するパラメータも含まれる。
[0123] ここで、前記基準上体姿勢軌道は、最終的に歩容生成装置 100が出力するもので はないが、目標歩容を決定するときに参酌されるものである。この基準上体姿勢軌道 は、ロボット 1の上体姿勢に関して、前記ジョイスティック 73あるいは行動計画部から 与えられ、もしくはあらかじめ定められた要求 (上体姿勢を鉛直姿勢に保つなどの要 求)にそのまま従って生成される上体姿勢軌道である。目標上体姿勢 (以降、「基準」 が付いていない「上体姿勢」は、目標上体姿勢を表す)は、基準上体姿勢に長期的 に追従する力、または一致するように生成される。
[0124] また、前記 ZMP許容範囲に関して補足すると、本明細書の実施形態では、目標歩 容は、目標 ZMPのまわりに補正目標床反力モーメント (これは一般には 0ではな 、) を発生するように修正される。したがって、目標 ZMPは、本来の定義 (床反力モーメ ント水平成分が 0である点という定義)とは異なる点となり、本来の定義を満足する ZM P (以下、真の ZMPと 、う)は、補正目標床反力モーメントを目標床反力鉛直成分で 割った値だけ目標 ZMPからずれた位置に移る。
[0125] 修正された歩容 (歩容生成装置 100が最終的に出力する目標歩容)の真の ZMP は、少なくとも ZMP存在可能範囲(いわゆる支持多角形のこと。床と足平 22の底面と の間に粘着力が作用しないと仮定した場合における床反力作用点 (ZMP)の存在可 能範囲)内になければならない。さらにロボット 1の安定余裕を十分にとるためには、 修正された歩容の真の ZMPは、 ZMP存在可能範囲のなかの中心付近の範囲にあ ることが望ましい。そこで、本明細書の実施形態では修正された歩容の真の ZMPが 存在できる許容範囲を設定する。この範囲を ZMP許容範囲と呼ぶ。 ZMP許容範囲 は、 ZMP存在可能範囲と一致あるいは ZMP存在可能範囲内に包含されるように設 定される。
[0126] なお、前記したように、目標 ZMPまわりの補正目標床反力モーメントを目標床反力 鉛直成分で除算したものが、目標 ZMPに対する真の ZMPの位置のずれ量を表す ので、目標 ZMPまわりの補正目標床反力モーメントを設定する代わりに、目標 ZMP に対する真の ZMPの位置のずれ量 (補正目標床反力モーメントの ZMP換算値)を 設定してもよい。また、 ZMP許容範囲は、その境界の位置に目標床反力鉛直成分を 乗算することで、補正目標床反力モーメント許容範囲に変換することができ、その補 正目標床反力モーメント許容範囲を ZMP許容範囲の代わりに設定するようにしても よい。
[0127] また、前記床反力水平成分許容範囲は、ロボット 1の足平 22の床との接地面に、足 平 22が滑らないような大きさの摩擦力を発生させ得る床反力水平成分の許容範囲で ある。本明細書の実施形態では、少なくとも最終的に歩容生成装置 100が出力する 目標歩容の運動(目標運動)は、それによつて発生するロボット 1の慣性力の水平成 分に釣り合う床反力水平成分が床反力水平成分許容範囲内に収まるように (床反力 水平成分許容範囲を満足するように)生成される。
[0128] なお、本明細書の実施形態で設定する床反力水平成分許容範囲は、後述の S02 2の処理で設定される定常歩容用のものと、 S026の処理で設定される基本歩容用 のものと、 S030で設定される歩容補正用(フルモデル補正用)のものとがある。ただ し、これらの床反力水平成分許容範囲は必ずしも互いに異なる必要はなぐ同一でも よい。一方、 ZMP許容範囲は、 S030処理で設定される歩容補正用(フルモデル補 正用)のものだけである。
[0129] 補足すると、目標歩容を生成するための歩容パラメータには、上記したパラメータ以 外のパラメータも含まれる。それらは、歩容パラメータ決定部 100aの中で、所要の境 界条件を満たすように決定される。
[0130] 歩容パラメータ決定部 100aで決定された歩容パラメータは目標瞬時値発生部 100 bに入力される。目標瞬時値発生部 100bは入力された歩容パラメータに基づき、基 準上体姿勢、目標足平位置姿勢、目標 ZMP、目標床反力鉛直成分、 ZMP許容範 囲、床反力水平成分許容範囲等、目標歩容の一部の構成要素(目標上体位置姿勢 を除く)の瞬時値 (前記制御ユニット 60の所定の制御処理周期毎の値)を逐次算出( 発生)する。また、目標瞬時値発生部 100bは、並進床反力 (床反力の並進力成分) 誤差軌道 (詳しくは並進床反力水平成分の誤差の瞬時値の時系列)および床反力 モーメント誤差軌道 (詳しくは目標 ZMPまわりの床反力モーメントの水平成分の誤差 の瞬時値の時系列)も出力する。これらの誤差軌道は、歩容の運動によって後述の セミフルモデル (第 2動力学モデル)で発生する床反力に対する、後述の単純化モデ ル (第 1動力学モデル)で発生する床反力の誤差の時系列パターンに相当するもの である。
[0131] 目標瞬時値発生部 100bで算出された目標瞬時値は、単純化モデル歩容生成部 1 00cに入力される。単純ィ匕モデル歩容生成部 100cは、入力された目標瞬時値を基 に、ロボット 1の運動と床反力との関係を近似表現する動力学モデルとしての後述の 単純化モデル (第 1動力学モデル)およびセミフルモデル (第 2動力学モデル)を用い て目標上体位置姿勢 (後述のフルモデル補正部にとっての仮目標上体位置姿勢)の 瞬時値を算出する。なお、ここで使用する単純化モデルは、目標瞬時値発生部 100 bで使用するものと同一である。単純ィ匕モデル歩容生成部 100cは、目標 ZMPまわり の床反力モーメントと並進床反力とに関する所要の動力学的条件が満たされるように 目標上体位置姿勢の瞬時値を算出する。その動力学的条件は、歩容の運動によつ て単純化モデル上で発生する目標 ZMPまわりの床反力モーメント水平成分を床反 力モーメント誤差に応じて修正してなる床反力モーメント水平成分が、目標 ZMPまわ りの床反力モーメント水平成分の本来の目標値である目標床反力モーメント水平成 分( = 0)に一致もしくはほぼ一致し、また、歩容の運動によって単純ィ匕モデル上で発 生する並進床反力水平成分を前記並進床反力誤差に応じて修正してなる並進床反 力水平成分が、床反力水平成分許容範囲を満足するという条件である。補足すると 、本明細書の実施形態では、目標床反力鉛直成分軌道を明示的に設定するので、 目標上体位置姿勢の瞬時値は、目標運動によって発生する慣性力と重力との合力 の並進力鉛直成分 (換言すれば、ロボット 1の全体重心の鉛直方向の並進運動に伴 う慣性力と重力との合力)が目標床反力鉛直成分に釣り合うという動力学的条件も満 足するように決定される。
[0132] 単純化モデル歩容生成部 100cの演算処理により、目標上体位置姿勢を含む目標 歩容 (仮目標歩容)の瞬時値が逐次決定されていくこととなる。以降、単純化モデル 歩容生成部 100cで求められた目標上体位置姿勢を構成要素とする目標歩容を単 純ィ匕モデル歩容という。 [0133] 単純ィ匕モデル歩容生成部 100cで求められた目標上体位置姿勢を含む単純化モ デル歩容は、フルモデル補正部 lOOdに入力される。このフルモデル補正部 lOOdは
、単純化モデル歩容の目標上体位置姿勢を、動力学的精度の高い動力学モデルと してのフルモデルを用いて補正してなる補正目標上体位置姿勢を算出すると共に、 目標 ZMPまわりの床反力モーメント水平成分の目標値である補正目標床反力モーメ ントを算出する。
[0134] フルモデル補正部 lOOdは、より一般的には、次の D1— D3の条件を満足するように 、 E1あるいは E2の処理を実行する。すなわち、フルモデル補正部 lOOdは、
D1)単純ィ匕モデルを用いて生成した歩容(単純化モデル歩容)を変位次元補正用モ デルを用いて修正してなる歩容 (以降、変位次元補正歩容と呼ぶ)よりも高!、精度で 動力学的平衡条件を満足する。
D2)真の ZMP (目標 ZMPのまわりに補正目標床反力モーメントを発生させることによ つて修正された本来の定義を満足する ZMP)は、 ZMP許容範囲 (安定余裕が十分 維持できる許容範囲)に存在する。
D3)床反力水平成分は床反力水平成分許容範囲内になる。
という条件を満足するように、
E1)単純化モデル歩容の上体位置姿勢を補正する。
あるいは
E2)単純ィ匕モデル歩容の上体位置姿勢を補正すると共に、目標 ZMPまわりの補正 目標床反力モーメントを出力する(目標床反力を補正する)。
[0135] 本明細書の実施形態では、 D1— D3の条件を満足するように、 E2の処理が実行され る。なお、本明細書の実施形態におけるフルモデル補正部 lOOdの処理は、例えば 本願出願人が先に提案した PCT国際公開公報 WOZ03Z057427ZA1にて詳細 に説明されているもの(具体的には、同公報の図 13の S038の処理)と同じである。 従って、本明細書でのフルモデル補正部 lOOdの処理の詳細な説明は省略する。
[0136] また、本明細書の実施形態では、フルモデル補正部 lOOdによる補正を行うが、そ の補正を省略し、単純ィ匕モデル歩容の瞬時値をそのまま歩容生成装置 100から出 力するようにしてちょい。 [0137] 補足すると、本明細書の実施形態では、歩容パラメータ決定部 100a、目標瞬時値 発生部 100bおよび単純ィ匕モデル歩容生成部 100cが、本発明の中核に係わる処理 を実行するものとなって 、る。
[0138] 図 4に戻って、上述のように決定される補正目標上体位置姿勢、目標 ZMPまわりの 補正目標床反力モーメント、目標足平位置姿勢の瞬時値を含む目標歩容の瞬時値 は、複合コンプライアンス制御装置 101 (図 4で破線で囲んだ部分)に入力される。こ の複合コンプライアンス制御装置 101では、ロボット 1のバランスを保ちつつ、目標歩 容に追従するように関節ァクチユエータ (電動モータ 64)が制御される。なお、複合コ ンプライアンス制御装置 101のより具体的な処理は後述する。
[0139] 次に、本発明の実施形態をさらに具体的に説明していく。本実施形態では、歩容 生成装置 100は、前記制御ユニット 60の制御処理周期毎に、以下に詳説する第 1動 力学モデルとしての単純化モデルと第 2動力学モデルとしてのセミフルモデルとを用 いて、目標歩容の瞬時値を決定する。
[0140] ここで、本実施形態で歩容生成に用いられる上体運動モードと動力学モデルとに ついて説明する。
[0141] 走行など、空中期がある歩容や、低摩擦床面での歩行においては、単に上体水平 加速度を調整するだけでは、目標歩容の床反力水平成分が許容範囲内(あるいは 摩擦限界内)に存在しつつ動力学的平衡条件を満足することができない場合がある 。そこで、本実施形態では、以下に説明する上体 3の 2つの運動モード (上体並進モ ード及び上体回転モード)を複合的に発生させることにより、目標歩容の床反力水平 成分が許容範囲内 (あるいは摩擦限界内)に存在しつつ動力学的平衡条件を満足 するようにしている。
[0142] 図 6 (a)のように、ある運動状態から、上体水平加速度だけを摂動させると、全体重 心水平加速度と全体重心まわりの角運動量が摂動する。すなわち、上体水平加速度 の摂動は、(それによつて発生する慣性力と重力の合力に対して動力学的に釣り合う )床反力鉛直成分を摂動させずに、目標 ZMPまわりの床反力モーメント (ただし鉛直 軸まわり成分を除く)と床反力水平成分 (厳密には、並進床反力水平成分)とを摂動 させる。この運動モードを上体並進モードと呼ぶ。 [0143] 言いかえると、床反力鉛直成分を変化させずに、目標 ZMPまわりの床反力モーメ ントの水平成分と床反力水平成分 (並進床反力水平成分)を変化させる運動を上体 並進モードと呼ぶ。
[0144] この時の単位加速度当たりの床反力モーメント成分の変化を Δ Μρ、単位加速度当 たりの床反力水平成分の変化を A Fpとする。図 6 (a)に示す状況で上体 3を前方に 水平加速すると、 Δ Μρと Δ Fpは図 6 (a)に示す矢印の向きに作用する。
[0145] 感覚的に判り易くするために、運動によって発生する慣性力と重力の合力に釣り合 う床反力を用いて表現したが、慣性力と重力の合力を用いて表現した方が、理論的 には的確である。なお、上記合力と床反力は、互いに大きさが同じで向きが逆になつ ている。
[0146] 一方、図 6 (b)のように、ある運動状態から、ある点 Prまわりに上体姿勢角加速度を 摂動させると、全体重心は摂動せずに、全体重心まわりの角運動量が摂動する。す なわち、点 Prまわりの上体姿勢角加速度摂動は、床反力鉛直成分と床反力水平成 分 (厳密には、並進床反力鉛直成分と並進床反力水平成分)を摂動させずに、目標 ZMPまわりの床反力モーメントの水平成分を摂動させる。この運動モードを上体回 転モードと呼ぶ。
[0147] 言いかえると、床反力鉛直成分と床反力水平成分を変化させずに、目標 ZMPまわ りの床反力モーメントの水平成分を変化させる運動を上体回転モードと呼ぶ。
[0148] この時の単位角加速度当たりの床反力モーメント成分の変化を A Mr、単位角加速 度当たりの床反力の水平成分の変化を A Frとする。 A Frは零である。図 6 (b)に示す 状況で上体が前傾するように角加速度を与えると、 Δ Mrは図 6 (b)に示す矢印の向 きに作用する。
[0149] 上体 3の運動には、上体並進モードと上体回転モード以外に、上体鉛直移動モー ドがある。これは、上体 3を鉛直方向に移動させる運動である。
[0150] 本実施形態においては、前記単純化モデル歩容生成部 100cで単純化モデルが 用いられると共に、歩容パラメータ決定部 100aおよび目標瞬時値発生部 100bの処 理で、単純化モデルと、セミフルモデルとが用いられる。以下にこれれらの動力学モ デルを説明する。 [0151] 図 7に、単純化モデルの構造例を示す。図示の如ぐこの単純化モデルはロボット 1 の各脚体 2にそれぞれ対応する 2つの質点 (足平質点) 2m, 2m、及び上体 3に対応 する質点(上体質点) 24m力もなる合計 3質点と、イナーシャがあって質量のな 、フラ ィホイール FHとから構成されるモデルである。この単純ィ匕モデルは、本願出願人が 例えば先に提案した PCT国際公開公報 WOZ03Z057427ZA1に例示した動力 学モデルである。従って、本明細書での詳細な説明は省略する力 単純ィ匕モデルの 動力学は、次のように変数を定義したとき、式 la— lcにより表される。なお、ここでは 、本明細書の理解を容易にするために、サジタルプレーン (前後軸 (X軸)と鉛直軸( Z軸)を含む平面)での運動方程式 (動力学方程式)のみを記述し、ラテラルプレーン (左右軸 (Y軸)と鉛直軸 (Z軸)を含む平面)での運動方程式を省略する。
Zsup :支持脚質点鉛直位置、 Zswg:遊脚質点鉛直位置、 Zb :上体質点鉛直位置、 Z Gtotal:全体重心鉛直位置、 Xsup :支持脚質点水平位置、 Xswg:遊脚質点水平位置 、 Xb:上体質点水平位置、 XGtotal:全体重心水平位置、 Θ by:鉛直方向に対する Y 軸回りの上体姿勢角(傾斜角)、 mb :上体質点質量、 msup :支持脚質点質量、 mswg: 遊脚質点質量、 mtotal:ロボット総質量(=mb+msup+mswg)、J :上体慣性モーメント (上体回転モードにおける等価慣性モーメント)、 Fx:床反力水平成分 (詳しくは並進 床反力の前後方向 (X軸)成分)、 Fz:床反力鉛直成分 (詳しくは並進床反力の鉛直 方向(Z軸)成分)、 My:目標 ZMPまわりの床反力モーメント (詳しくは床反力モーメン トの左右軸 (Y軸)まわり成分)、 g :重力加速度。なお、任意の変数 Xに対して d2X/dt2は、 Xの 2階微分値を意味するものとする。
[0152]
Fz = mb * (g+d2Zb/dt2) + msup * (g + d2Zsup/dt2)
+ mswg * (g + d2Zswg/dt2) ……式 la
Fx = mb * d2Xb/dt2 + msup * d2Xsup/dt2 + mswg * d2Xswg/dt2
……式 lb
My =— mb * (Xb— Xzmp) + (g + d2Zb/dt2) + mb * (Zb— Zzmp) * d2Xb/dt2
-msup * (Xsup— Xzmp) * (g+d2Zsup/dt2)
+ msup*(Zsup— Zzmp) * d2Xsup/ dt2 — mswg * (Xswg— Xzmp) * (g+d2Zswg/dt2)
+ mswg*(Zswg-Zzmp) * (d2Xswg/dt2)+J * d2 0 by/dt2
……式 lc
なお、ロボット全体重心位置には次の関係式が成立する。
ZGtotal = (mb水 Zb + msup水 Zsup + mswg水 Zswg)/ mtotal · · ·式 1 d
XGtotal = (mb * Xb + msup * Xsup + mswg * Xswg)/mtotal …式 1 e この単純化モデルでは、脚体 2, 2の動力学(各質点 2m, 2mの動力学)と上体 3の 動力学 (質点 24m及びフライホイール FHの動力学)とが相互に非干渉に構成される と共に、ロボット 1全体の動力学は、それらの線形結合で表される。また、さらに、上体 3の運動と床反力との関係は、上体 3の並進運動 (上体並進モード)と床反力との関 係、並びに上体 3の回転運動(上体回転モード)と床反力との関係に分離される。具 体的には、上体質点 24mの水平運動によって発生する床反力は、上体 3の水平方 向並進運動(上体並進モード)によって発生する床反力に対応し、フライホイールの 回転運動によって発生する床反力は、上体 3の回転運動(上体回転モード)、すなわ ち上体 3の姿勢変化運動によって発生する床反力に対応する。
[0153] 尚、ロボット 1の腕体の質量は上体質点 24mに含まれるものとし、上体質点 24mは 腕体の質量を含む質量をもつ。本実施形態では、目標歩容における腕体の運動 (腕 振り運動)は、後述するように、ロボット 1の腕振り以外の運動によってロボット 1に発生 する鉛直軸まわりの慣性力のモーメントを打ち消しつつも、上体 3に対する両腕体の 全体の重心の相対位置が動かないように行なわれるので、腕体の腕振り運動による( 鉛直軸まわり成分を除く)床反力モーメントへの影響と床反力水平成分への影響とは 無視する。
[0154] 図 8にセミフルモデルの構造を例示する。同図に示す如ぐセミフルモデルは、上体 3、各足平 22、各脚体 2の膝関節の近傍部分 (大腿リンクの膝関節寄りの部分)にそ れぞれ対応する質点を有すると共に、上体 3に上体質点の回りにイナーシャ (慣性モ ーメント) lbをもつモデルである。このセミフルモデルでは、動力学的方程式は省略す る力 ロボット 1の運動と床反力との関係は、前記単純ィ匕モデルと同様に、各質点の 並進運動および上体 3の姿勢変化運動と、床反力(並進床反力および目標 ZMP回 りの床反力モーメント)との関係として記述される。このセミフルモデルは、前記単純 化モデルよりも動力学的精度が高いものとなっている。ここで、セミフルモデルの動力 学的精度が単純ィ匕モデルよりも高いということは、より詳しくは、ロボット 1の任意の目 標運動によってセミフルモデル上で発生する床反力が、該目標運動によって単純ィ匕 モデル上で発生する床反力よりも、当該目標運動を、想定されている床面上で実際 のロボット 1が行ったときに該ロボット 1に実際に作用する実床反力により一致する)も のとなつている。
[0155] なお、前記フルモデル補正部 lOOdで用いるフルモデルは、例えば図 9に示す如く 、ロボット 1の各リンクに質点をもつような多質点モデルである。この場合、ロボット 1の 各リンクは、それに対応する質点の回りにイナ一シャをもつようなものであってもよい。
[0156] 補足すると、前記セミフルモデルは、フルモデルと同じ構造のものであってもよい。
[0157] 次に、本実施形態に関して、歩容生成装置 100の処理の詳細をより具体的に説明 する。
[0158] 本実施形態における歩容生成装置 100は、ロボット 1の片方の脚体 2が着地してか ら他方の脚体 2が着地するまでの 1歩分の目標歩容 (前記狭義の目標歩容)を単位と して、その 1歩分の目標歩容を順番に生成する。ここで、新たに生成しょうとしている 目標歩容を「今回歩容」、その次の目標歩容を「次回歩容」、さらにその次の目標歩 容を「次次回歩容」、というように呼ぶ。また、「今回歩容」の一つ前に生成した目標歩 容を「前回歩容」と呼ぶ。
[0159] また、歩容生成装置 100が今回歩容を新たに生成するとき、該歩容生成装置 100 には、ロボット 1の 2歩先までの遊脚側足平 22の着地予定位置姿勢、着地予定時刻 の要求値 (要求)が歩容に対する要求パラメータとして入力される(あるいは歩容生成 装置 100が記憶装置から要求パラメータを読み込む)。そして、歩容生成装置 100は 、これらの要求パラメータを基に、補正目標上体位置姿勢軌道、目標足平位置姿勢 軌道、目標 ZMP軌道、目標床反力鉛直成分軌道、目標腕姿勢軌道、補正目標床 反力モーメント軌道等を生成する。
[0160] 以下に歩容生成装置 100の歩容生成処理の詳細を図 10—図 21を参照しつつ説 明する。図 10は、その歩容生成装置 100が実行する歩容生成処理のメインルーチン を示すフローチャート(構造化フローチャート)である。なお、このメインルーチン処理 の手順自体は、その一部のサブルーチン処理を除いて、例えば本願出願人による前 記 PCT国際公開公報 WOZ03Z057427ZA1 (以下、公報文献 1という)と同じで ある。
[0161] まず S010において時刻 tを 0に初期化するなど種々の初期化作業が行なわれる。
この処理は、歩容生成装置 100の起動時等に行なわれる。次いで、 S012を経て SO 14に進み、歩容生成装置 100は、制御周期(図 10のフローチャートの演算処理周期 )毎のタイマ割り込みを待つ。制御周期は Δ tである。
[0162] 次いで、 S016に進み、歩容の切り替わり目である力否かが判断され、歩容の切り 替わり目であるときは S018に進むと共に、切り替わり目でないときは S030に進む。こ こで、上記「歩容の切り替わり目」は、前回歩容の生成が完了し、今回歩容の生成を 開始するタイミングを意味し、例えば前回歩容の生成を完了した制御周期の次の制 御周期が歩容の切り替わり目になる。
[0163] S018に進むときは時刻 tが 0に初期化され、次いで S020に進み、次回歩容支持 脚座標系、次次回歩容支持脚座標系、今回歩容周期および次回歩容周期が読み 込まれる。これらの支持脚座標系及び歩容周期は、前記要求パラメータにより定まる ものである。すなわち、本実施形態では、歩容生成装置 100にジョイスティック 44等 から与えられる要求パラメータは、 2歩先までの遊脚側足平 22の着地予定位置姿勢 (足平 22が着地して力も足底を床面にほぼ全面的に接触させるように、滑らさずに回 転させた状態での足平位置姿勢)、着地予定時刻の要求値を含んでおり、その 1歩 目の要求値、 2歩目の要求値がそれぞれ、今回歩容、次回歩容に対応するものとし て、今回歩容の生成開始時 (前記 S016の歩容の切り替わり目)以前に歩容生成装 置 100に与えられたものである。なお、これらの要求値は今回歩容の生成途中でも 変更することは可能である。
[0164] そして、上記要求パラメータにおける 1歩目の遊脚側足平 22 (今回歩容での遊脚 側足平 22)の着地予定位置姿勢の要求値に対応して次回歩容支持脚座標系が定 まる。また、 2歩目の遊脚側足平 22の着地予定位置姿勢の要求値に応じて次々回 歩容支持脚座標系が定まる。また、今回歩容周期は、今回歩容の支持脚側足平 22 の着地予定時刻(要求値)から、 1歩目(今回歩容)の遊脚側足平 22の着地予定時 刻(要求値)までの時間として定まり、次回歩容周期は、 1歩目の遊脚側足平 22の着 地予定時刻(要求値)から 2歩目の遊脚側足平 22の着地予定時刻(要求値)までの 時間として定まる。
[0165] この S020の処理は、前記公報文献 1の図 13の S020の処理と同一であり、本明細 書での説明は以上に留める。
[0166] 次いで S022に進み、歩容生成装置 100は、今回歩容に続く仮想的な周期的歩容 としての定常歩容の歩容パラメータ(定常歩容パラメータ)を決定する。ここで決定す る歩容パラメータとしては、定常歩容における目標足平位置姿勢軌道を規定する足 平軌道パラメータ、基準とする上体姿勢軌道を規定する基準上体姿勢軌道パラメ一 タ、目標腕姿勢軌道を規定する腕軌道パラメータ、目標 ZMP軌道を規定する ZMP 軌道パラメータ、目標床反力鉛直成分軌道を規定する床反力鉛直成分軌道パラメ一 タと、目標床反力水平成分許容範囲を規定するパラメータとがある。
[0167] この明細書で「定常歩容」は、その歩容を繰り返したときに歩容の境界においてロボ ット 1の運動状態 (足平位置姿勢、上体位置姿勢等の状態)に不連続が生じないよう な周期的歩容を意味するものとして使用する。「定常歩容」は、ロボット 1を直進させる 周期的歩容を含むことはもちろん、ロボット 1を旋回させる周期的歩容も含む。この場 合、旋回率を零とするときは直進を意味することから、「旋回」には、広義の意味で直 進も含まれる。このため、本明細書の実施形態では、「定常歩容」をしばしば「定常旋 回歩容」と言うこともある。
[0168] 定常旋回歩容の詳細は、前記公報文献 1ゃ特願 2000— 352011号などにて説明 されているので、本明細書での詳細な説明は省略する力 その概要は次の通りであ る。
[0169] 周期的歩容である定常旋回歩容は、本実施形態では、ロボット 1の 2歩分の歩容、 すなわち今回歩容に続く第 1旋回歩容と該第 1旋回歩容に続く第 2旋回歩容とからな る歩容を該定常旋回歩容の 1周期分の歩容として、その 1周期分の歩容を繰り返す 歩容である。また、生成する今回歩容が例えばロボット 1の走行を行う走行歩容 (片脚 支持期と空中期とを有する歩容)であるときには、定常旋回歩容の第 1旋回歩容及び 第 2旋回歩容も走行歩容であり、ロボット 1の歩行を行う歩行歩容 (片脚支持期と両脚 支持期とを有する歩容)であるときには、定常旋回歩容の第 1旋回歩容及び第 2旋回 歩容も走行歩容である。つまり、第 1旋回歩容及び第 2旋回歩容の基本的な歩容形 態は今回歩容と同一である。
[0170] なお、以降の説明では、特にことわらない限り、生成する歩容として走行歩容を例 にとつて説明する。
[0171] 定常旋回歩容は、歩容生成装置 100で今回歩容の終端における発散成分や上体 鉛直位置速度、上体姿勢角及びその角速度等のロボット 1の運動状態を決定するた めに暫定的に作成されるものであり、歩容生成装置 100からそのまま出力されるもの ではない。
[0172] 尚、「発散」とは、ロボット 1の上体 3の位置が両足平 22, 22の位置からかけ離れた 位置にずれてしまうことを意味する。発散成分の値とは、ロボット 1の上体 3の位置が 両足平 22, 22の位置 (より具体的には、支持脚側足平 22の接地面に設定されたグ ローバル座標系(支持脚座標系)の原点)からかけ離れて ヽく具合を表す数値である 。例えば、本明細書の実施形態では、発散成分は、前記した各動力学モデルに対し て、次式により求められる。
[0173]
発散成分 =上体質点水平位置 +上体質点水平速度 Z ω θ …式 2 この式 2の ω θは所定の値である。なお、本実施形態では、歩容における発散成分 は、式 2の上体質点水平位置、上体質点水平速度の代わりに、それぞれ上体水平位 置、上体水平速度を用いて求められる。
[0174] 本明細書の実施形態では、目標歩容が前記発散を生じることなぐ継続的に生成さ れるように、発散成分を指標にして歩容 (今回歩容)を生成するようにした。すなわち 、これ力 生成しょうとする今回歩容の後に続く定常歩容 (より正確には定常歩容パラ メータ)が前記今回歩容に係わる要求パラメータ等に応じて設定され、定常歩容の初 期発散成分を求めてから、今回歩容の終端発散成分を定常歩容の初期発散成分に 一致させる(より一般的には、今回歩容を定常歩容に連続させ、もしくは近づける)よ うに、今回歩容を生成する。
[0175] 本題に戻り、 S022では、図 11に示すサブルーチン処理のフローチャートに従って 、定常歩容の歩容パラメータ (定常歩容を規定するパラメータ)が決定される。すなわ ち、定常歩容に係る前記足平軌道パラメータ、基準上体姿勢軌道パラメータ、腕軌 道パラメータ、 ZMP軌道パラメータ、床反力鉛直成分軌道パラメータ、目標床反力水 平成分許容範囲を規定するパラメータがそれぞれ S 100— S 110の処理で決定され る。そして、 S112において、定常歩容の初期時刻 Tsと、 1歩の期間(定常歩容の 1周 期の時間) Tcycとが再定義される。これらの処理は、前記公報文献 1の図 15のフロー チャートの処理と同一であるので、ここでの詳細な説明は省略する力 S100— S110 で決定される定常歩容のノ メータは、そのそれぞれのパラメータにより規定される 軌道が定常歩容の周期性を満たしつつ、前記した要求パラメータなどにより表される 歩容に関する要求を満足するように決定されるパラメータである。例えば、前記公報 文献 1の図 15のフローチャートに関して説明されている如ぐ定常歩容の足平軌道 パラメータは、今回歩容に続く第 1旋回歩容の遊脚足平 22の着地予定位置姿勢 (前 記次回歩容支持脚座標系で見た着地予定位置姿勢)が前記した 2歩目の着地予定 位置姿勢 (要求値)に合致し、且つ、該第 2旋回歩容の遊脚足平 22の着地予定位置 姿勢 (前記次次回歩容支持脚座標系で見た着地予定位置姿勢)が、今回歩容の遊 脚足平 22の着地予定位置姿勢 (要求値)に合致するように決定される。なお、 ZMP 軌道パラメータは、足平軌道パラメータを基に、目標 ZMPが支持脚足平 22の接地 面のほぼ中央付近に位置し、且つ、定常歩容の全期間にわたって連続的に変化す るように決定される。
[0176] また、図 13の S112で再定義する定常歩容の初期時刻 Tsは、定常歩容の 1周期分 の歩容を後述するように作成するときの始点の時刻(これは本実施形態では今回歩 容の終端の時刻とは相違する)を意味し、第 1旋回歩容の空中期(目標床反力鉛直 成分が 0となる時期)の開始直前の時刻である。また、定常歩容の 1歩の期間 Tcycは 、定常歩容の第 1旋回歩容と第 2旋回歩容との合計時間の期間である。定常歩容は 、その周期性によって、任意の時刻 Txにおける状態(ロボット 1の各部位の位置姿勢 やその変化速度の状態)は時刻 Tx+Tcycにおける状態と同一になる歩容である。定 常歩容は、 2歩分の歩容を 1周期とする周期的な歩容であるので、本明細書では、そ の 1周期の期間 (第 1旋回歩容と第 2旋回歩容)との合計時間を定常歩容の 1歩の期 間とみなす。
[0177] 補足すると、 S100— S110の処理で決定される定常歩容のパラメータは、定常歩 容を規定する全てのパラメータではない。本実施形態では、定常歩容を規定する歩 容パラメータ(定常歩容パラメータ)は、 S022で決定するパラメータの他に、定常歩 容の 1周期の期間の始端 (該期間の開始時刻)あるいは終端 (該期間の終了時刻)に おける上体 3の位置および速度、並びに上体 3の姿勢角およびその角速度と、後述 の上体傾斜復元モーメント ZMP換算値のピーク値とが含まれる。これらのパラメータ のうち、上体 3の水平位置および水平速度、上体 3の姿勢角の角速度、上体傾斜復 元モーメント ZMP換算値のピーク値は、後述の S024の処理で探索的に決定される 。定常歩容パラメータは、それを構成する各パラメータの値と、前記した単純化モデ ルとを用いて定常歩容を一義的に生成することができる歩容パラメータである。
[0178] 次いで、 S024に進み、定常歩容の初期状態が算出される。ここで算出される初期 状態は、定常歩容の初期上体水平位置速度 (水平方向での初期上体位置及び初 期上体速度)、初期上体鉛直位置速度 (鉛直方向での初期上体位置及び初期上体 速度)、初期発散成分、初期上体姿勢角およびその角速度である。この初期状態の 算出は、図 12のサブルーチン処理のフローチャートに従って、前記単純化モデルお よびセミフルモデルを使用して行なわれる。
[0179] 図 12の処理を概略的に説明すれば、時刻 Ts (定常歩容の初期時刻)でのロボット 1 の初期上体水平位置、初期上体水平速度、初期上体姿勢角速度、上体傾斜復元モ 一メント ZMP換算値ピーク値を探索対象として、これらの探索対象を含む定常歩容 の初期状態を仮決めし、この初期状態から、動力学モデル (単純ィ匕モデルおよびセミ フルモデル)を用いて定常歩容の終端(時刻 Ts+Tcyc)までの歩容を生成する。そし て、その生成した定常歩容が境界条件 (初期と終端での状態 (本実施形態では上体 水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致すること)を 満たしているカゝ否かを判断し、満たしていない場合には、探索対象の値を変更する。 これを繰り返すことで、最終的に定常歩容の境界条件を満たすことができる初期状態 が決定される。
[0180] 補足すると、図 12の処理の基本的な考え方(手法)は、前記公報文献 1の図 20の 処理と同様である。但し、本明細書の実施形態では、上記探索対象として、上体姿 勢角速度と上体傾斜復元モーメント ZMP換算値のピーク値とが含まれ、この点は、 前記公報文献 1の図 20の処理と相違している。また、 S208の処理の細部の処理 (サ ブルーチン処理)の一部も前記公報文献 1のものと相違している。
[0181] なお、図 12のフローチャートの処理中で求める上体傾斜復元モーメント ZMP換算 値ピーク値 ZMPrecpeekは、ロボット 1の片脚支持期(より詳しくは、片脚支持期の開始 直後から終了直前までの時期。以下、上体傾斜角復元期間ということがある)で上体 姿勢を基準上体姿勢に近づけるために必要な床反力モーメントの ZMP換算値 ZMPrec (基準となる目標 ZMP (S022で決定した ZMP軌道パラメータにより規定され る目標 ZMP)力ものずれ量)のピーク値を示すものであり、その例を図示したものが 図 19である。 ZMPrecが同図示の如く台形状のパターンとされ、そのピーク値(台形の 高さ)が ZMPrecpeekである。
[0182] 以下に図 12の処理を具体的に説明すると、まず、 S200において、定常歩容パラメ ータ(S022で決定されたパラメータ)を基に足平位置姿勢、上体姿勢角 Θ および 腕姿勢の初期状態 (定常旋回歩容の初期時刻 Tsでの状態)が決定される。なお、こ れらの初期状態は、第 1旋回歩容の支持脚座標系(前記次回歩容支持脚座標系)で 見た状態である。この処理では、足平位置姿勢の初期状態は、前記 S022で決定し た足平軌道パラメータを基に有限時間整定フィルタを用いて算出される足平位置姿 勢軌道のうちの時刻 Tsでの各足平 22の位置姿勢に決定される。該有限時間整定フ ィルタは、前記公報文献 1等にて説明されているので、ここでの説明は省略する。ま た、上体姿勢角 Θ bsの初期状態は、 S022で決定した基準上体姿勢軌道パラメータ 力 定まる時刻 Tsでの基準上体姿勢角と同一に決定され、腕姿勢の初期状態は、 S 022で決定した腕姿勢軌道パラメータにより定まる時刻 Tsでの状態と同一に決定さ れる。
[0183] 次!、で、 S202にお!/、て、前記単純化モデル上での初期(時刻 Ts)上体水平位置、 初期上体水平速度、初期上体姿勢角速度、および上体傾斜復元モーメント ZMP換 算値のピーク値を探索対象として、これらの探索対象の候補 (Xs, Vx, co bs, ZMPrecpeek)が仮決めされる(探索対象の候補値の初期値が決定される)。この場合 、その仮決めの候補値は、基本的には任意でよいが、例えば、前回歩容の生成時に 求めた定常歩容の初期状態を基に決定してもよい。なお、これらの仮決めされる値は 、第 1旋回歩容の支持脚座標系 (前記次回歩容支持脚座標系)で見た値である。
[0184] 次いで、 S206— S218のループ処理が実行される。その処理を概略的に説明す れば、前記の如く仮決めした探索対象を含む定常歩容パラメータと単純ィ匕モデルと を用いて定常歩容の初期(時刻 Ts)から終端 (時刻 Ts+Tcyc)までの歩容を生成す る。そして、その生成した定常歩容が境界条件 (初期と終端での状態 (本実施形態で は上体水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致するこ と)を満たしている力否かを判断し、満たしていない場合には、探索対象の値を変更 する。これを繰り返すことで、最終的に単純化モデル上で定常歩容の境界条件を満 たすことができる該定常歩容の初期状態が決定される。
[0185] S206— S218の処理をより具体的に説明すると、 S206において、単純化モデル 上での定常歩容の初期(時刻 Ts)の上体鉛直位置および上体鉛直速度 (Zs, Vzs)が 決定される。この場合、単純ィ匕モデル上でのロボット 1の全体重心の鉛直方向の慣性 力と重力との合力が目標床反力鉛直成分に釣り合い、且つ、全体重心の鉛直位置 が定常歩容の境界条件を満たすように決定される。この処理は、前記公報文献 1の 図 20の S206の処理と同様に行なわれる。なお、(Zs, Vzs)は、前述の如く決定もしく は仮決めされた Xsl, Vxsl, 0 bsl, ω siの値 (候補値)に依存する。
[0186] 次 、で、 S208にお 、て、現在の探索対象の候補値と、上体 3の鉛直位置および鉛 直速度と、 ZMPrecpeekとを含む定常歩容パラメータを基に、単純ィ匕モデルを用いて 歩容 (仮の定常歩容)が時刻 Ts + Tcyc (定常歩容の終端)まで生成される。この処理 については後述する。
[0187] 次いで、 S210において、 S208で生成した歩容の終端の上体水平位置、上体水 平速度、上体姿勢角およびその角速度を、該歩容の次の 1歩の支持脚座標系(S20 8で生成した定常歩容の第 2旋回歩容に続く第 1旋回歩容の支持脚座標系)から見 た値に変換し、その値を (Xe, Vxe, 0 be, ω be)とする。
[0188] そして、 S212において、現在の (Xs, Vxs, Θ bs, co bs)の値と、 (Xel, Vxel, Θ bel, ω bel)の値との差を定常歩容(S208で生成した仮の定常歩容)の境界条件誤差( errx, errv, err θ , err ω )として求める。定常歩容の境界条件を満足するためには、 境界条件誤差はほぼ 0でなければならない。この境界条件誤差は、 S208において 作成した歩容の、境界条件からのずれ度合!、を表すものである。
[0189] 次いで、 S214において、 errx, errv, err θ , err ωがいずれも十分に小さい(0近傍 の)所定の許容範囲内にあるカゝ否かを判断し、その判断結果が YESである場合には 、 S206一 S218のノレープ処理を終了し、 S220【こ進む。この場合【こ ίま、 S208で生成 した歩容が定常歩容の境界条件を満たして!/、ることとなるので、その歩容が今回歩 容をつながらせるべき適切な定常歩容となる。
[0190] 一方、 S214の判断結果が NOである場合には、現在の探索対象 (Xs, Vx, co bs, ZMPrecpeek)の候補値の近辺に、 Xs, Vx, co bs, ZMPrecpeekのそれぞれの値を所 定の微小量 A Xs, A Vx, A co bs, Δ ZMPrecpeekだけ変化させた複数 (本実施形態 では 4個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む定常歩容 パラメータ (定常歩容パラメータの探索対象を新たに決めた各候補に修正した定常 歩容パラメータ)を基に、 S2088— S212と同じ処理を実行して、それぞれの探索対 象の候補に対応する境界条件誤差を求める。
[0191] 次いで、 S218において、現在の(Xs, Vx, co bs, ZMPrecpeek)およびその近辺の 探索対象の候補のそれぞれに対応する境界条件誤差を基に、最急降下法やシンプ レックス法などの探索手法によって、探索対象(Xs, Vx, co bs, ZMPrecpeek)の新た な候補を決定する。そして、 S 206からの処理が再び繰り返される。
[0192] S206— S218のループ処理を終了した後の S220では、該ループ処理の S208で 最後に生成された定常歩容 (定常歩容の境界条件を満たす歩容)を基に、本来の初 期時刻 0 (今回歩容の終端時刻)における定常歩容の上体 3の運動状態である初期 上体水平位置 X0、初期上体水平速度 Vx0、初期上体姿勢角 Θ b0およびその角速度 co b0、並びに初期上体鉛直位置 Z0、初期上体鉛直速度 VzOとが求められる。さら〖こ、 S222において、前記した初期発散成分 qの定義式に従って、定常旋回歩容の、本 来の初期時刻 0における発散成分である定常旋回初期発散成分 q[0]が求められる。 S222で求められる値は、今回歩容に続く定常旋回歩容の第 1旋回歩容の支持脚座 標系で見た値である。そして、 S224において、定常旋回初期発散成分 q[0]を今回 歩容の支持脚座標系から見た値である q"と、初期(時刻 0)上体鉛直位置 ·速度を今 回歩容の支持脚座標系から見た値である(Z0", VzO")を求める。
[0193] 以上のようにして、探索対象である(Xs, Vx, ω bs, ZMPrecpeek)の値が、定常歩容 の境界条件を満たすように決定され、その探索対象の値を用いて単純ィ匕モデル上で 生成される定常歩容の、本来の初期時刻(時刻 0)における状態 (上体 3の運動状態) である初期状態 (初期発散成分を含む)が決定される。
[0194] 図 12の処理のうちの説明を後回しにした S208の処理は、図 13のフローチャートで 示すサブルーチン処理により実行され、さらに、この図 13の S306および S322の処 理は、図 14のフローチャートで示すサブルーチン処理により実行される。さらに、図 1 4の S412の処理は、図 15のフローチャートで示すサブルーチン処理により実行され る。以下、これらの処理を説明する。
[0195] 図 13の処理の概要を説明すると、まず、 S300— S312の処理によって、定常歩容 の初期時刻 Tsから終端時刻 Ts +Tcycまでの各時刻 k (所定の時間幅 Δ k毎の時刻) において、単純ィ匕モデル上で目標 ZMPを満足し、且つ、床反力成分許容範囲を満 足するように定常歩容が仮作成される。このとき、その仮作成された歩容の運動 (仮 運動)によって単純ィ匕モデル上で発生する目標 ZMPまわりの床反力モーメント水平 成分の誤差としての床反力モーメント誤差 Merr_p(k)の時系列と、該運動によって単 純化モデル上で発生する並進床反力水平成分の誤差としての並進床反力誤差 Ferr_p(k)の時系列とが求められる。図 13の処理では、定常歩容を作成するだけでな ぐこれらの誤差 Merr_p(k)および Ferr_p(k)を求める処理も含まれる。また、これらの誤 差 Merr_p(k)および Ferr_p(k)は、図 13の処理の中で更新され、最終的に確定される。
[0196] ここで、床反力モーメント誤差 Merr_p(k)は、それを一般的に言えば、定常歩容の初 期時刻 Tsから終端時刻 Ts+Tcycまでの期間(定常歩容の 1周期の期間)において 単純ィ匕モデル (第 1動力学モデル)を用いて生成された歩容の運動によって、セミフ ルモデル (第 2動力学モデル)上で目標 ZMPなどの所定の作用点まわりに発生する 床反力モーメントと、単純ィ匕モデル上で該作用点まわりに発生する床反力モーメント との差、あるいは、単純ィ匕モデル上で所定の作用点まわりの床反力モーメントの目標 値を満足するように生成された歩容の運動によって、セミフルモデル上で該作用点ま わりに発生する床反力モーメントと該作用点まわりの床反力モーメントの目標値との 差の時系列(所定の時間幅 Δ k毎の時系列)を表すものである。本実施形態では、目 標 ZMP (S022で決定した ZMP軌道パラメータにより規定される目標 ZMP)まわりの 床反力モーメント水平成分に着目し、単純化モデル上で目標 ZMPを満足するように 生成された歩容の運動によって、セミフルモデル上で目標 ZMPまわりに発生する床 反力モーメント水平成分と単純ィ匕モデル上で目標 ZMPまわりに発生する床反カモ 一メント水平成分もしくはその目標値( = 0)との差 (各時刻 kでの床反力モーメント水 平成分の瞬時値の差)の時系列を床反力モーメント誤差 Merr_p(k)の時系列とする。
[0197] また、並進床反力誤差 Ferr_p(k)は、それを一般的に言えば、定常歩容の初期時刻 Tsから終端時刻 Ts+Tcycまでの期間(定常歩容の 1周期の期間)において単純ィ匕 モデル (第 1動力学モデル)を用いて生成された歩容の運動によって、セミフルモデ ル (第 2動力学モデル)上で発生する並進床反力と、単純化モデル上で発生する並 進床反力との差の時系列(所定の時間幅 毎の時系列)を表すものである。本実施 形態では、並進床反力水平成分を床反力水平成分許容範囲に収めるように歩容を 生成することから、並進床反力水平成分に着目し、単純化モデル上で生成された歩 容の運動によって、セミフルモデル上で発生する並進床反力水平成分と単純ィ匕モデ ル上で発生する並進床反力水平成分との差 (各時刻 kでの並進床反力水平成分の 瞬時値の差)の時系列を並進床反力誤差 Merr_p(k)の時系列とする。
[0198] 次いで、 S314— S328のループ処理によって、前記仮作成した歩容の運動を、誤 差 Merr_p(k)および Ferr_p(k)を用いて修正してなる歩容 (仮の定常歩容)が作成される 。この場合、歩容の修正は、必要に応じて繰り返され、その都度、誤差 Merr_p(k)およ び Ferr_p(k)が更新される。そして、最終的に S314— 328で作成された歩容が図 13 の処理で作成すべき歩容として得られる。なお、 S300— S312の処理で仮作成した 歩容の運動を修正しない場合もあり、このときには、その仮作成の歩容が図 13の処 理で作成すべき歩容として得られる。 [0199] この S314— S328の処理においては、定常歩容は、その初期から終端までの各時 刻 kにおいて、その歩容 (作成する定常歩容)の運動によって単純ィ匕モデル上で発 生する目標 ZMPまわりの床反力モーメントに床反力モーメント誤差 Merr_p(k)をカロえ たものが、目標 ZMPまわりの真の床反力モーメントであるとみなし、その真の床反力 モーメントが 0となるように(目標 ZMPの本来の定義を満足するように)作成される。ま た、同時に、定常歩容は、その初期力も終端までの各時刻 kにおいて、その歩容 (作 成する定常歩容)の運動によって、単純化モデル上で発生する並進床反力水平成 分に並進床反力誤差 Ferr_p(k)を加えたもの力 真の並進床反力水平成分であると みなし、その真の床反力水平成分が床反力水平成分許容範囲を満足するように、作 成される。この際、 Merr_p(k)および Ferr_p(k)は、その信頼性を高めることが望ましいと 共に歩容の運動パターンによって変化するので、 1周期分の定常歩容の作成が所要 の条件を満たすまで (より詳しくは、 Merr_p(k)および Ferr_p(k)のそれぞれの時系列パ ターンがほぼ一定のパターンに収束するまで、もしくは、実質的に収束したであろうと 判断されるまで)繰り返される。そして、その都度、定常歩容の 1周期分 (2歩分)の M err_p(k)および Ferr_p(k)の時系列を新たに求めて観測することで、適切な Merr_p(k)お よび Ferr_(k)の時系列が決定される。この場合、誤差 Merr_p(k)および Ferr_p(k)の基 準とする床反力の真値として、セミフルモデル上で発生する床反力が用いられる。補 足すると、単純ィ匕モデル上で発生する目標 ZMPまわりの床反力モーメントに床反力 モーメント誤差 Merr_p(k)を加えたものが 0となるように歩容を作成すると!/ヽうことは、目 標 ZMPまわりの床反力モーメント水平成分の本来の目標値( =0)から床反力モーメ ント誤差 Merr_p(k)を差し引いてなる床反力モーメント水平成分(= Merr_p(k))が単 純化モデル上で目標 ZMPまわりに発生するように歩容を作成することと等価である。
[0200] 以下に図 13の処理を具体的に説明すると、まず、 S300において、上体 3の運動の 初期状態 (時刻 Tsでの状態)として、図 12の処理中で仮決めした値 (現在候補値) ( Xs, Vxs, Θ bs, co s, Zs, Vzs)がセットされる。
[0201] 次いで、 S302において、床反力モーメント誤差 Merr_p(k)および並進床反力誤差 F err_p(k)の時系列の各値が 0に初期化される。なお、ここで Merr_p(k)および Ferr_p(k) を 0に初期化するのは、後述する S306において、単純ィ匕モデル上で目標 ZMPを満 足し、且つ、床反力水平成分許容範囲を満足する歩容を作成するためである。、 前記 S302の次に、 S304を経て、定常歩容の初期時刻 Tsから終端時刻 Ts+Tcyc までの各時刻に対し、 S306— S312の処理が実行される。 S306では、 S302で初期 化した誤差 Merr_p(k)および Ferr_p(k)の時系列を用い、単純化モデル上で時刻 kの目 標 ZMP (S022の中で決定された ZMP軌道パラメータにより規定される目標 ZMP) まわりに - Merr_p(k)が発生し、且つ、並進床反力水平成分(単純化モデル上での歩 容の全体重心の並進加速度水平成分に伴う慣性力に釣り合う並進床反力)に Ferr_p(k)をカ卩えたものが時刻 kの床反力水平成分許容範囲(S022の中で決定され たパラメータにより規定される床反力水平成分許容範囲)に収まるように定常歩容の 瞬時値の時系列が作成される。この場合、 S306では、 Merr— p(k) = 0且つ Ferr— p(k) = 0であるから、 S306で作成される (仮作成される)歩容は、結局、単純化モデル上で 目標 ZMPを満足し、且つ、床反力水平成分許容範囲を満足する歩容となる。 S306 のより具体的な処理は後述する力 S306の処理の中では、各時刻 kにおいて、作成 中の歩容の運動によってセミフルモデル上で発生する目標 ZMPまわりの床反カモ 一メント水平成分と該運動によってセミフルモデル上で発生する目標 ZMPまわりの 床反力モーメント水平成分との差 Merr(k)が求められると共に、該運動によってセミフ ルモデル上で発生する並進床反力水平成分と該運動によって単純化モデル上で発 生する並進床反力水平成分との差 Ferr(k)が求められる。
次いで、 S308において、上記の如く求められた Merr(k)および Ferr(k)のそれぞれと 、 Merr_p(k)、 Ferr_p(k)のそれぞれの現在値との差 A Merr(k)、 A Ferr(k)が図示の式に よって算出される。さらに、 S310において、 S306で求められた Merr(k)および Ferr(k) がそれぞれ Merr_p(k)、 Ferr_p(k)の新たな値としてセットされる。そして、 S312におい て時刻 kが k+ A kに更新される。以上の S306— S312の処理力 k=Ts+Tcycとな るまで繰り返される。これ〖こより、単純ィ匕モデル上で目標 ZMPを満足し、且つ、床反 力水平成分許容範囲を満足する歩容の瞬時値の時系列が仮作成されると共に、そ れに対応する Merr_p(k)および Ferr_p(k)の時系列が決定される。このようにして決定さ れる Merr_p(k)および Ferr_p(k)は、目標 ZMPと床反力水平成分許容範囲を満足する ように S306で作成される歩容の運動 (仮運動)によって単純ィ匕モデル上で発生する 床反力の誤差を表すものである。
[0203] 補足すると、前記 A Merr(k)および A Ferr(k)は、後述する S314— S328のループ 処理の中で、歩容の作成の都度、更新される Merr(k)および Ferr(k)の変化量を意味 するものであり、以降、 A Merr(k)の時系列を床反力モーメント誤差変化量、 A Ferr(k) の時系列を並進床反力誤差変化量という。ただし、 S 302において Merr_p(k)および Ferr_p(k)はいずれも 0に初期化されているので、 S308で算出される A Merr(k)および A Ferr(k)は、 S306で求められた Merr(k)および Ferr(k)にそれぞれ一致する。従って 、 S308で算出される A Merr(k)および A Ferr(k)は、実質的には、目標 ZMPと床反力 水平成分許容範囲を満足するように S306で作成される歩容の運動 (仮運動)によつ て単純ィ匕モデル上で発生する床反力の誤差を表すものとなっている。 S308で算出 される Δ Merr(k)および Δ Ferr(k)は、それぞれ床反力モーメント誤差変化量 Δ Merr(k)、並進床反力誤差変化量 Δ Ferr(k)の初期値としての意味を持つ。
[0204] 次いで、 S314を経て、 S316の判断処理が実行される。この S316においては、 Δ Merr(k)の時系列(現在の時系列)および Δ Ferr(k)の時系列(現在の時系列)のそれ ぞれの所定の特徴量が所定の許容範囲内にある力否かが判断される。この判断処 理は、 Δ Merr(k)の時系列および Δ Ferr(k)の時系列の両者がそれぞれほぼ 0に収束 したか否か(これは、 Merr_p(k)の時系列パターンおよび Ferr_p(k)の時系列パターンが それぞれほぼ一定のパターンに収束した力否かを意味する)を判断する処理である。 この場合、例えば Δ Merr(k)の時系列の絶対値(各時刻 kでの値の絶対値)のうちの 最大値、あるいは、その絶対値の総和、あるいは、該時系列のパターンの実効値、あ るいは、該時系列の最大値と最小値との差を Δ Merr(k)の時系列の収束判断のため の特徴量とし、その特徴量力^に近い許容範囲にあるカゝ否かが S314で判断される。 同様に、 A Ferr(k)の時系列の絶対値 (各時刻 kでの値の絶対値)のうちの最大値、あ るいは、その絶対値の総和、あるいは、該時系列のパターンの実効値、あるいは、該 時系列の最大値と最小値との差を Δ Ferr(k)の時系列の収束判断のための特徴量と し、その特徴量が 0に近い許容範囲にある力否かが S314で判断される。なお、 Δ Merr(k)と A Ferr(k)とで、特徴量の種類は同じでよいが、同じでなくてもよい。また、そ の特徴量に対する許容範囲も Δ Merr(k)と Δ Ferr(k)とで同一である必要はな 、。 [0205] 補足すると、 S300— S312の処理の終了後、最初に S316の処理を実行するとき には、前記したように A Merr(k)=Merr_p(k)、 A Ferr(k) = Ferr_p(k)であるから、このと きの S316の判断処理は、 Δ Merr(k)の時系列および Δ Ferr(k)の時系列の収束判断 処理というよりも、 S300— S312の処理で作成した歩容に関する床反力モーメント誤 差 Merr_p(k)および並進床反力誤差 Ferr_p(k)がそれぞれ十分に小さ 、か否か (S300 一 S312の処理で作成した歩容の動力学的精度が十分か否か)を評価する処理と言 える。つまり、 S316の判断処理は、 S300— S312の処理で作成した歩容に関する 床反力モーメント誤差 Merr_p(k)および並進床反力誤差 Ferr_p(k)が十分に小さいか 否かを評価する処理と、 Δ Merr(k)の時系列および Δ Ferr(k)の時系列の収束判断処 理とを兼ねている。なお、これらの評価処理と、収束判断処理とは別に行なうようにし てもよい。その場合、該評価処理と、収束判断処理とで、特徴量の種類を別にしても よぐあるいは、特徴量に対する許容範囲を別にしてもよい。
[0206] S316の判断結果が YESである場合には、 S314— S328のループ処理は終了し、 図 13の処理も終了する。この場合、この時点で、図 13の処理により最終的に作成さ れた歩容が図 12の S208で作成すべき歩容(定常歩容)として得られる。従って、 S3 00— S312の処理の終了後、 S316の最初の判断結果が YESである場合には、 S3 00— S312の処理によって作成された歩容が図 12の S208で作成すべき歩容(定常 歩容)として得られる。なお、その歩容は、 S316の判断結果が YESであるので、十分 な動力学的精度を有する歩容となっている。
[0207] S316の判断結果が NOである限り( Δ Merr(k)の時系列および Δ Ferr(k)の時系列 の少なくとも一方の時系列の特徴量が許容範囲を逸脱している場合)、 S300および S304— S312と同様の処理力 S318— S328で繰り返される。より詳しくは、 S318 において、 S300と同様に上体 3の初期状態がセットされる。さらに、 S320 (これは S3 04と同じ)を経て、定常歩容の初期時刻 Tsから終端時刻 Ts + Tcycまでの各時刻に 対し、 S322— S328の処理力実行される。これらの S322— S328の処理は、それぞ れ前記 S306— S312の処理と同じである。但し、 S322の処理においては、そこで用 いる Merr_p(k)および Ferr_p(k)の時系列は、前記 S302で初期化された値( = 0)では なぐ最新の時系列、すなわち前記 3310で更新された\^11^(1 ぉょび1¾11^(1 の 時系列、あるいは、 S318— S328で繰り返しの中で、一つ前(前回)の S318— S32 8の処理における S 326で更新された Merr_p(k)および Ferr_p(k)の時系列である。
[0208] 従って、 S318— S328で繰り返しの中で、第 n回目(n= l, 2,……) S322の処 理では、第 n— 1回目の歩容生成時にその歩容の運動に対応して求められる誤差 Merr_p(k)および Ferr_p(k)による修正をカ卩えて第 n回目の歩容が生成される。詳しくは 、第 n回目の歩容は、その第 n回目の歩容の運動によって、単純化モデル上で、第 n 1回目の歩容生成時の床反力モーメント誤差 Merr_p(k)の符号を反転させた Merr_p(k)が時刻 kの目標 ZMPまわりに発生し、且つ、その第 n回目の歩容の運動に よって、単純化モデル上で発生する並進床反力水平成分に、第 n - 1回目の歩容生 成時の並進床反力誤差 Ferr_p(k)を加えたものが時刻 kの床反力水平成分許容範囲 に収まるように作成される。なお、この場合において、第 0回目の歩容生成は、 S300 一 S 312での歩容生成を意味する。
[0209] そして、前記したように、 S316の判断結果が YESになると、図 13の処理は終了し、 この時点で最終的に作成された歩容が図 12の S 208で作成すべき定常歩容として 得られる。
[0210] ここで、 S318— S328の処理の繰り返しにおいて、 S316の判断結果が NOとなる 状態は、その繰り返しの都度、更新される Merr_p(k)または Ferr_p(k)の時系列のパタ ーンが変化する状態である。そして、そのような Merr_p(k)および Ferr_p(k)の時系列を 用いて修正された歩容の運動力 新たに求められる Merr_p(k)または Ferr_p(k)の時系 列は、該運動によって単純ィ匕モデル上で発生する床反力の誤差を表すものとしての 信頼性が低い。これに対して、 S316の判断結果が YESとなる状態は、 S318— S32 8の処理の繰り返しの都度、更新される Merr_p(k)または Ferr_p(k)の時系列のパターン が定常的なものとなった状態であるから、この状態での Merr_p(k)または Ferr_p(k)の時 系列は、それを用いて修正した歩容の運動によって単純ィ匕モデル上で発生する床 反力の誤差を表すものとしての信頼性が高い。従って、 S316の判断結果が YESに なると、図 13の処理は終了し、この時点で最終的に作成された歩容は、単純化モデ ル上で発生する床反力の誤差が適切に反映されたものとなり、動力学的精度の高い ものとなる。 [0211] 図 13の S306および S322の処理(定常歩容の瞬時値の時系列の作成処理)は、 図 14のフローチャートで示すサブルーチン処理により実行される。
[0212] この図 14の処理では、まず、 S400— S410の処理〖こよって、前記 S022で決定し た定常歩容のパラメータを基に、目標床反力鉛直成分、目標 ZMP、目標両足平位 置姿勢、基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分許容範 囲の瞬時値が求められる。この S400— S410の処理は、前記公報文献 1の図 22の S 400— S410処理と同じであるので、ここでの詳細説明は省略する。
[0213] 次いで、 S412の処理によって、図中に記載された条件を満たすように上体水平カロ 速度および上体姿勢角加速度の瞬時値が決定される。この場合、 Merr_p(k) (第 n - 1 回目の歩容生成時に求めた Merr_p(k))が、作成中の歩容 (第 n回目の作成中の歩容 )の運動によって時刻 kにおいて単純ィ匕モデル上で発生する目標 ZMPまわりの床反 力モーメント水平成分の誤差分であるとみなした場合、単純化モデル上で、目標 ZM P (S402で求めた目標 ZMP)まわりに Merr_p(k)が発生するように、歩容の運動を決 定すれば、その決定した運動によって実際のロボット 1が発生する目標 ZMPまわりの 真の床反力モーメント水平成分 (厳密にはセミフルモデル上で発生する目標 ZMPま わりの床反力モーメント水平成分)はほぼ 0 (目標 ZMPまわりの床反力モーメント水平 成分の本来の目標値)になると考えられる。従って、 S412では、単純化モデル上で、 目標 ZMPまわりに Merr_p(k)が発生するように上体水平加速度および上体姿勢角 加速度を決定する。なお、このことは、作成しょうとしている歩容の運動によって単純 化モデル上で発生する目標 ZMPまわりの床反力モーメント水平成分( ー Merr_p(k) )に誤差 Merr_p(k)を加えたものが、目標 ZMPまわりの床反力モーメント水平成分の 本来の目標値である 0になるように、上体水平加速度および上体姿勢角加速度を決 定することと等価である。
[0214] また、 Ferr_p(k) (第 n— 1回目の歩容生成時に求めた Ferr_p(k))力 作成中の歩容( 第 n回目の作成中の歩容)の運動によって時刻 kにおいて単純ィ匕モデルで発生する 並進床反力水平成分の誤差分であるとみなした場合、単純化モデル上で歩容の運 動によって発生する並進床反力水平成分に Ferr_p(k)を加えたものが床反力水平成 分許容範囲(S410で決定された許容範囲)を超えな ヽように歩容の運動を決定すれ ば、その決定した運動によって実際のロボット 1に作用する並進床反力水平成分 (厳 密にはセミフルモデル上で発生する並進床反力水平成分)は、当該床反力水平成 分許容範囲内に収まると考えられる。従って、 S412では、作成しょうとしている歩容 の運動によって単純ィ匕モデル上で発生する並進床反力水平成分に Ferr_p(k)をカロえ たものが、床反力水平成分許容範囲(S410で決定した現在時刻 kでの許容範囲)を 超えな!/、ように上体水平加速度および上体姿勢角加速度を決定する。
[0215] なお、 S412の処理のより具体的な内容については後述する。
[0216] 次いで、 S414の処理によって、上記の如く S412で決定した上体水平加速度およ び上体姿勢角加速度をそれぞれ 2階積分して、上体水平位置および上体姿勢角の 瞬時値が決定される。この時点までに、上体鉛直位置、足平位置姿勢および腕姿勢 の瞬時値は既に決定されているので(S404、 S408を参照)、これらと、上体水平位 置および上体姿勢角の瞬時値とから構成されるロボット 1の運動の瞬時値 (定常歩容 の目標運動の瞬時値)が決定されたこととなる。補足すると、本実施形態のロボット 1 は、各脚体 2が 6自由度を有するので、各足平 22の目標位置姿勢の瞬時値と上体 3 の目標位置姿勢の瞬時値とが決まれば、ロボット 1の各脚体 2の各関節の変位量は 一義的に定まる。
[0217] また、 S414に続く S415の処理によって、上記の如く決定された定常歩容の目標 運動によって単純ィ匕モデル上で発生する時刻 k (現在時刻)における目標 ZMPまわ りの床反力モーメント水平成分 Msmpl(k)と、並進床反力水平成分 Fsmpl(k)とが算出さ れる。
[0218] この場合、決定された足平位置姿勢、上体位置'速度、上体姿勢角'角速度からな る目標運動を基に、単純ィ匕モデルを用いて目標 ZMPまわりの床反力モーメント水平 成分 Msmpl(k)と並進床反力水平成分 Fsmpl(k)とを算出すればよい。すなわち、 Msmpl(k)は、目標運動に対応して定まる、単純ィ匕モデルの各要素 (本実施形態では 質点およびフライホイール)の運動によってそれぞれ発生する慣性力と単純ィ匕モデ ルの全体重心に作用する重力との合力が目標 ZMPまわりに発生するモーメントの水 平成分の瞬時値 (各時刻 kでの値)の符合を反転させたものとして算出される。また、 Fsmpl(k)は、目標運動に対応する単純ィ匕モデルの全体重心の並進加速度の水平成 分の瞬時値 (各時刻 kでの値)に単純ィヒモデルの全体質量を乗じてなる値 (全体重心 の運動が発生する慣性力の水平成分)の符号を反転させたものとして算出される。
[0219] なお、 Msmpl(k)および Fsmpl(k)は、上述のように単純化モデルの演算を行なう代わ りに、次式によって求めてもよい。
[0220]
Msmpl(k) = 0-Merr_p(k) ……式 3a
Fsmpl(k) = Fx、k)— Ferr— p(lg 式 3b すなわち、 S410— S414までの処理で作成する歩容は、目標 ZMPまわりに— Merr_p(k) (より正確には、目標 ZMPまわりの本来の目標床反力モーメント水平成分( =0)カゝら Merr_p(k)を差し引いたもの)が発生するように作成されるので、その歩容の 運動によって単純ィ匕モデル上で発生する目標 ZMPまわりの床反力モーメント Msmpl(k)は、 Merr_p(k)に一致もしくはほぼ一致する。従って、 Msmpl(k)は、前記式 3 aにより求めてもよい。なお、当然ながら、式 3a中の「0」は省略してもよい。
[0221] また、式 3b中の Fx'(k)は、 S410— S414までの処理で作成する歩容の運動によつ て単純ィ匕モデル上で発生する並進床反力水平成分 Fsmpl(k)に、並進床反力誤差( 並進床反力水平成分誤差) Ferr_p(k)をカ卩えたものであり、それは、 S412の後述する 処理の中で床反力水平成分許容範囲を満足するように決定される(より詳しくは、上 体水平加速度を決定するときの床反力水平成分 (FSmpl(k) + Ferr_p(k))の目標値 (床 反力水平成分許容範囲を満足する目標値)として決定される)。従って、 S410— S4 14までの処理で作成する歩容の運動によって単純化モデル上で発生する並進床反 力水平成分 Fsmpl(k)は、式 3bの右辺の値と一致もしくはほぼ一致するので、 Fsmpl(k) を S412の処理中で決定する Fx'(k)の値を用いて式 3bにより求めてもよい。
[0222] 上記のように式 3a、式 3bを用いて Msmpl(k)および Fsmpl(k)を求めてもよ!、ことは、 後述する今回歩容の作成処理(後述の S028の処理、あるいは S032の処理)におい ても同様である。
[0223] 次いで、 S415に続く S416の処理によって、上記の如く決定された歩容の目標運 動を基に、前記セミフルモデル上で発生する目標 ZMPまわりの床反力モーメント水 平成分の瞬時値 Msemifoll(k)と並進床反力水平成分の瞬時値 Fsemifoll(k)とが算出さ れる。その算出の仕方は、前記 S415において単純化モデル上での瞬時値 Msmpl(k) 、 Fsmpl(k)を算出する場合と同様である。ただし、この場合は、前記式 3a, 3bと同様 の手法で Msemifoll(k)、 Fsemifoll(k)を求めることはできないので、セミフルモデルの実 際の演算処理を行なう必要がある。これらの Msemifoll(k)、 Fsemifoll(k)は、それぞれ目 標運動に従って実際のロボット 1の運動を行ったときにロボット 1に作用する床反カモ 一メント水平成分、並進床反力水平成分の真値に相当するものである。
[0224] 次いで、 S418の処理において、次式 3c, 3dによって、新たな床反力モーメント誤 差 Merr(k)および並進床反力誤差 Ferr(k) (第 n回目の歩容生成時に求める誤差 Merr(k)、 Ferr(k))が算出される。
[0225]
Merr(k) = Msemilull(k)— Msmpl(k) 式 3c
Ferr(k) = Fsemi滅 (k)— FsmplOg 式 3d 補足すると、本実施形態では、図 13の S306および S322のサブルーチン処理を 同じにした力 S306および S322のサブルーチン処理を各別に構築してもよい。この 場合、 S306の処理では、当初から Merr_p(k) = 0、 Ferr_p(k) = 0を前提としてアルゴリ ズムを構築しておけばよぐその場合には、図 13の S302の処理は不要である。また 、 S306の処理の中の S415において、前記式 3aを適用する場合には常に Msmpl(k) =0となるので、 S322の処理の中では、 S415の処理を省略してもよい。以上説明し た補足事項は、後述する今回歩容の作成処理 (後述の S028の処理)においても同 様である。
[0226] 図 14の S412のサブルーチン処理は、図 15のフローチャートで示す如く実行され る。
[0227] この図 15の処理では、まず、定常歩容の上体傾斜角復元期間を規定する時刻 Tm 、 Ts2、 Tm2を決定する。これらの時刻は、図 19に示す如ぐ前記上体傾斜復元モー メント ZMP換算値 ZMPrecを発生させる期間を規定するものである。すなわち、定常 歩容の初期時刻 Tsの後の最初の片脚支持期の開始直後の時刻を Tm、該片脚支持 期の終了直前の時刻を Ts2、次の片脚支持期の開始直後の時刻を Tm2として決定す る。そして、期間 [Tm, Ts2]と、期間 [Tm2, Te]を、それぞれ ZMPrecを発生させる期 間(定常歩容における上体傾斜角復元期間)とする。これは、前記公報文献 1の図 2 3の S500の処理と同じである。
[0228] 次いで、 S502において、定常歩容の瞬時値を作成しょうとしている現在時刻 k (作 成中の定常歩容内での時刻)が上体傾斜角復元期間にある力否かが判断される。そ して、現在時刻 kが前記上体傾斜角復元期間内の時刻でないとき、換言すれば、現 在時刻 kが、片脚支持期の終了直前から次の片脚支持期の開始直後までの期間(目 標床反力鉛直成分が 0である力もしくは 0に近い期間)にあるとき)には、 S504— S5 18の処理が実行される。これらの処理では、まず、目標 ZMPまわりの本来の目標床 反力モーメント水平成分( = 0)から床反力モーメント誤差 (床反力モーメント水平成 分誤差)の現在値 Merr_p(k)を差し引いてなる床反力モーメント水平成分 Merr_p(k) が単純化モデル上で発生するように、前記上体並進モードの運動による上体水平カロ 速度 a tmpを算出する(S504)。 a tmpは作成中の歩容における上体水平加速度の 仮値である。そして、上体水平加速度が a tmpである場合の単純ィ匕モデルの全体重 心の水平加速度による慣性力に釣り合う並進床反力水平成分 Fxtmpに、並進床反力 誤差 (並進床反力水平成分誤差)の現在値 Ferr_p(k)を加えてなる並進床反力水平 成分 Fxtmp' ( = Fxtmp + Ferr_p(k))が床反力水平成分許容範囲と比較される (S506 一 S510)。この比較において、 Fxtmp'が床反力成分許容範囲を逸脱している場合 には、作成中の歩容の運動によって発生させるべき並進床反力水平成分 Fx' (この Fx'は、作成中の歩容の運動によって単純ィ匕モデル上で発生する並進床反力水平 成分に Ferr_p(k)を加えたものの目標値を意味する)を床反力水平成分許容範囲の上 限値 Fxmaxまたは下限値 Fxminに制限し、 Fxtmp'が床反力成分許容範囲に収まって いる場合には、 Fxtmpをそのまま Fx'として決定する(S512— S514)。
[0229] そして、作成中の歩容の運動によって単純化モデル上で発生させる並進床反力水 平成分 Fxに、並進床反力誤差 (並進床反力水平成分誤差)の現在値 Ferr_p(k)をカロ えてなる並進床反力水平成分( = Fx + Ferr_p(k))が上記の如く決定した Fx'に一致す るように、前記上体並進モードの上体水平加速度 αが決定されると共に、この上体水 平加速度 (Xの上体並進モードの運動と前記上体回転モードの運動とによって単純 化モデル上で目標 ZMPまわりの床反力モーメント水平成分が Merr_p(k)になるよう に、該上体回転モードの上体角加速度 βが決定される(S518)。
[0230] これ〖こより、単純化モデル上で目標 ZMPまわりに Merr_p(k)が発生し(作成中の歩 容の運動によって単純ィ匕モデル上で目標 ZMPまわりに発生する床反力モーメント水 平成分に床反力モーメント誤差の現在値 Merr(k)をカ卩えたものが目標 ZMPまわりの 本来の目標値である 0になり)、且つ、単純ィ匕モデル上で全体重心の水平加速度に よる慣性力に釣り合う床反力水平成分 Fxに、並進床反力誤差の現在値 Ferr_p(k)を 加えてなる並進床反力水平成分 Fx' (これは作成中の歩容の運動によって真に発生 する並進床反力水平成分に相当する)が床反力水平成分許容範囲に収まるように上 体並進モードの上体水平加速度 aと上体回転モードの上体角加速度 j8とが決定さ れる。
[0231] また、現在時刻 k (作成中の定常歩容内での時刻)が前記上体傾斜角復元期間内 の時刻であるときには、 S520— S530の処理が実行される。これらの処理では、まず 、上体角加速度 βは、単純化モデル上で、上体傾斜復元モーメント ΖΜΡ換算値パ ターンの瞬時値 (これは、前記 S12の処理中で仮決定された上体傾斜復元モーメン ト ΖΜΡ換算値ピーク値 (最新の候補値)と現在時刻 kとに応じて定まる。図 19を参照) に対応する床反力モーメントを目標 ZMPまわりに発生するように決定される (S520 および S522)。また、上体水平加速度 αは、単純化モデル上で、上体並進モードの 運動によって発生する目標 ΖΜΡまわりの床反力モーメントが、本来の目標床反カモ 一メント水平成分( = 0)力も床反力モーメント誤差の現在値 Merr_p(k)を差し引 、てな る床反力モーメント水平成分 Merr_p(k)に一致するための上体水平カ卩速度 <x tmpと、 先に決定した上体角加速度 βによる床反力モーメントと同等の床反力モーメントを発 生する上体水平加速度との差として求められる(S524および S526)。
[0232] これにより、単純化モデル上で、上体姿勢を基準上体姿勢に向かって復元させつ つ、目標 ZMPまわりに、 Merr_p(k)が発生するように上体角加速度 /3および上体水 平加速度 αが決定される。同時に、上体水平加速度が上記の如く求めた加速度 α である場合に、単純ィ匕モデル上で全体重心の水平加速度による慣性力に釣り合う床 反力水平成分 Fxに、並進床反力誤差の現在値 Ferr_p(k)を加えてなる並進床反力水 平成分 Fx'が作成中の歩容の運動によって真に発生する並進床反力水平成分として 決定される。なお、現在時刻 kが前記上体傾斜角復元期間内の時刻であるときには、 床反力水平成分許容範囲は十分に大きいので、上記の如く決定される並進床反力 水平成分 Fx'は該許容範囲を逸脱することはない。このため、 SS520— S530の処理 では、 Fx'を床反力水平成分許容範囲と比較することは行なって!/ヽな ヽ。
[0233] 補足すると、図 15の処理の基本的な考え方(手法)は、前記公報文献 1の図 22の 処理と同様である。但し、同公報文献 1のものでは、単純化モデル上で目標 ZMPを 満足し(目標 ZMPまわりの床反力モーメント水平成分力^になる)、且つ、単純化モ デル上で床反力水平成分許容範囲を満足するように上体水平加速度および上体姿 勢角加速度が決定される。これに対して、本実施形態の図 15の処理では、目標 ZM Pまわりの本来の目標床反力モーメント水平成分( =0)力 床反力モーメント誤差の 現在値 Merr_p(k)を差し引 、てなる床反力モーメント水平成分 Merr_p(k)が単純ィ匕モ デル上で発生し (換言すれば、単純化モデル上でロボット 1の運動によって目標 ZM Pまわりに発生する床反力モーメント水平成分に、床反力モーメント誤差の現在値 Merr_p(k)をカ卩えたものが目標 ZMPまわりの本来の目標床反力モーメント水平成分で ある 0になる)、且つ、単純ィ匕モデル上で全体重心の水平加速度による慣性力に釣り 合う床反力水平成分 Fxに、並進床反力誤差の現在値 Ferr_p(k)を加えてなる並進床 反力水平成分 Fx'が床反力水平成分許容範囲を満足する (該許容範囲内に収まる) ように上体水平加速度および上体姿勢角加速度が決定される。
[0234] なお、本実施形態では、単純ィ匕モデル上で全体重心の水平加速度による慣性力 に釣り合う床反力水平成分 Fxに、並進床反力誤差の現在値 Ferr_p(k)を加えてなる並 進床反力水平成分 Fx'が床反力水平成分許容範囲を満足する (該許容範囲に収ま る)ようにしたが、 Fxが、床反力水平成分許容範囲の上限値および下限値からそれぞ れ並進床反力誤差の現在値 Ferr_p(k)を減じてなる許容範囲を満足するように上体水 平加速度および上体姿勢角加速度を決定するようにしてもよい。このようにしても、元 の方法と等価である。
[0235] 本実施形態では、以上説明した如ぐ定常歩容を生成するので、 S024で最終的に 生成された定常歩容は、その運動によってセミフルモデル上で発生する床反力(これ は該運動によって実際のロボット 1に作用する床反力に精度よく一致する)力 目標 z
MPと床反力水平成分許容範囲とを満足するように決定されることとなる。この際、定 常歩容は、歩容の運動に対して単純ィ匕モデル上で発生する床反力の誤差 Merr_p(k) および Ferr_p(k)をカ卩味した上で、線形性の高!、単純ィ匕モデルの動力学を基に生成 される。また、定常歩容の各時刻 kの瞬時値は、その時刻での Merr_p(k)および Ferr_p(k)による修正をカ卩えて生成される。そして、この場合に用いる Merr_p(k)および Ferr_p(k)は、 S316の収束判断結果が YESになった状態でのものであるので、単純 化モデル上で発生する床反力の誤差を表すものとしての信頼性が高い。このため、 歩容の運動が発散したりすることなく短時間で効率よく定常歩容の初期状態を探索 的に決定することができる。また、セミフルモデルは、単純ィ匕モデルを用いて作成した 歩容の運動によって発生する床反力(床反力モーメント水平成分および並進床反力 水平成分)を算出するためにだけに用いられるので、その算出は、探索的な処理な どを必要とせずに、短時間で容易に行なうことができる。
図 10の説明に戻って、以上説明したように S024の処理を実行した後、 S026にお いて、今回歩容の歩容パラメータが決定 (一部は仮決定)される。この処理は、図 16 のフローチャートに従って実行される。ここで決定する歩容パラメータとしては、今回 歩容における足平位置姿勢軌道 (各足平 22の位置姿勢軌道)、基準上体姿勢軌道 、腕姿勢軌道、床反力鉛直成分軌道、床反力水平成分許容範囲、 ZMP軌道を規定 するパラメータがあり、これらの各パラメータがが S600— S610の処理で決定される。 そして、 S612において、今回歩容における上体傾斜角復元期間 [Ta, Tb]が設定さ れる。これの処理は、前記公報文献 1の図 33のフローチャートの処理と同一であるの で、ここでの詳細な説明は省略するが、上記各軌道が前回歩容の終端の状態 (今回 歩容の初期状態)から、今回歩容に関する前記した要求を満たしつつ、定常歩容に つながるように各軌道を規定する歩容パラメータが決定される。例えば、今回歩容の 遊脚足平 22に関する足平軌道パラメータは、今回歩容の遊脚足平 22の着地予定位 置姿勢および時刻がそれらの要求値を満たしつつ、今回歩容の終端において該遊 脚足平 22の位置姿勢が定常歩容の初期 (今回歩容の終端の時刻)で一致するよう に決定される。
[0237] 補足すると、 S610で決定される ZMP軌道パラメータは仮値であり、その仮値により 規定される ZMP軌道の例 (X軸方向の軌道の例)が図 21の最上段に示されている。 該 ZMP軌道パラメータは、今回歩容の片脚支持期において、支持脚足平 22の接地 面のほぼ中央付近に目標 ZMPが位置し、且つ、片脚支持期に続く空中期では、目 標 ZMPが今回歩容の終端において定常歩容の初期の ZMPまで連続的に変化する ように決定される。また、図 16の S612で設定する上体傾斜角復元期間は、図 21の 時刻 Ta力 時刻 Tbまでの期間であり、今回歩容の片脚支持期の開始直後から終了 直前までの期間である。
[0238] なお、 S600— S610の処理で決定される今回歩容のパラメータは、今回歩容パラメ ータを構成する全てのパラメータではない。本実施形態では、今回歩容を規定する 歩容パラメータ (今回歩容パラメータ)は、 S026で決定するパラメータの他に、 ZMP 軌道パラメータにより規定される ZMP軌道を修正するための ZMP修正パラメータと、 上体傾斜復元モーメント ZMP換算値のピーク値 (この場合 2種類のピーク値)とが含 まれる。これらのパラメータは、以下に説明する S028の処理の中で探索的に決定さ れる。
[0239] 次いで、 S028に進んで、今回歩容の歩容パラメータ(ZMP軌道パラメータ)が修正 される。この処理では、今回歩容の終端における発散成分が S024で決定した定常 旋回歩容の初期発散成分に一致するように (より詳しくは上体位置姿勢軌道を定常 歩容に連続させ、もしくは近づけるように)、今回歩容の歩容パラメータが修正されて 、最終的な今回歩容パラメータが決定される(より詳しくは、 ZMP修正パラメータと上 体傾斜復元モーメント ZMP換算値の 2種類のピーク値とが決定される)。
[0240] この処理は、図 17のフローチャートで示すサブルーチン処理に従って行われる。
[0241] 図 17の処理を概説すると、単純化モデル上で、今回歩容の終端発散成分が定常 歩容の初期発散成分に一致もしくはほぼ一致するように (今回歩容を定常歩容につ ながらせるように)、 ZMP修正量を規定するパラメータである ZMP修正パラメータ aと 、上体傾斜復元モーメント ZMP換算値の第 1ピーク値 ZMPrecpeekaおよび第 2ピーク 値 ZMPrecpeekbとが探索的に決定される。ここで、図 17の処理中で求める上体傾斜 復元モーメント ZMP換算値の第 1ピーク値 ZMPrecpeekaおよび第 2ピーク値
ZMPrecpeekbは、今回歩容の上体傾斜角復元期間 [Ta, Tb]で上体姿勢を基準上体 姿勢に近づけるために必要な床反力モーメントの ZMP換算値のパターンの 2つのピ 一ク値を示すものであり、その例を図示したものが図 20である。定常歩容の場合の上 体傾斜復元モーメント ZMP換算値のピーク値は 1つであった力 今回歩容の終端に おける上体姿勢角およびその角速度をそれぞれ定常歩容の初期上体姿勢角および その角速度に一致させるために、本実施形態では、上体傾斜復元モーメント ZMP換 算値の調整可能な 2つのパラメータとして、第 1ピーク値 ZMPrecpeekaおよび第 2ピー ク値 ZMPrecpeekbが用いられる。本実施形態では、図 20に示す如ぐ今回歩容にお ける上体傾斜復元モーメント ZMP換算値は、片脚支持期の前半の台形状のパター ンと、後半側の台形状のパターンとを合成した形のパターンとされ、その前半側の台 形状のパターンのピーク値が第 1ピーク値 ZMPrecpeeka、後半側の台形状のパター ンのピーク値が第 2ピーク値 ZMPrecpeekbである。
[0242] また、図 17の処理中で求める ZMP修正パラメータ aは、今回歩容を定常歩容につ なげる (今回歩容の終端の発散成分を定常歩容の初期発散成分 q"にほぼ一致させ る)ための目標 ZMPの修正量を規定するパラメータであり、その例を図示したものが 、図 21の中段の図である。図示の如ぐ ZMP修正パラメータ aにより規定される ZMP 修正量は、片脚支持期の開始直後力 終了直前まで発生させる台形状のパターンと され、そのピーク値 aが ZMP修正パラメータとして用いられる。
[0243] 図 17の処理をより詳しく説明すると、まず、 S700において、探索対象である a、
ZMPrecpeekaおよび ZMPrecpeekbの単純化モデル上での値の初期候補が仮決定さ れる。この場合、その初期候補は、基本的には、任意でよいが、例えば前回歩容の 作成時に最終的に決定した a、 ZMPrecpeekaおよび ZMPrecpeekbの値などを基に決 定してちよい。
[0244] 次いで、 S704— S714のループ処理が実行される。その処理を概略的に説明す れば、まず、 S704において、探索対象である a、 ZMPrecpeekaおよび ZMPrecpeekb の現在の候補値と単純ィ匕モデルとを用いて今回歩容 (仮今回歩容)が算出される。よ り詳しくは、 ZMP修正パラメータ aの現在値を基に修正した ZMP軌道パラメータと、 ZMPrecpeekaおよび ZMPrecpeekbの現在値と、 S026で決定した ZMP軌道パラメ一 タ以外のパラメータ (足平軌道パラメータ、床反力鉛直成分軌道パラメータ等)とから 構成される今回歩容パラメータと、単純ィ匕モデルを用いて仮今回歩容が算出される。 なお、 S704のより具体的な処理にっ 、ては後述する。
[0245] そして、 S706— S716において、 S 704で算出した仮今回歩容の終端 (今回歩容 の遊脚足平の着地予定時刻)での発散成分と定常歩容の初期発散成分 q" (前記 SO 24で最終的に算出したもの)との差、仮今回歩容の終端での上体姿勢角と定常歩容 の初期上体姿勢角(前記 S024で最終的に算出したもの)との差、並びに、仮今回歩 容の終端での上体姿勢角の角速度と定常歩容の初期上体姿勢角速度 (前記 S024 で最終的に算出したもの)との差が求められる。そして、これらの差の値がいずれも許 容範囲内にある力否か (0に近 、か否か)の条件を満たして 、る力判断し、満たして いない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に単純化 モデル上で仮今回歩容を定常歩容につながらせることが可能な歩容パラメータの修 正値としての a、 ZMPrecpeekaおよび ZMPrecpeekbが決定される。
[0246] S706— S716の処理をより具体的に説明すると、 S706において、仮今回歩容の 終端での上体位置速度 (Xe, Ve)から、該仮今回歩容の終端発散成分 qO[k]を前記 した発散成分の定義式に従って算出する。
[0247] 次いで、 S708において、この終端発散成分 q0[k]と定常旋回歩容の初期発散成分 q"との差を終端発散成分誤差 errqとして求める。
[0248] さらに、 S710において、定常歩容の初期上体姿勢角と、 S704で作成した仮今回 歩容の終端上体姿勢角との差を終端上体姿勢角誤差 Θ berrとして求めると共に、定 常歩容の初期上体姿勢角速度と、 S704で作成した仮今回歩容の終端上体姿勢角 速度との差を終端上体姿勢角速度誤差 ω berrとして求める。
[0249] 上記の如くもとめた誤差 errq、 0 berr、 co berrは、 S704において作成した仮今回歩 容の境界条件 (今回歩容がその終端で定常歩容につながると!/、う条件)からのずれ 度合いを表すものである。
[0250] 次いで、 S712において、上記の如くもとめた errq、 Θ berr, co berrがいずれも 0近傍 の所定の許容範囲内にあるカゝ否かを判断し、その判断結果が YESである場合には、 S704— S716のループ処理を終了する。この場合、探索対象の現在の候補値を含 む今回歩容パラメータが単純ィヒモデル上で定常歩容につながるような歩容を生成し 得る今回歩容パラメータとして得られる。
[0251] 一方、 S712の判断結果が NOである場合には、現在の探索対象(a, ZMPrecpeeka , ZMPrecpeekb)の候補値の近辺に、それぞれのパラメータの値を所定の微小量 Δ a , Δ ZMPrecpeeka, Δ ZMPrecpeekbだけ変化させた複数(本実施形態では 3個)の探 索対象の候補を決めて、それぞれの探索対象の候補を含む今回歩容パラメータを 基に、 S704— S710と同じ処理を実行して、それぞれの探索対象の候補に対応する 誤差(errq、 0 berr、 co berr)の組を求める。
[0252] 次いで、 S716において、探索対象の現在の候ネ ΐ (a, ZMPrecpeeka, ZMPrecpeekb )およびその近辺の探索対象の候補のそれぞれに対応する誤差 (errq、 Θ berr, ω berr)の組を基に、最急降下法やシンプレックス法などの探索手法によって、探索対 象(a, ZMPrecpeeka, ZMPrecpeekb)の新たな候補を決定する。そして、 S704力らの 処理が再び繰り返される。
[0253] 以上のようにして、(a, ZMPrecpeeka, ZMPrecpeekb)を探索対象として、今回歩容 が定常歩容につながるように今回歩容パラメータが探索的に決定される。
[0254] かかる図 17の処理のうちの S704の処理は、図 18のフローチャートで示すサブル 一チン処理により実行される。
[0255] この図 18の処理は、定常歩容の作成に係わる前記図 13の処理と同様に、目標 Z MPまわりの床反力モーメント誤差および並進床反力誤差を決定し、今回歩容 (仮今 回歩容)の瞬時値をその初期から終端まで時系列的に逐次作成する処理である。こ の場合、図 13の定常歩容の生成処理との違いは、歩容の初期状態と、歩容生成の 期間だけである。より詳しくは、この相違点に関し、図 18の処理では、 S800、 S818 において、前回歩容の終端状態 (詳しくは今回歩容の支持脚座標系で見た終端状 態)が今回歩容 (仮今回歩容)の初期状態として設定される。また、 S804— S812の 処理、並びに、 S820— S828の処理を実行する期間は、今回歩容の初期時刻(k= 0)から、今回歩容の終端時刻 Tcurr (今回歩容の遊脚足平 22の着地予定時刻)まで の期間である(S804、 S820を参照)。これ以外の処理は、図 13の処理と同一である 。この場合、 S804— S812の処理は、図 13の S304— S312の処理に対応し、 S820 一 S828の処理 ίま、図 13の S320一 S328の処理【こ対応して!/ヽる。従って、図 18の S 806、 S822の処理は、前記図 14のサブルーチン処理によって実行され、図 14の S4 12の処理は、図 15のサブルーチン処理によって実行される。ただし、図 18の S806 、 S822の処理の中では、図 14の S412のサブルーチン処理である図 15の処理にお いては、 S500の処理は省略される。これは、今回歩容の上体傾斜角復元期間は図 16の S612で設定された期間 [Ta, Tb]であるからである。
[0256] 本実施形態では、 S028において以上説明した如く仮今回歩容を生成する。この場 合、定常歩容の作成の場合と同様、図 18の S800— S812の処理では、今回歩容の 初期から終端まで、単純化モデル上で目標 ZMP (S026で決定した ZMP軌道パラメ ータにより規定される目標 ZMPを図 17の処理中で仮決定した ZMP修正パラメータ a (最新の候補値)によって修正してなる目標 ZMP)を満足し、且つ、床反力水平成分 許容範囲(S026で決定したパラメータにより規定される許容範囲)を満足するよう〖こ 今回歩容が仮作成される。そして、この仮作成された歩容の運動 (仮運動)を基に、 単純ィ匕モデルとセミフルモデルとを用いて床反力モーメント誤差 (床反力モーメント水 平成分誤差) Merr_p(k)と並進床反力誤差 Ferr_p(k)との時系列と、床反力モーメント誤 差変化量 Δ Merr(k)の時系列の初期値 (=Merr_p(k))および並進床反力誤差変化量 Δ Ferr(k)の時系列の初期値 ( = Ferr_p(k))とが決定される。
[0257] さらに、図 18の S814— S828の処理によって、床反力モーメント誤差変化量 Δ
Merr(k)の時系列および並進床反力誤差変化量 Δ Ferr(k)の時系列のそれぞれの特 徴量が、共に所定の許容範囲に収まって、 S816の判断結果が YESになるまで (そ れぞれの特徴量が 0に収束するまで)、 Merr_p(k)および Ferr_p(k)の時系列の最新値 を用いて歩容の修正 (歩容の作成)が繰り返される。この場合、繰り返しの中で、第 n 回目(n= l, 2,……)に作成される歩容は、今回歩容の各時刻 kにおいて、第 n回目 の歩容の運動によって単純化モデル上で上記目標 ZMPまわりに発生する床反カモ 一メント水平成分が Merr_p(k) (第 n— 1回目の歩容生成時に求めた誤差 Merr_p(k)の 符号を反転させたもの)になり、且つ、第 n回目の歩容によって単純ィ匕モデル上で発 生する並進床反力水平成分に Ferr_p(k) (第 n— 1回目の歩容生成時に求めた誤差 Ferr_p(k))を加えたものが今回歩容に係わる床反力水平成分許容範囲に収まるよう に作成される。なお、第 0回目の歩容は、 S800— S812の処理で作成された歩容で ある。
[0258] そして、 S816の判断結果が YESになると、図 13の処理は終了し、この時点で最終 的に作成された歩容が図 17の S704で作成すべき今回歩容 (仮今回歩容)として得 られる。なお、 S800— S812の処理の終了後の最初の S816の判断結果が YESで あれば、 S800— S812の処理で作成された歩容(第 0回目の歩容)が図 17の S 704 で作成すべき今回歩容 (仮今回歩容)として得られる。
[0259] 補足すると、 S816の判断処理においては、前記 S316の場合と同様、 A Merr(k)と
A Ferr(k)とで、特徴量の種類は同じでよいが、同じでなくてもよい。また、その特徴量 に対する許容範囲も A Merr(k)と A Ferr(k)とで同一である必要はない。また、 S816の 半 IJ断処理は、 S316の場合と同様、 S818— S828の処理の繰り返しにおける Δ Merr(k)および Δ Ferr(k)の収束判断だけでなぐ SS800— S812の処理の終了後の 最初の S816の処理は、 S800— S812の処理で作成した歩容に関する床反力モー メント誤差 Merr_p(k)および並進床反力誤差 Ferr_p(k)がそれぞれ十分に小さいか否か (S300— S312の処理で作成した歩容の動力学的精度が十分力否力 を評価する 処理を兼ねている。なお、これらの評価処理と、収束判断処理とは S316の場合と同 様、別に行なうようにしてもよぐその場合、該評価処理と、収束判断処理とで、特徴 量の種類を別にし、あるいは、特徴量に対する許容範囲を別にしてもよい。
[0260] 以上のようにして S028で最終的に生成される仮今回歩容は、その運動によってセ ミフルモデル上で目標 ZMPと床反力水平成分許容範囲とを満足しつつ、定常歩容 につながるような (今回歩容の境界条件を満たすような)ものとなる。この際、仮今回 歩容は、単純ィ匕モデル上での床反力の誤差 Merr_p(k)および Ferr_p(k)を加味した上 で、該単純化モデルの動力学を基に生成される。また、今回歩容の各時刻 kの瞬時 値は、その時刻での Merr_p(k)および Ferr_p(k)による修正をカ卩えて生成される。そして 、この場合に用いる Merr_p(k)および Ferr_p(k)は、 S816の収束判断結果が YESにな つた状態でのものであるので、単純化モデル上で発生する床反力の誤差を表すもの としての信頼性が高い。このため、歩容の運動が発散したりすることなく短時間で効 率よく今回歩容の歩容パラメータ(a、 ZMPrecpeekaおよび ZMPrecpeekb)を探索的に 決定することができる。
[0261] 図 10の説明に戻って、以上説明したように S028の処理を実行した後、 S030に進 んで、フルモデル補正用の ZMP許容範囲と床反力水平成分許容範囲を規定するパ ラメータが決定される。
[0262] この処理は、前記公報文献 1の図 13の S030の処理と同一であり、ここでの説明は 省略する。
[0263] 以上説明した S018— S030までの処理力 前記歩容パラメータ決定部 100aで実 行される処理である。補足すると、 S028で最終的に生成された仮今回歩容に係る Merr_p(k)の時系列が前記床反力モーメント誤差軌道(図 5参照)であり、また、該仮 今回歩容に係る Ferr_p(k)の時系列が前記並進床反力誤差軌道(図 5参照)である。
[0264] S030の処理を実行した後、あるいは、 S016の判断結果が NOであるときには、 SO 32に進んで、今回歩容の瞬時値を逐次決定する。この処理のサブルーチン処理は 、前記図 14のフローチャートの処理と同じである。但し、この場合には、 S412で用い る Merr_p(k)および Ferr_p(k)の時系列の値として、前記図 10の S028で最終的に決定 された値が用いられる。また、 S416および S418の処理は省略される。また、今回歩 容の瞬時値の時系列の時間の刻み幅(前記 A kの値)は、制御ユニット 60の制御周 期 A tとされる。
[0265] 次いで、 S034に進んで、ロボット 1のスピン(鉛直軸まわりの回転)をキャンセルする ための腕体の動作が決定される。この処理は、ロボット 1の腕を振らずに目標歩容通 りにロボット 1を運動させた場合に目標 ZMPまわりに発生する床反力モーメントの鉛 直成分と逆向きの床反力モーメントを腕体の腕振り(両腕を前後逆方向に振る運動) によって発生させるように腕体の姿勢を決定するものであり、前記公報文献 1の図 13 の S034と同様に行われる。その詳細は、同公報文献 1に記載されているので、ここ ではさらなる説明を省略する。
[0266] 補足すると、 S032の中の S412および S414の処理と S034の処理と力 前記単純 化モデル歩容生成部 100cで実行される処理である。
[0267] 次!、で、 S036に進んで、フルモデル補正用(前記フルモデル補正部 100eの処理 用)の ZMP許容範囲の瞬時値と、床反力水平成分許容範囲の瞬時値とが決定され る。この処理では、前記 S030で決定した ZMP許容範囲および床反力水平成分許 容範囲を規定する歩容パラメータに基づいて決定される。
[0268] ネ ΐ足すると、 S032— S036 (S032の中の S412および S414の処理と S034の処理 とを除く)の処理が、前記目標瞬時値発生部 100bで実行される処理である。
[0269] 次!、で、 S038に進んで、フルモデルを用いた補正歩容を発生する。この処理は、 前記フルモデル補正部 100cにより実行される処理である。この場合、この処理は、 前記公報文献 1の図 13の S038の処理と同一であり、同公報文献 1に記載されたと おりに実行される。従って、本明細書では詳細な説明は省略する。この処理により、 目標上体位置姿勢 (前記変位次元補正歩容の上体位置姿勢)をさらに修正してなる 補正目標上体位置姿勢と補正目標床反力モーメントとが決定される。
[0270] 以上が、本実施形態における歩容生成装置 100の歩容生成処理である。
[0271] ここで、本実施形態における歩容生成装置 100の歩容生成処理と、本願発明との 対応関係について説明しておく。
[0272] 本実施形態は、前記第 1発明、第 3発明、第 5発明、第 6発明、第 9発明、第 13発 明、第 15発明の実施形態である。この場合、図 10の S024の処理で最終的に生成さ れる定常歩容、あるいは、図 10の S028で最終的に生成される今回歩容が上記各発 明における目標歩容に相当するものとなっている。そして、図 13の S300— S312の 処理、または図 18の S800— S812の処理力 上記各発明における仮目標運動作成 手段に相当し、これらの処理で作成される歩容の運動が仮運動に相当する。さらに、 図 13の S306および S322、あるいは、図 18の S806および S822の処理の中で実行 される図 14の S415— S418の処理力 上記各発明における床反力誤差算出手段 【こネ目当して!/、る。また、図 13の S300一 S312の処理の後の最初の S316の処理、あ るいは、図 18の S800— S812の処理の後の最初の S816の処理は、上記各発明に おける評価手段に相当している。さら〖こ、図 13の S316— S328の繰り返し処理、ある いは、図 18の S816— S828の繰り返し処理は、上記各発明における目標運動決定 手段に相当している。この場合、 S316の最初の判断処理、あるいは S816の最初の 判断処理を除いて、 S316あるいは S816の判断処理は、目標運動決定手段におけ る収束判断処理に相当し、また、 S322の処理、あるいは、 S822の処理は、修正後 運動決定処理に相当している。なお、第 3発明における第 1床反力成分および第 2床 反力成分はそれぞれ、本実施形態における床反力モーメント水平成分、並進床反力 水平成分が相当している。そして、本実施形態において、図 14の S415の処理で、 前記式 3aを使用した場合が、第 9発明の実施形態となっている。
[0273] 次に図 4を参照して複合コンプアライアンス制御装置 101の動作を説明しておく。な お、複合コンプライアンス制御装置 101の動作は、本出願人が先に出願した特開平 10— 277969号公報などに詳細に記載されているので、本明細書では概略的な説 明にとどめる。歩容生成装置 100において、上記したように生成された目標歩容のう ち、補正目標上体位置姿勢 (軌道)、目標腕姿勢 (軌道)が、ロボット幾何学モデル( 逆キネマテイクス演算部) 102に送出される。
[0274] また、目標足平位置姿勢 (軌道)、目標 ZMP軌道 (目標全床反力中心点軌道)、お よび目標全床反力(軌道)(補正目標床反力モーメントと目標床反力鉛直成分)は、 複合コンプライアンス動作決定部 104に送られると共に、目標床反力分配器 106にも 送られる。そして、目標床反力分配器 106で、床反力は各足平 22に分配され、目標 各足平床反力中心点および目標各足平床反力が決定される。この決定された目標 各足平床反力中心点および目標各足平床反力は複合コンプライアンス動作決定部 104に送られる。
[0275] 複合コンプライアンス動作決定部 104から、機構変形補償付き修正目標足平位置 姿勢(軌道)がロボット幾何学モデル 102に送られる。ロボット幾何学モデル 102は、 目標上体位置姿勢 (軌道)と機構変形補償付き修正目標足平位置姿勢 (軌道)を入 力されると、それらを満足する脚体 2, 2の 12個の関節の関節変位指令 (値)を算出し て変位コントローラ 108に送る。変位コントローラ 108は、ロボット幾何学モデル 102 で算出された関節変位指令 (値)を目標値としてロボット 1の 12個の関節の変位を追 従制御する。また、ロボット幾何学モデル 102は、目標腕姿勢を満足する腕関節の変 位指定 (値)を算出して変位コントローラ 108に送る。変位コントローラ 108は、ロボット 幾何学モデル 102で算出された関節変位指令 (値)を目標値としてロボット 1の腕体 の 12個の関節の変位を追従制御する。 [0276] ロボット 1に生じた床反力(詳しくは実各足床反力)は 6軸力センサ 50によって検出 される。その検出値は前記複合コンプライアンス動作決定部 104に送られる。また、口 ボット 1に生じた姿勢傾斜偏差 Θ errx, Θ erry (詳しくは目標上体姿勢角に対する実 姿勢角の偏差で、ロール方向(X軸回り)の姿勢角偏差が Θ errxであり、ピッチ方向( Y軸回り)の姿勢角偏差が Θ erryである)が姿勢センサ 54を介して検出され、その検 出値は姿勢安定化制御演算部 112に送られる。この姿勢安定化制御演算部 112で 、ロボット 1の上体姿勢角を目標上体姿勢角に復元するための目標全床反力中心点 (目標 ZMP)まわり補償全床反力モーメントが算出されて複合コンプライアンス動作 決定部 104に送られる。複合コンプライアンス動作決定部 104は、入力値に基づい て目標床反力を修正する。具体的には、目標全床反力中心点(目標 ZMP)回りに補 償全床反力モーメント、あるいは、補償全床反力モーメントと補正目標床反力モーメ ントとの和が作用するように目標床反力を修正する。
[0277] 複合コンプライアンス動作決定部 104は、修正された目標床反力に、センサ検出値 など力も算出される実ロボットの状態および床反力を一致させようと上記機構変形補 償付き修正目標足平位置姿勢 (軌道)を決定する。この場合、機構変形補償付き修 正目標足平位置姿勢は、前記コンプライアンス機構 72の等の機構的変形を考慮し たものである。ただしすベての状態を目標に一致させることは事実上不可能であるの で、これらの間にトレードオフ関係を与えて妥協的になるベく一致させる。すなわち、 各目標に対する制御偏差に重みを与えて、制御偏差 (あるいは制御偏差の 2乗)の 重み付き平均が最小になるように制御する。これにより、実際の足平位置姿勢と全床 反力とが目標足平位置姿勢と目標全床反力とに概ね従うように制御される。
[0278] 次に、以上説明した実施形態の変形態様をいくつか説明しておく。なお、以下に説 明する変形態様は、定常歩容、今回歩容のいずれを生成する場合でも適用できるも のである。
[0279] 前記実施形態では、歩容 (定常歩容または今回歩容)の初期から終端までの各時 刻 kにおいて、単純化モデル上で、目標 ZMPまわりの床反力モーメントが、本来の目 標床反力モーメント水平成分( = 0)力 床反力モーメント誤差の現在値 Merr_p(k) ( = Msemiiull(k)-MsmpKk))を差し引いてなる床反力モーメント水平成分 Merr_p(k)にな り、且つ、決定しょうとしている歩容の運動によって単純ィ匕モデル上で発生する並進 床反力成分に並進床反力誤差の現在値 Ferr_p(k) ( = Fsemifoll(k) - Fsmpl(k))を加え たものが床反力水平成分許容範囲に収まるように上体加速度および上体姿勢角加 速度を決定した (ひ!ヽては目標歩容 (定常歩容もしくは今回歩容)を決定した)。
[0280] 但し、図 13の S310および S326、ある!/ヽ ίま、図 18の S810および S826【こお!ヽて、 次式 10a, 10bによって、 Merr_p(k)、 Ferr_p(k)を更新するようにして、図 13の S322、 あるいは、図 18の S822で新たなの歩容を作成するとき、この更新後の Merr_p(k)、 Ferr_p(k) (これらは本発明における床反力補正量に相当する)を、床反力モーメント 誤差、並進床反力誤差の代わりに用いるようにしてもょ 、。
[0281]
Merr_p(k) = Merr_p(k) + p水 Δ Merr(k) 式 1 Oa
Ferr— p(k) = Ferr— p(k) + p * Δ Ferr(k) ……式 1 Ob これらの式 10a、 10bにおいて、 pは 1以下、 0以上の所定の係数である。
[0282] すなわち、決定しょうとしている上体水平加速度および上体姿勢角加速度を含む 歩容(目標歩容)の運動によって単純化モデル上で目標 ZMPまわりに発生する床反 力モーメント水平成分が、本来の目標床反力モーメント水平成分( = 0)から、式 10a により求まる補正量 Merr_p(k)を差し引いてなる床反力モーメント水平成分 Merr_p(k) になり、且つ、決定しょうとしている上体水平加速度および上体姿勢角加速度を含む 歩容(目標歩容)の運動によって単純ィ匕モデル上で発生する床反力水平成分 Fxに、 式 10bにより求まる補正量 Ferr_p(k)をカ卩えてなる並進床反力水平成分が床反力水平 成分許容範囲を満足するように、上体加速度および上体姿勢角加速度を決定しても よい。なお、単純ィ匕モデル上で目標 ZMPまわりに発生する床反力モーメント水平成 分が、本来の目標床反力モーメント水平成分( = 0)から、式 10aにより求まる補正量 Merr_p(k)を差し引いてなる床反力モーメント水平成分 Merr_p(k)になるとお!/、うこと は、決定しょうとして 、る歩容の運動によって単純ィ匕モデル上で目標 ZMPまわりに発 生する床反力モーメント水平成分に、補正量 Merr_p(k)をカ卩えてなる床反力モーメント 水平成分が本来の目標床反力モーメント水平成分に一致するように歩容の運動を決 定することを意味する。
[0283] 上記のように式 10a, 10bにより、補正量 Merr_p(k)、 Ferr_p(k)を更新するようにしたと き、 A Merr(k)、 A Ferr(k)は、図 13の S314— S328のループ処理、あるいは、図 18 の S814— S828のループ処理の中で、歩容の作成の都度、単純化モデル上で発生 する床反力を補正するために使われる床反力 Merr_p(k)、 Ferr_p(k)と、作成された歩 容の床反力の誤差との差を意味するものと言える。すなわち、その差が 0に近いとい うことは、単純ィ匕モデル上で発生する床反力を補正するために使用した床反力 Merr_p(k)、 Ferr_p(k)が適切であったことを意味する。
[0284] 補足すると、前記係数 pの値を 1に設定すると、実質的に前記実施形態と同じにな る。また、
また、図 13の S300— S312の処理の終了後、図 13の S318— S328の処理を実 行する前の最初の S316の判断処理を省略してもよい。すなわち、図 13の S300— S 312の処理の後、必ず 1回は、 S318— S328の処理を実行するようにしてもよい。同 様に、図 18の S800— S812の処理の終了後、図 18の S818— S828の処理を実行 する前の最初の S816の判断処理を省略し、 S818— S828の処理力 S必ず 1回は実 行されるようにしてもよい。このようにした実施形態(以下、第 2実施形態という)は、前 記第 2発明、第 4発明、第 5発明、第 6発明、第 10発明、第 14発明、第 16発明の実 施形態となる。この場合のこれらの発明と第 2実施形態との対応関係は、評価手段を 除!、て (第 2実施形態では評価手段は備えられな 、)、前述の実施形態 (本明細書で 最初に説明した実施形態 (以降、第 1実施形態という))と、第 1発明もしくは第 3発明 などとの対応関係と同様である。
[0285] なお、前記した如ぐ式 10a, 10bにより Merr_p(k)あるいは Ferr_p(k)を更新して、歩 容の修正を行なうことは、上記第 2実施形態に適用してもよい。
[0286] また、前記第 1実施形態あるいは第 2実施形態では、 Δ Merr(k)および Δ Ferr(k)の 収束判断を図 13の S316あるいは図 18の S816で行なうとき、それらの時系列の所 定の特徴量が許容範囲に収まっている力否かの判断により行なうようにした力 該収 束判断を、図 13の S318— S328の処理、あるいは、図 18の S818— S828の処理の 繰り返し回数が所定回数 (複数回)に達したか否かにより行なうようにしてもよい。すな わち、図 13の S318— S328の処理、あるいは、図 18の S818— S828の処理を、あ る程度の回数、繰り返せば、通常、 A Merr(k)および A Ferr(k)の時系列の特徴量は 0 近くに収束する。従って、上記の如く繰り返し回数により、 A Merr(k)および A Ferr(k) の収束判断を行なうようにしてもよい。あるいは、各回の歩容の生成時にその生成し た歩容の運動と、前回生成した歩容の運動との差 (例えば上体などのある部位の位 置 ·姿勢の差)を基に、 Δ Merr(k)および Δ Ferr(k)の収束判断を行なうようにしてもよ い。
[0287] また、前記各実施形態では、目標 ZMPまわりの床反力モーメント水平成分に関す る誤差 Merr_p(k)を用いるようにしたが、目標 ZMPと異なる点に作用点を設定し、その 作用点まわりの床反力モーメント水平成分に関する誤差 (ここでは、これを Merr_p'(k) とする)を用いてもよい。この場合、図 14の S412の処理において、該作用点のまわり の床反力モーメント水平成分の目標値(目標 ZMPまわりの床反力モーメント水平成 分が 0になるような目標値)から当該誤差 Merr_p'(k)を差し引いたものが発生するよう に上体水平加速度と上体姿勢角加速度とを決定することが、目標 ZMPまわりに Merr_p(k)が発生するように上体水平加速度と上体姿勢角加速度を決定する(ひ 、て は目標歩容の運動の瞬時値を決定する)ことと同等になる。
[0288] また、前記各実施形態ではロボット 1の走行を行なう場合を例に採って説明したが、 ロボット 1の歩行を行なう場合でも本発明を適用できる。この場合、床反力鉛直成分 軌道 (あるいはそれを規定するパラメータ)は、例えば前記公報文献 1の図 40に示さ れる如く設定すればよい。また、上体傾斜角復元期間は、例えば両脚支持期に設定 すればよい。あるいは、歩容生成で想定する床の摩擦係数が大きぐ歩容の 1歩の全 期間にお ヽて床反力水平成分許容範囲が十分に大き!/ヽ場合 (生成する歩容の運動 によって発生する並進床反力水平成分が確実に床反力水平成分許容範囲に収まる 場合)には、その全期間を上体傾斜角復元期間としてもよい。なお、この場合には、 上体傾斜復元モーメント ZMP換算値は、 0でよい。
[0289] また、前記各実施形態では、床反力モーメント誤差 Merr_p(k)を用いるようにした力 この Merr_p(k)を、歩容の各時刻 kにおいて目標床反力鉛直成分で除算したものが、 時刻 kにおける ZMP (ロボット 1の歩容の運動によって発生する慣性力と重力との合 力のモーメント水平成分が 0となる床面上の点)の目標 ZMPからのずれ量 (誤差)に 相当するものとなる。従って、床反力モーメント誤差 Merr_p(k)の代わりに ZMPの目標 ZMPからの誤差(ここでは、これを ZMP誤差 ZMPerr_p(k)とする)を用いるようにしても よい。この場合、図 14の S412の処理では、ロボット 1の歩容の運動によって発生する 慣性力と重力との合力力 ZMP誤差 ZMPerr_p(k) (Merr_p(k)を目標 ZMPに対する Z MPのずれ量に換算した値)の分だけ、あるいは ZMP誤差 ZMPerr_p(k)に所定の係 数 (例えば 1以下の正数)を乗じてなる値の分だけ、目標 ZMPから逆向きにずらした 点(目標 ZMPから ZMPerr_p(k)だけ位置をずらした点、または、目標 ZMPから、 - ZMPerr_p(k)に所定の係数を乗じてなる値の分だけ位置をずらした点)の回りに作用 する床反力モーメントの水平成分が 0になるように上体水平加速度と上体姿勢角加 速度を決定することが、目標 ZMPまわりに Merr_p(k)またはこれに所定の係数を乗じ てなる床反力モーメント水平成分が発生するように上体水平加速度と上体姿勢角加 速度を決定する(ひいては目標歩容の運動の瞬時値を決定する)ことと同等になる。 なお、このことは、作成しょうとする歩容の運動力 単純ィ匕モデル上で算出される ZM Pの位置に、 ZMPerr_p(k)、あるいは ZMPerr_p(k)に所定の係数を乗じてなる値をカロえ たものが目標 ZMPの位置に一致するように上体水平加速度と上体姿勢角加速度を 決定する(ひいては目標歩容の運動の瞬時値を決定する)ことと同じである。
このように前記各実施形態にお!、て Merr_p(k)の代わりに誤差 ZMPerr_p(k)を用いる ことで、前記第 7発明、第 8発明、第 11発明、第 12発明、第 17発明、第 18発明の実 施形態が構築されることとなる。この場合、より詳しくは、第 1実施形態において、図 1 3の S306、 S322、あるいは、図 18の S806、 S822の処理の中で、図 14の S418で 求めた Merr(k)を該当時刻 kでの床反力鉛直成分の瞬時値で除算したものを新たな Z MP誤差 ZMPerr_p(k)として決定すればよい。このとき、図 14の 414において、単純化 モデル上で目標 ZMPまわりに発生する床反力モーメント Msmpl(k)を、該単純化モデ ルの実際の演算により算出した場合には、上記の如く決定される誤差 ZMPerr_p(k)は 、図 13の S306、 S322、あるいは、図 18の S806、 S822の処理で作成中の歩容の 運動からセミフルモデル上で算出される ZMPと、該運動から単純ィ匕モデル上で算出 される ZMPとの差を意味するものとなる。さらに、 S308、 S324、あるいは、 S808、 S 824においては、各時刻 kにおいて、新たに求めた ZMP誤差と、その一つ前の歩容 生成時に求めた ZMP誤差との差を ZMP誤差変化量 Δ ZMPerr(k)として求め、それ を S316あるいは S816の判断処理で、 A Merrの代わりに使用すればよい。このよう にすることで、前記第 7発明および第 17発明の実施形態 (以下、第 3実施形態という) 力 S構成されることとなる。
[0291] さらに、この第 3実施形態において、前記第 2実施形態の如ぐ図 13の S300— S3 12の処理の終了後、図 13の S318— S328の処理を実行する前の最初の S316の 判断処理を省略し、あるいは、図 18の S800— S812の処理の終了後、図 18の S81 8— S828の処理を実行する前の最初の S816の判断処理を省略することで、第 8発 明および第 18発明の実施形態 (以下、第 4実施形態という)が構成されることとなる。
[0292] また、上記第 3実施形態または第 4実施形態において、図 14の S414において、単 純化モデル上で目標 ZMPまわりに発生する床反力モーメント Msmpl(k)を、前記式 3a により目標 ZMPまわりの床反力モーメント水平成分の目標値( = 0)と Merr_p(k)との 差として算出した場合には、上記の如く決定される誤差 ZMPerr_p(k)は、図 13の S30 6、 S322、あるいは、図 18の S806、 S822の処理で作成中の歩容の運動(仮運動) 力もセミフルモデル上で算出される ZMPと、目標 ZMPとの差を意味するものとなる。 従って、この場合の実施形態は、前記第 11発明もしくは第 12発明の実施形態に相 当するものとなる。
[0293] このように前記第 1実施形態あるいは第 2実施形態にぉ 、て Merr_p(k)の代わりに Z MP誤差 ZMPerr_p(k)を用いることで、前記第 7発明、第 8発明、第 10発明、第 15発 明、第 16発明の実施形態が構築されることとなる。但し、空中期を有する歩容を生成 する場合、その空中期では、床反力鉛直成分力^になって ZMPが不定となるため、 前記実施形態の如ぐ床反力モーメント誤差を用いることが好ましい。なお、ロボット 1 の歩行歩容を生成する場合には、空中期が無いので、歩容の全期間において ZMPerr_p(k)を用いることができる。また、上記のようにして決定される ZMP誤差 ZMPerr_p(k)の代わりに、前記式 10aの右辺を時刻 kの床反力鉛直成分で除算してな るもの(これは本発明における ZMP補正量に相当する)を使用してもよい。
[0294] また、前記第 1一第 4実施形態では、図 13または図 18の処理で、目標 ZMPと床反 力水平成分許容範囲とを満足する歩容をその初期から終端まで生成した上で、床反 力モーメント誤差 Merr_p(k)および並進床反力 Ferr_p(k)の修正をカ卩えた歩容(定常歩 容または今回歩容)をその初期力 終端まで生成するようにしたが、各時刻 k毎に、 目標 ZMPと床反力水平成分許容範囲とを満足する歩容の瞬時値の生成と、この歩 容の運動 (仮運動)を基に決定される床反力モーメント誤差 Merr_p(k)および並進床 反力 Ferr_p(k)の修正を加えた歩容の瞬時値の生成とを、歩容の初期から終端まで逐 次行なうようにしてもよい。
[0295] また、先にも述べたように前記セミフルモデルは、フルモデル補正用のフルモデル と同一でもよい。この場合、歩容パラメータを探索的に決定するための処理(図 10の S024、 S028の処理)を短時間で効率よく行ううえでは、セミフルモデル用の床反力 水平成分許容範囲は、フルモデル用の床反力水平成分許容範囲よりも広めに設定 することが好ましい。
[0296] また、前記第 1一第 4実施形態では、フルモデルによる歩容の補正処理を除 、て、 目標 ZMPまわりの並進床反力水平成分の許容範囲だけを設定するようにしたが、口 ボット 1のスピンを防止するために、目標 ZMPまわりの床反力モーメント鉛直成分の 許容範囲も設定するようにしてもよい。この場合、床反力モーメント誤差に関しては、 目標 ZMP、床反力水平成分許容範囲、および床反力モーメント鉛直成分の許容範 囲を満足するように単純ィ匕モデル上で作成した歩容の運動に対して、床反力モーメ ント水平成分の誤差だけでなぐ床反力モーメント鉛直成分の誤差も求めておき、単 純化モデル上で発生する床反力モーメント鉛直成分に該鉛直成分に対する誤差を 加えたモーメントが、該鉛直成分に対する許容範囲を満足するように目標歩容の運 動を生成してもよい。
[0297] また、図 13の S306または図 18の S806の処理の中で、並進床反力鉛直成分の誤 差も求めておき、単純化モデル上で発生する並進床反力鉛直成分に当該誤差を加 えたものが、並進床反力鉛直成分の目標値を満足するように目標歩容の運動を生成 してちよい。
産業上の利用可能性
[0298] 以上の説明から明らかなように、本発明の移動ロボットの歩容生成装置は、ロボット のスリップなどを防止し得る歩容を効率よく生成できると共に、その歩容の運動と床反 力との間の動力学的精度を良好に確保することができ、特に 2足移動ロボットのような 本来的な安定性が低い移動ロボットの歩容を該移動ロボットの安定性を確保しつつ 生成できる点で有用である。
図面の簡単な説明
圆 1]本発明の実施形態を適用する移動ロボット(2足歩行ロボット)の全体構成の概 略を示す図。
圆 2]図 1のロボットの各脚体の足平部分の構成を示す側面図。
[図 3]図 1のロボットに備えた制御ユニットの構成を示すブロック図。
[図 4]図 3の制御ユニットの機能的構成を示すブロック図。
圆 5]図 4に示す歩容生成装置の機能を示すブロック図。
[図 6] (a) , (b)はそれぞれロボットの運動モード(上体並進モード、上体回転モード) を説明するための図。
圆 7]歩容生成で用いる第 1動力学モデル (単純ィ匕モデル)の構造を示す図。
[図 8]歩容生成で用いる第 2動力学モデル (セミフルモデル)の構造を示す図。
[図 9]歩容生成で用いるフルモデルの構造を示す図。
[図 10]実施形態における歩容生成装置のメインルーチン処理を示すフローチャート。
[図 11]図 10のサブルーチン処理を示すフローチャート。
[図 12]図 10のサブルーチン処理を示すフローチャート。
[図 13]図 12のサブルーチン処理を示すフローチャート。
[図 14]図 13のサブルーチン処理を示すフローチャート。
[図 15]図 14のサブルーチン処理を示すフローチャート。
[図 16]図 10のサブルーチン処理を示すフローチャート。
[図 17]図 10のサブルーチン処理を示すフローチャート。
[図 18]図 17のサブルーチン処理を示すフローチャート。
[図 19]定常歩容における上体傾斜復元モーメント ZMP換算値の例を示すグラフ。
[図 20]今回歩容における上体傾斜復元モーメント ZMP換算値の例を示すグラフ。
[図 21]今回歩容における仮目標 ZMPと ZMP修正量と目標 ZMPとの例を示すグラフ
t££00/S00Zd£/∑Jd P6 OAV

Claims

請求の範囲
移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設 定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標 歩容を生成する歩容生成装置にぉ 、て、
前記移動ロボットの所定の第 1動力学モデルを用いて、前記床反力成分が前記許 容範囲を満たすように、前記目標運動の仮値である仮運動を作成する仮目標運動 作成手段と、
前記第 1動力学モデルと該第 1移動動力学モデルよりも動力学的精度が高い所定 の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によ つて前記第 2動力学モデル上で発生する前記床反力成分と該運動によって前記第 1 動力学モデル上で発生する前記床反力成分との差である床反力成分誤差を求める 床反力成分誤差算出手段と、
前記作成された仮運動力 前記床反力成分誤差算出手段によって求められる床 反力成分誤差が所定の許容誤差範囲に収まっているか否かを評価する評価手段と 前記評価手段の評価において前記仮運動に対応する床反力成分誤差が前記許 容誤差範囲に収まっている場合には、前記仮運動を前記目標運動として決定すると 共に、前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱してい る場合には、前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目 標運動決定手段とを備え、
前記仮運動に対応する床反力成分誤差が前記許容誤差範囲から逸脱している場 合において、前記目標運動決定手段が前記仮運動の第 n回目(n : n≥lである整数) の修正によって求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前 記床反力成分誤差算出手段により求められる床反力成分誤差を第 n床反力成分誤 差とし、前記仮運動を第 0修正後運動とし、前記仮運動に対応する床反力成分誤差 を第 0床反力成分誤差としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記床反力成分に、第 n - 1床反力成分誤差と少なくとも該第 n - 1床反力成分 誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を 満たすように第 n修正後運動を決定する修正後運動決定処理と、前記決定した第 n 修正後運動に対応する第 n床反力成分誤差と第 n - 1修正後運動に対応する第 n - 1 床反力成分誤差との差、および、前記第 n床反力成分誤差と少なくとも前記第 n - 1 床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として 定義される床反力成分誤差変化量 A FMが 0に収束したカゝ否かを判断する収束判断 処理とを少なくとも該床反力成分誤差変化量 A FMが 0に収束したと判断されるまで 繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後 運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。
[2] 移動ロボットの運動によって発生する床反力の所定の床反力成分の許容範囲を設 定し、その許容範囲を満足するように、移動ロボットの目標運動を少なくとも含む目標 歩容を生成する歩容生成装置にぉ 、て、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1の動力学モデルと該第 1移動動力学モデルよりも動 力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運 動に対して、該運動によって前記第 2動力学モデル上で発生する前記床反力成分と 該運動によって前記第 1動力学モデル上で発生する前記床反力成分との差である 床反力成分誤差を求める床反力成分誤差算出手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n : n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる床反力成分誤差を第 n床反力成分誤差とし、前記 仮運動を第 0修正後運動とし、前記仮運動から前記床反力成分誤差算出手段により 求められる床反力成分誤差を第 0床反力成分誤差としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記床反力成分に、第 n - 1床反力成分誤差と少なくとも該第 n - 1床反力成分 誤差に応じて決定した床反力補正量とのいずれかを加えたものが前記許容範囲を 満たすように第 n修正後運動を決定する修正後運動決定処理と、前記決定した第 n 修正後運動に対応する第 n床反力成分誤差と第 n - 1修正後運動に対応する第 n - 1 床反力成分誤差との差、および、前記第 n床反力成分誤差と少なくとも前記第 n - 1 床反力成分誤差に応じて決定した前記床反力補正量との差のいずれか一方として 定義される床反力成分誤差変化量 A FMが 0に収束したカゝ否かを判断する収束判断 処理とを少なくとも該床反力成分誤差変化量 A FMが 0に収束したと判断されるまで 繰り返し、この繰り返し処理における最後の修正後運動決定処理で決定した修正後 運動を前記目標運動として決定することを特徴とする移動ロボットの歩容生成装置。 移動ロボットの運動によって発生する床反力の所定の第 1床反力成分の目標値と 該第 1床反力成分と異なる所定の第 2床反力成分の許容範囲とを設定し、該第 1床 反力成分の目標値と第 2床反力成分の許容範囲とを満足するように、移動ロボットの 目標運動を少なくとも含む目標歩容を生成する歩容生成装置にお!、て、
前記移動ロボットの所定の第 1動力学モデルを用いて、前記第 1床反力成分が前 記目標値に一致し、且つ、前記第 2床反力成分が前記許容範囲を満たすように、前 記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、
前記第 1動力学モデルと該第 1動力学モデルよりも動力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって 前記第 2動力学モデル上で発生する前記第 1床反力成分と該運動によって前記第 1 動力学モデル上で発生する前記第 1床反力成分との差である床反力成分誤差 Aerr を求めると共に、該運動によって前記第 2動力学モデル上で発生する前記第 2床反 力成分と該運動によって前記第 1動力学モデル上で発生する前記第 2床反力成分と の差である床反力成分誤差 Berrを求める床反力成分誤差算出手段と、
前記作成された仮運動力 前記床反力成分誤差算出手段によって求められる床 反力成分誤差 Aerr, Berrのうちの床反力成分誤差 Aerrが所定の第 1許容誤差範囲 に収まって!/ヽるか否かを評価すると共に、床反力成分誤差 Berrが所定の第 2許容誤 差範囲に収まっているか否かを評価する評価手段と、
前記評価手段の評価において前記仮運動に対応する床反力成分誤差 Aerr, Berr の両者がそれぞれに対応する前記第 1許容誤差範囲および第 2許容誤差範囲に収 まっている場合には、前記仮運動を前記目標運動として決定すると共に、前記仮運 動に対応する床反力成分誤差 Aerr, Berrの少なくとも ヽずれか一方がそれに対応 する前記第 1許容誤差範囲または第 2許容誤差範囲カゝら逸脱している場合には、前 記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定手段 とを備え、
前記仮運動に対応する床反力成分誤差 Aerr, Berrの少なくとも ヽずれか一方がそ れに対応する前記第 1許容誤差範囲または第 2許容誤差範囲から逸脱している場合 において、前記目標運動決定手段が前記仮運動の第 n回目(n:n≥lである整数)の 修正によって求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記 床反力成分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれぞれ 第 n床反力成分誤差 Aerr(n), Berr(n)とし、前記仮運動を第 0修正後運動とし、前記 仮運動に対応する床反力成分誤差 Aerr, Berrをそれぞれ第 0床反力成分誤差 A err(0), Berr(0)としたとさ、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記第 1床反力成分に、第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤差 Aerr(n-l)に応じて決定した第 1床反力補正量とのいずれかを加 えたものが前記目標値に一致し、且つ、該第 n修正後運動によって前記第 1動力学 モデル上で発生する前記第 2床反力成分に、第 n - 1床反力成分誤差 Berr(n-l)と少 なくとも該第 n - 1床反力成分誤差 Berr(n-l)に応じて決定した第 2床反力補正量との V、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する修 正後運動決定処理と、前記決定した第 n修正後運動に対応する第 n床反力成分誤 差 Aerr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 Aerr(n-l)との差、 および、前記第 n床反力成分誤差 Aerr(n)と少なくとも前記第 n - 1床反力成分誤差 A err(n-l)に応じて決定した前記第 1床反力補正量との差のいずれか一方として定義さ れる床反力成分誤差変化量 Δ Aerrと、前記決定した第 n修正後運動に対応する第 n 床反力成分誤差 Berr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 B err(n-l)との差、および、前記第 n床反力成分誤差 Berr(n)と少なくとも前記第 n - 1床 反力成分誤差 Berr(n-l)に応じて決定した前記第 2床反力補正量との差のいずれか 一方として定義される床反力成分誤差変化量 Δ Berrとがそれぞれ 0に収束したカゝ否 かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量 Δ Aerr, Δ Berr の両者力^に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前 記修正後運動決定処理で決定した修正後運動を前記目標運動として決定すること を特徴とする移動ロボットの歩容生成装置。
[4] 移動ロボットの運動によって発生する床反力の所定の第 1床反力成分の目標値と 該第 1床反力成分と異なる所定の第 2床反力成分の許容範囲とを設定し、該第 1床 反力成分の目標値と第 2床反力成分の許容範囲とを満足するように、移動ロボットの 目標運動を少なくとも含む目標歩容を生成する歩容生成装置にお!、て、
前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1動力学モデルと該第 1動力学モデルよりも動力学的 精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対 して、該運動によって前記第 2動力学モデル上で発生する前記第 1床反力成分と該 運動によって前記第 1動力学モデル上で発生する前記第 1床反力成分との差である 床反力成分誤差 Aerrを求めると共に、該運動によって前記第 2動力学モデル上で発 生する前記第 2床反力成分と該運動によって前記第 1動力学モデル上で発生する前 記第 2床反力成分との差である床反力成分誤差 Berrを求める床反力成分誤差算出 手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n:n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれぞれ第 n床反力 成分誤差 Aerr(n), Berr(n)とし、前記仮運動を第 0修正後運動とし、前記仮運動から 前記床反力成分誤差算出手段により求められる床反力成分誤差 Aerr, Berrをそれ ぞれ第 0床反力成分誤差 Aerr(O), Berr(O)としたとき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で発 生する前記第 1床反力成分に、第 n - 1床反力成分誤差 Aerr(n-l)と少なくとも該第 n - 1床反力成分誤差 Aerr(n-l)に応じて決定した第 1床反力補正量とのいずれかを加 えたものが前記目標値に一致し、且つ、該第 n修正後運動によって前記第 1動力学 モデル上で発生する前記第 2床反力成分に、第 n - 1床反力成分誤差 Berr(n-l)と少 なくとも該第 n - 1床反力成分誤差 Berr(n-l)に応じて決定した第 2床反力補正量との V、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する修 正後運動決定処理と、前記決定した第 n修正後運動に対応する第 n床反力成分誤 差 Aerr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 Aerr(n-l)との差、 および、前記第 n床反力成分誤差 Aerr(n)と少なくとも前記第 n - 1床反力成分誤差 A err(n-l)に応じて決定した前記第 1床反力補正量との差のいずれか一方として定義さ れる床反力成分誤差変化量 AAerrと、前記決定した第 n修正後運動に対応する第 n 床反力成分誤差 Berr(n)と第 n - 1修正後運動に対応する第 n - 1床反力成分誤差 B err(n-l)との差、および、前記第 n床反力成分誤差 Berr(n)と少なくとも前記第 n - 1床 反力成分誤差 Berr(n-l)に応じて決定した前記第 2床反力補正量との差のいずれか 一方として定義される床反力成分誤差変化量 Δ Berrとがそれぞれ 0に収束したカゝ否 かを判断する収束判断処理とを少なくとも該床反力成分誤差変化量 Δ Aerr, Δ Berr の両者力^に収束したと判断されるまで繰り返し、この繰り返し処理における最後の前 記修正後運動決定処理で決定した修正後運動を前記目標運動として決定すること を特徴とする移動ロボットの歩容生成装置。
[5] 前記床反力成分は、前記移動ロボットに作用する床反力の並進床反力水平成分で あることを特徴とする請求項 1または 2記載の移動ロボットの歩容生成装置。
[6] 前記第 1床反力成分は、前記移動ロボットに作用する床反力の、所定の作用点ま わりの床反力モーメント水平成分であり、前記第 2床反力成分は、前記移動ロボット に作用する床反力の並進床反力水平成分であることを特徴とする請求項 3または 4 記載の移動ロボットの歩容生成装置。
[7] 移動ロボットの目標 ZMPと該移動ロボットの運動によって発生する並進床反力水平 成分の許容範囲とを設定し、該目標 ZMPと並進床反力水平成分の許容範囲とを満 足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生 成装置において、 前記移動ロボットの所定の第 1動力学モデルを用いて、前記目標 ZMPを満足し、 且つ、前記並進床反力水平成分が前記許容範囲を満たすように、前記目標運動の 仮値である仮運動を作成する仮目標運動作成手段と、
前記第 1動力学モデルと該第 1動力学モデルよりも動力学的精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対して、該運動によって 前記第 2動力学モデル上で算出される ZMPと該運動によって前記第 1動力学モデ ル上で算出される ZMPとの差である ZMP誤差 ZMPerrを求めると共に、該運動によ つて前記第 2動力学モデル上で発生する前記並進床反力水平成分と該運動によつ て前記第 1動力学モデル上で発生する前記並進床反力水平成分との差である並進 床反力水平成分誤差 Ferrを求める誤差算出手段と、
前記作成された仮運動力 前記誤差算出手段によって求められる ZMP誤差
ZMPerrおよび並進床反力水平成分誤差 Ferrのうちの ZMP誤差 ZMPerrが所定の第 1許容誤差範囲に収まっているか否かを評価すると共に、並進床反力水平成分誤差 Ferrが所定の第 2許容誤差範囲に収まっているか否かを評価する評価手段と、 前記評価手段の評価において前記仮運動に対応する ZMP誤差 ZMPerrおよび並 進床反力水平成分誤差 Ferrの両者がそれぞれに対応する前記第 1許容誤差範囲 および第 2許容誤差範囲に収まっている場合には、前記仮運動を前記目標運動とし て決定すると共に、前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水 平成分誤差 Ferrの少なくともいずれか一方がそれに対応する前記第 1許容誤差範囲 または第 2許容誤差範囲から逸脱して ヽる場合には、前記仮運動を少なくとも 1回以 上修正して前記目標運動を決定する目標運動決定手段とを備え、
前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrの 少なくともいずれか一方がそれに対応する前記第 1許容誤差範囲または第 2許容誤 差範囲から逸脱して!/ヽる場合にお!ヽて、前記目標運動決定手段が前記仮運動の第 n回目(n:n≥lである整数)の修正によって求める修正後運動を第 n修正後運動とし 、該第 n修正後運動から前記床反力成分誤差算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrをそれぞれ第 nZMP誤差 ZMPerr(n)お よび第 n並進床反力水平成分誤差 Ferr(n)とし、前記仮運動を第 0修正後運動とし、 前記仮運動に対応する ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrをそ れぞれ第 OZMP誤差 ZMPerr(O)および第 0並進床反力水平成分誤差 Ferr(O)としたと さ、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で算 出される ZMPに、第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n- 1)に応じて決定した ZMP補正量との!/、ずれかをカ卩えたものが前記目標 Z MPに一致し、且つ、該第 n修正後運動によって前記第 1動力学モデル上で発生す る前記並進床反力水平成分に、第 n-1並進床反力水平成分誤差 Ferr(n-l)と少なく とも該第 n— 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した床反力補正量と の!、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する 修正後運動決定処理と、前記決定した第 n修正後運動に対応する第 nZMP誤差 ZMPerr(n)と第 n— 1修正後運動に対応する第 n— 1ZMP誤差 ZMPerr(n-l)との差、お よび、前記第 nZMP誤差 ZMPerr(n)と少なくとも前記第 n— 1ZMP誤差 ZMPerr(n- 1)に 応じて決定した前記 ZMP補正量との差のいずれか一方として定義される ZMP誤差 変化量 A ZMPerrと、前記決定した第 n修正後運動に対応する第 n並進床反力水平 成分誤差 Ferr(n)と第 n - 1修正後運動に対応する第 n - 1並進床反力水平成分誤差 F err(n-l)との差、および、第 n並進床反力水平成分誤差 Ferr(n)と少なくとも前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した前記床反力補正量との差の V、ずれか一方として定義される並進床反力水平成分誤差変化量 Δ Ferrとがそれぞ れ 0に収束したか否かを判断する収束判断処理とを少なくとも該 ZMP誤差変化量 Δ ZMPerrおよび並進床反力水平成分誤差変化量 Δ Ferrの両者が 0に収束したと判断 されるまで繰り返し、この繰り返し処理における最後の前記修正後運動決定処理で 決定した修正後運動を前記目標運動として決定することを特徴とする移動ロボットの 歩容生成装置。
[8] 移動ロボットの目標 ZMPと該移動ロボットの運動によって発生する並進床反力水平 成分の許容範囲とを設定し、該目標 ZMPと並進床反力水平成分の許容範囲とを満 足するように、移動ロボットの目標運動を少なくとも含む目標歩容を生成する歩容生 成装置において、 前記目標運動の仮値である仮運動を作成する仮目標運動作成手段と、 前記移動ロボットの所定の第 1動力学モデルと該第 1動力学モデルよりも動力学的 精度が高い所定の第 2動力学モデルとを用い、前記移動ロボットの任意の運動に対 して、該運動によって前記第 2動力学モデル上で算出される ZMPと該運動によって 前記第 1動力学モデル上で算出される ZMPとの差である ZMP誤差 ZMPerrを求める と共に、該運動によって前記第 2動力学モデル上で発生する前記並進床反力水平 成分と該運動によって前記第 1動力学モデル上で発生する前記並進床反力水平成 分との差である並進床反力水平成分誤差 Ferrを求める誤差算出手段と、
前記仮運動を少なくとも 1回以上修正して前記目標運動を決定する目標運動決定 手段とを備え、
前記目標運動決定手段が前記仮運動の第 n回目(n:n≥ 1である整数)の修正によ つて求める修正後運動を第 n修正後運動とし、該第 n修正後運動から前記床反力成 分誤差算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤 差 Ferrをそれぞれ第 nZMP誤差 ZMPerr(n)および第 n並進床反力水平成分誤差 F err(n)とし、前記仮運動を第 0修正後運動とし、前記仮運動から前記床反力成分誤差 算出手段により求められる ZMP誤差 ZMPerrおよび並進床反力水平成分誤差 Ferrを それぞれ第 OZMP誤差 ZMPerr(O)および第 0並進床反力水平成分誤差 Ferr(O)とした とき、
前記目標運動決定手段は、第 n修正後運動によって前記第 1動力学モデル上で算 出される ZMPに、第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した ZMP補正量との!/、ずれかをカ卩えたものが前記目標 Z MPに一致し、且つ、該第 n修正後運動によって前記第 1動力学モデル上で発生す る前記並進床反力水平成分に、第 n-1並進床反力水平成分誤差 Ferr(n-l)と少なく とも該第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した床反力補正量と の!、ずれかを加えたものが前記許容範囲を満たすように第 n修正後運動を決定する 修正後運動決定処理と、前記決定した第 n修正後運動に対応する第 nZMP誤差 ZMPerr(n)と第 n— 1修正後運動に対応する第 n— 1ZMP誤差 ZMPerr(n-l)との差、お よび、前記第 nZMP誤差 ZMPerr(n)と少なくとも前記第 n— 1ZMP誤差 ZMPerr(n- 1)に 応じて決定した前記 ZMP補正量との差のいずれか一方として定義される ZMP誤差 変化量 A ZMPerrと、前記決定した第 n修正後運動に対応する第 n並進床反力水平 成分誤差 Ferr(n)と第 n - 1修正後運動に対応する第 n - 1並進床反力水平成分誤差 F err(n-l)との差、および、第 n並進床反力水平成分誤差 Ferr(n)と少なくとも前記第 n - 1並進床反力水平成分誤差 Ferr(n-l)に応じて決定した前記床反力補正量との差の V、ずれか一方として定義される並進床反力水平成分誤差変化量 Δ Ferrとがそれぞ れ 0に収束したか否かを判断する収束判断処理とを少なくとも該 ZMP誤差変化量 Δ ZMPerrおよび並進床反力水平成分誤差変化量 Δ Ferrの両者が 0に収束したと判断 されるまで繰り返し、の両者力^に収束したと判断されるまで繰り返し、この繰り返し処 理における最後の前記修正後運動決定処理で決定した修正後運動を前記目標運 動として決定することを特徴とする移動ロボットの歩容生成装置。
[9] 前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前 記第 1動力学モデル上で発生する前記第 1床反力成分として、前記目標値を用いる ことにより該仮運動に対応する前記床反力成分誤差 Aerrを算出し、前記仮運動以外 の第 n修正後運動に対しては、該第 n修正後運動によって前記第 1動力学モデル上 で発生する前記第 1床反力成分として、前記目標値から前記第 n - 1床反力成分誤 差 Aerr(n-l)と少なくとも該第 n— 1床反力成分誤差 Aerr(n-l)に応じて決定した前記 第 1床反力補正量とのいずれかを差し引いたものを用いることにより該第 n修正後運 動に対応する前記床反力成分誤差 Aerrを算出することを特徴とする請求項 3記載の 移動ロボットの歩容生成装置。
[10] 前記仮運動作成手段は、少なくとも前記第 1動力学モデル上で前記第 1床反力成 分の目標値を満足するように前記仮運動を作成する手段であり、
前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前 記第 1動力学モデル上で発生する前記第 1床反力成分として、前記目標値を用いる ことにより該仮運動に対応する前記床反力成分誤差 Aerrを算出し、前記仮運動以外 の第 n修正後運動に対しては、該第 n修正後運動によって前記第 1動力学モデル上 で発生する前記第 1床反力成分として、前記目標値から前記第 n - 1床反力成分誤 差 Aerr(n-l)と少なくとも該第 n— 1床反力成分誤差 Aerr(n-l)に応じて決定した前記 第 1床反力補正量とのいずれかを差し引いたものを用いることにより該第 n修正後運 動に対応する前記床反力成分誤差 Aerrを算出することを特徴とする請求項 4記載の 移動ロボットの歩容生成装置。
[11] 前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前 記第 1動力学モデル上で算出される ZMPとして、前記目標 ZMPを用いることにより 該仮運動に対応する前記 ZMP誤差 ZMPerrを算出し、前記仮運動以外の第 n修正 後運動に対しては、該第 n修正後運動によって前記第 1動力学モデル上で算出され る ZMPとして、前記目標 ZMPから前記第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該 第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した前記 ZMP補正量とのいずれかを差 し引いたものを用 ヽることにより該第 n修正後運動に対応する ZMP誤差 ZMPerrを算 出することを特徴とする請求項 7記載の移動ロボットの歩容生成装置。
[12] 前記仮運動作成手段は、少なくとも前記第 1動力学モデル上で前記目標 ZMPを 満足するように前記仮運動を作成する手段であり、
前記床反力成分誤差算出手段は、前記仮運動に対しては、該仮運動によって前 記第 1動力学モデル上で算出される ZMPとして、前記目標 ZMPを用いることにより 該仮運動に対応する前記 ZMP誤差 ZMPerrを算出し、前記仮運動以外の第 n修正 後運動に対しては、該第 n修正後運動によって前記第 1動力学モデル上で算出され る ZMPとして、前記目標 ZMPから前記第 n— 1ZMP誤差 ZMPerr(n-l)と少なくとも該 第 n— 1ZMP誤差 ZMPerr(n-l)に応じて決定した前記 ZMP補正量とのいずれかを差 し引いたものを用 ヽることにより該第 n修正後運動に対応する ZMP誤差 ZMPerrを算 出することを特徴とする請求項 8記載の移動ロボットの歩容生成装置。
[13] 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 m床反力成分誤差 (m:m ≥0である整数)は、第 m修正後運動によって該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記床反力成分の瞬時値と該第 m修正後運動によつ て該時刻に前記第 1動力学モデル上で発生する前記床反力成分の瞬時値との差の 前記所定期間における時系列力 構成され、 前記評価手段の前記所定の許容誤差範囲は、前記第 0床反力成分誤差を構成す る時系列のノターンのうちの所定の第 1特徴量に対する許容誤差範囲であり、 前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で発生 する前記床反力成分の瞬時値 FM(t)に、前記第 n - 1床反力成分誤差の該時刻 tで の値と少なくとも該値に応じて決定した床反力補正量の値とのいずれかをカ卩えたもの が該時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正後運動の瞬 時値を決定する処理であり、
前記床反力成分誤差変化量 Δ FMは、前記第 n床反力成分誤差の各時刻での値 と第 n - 1床反力成分誤差の該時刻での値との差、および、前記第 n床反力成分誤差 の各時刻での値と少なくとも第 n— 1床反力成分誤差の該時刻での値に応じて決定し た前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列か ら構成され、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ F Mを構成する時系列のパターンのうちの所定の第 2特徴量が所定の許容変化量範 囲に収まったときに該床反力成分誤差変化量 A FMが 0に収束したと判断する処理 であることを特徴とする請求項 1記載の移動ロボットの歩容生成装置。
[14] 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 m床反力成分誤差 (m : m ≥0である整数)は、第 m修正後運動によって該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記床反力成分の瞬時値と該第 m修正後運動によつ て該時刻に前記第 1動力学モデル上で発生する前記床反力成分の瞬時値との差の 前記所定期間における時系列力 構成され、
前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で発生 する前記床反力成分の瞬時値 FM(t)に、前記第 n - 1床反力成分誤差の該時刻 tで の値と少なくとも該値に応じて決定した前記床反力補正量の値とのいずれかを加え たものが該時刻 tでの前記許容範囲を満たすように該時刻 tにおける第 n修正後運動 の瞬時値を決定する処理であり、
前記床反力成分誤差変化量 Δ FMは、前記第 n床反力成分誤差の各時刻での値 と第 n - 1床反力成分誤差の該時刻での値との差、および、前記第 n床反力成分誤差 の各時刻での値と少なくとも第 n— 1床反力成分誤差の該時刻での値に応じて決定し た前記床反力補正量の値との差のいずれか一方の前記所定期間における時系列か ら構成され、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ F Mを構成する時系列のパターンのうちの所定の特徴量が所定の許容変化量範囲に 収まったときに該床反力成分誤差変化量 Δ FMが 0に収束したと判断する処理であ ることを特徴とする請求項 2記載の移動ロボットの歩容生成装置。
前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 m床反力成分誤差 Aerr, B err (m:m≥0である整数)のうちの第 m床反力成分誤差 Aerrは、第 m修正後運動に よって該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記第 1 床反力成分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル 上で発生する前記第 1床反力成分の瞬時値との差の前記所定期間における時系列 から構成されると共に、前記第 m床反力成分誤差 Berrは、第 m修正後運動の各時刻 に前記第 2動力学モデル上で発生する前記第 2床反力成分の瞬時値と該第 m修正 後運動によって該時刻に前記第 1動力学モデル上で発生する前記第 2床反力成分 の瞬時値との差の前記所定期間における時系列から構成され、
前記評価手段の前記所定の第 1許容誤差範囲は、前記第 0床反力成分誤差 A err(0)を構成する時系列パターンのうちの所定の第 1特徴量に対する許容誤差範囲 であると共に前記所定の第 2許容誤差範囲は、前記第 0床反力成分誤差 Berr(O)を 構成する時系列のノターンのうちの所定の第 2特徴量に対する許容誤差範囲であり 前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で発生 する前記第 1床反力成分の瞬時値に、前記第 n - 1床反力成分誤差 Aerr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記第 1床反力補正量の値とのいずれか を加えたものが該時刻 tでの前記目標値を満足し、且つ、該第 n修正後運動によって 該時刻 tに前記第 1動力学モデル上で発生する前記第 2床反力成分の瞬時値に、前 記第 n— 1床反力成分誤差 Berr(n-l)の時刻 tでの値と少なくとも該値に応じて決定し た前記第 2床反力補正量の値とのいずれかを加えたものが該時刻 tでの前記許容範 囲を満たすように該時刻 tにおける第 n修正後運動の瞬時値を決定する処理であり、 前記床反力成分誤差変化量 Δ Aerrは、前記第 n床反力成分誤差 Aerr(n)の各時 刻での値と第 n— 1床反力成分誤差 Aerr(n-l)の該時刻での値との差、および、前記 第 n床反力成分誤差 Aerr(n)の各時刻での値と少なくとも第 n - 1床反力成分誤差 A err(n-l)の該時刻での値に応じて決定した前記第 1床反力補正量の値との差のいず れか一方の前記所定期間における時系列力 構成されると共に、前記床反力成分 誤差変化量 Δ Berrは、前記第 n床反力成分誤差 Berr(n)の各時刻での値と第 n - 1床 反力成分誤差 Berr(n-l)の該時刻での値との差、および、前記第 n床反力成分誤差 Berr(n)の各時刻での値と少なくとも第 n— 1床反力成分誤差 Berr(n-l)の該時刻での 値に応じて決定した前記第 2床反力補正量の値との差のいずれか一方の前記所定 期間における時系列から構成され、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ Aerrを構成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対す る所定の許容変化量範囲に収まったときに該床反力成分誤差変化量 Δ Aerrが 0に 収束したと判断すると共に、前記床反力成分誤差変化量 Δ Berrを構成する時系列 のパターンのうちの前記第 4特徴量が該第 4特徴量に対する所定の許容変化量範囲 に収まったときに該床反力成分誤差変化量 Δ Berr力^に収束したと判断する処理で あることを特徴とする請求項 3記載の移動ロボットの歩容生成装置。
前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 m床反力成分誤差 Aerr, B err (m : m≥0である整数)のうちの第 m床反力成分誤差 Aerrは、第 m修正後運動に よって該第 m修正後運動の各時刻に前記第 2動力学モデル上で発生する前記第 1 床反力成分の瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル 上で発生する前記第 1床反力成分の瞬時値との差の前記所定期間における時系列 から構成されると共に、前記第 m床反力成分誤差 Berrは、第 m修正後運動の各時刻 に前記第 2動力学モデル上で発生する前記第 2床反力成分の瞬時値と該第 m修正 後運動によって該時刻に前記第 1動力学モデル上で発生する前記第 2床反力成分 の瞬時値との差の前記所定期間における時系列から構成され、
前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で発生 する前記第 1床反力成分の瞬時値に、前記第 n - 1床反力成分誤差 Aerr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記第 1床反力補正量の値とのいずれか を加えたものが該時刻 tでの前記目標値を満足し、且つ、該第 n修正後運動によって 該時刻 tに前記第 1動力学モデル上で発生する前記第 2床反力成分の瞬時値に、前 記第 n— 1床反力成分誤差 Berr(n-l)の時刻 tでの値と少なくとも該値に応じて決定し た前記第 2床反力補正量の値とのいずれかを加えたものが該時刻 tでの前記許容範 囲を満たすように該時刻 tにおける第 n修正後運動の瞬時値を決定する処理であり、 前記床反力成分誤差変化量 Δ Aerrは、前記第 n床反力成分誤差 Aerr(n)の各時 刻での値と第 n— 1床反力成分誤差 Aerr(n-l)の該時刻での値との差、および、前記 第 n床反力成分誤差 Aerr(n)の各時刻での値と少なくとも第 n - 1床反力成分誤差 A err(n-l)の該時刻での値に応じて決定した前記第 1床反力補正量の値との差のいず れか一方の前記所定期間における時系列力 構成されると共に、前記床反力成分 誤差変化量 Δ Berrは、前記第 n床反力成分誤差 Berr(n)の各時刻での値と第 n - 1床 反力成分誤差 Berr(n-l)の該時刻での値との差、および、前記第 n床反力成分誤差 Berr(n)の各時刻での値と少なくとも第 n— 1床反力成分誤差 Berr(n-l)の該時刻での 値に応じて決定した前記第 2床反力補正量の値との差のいずれか一方の前記所定 期間における時系列から構成され、
前記目標運動決定手段の前記収束判断処理は、前記床反力成分誤差変化量 Δ Aerrを構成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対す る所定の許容変化量範囲に収まったときに該床反力成分誤差変化量 Δ Aerrが 0に 収束したと判断すると共に、前記床反力成分誤差変化量 Δ Berrを構成する時系列 のパターンのうちの前記第 4特徴量が該第 4特徴量に対する所定の許容変化量範囲 に収まったときに該床反力成分誤差変化量 Δ Berr力^に収束したと判断する処理で あることを特徴とする請求項 3記載の移動ロボットの歩容生成装置。
[17] 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 mZMP誤差 ZMPerrおよび 並進床反力水平成分誤差 Ferr (m:m≥ 0である整数)のうちの第 mZMP誤差 ZMPerrは、第 m修正後運動によって該第 m修正後運動の各時刻に前記第 2動力学 モデル上で算出される ZMPの瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で算出される ZMPの瞬時値との差の前記所定期間における時系 列から構成されると共に、前記第 m並進床反力水平成分誤差 Berrは、第 m修正後運 動の各時刻に前記第 2動力学モデル上で発生する並進床反力水平成分の瞬時値と 該第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生する並進床反 力水平成分の瞬時値との差の前記所定期間における時系列から構成され、 前記評価手段の前記所定の第 1許容誤差範囲は、前記第 OZMP誤差 ZMPerr(O)を 構成する時系列のパターンのうちの所定の第 1特徴量に対する許容誤差範囲である と共に、前記所定の第 2許容誤差範囲は、前記第 0並進床反力水平成分誤差 F err(0)を構成する時系列のパターンのうちの所定の第 2特徴量に対する許容誤差範 囲であり、
前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で算出 される ZMPの瞬時値に、前記第 n— 1ZMP誤差 ZMPerr(n-l)の時刻 tでの値と少なく とも該値に応じて決定した前記 ZMP補正量の値とのいずれかをカ卩えたものが該時刻 tでの前記目標 ZMPを満足し、且つ、該第 n修正後運動によって該時刻 tに前記第 1 動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第 n - 1並進床 反力水平成分誤差 Ferr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記 床反力補正量の値とのいずれかを加えたものが該時刻 tでの前記許容範囲を満たす ように該時刻 tにおける第 n修正後運動の瞬時値を決定する処理であり、
前記 ZMP誤差変化量 Δ ZMPerrは、前記第 nZMP誤差 ZMPerr(n)の各時刻での値 と第 n— 1ZMP誤差 ZMPerr(n-l)の該時刻での値との差、および、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と少なくとも第 n— 1ZMP誤差 ZMPerr(n- 1)の該時刻での 値に応じて決定した前記 ZMP補正量の値との差のいずれか一方の前記所定期間 における時系列から構成されると共に、前記並進床反力水平成分誤差変化量 Δ F errは、前記第 n並進床反力水平成分誤差 Ferr(n)の各時刻での値と第 n— 1並進床反 力水平成分誤差 Ferr(n-l)の該時刻での値との差、および、前記第 n並進床反力水 平成分誤差 Ferr(n)の各時刻での値と少なくとも第 n - 1並進床反力水平成分誤差 F err(n-l)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか 一方の前記所定期間における時系列から構成され、
前記目標運動決定手段の前記収束判断処理は、前記 ZMP誤差変化量 Δ ZMPerr を構成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対する所 定の許容変化量範囲に収まったときに該 ZMP成分誤差変化量 Δ ZMPerrが 0に収束 したと判断すると共に、前記並進床反力水平成分誤差変化量 Δ Ferrを構成する時 系列のパターンのうちの所定の第 4特徴量が該第 4特徴量に対する所定の許容変化 量範囲に収まったときに該並進床反力水平成分誤差偏差 Δ Ferrが 0に収束したと判 断する処理であることを特徴とする請求項 7記載の移動ロボットの歩容生成装置。 前記目標運動、仮運動および修正後運動は、所定期間における前記移動ロボット の運動の瞬時値の時系列力 構成されるものであり、
前記床反力成分誤差算出手段により求められる前記第 mZMP誤差 ZMPerrおよび 並進床反力水平成分誤差 Ferr (m:m≥ 0である整数)のうちの第 mZMP誤差 ZMPerrは、第 m修正後運動によって該第 m修正後運動の各時刻に前記第 2動力学 モデル上で算出される ZMPの瞬時値と該第 m修正後運動によって該時刻に前記第 1動力学モデル上で算出される ZMPの瞬時値との差の前記所定期間における時系 列から構成されると共に、前記第 m並進床反力水平成分誤差 Berrは、第 m修正後運 動の各時刻に前記第 2動力学モデル上で発生する並進床反力水平成分の瞬時値と 該第 m修正後運動によって該時刻に前記第 1動力学モデル上で発生する並進床反 力水平成分の瞬時値との差の前記所定期間における時系列から構成され、
前記目標運動決定手段の前記修正後運動決定処理は、前記第 n修正後運動の各 時刻 tにおいて、該第 n修正後運動によって時刻 tに前記第 1動力学モデル上で算出 される ZMPの瞬時値に、前記第 n— 1ZMP誤差 ZMPerr(n-l)の時刻 tでの値と少なく とも該値に応じて決定した前記 ZMP補正量の値とのいずれかをカ卩えたものが該時刻 tでの前記目標 ZMPを満足し、且つ、該第 n修正後運動によって該時刻 tに前記第 1 動力学モデル上で発生する並進床反力水平成分の瞬時値に、前記第 n - 1並進床 反力水平成分誤差 Ferr(n-l)の時刻 tでの値と少なくとも該値に応じて決定した前記 床反力補正量の値とのいずれかを加えたものが該時刻 tでの前記許容範囲を満たす ように該時刻 tにおける第 n修正後運動の瞬時値を決定する処理であり、
前記 ZMP誤差変化量 Δ ZMPerrは、前記第 nZMP誤差 ZMPerr(n)の各時刻での値 と第 n— 1ZMP誤差 ZMPerr(n-l)の該時刻での値との差、および、前記第 nZMP誤差 ZMPerr(n)の各時刻での値と少なくとも第 n— 1ZMP誤差 ZMPerr(n- 1)の該時刻での 値に応じて決定した前記 ZMP補正量の値との差のいずれか一方の前記所定期間 における時系列から構成されると共に、前記並進床反力水平成分誤差変化量 Δ F errは、前記第 n並進床反力水平成分誤差 Ferr(n)の各時刻での値と第 n— 1並進床反 力水平成分誤差 Ferr(n-l)の該時刻での値との差、および、前記第 n並進床反力水 平成分誤差 Ferr(n)の各時刻での値と少なくとも第 n - 1並進床反力水平成分誤差 F err(n-l)の該時刻での値に応じて決定した前記床反力補正量の値との差のいずれか 一方の前記所定期間における時系列から構成され、
前記目標運動決定手段の前記収束判断処理は、前記 ZMP誤差変化量 Δ ZMPerr を構成する時系列のパターンのうちの所定の第 3特徴量が該第 3特徴量に対する所 定の許容変化量範囲に収まったときに該 ZMP成分誤差変化量 Δ ZMPerrが 0に収束 したと判断すると共に、前記並進床反力水平成分誤差変化量 Δ Ferrを構成する時 系列のパターンのうちの所定の第 4特徴量が該第 4特徴量に対する所定の許容変化 量範囲に収まったときに該並進床反力水平成分誤差偏差 Δ Ferrが 0に収束したと判 断する処理であることを特徴とする請求項 8記載の移動ロボットの歩容生成装置。
PCT/JP2005/003346 2004-02-27 2005-02-28 移動ロボットの歩容生成装置 WO2005082582A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020067017634A KR101140812B1 (ko) 2004-02-27 2005-02-28 이동 로봇의 보용생성장치
JP2006510511A JP4805818B2 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置
US10/597,933 US7774098B2 (en) 2004-02-27 2005-02-28 Gait generating device for moving robot
EP05719663A EP1738879B1 (en) 2004-02-27 2005-02-28 Gait generating device for moving robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004052823 2004-02-27
JP2004-052823 2004-02-27

Publications (1)

Publication Number Publication Date
WO2005082582A1 true WO2005082582A1 (ja) 2005-09-09

Family

ID=34908714

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2005/003346 WO2005082582A1 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置
PCT/JP2005/003345 WO2005082583A1 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/003345 WO2005082583A1 (ja) 2004-02-27 2005-02-28 移動ロボットの歩容生成装置

Country Status (5)

Country Link
US (2) US7715945B2 (ja)
EP (2) EP1738879B1 (ja)
JP (2) JP4805818B2 (ja)
KR (2) KR101160161B1 (ja)
WO (2) WO2005082582A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649536B1 (en) * 2006-06-16 2010-01-19 Nvidia Corporation System, method, and computer program product for utilizing natural motions of a user to display intuitively correlated reactions
KR100835354B1 (ko) * 2006-07-05 2008-06-04 삼성전자주식회사 보행로봇 및 그의 제어방법
US7943874B2 (en) * 2007-09-18 2011-05-17 Honeywell International Inc. Ground contact switch for personal navigation system
JP5251253B2 (ja) * 2008-05-20 2013-07-31 株式会社安川電機 脚式歩行ロボットの安定化制御装置
JP5232124B2 (ja) * 2009-10-28 2013-07-10 本田技研工業株式会社 脚式移動ロボットの制御装置
KR101687629B1 (ko) * 2010-01-18 2016-12-20 삼성전자주식회사 인간형 로봇 및 그 보행 제어방법
US8437993B2 (en) 2010-08-12 2013-05-07 International Business Machines Corporation Dynamically adjusting simulation fidelity based on changes in activity levels of components
US8428921B2 (en) 2010-08-12 2013-04-23 International Business Machines Corporation Dynamically adjusting simulation fidelity based on checkpointed fidelity state
US8407035B2 (en) * 2010-08-12 2013-03-26 International Business Machines Corporation Dynamically adjusting simulation fidelity in a self-optimized simulation of a complex system
US8468005B2 (en) 2010-08-12 2013-06-18 International Business Machines Corporation Determining simulation fidelity in a self-optimized simulation of a complex system
WO2016185877A1 (ja) * 2015-05-20 2016-11-24 ボッシュ株式会社 ウェアラブルロボットの制御装置、ウェアラブルロボット、及び、ウェアラブルロボットの制御方法
US9586316B1 (en) * 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
KR102556924B1 (ko) * 2016-09-05 2023-07-18 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002326173A (ja) * 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置
WO2003057427A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot mobile sur jambes
WO2003061917A1 (fr) * 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167404B2 (ja) * 1992-02-26 2001-05-21 本田技研工業株式会社 ロボットの関節駆動制御装置
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3273443B2 (ja) * 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
US5872893A (en) * 1996-07-25 1999-02-16 Honda Giken Kogyo Kabushiki Kaisha Gait generation system of legged mobile robot
JP3672406B2 (ja) 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3443077B2 (ja) 1999-09-20 2003-09-02 ソニー株式会社 ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット
JP3615702B2 (ja) * 1999-11-25 2005-02-02 ソニー株式会社 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
WO2002040224A1 (fr) 2000-11-17 2002-05-23 Honda Giken Kogyo Kabushiki Kaisha Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes
DE60237041D1 (de) * 2001-12-28 2010-08-26 Honda Motor Co Ltd Gangerzeugungsvorrichtung und steuervorrichtung für beweglichen roboter mit beinen
US6999851B2 (en) * 2002-08-30 2006-02-14 Sony Corporation Robot apparatus and motion controlling method therefor
US7236852B2 (en) * 2002-10-11 2007-06-26 Sony Corporation Motion controlling apparatus and method and remote controlling apparatus and method for legged mobile robot
US7054718B2 (en) * 2002-10-11 2006-05-30 Sony Corporation Motion editing apparatus and method for legged mobile robot and computer program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002326173A (ja) * 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置
WO2003057427A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot mobile sur jambes
WO2003061917A1 (fr) * 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede

Also Published As

Publication number Publication date
WO2005082583A1 (ja) 2005-09-09
JPWO2005082582A1 (ja) 2007-10-25
EP1736286B1 (en) 2011-11-30
JP4805818B2 (ja) 2011-11-02
JP4805817B2 (ja) 2011-11-02
US20070061038A1 (en) 2007-03-15
US20070156284A1 (en) 2007-07-05
US7715945B2 (en) 2010-05-11
EP1738879A4 (en) 2009-12-09
KR101140812B1 (ko) 2012-05-03
US7774098B2 (en) 2010-08-10
KR20060126803A (ko) 2006-12-08
EP1738879B1 (en) 2011-12-21
KR20060129423A (ko) 2006-12-15
EP1736286A4 (en) 2009-12-09
EP1736286A1 (en) 2006-12-27
JPWO2005082583A1 (ja) 2007-10-25
EP1738879A1 (en) 2007-01-03
KR101160161B1 (ko) 2012-06-27

Similar Documents

Publication Publication Date Title
JP4800037B2 (ja) 移動ロボットの歩容生成装置
WO2005082582A1 (ja) 移動ロボットの歩容生成装置
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
JP5483997B2 (ja) 脚式移動ロボットの制御装置
JP5219956B2 (ja) 移動体の制御装置
JP5456588B2 (ja) 脚式移動ロボットの制御装置
JP4225968B2 (ja) 脚式移動ロボットの制御装置
JP4800038B2 (ja) 移動ロボットの歩容生成装置
JPWO2005000536A1 (ja) 脚式移動ロボットの制御装置
JP2011093024A (ja) 脚式移動ロボットの制御装置
JPWO2005000533A1 (ja) 脚式移動ロボットの歩容生成装置
JP5465074B2 (ja) 2足移動ロボットの制御装置
JP5468974B2 (ja) 2足移動ロボットの制御装置及び歩容生成装置
JP5232120B2 (ja) 移動体の制御装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006510511

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007061038

Country of ref document: US

Ref document number: 10597933

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067017634

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005719663

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067017634

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005719663

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10597933

Country of ref document: US