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

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

Info

Publication number
WO2005077610A1
WO2005077610A1 PCT/JP2005/002353 JP2005002353W WO2005077610A1 WO 2005077610 A1 WO2005077610 A1 WO 2005077610A1 JP 2005002353 W JP2005002353 W JP 2005002353W WO 2005077610 A1 WO2005077610 A1 WO 2005077610A1
Authority
WO
WIPO (PCT)
Prior art keywords
gait
parameter
value
priority
parameters
Prior art date
Application number
PCT/JP2005/002353
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 US10/597,653 priority Critical patent/US7765030B2/en
Priority to EP05710253A priority patent/EP1733852B1/en
Priority to JP2005518038A priority patent/JP4800038B2/ja
Priority to KR1020067015921A priority patent/KR101140810B1/ko
Publication of WO2005077610A1 publication Critical patent/WO2005077610A1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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
    • B25J13/00Controls for manipulators

Definitions

  • the present invention relates to a device for generating a gait of a mobile robot such as a bipedal mobile robot.
  • Patent Document 1 JP-A-2002-326173
  • Patent Document 2 PCT International Publication WOZ03Z057427 ZA1
  • the technology found in these documents uses the first dynamic model (simple model) that expresses the relationship between the motion of the robot (the position and posture of each part) and the floor reaction force.
  • the dynamic equilibrium condition on the dynamic model (1) should be satisfied (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 consisting of an instantaneous value of the target motion of the robot (an instantaneous target motion) and an instantaneous value of the desired floor reaction force (an instantaneous desired floor reaction force) is sequentially created.
  • this instantaneous desired gait is input to a second dynamic model (full model) to correct a part of the instantaneous desired motion (a desired body position and posture, a desired moment about the desired ZMP, etc.).
  • the target gait is generated for each step in units of gaits for one period of the biped mobile robot.
  • a gait parameter (each gait parameter) defining a normal gait that is a virtual periodic gait following the target gait.
  • Parameters that define the position and orientation trajectory of the foot, parameters that define the target ZMP trajectory, etc. are also used to obtain the required boundary conditions (steady state) using the gait parameters and the first dynamic model. (The condition that the state of the gait matches at the beginning and end of one cycle of the gait).
  • a gait parameter that defines a desired gait is a boundary condition that a gait generated using the gait parameter and the first dynamic model is a required boundary condition (a desired gait is a normal gait at a terminal side thereof). Is determined so as to satisfy the condition of approaching the volume. Then, using the gait parameters of the target gait determined in this way and the first dynamic model, the instantaneous A time series of time values is generated.
  • a model with high linearity is generally used as a first dynamic model (simple model).
  • a normal gait which is a virtual periodic gait, or a gait that approaches asymptotically (stable motion of the robot).
  • Gait that can continuously perform gait can be created efficiently and in a short time, and in turn, it is possible to sequentially generate the instantaneous target gait of the robot in real time while performing the actual motion of the real robot.
  • gait parameters of a normal gait are determined, gait parameters that can satisfy the boundary conditions of the normal gait can be efficiently and quickly determined.
  • a dynamic model with high linearity generally tends to have relatively low dynamic accuracy in various operations of a robot.
  • the dynamics of the robot on the dynamic model is likely to have an error with respect to the actual dynamics of the real robot. For this reason, if the instantaneous target gait created using the first dynamic model is applied to the real robot as it is and the real robot is operated, it is guaranteed on the first dynamic model. Dynamic equilibrium conditions are not satisfied on a real robot, and the motion of the real robot tends to be unstable.
  • the present invention has been made in view of a vigorous background, and an object of the present invention is to provide a mobile robot capable of efficiently generating a desired gait satisfying a required boundary condition while preventing divergence of the desired gait. It is an object to provide a gait generator. Further, the present invention determines a gait parameter that defines a normal gait, efficiently determines a normal gait parameter with which the normal gait satisfies a required boundary condition. It is an object of the present invention to provide a gait generation device for a mobile robot that can prevent divergence of the gait.
  • a first invention of a mobile robot gait generating device of the present invention determines a gait parameter which is a set of a plurality of parameters defining a gait of a mobile robot in a predetermined period.
  • Gait parameters for defining a reference gait prepared in advance for the mobile robot;
  • a base gait parameter setting means for setting, as a base gait parameter, a gait parameter of any of gait parameters determined in the past so as to satisfy a predetermined boundary condition;
  • Priority parameter asymptotic means for updating the value of the priority parameter of the base gait parameter so as to gradually approach the priority parameter request value until the value matches the priority parameter request value;
  • New gait parameter determining means for exploratoryly determining a new gait parameter as a gait parameter
  • the new gait parameter determination means sets the number of updates of the value of the priority parameter by the priority parameter asymptotic means when newly determining the new gait parameter to n (an integer satisfying n: n ⁇ l), and
  • the value of the priority parameter obtained by the n-th update process is defined as the n-th priority parameter update value
  • the newly determined new gait parameter is defined as the n-th new gait parameter
  • the base gait parameter is defined as the 0th new gait parameter.
  • the gait parameter is used as the initial search candidate gait parameter, and the search target parameter which is a predetermined parameter among the non-priority parameters of the initial search candidate gait parameter A means for determining the n-th new gait parameters by searching the value of over data to the predetermined boundary condition is satisfied,
  • the new gait parameter determined at the time of the last update of the value of the priority parameter by the priority parameter asymptotic means is used as the gait parameter defining the target gait, using the new gait parameter and the dynamic model.
  • the method is characterized in that the desired gait is generated.
  • the desired gait is composed of a time series of desired instantaneous values of the motion of the robot (position and posture of each part, or displacement of each joint), or The time series of the target instantaneous value of the movement and the floor reaction force (translation force, And at least one of the action points).
  • the robot dynamics model is a model including at least a motion 'floor reaction force model (robot's dynamics equation) representing the relationship between the robot's motion and the floor reaction force acting on the robot.
  • This dynamic model includes constraints on the motion of the robot (movable range of a part of the robot, geometric constraints of the link mechanism, etc.) or constraints on the floor reaction force (the predetermined component of the floor reaction force).
  • the dynamics model is a combination of these constraints and the above-mentioned motion / floor reaction force model. is there.
  • generating a gait using a gait parameter and a dynamic model means determining an input amount to the dynamic model or a state quantity of the dynamic model based on the gait parameter, and This means generating a gait that satisfies the dynamics on the model (the relation between the motion and the floor reaction force model, or the constraints added to the relation).
  • the n-th new gait parameter determined at the time of the arbitrary n-th update of the value of the priority parameter includes the value of the non-priority parameter of the (n-1) -th new gait parameter in the value of the non-priority parameter.
  • the gait parameters (parameters other than the priority gait parameters are n ⁇ 1) are set by setting the priority parameter to the value after the nth update (the nth priority parameter update value).
  • the gait parameter that is the same as the new gait parameter) is used as the initial search candidate gait parameter, and the value of the search target parameter that is a predetermined parameter among the non-priority parameters of the initial search candidate gait parameter is used. It is determined by searching to satisfy the predetermined boundary condition.
  • the boundary condition is, for example, one end (starting end or It is said that a predetermined amount of state (eg, the position, posture, or rate of change of a certain part of the robot, or floor reaction force) of the gait (instantaneous value) at the end time coincides with or almost coincides with the predetermined value. It is such a condition.
  • the initial search candidate gait parameters are the same as the n-th new gait parameter to be determined from parameters other than the search parameters.
  • the initial search candidate gait parameter and the previously determined n ⁇ 1th new gait parameter can sufficiently reduce the difference between the values of their priority parameters.
  • the value of the proper search target parameter of the n new gait parameters that can satisfy the predetermined boundary condition does not greatly differ from the value of the search target parameter of the n-1 new gait parameter. . Therefore, a search target parameter of the nth new gait parameter that can satisfy the boundary condition can be easily searched in a short time.
  • the desired gait is generated using a model.
  • the gait parameter defining the desired gait to be generated gradually changes the value of the priority parameter from the value of the priority parameter of the base gait parameter.
  • the boundary condition can be finally satisfied.
  • the target gait is defined by gradually satisfying the requirements and the boundary conditions for the desired gait!
  • the gait parameters will be determined.
  • the base gait parameter is one of a gait parameter defining a reference gait prepared in advance and a gait parameter previously determined to satisfy a predetermined boundary condition.
  • the gait parameter finally determined as defining the target gait is such that the gait generated using the gait and the dynamic model does not diverge, or Divergence is unlikely to occur It is possible to In addition, as described above, at each update of the priority parameter, the search target parameter for the appropriate new gait parameter can be easily searched in a short time, and as a result, the final gait that defines the target gait is determined. Gait parameters can be determined efficiently.
  • the first invention it is possible to efficiently determine a normal gait parameter with which the normal gait satisfies a required boundary condition, and to prevent divergence of the target gait. It is possible to efficiently generate a desired gait that satisfies required boundary conditions while preventing divergence of the desired gait. In addition, since a desired gait that does not diverge or is unlikely to diverge can be generated, it is not necessary to significantly modify the target ZMP and the desired floor reaction force moment of the target gait to prevent divergence, and the movement The stability margin of the robot can be increased.
  • a second invention of a gait generating device for a mobile robot according to the present invention includes:
  • a normal gait meter which is a set of a plurality of parameters for defining a normal gait that is a virtual periodic gait following the target gait.
  • the gait of the mobile robot that determines the gait of the mobile robot so as to make the target gait closer to the normal gait generated using the determined normal gait parameters and the dynamic model of the mobile robot.
  • Priority parameter request value determining means for determining a priority parameter request value that is a value of the priority parameter for satisfying the request; a normal gait parameter for defining a reference normal gait prepared in advance for the mobile robot; A base normal gait parameter setting means for setting any one of normal gait parameters determined in the past to satisfy a predetermined boundary condition as a base normal gait parameter;
  • Priority parameter asymptotic means for updating the value of the priority parameter of the base normal gait parameter so as to gradually approach the priority parameter request value until the value matches the priority parameter request value; Whenever the value of the priority parameter is updated by the priority parameter asymptotic means, a gait having the updated priority parameter and satisfying the predetermined boundary condition can be generated using the dynamic model.
  • a new normal gait parameter searching means for exploratively determining a new normal gait parameter which is a normal gait parameter;
  • the new normal gait parameter search means sets the number of updates of the priority parameter value by the priority parameter asymptotic means when newly determining the new normal gait parameter to n (n: an integer satisfying n ⁇ 1),
  • the value of the priority parameter after the nth update is defined as the nth priority parameter update value
  • the newly determined new normal gait parameter is defined as the nth new prescribed normal gait parameter
  • the base normal gait parameter is defined as When the 0th new normal gait parameter is set, the value of the non-priority parameter of the n-1st new normal gait parameter is set to the value of the non-priority parameter, and the value of the nth priority is set to the value of the priority parameter.
  • a gait parameter in which a parameter update value is set is a predetermined parameter among the non-priority parameters of the initial search candidate gait parameter as an initial search candidate gait parameter.
  • the new normal gait parameter determined at the last update of the value of the priority parameter by the priority parameter asymptotic means is used as a normal gait parameter of a normal gait corresponding to the target gait.
  • the priority gait is generated by the priority parameter asymptotic means so as to approach the normal gait generated using the dynamic model.
  • the value of the priority parameter of the new prescribed normal gait parameter newly determined by the new normal gait parameter determination means matches the value of the priority parameter updated by the priority parameter asymptotic means. I do.
  • the n-th new normal gait parameter determined at the time of the arbitrary n-th update of the value of the priority parameter is the non-priority parameter of the (n ⁇ 1) -th new normal gait parameter set to the value of the non-priority parameter.
  • the gait parameter (the gamut parameters other than the priority gait parameter are the same as those of the gait parameter) in which the value of the priority parameter is set to the value after the nth update (the nth priority parameter value) n-1 is a gait parameter that is the same as the new normal gait parameter) as the initial search candidate gait parameter, and the value of the search target parameter that is a predetermined parameter among the non-priority parameters of the initial search candidate gait parameter is It is determined by searching so as to satisfy the predetermined boundary condition.
  • the boundary condition is, for example, a predetermined state quantity of the gait (the position or posture of a certain part of the robot, or the speed of change thereof, at both ends (start and end of the period) of one period of a normal gait, or , Floor reaction force) coincide with each other.
  • the initial search candidate gait parameters are the same as the n-th new normal gait parameters to be determined from parameters other than the search parameters. Then, the initial search candidate gait parameter and the previously determined n-1st new normal gait parameter can sufficiently reduce the difference between the values of their priority parameters.
  • the appropriate search target parameter value of the n-th new normal gait parameter that satisfies the predetermined boundary condition is significantly different from the search target parameter value of the n-th new normal gait parameter. It does not become. Therefore, a search target parameter of the n-th new normal gait parameter that can satisfy the boundary condition can be easily searched in a short time.
  • the normal gait parameter defining the normal gait corresponding to the desired gait to be generated is determined by changing the value of the priority parameter to the priority of the base gait parameter.
  • Parameter Value Power By gradually (in stages) approaching the original required value of the priority parameter, the value of the search target parameter that is not the priority parameter is searched for, and finally, This is determined so as to satisfy the boundary condition.
  • the base gait parameter is A gait parameter that defines a reference normal gait prepared in advance, or a normal gait parameter determined in the past so as to satisfy a predetermined boundary condition.
  • the normal gait parameter finally determined as defining the normal gait corresponding to the target gait is a normal gait generated using the gait parameter and the dynamic model.
  • the boundary condition it is possible to appropriately satisfy the boundary condition.
  • the search target parameter of the appropriate new normal gait parameter can be easily searched in a short time, and as a result, the normal gait parameter corresponding to the target gait can be obtained.
  • the final steady gait parameters that define the gait can be efficiently determined.
  • the new normal gait determined at the time of the last update of the value of the priority parameter that is, when the value of the priority parameter finally matches the value of the priority parameter request value
  • the desired gait is generated so as to be close to the normal gait generated by using the dynamic model, so that the desired gait is continuously generated by the robot on the nth dynamic model.
  • a gait capable of appropriately improving stability can be obtained, and divergence of the desired gait can be prevented.
  • a desired gait that does not diverge or is difficult to generate can be generated, it is not necessary to largely correct the target ZMP and the target floor reaction force moment of the target gait in order to prevent divergence. Can increase the stability margin.
  • the first invention and the second invention may be combined. That is, in the first invention, a target gait for a predetermined period is generated so as to be close to the normal gait in the second invention, and at this time, a normal gait parameter defining the normal gait is set in the second invention. Decide as follows. In this case, the kinetic model in the first invention and the kinetic model in the second invention may be the same, but may be different!
  • the total number of times the priority parameter value is updated by the priority parameter asymptotic means is set according to a difference between the priority parameter value of the base gait parameter and the priority parameter request value.
  • U which is preferred (third invention).
  • the total number of updates of the value of the priority parameter by the priority parameter asymptotic means is the value of the priority parameter of the base normal gait parameter, Preferably, it is set according to the difference from the priority parameter request value (fourth invention).
  • each of the nth new gaits is set to an appropriate update amount such that the update amount at each update of the value of the priority parameter does not become excessively large or small. It is possible to efficiently perform a search process of a parameter to be searched for a meter or each n-th new normal gait parameter.
  • the gait parameter includes a parameter defining a target ZMP trajectory of the desired gait as the search target parameter (a fifth invention).
  • the fifth aspect it is possible to generate a desired gait satisfying the boundary condition while preventing the target ZMP trajectory from being significantly modified from a favorable trajectory in order to secure a stability margin of the robot. Becomes possible.
  • the normal gait parameter is a parameter that defines a predetermined state amount of movement of the mobile robot at one end of one period of the normal gait as the search target parameter. It is preferable to include (Sixth invention).
  • the normal gait parameter satisfying the boundary condition of the normal gait is adjusted by adjusting a predetermined state quantity of the movement of the mobile robot at one end of one period of the normal gait. Therefore, a stable gait parameter that defines the normal gait can be determined. Since the normal gait is a periodic gait, adjusting the predetermined state quantity of the robot motion at one end of one cycle is equal to the predetermined gait of the robot motion at the other end of one cycle. This means adjusting the state quantity.
  • the predetermined boundary condition is that the predetermined state quantity of the motion of the mobile robot at the boundary of the gait in the predetermined period is the motion of the mobile robot in the gait adjacent to the boundary.
  • a predetermined state quantity of the motion of the gait of the mobile robot (for example, the position, posture, or change speed of a certain part of a certain mobile robot) is adjacent to the gait. It is desirable that the predetermined state quantity of the exercise in the gait coincides with the predetermined quantity.
  • the predetermined boundary condition is that a predetermined state quantity of the movement of the mobile robot at the boundary on the terminal side of the gait in the predetermined period is the gait. It is preferable to include a condition that the predetermined state quantity of the motion of the mobile robot in the normal gait determined as the virtual periodic gait to follow follows (the eighth invention).
  • the normal gait does not necessarily have to determine the normal gait parameters defining the normal gait stepwise as in the second invention, but may be determined as in the second invention. .
  • the predetermined boundary condition may include a condition that a predetermined state quantity of the movement of the mobile robot at the start and end of one cycle of the normal gait matches. Preferred (ninth invention).
  • the normal gait is a periodic gait, by determining the boundary conditions as described above, the normal gait parameters that can generate a normal gait satisfying the condition of the periodicity are appropriately determined. it can . Note that the beginning of one cycle of the normal gait in the ninth invention does not necessarily need to coincide with the end of the target gait.
  • the predetermined state amount is: The position of the body of the robot, the speed of the body, the posture angle of the body, the angular velocity of the posture angle of the body, the weighted average of the position and speed of the body, Preferably, at least one of the position, the speed of the overall center of gravity, the weighted average value of the position and the velocity of the overall center of gravity, and at least one of the divergent components is included (the tenth invention).
  • a normal gait parameter that satisfies a boundary condition of a normal gait can be efficiently determined while reducing the search target parameters.
  • gait parameters for bringing the target gait closer to the normal gait in the predetermined period can be efficiently determined while reducing the number of search target parameters.
  • the predetermined state quantity is a weighted average value of the position and speed of the upper body, a weighted average value of the position and speed of the entire center of gravity, or divergence. The components are preferred.
  • a bipedal mobile robot as a legged 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 body 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 composed of the joints 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 are 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).
  • 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 well-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 or not the foot 22R (L) of each leg 2 lands, a floor reaction force (ground load) acting on each leg 2, and the like.
  • the detection signals of the three-directional components Fx, Fy, and Fz of the translational force of the floor reaction force and the three-directional components Mx, My, and 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 (posture angle) of the body 3 with respect to the Z axis (vertical direction (gravity direction)) and its angular velocity. Output from the sensor 54 to the 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 inclination angle of the body 3 and its angular velocity.
  • each joint of the robot 1 has an electric motor 64 (see FIG. 3) for driving the joint, and a rotation amount of the electric motor 64 (a rotation angle of each joint).
  • (Rotary encoder) 65 (see FIG. 3) is provided for detecting the signal, and a detection signal of the encoder 65 is output to the encoder control unit 60.
  • a joystick (operator) 73 (see Fig. 3) is provided, and by operating the joystick 73, the direction of movement of the robot 1 such as turning the robot 1 that is moving straight ahead, walking, It is configured so that a request or a constraint condition for the gait of the robot 1 can be input to the control unit 60 as necessary, such as designating a movement form such as running and a friction state of the floor surface (road surface state).
  • 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 tip 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.
  • the output signals of the 6-axis force sensor 50, posture sensor 54 (acceleration sensor and rate gyro mouth sensor), joystick 73, etc. of each leg 2 are converted to digital values by AZD conversion 80. After that, it is sent to the RAM 84 via the bus line 82.
  • 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.
  • the “trajectory” in a gait means a temporal change pattern (time-series pattern), and is sometimes called a “pattern” instead of a “trajectory”.
  • “posture” 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 a body posture angle or a body inclination angle.
  • the target arm posture of the arm 5 is represented by a relative posture with respect to the body 3 in the embodiment of the present specification.
  • the body position means the position of a representative point of the body 3 which is determined in a rough manner (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 target instantaneous value generation unit described later (the target body position / posture determined by S032 in FIG. 12 described later). Posture).
  • 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 “running”. 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 generally represented by an action point and a translational force and a moment acting on the point. Since the point of action is good for everywhere, countless Although the expression can be considered, especially when the target floor reaction force is expressed using the target floor reaction force center point (the target position of the center point of the total floor reaction force) as the working point, the moment component of the target floor reaction force becomes the vertical component. It becomes zero except for the (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 target motion orbit force of the robot 1 is calculated as ZMP (the target motion orbit force is also calculated and the resultant force of inertia and gravity acts around that point).
  • ZMP the target motion orbit force is also calculated and the resultant force of inertia and gravity acts around that point.
  • the moment when the moment becomes zero except for 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 upper 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. 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 translational floor reaction force vertical component when the robot 1 moves in a gait with a time when the floor reaction force becomes 0 or almost 0, for example, when the robot 1 travels, the translational floor reaction force vertical component also increases. This is important for operation control. For this reason, it is desirable to determine the trajectory of the robot 1 such as the target body vertical position after explicitly setting the target trajectory of the translational floor reaction force vertical component. 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.
  • a corrected desired floor reaction force moment (a moment whose horizontal component is not always 0) is generated around the desired ZMP.
  • 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 broadly defined as “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 created in the process of determining a final desired gait (a desired gait output by the gait generator 100).
  • the horizontal component of the desired floor reaction force moment around the target ZMP is set to 0 as defined by the original target ZMP. Therefore, in the provisional desired gait other than the finally determined desired gait, the target gait in the narrow sense, excluding the corrected desired floor reaction force moment, is used in the meaning of the desired gait.
  • a desired gait (provisional desired gait) created in the process of determining a final desired gait (a desired gait output by the gait generator 100) is a gait. It is closely related to the invention. For this reason, most of the desired gaits appearing in the following description are used to mean the desired gaits in the narrow sense, excluding the corrected desired floor reaction force moment (gaits satisfying the desired ZMP). .
  • the floor reaction force vertical component means “translational floor reaction force vertical component”
  • the vertical component of the moment of the floor reaction force 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”.
  • one step of the desired gait is used in a sense 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 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 the 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 parameter determination unit 100a is responsible for processing related to the core of the present invention.
  • 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, landing time of the free leg foot 22, or a stride, moving speed, or the like is used.
  • the required values are given to the joystick 73 or a device gait generator 100 such as an unillustrated action plan unit (a device for creating an action plan for the robot 1).
  • the gait generator 100 also reads the required parameters from a storage medium that previously stores the required parameters. Then, the gait parameters of the gait generator 100 The determination unit 100a 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. It also includes the parameters to be specified.
  • the reference body posture trajectory is not finally output by the gait generator 100, but is considered 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) is generated to follow or match the reference body posture for a long term .
  • 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 deviation of the true ZMP position from the target ZMP. Therefore, instead of setting the corrected target floor reaction force moment around the target ZMP, the deviation amount of the true ZMP position from the target ZMP (ZMP converted value of the corrected target floor reaction force moment) may be set.
  • 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 frictional 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.
  • 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 for 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. Based on the input gait parameters, the target instantaneous value generation unit 100b uses a dynamic model to calculate a desired body position and posture, a desired foot position and posture, a desired ZMP, a desired floor reaction force vertical component, a ZMP allowable range, and a floor reaction.
  • the instantaneous values of the components of the target gait such as the allowable range of the force horizontal component (values at predetermined control processing cycles of the control unit 60) are sequentially calculated (generated). In FIG. 5, only some of the target instantaneous values are representatively described.
  • the target instantaneous value calculated by the target instantaneous value generation unit 100b is sent to the full model correction unit 100c. Is entered.
  • the full model correction unit 100c corrects the target body position and orientation determined by the target instantaneous value generation unit 100b using a full model as a dynamic model with high dynamic accuracy.
  • the posture is calculated, and the corrected desired floor reaction force moment, which is the target value of the floor reaction force moment horizontal component around the target ZMP, is calculated.
  • the full model correction unit 100c 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 100c
  • 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 100c 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 100c in this specification will be omitted.
  • the correction is performed by the full model correction unit 100c, but the correction is omitted and the instantaneous value of the target gait determined by the target instantaneous value generation unit 100b is used as the gait. It may be output from the generator 100.
  • the outline of the gait generator 100 has been described above.
  • the gait parameter determination unit 100a corrects the target ZMP trajectory (more precisely, the parameter defining the target ZMP trajectory of the gait parameters) for each control processing cycle of the control unit 60.
  • the target instantaneous value generation unit is determined by stepwise determining parameters to be performed, or exploratoryly determining parameters other than the above-described parameters, and using the determined gait parameters and the dynamic model.
  • the time series of the instantaneous value of the desired gait is determined by 100b.
  • the gait parameters are defined as gaits determined in accordance with the gait to be created, with gait parameters relating to the already created gait as initial values. While gradually approaching the parameters, a predetermined one of the remaining parameters is determined exploratively.
  • 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.
  • the expression is made using a floor reaction force that balances the resultant force of inertia and gravity generated by motion.
  • the expression using the combined force of inertia force and gravity is better. Theoretically accurate.
  • the resultant force and the floor reaction force have the same magnitude but opposite directions.
  • 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.
  • the target instantaneous value generation unit 100b generates a gait using the following dynamic model.
  • a dynamic model shown in FIG. 7 is used as the dynamic model.
  • this dynamic model has two mass points (foot mass points) 2m and 2m corresponding to each leg 2 of robot 1 and a mass point (upper mass point) 24m corresponding to upper body 3 respectively.
  • This model consists of a total of 3 mass points consisting of: and a flywheel FH with inertia and mass.
  • the body mass point is a point having a fixed positional relationship with a representative point of the body 3 in a local coordinate system arbitrarily fixed to the body 3.
  • each foot mass point is a point having a certain positional relationship with a representative point of the foot 22 in a local coordinate system arbitrarily fixedly set to the corresponding foot 22.
  • This kinetic model is, for example, the kinetic model exemplified in PCT International Publication WOZ03Z057427ZA1 previously proposed by the present applicant. Therefore, the detailed description is omitted here.
  • the dynamics of the dynamics model is expressed by equations 2a-2c when the variables are defined as follows.
  • a dynamic equation a motion and a floor reaction force
  • a sagittal plane a plane including a longitudinal axis (X axis) and a vertical axis (Z axis)
  • Only the relational expression is described, and the dynamic equation on the lateral plane (plane including the left and right axes (Y axis) and the vertical axis (Z axis)) is omitted.
  • Zsu P 2 Vertical position of support leg mass point
  • Z SW g2 Vertical position of free leg mass point
  • Zb2 Vertical position of upper body mass point
  • ZGtotal2 Vertical position of overall center of gravity
  • Xsup2 Horizontal position of support leg mass point
  • Xswg2 Horizontal leg of free leg mass point position
  • Xb2 the body mass point horizontal position
  • XGtotal2 total center-of-gravity horizontal position
  • theta by2 body posture angle around the Y axis with respect to the vertical direction (tilt angle)
  • mb2 the body mass point mass
  • ms U p2 supporting leg mass point Mass
  • mswg2 Mass of swing leg mass
  • J Upper body moment of inertia (equivalent moment of inertia in body rotation mode)
  • Fx Floor reaction force horizontal component
  • ZGtotal2 (mb2 * Zb2 + msup2 * Zsup2 + mswg2 * Zswg2) / mtotal
  • XGtotal2 (mb2 * Xb2 + msup2 * Xsup2 + mswg2 * Xswg2) / mtotal ... Equation 2e
  • the dynamics of the legs 2 and 2 the dynamics of each mass 2m and 2m
  • the dynamics of the mass 24m and the flywheel FH 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).
  • 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 floor reaction force generated by the rotation movement of the posture angle of the body 3 (body rotation mode).
  • the mass of the arm of the robot 1 is included in the upper body mass 24m, and the upper 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.
  • the full model used by the full model correction unit 100c is a multi-mass model having a mass at each link of the robot 1 as shown in Fig. 8, for example.
  • each link of the robot 1 may have an inertia around the corresponding mass point.
  • the gait generator 100 includes a target gait for a one-step period from when one leg 2 of the robot 1 lands to when the other leg 2 lands (in the narrow sense described above). Using the desired gait) as a unit, the desired gaits for that one step period are generated in order.
  • a current gait is referred to as a “current gait”
  • a next target gait is referred to as a “next gait”
  • a next target gait is referred to as a “next next gait”.
  • the target gait generated just before the “current gait” is called the “previous gait”.
  • the “current gait” corresponds to the “target gait in a predetermined period” in the present invention.
  • the gait generator 100 When the gait generator 100 newly generates the current time's gait, the gait generator 100 includes a planned landing position / posture of the free leg side foot 22 up to two steps ahead of the robot 1. A 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, Correction target Generate floor reaction force moment trajectory, etc.
  • the required parameters include the required landing position and posture of the free leg side foot 22 up to two steps ahead, the required landing time, a request for the reference body posture, and a request for the body posture.
  • Parameters that specify the requirements for relative arm posture, the requirements for the target floor reaction force vertical component pattern, and the requirements for the floor friction force (or friction coefficient) are also included.
  • a request for the reference body posture is, for example, a request for maintaining the body posture in a vertical posture
  • a request for the arm posture is, for example, for maintaining the arm posture in a predetermined posture with respect to the body 3. It is a request.
  • the demand for the pattern of the target floor reaction force vertical component is that the target floor reaction force vertical component is set to 0 during the aerial period of the robot 1, and the target floor reaction force vertical component is set to a trapezoidal pattern during the one-leg support period. It is a requirement that it be changed by In addition, the requirement for the frictional force of the floor is based on how much the target floor reaction force horizontal component falls within the range of the frictional force limit determined by the product of the target floor reaction force vertical component and the friction coefficient (required value). Such a request.
  • FIG. 9 shows the main routine of the gait generation process executed by the gait generator 100. It is a flowchart (structured flowchart) shown. The procedure itself of the main routine processing is the same as that described by the present applicant except for a part of the subroutine processing.
  • Patent Document 1 PCT International Publication WOZ03Z057427ZA1
  • 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 arithmetic processing cycle in the flowchart of FIG. 9).
  • the control cycle is At.
  • the process 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.
  • the required parameters to be given to the gait generator 100 by the joystick 44 and the like are the expected landing position / posture of the free leg foot 22 up to two steps ahead (the force when the foot 22 lands and 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 required values for the first step and the two steps
  • the requested values of the eyes are given to the gait generator 100 before the start of generation of the current time's gait (the switching of the gait in S016), respectively, corresponding to the current time's gait and the next time's gait. It is. These required values can be changed even during the generation of the gait this time.
  • the next time's gait support leg coordinate system is set in accordance with the required value of the scheduled landing position / posture of the first free leg foot 22 (the free leg foot 22 in the current time's gait) in the above request parameters. Is determined. Further, the gait support leg coordinate system is determined one after another according to the required value of the expected landing position and orientation of the free leg foot 22 of the second step. The gait cycle this time is scheduled to land on the support leg foot 22 of the gait The time from the time (required value) to the scheduled landing time (required value) of the swing leg foot 22 of the first step (this time's gait) is determined. Is determined from the scheduled landing time (required value) of the second step to the scheduled landing time (required value) of the second free leg foot 22.
  • the gait generator 100 determines a gait parameter of a normal gait (normal gait parameter) as a virtual periodic gait following the current time's gait.
  • the gait parameters determined here include a foot trajectory parameter that specifies a desired foot position / posture trajectory of each foot 22 in a normal gait, and a reference body posture trajectory that specifies a reference body posture trajectory.
  • Parameters, arm posture trajectory parameters that specify the target arm posture trajectory, ZMP trajectory parameters that specify the target ZMP trajectory, floor reaction force vertical component trajectory parameters that specify the target floor reaction force vertical component trajectory, and target floor reaction force horizontal component There is a parameter that defines an allowable range.
  • the "normal gait” indicates that the motion state (state of the foot position / posture, body position / posture, etc.) of the robot 1 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 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 is a running gait for running the robot 1 (a gait having a one-leg support period and an aerial period), for example, the first turning gait and the second turning gait of the normal turning gait are performed.
  • the gait is also a running gait, and is a walking gait that walks the robot 1 (one leg support period and two legs (A gait having a 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 determines the divergence component at the end of the current time's gait, the body vertical position velocity, the body posture angle, and the motion state quantities of the robot 1 such as the angular velocity at the end of the current time's gait. Therefore, the gait generator 100 does not output the gait generator 100 as it is.
  • 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 3
  • is a predetermined value. Note that the divergent component in the gait is obtained using the body horizontal position and the body horizontal speed, respectively, instead of the body mass point horizontal position and the body mass point horizontal velocity in Equation 3.
  • a gait (current gait) is generated using a divergent component as an index so that a desired gait is continuously generated without causing the divergence. That is, a normal gait (more precisely, a normal gait parameter) following the current gait for which this force is to be generated is determined according to the required parameters related to the current gait, and the initial gait of the normal gait is determined. After obtaining the divergent component, the terminal divergent component of the current time's gait is matched with the initial divergent component of the normal gait (more generally, the current time's gait is made continuous or close to the normal gait). Generate a gait.
  • the gait parameters of the normal gait are determined according to the flowchart of the subroutine process shown in FIG. That is, the foot trajectory parameter, the reference body posture trajectory parameter, the arm trajectory parameter, the ZMP trajectory parameter, the floor reaction force vertical component trajectory parameter, and the target floor reaction force horizontal component allowable range relating to the normal gait are defined.
  • the parameters are determined by the processing of S100-S110.
  • 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 parameters of the normal gait determined by the forces S100-S110 are omitted. Are determined so that the trajectory defined by the above parameters satisfies the periodicity of the normal gait and satisfies the gait requirement expressed by the above-described required parameters with priority.
  • the foot trajectory parameter of the normal gait as described with reference to the flowchart of FIG. 15 of the above-mentioned publication 1 is the scheduled landing position / posture of the free leg foot 22 of the first turning gait following the current time gait.
  • the expected landing position / posture viewed in the coordinate system of the next time's gait support leg matches the aforementioned expected landing position / posture (request value) of the second step, and the free leg foot 22 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 support leg foot 22 and changes continuously over the entire period of the normal gait. It is determined.
  • the initial time Ts of the normal gait redefined in S112 of Fig. 10 is the time of the start point of one cycle when this gait for one cycle of the normal gait is created as described later (this is In the present embodiment, this means a time different from the end time of the current time's gait), and is a time immediately before the start of the aerial period (time when the desired floor reaction vertical component becomes zero) 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 is a gait in which the state at any time Tx (the state of the position and posture of each part of the robot 1 and the speed of change thereof) is the same as the state at time Tx + Tcyc due to its periodicity. Since the normal gait is a periodic gait in which a gait of two steps is defined as one cycle, in this specification, the period of one cycle (the sum of the first gait and the second gait) Time) for normal gait Consider one step period.
  • the parameters of the normal gait determined in the processing of S100-S110 are parameters determined so as to preferentially satisfy the request for the normal gait, It corresponds to the priority parameter, and the determined value corresponds to the priority parameter request value. Therefore, the processing of S100-S110 corresponds to the priority parameter request value determining means in the second invention. Also, the parameters of the normal gait determined in the processing of S100-S110 are not all the parameters constituting the normal gait parameters. In addition to this, the gait parameters of the normal gait include various parameters.
  • the position and velocity of the body 3, the posture angle and the angular velocity of the body 3, and the peak value of the body inclination restoration moment ZMP conversion value described later are calculated at the boundary of the normal gait 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 respective dynamic models described above.
  • the non-priority parameters include parameters determined in a search manner as described above (search target parameters in the second invention).
  • the non-priority parameters of the normal gait parameters include parameters that are fixedly determined without depending on the requirements regarding the gait or the boundary conditions regarding the gait.
  • the lifting height of the free leg foot 22 of the robot 1 is a fixed parameter. Since it is useless to set the fixed parameters in the processing from S100 to S110 for each control processing cycle, the force stored in the ROM or the control unit 60 May be set in various initialization processing (S010 in Fig. 9) immediately after the power is turned on.
  • the body posture at the beginning of the normal gait (the time Ts) is the same as the reference body posture, and is determined dependently on the reference body posture trajectory parameter force.
  • a parameter for which one higher-level parameter power is also determined dependently has the same attribute as the higher-level parameter (power that is a priority parameter, power that is a non-priority parameter, parameter to be searched, or fixed Attribute of whether the parameter is a generic parameter).
  • the lower-level parameters are also regarded as search-target parameters, and the upper-level parameters are determined. If the search parameter does not include the search target parameter and does include the priority parameter, the lower parameter is regarded as the priority parameter.
  • search parameter does not include the search target parameter and does include the priority parameter, the lower parameter is regarded as the priority parameter.
  • the process then proceeds to S024, where 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), the initial body vertical position speed (the initial body position in the vertical direction) And initial body velocity), an initial divergent component, an initial body posture angle and its angular velocity.
  • the calculation of this initial state is performed by a search process according to the flowchart of the subroutine process of FIG. Note that the initial state of the normal gait finally determined in the processing of FIG. 11 is the state at the end time of the current time gait (the original initial time 0 of the normal gait). Until the processing of S2008 of 11 is completed, the state at the initial time Ts set in S112 of FIG. 10 is set as the initial state of the normal gait.
  • the subroutine processing of Fig. 11 will be described.
  • S2000 the final determination was made in the processing of S022 and S024 when the previous gait (gait one step before the current gait) was generated.
  • the second turning gait parameters including the initial (time Ts) body position Xs and its change velocity Vxs, the initial (time Ts) body posture angular velocity ⁇ bs, and the body tilt restoration moment ZMP converted value peak value ZMPrecpeek ( Each parameter of the gait parameter that defines the second turning gait)
  • the value is a provisional value of each parameter of the first turning gait parameter of the normal turning gait corresponding to the current time's gait.
  • the body tilt recovery moment ZMP converted value peak value ZMPrecpeek is determined in the one leg support period of the robot 1 (more specifically, the period from immediately after the start of the one leg support period to immediately before the end.
  • ZMP converted value of the floor reaction force moment required to bring the body posture closer to the reference body posture during the tilt angle restoration period ZMPrec reference target ZMP (specified by the ZMP trajectory parameters determined in S022)
  • FIG. 20 shows the peak value of the deviation amount from the target ZMP).
  • ZMPrec has a trapezoidal pattern as shown in the figure, and its peak value (height of the trapezoid) is 3 ⁇ 4MPrecpeek.
  • each parameter value of the first turning gait parameters (parameters defining the first turning gait) finally determined in the processing of S022 and S024 when the previous time's gait is generated is further changed.
  • the provisional value of each parameter of the second turning gait parameter of the normal turning gait corresponding to the current time's gait is used.
  • the initial state of the body 3 in the normal turning gait corresponding to the previous time's gait is included in the turning gait parameter in the present embodiment.
  • the time Ts is different from the original initial time 0, and the initial state of the upper body 3 at the original initial time 0 is also a force that becomes the same as the state of the upper body 3 at an intermediate time in the second turning gait.
  • the above is the processing of S2000.
  • the process of S2000 is based on the first turning gait parameter and the second turning gait parameter candidate of the normal turning gait corresponding to the current time's gait. This means to match the second turning gait parameter and the first turning gait parameter of the turning gait.
  • the normal turning gait is set using the dynamic model based on the normal turning gait parameters, which are the first turning gait parameter and the second turning gait parameter corresponding to the current time's gait. When generated, the normal turning gait satisfies the boundary conditions of the normal turning gait.
  • the normal turning gait parameters corresponding to the first turning gait parameter and the second turning gait parameter corresponding to the current time's gait set as described above correspond to the base normal gait parameter in the second invention. Is what you do.
  • an initial (Ts) body horizontal position Xs, an initial (Ts) body horizontal velocity, and an initial (Ts) body posture are search objects (search object parameters).
  • search object parameters search object parameters.
  • Priority parameters of normal gait parameters except ZMPrecpeek are changed from the current candidate value (the value set in S2000) to the value determined in S022. Update to a value closer by the specified amount.
  • the initial state of the foot position / posture, the body posture angle ⁇ bs, and the arm posture (the normal turning gait based on the current steady turning gait parameters) (The state at the initial time Ts).
  • 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 time Ts in the foot position / posture trajectory calculated using the finite time settling filter based on the foot trajectory parameters of the current normal gait parameters.
  • 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 time Ts when the reference body posture trajectory parameter force of the current normal gait parameter is also determined, and the initial state of the arm posture is Current normal gait Determined the same as the state at time Ts determined by the arm posture trajectory parameters of the nomometer [0135]
  • the initial (time Ts) body horizontal position, initial body horizontal velocity, initial body posture angular velocity, and body tilt restoration moment ZMP converted value peak value (Xsl, Vxl, co bsl, ZMPrecpeekl) are set as the initial candidates for these search targets.
  • These search target values are the values as viewed in the support leg coordinate system of the first turning gait (the above-mentioned next time gait support leg coordinate system).
  • S1202 The processing of S1218 will be described more specifically.
  • S1202 the upper body vertical position and the upper body vertical position of a normal gait (time Ts) on the dynamic model are described.
  • the speed (Zs, Vzs) is determined.
  • the resultant of the vertical inertial force and gravity of the overall center of gravity of the robot 1 on the dynamic model is balanced with the desired floor reaction force vertical component, and the vertical position of the overall center of gravity is the boundary of the normal gait. It is determined to satisfy the condition.
  • This process is performed in the same manner as the process of S206 in FIG. Note that (Zs, Vzs) depends on the search target Xs, Vxs, 0bs, and cos. Therefore, (Zs, Vzs) has an attribute as a subordinate search target parameter.
  • the upper body horizontal position, the upper body horizontal velocity, the upper body posture angle and the angular velocity of the end of the normal gait generated in S 1208 are represented by the supporting legs of the next one step of the normal gait. Convert to a coordinate system (the supporting leg coordinate system of the first turning gait following the second turning gait of the normal gait) and convert that value to (Xel, Vxel, ⁇ bel, cobel).
  • a cobs, ⁇ ZMP Recpeek is changed and a plurality (four in this embodiment) of search target candidates are determined, and a normal gait parameter including each search target candidate (the current normal gait parameter search target) Based on the normal gait parameters corrected for each newly determined candidate, the same processing as in steps S1206 to S1212 is executed to find the boundary condition error corresponding to each candidate to be searched.
  • a search method such as the steepest descent method or the simplex method is used based on the boundary condition errors corresponding to the current (Xs, Vx, cobs, ZMPrecpeek) and each of the candidates for search in the vicinity thereof. Then, a new candidate for the search target (Xs, Vx, cobs, ZMPrecpeek) is determined. Then, the processing from S 1206 is repeated again.
  • 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 body inclination restoring moment ZMP converted value peak value, and this point is the same as the processing shown in FIG. Is different.
  • a part of the detailed processing (subroutine processing) of the processing of S1208 described later is different from that of the above-mentioned publication 1.
  • Fig. 13 which is the subroutine processing of S1208, the current value (candidate value or tentatively determined value) of (Xs, Vxs, ⁇ bs, cobs, Zs, Vzs) is a normal gait as shown in the figure.
  • initial state of the movement of the upper body 3 in (S300) instantaneous values of the normal gait from the initial (time Ts) state to time Ts + Tcyc (up to the end state) are actually created in time series. (S302-S306).
  • “k” in FIG. 13 is a time-series time of the instantaneous value of the normal gait to be created.
  • the instantaneous values of the body horizontal acceleration and the body posture angular acceleration are determined by the processing of S412 using the dynamic model so as to satisfy the conditions described in the figure. Then, through the process of S414, the body horizontal acceleration and the body posture angular acceleration are respectively integrated by the second order, and the instantaneous values of the body horizontal position and the body posture angle are determined.
  • times Tm, Ts2, and Tm2 that define the body inclination angle restoring period of the normal gait are determined. These times are As shown in FIG. 20, the period for generating the body inclination restoring moment ZMP conversion value ZMPrec is defined. That is, the time immediately after the start of the first one-leg support period after the initial time Ts of the normal gait is Tm, the time immediately before the end of the one-leg support period is Ts2, and the time immediately after the start of the next one-leg support period. Is determined as Tm2.
  • the period [Tm, Ts2] and the period [Tm2, Te] are respectively defined as a period during which ZMPrec is generated (hereinafter referred to as a body tilt angle restoration period). This is the same as the processing in S500 of FIG.
  • the target ZMP is satisfied on the dynamic model by the processing of S504-S516 and the dynamic model Body horizontal acceleration in body translation mode so that the floor reaction force horizontal component that balances the inertial force due to the horizontal acceleration of the overall center of gravity of robot 1 above falls within the instantaneous value of the floor reaction force horizontal component allowable range at time k.
  • ⁇ and the body angular acceleration j8 angular acceleration of the body posture angle
  • the processing of S504-S516 is the same as the processing of S504-S516 in FIG.
  • the body angular acceleration j8 becomes the power by the processing of S518—S526.
  • the instantaneous value of the body tilt restoration moment ZMP converted value pattern (this is the currently set, the body tilt restoration moment ZMP converted value peak value (determined immediately before the processing of S1208 in FIG. 12) Determined in accordance with the determined candidate value) and the current time k. (See FIG. 20).
  • the floor reaction force moment corresponding to the target ZMP is determined to be generated around the target ZMP.
  • the body horizontal acceleration is defined as the body horizontal acceleration that causes the floor reaction force moment around the target ZMP generated by the body translation mode to be zero on the dynamic model, and the target ZMP based on the body angular acceleration j8. It is obtained as the difference between the surrounding floor reaction force moment and the horizontal body acceleration that generates the same floor reaction force moment.
  • the body posture is restored to the reference body posture while the body posture is accelerated so that the target ZMP is satisfied.
  • the body horizontal acceleration OC are determined.
  • the current value of the priority parameter of the normal gait parameter in S2002-1 (candidate value before update) is the value of the priority parameter of the provisional value of the normal gait parameter determined in S2000.
  • the provisional value determined in S2000 is used as an initial candidate value to be searched.
  • the value of the priority parameter before updating is the provisional value determined in S2000 as described above).
  • the value set at the start of the processing of S2004-k is set as the initial value complement (initial value candidate set in S1202 in Fig. 12) of the search target Xs, Vx, cobs, and ZMPrecpeek. That is, the value of the search target finally searched in the process of S2004— (k 1) is used (in S2004-1, the initial value candidate of the search target is This is the provisional value determined in S2000).
  • the value (temporary value) of the priority parameter 1 of the normal gait parameter determined in S2000 is set as an initial value, and the value of the priority parameter is determined in steps S022. (This is the priority parameter value (priority parameter request value) for satisfying the gait requirement this time), and the value of the priority parameter is updated step by step. (S2002-1, S2002-2, ??, S2002-n). Therefore, the processing of S2002-1, S2002-2,..., S2002-n corresponds to the priority parameter asymptotic means in the second invention.
  • the value of the search target of the normal gait parameter including the updated priority parameter is set as the initial value candidate using the value determined immediately before the update as the initial value candidate.
  • a search is performed so as to satisfy the boundary condition, and the normal gait parameter Taka S including the search target of the search result is newly determined (S2004-1, 2004-2, ..., S2004-n). Therefore, the processing of S2004-1, S2004-2,..., S2004-n corresponds to the new normal gait parameter determination means in the second invention, and the search target finally determined by the respective processings
  • the normal gait parameter including is equivalent to the new normal gait parameter in the second invention.
  • the new normal gait parameter finally determined in S2004-n is used as the gait parameter of the normal gait that should follow the current gait to be generated.
  • the total number of repetitions n of the above-described repetition processing is a difference between the value of the priority parameter of the normal gait parameter determined in S2000 and the value of the priority parameter (priority parameter request value) determined in S022. Is determined according to Further, among the normal gait parameters, the parameters (fixed parameters) other than the priority parameter and the search target parameter are maintained at the values of the normal gait parameters determined in S2000.
  • the normal candidate normal turning gait (the normal gait last created in the processing of S2004-n) is performed.
  • the initial body horizontal position X0, initial body horizontal velocity VxO, initial body posture angle ⁇ bO and its angular velocity co bO which are the motion states of the body 3 of the normal gait at the initial time 0
  • the initial body vertical position Z0 and the initial body vertical velocity VzO are obtained.
  • the original turning gait of the normal The steady turning initial divergence component q [0], which is the divergence component at period time 0, is obtained.
  • the values obtained in S2006 and S2008 are the values seen in the supporting leg coordinate system of the first turning gait of the normal turning gait following the current time gait.
  • the steady turning initial divergence component q [0] is a value q ", which is a value viewed from the support leg coordinate system of the current time's gait, and the initial body vertical position 'speed is the force of the current time's support leg coordinate system. Find the value (Z0 ", VzO").
  • the priority parameters are gradually determined in S022.
  • the normal gait parameters that satisfy the boundary conditions of the normal gait are newly determined each time the update is performed so as to approach the value of the gait priority parameter). For this reason, a normal gait that satisfies the boundary conditions of the normal gait is created efficiently and in a short time without divergence of the body position and posture, and the normal gait corresponding to the current time gait is created.
  • the initial state can be determined appropriately.
  • the gait parameters of the current time's gait are determined (partially 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 time's gait.
  • the body inclination angle restoration period [Ta, Tb] in the current time's gait is set.
  • parameters that define each trajectory are determined so as to lead to a normal gait while satisfying the above-mentioned requirements for the current time's gait.
  • the foot trajectory parameters relating to the free leg foot 22 of the current time's gait are calculated at the end of the current time's gait while the landing position, posture, and time of the free time foot 22 satisfy the required values.
  • the position and orientation of the free leg foot 22 match at the beginning of the normal gait (at the end of the current gait). Is determined as follows.
  • the ZMP trajectory parameter determined in S610 is a parameter that defines the ZMP trajectory (temporary target ZMP trajectory) used as the reference of the current time's gait, and an example of the temporary ZMP trajectory defined by the parameter ( An example of a trajectory in the X-axis direction is shown at the top of FIG.
  • the ZMP trajectory parameters indicate that the target ZMP is located near the center of the contact surface of the supporting leg foot 22 during the one leg support period of the current time's gait, and the target ZMP during 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. 22, and is a period from immediately after the start of the one leg support period to immediately before the end of the current time's gait. .
  • the parameters of the current time's gait determined in the processing of S600-S610 are parameters determined to satisfy the request relating to the current time's gait preferentially.
  • the parameter of the current time's gait determined by is equivalent to the priority parameter in the first invention, and the determined value is equivalent to the priority parameter request value. Therefore, the processing of S600-S610 corresponds to the priority parameter request value determining means in the first invention.
  • the parameters of the current time's gait determined in the processing of S600-S610 are not all the parameters constituting the current time's gait parameter. As with the normal gait parameter, the gait parameters of the current time's gait include various other parameters.
  • a ZMP correction that defines a ZMP correction amount for correcting a ZMP trajectory parameter
  • the parameters and the body tilt restoration moment ZMP converted peak values are included. These parameters are parameters determined exploratively in the processing of S028 described below so as to satisfy the boundary condition of the current time's gait (the condition for approaching a normal gait).
  • the non-priority parameters include the parameters determined exploratively as described above (the first Search target parameter in the light).
  • the non-priority parameters include fixed parameters that do not depend on gait requirements or gait boundary conditions (for example, the lifting height of the free leg foot 22 of the robot 1).
  • the gait parameters (ZMP trajectory parameters) of the current time's gait are corrected (final current time's gait parameters are determined).
  • the divergent component at the end of the current time's gait matches the initial divergent component q "of the normal turning gait determined in S024 (more specifically, the body position / posture trajectory is made continuous with the normal gait, or
  • the gait parameters of the current time's gait are corrected to determine the final current time's gait parameters (more specifically, two types of peaks, the ZMP correction parameter and the body tilt recovery moment ZMP converted value).
  • This process is performed by a stepwise search process according to a subroutine process shown in the flowchart of FIG.
  • the ZMP correction parameter a finally determined in the processing of S026 and S028 when the gait was generated last time, and the converted value of the body tilt restoration moment
  • the parameter values of the current time's gait parameters including the first peak value ZMPrecpeeka and the second peak value ZMPrecpeekb are assumed to be temporary values of the current time's gait parameters to be generated.
  • the gait parameters of the previous time's gait are reversed, and then the gait parameters are assumed to be provisional values of the current time's gait.
  • the foot trajectory parameters on the supporting leg side, the foot trajectory parameters on the free leg side, and the provisional values of the ZMP trajectory parameters of this time's gait are set by reversing these parameters of the previous time's gait. Is done.
  • the body tilt restoration moment obtained (searched) in the process of the flowchart of Fig. 17 is the first peak value ZMPrecpeeka and the second peak value ZMPrecpeekb of the ZMP conversion value, and the upper body tilt of this time's gait is In the angle restoration period [Ta, Tb], the body posture was brought closer to the reference body posture.
  • Body tilt recovery moment in normal gait Peak force of ZMP conversion value was one force Body posture angle and its angular velocity at the end of the current time gait are the initial body posture angle of normal gait, respectively
  • a first peak value ZMPrecpeeka and a second peak value ZMPrecpeekb are used as two adjustable parameters of the body tilt recovery moment ZMP conversion value so as to match the angular velocity with the angular velocity.
  • the ZMP-converted value of the body tilt restoring moment in this time's gait is obtained by combining 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 process of the flowchart of Fig. 17 connects the current gait to a normal gait (the divergent component at the end of the current gait is substantially equal to the initial divergent component q "of the normal gait). It is a parameter that defines the target ZMP correction amount for matching), and an example is shown in the middle of Fig. 22.
  • the ZMP correction amount as shown is immediately after the start of the one-leg support period. It is a trapezoidal pattern that is generated until just before the end, and its peak value a is used as a ZMP correction parameter that defines the ZMP correction amount pattern.
  • the process of S2100 described above is for the time being the gait parameter of the previous gait (which has already been determined to satisfy the boundary conditions of the gait) inverted this time.
  • the gait is set as a gait parameter.
  • the current time's gait is generated using the dynamic model based on the current time's gait parameters set in this way, the current time's gait is the previous time's gait already determined to satisfy the boundary condition of the gait. Will be the same as the one with the left and right reversed.
  • the current time's gait parameters set as described above correspond to the base gait parameters in the first invention. Therefore, the process of S2100 corresponds to the base gait parameter setting means in the first invention.
  • the gait this time is a gait that includes the gaits of two steps of robot 1, the previous gait without reversing left and right (gait two steps before)
  • the gait parameters of the gait may be set as temporary values of the gait parameters of the current time gait in S2100.
  • Yes ⁇ May set the temporary value of the gait parameter of the current time's gait as the gait parameter of the previous last time's gait.
  • the ZMP correction parameter a which is the search target (search target parameter), and the body posture inclination restoration moment, the first peak value ZMPrecpeeka and the second peak value of the ZMP conversion value
  • Priority parameters of the current time's gait parameter except for the value ZMPrecpeekb are updated from the current candidate value (the value set in S2100) to a value that is closer to the value determined in S026 by a predetermined amount. I do.
  • the current gait A search object a which satisfies the boundary condition (the condition that the divergent component at the end of the current time's gait matches or almost matches the initial divergent component of the normal gait)
  • ZMPrecpeeka ZMPrecpeekb is determined exploratively. This process is performed as shown in the flowchart of FIG. Similar to the description of the processing of FIG. 12, the following description of the processing of FIG. 18 (including the subroutine processing in the processing) is based on the values of the parameters of the gait parameters.
  • the “current value” related to is used to mean “candidate value or provisional value currently set (at the time of execution of the process) of the corresponding parameter”.
  • current ⁇ (where ⁇ is a certain parameter) means “present (current execution time of the corresponding process) candidate ⁇ ”.
  • the ZMP correction parameter to be searched the first peak value and the second peak value (a, ZMPrecpeeka, The current value of ZMPrecpeekb) is set as an initial value candidate for these search targets.
  • the current time's gait (temporary current time's gait) is calculated using the current value of ZMPrecpeekb (current candidate value) and the dynamic model.
  • search target a, ZMPrecpeeka, ZMPrecpeekb The provisional current time gait is calculated using a gait parameter including the current value and the current value of the priority parameter, and a dynamic model. The more specific processing of S1704 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) and the initial divergent component q "( The 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). And the difference between the angular velocity of the body posture angle at the end of the provisional gait and the initial body posture angular velocity of the normal gait (finally calculated in S024).
  • the terminal divergence component qO [k] of the current time's gait is calculated from the body position velocity (Xe, Ve) at the terminal of the provisional current time's gait. It 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 current time gait is obtained as a 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 current time gait is determined as the terminal body posture angular velocity error ⁇ berr.
  • the errors errq, 0 berr, and co berr determined as described above represent the degree of deviation of the provisional current time gait created in S1704 from the boundary conditions.
  • a plurality (three in this embodiment) of search target candidates are determined by changing the value of each parameter by a predetermined minute amount Aa, ⁇ ZMPrecpeeka, ⁇ ZMPrecpeekb.
  • the steepest descent method is performed based on the set of errors (errq, ⁇ berr, co berr) corresponding to the current (a, ZMPrecpeeka, ZMPrecpeekb) and each of the nearby search target candidates.
  • the search target (a,
  • New candidates for ZMPrecpeeka, ZMPrecpeekb) are determined. Then, the process of S 1704 force is repeated again.
  • a new current time gait parameter that satisfies the boundary condition at the end of the current time gait is determined in a searchable manner.
  • the priority parameters (foot trajectory parameters, reference body posture trajectory parameters, etc.) of the current time's gait parameters are maintained at the values at the start of the process of FIG.
  • the instantaneous values of the body horizontal acceleration and the body posture angular acceleration are determined using the dynamic model so as to satisfy the conditions described in the figure. Then, through the process of S414, the body horizontal acceleration and the body posture angular acceleration are respectively integrated by the second order, and the instantaneous values of the body horizontal position and the body posture angle are determined.
  • the processing in Fig. 15 which is the subroutine processing of S412 when creating the provisional current time gait is performed in the same manner as in the case of the normal gait. That is, when the current time k (time in the provisional current time gait being created) at which the instantaneous value of the provisional current time gait is to be created is not the time within the body inclination angle restoration period, the processing of S504—S516 is performed. ⁇
  • the floor reaction force horizontal component that satisfies the target ZMP (target ZMP corrected by the ZMP correction amount) and balances the inertial force due to the horizontal acceleration of the entire center of gravity has the floor reaction at time k.
  • the body horizontal acceleration ⁇ in the body translation mode and the body angle acceleration ⁇ (angular acceleration of the body posture angle) in the body translation mode are within the instantaneous value of the force horizontal component allowable range. It is determined.
  • the body angle acceleration j8 becomes On the dynamic model, the instantaneous value of the body tilt recovery moment ZMP converted value pattern (this is the current value (candidate value) of the first peak value ZMPrecpeeka and the second peak value ZMPrecpeekb of the body tilt recovery moment ZMP converted value, It is determined according to the time k. (See Fig. 21) to determine the floor reaction force moment.
  • the body horizontal acceleration is the same as the body horizontal acceleration on the dynamic model because the floor reaction force moment around the target ZMP (target ZMP corrected by the ZMP correction amount) generated in the body translation mode becomes zero.
  • the body angular acceleration ⁇ and the body horizontal acceleration OC are determined so as to satisfy the target ZMP while restoring the body posture toward the reference body posture.
  • the body tilt angle restoring period when the provisional current time gait is generated is a period from time Ta determined at S612 in FIG. 16 to Tb, the processing in S500 in FIG. 15 is omitted.
  • the processing of S2102-l and 2104-1 in Fig. 17 described above, in short, is that the value of the priority parameter of the gait parameter this time (foot trajectory parameter, etc.) is set to the current value ( From the current candidate value), the value is updated by approaching the value determined in the processing of S026 (specifically, the processing of S600-S610 in FIG. 16) by a predetermined amount, and the updated priority parameter is included in the boundary condition of the current time's gait.
  • This is a process to search for a new current time gait parameter that can satisfy the condition on the dynamic model. In this process, (a, ZMPrecpeeka, ZMPrecpeekb) is to be searched.
  • the current value of the priority parameter of the current time gait parameter in S2102-1 (the candidate value before updating) is the value of the priority parameter of the temporary value of the current time gait parameter determined in S2100.
  • the provisional value determined in S2100 is used as the initial candidate value of the search target.
  • ZMPrecpeekb The value of ZMPrecpeekb is determined exploratively, and a new current time gait parameter is determined.
  • the value of the priority parameter before the update is the provisional value determined in S2100 as described above).
  • the processing of S2104-k is started as initial value candidates (initial value candidates set in S1700 in FIG. 18) of the search target Xs, Vx, cobs, and ZMPrecpeek.
  • the value set at that time, that is, the value of the search target finally searched in the process of S2104— (k 1) is used (In S2104-1, the initial value candidate of the search target is This is the provisional value determined in S2100).
  • the value of the priority parameter is determined in a stepwise manner in the value determined in the process of S026 ( This is the priority parameter value (priority parameter request value) for satisfying the gait requirement this time), and the value of the priority parameter is updated step by step.
  • the values are made to match the values determined in the processing (S2102-1, S2102-2,..., S2102-n). Therefore, the processing of S2102-1, S2102-2,..., S2102-n corresponds to the priority parameter asymptotic means in the first invention.
  • the value to be searched for the current time's gait parameter including the updated priority parameter is set as the initial value candidate using the value determined immediately before the update as the initial value candidate.
  • a search is performed to satisfy the boundary condition, and the current time's gait parameter force s including the search target of the search result is newly determined (S2104-1, 2104-2,..., S2104-n). Therefore, the processing of S2104-1, S2104-2,..., S2104-n corresponds to the new gait norameter determination means in the first invention, and the search finally determined by each processing is performed.
  • the current time's gait parameter including the object corresponds to the new gait parameter in the first invention.
  • the new current time gait parameter finally determined in S210 4 n is the gait parameter of the current time's gait to be generated.
  • the total number of repetitions n of the repetition processing described above is the difference between the value of the priority parameter of the current time gait parameter determined in S2100 and the value of the priority parameter (priority parameter request value) determined in S026. Is determined according to Further, among the current time's gait parameters, parameters (fixed parameters) other than the priority parameter and the search target parameter are maintained at the values of the current time's gait parameters determined in S2100.
  • the priority parameter of this time's gait parameter which was determined in the past so as to satisfy the boundary condition of this time's gait, was gradually determined in S026 (the priority parameter of this time's gait to be generated) While updating it to be close to the value of The current time's gait parameter that satisfies the boundary condition is newly determined. Therefore, this time's gait that satisfies the boundary condition can be efficiently created in a short time without divergence of the body position and posture.
  • the flow advances to S034, where the motions of the arms 5, 5 for canceling the spin (rotation about the vertical axis) of the robot 1 are determined.
  • the robot 1 is moved according to the target gait without swinging the arm of the robot 1, the floor reaction force moment in the direction opposite to the vertical component of the floor reaction force moment generated around the target ZMP is calculated.
  • the postures of the arms 5 and 5 are determined so as to be generated by swinging the arms 5 and 5 (movements of swinging the arms 5 and 5 in the forward and backward directions). The same is done. The details thereof are described in the official gazette of the publication 1, and further description is omitted here.
  • the instantaneous value of the ZMP allowable range for full model correction (for processing of the full model correcting unit 100e) and the instantaneous value of the floor reaction force horizontal component allowable range are determined. Is performed. In this process, the gait is determined based on the gait parameters defining the ZMP allowable range and the floor reaction force horizontal component allowable range determined in S030.
  • 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 generating device 100 according to the present embodiment has been described above.
  • 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 is used to change arm joints that satisfy the target arm posture.
  • the position designation (value) is calculated and sent 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 determining 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.
  • 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 determination unit 104 adjusts the corrected target foot reaction force with the mechanical deformation compensation so as to match the actual robot state and the floor reaction force for which the force such as a sensor detection value is also calculated with the corrected target floor reaction force.
  • 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.
  • the gait parameters are gradually updated from those corresponding to the previous gait (gaits determined in the past).
  • a standard (reference) gait parameter that satisfies the boundary conditions of the gait is prepared (created) and stored and stored.
  • the gait parameters may be gradually updated starting from this. For example, the planned landing position / posture of the free leg foot 22 related to the foot trajectory parameter of the current time's gait is changed from the position / posture when stepping on the same position of the mouth bot 1 to the position / posture corresponding to the required value. You may make it update gradually, and may update a walking cycle gradually.
  • the divergent component at the end of the current time's gait is substantially matched with the initial divergent component of the normal time's gait.
  • the search target of the current time's gait parameter was searched and determined so as to satisfy the boundary condition, but the upper body position (horizontal position and vertical position) of the terminal of the current time's gait and the upper body speed ( (Horizontal speed and vertical speed) are almost the same as the initial body position and body speed of the normal gait, respectively, as the boundary conditions of the current time's gait. Search and decide!
  • the weighted average value of the position of the entire center of gravity of the robot 1 at the end of the current time's gait and the speed of change thereof may be substantially equal to the weighted average value at the beginning of the normal gait as a boundary condition.
  • the search target of the current time's gait parameter may be determined so as to satisfy the boundary condition.
  • the weighted average value or the divergent component of the robot 1 may be used as a search target for the normal gait parameters in order to satisfy the boundary condition of the normal gait. Good.
  • the weighted average value is equivalent to the divergent component (more precisely, proportional to the divergent component) if the absolute magnitude is ignored by setting a predetermined weight.
  • the gait generating device for a mobile robot of the present invention can efficiently generate a gait that satisfies required boundary conditions while preventing divergence of the gait.
  • the inherent stability of a bipedal mobile robot is low, and it is useful in that a gait of the mobile robot can be generated while ensuring the stability of the moving port bot.
  • FIG. 1 is a diagram schematically showing 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. 8 is a diagram showing a structure of a full model used in gait generation.
  • FIG. 9 is a flowchart showing a main routine process of the gait generator in the embodiment.
  • FIG. 10 is a flowchart showing a subroutine process of FIG. 9;
  • FIG. 11 is a flowchart showing a subroutine process of FIG. 10;
  • FIG. 12 is a flowchart showing a subroutine process of FIG. 11;
  • 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. 9;
  • FIG. 17 is a flowchart showing a subroutine process of FIG. 9;
  • FIG. 18 is a flowchart showing a subroutine process of FIG. 17.
  • FIG. 19 is a flowchart showing the subroutine processing of FIG. 18.
  • FIG. 20 is a graph showing an example of a ZMP-converted value of a body inclination restoring moment in a normal gait.
  • FIG. 21 is a graph showing an example of a ZMP-converted value of a body tilt restoration moment in a current time's 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の歩容を生成する。

Description

移動ロボットの歩容生成装置
技術分野
[0001] 本発明は 2足移動ロボット等の移動ロボットの歩容を生成する装置に関する。
背景技術
[0002] 2足移動ロボット等の移動ロボットの目標歩容を生成する技術としては、例えば特開 2002— 326173号公報(特許文献 1)や、 PCT国際公開公報 WOZ03Z057427 ZA1 (特許文献 2)に見られるものが本願出願人により提案されている。これらの文 献に見られる技術は、ロボットの運動(各部位の位置、姿勢)と、床反力との関係を表 す第 1の動力学モデル (単純ィ匕モデル)を用 、て該第 1の動力学モデル上での動力 学的平衡条件 (床反力の並進力成分が目標値になる、ある点のまわりの床反力モー メントが目標値になるなどの条件)を満足するようにロボットの目標運動の瞬時値 (瞬 時目標運動)と目標床反力の瞬時値 (瞬時目標床反力)とからなる瞬時目標歩容が 逐次作成される。そして、この瞬時目標歩容を第 2の動力学モデル (フルモデル)に 入力して、該瞬時目標運動の一部(目標上体位置姿勢や目標 ZMPまわりの目標モ 一メントなど)を補正することで、最終的な瞬時目標歩容を時系列的に生成するように している。なお、文献 1, 2に見られる技術では、目標歩容は、 2足移動ロボットの 1歩 の期間分の歩容を単位として、 1歩毎に生成される。この場合、ロボットの 1歩毎の目 標歩容の瞬時値を生成するにあたっては、まず、その目標歩容に続く仮想的な周期 的歩容である定常歩容を規定する歩容パラメータ (各足平の位置姿勢軌道を規定す るパラメータ、目標 ZMP軌道を規定するパラメータなど力も構成されるもの)が、その 歩容パラメータと前記第 1の動力学モデルとを用いて所要の境界条件 (定常歩容の 1 周期の始端と終端とで該歩容の状態が一致するという条件)を満たすように決定され る。さらに、目標歩容を規定する歩容パラメータが、その歩容パラメータと前記第 1の 動力学モデルとを用いて生成される歩容が所要の境界条件(目標歩容がその終端 側で定常歩容に近づくという条件)を満たすように決定される。そして、このように決定 された目標歩容の歩容パラメータと第 1の動力学モデルとを用いて該目標歩容の瞬 時値の時系列が生成される。
[0003] 上記のように目標歩容を生成する技術では、第 1の動力学モデル (単純ィ匕モデル) としては、線形性の高いモデルが一般に使用される。線形性の高い動力学モデルを 用いて瞬時目標歩容を作成することで、仮想的な周期的歩容である定常歩容につな がり、もしくは漸近するような歩容(ロボットの安定な運動を継続的に行い得る歩容)を 効率よく短時間で作成することが可能となり、ひいては実ロボットの実際の運動を行 いながら、リアルタイムでロボットの瞬時目標歩容を逐次生成することが可能となる。 また、定常歩容の歩容パラメータを決定する場合にも、該定常歩容の境界条件を満 足し得る歩容パラメータを効率よく短時間で決定することが可能となる。
[0004] ところが、線形性の高い動力学モデルは、ロボットの種々様々の動作において一般 に動力学的精度が比較的低くなりがちである。すなわち、その動力学モデル上での ロボットの動力学は、実ロボットの実際の動力学に対して誤差を生じやすい。このた め、第 1の動力学モデルを用いて作成される瞬時目標歩容を、そのまま実ロボットに 適用して、該実ロボットの動作を行わせると、第 1の動力学モデル上で保証された動 力学的平衡条件が、実ロボット上では成立せず、実ロボットの動作が安定性に欠ける ものとなりやすい。
[0005] そこで、前記特許文献 1、 2に見られる技術では、第 1の動力学モデルを用いて作 成した瞬時目標歩容の一部をさらに、第 2の動力学モデルを用いて補正するようにし ている。この場合、第 2の動力学モデルとしては、第 1の動力学モデルよりも動力学的 精度の高いモデルが用いられる。これにより、第 1の動力学モデルを用いて作成した 歩容よりも、より動力学的精度の高い (実ロボットの動力学により近い)歩容を生成す ることが可能となる。
[0006] しかし、前記特許文献 1, 2に見られる技術では、第 2動力学モデルを用いて作成さ れる歩容は発散しやすいため、目標 ZMP軌道を修正する力もしくは目標 ZMPまわり に床反力モーメントを発生させるようにして、ロボットの目標運動軌道が第 1の動力学 モデルで作成された歩容力 かけはなれないようにする必要があった。そして、この 場合、目標 ZMP軌道の修正量や、目標 ZMPまわりの床反力モーメントが比較的大 きくなることがあり、このような場合には、安定余裕を高く保つことが困難となる場合あ つた。逆に、安定余裕を高く保っために、目標 ZMP軌道の修正量や、目標 ZMPま わりの床反力モーメントの許容範囲を狭く設定すると、歩容が発散する恐れが高まる という不具合があった。
[0007] また、定常歩容の歩容パラメータを決定する場合にあっても、第 1の動力学モデル の動力学的精度を高くすると、該第 1の動力学モデルの線形性が低下して、定常歩 容の境界条件を満たし得る定常歩容パラメータを効率よく短時間で見出すことが困 難となることから、前記第 2の動力学モデルでの歩容の発散が生じ難い適切な定常 歩容パラメータを決定することが困難であった。ひいては、前記した如ぐ安定余裕を 高く保つことが困難となったり、第 2の動力学モデルで生成される歩容の発散が生じ やすくなるという不都合があった。
[0008] 本発明は力かる背景に鑑みてなされたものであり、目標歩容の発散を防止しつつ、 所要の境界条件を満足し得る目標歩容を効率よく生成することができる移動ロボット の歩容生成装置を提供することを目的とする。また、本発明は、定常歩容を規定する 歩容パラメータを決定する場合に、定常歩容が所要の境界条件を満足し得る定常歩 容パラメータを効率よく決定し、ひ 、ては目標歩容の発散を防止することができる移 動ロボットの歩容生成装置を提供することを目的とする。
発明の開示
[0009] かかる目的を達成するために、本発明の移動ロボットの歩容生成装置の第 1発明は 所定の期間における移動ロボットの歩容を規定する複数のパラメータの組である歩 容パラメータを決定し、その決定した歩容パラメータと前記移動ロボットの動力学モデ ルとを用いて前記所定の期間における移動ロボットの目標歩容を生成する歩容生成 装置において、
前記目標歩容に関する要求が与えられ、前記歩容パラメータのうちの所定のパラメ ータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとし たとき、前記要求を満足するための前記優先パラメータの値である優先パラメータ要 求値を決定する優先パラメータ要求値決定手段と、
前記移動ロボットのあらかじめ用意された基準歩容を規定する歩容パラメータと、所 定の境界条件を満たすように過去に決定された歩容パラメータとのうちの 、ずれかの 歩容パラメータをベース歩容パラメータとして設定するベース歩容パラメータ設定手 段と、
前記ベース歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要 求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新す る優先パラメータ漸近手段と、
該優先パラメータ漸近手段による優先パラメータの値の更新の都度、その更新後の 値の優先パラメータを有し、且つ前記所定の境界条件を満足する歩容を前記動力学 モデルを用いて生成し得る歩容パラメータである新規歩容パラメータを探索的に決 定する新規歩容パラメータ決定手段とを備えると共に、
前記新規歩容パラメータ決定手段は、前記新規歩容パラメータを新たに決定すると きの前記優先パラメータ漸近手段による優先パラメータの値の更新回数を n (n:n≥l を満たす整数)とし、その第 n回目の更新処理によって得られた優先パラメータの値 を第 n優先パラメータ更新値とし、当該新たに決定する新規歩容パラメータを第 n新 規歩容パラメータとし、前記ベース歩容パラメータを第 0新規歩容パラメータとしたとき 、非優先パラメータの値に第 n— 1新規歩容パラメータの非優先パラメータの値を設定 し、且つ、優先パラメータの値を第 n優先パラメータ更新値に設定してなる歩容パラメ ータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優 先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の 境界条件を満たすように探索することにより第 n新規歩容パラメータを決定する手段 であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定さ れた新規歩容パラメータを前記目標歩容を規定する歩容パラメータとして、該新規歩 容パラメータと前記動力学モデルとを用いて該目標歩容を生成するようにしたことを 特徴とするものである。
なお、この第 1発明を含めて本願発明においては、 目標歩容は、ロボットの運動 (各 部位の位置 ·姿勢、あるいは各関節の変位量)の目標瞬時値の時系列から構成され 、あるいは、該運動の目標瞬時値の時系列とロボットに作用する床反力(並進力、モ ーメント、作用点の少なくともひとつ)の目標瞬時値の時系列とから構成される。また、 ロボットの動力学モデルは、少なくともロボットの運動とロボットに作用する床反力との 関係を表す運動'床反力モデル (ロボットの動力学方程式)を含むモデルである。こ の動力学モデルには、ロボットの運動に関する制約条件(ロボットのある部位の可動 範囲や、リンク機構の幾何学的な拘束条件など)あるいは床反力に関する制約条件( 床反力の所定成分の許容範囲、あるいは該床反力の作用点の存在許容範囲など) が付加されていてもよぐその場合、それらの制約条件と上記運動 ·床反力モデルと を合わせたものが動力学モデルである。また、歩容パラメータと動力学モデルとを用 いて歩容を生成するということは、歩容パラメータを基に、動力学モデルに対する入 力量あるいは動力学モデルの状態量を決定して、該動力学モデル上の動力学 (運 動 ·床反力モデルの関係、あるいはその関係と付加された制約条件)を満たす歩容 を生成することを意味する。
[0011] 前記第 1発明によれば、前記優先パラメータ漸近手段による優先パラメータの値の 更新の都度、前記新規歩容パラメータ決定手段により新たに決定される前記新規歩 容パラメータの優先パラメータの値は、優先パラメータ漸近手段による更新後の優先 ノ ラメータの値に一致する。従って、該新規歩容パラメータの優先パラメータの値は、 前記ベース歩容パラメータ(=第 0新規歩容パラメータ)力 段階的に優先パラメータ 要求値、すなわち前記目標歩容に関する要求を満足するための優先パラメータの値 に近づ!/、て 、き、最終的に該優先パラメータ要求値に一致するように更新されること となる。
[0012] また、優先パラメータの値の任意の第 n回目の更新時に決定される第 n新規歩容パ ラメータは、非優先パラメータの値に第 n— 1新規歩容パラメータの非優先パラメータ の値を設定し、且つ、優先パラメータの値を第 n回目の更新後の値 (第 n優先パラメ一 タ更新値)に設定してなる歩容パラメータ (優先歩容パラメータ以外のパラメータが第 n— 1新規歩容パラメータと同一になる歩容パラメータ)を初期探索候補歩容パラメ一 タとして、この初期探索候補歩容パラメータの非優先パラメータのうちの所定のパラメ ータである探索対象パラメータの値を前記所定の境界条件を満たすように探索する ことにより決定される。該該境界条件は、例えば前記所定の期間の一端 (始端または 終端の時刻)における歩容(瞬時値)の所定の状態量 (例えばロボットのある部位の 位置、姿勢、もしくはその変化速度、あるいは、床反力)が所定の値に一致またはほ ぼ一致するというような条件である。
[0013] この場合、初期探索候補歩容パラメータは、その探索パラメータ以外のパラメータ 力 これから決定しょうとする第 n新規歩容パラメータと同一である。そして、該初期探 索候補歩容パラメータと先に決定された第 n— 1新規歩容パラメータとは、それらの優 先パラメータの値の差を十分に小さくできるので、新たに決定しょうとする第 n新規歩 容パラメータの、前記所定の境界条件を満たし得るような適正な探索対象パラメータ の値は、第 n-1新規歩容パラメータの探索対象パラメータの値力も大きくかけ離れた ものとなることはない。このため、前記境界条件を満たし得るような第 n新規歩容パラメ ータの探索対象パラメータを容易に短時間で探索することができる。
[0014] そして、優先パラメータの値の最後の更新時、すなわち、優先パラメータの値を最 終的に前記優先パラメータ要求値に一致させたときに決定された新規歩容パラメ一 タと前記動力学モデルとを用いて前記目標歩容が生成される。
[0015] 従って、第 1発明によれば、生成しょうとする前記目標歩容を規定する歩容パラメ一 タは、その優先パラメータの値を前記ベース歩容パラメータの優先パラメータの値か ら徐々に (段階的に)、本来の要求値である優先パラメータ要求値に近づけつつ、優 先パラメータでない探索対象パラメータの値を探索的に調整していくことで、最終的 に前記境界条件を満足し得るように決定されることとなる。換言すれば、ベース歩容 パラメータを起点として、それを、前記目標歩容に関する要求と境界条件とを徐々に 満たして!/、くように変化させて 、くことで該目標歩容を規定する歩容パラメータが決 定されることとなる。この場合、ベース歩容パラメータは、あらカゝじめ用意された基準 歩容を規定する歩容パラメータと、所定の境界条件を満たすように過去に決定された 歩容パラメータとのうちのいずれかであるので、それと、動力学モデルとを用いて歩 容を生成したときにその歩容の発散などの不都合を生じないか、もしくは生じ難い歩 容パレメータ (歩容パラメータとして適切なもの)である。このため、第 1発明で、 目標 歩容を規定するものとして最終的に決定される歩容パラメータは、それと動力学モデ ルとを用いて生成される歩容が発散を生じな 、か、もしくは発散が生じ難 、ものとす ることが可能となる。また、前記したように、優先パラメータの各回の更新時に、適正 な新規歩容パラメータの探索対象パラメータは容易に短時間で探索できるので、結 果的に、前記目標歩容を規定する最終的な歩容パラメータを効率よく決定できること となる。
[0016] よって、第 1発明によれば、定常歩容が所要の境界条件を満足し得る定常歩容パラ メータを効率よく決定し、ひ 、ては目標歩容の発散を防止することができる目標歩容 の発散を防止しつつ、所要の境界条件を満足し得る目標歩容を効率よく生成するこ とができる。また、発散しない、あるいは発散し難い目標歩容を生成できることから、 発散を防止するために目標歩容のうちの目標 ZMPや目標床反力モーメントなどを大 きく修正したりする必要がなくなり、移動ロボットの安定余裕を高めることができる。
[0017] また、本発明の移動ロボットの歩容生成装置の第 2発明は、前記の目的を達成する ために、
所定の期間における移動ロボットの目標歩容を生成するとき、該目標歩容に続く仮 想的な周期的歩容である定常歩容を規定する複数のパラメータの組である定常歩容 ノ メータを決定すると共に、その決定した定常歩容パラメータと前記移動ロボットの 動力学モデルとを用いて生成される定常歩容に前記目標歩容を近づけるように該目 標歩容を生成する移動ロボットの歩容生成装置において、
前記目標歩容に対応する定常歩容に関する要求が入力され、前記定常歩容パラメ ータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメ 一タを非優先パラメータとしたとき、前記要求を満足するための該優先パラメータの 値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、 前記移動ロボットのあらかじめ用意された基準定常歩容を規定する定常歩容パラメ ータと、所定の境界条件を満たすように過去に決定された定常歩容パラメータとのう ちのいずれかの定常歩容パラメータをベース定常歩容パラメータとして設定するべ一 ス定常歩容パラメータ設定手段と、
前記ベース定常歩容パラメータの優先パラメータの値を、該値が前記優先パラメ一 タ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更 新する優先パラメータ漸近手段と、 該優先パラメータ漸近手段のよる優先パラメータの値の更新の都度、その更新後の 値の優先パラメータを有し、且つ前記所定の境界条件を満たす歩容を前記動力学モ デルを用いて生成し得る定常歩容パラメータである新規定常歩容パラメータを探索 的に決定する新規定常歩容パラメータ探索手段とを備えると共に、
前記新規定常歩容パラメータ探索手段は、前記新規定常歩容パラメータを新たに 決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数を n (n : n≥ 1を満たす整数)とし、その第 n回目の更新後の優先パラメータの値を第 n優 先パラメータ更新値とし、当該新たに決定する新規定常歩容パラメータを第 n新規定 常歩容パラメータとし、前記ベース定常歩容パラメータを第 0新規定常歩容パラメ一 タとしたとき、非優先パラメータの値に第 n— 1新規定常歩容パラメータの非優先パラメ 一タの値を設定し、且つ、優先パラメータの値に第 n優先パラメータ更新値を設定し てなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容 ノ ラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの 値を前記所定の境界条件を満たすように探索することにより第 n新規定常歩容パラメ ータを決定する手段であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定さ れた新規定常歩容パラメータを前記目標歩容に対応する定常歩容の定常歩容パラ メータとして、該定常歩容パラメータと前記動力学モデルとを用いて生成される定常 歩容に近づけるように前記目標歩容を生成するようにしたことを特徴とするものである この第 2発明によれば、前記優先パラメータ漸近手段による優先パラメータの値の 更新の都度、前記新規定常歩容パラメータ決定手段により新たに決定される前記新 規定常歩容パラメータの優先パラメータの値は、優先パラメータ漸近手段による更新 後の優先パラメータの値に一致する。従って、該新規定常歩容パラメータの優先パラ メータの値は、前記ベース定常歩容パラメータ( =第 0新規定常歩容パラメータ)から 段階的に優先パラメータ要求値、すなわち前記定常歩容に関する要求を満足するた めの優先パラメータの値に近づいていき、最終的に該優先パラメータ要求値に一致 するよう〖こ更新されることとなる。 [0019] また、優先パラメータの値の任意の第 n回目の更新時に決定される第 n新規定常歩 容パラメータは、非優先パラメータの値に第 n— 1新規定常歩容パラメータの非優先パ ラメータの値を設定し、且つ、優先パラメータの値を第 n回目の更新後の値 (第 n優先 ノ ラメータ更新値)に設定してなる歩容パラメータ (優先歩容パラメータ以外のノラメ 一タが第 n— 1新規定常歩容パラメータと同一になる歩容パラメータ)を初期探索候補 歩容パラメータとして、この初期探索候補歩容パラメータの非優先パラメータのうちの 所定のパラメータである探索対象パラメータの値を前記所定の境界条件を満たすよう に探索することにより決定される。該境界条件は、例えば定常歩容の 1周期の期間の 両端 (該期間の始端および終端)における該歩容の所定の状態量 (ロボットのある部 位の位置、姿勢、もしくはその変化速度、あるいは、床反力)が互いに一致するという ような条件である。
[0020] この場合、初期探索候補歩容パラメータは、その探索パラメータ以外のパラメータ 力 これから決定しょうとする第 n新規定常歩容パラメータと同一である。そして、該初 期探索候補歩容パラメータと先に決定された第 n— 1新規定常歩容パラメータとは、そ れらの優先パラメータの値の差を十分に小さくできるので、新たに決定しょうとする第 n新規定常歩容パラメータの、前記所定の境界条件を満たし得るような適正な探索対 象パラメータの値は、第 n— 1新規定常歩容パラメータの探索対象パラメータの値から 大きくかけ離れたものとなることはない。このため、前記境界条件を満たし得るような 第 n新規定常歩容パラメータの探索対象パラメータを容易に短時間で探索することが できる。
[0021] 従って、第 2発明によれば、生成しょうとする前記目標歩容に対応する定常歩容を 規定する定常歩容パラメータは、その優先パラメータの値を前記ベース歩容パラメ一 タの優先パラメータの値力 徐々に(段階的に)、本来の要求値である優先パラメータ 要求値に近づけつつ、優先パラメータでない探索対象パラメータの値を探索的に調 整していくことで、最終的に前記境界条件を満足し得るように決定されることとなる。 換言すれば、ベース歩容パラメータを起点として、それを、前記定常歩容に関する要 求と境界条件とを徐々に満たして!/、くように変化させて!/、くことで該定常歩容を規定 する定常歩容パラメータが決定されることとなる。この場合、ベース歩容パラメータは 、あらかじめ用意された基準定常歩容を規定する歩容パラメータと、所定の境界条件 を満たすように過去に決定された定常歩容パラメータとのうちのいずれかであるので 、それと、動力学モデルとを用いて定常歩容を生成したときに前記境界条件を満足し 得るような適切な歩容パラメータである。このため、第 2発明で、前記目標歩容に対応 する定常歩容を規定するものとして最終的に決定される定常歩容パラメータは、それ と動力学モデルとを用いて生成される定常歩容が、前記境界条件を適切に満足し得 るものとすることが可能となる。また、前記したように、優先パラメータの各回の更新時 に、適正な新規定常歩容パラメータの探索対象パラメータは容易に短時間で探索で きるので、結果的に、前記目標歩容に対応する定常歩容を規定する最終的な定常 歩容パラメータを効率よく決定できることとなる。
[0022] そして、第 2発明では、優先パラメータの値の最後の更新時、すなわち、優先パラメ 一タの値を最終的に前記優先パラメータ要求値に一致させたときに決定された新規 定常歩容パラメータと前記動力学モデルとを用 、て生成される定常歩容に近づける ように前記目標歩容が生成されるので、該目標歩容は、第 n動力学モデル上でロボッ トの継続的な安定性を適切に高め得る歩容となり、該目標歩容の発散を防止すること ができる。また、発散しない、あるいはし難い目標歩容を生成できることから、発散を 防止するために目標歩容のうちの目標 ZMPや目標床反力モーメントなどを大きく修 正したりする必要がなくなり、移動ロボットの安定余裕を高めることができる。
[0023] なお、第 1発明と第 2発明とは複合させてもよい。すなわち、第 1発明において、所 定の期間における目標歩容を第 2発明における定常歩容に近づけるように生成し、こ のとき、その定常歩容を規定する定常歩容パラメータを第 2発明の如く決定する。こ の場合、第 1発明における動力学モデルと第 2発明における動力学モデルとは同じ でよ 、ことはもちろんであるが、異なるものでもよ!/、。
[0024] 前記第 1発明では、前記優先パラメータ漸近手段による優先パラメータの値の総更 新回数は、前記ベース歩容パラメータの優先パラメータの値と、前記優先パラメータ 要求値との差に応じて設定されることが好ま U、 (第 3発明)。
[0025] 同様に、前記第 2発明では、前記優先パラメータ漸近手段による優先パラメータの 値の総更新回数は、前記ベース定常歩容パラメータの優先パラメータの値と、前記 優先パラメータ要求値との差に応じて設定されることが好ま 、 (第 4発明)。
[0026] これらの第 3発明または第 4発明によれば、優先パラメータの値の各更新時におけ る更新量が過大あるいは過小にならないような適切な更新量にして、各第 n新規歩容 ノ メータまたは各第 n新規定常歩容パラメータの探索対象パラメータの探索処理を 効率よく行なうことができる。
[0027] また、前記第 1発明では、前記歩容パラメータは、前記目標歩容のうちの目標 ZMP 軌道を規定するパラメータを前記探索対象パラメータとして含むことが好まし 、 (第 5 発明)。
[0028] この第 5発明によれば、目標 ZMP軌道をロボットの安定余裕を確保するために好 適な軌道から大きく修正しないようにしつつ、前記境界条件を満足し得る目標歩容を 生成することが可能となる。
[0029] また、前記第 2発明では、前記定常歩容パラメータは、前記定常歩容の 1周期の期 間の一端における移動ロボットの運動の所定の状態量を規定するパラメータを前記 探索対象パラメータとして含むことが好まし 、(第 6発明)。
[0030] この第 6発明によれば、定常歩容の境界条件が満たされる定常歩容パラメータを、 定常歩容の 1周期の期間の一端における移動ロボットの運動の所定の状態量を調整 することで決定することとなるので、安定余裕の高!ヽ定常歩容を規定する定常歩容パ ラメータを決定できる。なお、定常歩容は、周期的な歩容であるので、その 1周期の 一端におけるロボットの運動の所定の状態量を調整することは、 1周期の他端におけ るロボットの運動の所定の状態量を調整することを意味する。
[0031] また、前記第 1発明では、前記所定の境界条件は、前記所定の期間における歩容 の境界における移動ロボットの運動の所定の状態量が前記境界において隣接する 歩容における移動ロボットの運動の該所定の状態量と一致するという条件を含む (第 7発明)。
[0032] すなわち、目標歩容は、連続している必要があるので、前記所定の期間における目 標歩容を生成するとき、該所定の期間における歩容の境界 (該所定の期間の始端ま たは終端における歩容)で、移動ロボットの歩容の運動の所定の状態量 (例えばある 移動ロボットのある部位の位置、姿勢、もしくはその変化速度)が該歩容に隣接する 歩容における当該運動の所定の状態量と一致することが望ましい。
[0033] また、第 1発明において、前記所定の期間における目標歩容に続く仮想的な周期 的歩容である定常歩容 (あるいはこれを規定する定常歩容パラメータ)を決定した上 で、この目標歩容に近づけるように目標歩容を生成する場合には、前記所定の境界 条件は、前記所定の期間における歩容の終端側の境界における移動ロボットの運動 の所定の状態量が該歩容に続くべき仮想的な周期的歩容として決定された定常歩 容における移動ロボットの運動の該所定の状態量と一致するという条件を含むことが 好ましい (第 8発明)。
[0034] このように前記目標歩容に対応する境界条件を定めることで、目標歩容の終端側( 前記所定の期間の終端側)で定常歩容に近づけるような目標歩容を生成し得る歩容 ノ メータを効率よく生成できる。なお、第 8発明において、定常歩容は、必ずしもそ れを規定する定常歩容パラメータを第 2発明の如く段階的に決定する必要はないが 、第 2発明の如く決定するようにしてもよい。
[0035] また、第 2発明においては、前記所定の境界条件は、前記定常歩容の 1周期の始 端と終端における移動ロボットの運動の所定の状態量が一致するという条件を含むこ とが好ましい (第 9発明)。
[0036] 定常歩容は、周期的な歩容であるので、上記のように境界条件を定めることで、周 期性の条件を満たす定常歩容を生成し得る定常歩容パラメータを適切に決定できる 。なお、この第 9発明における定常歩容の 1周期の始端は必ずしも、前記目標歩容の 終端と一致する必要はない。
[0037] 前記第 6—第 9発明では、特に、前記移動ロボットが、上体から延設された複数の 脚体を備えた脚式移動ロボットである場合には、前記所定の状態量は、該ロボットの 上体の位置、該上体の速度、該上体の姿勢角、該上体の姿勢角の角速度、該上体 の位置と速度との重み付き平均値、該ロボットの全体重心の位置、該全体重心の速 度、該全体重心の位置と速度との重み付き平均値、および発散成分のうちの少なくと ¾ 、ずれか一つを含むことが好ま 、 (第 10発明)。
[0038] これによれば、第 6発明にあっては、前記探索対象パラメータを少なくしつつ、定常 歩容の境界条件を満たすような定常歩容パラメータを効率よく決定できる。また、特 に第 8発明にあっては、前記所定の期間における目標歩容を定常歩容に近づけるた めの歩容パラメータを、探索対象パラメータを少なくしつつ効率よく決定できる。なお 、第 8発明では、特に、前記所定の状態量としては、上体の上体の位置と速度との重 み付き平均値、あるいは全体重心の位置と速度との重み付き平均値、あるいは発散 成分が好適である。
発明を実施するための最良の形態
[0039] 以下、添付図面を参照して本発明の実施形態を説明する。尚、本明細書の実施形 態では、移動ロボットとしては脚式移動ロボットとしての 2足移動ロボットを例にとる。
[0040] 図 1は、本発明の実施形態を適用する 2足移動ロボットの全体的構成の概略を示す 概略図である。
[0041] 図示の如ぐ 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の右側、左側に対応するものであることを意味する符号である。
[0042] 各脚体 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の外部に記載している。
[0043] 上記構成の各脚体 2においては、股関節(あるいは腰関節)は関節 10R (L) , 12R
(L) , 14R(L)から構成され、膝関節は関節 16R(L)から構成され、足首関節は関節 18R(L) , 20R(L)から構成される。また股関節と膝関節とは大腿リンク 24R(L)で連 結され、膝関節と足首関節とは下腿リンク 26R (L)で連結される。 [0044] 上体 3の上部の両側部には左右一対の腕体 5, 5が取り付けられると共に、上体 3の 上端部には頭部 4が配置される。各腕体 5は、 3つの関節 30R(L) , 32R (L) , 34R( L)から構成された肩関節と、関節 36R (L)から構成された肘関節と、関節 38R(L)か ら構成された手首関節と、この手首関節に連結された手先部 40R (L)とを備えている 。肩関節と肘関節との間、および肘関節と手首関節との間はそれぞれ剛体状のリンク で構成されている。
[0045] 上記のロボット 1の構成により、各脚体 2の足平 22R(L)は、上体 3に対して 6つの自 由度を与えられている。そして、ロボット 1の歩行等の移動中に、両脚体 2, 2を合わせ て 6 * 2 = 12個(この明細書で「 *」はスカラに対する演算としては乗算を、ベクトルに 対する演算としては外積を示す)の関節を適宜な角度で駆動することで、両足平 22 R, 22Lの所望の運動を行うことができる。これにより、ロボット 1は任意に 3次元空間 を移動することができる。また、各腕体 5は、その肩関節、肘関節、手首関節の回転 によって、腕振り等の運動を行うことができる。
[0046] 図 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が備えられ、その検出信号が該姿勢センサ 5 4から制御ユニット 60に出力される。この姿勢センサ 54は、図示を省略する加速度セ ンサおよびジャイロセンサを備え、これらのセンサの検出信号が上体 3の傾斜角およ びその角速度を検出するために用いられる。また、詳細構造の図示は省略するが、 ロボット 1の各関節には、それを駆動するための電動モータ 64 (図 3参照)と、その電 動モータ 64の回転量 (各関節の回転角)を検出するためのエンコーダ (ロータリエン コーダ) 65 (図 3参照)とが設けられ、該エンコーダ 65の検出信号が該エンコーダ 65 力 制御ユニット 60に出力される。
[0047] さらに、図 1では図示を省略する力 ロボット 1の外部には、ロボット 1を操縦するため のジョイスティック (操作器) 73 (図 3参照)が設けられ、そのジョイスティック 73を操作 することで、直進移動しているロボット 1を旋回させるなどロボット 1の移動方向を指定 する、ロボット 1の歩行、走行などの運動形態および床面の摩擦状態 (路面状態)を 指定するなど、ロボット 1の歩容に対する要求もしくは制約条件を必要に応じて制御 ユニット 60に入力できるように構成されている。ジョイスティック 73は有線もしくは無線 により制御ユニット 60との通信が可能とされている。
[0048] 図 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側に取り付けられ、前記ガイド部材に弹性材 (ゴムやばね)を介 して微動自在に収納されるピストン状部材(図示省略)とから構成されている。
[0049] 図 2に実線で表示された足平 22R(L)は、床反力を受けていないときの状態を示し ている。各脚体 2が床反力を受けると、コンプライアンス機構 72のばね機構 70と足底 弾性体 71とがたわみ、足平 22R (L)は図中に点線で例示したような位置姿勢に移る 。このコンプラインァス機構 72の構造は、着地衝撃を緩和するためだけでなぐ制御 性を高めるためにも重要なものである。その詳細は、例えば本出願人が先に提案し た特開平 5— 305584号公報に詳細に説明されているので、本明細書でのさらなる説 明は省略する。
[0050] 図 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に入力され る。
[0051] 前記第 1の演算装置 90は後述の如く目標歩容を生成すると共に、関節角変位指 令 (各関節の変位角もしくは各電動モータ 64の回転角の指令値)を算出し、 RAM8 4に送出する。また、第 2の演算装置 92は RAM84から関節角変位指令と、前記ェン コーダ 65の出力信号に基づいて検出された関節角の実測値とを読み出し、各関節 の駆動に必要な操作量を算出して、その操作量を DZA変換器 96とサーボアンプ 6 4aとを介して各関節を駆動する電動モータ 64に出力する。
[0052] 図 4は、本明細書の実施形態におけるロボット 1の制御ユニット 60の主な機能的構 成を示すブロック図である。この図 4中の「実ロボット」の部分以外の部分が制御ュニ ット 60が実行する処理機能 (主として第 1の演算装置 90及び第 2の演算装置 92の機 能)によって構成されるものである。その処理機能は、制御ユニット 60に実装されたプ ログラム等によって実現されている。尚、以下の説明では、ロボット 1の各部 (脚体 2、 腕体 5など)の左右を特に区別する必要がないときは、前記符号 R, Lを省略する。
[0053] 以下説明すると、制御ユニット 60は、後述の如く目標歩容を自在かつリアルタイム に生成して出力する歩容生成装置 100を備えている。この歩容生成装置 100は、そ の機能によって本発明の実施形態を実現するものである。この歩容生成装置 100が 出力する目標歩容は、補正目標上体姿勢軌道 (上体 3の目標姿勢の軌道)、補正目 標上体位置軌道 (上体 3の目標位置の軌道)、目標足平位置姿勢軌道 (各足平 22の 目標位置及び目標姿勢の軌道)、目標腕姿勢軌道 (各腕体の目標姿勢の軌道)、目 標 ZMP (目標全床反力中心点)軌道、目標 ZMPまわりの補正目標床反力モーメント 軌道および目標全床反力軌道から構成される。尚、脚体 2や腕体 5以外に、上体 3〖こ 対して可動な部位 (頭部など)を備える場合には、その可動部位の目標位置姿勢軌 道が目標歩容に加えられる。
[0054] ここで、本明細書での歩容に関する基本的な用語の定義などについて説明してお く。歩容における「軌道」は時間的変化のパターン (時系列パターン)を意味し、「軌道 」の代わりに「パターン」と称することもある。また、「姿勢」は空間的な向きを意味する 。例えば上体姿勢は Z軸 (鉛直軸)に対するロール方向(X軸まわり)の上体 3の傾斜 角(姿勢角)とピッチ方向 (Y軸まわり)の上体 3の傾斜角(姿勢角)とで表され、足平 姿勢は各足平 22に固定的に設定された 2軸の空間的な方位角で表される。本明細 書では、上体姿勢は上体姿勢角もしくは上体傾斜角ということもある。なお、腕体 5に 関する目標腕姿勢は、本明細書の実施形態では上体 3に対する相対姿勢で表され る。
[0055] 上体位置は、上体 3のあら力じめ定めた代表点(上体 3に対して任意に固定設定し たローカル座標系でのある固定点)の位置を意味する。同様に、足平位置は、各足 平 22のあら力じめ定めた代表点(各足平 22に対して任意に固定設定したローカル 座標系での固定点)の位置を意味する。例えば各足平 22の代表点は、各足平 22の 底面上 (より具体的には各脚体 2の足首関節の中心から各足平 22の底面への垂線 が該底面と交わる点等)に設定される。
[0056] 上体 3に関する前記補正目標上体姿勢および補正目標上体位置は、ある基本とな る目標上体姿勢 (仮目標上体姿勢)および目標上体位置 (仮目標上体位置)を補正 したものである。本明細書の実施形態では、基本となる目標上体位置姿勢は、後述 する目標瞬時値発生部で決定される目標上体位置姿勢 (後述の図 12の S032で決 定される目標上体位置姿勢)が相当する。
[0057] なお、以降の説明では、誤解を生じるおそれがない場合には、しばしば「目標」を省 略する。
[0058] 歩容のうちの、床反力に係わる構成要素以外の構成要素、すなわち足平位置姿勢 、上体位置姿勢等、ロボット 1の各部位の位置姿勢に関する構成要素を総称的に「運 動」という。また、各足平 22に作用する床反力(並進力及びモーメントからなる床反力 )を「各足平床反力」と呼び、ロボット 1の全て(2つ)の足平 22R, 22Lについての「各 足平床反力」の合力を「全床反力」という。ただし、以下の説明においては、各足平床 反力はほとんど言及しないので、特に断らない限り、「床反力」は「全床反力」と同義と して扱う。
[0059] 目標床反力は、一般的には、作用点とその点に作用する並進力及びモーメントに よって表現される。作用点はどこにとっても良いので、同一の目標床反力でも無数の 表現が考えられるが、特に目標床反力中心点 (全床反力の中心点の目標位置)を作 用点にして目標床反力を表現すると、目標床反力のモーメント成分は、鉛直成分 (鉛 直軸 (Z軸)まわりのモーメント成分)を除いて零になる。換言すれば、目標床反力中 心点まわりの目標床反力のモーメントの水平成分 (水平軸 (X軸及び Y軸)まわりのモ ーメント)は零になる。
[0060] なお、動力学的平衡条件を満足する歩容では、ロボット 1の目標運動軌道力 算出 される ZMP (目標運動軌道力も算出される慣性力と重力との合力がその点まわりに 作用するモーメントが、鉛直成分を除いて零になる点)と目標床反力中心点とは一致 することから、目標床反力中心点軌道の代わりに目標 ZMP軌道を与えると言っても 同じことである。
[0061] ここで、ロボット 1の歩行を行う場合には、例えば本出願人が先に特開平 10— 8608 0号公報で提案した上体高さ決定手法によってロボット 1の上体 3の鉛直位置 (上体 高さ)が決定されると、並進床反力鉛直成分は従属的に決定される。さらに、目標歩 容の運動による慣性力と重力との合力が目標 ZMPまわりに発生するモーメントの水 平成分が 0になるようにロボット 1の上体水平位置軌道(あるいは全体重心の位置軌 道)を決定することで、並進床反力水平成分も従属的に決定される。このため、ロボッ ト 1の歩行を行う場合には、目標歩容の床反力に関して明示的に設定すべき物理量 としては、目標 ZMPだけでもよい。
[0062] 一方、床反力が 0もしくはほぼ 0になるような時期を伴う歩容でのロボット 1の移動、 例えばロボット 1の走行を行う場合には、並進床反力鉛直成分もロボット 1の動作制御 上重要である。このため、並進床反力鉛直成分の目標軌道を明示的に設定した上で 、ロボット 1の目標上体鉛直位置等の軌道を決定することが望ましい。また、ロボット 1 の歩行においても、摩擦係数が低 、床面上 (低ミュー路上)でロボット 1を移動させる ような場合には、並進床反力鉛直成分 (より厳密には並進床反力の床面に垂直な成 分)が摩擦力に影響を及ぼすことから、ロボット 1のスリップなどを防止する上で、並進 床反力鉛直成分の目標軌道を明示的に設定することが望ましい。さらに、本発明の 実施形態では、最終的に歩容生成装置 100が出力する目標歩容では、目標 ZMPま わりに補正目標床反力モーメント (水平成分が 0とは限らな 、モーメント)を発生させる [0063] このようなことから、本明細書の実施形態では、歩容生成装置 100が出力する目標 歩容の床反力に関する構成要素として、目標 ZMP軌道のほか、目標 ZMPまわりの 補正目標床反力モーメントと、目標並進床反力鉛直成分とを含ませて!/、る。
[0064] そして、本明細書では、歩容生成装置 100が出力する目標歩容は、広義には、「1 歩ないしは複数歩の期間の目標運動軌道と目標床反力軌道との組」の意味で使用 され、狭義には、「1歩の期間の目標運動軌道と、目標 ZMP、補正目標床反力モー メント及び目標並進床反力鉛直成分を含む目標床反力軌道との組」の意味で使用さ れる。
[0065] 但し、本明細書の実施形態においては、最終的な目標歩容 (歩容生成装置 100が 出力する目標歩容)を決定するまでの過程で作成する目標歩容 (仮目標歩容)では、 目標 ZMPまわりの目標床反力モーメントの水平成分は、本来の目標 ZMPの定義ど おりに 0とされる。従って、最終的に決定する目標歩容以外の仮目標歩容では、上記 狭義の目標歩容から、補正目標床反力モーメントを除 、たものが目標歩容の意味で 使用される。補足すると、本明細書の実施形態では、最終的な目標歩容 (歩容生成 装置 100が出力する目標歩容)を決定するまでの過程で作成する目標歩容 (仮目標 歩容)が本発明に密接に関連するものとなっている。このため、以降の説明で現れる 目標歩容の大部分は、前記狭義の目標歩容から、補正目標床反力モーメントを除 、 たもの(目標 ZMPを満足する歩容)の意味で使用される。
[0066] なお、以降の説明では、「床反力鉛直成分」は「並進床反力鉛直成分」を意味する ものとし、床反力のうちのモーメントの鉛直成分 (鉛直軸回り成分)は、「モーメント」と いう用語を用いて「床反力鉛直成分」と区別をする。同様に、「床反力水平成分」は「 並進床反力水平成分」を意味するものとする。
[0067] また、目標歩容の「1歩」は、ロボット 1の片方の脚体 2が着地してからもう一方の脚 体 2が着地するまでの意味で使用する。
[0068] また、歩容における両脚支持期とは、ロボット 1がその自重を両脚体 2, 2で支持す る期間、片脚支持期とはいずれか一方のみの脚体 2でロボット 1の自重を支持する期 間、空中期とは両脚体 2, 2が床力も離れている (空中に浮いている)期間を言う。片 脚支持期においてロボット 1の自重を支持しない側の脚体 2を遊脚と呼ぶ。なお、片 脚支持期と空中期とが交互に繰り返されるロボット 1の走行歩容では両脚支持期は無 い。この場合、空中期では両脚 2, 2とも、ロボット 1の自重を支持しないこととなるが、 便宜上、該空中期の直前の片脚支持期において遊脚であった脚体 2、支持脚であつ た脚体 2をそれぞれ該空中期にお ヽても遊脚、支持脚と呼ぶ。
[0069] また、目標歩容の軌道は、グローバル座標系(床に固定された座標系)で記述され る。グローバル座標系としては、例えば支持脚足平 22の着地位置姿勢に対応して定 まる支持脚座標系が用いられる。この支持脚座標系は、例えば支持脚足平 22の底 面のほぼ全面を床に接地した状態で、その足平 22が連結された足首関節の中心か ら床面に延ばした垂線が床と交わる点を原点とし、その原点を通る水平面に支持脚 足平 22を投影したときの該足平 22の前後方向を X軸方向、左右方向を Y軸方向と する座標系(Z軸方向は鉛直方向)である。以降の説明では、特にことわらない限り、 X、 Υ、 Ζ座標は、この支持脚座標系の座標を意味する。
[0070] 図 5は、歩容生成装置 100の詳細を示すブロック図である。この図 5を参照して、歩 容生成装置 100の処理のより具体的な概要を以下に説明する。
[0071] 図示の如ぐ歩容生成装置 100は歩容パラメータ決定部 100aを備える。歩容パラ メータ決定部 100aは、目標歩容を規定する歩容パラメータの値あるいは時系列テー ブルを決定する。この歩容パラメータ決定部 100aは、本発明の中核に係わる処理を 担うものである。
[0072] 本明細書の実施形態では、歩容パラメータ決定部 100aが決定する歩容パラメータ には、目標歩容のうちの、目標足平位置姿勢軌道、目標腕姿勢軌道、目標 ZMP軌 道、および目標床反力鉛直成分軌道をそれぞれ規定するパラメータが含まれる。
[0073] ここで、歩容生成装置 100が目標歩容を生成するとき、遊脚足平 22の着地予定位 置姿勢、着地予定時刻、あるいは歩幅、移動速度等の歩容生成用の基本的な要求 値 (要求パラメータ)が、前記ジョイスティック 73、もしくは図示しない行動計画部(ロボ ット 1の行動計画を作成する装置)などの装置力 歩容生成装置 100に与えられる。 あるいは、上記要求パラメータをあらかじめ記憶保持した記憶媒体カも該要求パラメ ータを歩容生成装置 100が読み込む。そして、歩容生成装置 100の歩容パラメータ 決定部 100aは、その要求パラメータに応じて歩容パラメータを決定する。
[0074] また、本明細書の実施形態では、歩容パラメータ決定部 100aが決定する歩容パラ メータには、基準上体姿勢軌道、 ZMP許容範囲、床反力水平成分許容範囲をそれ ぞれ規定するパラメータも含まれる。
[0075] ここで、前記基準上体姿勢軌道は、最終的に歩容生成装置 100が出力するもので はないが、目標歩容を決定するときに参酌されるものである。この基準上体姿勢軌道 は、ロボット 1の上体姿勢に関して、前記ジョイスティック 73あるいは行動計画部から 与えられ、もしくはあらかじめ定められた要求 (上体姿勢を鉛直姿勢に保つなどの要 求)にそのまま従って生成される上体姿勢軌道である。目標上体姿勢 (以降、「基準」 が付いていない「上体姿勢」は、目標上体姿勢を表す)は、基準上体姿勢に長期的 に追従する力、または一致するように生成される。
[0076] また、前記 ZMP許容範囲に関して補足すると、本明細書の実施形態では、目標歩 容は、目標 ZMPのまわりに補正目標床反力モーメント (これは一般には 0ではな 、) を発生するように修正される。したがって、目標 ZMPは、本来の定義 (床反力モーメ ント水平成分が 0である点という定義)とは異なる点となり、本来の定義を満足する ZM P (以下、真の ZMPと 、う)は、補正目標床反力モーメントを目標床反力鉛直成分で 割った値だけ目標 ZMPからずれた位置に移る。
[0077] 修正された歩容 (歩容生成装置 100が最終的に出力する目標歩容)の真の ZMP は、少なくとも ZMP存在可能範囲(いわゆる支持多角形のこと。床と足平 22の底面と の間に粘着力が作用しないと仮定した場合における床反力作用点 (ZMP)の存在可 能範囲)内になければならない。さらにロボット 1の安定余裕を十分にとるためには、 修正された歩容の真の ZMPは、 ZMP存在可能範囲のなかの中心付近の範囲にあ ることが望ましい。そこで、本明細書の実施形態では修正された歩容の真の ZMPが 存在できる許容範囲を設定する。この範囲を ZMP許容範囲と呼ぶ。 ZMP許容範囲 は、 ZMP存在可能範囲と一致あるいは ZMP存在可能範囲内に包含されるように設 定される。
[0078] なお、前記したように、目標 ZMPまわりの補正目標床反力モーメントを目標床反力 鉛直成分で除算したものが、目標 ZMPに対する真の ZMPの位置のずれ量を表す ので、目標 ZMPまわりの補正目標床反力モーメントを設定する代わりに、目標 ZMP に対する真の ZMPの位置のずれ量 (補正目標床反力モーメントの ZMP換算値)を 設定してもよい。また、 ZMP許容範囲は、その境界の位置に目標床反力鉛直成分を 乗算することで、補正目標床反力モーメント許容範囲に変換することができ、その補 正目標床反力モーメント許容範囲を ZMP許容範囲の代わりに設定するようにしても よい。
[0079] また、前記床反力水平成分許容範囲は、ロボット 1の足平 22の床との接地面に、足 平 22が滑らないような大きさの摩擦力を発生させ得る床反力水平成分の許容範囲で ある。本明細書の実施形態では、少なくとも最終的に歩容生成装置 100が出力する 目標歩容の運動(目標運動)は、それによつて発生するロボット 1の慣性力の水平成 分に釣り合う床反力水平成分が床反力水平成分許容範囲内に収まるように生成され る。
[0080] なお、本明細書の実施形態で設定する床反力水平成分許容範囲は、後述の S02 2の処理で設定される定常歩容用のものと、 S026の処理で設定される基本歩容用 のものと、 S030で設定される歩容補正用(フルモデル補正用)のものとがある。ただ し、これらの床反力水平成分許容範囲は必ずしも互いに異なる必要はなぐ同一でも よい。一方、 ZMP許容範囲は、 S030処理で設定される歩容補正用(フルモデル補 正用)のものだけである。
[0081] 補足すると、目標歩容を生成するための歩容パラメータには、上記したパラメータ以 外のパラメータも含まれる。それらは、歩容パラメータ決定部 100aの中で、所要の境 界条件を満たすように決定される。
[0082] 歩容パラメータ決定部 100aで決定された歩容パラメータは目標瞬時値発生部 100 bに入力される。目標瞬時値発生部 100bは入力された歩容パラメータに基づき、動 力学モデルを用いて目標上体位置姿勢、目標足平位置姿勢、目標 ZMP、目標床反 力鉛直成分、 ZMP許容範囲、床反力水平成分許容範囲等、目標歩容の構成要素 の瞬時値 (前記制御ユニット 60の所定の制御処理周期毎の値)を逐次算出 (発生) する。なお、図 5では一部の目標瞬時値のみを代表的に記載している。
[0083] 目標瞬時値発生部 100bで算出された目標瞬時値は、フルモデル補正部 100cに 入力される。このフルモデル補正部 100cは、目標瞬時値発生部 100bが求めた目標 上体位置姿勢を、動力学的精度の高 、動力学モデルとしてのフルモデルを用いて 補正してなる補正目標上体位置姿勢を算出すると共に、目標 ZMPまわりの床反力 モーメント水平成分の目標値である補正目標床反力モーメントを算出する。
[0084] フルモデル補正部 100cは、より一般的には、次の D1— D3の条件を満足するように 、 E1あるいは E2の処理を実行する。すなわち、フルモデル補正部 100cは、
D1)目標瞬時値発生部 100bで生成した歩容よりも高い精度で動力学的平衡条件を 満足する。
D2)真の ZMP (目標 ZMPのまわりに補正目標床反力モーメントを発生させることによ つて修正された本来の定義を満足する ZMP)は、 ZMP許容範囲 (安定余裕が十分 維持できる許容範囲)に存在する。
D3)床反力水平成分は床反力水平成分許容範囲内になる。
という条件を満足するように、
E1)目標瞬時値発生部 100bで生成した歩容の上体位置姿勢を補正する。
あるいは
E2)目標瞬時値発生部 100bで生成した歩容の上体位置姿勢を補正すると共に、目 標 ZMPまわりの補正目標床反力モーメントを出力する(目標床反力を補正する)。
[0085] 本明細書の実施形態では、 D1— D3の条件を満足するように、 E2の処理が実行され る。なお、本明細書の実施形態におけるフルモデル補正部 100cの処理は、例えば 本願出願人が先に提案した PCT国際公開公報 WOZ03Z057427ZA1にて詳細 に説明されているもの(具体的には、同公報の図 13の S038の処理)と同じである。 従って、本明細書でのフルモデル補正部 100cの処理の詳細な説明は省略する。
[0086] また、本明細書の実施形態では、フルモデル補正部 100cによる補正を行うが、そ の補正を省略し、目標瞬時値発生部 100bで決定した目標歩容の瞬時値をそのまま 歩容生成装置 100から出力するようにしてもょ 、。
[0087] 図 4に戻って、上述のように決定される補正目標上体位置姿勢、目標 ZMPまわりの 補正目標床反力モーメント、目標足平位置姿勢の瞬時値を含む目標歩容の瞬時値 は、複合コンプライアンス制御装置 101 (図 4で破線で囲んだ部分)に入力される。こ の複合コンプライアンス制御装置 101では、ロボット 1のバランスを保ちつつ、目標歩 容に追従するように関節ァクチユエータ (電動モータ 64)が制御される。なお、複合コ ンプライアンス制御装置 101のより具体的な処理は後述する。
[0088] 以上が歩容生成装置 100の概要である。
[0089] 次に、本発明の実施形態を具体的に説明していく。本実施形態では、歩容パラメ一 タ決定部 100aは、前記制御ユニット 60の制御処理周期毎に、目標 ZMP軌道 (より 正確には歩容パラメータのうちの目標 ZMP軌道を規定するパラメータ)を修正するた めのパラメータを段階的に決定したり、前記したパラメータ以外のパラメータを探索的 に決定することにより、そして、その決定した歩容パラメータと前記動力学モデルとを 用いて目標瞬時値発生部 100bにより目標歩容の瞬時値の時系列を決定する。この 場合、歩容パラメータは、既に作成済みの歩容に係わる歩容パラメータを初期値とし て、その歩容パラメータの一部のパラメータを、これから作成しょうとする歩容に対応 して定まる歩容パラメータに段階的に近づけつつ、残りのパラメータのうちの所定の パラメータが探索的に決定される。
[0090] ここで、本実施形態で歩容生成に用いられる上体運動モードと動力学モデルとに ついて説明する。
[0091] 走行など、空中期がある歩容や、低摩擦床面での歩行においては、単に上体水平 加速度を調整するだけでは、目標歩容の床反力水平成分が許容範囲内(あるいは 摩擦限界内)に存在しつつ動力学的平衡条件を満足することができない場合がある 。そこで、本実施形態では、以下に説明する上体 3の 2つの運動モード (上体並進モ ード及び上体回転モード)を複合的に発生させることにより、目標歩容の床反力水平 成分が許容範囲内 (あるいは摩擦限界内)に存在しつつ動力学的平衡条件を満足 するようにしている。
[0092] 図 6 (a)のように、ある運動状態から、上体水平加速度だけを摂動させると、全体重 心水平加速度と全体重心まわりの角運動量が摂動する。すなわち、上体水平加速度 の摂動は、それによつて発生する慣性力と重力の合力に対して動力学的に釣り合う 床反力鉛直成分を摂動させずに、目標 ZMPまわりの床反力モーメント (ただし鉛直 軸まわり成分を除く)と床反力水平成分 (厳密には、並進床反力水平成分)とを摂動 させる。この運動モードを上体並進モードと呼ぶ。
[0093] 言いかえると、床反力鉛直成分を変化させずに、目標 ZMPまわりの床反力モーメ ントの水平成分と床反力水平成分 (並進床反力水平成分)を変化させる運動を上体 並進モードと呼ぶ。
[0094] この時の単位加速度当たりの床反力モーメント成分の変化を Δ Μρ、単位加速度当 たりの床反力水平成分の変化を A Fpとする。図 6 (a)に示す状況で上体 3を前方に 水平加速すると、 Δ Μρと Δ Fpは図 6 (a)に示す矢印の向きに作用する。
[0095] 感覚的に判り易くするために、運動によって発生する慣性力と重力の合力に釣り合 う床反力を用いて表現したが、慣性力と重力の合力を用いて表現した方が、理論的 には的確である。なお、上記合力と床反力は、互いに大きさが同じで向きが逆になつ ている。
[0096] 一方、図 6 (b)のように、ある運動状態から、ある点 Prまわりに上体姿勢角加速度を 摂動させると、全体重心は摂動せずに、全体重心まわりの角運動量が摂動する。す なわち、点 Prまわりの上体姿勢角加速度摂動は、床反力鉛直成分と床反力水平成 分 (厳密には、並進床反力鉛直成分と並進床反力水平成分)を摂動させずに、目標 ZMPまわりの床反力モーメントの水平成分を摂動させる。この運動モードを上体回 転モードと呼ぶ。
[0097] 言いかえると、床反力鉛直成分と床反力水平成分を変化させずに、目標 ZMPまわ りの床反力モーメントの水平成分を変化させる運動を上体回転モードと呼ぶ。
[0098] この時の単位角加速度当たりの床反力モーメント成分の変化を A Mr、単位角加速 度当たりの床反力の水平成分の変化を A Frとする。 A Frは零である。図 6 (b)に示す 状況で上体が前傾するように角加速度を与えると、 Δ Mrは図 6 (b)に示す矢印の向 きに作用する。
[0099] 上体 3の運動には、上体並進モードと上体回転モード以外に、上体鉛直移動モー ドがある。これは、上体 3を鉛直方向に移動させる運動である。
[0100] 第 1実施形態においては、目標瞬時値発生部 100bは、以下に示す動力学モデル を用いて歩容を生成する。本実施形態では、その動力学モデルとして、例えば図 7に 示す動力学モデルが用 ヽられる。 図 7を参照して、この動力学モデルはロボット 1の各脚体 2にそれぞれ対応する 2つ の質点(足平質点) 2m, 2m、及び上体 3に対応する質点(上体質点) 24mからなる 合計 3質点と、イナーシャがあって質量のな ヽフライホイール FHとから構成されるモ デルである。上体質点は、上体 3に任意に固定設定されたローカル座標系において 上体 3の代表点と一定の位置関係を有する点である。同様に、各足平質点は、それ に対応する足平 22に任意に固定設定されたローカル座標系において該足平 22の 代表点と一定の位置関係を有する点である。この動力学モデルは、本願出願人が例 えば先に提案した PCT国際公開公報 WOZ03Z057427ZA1に例示した動力学 モデルである。従って、本明細書での詳細な説明は省略する力 該動力学モデルの 動力学は、次のように変数を定義したとき、式 2a— 2cにより表される。なお、ここでは 、本明細書の理解を容易にするために、サジタルプレーン (前後軸 (X軸)と鉛直軸( Z軸)を含む平面)での動力学方程式 (運動と床反力との関係を表す式)のみを記述 し、ラテラルプレーン (左右軸 (Y軸)と鉛直軸 (Z軸)を含む平面)での動力学方程式 を省略する。
ZsuP2 :支持脚質点鉛直位置、 ZSWg2 :遊脚質点鉛直位置、 Zb2 :上体質点鉛直位置 、 ZGtotal2 :全体重心鉛直位置、 Xsup2 :支持脚質点水平位置、 Xswg2 :遊脚質点水 平位置、 Xb2:上体質点水平位置、 XGtotal2:全体重心水平位置、 Θ by2:鉛直方向 に対する Y軸回りの上体姿勢角(傾斜角)、 mb2 :上体質点質量、 msUp2 :支持脚質点 質量、 mswg2 :遊脚質点質量、 mtotal:ロボット総質量(=mb2+msup2+mswg2)、J : 上体慣性モーメント(上体回転モードにおける等価慣性モーメント)、 Fx:床反力水平 成分 (詳しくは並進床反力の前後方向 (X軸)成分)、 Fz:床反力鉛直成分 (詳しくは 並進床反力の鉛直方向(Z軸)成分)、 My:目標 ZMPまわりの床反力モーメント (詳し くは床反力モーメントの左右軸 (Y軸)まわり成分)。
Fz=mb2 * (g+d2Zb2/dt2)+msup2 * (g+d2Zsup2/dt2)
+ mswg2 * (g + d2Zswg2/dt2) ……式 2a
Fx=mb2 * d2Xb/dt2+msup2 * d2Xsup2/dt2+mswg2 * d2Xswg2/dt2
……式 2b
My=-mb2 * (Xb2— Xzmp) + (g+d2Zb2/dt2)+mb2 * (Zb2— Zzmp) * d2Xb2/dt2 -msup2 * (Xsup2-Xzmp) * (g+d2Zsup2/dt2)
+ msup2*(Zsup2-Zzmp) * d2Xsup2/dt2
-mswg2 * (Xswg2— Xzmp) * (g+d2Zswg2/dt2)
+ mswg2*(Zswg2-Zzmp) * (d2Xswg2/dt2)+J * d2 0 by/dt2
……式 2c
なお、ロボット全体重心位置には次の関係式が成立する。
ZGtotal2 = (mb2 * Zb2+msup2 * Zsup2+mswg2 * Zswg2)/mtotal · "式 2d
XGtotal2 = (mb2 * Xb2 + msup2 * Xsup2 + mswg2 * Xswg2)/mtotal …式 2e この動力学モデルでは、脚体 2, 2の動力学 (各質点 2m, 2mの動力学)と上体 3の 動力学 (質点 24m及びフライホイール FHの動力学)とが相互に非干渉に構成される と共に、ロボット 1全体の動力学は、それらの線形結合で表される。また、さらに、上体 3の運動と床反力との関係は、上体 3の並進運動 (上体並進モード)と床反力との関 係、並びに上体 3の回転運動(上体回転モード)と床反力との関係に分離される。具 体的には、上体質点 24mの水平運動によって発生する床反力は、上体 3の水平方 向並進運動(上体並進モード)によって発生する床反力に対応し、フライホイールの 回転運動によって発生する床反力は、上体 3の姿勢角の回転運動(上体回転モード )によって発生する床反力に対応する。
[0102] 尚、ロボット 1の腕体の質量は上体質点 24mに含まれるものとし、上体質点 24mは 腕体の質量を含む質量をもつ。本実施形態では、目標歩容における腕体の運動 (腕 振り運動)は、後述するように、ロボット 1の腕振り以外の運動によってロボット 1に発生 する鉛直軸まわりの慣性力のモーメントを打ち消しつつも、上体 3に対する両腕体の 全体の重心の相対位置が動かないように行なわれるので、腕体の腕振り運動による( 鉛直軸まわり成分を除く)床反力モーメントへの影響と床反力水平成分への影響とは 無視する。
[0103] なお、前記フルモデル補正部 100cで用いるフルモデルは、例えば図 8に示す如く 、ロボット 1の各リンクに質点をもつような多質点モデルである。この場合、ロボット 1の 各リンクは、それに対応する質点の回りにイナ一シャをもつようなものであってもよい。 [0104] 次に、歩容生成装置 100の処理の詳細をより具体的に説明する。
[0105] 本実施形態における歩容生成装置 100は、ロボット 1の片方の脚体 2が着地してか ら他方の脚体 2が着地するまでの 1歩の期間の目標歩容 (前記狭義の目標歩容)を 単位として、その 1歩の期間の目標歩容を順番に生成する。ここで、新たに生成しょう として 、る目標歩容を「今回歩容」、その次の目標歩容を「次回歩容」、さらにその次 の目標歩容を「次次回歩容」、というように呼ぶ。また、「今回歩容」の一つ前に生成し た目標歩容を「前回歩容」と呼ぶ。「今回歩容」は、本発明における「所定の期間にお ける目標歩容」に相当するものである。
[0106] また、歩容生成装置 100が今回歩容を新たに生成するとき、該歩容生成装置 100 には、ロボット 1の 2歩先までの遊脚側足平 22の着地予定位置姿勢、着地予定時刻 の要求値 (要求)等が歩容に対する要求パラメータとして入力される (あるいは歩容生 成装置 100が記憶装置から要求パラメータを読み込む)。そして、歩容生成装置 100 は、これらの要求パラメータを基に、補正目標上体位置姿勢軌道、目標足平位置姿 勢軌道、目標 ZMP軌道、目標床反力鉛直成分軌道、目標腕姿勢軌道、補正目標 床反力モーメント軌道等を生成する。なお、本実施形態では、要求パラメータには、 2 歩先までの遊脚側足平 22の着地予定位置姿勢、着地予定時刻の要求値の他、基 準上体姿勢に対する要求、上体姿勢に対する相対的な腕姿勢に対するの要求、目 標床反力鉛直成分のパターンに対する要求、床の摩擦力 (もしくは摩擦係数)に対 する要求などを規定するパラメータも含まれる。基準上体姿勢に対する要求は、例え ば上体姿勢を鉛直姿勢に維持するというような要求であり、腕姿勢に対する要求は、 上体 3に対して腕姿勢を所定の姿勢に維持するというような要求である。また、目標 床反力鉛直成分のパターンに対する要求は、ロボット 1の空中期では、目標床反力 鉛直成分を 0にし、また、片脚支持期では、目標床反力鉛直成分を台形状のパター ンで変化させるというような要求である。また、床の摩擦力に対する要求は、目標床反 力鉛直成分と摩擦係数 (要求値)との積により定まる摩擦力限界に対して、どの程度 の範囲内に目標床反力水平成分を収めるかというような要求である。
[0107] 以下に歩容生成装置 100の歩容生成処理の詳細を図 9一図 22を参照しつつ説明 する。図 9は、その歩容生成装置 100が実行する歩容生成処理のメインルーチンを 示すフローチャート(構造化フローチャート)である。なお、このメインルーチン処理の 手順自体は、その一部のサブルーチン処理を除いて、例えば本願出願人による前記
PCT国際公開公報 WOZ03Z057427ZA1 (以下、公報文献 1という)と同じであ る。
[0108] まず S010において時刻 tを 0に初期化するなど種々の初期化作業が行なわれる。
この処理は、歩容生成装置 100の起動時等に行なわれる。次いで、 S012を経て SO 14に進み、歩容生成装置 100は、制御周期(図 9のフローチャートの演算処理周期) 毎のタイマ割り込みを待つ。制御周期は Atである。
[0109] 次いで、 S016に進み、歩容の切り替わり目である力否かが判断され、歩容の切り 替わり目であるときは S018に進むと共に、切り替わり目でないときは S030に進む。こ こで、上記「歩容の切り替わり目」は、前回歩容の生成が完了し、今回歩容の生成を 開始するタイミングを意味し、例えば前回歩容の生成を完了した制御周期の次の制 御周期が歩容の切り替わり目になる。
[0110] S018に進むときは時刻 tが 0に初期化され、次いで S020に進み、次回歩容支持 脚座標系、次次回歩容支持脚座標系、今回歩容周期および次回歩容周期が読み 込まれる。これらの支持脚座標系及び歩容周期は、前記要求パラメータにより定まる ものである。すなわち、本実施形態では、歩容生成装置 100にジョイスティック 44等 力 与えらる要求パラメータは、 2歩先までの遊脚足平 22の着地予定位置姿勢 (足 平 22が着地して力 足底を床面にほぼ全面的に接触させるように、滑らさずに回転 させた状態での足平位置姿勢)、着地予定時刻の要求値を含んでおり、その 1歩目 の要求値、 2歩目の要求値がそれぞれ、今回歩容、次回歩容に対応するものとして、 今回歩容の生成開始時 (前記 S016の歩容の切り替わり目)以前に歩容生成装置 10 0に与えられたものである。なお、これらの要求値は今回歩容の生成途中でも変更す ることは可會である。
[0111] そして、上記要求パラメータにおける 1歩目の遊脚足平 22 (今回歩容での遊脚足 平 22)の着地予定位置姿勢の要求値に対応して次回歩容支持脚座標系が定まる。 また、 2歩目の遊脚足平 22の着地予定位置姿勢の要求値に応じて次々回歩容支持 脚座標系が定まる。また、今回歩容周期は、今回歩容の支持脚足平 22の着地予定 時刻(要求値)から、 1歩目(今回歩容)の遊脚足平 22の着地予定時刻(要求値)まで の時間として定まり、次回歩容周期は、 1歩目の遊脚足平 22の着地予定時刻(要求 値)から 2歩目の遊脚足平 22の着地予定時刻(要求値)までの時間として定まる。
[0112] この S020の処理は、前記公報文献 1の図 13の S020の処理と同一であり、本明細 書での説明は以上に留める。
[0113] 次いで S022に進み、歩容生成装置 100は、今回歩容に続く仮想的な周期的歩容 としての定常歩容の歩容パラメータ(定常歩容パラメータ)を決定する。ここで決定す る歩容パラメータとしては、定常歩容における各足平 22の目標足平位置姿勢軌道を 規定する足平軌道パラメータ、基準とする上体姿勢軌道を規定する基準上体姿勢軌 道パラメータ、目標腕姿勢軌道を規定する腕姿勢軌道パラメータ、目標 ZMP軌道を 規定する ZMP軌道パラメータ、目標床反力鉛直成分軌道を規定する床反力鉛直成 分軌道パラメータと、目標床反力水平成分許容範囲を規定するパラメータとがある。
[0114] この明細書で「定常歩容」は、その歩容を繰り返したときに歩容の境界においてロボ ット 1の運動状態 (足平位置姿勢、上体位置姿勢等の状態)に不連続が生じないよう な周期的歩容を意味するものとして使用する。「定常歩容」は、ロボット 1を直進させる 周期的歩容を含むことはもちろん、ロボット 1を旋回させる周期的歩容も含む。この場 合、旋回率を零とするときは直進を意味することから、「旋回」には、広義の意味で直 進も含まれる。このため、本明細書の実施形態では、「定常歩容」をしばしば「定常旋 回歩容」と言うこともある。
[0115] 定常旋回歩容の詳細は、前記公報文献 1ゃ特願 2000— 352011号などにて説明 されているので、本明細書での詳細な説明は省略する力 その概要は次の通りであ る。
[0116] 周期的歩容である定常旋回歩容は、本実施形態では、ロボット 1の 2歩分の歩容、 すなわち今回歩容に続く第 1旋回歩容と該第 1旋回歩容に続く第 2旋回歩容とからな る歩容を該定常旋回歩容の 1周期分の歩容として、その 1周期分の歩容を繰り返す 歩容である。また、生成する今回歩容が例えばロボット 1の走行を行う走行歩容 (片脚 支持期と空中期とを有する歩容)であるときには、定常旋回歩容の第 1旋回歩容及び 第 2旋回歩容も走行歩容であり、ロボット 1の歩行を行う歩行歩容 (片脚支持期と両脚 支持期とを有する歩容)であるときには、定常旋回歩容の第 1旋回歩容及び第 2旋回 歩容も走行歩容である。つまり、第 1旋回歩容及び第 2旋回歩容の基本的な歩容形 態は今回歩容と同一である。
[0117] なお、以降の説明では、特にことわらない限り、生成する歩容として走行歩容を例 にとつて説明する。
[0118] 定常旋回歩容は、歩容生成装置 100で今回歩容の終端における発散成分や上体 鉛直位置速度、上体姿勢角及びその角速度等のロボット 1の運動の状態量を決定す るために暫定的に作成されるものであり、歩容生成装置 100からそのまま出力される ものではない。
[0119] 尚、「発散」とは、ロボット 1の上体 3の位置が両足平 22, 22の位置からかけ離れた 位置にずれてしまうことを意味する。発散成分の値とは、ロボット 1の上体 3の位置が 両足平 22, 22の位置 (より具体的には、支持脚側足平 22の接地面に設定されたグ ローバル座標系(支持脚座標系)の原点)からかけ離れて ヽく具合を表す数値である 。例えば、本明細書の実施形態では、前記した各動力学モデルに対して、発散成分 は、次式により求められる。
[0120]
発散成分 =上体質点水平位置 +上体質点水平速度 Z ω θ …式 3 この式 3の ω θは所定の値である。なお、歩容における発散成分は、式 3の上体質 点水平位置、上体質点水平速度の代わりに、それぞれ上体水平位置、上体水平速 度を用いて発散成分が求められる。
[0121] 本明細書の実施形態では、目標歩容が前記発散を生じることなぐ継続的に生成さ れるように、発散成分を指標にして歩容 (今回歩容)を生成するようにした。すなわち 、これ力 生成しょうとする今回歩容の後に続く定常歩容 (より正確には定常歩容パラ メータ)が前記今回歩容に係わる要求パラメータ等に応じて決定され、定常歩容の初 期発散成分を求めてから、今回歩容の終端発散成分を定常歩容の初期発散成分に 一致させる(より一般的には、今回歩容を定常歩容に連続させ、もしくは近づける)よ うに、今回歩容を生成する。 [0122] 本題に戻り、 S022では、図 10に示すサブルーチン処理のフローチャートに従って 、定常歩容の歩容パラメータが決定される。すなわち、定常歩容に係る前記足平軌 道パラメータ、基準上体姿勢軌道パラメータ、腕軌道パラメータ、 ZMP軌道パラメ一 タ、床反力鉛直成分軌道パラメータ、目標床反力水平成分許容範囲を規定するパラ メータがそれぞれ S100— S110の処理で決定される。そして、 S112において、定常 歩容の初期時刻 Tsと、 1歩の期間(定常歩容の 1周期の時間) Tcycとが再定義される 。これらの処理は、前記公報文献 1の図 15のフローチャートの処理と同一であるので 、ここでの詳細な説明は省略する力 S100— S110で決定される定常歩容のパラメ ータは、そのそれぞれのパラメータにより規定される軌道が定常歩容の周期性を満た しつつ、前記した要求パラメータなどにより表される歩容に関する要求を優先的に満 足するように決定されるパラメータである。例えば、前記公報文献 1の図 15のフロー チャートに関して説明されている如ぐ定常歩容の足平軌道パラメータは、今回歩容 に続く第 1旋回歩容の遊脚足平 22の着地予定位置姿勢 (前記次回歩容支持脚座標 系で見た着地予定位置姿勢)が前記した 2歩目の着地予定位置姿勢 (要求値)に合 致し、且つ、該第 2旋回歩容の遊脚足平 22の着地予定位置姿勢 (前記次次回歩容 支持脚座標系で見た着地予定位置姿勢)が、今回歩容の遊脚足平 22の着地予定 位置姿勢 (要求値)に合致するように決定される。なお、 ZMP軌道パラメータは、足 平軌道パラメータを基に、目標 ZMPが支持脚足平 22の接地面のほぼ中央付近に 位置し、且つ、定常歩容の全期間にわたって連続的に変化するように決定される。
[0123] また、図 10の S112で再定義する定常歩容の初期時刻 Tsは、定常歩容の 1周期分 の歩容を後述するように作成するときの 1周期の始点の時刻(これは本実施形態では 今回歩容の終端の時刻とは相違する)を意味し、第 1旋回歩容の空中期(目標床反 力鉛直成分が 0となる時期)の開始直前の時刻である。また、定常歩容の 1歩の期間 Tcycは、定常歩容の第 1旋回歩容と第 2旋回歩容との合計時間の期間である。定常 歩容は、その周期性によって、任意の時刻 Txにおける状態(ロボット 1の各部位の位 置姿勢やその変化速度の状態)は時刻 Tx+Tcycにおける状態と同一になる歩容で ある。定常歩容は、 2歩分の歩容を 1周期とする周期的な歩容であるので、本明細書 では、その 1周期の期間 (第 1旋回歩容と第 2旋回歩容との合計時間)を定常歩容の 1歩の期間とみなす。
[0124] 補足すると、 S 100— S 110の処理で決定される定常歩容のパラメータは、定常歩 容に関する要求を優先的に満足するように決定されるパラメータであるので、前記第 2発明における優先パラメータに相当し、その決定された値は、優先パラメータ要求 値に相当するものである。従って、 S 100— S 110の処理は、第 2発明における優先 パラメータ要求値決定手段に相当するものである。また、 S100— S110の処理で決 定される定常歩容のパラメータは、定常歩容パラメータを構成する全てのパラメータ ではない。この他にも、定常歩容の歩容パラメータには種々様々なパラメータが含ま れる。本実施形態では、定常歩容パラメータを構成するパラメータとして、 S100— S 110で決定されるパラメータ (優先パラメータ)の他に、例えば、定常歩容の 1周期の 期間の始端 (該期間の開始時刻)あるいは終端 (該期間の終了時刻)における上体 3 の位置および速度、並びに上体 3の姿勢角およびその角速度と、後述の上体傾斜復 元モーメント ZMP換算値のピーク値とが含まれる。これらのパラメータのうち、上体 3 の水平位置および水平速度、上体 3の姿勢角の角速度、上体傾斜復元モーメント Z MP換算値のピーク値は、後述の S024の処理で定常歩容の境界条件(定常歩容の 任意の時刻での状態と、 1周期後の時刻での状態とがー致もしくはほぼ一致するとい う条件)を満足するように探索的に決定される。定常歩容パラメータは、それを構成す る各パラメータの値と、前記した各動力学モデルとを用いて定常歩容を一義的に生 成することができる歩容パラメータである。
[0125] また、定常歩容パラメータを構成するパラメータを大別すると、前記優先パラメータ とそれ以外の非優先パラメータとに大別される。そして、非優先パラメータには、上記 の如く探索的に決定されるパラメータ (前記第 2発明における探索対象パラメータ)が 含まれる。なお、定常歩容パラメータの非優先パラメータには、歩容に関する要求、 あるいは歩容に関する境界条件に依存せずに固定的に決定されるパラメータもある 。例えば、本実施形態では、ロボット 1の遊脚足平 22の持ち上げ高さ(支持脚足平 2 2の接地面に対する相対的な高さ)は、固定的に設定されるパラメータである。固定 的に設定されるパラメータは、制御処理周期毎に、 S100から S110の処理において 設定することは無駄であるので、 ROMに記憶しておく力、あるいは、制御ユニット 60 の電源投入直後における諸々の初期化処理(図 9の S010)において設定すればよ い。
[0126] また、一つもしくは複数の上位のパラメータ力も従属的に決定される下位のパラメ一 タもある。例えば、本実施形態では、定常歩容の初期(前記時刻 Ts)での上体姿勢は 、基準上体姿勢と同一とされ、基準上体姿勢軌道パラメータ力 従属的に決定される 。本明細書では、一つの上位のパラメータ力も従属的に決定されるパラメータは、そ の上位のパラメータと同じ属性 (優先パラメータである力、非優先パラメータである力、 探索対象パラメータであるか、固定的なパラメータであるかの属性)のパラメータであ ると見なす。そして、複数の上位のパラメータを基に決定される下位のパラメータにつ いては、上位のパラメータに探索対象パラメータが含まれる場合には、下位のパラメ ータも探索対象パラメータと見なし、上位のパラメータに探索対象パラメータが含まれ ず、且つ優先パラメータが含まれる場合には、下位のパラメータは優先パラメータと 見なす。本明細書では、全ての定常歩容パラメータの構成パラメータを列挙すること は省略し、本願発明を理解する上で十分な典型的なパラメータだけを例示する。
[0127] 図 9の説明に戻って、次に S024に進み、定常歩容の初期状態が算出される。ここ で算出される初期状態は、定常歩容の初期上体水平位置速度 (水平方向での初期 上体位置及び初期上体速度)、初期上体鉛直位置速度 (鉛直方向での初期上体位 置及び初期上体速度)、初期発散成分、初期上体姿勢角およびその角速度である。 この初期状態の算出は、図 11のサブルーチン処理のフローチャートに従って探索処 理により行なわれる。なお、図 11の処理で最終的に決定する定常歩容の初期状態 は、今回歩容の終端の時刻(定常歩容の本来の初期時刻 0)での状態である力 本 実施形態では、図 11の S2008の処理が終了するまでは、図 10の S112で設定した 初期時刻 Tsでの状態を定常歩容の初期状態とする。
[0128] 図 11のサブルーチン処理を説明すると、まず、 S2000において、前回歩容 (今回 歩容の 1歩前の歩容)を生成したときの S022および S024の処理で最終的に決定さ れた、初期(時刻 Ts)上体位置 Xsおよびその変化速度 Vxs、初期(時刻 Ts)上体姿勢 角速度 ω bs、並びに上体傾斜復元モーメント ZMP換算値ピーク値 ZMPrecpeekを含 む第 2旋回歩容パラメータ (第 2旋回歩容を規定する歩容パラメータ)の各パラメータ 値を今回歩容に対応する定常旋回歩容の第 1旋回歩容パラメータの各パラメータの 仮値とする。
[0129] なお、前記上体傾斜復元モーメント ZMP換算値ピーク値 ZMPrecpeekは、ロボット 1 の片脚支持期 (より詳しくは、片脚支持期の開始直後から終了直前までの時期。以 下、上体傾斜角復元期間ということがある)で上体姿勢を基準上体姿勢に近づけるた めに必要な床反力モーメントの ZMP換算値 ZMPrec (基準となる目標 ZMP (S022で 決定した ZMP軌道パラメータにより規定される目標 ZMP)からのずれ量)のピーク値 を示すものであり、その例を図示したものが図 20である。 ZMPrecは同図示の如く台 形状のパターンとされ、そのピーク値(台形の高さ)力 ¾MPrecpeekである。
[0130] S2000においてはさらに、前回歩容を生成するときの S022および S024の処理で 最終的に決定された第 1旋回歩容パラメータ (第 1旋回歩容を規定するパラメータ)の 各パラメータ値を今回歩容に対応する定常旋回歩容の第 2旋回歩容パラメータの各 ノ メータの仮値とする。なお、前回歩容に対応する定常旋回歩容における上体 3の 初期状態を旋回歩容パラメータに含ませたのは、本実施形態では、定常旋回歩容の 1周期分を生成するときの初期時刻 Tsが本来の初期時刻 0と異なり、本来の初期時 刻 0での上体 3の初期状態は、第 2旋回歩容内の途中時刻における上体 3の状態と 同じになる力もである。以上が S2000の処理である。
[0131] この S2000の処理は、今回歩容に対応する定常旋回歩容の第 1旋回歩容パラメ一 タおよび第 2旋回歩容パラメータの候補をそれぞれ、とりあえず、前回歩容に対応す る定常旋回歩容の第 2旋回歩容パラメータ、第 1旋回歩容パラメータに一致させると いうことを意味する。このように設定された、今回歩容に対応する第 1旋回歩容パラメ ータおよび第 2旋回歩容パラメータ力 なる定常旋回歩容パラメータを基に前記動力 学モデルを用いて定常旋回歩容を生成すると、その定常旋回歩容は、定常旋回歩 容の境界条件を満たすものとなる。なお、上記のように設定された今回歩容に対応す る第 1旋回歩容パラメータおよび第 2旋回歩容パラメータ力 なる定常旋回歩容パラ メータは、第 2発明におけるベース定常歩容パラメータに相当するものである。従って 、 S2000の処理は、第 2発明におけるベース定常歩容パラメータ設定手段に相当す る。 [0132] 次 、で、 S2000-1にお 、て、探索対象 (探索対象パラメータ)である初期(Ts)上 体水平位置 Xs、初期 (Ts)上体水平速度、初期 (Ts)上体姿勢角速度 co bsおよび上 体傾斜復元モーメント換算値 ZMPrecpeekを除く定常歩容パラメータの優先パラメ一 タ (より詳しくは S022で決定する定常歩容の足平軌道パラメータ、基準上体姿勢軌 道パラメータ、腕姿勢軌道パラメータ、床反力鉛直成分軌道パラメータ、床反力水平 成分許容範囲を規定するパラメータ、 ZMP軌道パラメータ)の値を現在候補値 (S20 00で設定された値)から前記 S022で決定した値に所定量だけ近づけた値に更新す る。
[0133] 次 、で、 S2004— 1にお 、て、現在候補の定常歩容パラメータ(S2000で仮決定さ れた定常歩容パラメータの優先パラメータを S2002— 1で更新したもの)を基に、定常 歩容の境界条件を満足するような探索対象 Xs、 Vxs、 co bs、 ZMPrecpeekの値を探索 的に決定する。この処理は、図 12のフローチャートに示す如く行なわれる。なお、以 下の図 12の処理(その処理の中のサブルーチン処理を含む)の説明にお!/、ては、歩 容パラメータの各パラメータの値に関する「現在値」は、該当するパラメータの「現在( 該当処理の実行時点)設定されている候補値もしくは仮値」の意味で使用する。また 、「現在の〇〇」(〇〇はあるパラメータ)というときは、「現在 (該当処理の実行時点) 候補となっている〇〇」の意味で使用する。
[0134] 以下、図 12の処理を説明すると、まず、 S1200において、現在の定常旋回歩容パ ラメータを基に足平位置姿勢、上体姿勢角 Θ bsおよび腕姿勢の初期状態 (定常旋回 歩容の初期時刻 Tsでの状態)が決定される。なお、これらの初期状態は、第 1旋回歩 容の支持脚座標系(前記次回歩容支持脚座標系)で見た状態である。この処理では 、足平位置姿勢の初期状態は、現在の定常歩容パラメータの足平軌道パラメータを 基に有限時間整定フィルタを用いて算出される足平位置姿勢軌道のうちの時刻 Tsで の各足平 22の位置姿勢に決定される。該有限時間整定フィルタは、前記公報文献 1 等にて説明されているので、ここでの説明は省略する。また、上体姿勢角 Θ bsの初期 状態は、現在の定常歩容パラメータの基準上体姿勢軌道パラメータ力も定まる時刻 Tsでの基準上体姿勢角と同一に決定され、腕姿勢の初期状態は、現在の定常歩容 ノラメータの腕姿勢軌道パラメータにより定まる時刻 Tsでの状態と同一に決定される [0135] 次いで、 S1202において、探索対象である初期(時刻 Ts)上体水平位置、初期上 体水平速度、初期上体姿勢角速度、および上体傾斜復元モーメント ZMP換算値ピ ーク値(Xsl, Vxl, co bsl, ZMPrecpeekl)の現在値を、これらの探索対象の初期候補 として設定する。なお、これらの探索対象の値は、第 1旋回歩容の支持脚座標系(前 記次回歩容支持脚座標系)で見た値である。
[0136] 次いで、 S1206— S 1218のループ処理が実行される。その処理を概略的に説明 すれば、前記の如く設定した探索対象の初期候補を含む定常歩容パラメータと前記 動力学モデルとを用いて定常歩容の終端(時刻 Ts+Tcyc)までの歩容を生成する。 そして、その生成した定常歩容が境界条件 (初期と終端での状態 (本実施形態では 上体水平位置、上体水平速度、上体姿勢角、上体姿勢角速度)がほぼ一致すること )を満たしている力否かを判断し、満たしていない場合には、探索対象の値を変更す る。これを繰り返すことで、最終的に前記動力学モデル上で定常歩容の境界条件を 満たすことができる該定常歩容の初期状態が決定される。
[0137] S1202— S 1218の処理をより具体的に説明すると、 S1202にお!/ヽて、動力学モデ ル上での定常歩容の初期(時刻 Ts)の上体鉛直位置および上体鉛直速度 (Zs, Vzs) が決定される。この場合、動力学モデル上でのロボット 1の全体重心の鉛直方向の慣 性力と重力との合力が目標床反力鉛直成分に釣り合い、且つ、全体重心の鉛直位 置が定常歩容の境界条件を満たすように決定される。この処理は、前記公報文献 1 の図 20の S206の処理と同様に行なわれる。なお、(Zs, Vzs)は、前記探索対象 Xs, Vxs, 0 bs, co sに依存する。従って、(Zs, Vzs)は従属的な探索対象パラメータとして の属性を持つ。
[0138] 次いで、 S 1208において、上体 3の初期状態( 0 bs, Xs, Vxs, co bs, Zs, Vzs)の現 在値と ZMPrecpeekの現在値とを含む定常歩容パラメータを基に、動力学モデルを用 いて定常歩容が時刻 Ts + Tcyc (定常歩容の終端)まで生成される。この処理は、図 1 3のフローチャートで示すサブルーチン処理により実行され、さらに、この図 13の S30 4の処理は、図 14のフローチャートで示すサブルーチン処理により実行される。さら に、図 14の S412の処理は、図 15フローチャートで示すサブルーチン処理により実 行される。これらの処理については後述する。
[0139] 次いで、 S1210において、 S 1208で生成した定常歩容の終端の上体水平位置、 上体水平速度、上体姿勢角およびその角速度を、該定常歩容の次の 1歩の支持脚 座標系(定常歩容の第 2旋回歩容に続く第 1旋回歩容の支持脚座標系)から見た値 に変換し、その値を (Xel, Vxel, Θ bel, cobel)とする。
[0140] そして、 S1212において、現在の (Xsl, Vxsl, Θ bsl, cobsl)の値と、 (Xel, Vxel,
0bel, cobel)の値との差を定常歩容の境界条件誤差(errx, errv, err θ , err ω)とし て求める。定常歩容の境界条件を満足するためには、境界条件誤差はほぼ 0でなけ ればならない。この境界条件誤差は、 S 1208において作成した定常歩容の、境界条 件からのずれ度合 、を表すものである。
[0141] 次いで、 S1214において、 errx, errv, err θ , err ωがいずれも十分に小さい(0近 傍の)所定の許容範囲内にあるカゝ否かを判断し、その判断結果が YESである場合に は、 S1206— S1218のループ処理を終了する。この場合、このループ処理の終了 時現在の定常歩容パラメータが動力学モデル上で境界条件を満たし得る定常歩容 ノ ラメータとして得られる。
[0142] 一方、 S1214の判断結果が NOである場合には、現在の探索対象 (Xs, Vx, cobs,
ZMPrecpeek)の値の近辺に、それぞれのパラメータの値を所定の微小量 AXs, AVx
, A cobs, Δ ZMPrecpeekだけ変化させた複数 (本実施形態では 4個)の探索対象の 候補を決めて、それぞれの探索対象の候補を含む定常歩容パラメータ (現在の定常 歩容パラメータの探索対象を新たに決めた各候補に修正した定常歩容パラメータ)を 基に、 S1206— S1212と同じ処理を実行して、それぞれの探索対象の候補に対応 する境界条件誤差を求める。
[0143] 次いで、 S1218において、現在の(Xs, Vx, cobs, ZMPrecpeek)およびその近辺の 探索対象の候補のそれぞれに対応する境界条件誤差を基に、最急降下法やシンプ レックス法などの探索手法によって、探索対象(Xs, Vx, cobs, ZMPrecpeek)の新た な候補を決定する。そして、 S 1206からの処理が再び繰り返される。
[0144] 以上のようにして、(Xs, Vx, cobs, ZMPrecpeek)を探索対象として、定常歩容の境 界条件を満たす新たな定常歩容パラメータが探索的に決定される。なお、図 12の処 理では、定常歩容パラメータのうちの優先パラメータ (足平軌道パラメータ、基準上体 姿勢軌道パラメータなど)は図 12の処理の開始時の値に維持される。
[0145] 補足すると、図 12の処理の基本的な考え方(手法)は、前記公報文献 1の図 20の 処理と同様である。但し、本明細書の実施形態では、上記探索対象として、上体姿 勢角速度と上体傾斜復元モーメント ZMP換算値ピーク値とが含まれ、この点は、前 記公報文献 1の図 20の処理と相違している。また、後述する S1208の処理の細部の 処理 (サブルーチン処理)の一部も前記公報文献 1のものと相違して 、る。
[0146] 前記 S1208のサブルーチン処理を以下に説明する。
[0147] S 1208のサブルーチン処理である図 13の処理は、図示の通り、(Xs, Vxs, Θ bs, co bs, Zs, Vzs)の現在値 (候補値または仮決め値)を定常歩容における上体 3の運 動の初期状態として (S300)、その初期(時刻 Ts)状態から、時刻 Ts+Tcycまで (終 端状態まで)の定常歩容の瞬時値を時系列的に実際に作成する(S302— S306)処 理である。なお、図 13の「k」は、作成する定常歩容の瞬時値の時系列の時刻である
[0148] この図 13の S304のサブルーチン処理(定常歩容の瞬時値を決定するサブルーチ ン処理)である図 14の処理では、 S400— S410の処理によって、現在の定常歩容パ ラメータ (詳しくは優先パラメータ)を基に、目標床反力鉛直成分、目標 ZMP、目標両 足平位置姿勢、基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分 許容範囲の瞬時値が求められる。
[0149] さらに、 S412の処理によって、動力学モデルを用いて、図中に記載された条件を 満たすように上体水平加速度および上体姿勢角加速度の瞬時値が決定される。そし て、 S414の処理によって、上体水平加速度および上体姿勢角加速度をそれぞれ 2 階積分して、上体水平位置および上体姿勢角の瞬時値が決定される。
[0150] 補足すると、図 14の処理のうち、 S412以外の処理は、前記公報文献 1の図 22の の S400— S410、 S414の処理と同じである。従って、 S412の処理以外の図 13の 処理につ 、ては詳細な説明を省略する。
[0151] 図 14の S412のサブルーチン処理である図 15の処理では、まず、定常歩容の上体 傾斜角復元期間を規定する時刻 Tm、 Ts2、 Tm2を決定する。これらの時刻は、それぞ れ、図 20に示す如ぐ前記上体傾斜復元モーメン ZMP換算値 ZMPrecを発生させる 期間を規定するものである。すなわち、定常歩容の初期時刻 Tsの後の最初の片脚支 持期の開始直後の時刻を Tm、該片脚支持期の終了直前の時刻を Ts2、次の片脚支 持期の開始直後の時刻を Tm2として決定する。そして、期間 [Tm, Ts2]と、期間 [Tm2 , Te]を、それぞれ ZMPrecを発生させる期間(以下、上体傾斜角復元期間という)とす る。これは、前記公報文献 1の図 23の S500の処理と同じである。
[0152] 次いで、 S502において、定常歩容の瞬時値を作成しょうとしている現在時刻 k (作 成中の定常歩容内での時刻)が上体傾斜角復元期間にある力否かが判断される。そ して、現在時刻 kが前記上体傾斜角復元期間内の時刻でないとき、換言すれば、現 在時刻 kが、片脚支持期の終了直前から次の片脚支持期の開始直後までの期間(目 標床反力鉛直成分が 0である力もしくは 0に近い期間)にあるときには、 S504— S51 6の処理によって、動力学モデル上で、目標 ZMPを満足し、且つ、該動力学モデル 上でのロボット 1の全体重心の水平加速度による慣性力に釣り合う床反力水平成分 が時刻 kの床反力水平成分許容範囲の瞬時値内に収まるように、上体並進モードの 上体水平加速度 αと、上体回転モードの上体角加速度 j8 (上体姿勢角の角加速度) とが決定される。これらの S504— S516の処理は、前記公報文献 1の図 19の S504 一 S516の処理と同じである。
[0153] また、現在時刻 k (作成中の定常歩容内での時刻)が前記上体傾斜角復元期間内 の時刻であるときには、 S518— S526の処理によって、上体角加速度 j8は、動力学 モデル上で、上体傾斜復元モーメント ZMP換算値パターンの瞬時値 (これは、現在 設定されて 、る上体傾斜復元モーメント ZMP換算値ピーク値(図 12の S 1208の処 理の直前に決定された候補値)と現在時刻 kとに応じて定まる。図 20を参照)に対応 する床反力モーメントを目標 ZMPまわりに発生するように決定される。また、上体水 平加速度は、動力学モデル上で、上体並進モードによって発生する目標 ZMPまわり の床反力モーメントが 0になるための上体水平加速度と、上体角加速度 j8による目標 ZMPまわりの床反力モーメントと同等の床反力モーメントを発生する上体水平加速 度との差として求められる。これにより、上体傾斜角復元期間では、上体姿勢を基準 上体姿勢に向力つて復元させつつ、目標 ZMPを満足するように上体角加速度 |8お よび上体水平加速度 OCが決定される。
[0154] 補足すると、本実施形態の図 15の S518— S526の処理は、前記公報文献 1の図 2 3の S520— S528の処理と同じである。
[0155] 以上、説明した図 11の S2002— 1、 2004— 1の処理は、それを簡潔的に言えば、定 常歩容パラメータの優先パラメータ (足平軌道パラメータなど)の値を現在値 (現在候 補値)から S022の処理(詳しくは図 10の S100— S110の処理)で決定した値に所定 量だけ近づけて更新し、その更新後の優先パラメータを含んで、定常歩容の境界条 件を動力学モデル上で満足し得る新たな定常歩容パラメータを探索する処理である 。そして、この処理では、 (Xs, Vx, co bs, ZMPrecpeek)が探索対象とされる。なお、 S 2002-1における定常歩容パラメータの優先パラメータの現在値 (更新前の候補値) は、 S2000で決定された定常歩容パラメータの仮値のうちの優先パラメータの値であ る。また、 S2004— 1の処理では、探索対象の初期候補値として、 S2000で決定され た仮値が用いられる。
[0156] 図 11の説明に戻って、 S2002-1, S2004— 1の上記した処理の後、 S2002-1, S 2004— 1の処理と同様の処理(図 11では S2002— 2, S2004— 2)力 S繰り返される。そ して、最終的に、 S2004— n (nは総繰り返し回数)において、定常歩容パラメータの 優先パラメータは、 S022の処理で決定された値に一致させる。さらに、 S2004— nに おいて、 S2004-1と同様に、現在候補の定常歩容パラメータを基に、動力学モデル 上で定常歩容の境界条件を満足するような探索対象 Xs, Vx, co bs, ZMPrecpeekの 値が探索的に決定され、新たな定常歩容パラメータが決定される。
[0157] これらの繰り返し処理において、 S2002— k(k= 2, · ··, n)で優先パラメータを更新 する前における優先パラメータの値は、 S2002— (k 1)での更新後の優先パラメ一 タの値である(S2002— 1では、前記したように更新前の優先パラメータの値は S200 0で決定された仮値である)。また、 S2004— k(k= 2, · ··, n)の処理は、 S2004— 1の 処理と同じである。但し、 S2004— kでは、探索対象 Xs, Vx, co bs, ZMPrecpeekの初 期値補(図 12の S1202で設定する初期値候補)として、 S2004— kの処理の開始時 に設定されている値、すなわち、 S2004— (k 1)の処理で最終的に探索された探索 対象の値が用いられる(S2004— 1では、前記したように探索対象の初期値候補は、 S 2000で決定された仮値である)。
[0158] 以上のようにして、 S2000で決定された定常歩容パラメータの優先パラメタ一の値( 仮値)を初期値として、該優先パラメータの値力 段階的に S022の処理で決定され た値 (これは今回歩容に関する要求を満足するための優先パラメータの値 (優先パラ メータ要求値)である)に近づくように、該優先パラメータの値が段階的に更新され、 最終的に S022の処理で決定された値に一致させられる (S2002-1, S2002-2, …… , S2002— n)。従って、これらの S2002— 1, S2002-2,…… , S2002— nの処 理は、第 2発明における優先パラメータ漸近手段に相当する。そして、その優先パラ メータの更新の都度、その更新後の優先パラメータを含む定常歩容パラメータの探 索対象の値が、その更新の直前に決定された値を初期値候補として、定常歩容の境 界条件を満たすように探索され、その探索結果の探索対象を含む定常歩容パラメ一 タカ S新たに決定される(S2004— 1, 2004-2,…… , S2004— n)。従って、これらの S 2004-1, S2004-2,…… , S2004— nの処理は、第 2発明における新規定常歩 容パラメータ決定手段に相当し、それぞれの処理で最終的に決定される探索対象を 含む定常歩容パラメータが第 2発明における新規定常歩容パラメータに相当する。そ して、 S2004— nで最終的に決定された新たな定常歩容パラメータがこれから生成し ようとする今回歩容に続くべき定常歩容の歩容パラメータとされる。
[0159] 補足すると、上記の繰り返し処理の総繰り返し回数 nは、 S2000で決定する定常歩 容パラメータの優先パラメータの値と、 S022で決定した優先パラメータの値 (優先パ ラメータ要求値)との差に応じて決定される。また、定常歩容パラメータのうち、優先パ ラメータおよび探索対象のパラメータ以外のパラメータ(固定的なパラメータ)は、 S2 000で決定された定常歩容パラメータの当該パラメータの値に維持される。
[0160] 上記の如く S2002—1— S2004— nの繰り返し処理が実行された後、 S2006におい て、現在候補の定常旋回歩容(S 2004— nの処理で最後に作成された定常歩容)を 基に、本来の初期時刻 0における定常歩容の上体 3の運動状態である初期上体水 平位置 X0、初期上体水平速度 VxO、初期上体姿勢角 Θ bOおよびその角速度 co bO、 並びに初期上体鉛直位置 Z0、初期上体鉛直速度 VzOが求められる。さらに、 S2008 において、前記した初期発散成分 qの定義式に従って、定常旋回歩容の、本来の初 期時刻 0における発散成分である定常旋回初期発散成分 q[0]が求められる。 S2006 および S2008で求められる値は、今回歩容に続く定常旋回歩容の第 1旋回歩容の 支持脚座標系で見た値である。そして、 S2010において、定常旋回初期発散成分 q [0]を今回歩容の支持脚座標系から見た値である q"と、初期上体鉛直位置'速度を 今回歩容の支持脚座標系力も見た値である (Z0", VzO")を求める。
[0161] 以上が、図 11の処理の詳細である。
[0162] 以上説明した図 11の処理によって、 S2000で決定された仮の定常歩容パラメータ
(定常歩容の境界条件を満足するように過去に決定された定常歩容パラメータ)の優 先パラメータの値を徐々に S022で決定した優先パラメータ (これから生成しょうとする 今回歩容に続く定常歩容の優先パラメータ)の値に近づけるように更新しつつ、その 更新の都度、定常歩容の境界条件を満足する定常歩容パラメータが新たに決定され る。このため、定常歩容の境界条件を満足するような定常歩容を上体位置姿勢の発 散が生じたりすることなぐ効率よく短時間で作成して、今回歩容に対応する定常歩 容の初期状態を適切に求めることができる。
[0163] 図 9の説明に戻って、以上説明したように S024の処理を実行した後、 S026におい て、今回歩容の歩容パラメータが決定 (一部は仮決定)される。この処理は、図 16の フローチャートに従って実行される。ここで決定する歩容パラメータとしては、今回歩 容における足平位置姿勢軌道 (各足平 22の位置姿勢軌道)、基準上体姿勢軌道、 腕姿勢軌道、床反力鉛直成分軌道、床反力水平成分許容範囲、 ZMP軌道をそれ ぞれ規定するパラメータがあり、これらの各パラメータが S600— S610の処理で決定 される。そして、 S612において、今回歩容における上体傾斜角復元期間 [Ta, Tb]が 設定される。これらの処理は、前記公報文献 1の図 33のフローチャートの処理と同一 であるので、ここでの詳細な説明は省略する力 上記各軌道が前回歩容の終端の状 態(=今回歩容の初期状態)から、今回歩容に関する前記した要求を満たしつつ、定 常歩容につながるように各軌道を規定するパラメータが決定される。例えば、今回歩 容の遊脚足平 22に関する足平軌道パラメータは、今回歩容の遊脚足平 22の着地予 定位置姿勢および時刻がそれらの要求値を満たしつつ、今回歩容の終端にぉ 、て 該遊脚足平 22の位置姿勢が定常歩容の初期 (今回歩容の終端の時刻)で一致する ように決定される。
[0164] 補足すると、 S610で決定される ZMP軌道パラメータは今回歩容の基準とする ZM P軌道 (仮目標 ZMP軌道)を規定するパラメータであり、そのパラメータにより規定さ れる仮 ZMP軌道の例 (X軸方向の軌道の例)が図 22の最上段に示されている。該 Z MP軌道パラメータは、今回歩容の片脚支持期において、支持脚足平 22の接地面 のほぼ中央付近に目標 ZMP位置し、且つ、片脚支持期に続く空中期では、 目標 Z MPが今回歩容の終端において定常歩容の初期の ZMPまで連続的に変化するよう に決定される。また、図 16の S612で設定する上体傾斜角復元期間は、図 22の時刻 Ta力 時刻 Tbまでの期間であり、今回歩容の片脚支持期の開始直後から終了直前 までの期間である。
[0165] 補足すると、 S600— S610の処理で決定される今回歩容のパラメータは、今回歩 容に関する要求を優先的に満足するように決定されるパラメータであるので、前記 S6 00— S610の処理で決定される今回歩容のパラメータは、前記第 1発明における優 先パラメータに相当し、その決定された値は、優先パラメータ要求値に相当するもの である。従って、 S600— S610の処理は、第 1発明における優先パラメータ要求値決 定手段に相当するものである。また、 S600— S610の処理で決定される今回歩容の ノ ラメータは、今回歩容パラメータを構成する全てのパラメータではない。定常歩容 ノ ラメータの場合と同様、この他にも、今回歩容の歩容パラメータには種々様々なパ ラメータが含まれる。本実施形態では、今回歩容パラメータを構成するパラメータとし て、 S600— S610で決定されるパラメータ(優先パラメータ)の他に、例えば、 ZMP 軌道パラメータを修正するための ZMP修正量を規定する ZMP修正パラメータと、上 体傾斜復元モーメント ZMP換算値のピーク値 (この場合 2種類のピーク値)とが含ま れる。これらのパラメータは、以下に説明する S028の処理の中で今回歩容の境界条 件 (定常歩容に近づける条件)を満足するように探索的に決定されるパラメータである
[0166] なお、定常歩容パラメータの場合と同様、今回歩容パラメータを構成するパラメータ を大別すると、前記優先パラメータとそれ以外の非優先パラメータとに大別される。そ して、非優先パラメータには、上記の如く探索的に決定されるパラメータ (前記第 1発 明における探索対象パラメータ)が含まれる。また、非優先パラメータには、歩容に関 する要求、あるいは歩容に関する境界条件に依存しな 、固定的なパラメータもある( 例えば、ロボット 1の遊脚足平 22の持ち上げ高さ)。また、一つもしくは複数の上位の ノ ラメータ力も従属的に決定される下位のパラメータもある。この場合、下位のパラメ ータの属性にっ 、ては、定常歩容パラメータの場合と同じである。
[0167] 図 9の S028に進んで、今回歩容の歩容パラメータ(ZMP軌道パラメータ)が修正さ れる (最終的な今回歩容パラメータが決定される)。この処理では、今回歩容の終端 における発散成分が S024で決定した定常旋回歩容の初期発散成分 q"に一致する ように (より詳しくは上体位置姿勢軌道を定常歩容に連続させ、もしくは近づけるよう に)、今回歩容の歩容パラメータが修正されて、最終的な今回歩容パラメータが決定 される(より詳しくは、 ZMP修正パラメータと上体傾斜復元モーメント ZMP換算値の 2 種類のピーク値とが決定される)。本実施形態では、上記の如ぐ今回歩容の終端に おける発散成分が定常旋回歩容の初期発散成分 q"に一致する (もしくはほぼ一致 する)ことが今回歩容の終端における境界条件である。
[0168] この処理は、図 17のフローチャートで示すサブルーチン処理に従って、段階的な 探索処理により行われる。
[0169] 図 17のサブルーチン処理を説明すると、まず、 S2100において、前回歩容を生成 したときの S026および S028の処理で最終的に決定された ZMP修正パラメータ a、 並びに上体傾斜復元モーメント換算値の第 1ピーク値 ZMPrecpeekaおよび第 2ピーク 値 ZMPrecpeekbを含む今回歩容パラメータの各パラメータ値を、これから生成しようと する今回歩容パラメータの各パラメータの仮値とする。但し、前回歩容の歩容パラメ ータの左右を反転させた上で、今回歩容の当該パラメータの仮値とする。例えば、今 回歩容の支持脚側の足平軌道パラメータ、遊脚側の足平軌道パラメータ、 ZMP軌道 ノ ラメータの仮値は、前回歩容のこれらのパラメータの左右を反転させたものに設定 される。
[0170] ここで、図 17のフローチャートの処理中で求める(探索する)上体傾斜復元モーメン ト ZMP換算値の第 1ピーク値 ZMPrecpeekaおよび第 2ピーク値 ZMPrecpeekbは、今 回歩容の上体傾斜角復元期間 [Ta, Tb]で上体姿勢を基準上体姿勢に近づけるた めに必要な床反力モーメントの ZMP換算値のパターンの 2つのピーク値を示す探索 対象パラメータであり、その例を図示したものが図 21である。定常歩容の場合の上体 傾斜復元モーメント ZMP換算値のピーク値は 1つであった力 今回歩容の終端にお ける上体姿勢角およびその角速度をそれぞれ定常歩容の初期上体姿勢角およびそ の角速度に一致させるために、本実施形態では、上体傾斜復元モーメント ZMP換算 値の調整可能な 2つのパラメータとして、第 1ピーク値 ZMPrecpeekaおよび第 2ピーク 値 ZMPrecpeekbが用いられる。本実施形態では、図 21に示す如ぐ今回歩容におけ る上体傾斜復元モーメント ZMP換算値は、片脚支持期の前半の台形状のパターン と、後半側の台形状のパターンとを合成した形のノターンとされ、その前半側の台形 状のパターンのピーク値が第 1ピーク値 ZMPrecpeeka、後半側の台形状のパターン のピーク値が第 2ピーク値 ZMPrecpeekbである。
[0171] また、図 17のフローチャートの処理中で求める ZMP修正パラメータ aは、今回歩容 を定常歩容につなげる (今回歩容の終端の発散成分を定常歩容の初期発散成分 q" にほぼ一致させる)ための目標 ZMPの修正量を規定するパラメータであり、その例を 図示したもの力 図 22の中段の図である。図示の如ぐ ZMP修正量は、片脚支持期 の開始直後から終了直前まで発生させる台形状のパターンとされ、そのピーク値 aが ZMP修正量のパターンを規定する ZMP修正パラメータとして用いられる。
[0172] 以上説明した S2100の処理は、とりあえず、前回歩容 (これは既に歩容の境界条 件を満足するように決定されて ヽる)の左右を反転させたものの歩容パラメータを今 回歩容の歩容パラメータとして設定するということを意味する。このように設定された、 今回歩容パラメータを基に前記動力学モデルを用いて今回歩容を生成すると、その 今回歩容は、既に歩容の境界条件を満たすように決定された前回歩容の左右を反 転させたものと一致することとなる。なお、上記のように設定された今回歩容パラメ一 タは、第 1発明におけるベース歩容パラメータに相当するものである。従って、 S210 0の処理は、第 1発明におけるベース歩容パラメータ設定手段に相当する。
[0173] 補足すると、今回歩容をロボット 1の 2歩分の歩容カも成る歩容とした場合には、左 右の反転などを行なうことなぐ前回歩容(2歩前の歩容)の歩容パラメータをそのまま S2100で今回歩容の歩容パラメータの仮値として設定するようにしてもょ 、。ある ヽ は、今回歩容の歩容パラメータの仮値を前前回歩容の歩容パラメータに設定してもよ い。
[0174] 次 、で、 S2102— 1にお 、て、探索対象 (探索対象パラメータ)である ZMP修正パ ラメータ aと上体姿勢傾斜復元モーメント ZMP換算値の第 1ピーク値 ZMPrecpeekaお よび第 2ピーク値 ZMPrecpeekbとを除く今回歩容パラメータの優先パラメータ(より詳し くは、 S026で決定する今回歩容の足平軌道パラメータ、基準上体姿勢軌道パラメ一 タ、腕姿勢軌道パラメータ、床反力鉛直成分軌道パラメータ、床反力水平成分許容 範囲を規定するパラメータ、 ZMP軌道パラメータ)の値を現在候補値 (S2100で設 定された値)から前記 S026で決定した値に所定量だけ近づけた値に更新する。
[0175] 次いで、 S2104— 1において、現在候補の今回歩容パラメータ(S2100で仮決定さ れた定常歩容パラメータの優先パラメータを S2102-1で更新したもの)を基に、今回 歩容の前記境界条件 (今回歩容の終端の発散成分が定常歩容の初期の発散成分 に一致、もしくはほぼ一致するという条件)を満足するような探索対象 a、
ZMPrecpeeka, ZMPrecpeekbの値を探索的に決定する。この処理は、図 18のフロー チャートに示す如く行なわれる。なお、前記図 12の処理の説明の場合と同様、以下 の図 18の処理(その処理の中のサブルーチン処理を含む)の説明にお!/、ては、歩容 ノ ラメータの各パラメータの値に関する「現在値」は、該当するパラメータの「現在 (該 当処理の実行時点)設定されている候補値もしくは仮値」の意味で使用する。また、「 現在の〇〇」(〇〇はあるパラメータ)というときは、「現在 (該当処理の実行時点)候 補となっている〇〇」の意味で使用する。
[0176] 以下、図 18の処理を説明すると、まず、 S1700において、探索対象である ZMP修 正パラメータ、上体傾斜復元モーメント ZMP換算値の第 1ピーク値、第 2ピーク値 (a , ZMPrecpeeka, ZMPrecpeekb)の現在値を、これらの探索対象の初期値候補として 設定する。
[0177] 次いで、 S1704— S 1716のループ処理が実行される。その処理を概略的に説明 すれば、まず、 S 1704において、探索対象である a、 ZMPrecpeekaおよび
ZMPrecpeekbの現在値 (現在候補値)と前記動力学モデルとを用いて今回歩容 (仮 今回歩容)が算出される。より詳しくは、探索対象 a, ZMPrecpeeka, ZMPrecpeekbの 現在値と優先パラメータの現在値とを含む回歩容パラメータと、動力学モデルとを用 いて仮今回歩容が算出される。なお、 S 1704のより具体的な処理については後述す る。
[0178] そして、 S1706— S1716において、 S 1704で算出した仮今回歩容の終端 (今回 歩容の遊脚足平の着地予定時刻)での発散成分と定常歩容の初期発散成分 q" (前 記 S024で最終的に算出したもの)との差、仮今回歩容の終端での上体姿勢角と定 常歩容の初期上体姿勢角(前記 S024で最終的に算出したもの)との差、並びに、仮 今回歩容の終端での上体姿勢角の角速度と定常歩容の初期上体姿勢角速度 (前記 S024で最終的に算出したもの)との差が求められる。そして、これらの差の値がいず れも許容範囲内にある力否か (0に近いか否力 )の条件を満たしている力判断し、満 たしていない場合には、探索対象の値を変更する。これを繰り返すことで、最終的に 動力学モデル上で仮今回歩容を定常歩容につながらせることが可能な探索対象の パラメータの修正値としての a、 ZMPrecpeekaおよび ZMPrecpeekbを含む今回歩容パ ラメータが新たに決定される。
[0179] S1706— S1706の処理をより具体的に説明すると、 S1706において、仮今回歩 容の終端での上体位置速度 (Xe, Ve)から、今回歩容の終端発散成分 qO[k]を前記 した発散成分の定義式に従って算出する。
[0180] 次いで、 S1708において、この終端発散成分 q0[k]と定常旋回歩容の初期発散成 分 q"との差を終端発散成分誤差 errqとして求める。
[0181] さらに、 S1710において、定常歩容の初期上体姿勢角と、今回歩容 (仮今回歩容) の終端上体姿勢角との差を終端上体姿勢角誤差 Θ berrとして求めると共に、定常歩 容の初期上体姿勢角速度と、今回歩容 (仮今回歩容)の終端上体姿勢角速度との差 を終端上体姿勢角速度誤差 ω berrとして求める。
[0182] 上記の如くもとめた誤差 errq、 0 berr、 co berrは、 S1704において作成した仮今回 歩容の、境界条件からのずれ度合いを表すものである。
[0183] 次いで、 S1712において、上記の如くもとめた errq、 0 berr、 co berrがいずれも 0近 傍の所定の許容範囲内にあるカゝ否かを判断し、その判断結果が YESである場合に は、 S1704— S1716のループ処理を終了する。この場合、このループ処理の終了 時現在の探索対象を含む今回歩容パラメータが動力学モデル上で境界条件を満た し得る今回歩容パラメータとして得られる。
[0184] 一方、 S1712の判断結果が NOである場合には、現在の探索対象(a,
ZMPrecpeeka, ZMPrecpeekb)の値の近辺に、それぞれのパラメータの値を所定の微 小量 A a, Δ ZMPrecpeeka, Δ ZMPrecpeekbだけ変化させた複数(本実施形態では 3 個)の探索対象の候補を決めて、それぞれの探索対象の候補を含む今回歩容パラメ ータ (現在の今回歩容パラメータの探索対象を新たに決めた各候補に修正した今回 歩容パラメータ)を基に、 S1704— S1710と同じ処理を実行して、それぞれの探索 対象の候補に対応する誤差(errq、 Θ berr、 co berr)の組を求める。
[0185] 次いで、 S1716において、現在の(a, ZMPrecpeeka, ZMPrecpeekb)およびその近 辺の探索対象の候補のそれぞれに対応する誤差 (errq、 Θ berr, co berr)の組を基に 、最急降下法やシンプレックス法などの探索手法によって、探索対象 (a,
ZMPrecpeeka, ZMPrecpeekb)の新たな候補を決定する。そして、 S 1704力 の処理 が再び繰り返される。
[0186] 以上のようにして、(a, ZMPrecpeeka, ZMPrecpeekb)を探索対象として、今回歩容 の終端の境界条件を満たす新たな今回歩容パラメータが探索的に決定される。なお 、図 18の処理では、今回歩容パラメータのうちの優先パラメータ (足平軌道パラメータ 、基準上体姿勢軌道パラメータなど)は、図 18の処理の開始時の値に維持される。
[0187] この図 18の処理中の前記 S1704の処理を以下に説明する。この処理は、図 19の フローチャートで示すサブルーチン処理により実行される。図 19のサブルーチン処 理は、図示の通り、前回歩容の終端状態 (詳しくは今回歩容の支持脚座標系で見た 前回歩容の終端状態)を今回歩容 (仮今回歩容)の初期状態として (S800)、その初 期状態力も今回歩容の終端時刻 Tcurr (今回歩容の遊脚足平 22の着地予定時刻) まで今回歩容の瞬時値を時系列的に作成する(S802— S806)処理である。なお、 図 19の「k」は、作成する今回歩容の瞬時値の時系列の時刻である。そして、図 19の S804のサブルーチン処理は、先に定常歩容の作成処理に関して説明した図 14の 処理と同様に行なわれる。
[0188] この場合の図 14の処理では、 S400、 S404— S410の処理では、現在の今回歩容 パラメータの優先パラメータを基に、目標床反力鉛直成分、目標両足平位置姿勢、 基準上体姿勢、目標腕姿勢、目標上体鉛直位置、床反力水平成分許容範囲の瞬時 値が求められる。また、図 19の S804の中で実行される図 14中の S402の処理では、 ZMP修正パラメータ aの現在値 (候補値) aにより規定される ZMP修正量(図 22の中 段図を参照)を現在の今回歩容パラメータの ZMP軌道パラメータにより規定される目 標 ZMP軌道(図 22の上段図を参照)〖こカ卩えることで、該目標 ZMP軌道を修正してな る ZMP軌道(図 22の下段図を参照)の瞬時値が求められる。
[0189] さらに、 S412の処理によって、動力学モデルを用いて、図中に記載された条件を 満たすように上体水平加速度および上体姿勢角加速度の瞬時値が決定される。そし て、 S414の処理によって、上体水平加速度および上体姿勢角加速度をそれぞれ 2 階積分して、上体水平位置および上体姿勢角の瞬時値が決定される。
[0190] また、仮今回歩容の作成時における S412のサブルーチン処理である図 15の処理 も、定常歩容の場合と同様に行われる。すなわち、仮今回歩容の瞬時値を作成しょう としている現在時刻 k (作成中の仮今回歩容内での時刻)が前記上体傾斜角復元期 間内の時刻でないときには、 S504— S516の処理〖こよって、動力学モデル上で、目 標 ZMP (ZMP修正量により修正した目標 ZMP)を満足し、且つ、全体重心の水平 加速度による慣性力に釣り合う床反力水平成分が時刻 kの床反力水平成分許容範 囲の瞬時値内に収まるように、上体並進モードの上体水平加速度 αと、上体回転モ ードの上体角加速度 β (上体姿勢角の角加速度)とが決定される。
[0191] また、現在時刻 k (作成中の仮今回歩容内での時刻)が前記上体傾斜角復元期間 内の時刻であるときには、 S518— S526の処理によって、上体角加速度 j8は、動力 学モデル上で、上体傾斜復元モーメント ZMP換算値パターンの瞬時値 (これは上体 傾斜復元モーメント ZMP換算値の第 1ピーク値 ZMPrecpeekaおよび第 2ピーク値 ZMPrecpeekbの現在値 (候補値)と現在時刻 kとに応じて定まる。図 21を参照)に対 応する床反力モーメントを発生するように決定される。また、上体水平加速度は、動 力学モデル上で、上体並進モードによって発生する目標 ZMP (ZMP修正量により 修正した目標 ZMP)まわりの床反力モーメントが 0になるための上体水平加速度と、 上体角加速度 13による床反力モーメントと同等の床反力モーメントを発生する上体 水平加速度との差として求められる。これにより、上体姿勢を基準上体姿勢に向かつ て復元させつつ、目標 ZMPを満足するように上体角加速度 βおよび上体水平加速 度 OCが決定される。
[0192] なお、仮今回歩容を生成する場合の上体傾斜角復元期間は前記図 16の S612で 決定した時刻 Taから Tbの期間であるので、図 15の S500の処理は省略される。
[0193] 以上、説明した図 17の S2102-l、 2104-1の処理は、それを簡潔的に言えば、今 回歩容パラメータの優先パラメータ (足平軌道パラメータなど)の値を現在値 (現在候 補値)から S026の処理(詳しくは図 16の S600— S610の処理)で決定した値に所定 量だけ近づけて更新し、その更新後の優先パラメータを含んで、今回歩容の境界条 件を動力学モデル上で満足し得る新たな今回歩容パラメータを探索する処理である 。そして、この処理では、 (a, ZMPrecpeeka, ZMPrecpeekb)が探索対象とされる。な お、 S2102— 1における今回歩容パラメータの優先パラメータの現在値 (更新前の候 補値)は、 S2100で決定された今回歩容パラメータの仮値のうちの優先パラメータの 値である。また、 S2104— 1の処理では、探索対象の初期候補値として、 S2100で決 定された仮値が用いられる。
[0194] 図 17の説明に戻って、 S2102-1, S2104— 1の上記した処理の後、 S2102-1, S 2104— 1の処理と同様の処理(図 17では S2102— 2, S2104— 2)力 S繰り返される。そ して、最終的に、 S2104— n (nは総繰り返し回数)において、今回歩容パラメータの 優先パラメータは、 S026の処理で決定された値に一致させる。さらに、 S2104-nに おいて、 S2104-1と同様に、現在候補の今回歩容パラメータを基に、動力学モデル 上で今回歩容の境界条件を満足するような探索対象 a, ZMPrecpeeka,
ZMPrecpeekbの値が探索的に決定され、新たな今回歩容パラメータが決定される。
[0195] これらの繰り返し処理において、 S2102 k(k= 2, · ··, n)で優先パラメータを更新 する前における優先パラメータの値は、 S2102— (k 1)での更新後の優先パラメ一 タの値である(S2102— 1では、前記したように更新前の優先パラメータの値は S210 0で決定された仮値である)。また、 S2104— k(k= 2, · ··, n)の処理は、 S2104— 1の 処理と同じである。但し、 S2104— kでは、探索対象 Xs, Vx, co bs, ZMPrecpeekの初 期値候補(図 18の S1700で設定する初期値候補)として、 S2104-kの処理の開始 時に設定されている値、すなわち、 S2104— (k 1)の処理で最終的に探索された探 索対象の値が用いられる(S2104— 1では、前記したように探索対象の初期値候補は 、 S2100で決定された仮値である)。
[0196] 以上のようにして、 S2100で決定された今回歩容パラメータの優先パラメータの値( 仮値)を初期値として、該優先パラメータの値が段階的に S026の処理で決定された 値 (これは今回歩容に関する要求を満足するための優先パラメータの値 (優先パラメ ータ要求値)である)に近づくように、該優先パラメータの値が段階的に更新され、最 終的に S026の処理で決定された値に一致させられる(S2102— 1, S2102— 2,… · ··, S2102— n)。従って、これらの S2102— 1, S2102-2,…… , S2102— nの処理 は、第 1発明における優先パラメータ漸近手段に相当する。そして、その優先パラメ ータの更新の都度、その更新後の優先パラメータを含む今回歩容パラメータの探索 対象の値が、その更新の直前に決定された値を初期値候補として、今回歩容の境界 条件を満たすように探索され、その探索結果の探索対象を含む今回歩容パラメータ 力 s新たに決定される(S2104— 1, 2104-2,…… , S2104— n)。従って、これらの S2 104-1, S2104-2,…… , S2104— nの処理は、第 1発明における新規歩容ノラメ ータ決定手段に相当し、それぞれの処理で最終的に決定される探索対象を含む今 回歩容パラメータが第 1発明における新規歩容パラメータに相当する。そして、 S210 4 nで最終的に決定された新たな今回歩容パラメータがこれから生成しょうとする今 回歩容の歩容パラメータである。
[0197] 補足すると、上記の繰り返し処理の総繰り返し回数 nは、 S2100で決定する今回歩 容パラメータの優先パラメータの値と、 S026で決定した優先パラメータの値 (優先パ ラメータ要求値)との差に応じて決定される。また、今回歩容パラメータのうち、優先パ ラメータおよび探索対象のパラメータ以外のパラメータ(固定的なパラメータ)は、 S2 100で決定された今回歩容パラメータの当該パラメータの値に維持される。
[0198] 以上説明した図 17の処理によって、 S2100で決定された仮の今回歩容パラメータ
(今回歩容の境界条件を満足するように過去に決定された今回歩容パラメータ)の優 先パラメータの値を徐々に S026で決定した優先パラメータ (これから生成しょうとする 今回歩容の優先パラメータ)の値に近づけるように更新しつつ、その更新の都度、境 界条件を満足する今回歩容パラメータが新たに決定される。このため、境界条件を満 足するような今回歩容を上体位置姿勢の発散が生じたりすることなぐ効率よく短時 間で作成することができる。
[0199] 図 12の説明に戻って、以上説明したように S028の処理を実行した後、 S030に進 んで、フルモデル補正用の ZMP許容範囲と床反力水平成分許容範囲を規定するパ ラメータが決定される。
[0200] この処理は、前記公報文献 1の図 13の S030の処理と同一であり、ここでの説明は 省略する。
[0201] 以上説明した S018から S030までの処理力 前記図 5の歩容パラメータ決定部 10 Oaで実行される処理である。
[0202] S030の処理を実行した後、あるいは、 S016の判断結果が NOであるときには、 SO 32に進んで、今回歩容の瞬時値を逐次決定する。この処理のサブルーチン処理は 、仮今回歩容の生成に関して説明した前記図 19のフローチャートの処理と同じであ る。この場合、 ZMPパラメータ a、上体傾斜復元モーメント ZMP換算値の第 1ピーク 値 ZMPrecpeekaおよび第 2ピーク値 ZMPrecpeekbとしては、図 12の S028で最終的に 決定したもの(図 17の S2104-nの処理で最終的に探索されたもの)が用いられる。
[0203] 次いで、 S034に進んで、ロボット 1のスピン(鉛直軸まわりの回転)をキャンセルする ための腕体 5, 5の動作が決定される。この処理は、ロボット 1の腕を振らずに目標歩 容通りにロボット 1を運動させた場合に目標 ZMPまわりに発生する床反力モーメント の鉛直成分と逆向きの床反力モーメントを腕体 5, 5の腕振り(両腕体 5, 5を前後逆 方向に振る運動)によって発生させるように腕体 5, 5の姿勢を決定するものであり、 前記公報文献 1の図 13の S034と全く同様に行われる。その詳細は、同公報文献 1 に記載されているので、ここではさらなる説明を省略する。
[0204] 次!、で、 S036に進んで、フルモデル補正用(前記フルモデル補正部 100eの処理 用)の ZMP許容範囲の瞬時値と、床反力水平成分許容範囲の瞬時値とが決定され る。この処理では、前記 S030で決定した ZMP許容範囲および床反力水平成分許 容範囲を規定する歩容パラメータに基づいて決定される。
[0205] 以上説明した S032— S036の処理が、前記図 5の目標瞬時値発生部 100bで実行 される処理の詳細である。
[0206] 次!、で、 S038に進んで、フルモデルを用いた補正歩容を発生する。この処理は、 前記フルモデル補正部 100cにより実行される処理である。この場合、この処理は、 前記公報文献 1の図 13の S038の処理と同一であり、同公報文献 1に記載されたと おりに実行される。従って、本明細書では詳細な説明は省略する。この処理により、 目標上体位置姿勢 (前記変位次元補正歩容の上体位置姿勢)をさらに修正してなる 補正目標上体位置姿勢と補正目標床反力モーメントとが決定される。
[0207] 以上が、本実施形態における歩容生成装置 100の歩容生成処理である。
[0208] 次に図 4を参照して複合コンプアライアンス制御装置 101の動作を説明しておく。な お、複合コンプライアンス制御装置 101の動作は、本出願人が先に出願した特開平 10— 277969号公報などに詳細に記載されているので、本明細書では概略的な説 明にとどめる。歩容生成装置 100において、上記したように生成された目標歩容のう ち、補正目標上体位置姿勢 (軌道)、目標腕姿勢 (軌道)が、ロボット幾何学モデル( 逆キネマテイクス演算部) 102に送出される。
[0209] また、目標足平位置姿勢 (軌道)、目標 ZMP軌道 (目標全床反力中心点軌道)、お よび目標全床反力(軌道)(補正目標床反力モーメントと目標床反力鉛直成分)は、 複合コンプライアンス動作決定部 104に送られると共に、目標床反力分配器 106にも 送られる。そして、目標床反力分配器 106で、床反力は各足平 22に分配され、目標 各足平床反力中心点および目標各足平床反力が決定される。この決定された目標 各足平床反力中心点および目標各足平床反力は複合コンプライアンス動作決定部 104に送られる。
[0210] 複合コンプライアンス動作決定部 104から、機構変形補償付き修正目標足平位置 姿勢(軌道)がロボット幾何学モデル 102に送られる。ロボット幾何学モデル 102は、 目標上体位置姿勢 (軌道)と機構変形補償付き修正目標足平位置姿勢 (軌道)を入 力されると、それらを満足する脚体 2, 2の 12個の関節の関節変位指令 (値)を算出し て変位コントローラ 108に送る。変位コントローラ 108は、ロボット幾何学モデル 102 で算出された関節変位指令 (値)を目標値としてロボット 1の 12個の関節の変位を追 従制御する。また、ロボット幾何学モデル 102は、目標腕姿勢を満足する腕関節の変 位指定 (値)を算出して変位コントローラ 108に送る。変位コントローラ 108は、ロボット 幾何学モデル 102で算出された関節変位指令 (値)を目標値としてロボット 1の腕体 の 12個の関節の変位を追従制御する。
[0211] ロボット 1に生じた床反力(詳しくは実各足床反力)は 6軸力センサ 50によって検出 される。その検出値は前記複合コンプライアンス動作決定部 104に送られる。また、口 ボット 1に生じた姿勢傾斜偏差 Θ errx, Θ erry (詳しくは目標上体姿勢角に対する実 姿勢角の偏差で、ロール方向(X軸回り)の姿勢角偏差が Θ errxであり、ピッチ方向( Y軸回り)の姿勢角偏差が Θ erryである)が姿勢センサ 54を介して検出され、その検 出値は姿勢安定化制御演算部 112に送られる。この姿勢安定化制御演算部 112で 、ロボット 1の上体姿勢角を目標上体姿勢角に復元するための目標全床反力中心点 (目標 ZMP)まわり補償全床反力モーメントが算出されて複合コンプライアンス動作 決定部 104に送られる。複合コンプライアンス動作決定部 104は、入力値に基づい て目標床反力を修正する。具体的には、目標全床反力中心点(目標 ZMP)回りに補 償全床反力モーメント、あるいは、補償全床反力モーメントと補正目標床反力モーメ ントとの和が作用するように目標床反力を修正する。
[0212] 複合コンプライアンス動作決定部 104は、修正された目標床反力に、センサ検出値 など力も算出される実ロボットの状態および床反力を一致させようと上記機構変形補 償付き修正目標足平位置姿勢 (軌道)を決定する。この場合、機構変形補償付き修 正目標足平位置姿勢は、前記コンプライアンス機構 72の等の機構的変形を考慮し たものである。ただしすベての状態を目標に一致させることは事実上不可能であるの で、これらの間にトレードオフ関係を与えて妥協的になるベく一致させる。すなわち、 各目標に対する制御偏差に重みを与えて、制御偏差 (あるいは制御偏差の 2乗)の 重み付き平均が最小になるように制御する。これにより、実際の足平位置姿勢と全床 反力とが目標足平位置姿勢と目標全床反力とに概ね従うように制御される。
[0213] なお、以上説明した実施形態では、歩容パラメータ (定常歩容パラメータおよび今 回歩容パラメータ)を、前回歩容 (過去に決定した歩容)に対応するものから徐々に更 新していくようにした力 定常歩容、今回歩容のいずれにおいても、あら力じめ該歩 容の境界条件を満足する標準 (基準)歩容パラメータを用意 (作成)して記憶保持し ておき、それを起点として歩容パラメータを徐々に更新していくようにしてもよい。例え ば、今回歩容の足平軌道パラメータに係る遊脚足平 22の着地予定位置姿勢を、口 ボット 1の同じ場所での足踏みを行なう場合の位置姿勢から、要求値に対応する位置 姿勢に徐々に更新したり、歩行周期を徐々に更新していくようにしてもよい。
[0214] また、前記実施形態では、今回歩容を定常歩容に近づけるために、今回歩容の終 端の発散成分を定常歩容の初期発散成分にほぼ一致させることを今回歩容の境界 条件として、その境界条件を満たすように今回歩容パラメータの探索対象を探索して 決定するようにしたが、今回歩容の終端の上体位置 (水平位置および鉛直位置)と、 上体速度 (水平速度および鉛直速度)とをそれぞれ定常歩容の初期の上体位置、上 体速度にほぼ一致させることを今回歩容の境界条件とし、この境界条件を満たすよう に今回歩容パラメータの探索対象を探索して決定するようにしてもよ!、。
[0215] あるいは、今回歩容の終端のロボット 1の全体重心の位置とその変化速度との重み 付き平均値を、定常歩容の初期の当該重み付き平均値にほぼ一致させることを境界 条件として、その境界条件を満たすように今回歩容パラメータの探索対象を決定する ようにしてもよい。
[0216] また、定常歩容パラメータを決定するとき、定常歩容の境界条件を満たすために、 定常歩容パラメータの探索対象として、ロボット 1の上記重み付き平均値、または発散 成分を用いてもよい。なお、重み付き平均値は、所定の重みを設定することで、絶対 的な大きさを無視すれば、発散成分と等価 (より正確には、発散成分と比例関係)に なる。
産業上の利用可能性
[0217] 以上の説明から明らかなように、本発明の移動ロボットの歩容生成装置は、歩容の 発散を防止しつつ、所要の境界条件を満足し得る歩容を効率よく生成することができ 、特に 2足移動ロボットのような本来的な安定性が低 、移動ロボットの歩容を該移動口 ボットの安定性を確保しつつ生成できる点で有用である。
図面の簡単な説明
[0218] [図 1]本発明の実施形態を適用する移動ロボット(2足歩行ロボット)の全体構成の概 略を示す図。 圆 2]図 1のロボットの各脚体の足平部分の構成を示す側面図。
[図 3]図 1のロボットに備えた制御ユニットの構成を示すブロック図。
[図 4]図 3の制御ユニットの機能的構成を示すブロック図。
圆 5]図 4に示す歩容生成装置の機能を示すブロック図。
[図 6] (a) , (b)はそれぞれロボットの運動モード(上体並進モード、上体回転モード) を説明するための図。
圆 7]歩容生成で用いる動力学モデルの構造を示す図。
[図 8]歩容生成で用いるフルモデルの構造を示す図。
[図 9]実施形態における歩容生成装置のメインルーチン処理を示すフローチャート。
[図 10]図 9のサブルーチン処理を示すフローチャート。
[図 11]図 10のサブルーチン処理を示すフローチャート。
[図 12]図 11のサブルーチン処理を示すフローチャート。
[図 13]図 12のサブルーチン処理を示すフローチャート。
[図 14]図 13のサブルーチン処理を示すフローチャート。
[図 15]図 14のサブルーチン処理を示すフローチャート。
[図 16]図 9のサブルーチン処理を示すフローチャート。
[図 17]図 9のサブルーチン処理を示すフローチャート。
[図 18]図 17のサブルーチン処理を示すフローチャート。
[図 19]図 18のサブルーチン処理を示すフローチャート。
[図 20]定常歩容における上体傾斜復元モーメント ZMP換算値の例を示すグラフ。
[図 21]今回歩容における上体傾斜復元モーメント ZMP換算値の例を示すグラフ。
[図 22]今回歩容における仮目標 ZMPと ZMP修正量と目標 ZMPとの例を示すグラフ

Claims

請求の範囲
所定の期間における移動ロボットの歩容を規定する複数のパラメータの組である歩 容パラメータを決定し、その決定した歩容パラメータと前記移動ロボットの動力学モデ ルとを用いて前記所定の期間における移動ロボットの目標歩容を生成する歩容生成 装置において、
前記目標歩容に関する要求が与えられ、前記歩容パラメータのうちの所定のパラメ ータを優先パラメータとし、該優先パラメータ以外のパラメータを非優先パラメータとし たとき、前記要求を満足するための前記優先パラメータの値である優先パラメータ要 求値を決定する優先パラメータ要求値決定手段と、
前記移動ロボットのあらかじめ用意された基準歩容を規定する歩容パラメータと、所 定の境界条件を満たすように過去に決定された歩容パラメータとのうちの 、ずれかの 歩容パラメータをベース歩容パラメータとして設定するベース歩容パラメータ設定手 段と、
前記ベース歩容パラメータの優先パラメータの値を、該値が前記優先パラメータ要 求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更新す る優先パラメータ漸近手段と、
該優先パラメータ漸近手段による優先パラメータの値の更新の都度、その更新後の 値の優先パラメータを有し、且つ前記所定の境界条件を満足する歩容を前記動力学 モデルを用いて生成し得る歩容パラメータである新規歩容パラメータを探索的に決 定する新規歩容パラメータ決定手段とを備えると共に、
前記新規歩容パラメータ決定手段は、前記新規歩容パラメータを新たに決定すると きの前記優先パラメータ漸近手段による優先パラメータの値の更新回数を n (n: n≥l を満たす整数)とし、その第 n回目の更新処理によって得られた優先パラメータの値 を第 n優先パラメータ更新値とし、当該新たに決定する新規歩容パラメータを第 n新 規歩容パラメータとし、前記ベース歩容パラメータを第 0新規歩容パラメータとしたとき 、非優先パラメータの値に第 n— 1新規歩容パラメータの非優先パラメータの値を設定 し、且つ、優先パラメータの値を第 n優先パラメータ更新値に設定してなる歩容パラメ ータを初期探索候補歩容パラメータとして、この初期探索候補歩容パラメータの非優 先パラメータのうちの所定のパラメータである探索対象パラメータの値を前記所定の 境界条件を満たすように探索することにより第 n新規歩容パラメータを決定する手段 であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定さ れた新規歩容パラメータを前記目標歩容を規定する歩容パラメータとして、該新規歩 容パラメータと前記動力学モデルとを用いて該目標歩容を生成するようにしたことを 特徴とする移動ロボットの歩容生成装置。
所定の期間における移動ロボットの目標歩容を生成するとき、該目標歩容に続く仮 想的な周期的歩容である定常歩容を規定する複数のパラメータの組である定常歩容 パラメータを決定すると共に、その決定した定常歩容パラメータと前記移動ロボットの 動力学モデルとを用いて生成される定常歩容に前記目標歩容を近づけるように該目 標歩容を生成する移動ロボットの歩容生成装置において、
前記目標歩容に対応する定常歩容に関する要求が入力され、前記定常歩容パラメ ータのうちの所定のパラメータを優先パラメータとし、該優先パラメータ以外のパラメ 一タを非優先パラメータとしたとき、前記要求を満足するための該優先パラメータの 値である優先パラメータ要求値を決定する優先パラメータ要求値決定手段と、 前記移動ロボットのあらかじめ用意された基準定常歩容を規定する定常歩容パラメ ータと、所定の境界条件を満たすように過去に決定された定常歩容パラメータとのう ちのいずれかの定常歩容パラメータをベース定常歩容パラメータとして設定するべ一 ス定常歩容パラメータ設定手段と、
前記ベース定常歩容パラメータの優先パラメータの値を、該値が前記優先パラメ一 タ要求値に一致するまで段階的に前記優先パラメータ要求値に漸近させるように更 新する優先パラメータ漸近手段と、
該優先パラメータ漸近手段のよる優先パラメータの値の更新の都度、その更新後の 値の優先パラメータを有し、且つ前記所定の境界条件を満たす歩容を前記動力学モ デルを用いて生成し得る定常歩容パラメータである新規定常歩容パラメータを探索 的に決定する新規定常歩容パラメータ探索手段とを備えると共に、
前記新規定常歩容パラメータ探索手段は、前記新規定常歩容パラメータを新たに 決定するときの前記優先パラメータ漸近手段による優先パラメータの値の更新回数を n (n:n≥ 1を満たす整数)とし、その第 n回目の更新後の優先パラメータの値を第 n優 先パラメータ更新値とし、当該新たに決定する新規定常歩容パラメータを第 n新規定 常歩容パラメータとし、前記ベース定常歩容パラメータを第 0新規定常歩容パラメ一 タとしたとき、非優先パラメータの値に第 n— 1新規定常歩容パラメータの非優先パラメ 一タの値を設定し、且つ、優先パラメータの値に第 n優先パラメータ更新値を設定し てなる歩容パラメータを初期探索候補歩容パラメータとして、この初期探索候補歩容 ノ ラメータの非優先パラメータのうちの所定のパラメータである探索対象パラメータの 値を前記所定の境界条件を満たすように探索することにより第 n新規定常歩容パラメ ータを決定する手段であり、
前記優先パラメータ漸近手段による優先パラメータの値の最後の更新時に決定さ れた新規定常歩容パラメータを前記目標歩容に対応する定常歩容の定常歩容パラ メータとして、該定常歩容パラメータと前記動力学モデルとを用いて生成される定常 歩容に近づけるように前記目標歩容を生成するようにしたことを特徴とする移動ロボッ トの歩容生成装置。
[3] 前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記べ 一ス歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差に応 じて設定されることを特徴とする請求項 1記載の移動ロボットの歩容生成装置。
[4] 前記優先パラメータ漸近手段による優先パラメータの値の総更新回数は、前記べ ース定常歩容パラメータの優先パラメータの値と、前記優先パラメータ要求値との差 に応じて設定されることを特徴とする請求項 2記載の移動ロボットの歩容生成装置。
[5] 前記歩容パラメータは、前記目標歩容のうちの目標 ZMP軌道を規定するパラメ一 タを前記探索対象パラメータとして含むことを特徴とする請求項 1記載の移動ロボット の歩容生成装置。
[6] 前記定常歩容パラメータは、前記定常歩容の 1周期の期間の一端における移動口 ボットの運動の所定の状態量を規定するパラメータを前記探索対象パラメータとして 含むことを特徴とする請求項 2記載の移動ロボットの歩容生成装置。
[7] 前記所定の境界条件は、前記所定の期間における歩容の境界における移動ロボッ トの運動の所定の状態量が前記境界において隣接する歩容における移動ロボットの 運動の該所定の状態量と一致するという条件を含むことを特徴とする請求項 1記載の 移動ロボットの歩容生成装置。
[8] 前記所定の境界条件は、前記所定の期間における歩容の終端側の境界における 移動ロボットの運動の所定の状態量が該歩容に続くべき仮想的な周期的歩容として 決定された定常歩容における移動ロボットの運動の該所定の状態量と一致するという 条件を含むことを特徴とする請求項 1記載の移動ロボットの歩容生成装置。
[9] 前記所定の境界条件は、前記定常歩容の 1周期の始端と終端における移動ロボッ トの運動の所定の状態量が一致するという条件を含むことを特徴とする請求項 2記載 の移動ロボットの歩容生成装置。
[10] 前記移動ロボットは、上体から延設された複数の脚体を備えた脚式移動ロボットで あり、前記所定の状態量は、該ロボットの上体の位置、該上体の速度、該上体の姿勢 角、該上体の姿勢角の角速度、該上体の位置と速度との重み付き平均値、該ロボッ トの全体重心の位置、該全体重心の速度、該全体重心の位置と速度との重み付き平 均値、および発散成分のうちの少なくともいずれか一つを含むことを特徴とする請求 項 6— 9のいずれか 1項に記載の移動ロボットの歩容生成装置。
PCT/JP2005/002353 2004-02-16 2005-02-16 移動ロボットの歩容生成装置 WO2005077610A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/597,653 US7765030B2 (en) 2004-02-16 2005-02-16 Gait generator for mobile robot
EP05710253A EP1733852B1 (en) 2004-02-16 2005-02-16 Gait generator for mobile robot
JP2005518038A JP4800038B2 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置
KR1020067015921A KR101140810B1 (ko) 2004-02-16 2005-02-16 이동로봇의 보용생성장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004038961 2004-02-16
JP2004-038961 2004-02-16

Publications (1)

Publication Number Publication Date
WO2005077610A1 true WO2005077610A1 (ja) 2005-08-25

Family

ID=34857828

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2005/002354 WO2005077611A1 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置
PCT/JP2005/002353 WO2005077610A1 (ja) 2004-02-16 2005-02-16 移動ロボットの歩容生成装置

Family Applications Before (1)

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

Country Status (5)

Country Link
US (2) US7765030B2 (ja)
EP (2) EP1733852B1 (ja)
JP (2) JP4800039B2 (ja)
KR (2) KR101140810B1 (ja)
WO (2) WO2005077611A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873107B1 (ko) * 2007-01-30 2008-12-09 한국과학기술원 이족 보행 로봇의 수정 가능한 걸음새 생성을 위한 실시간zmp 조작법
US7905303B2 (en) * 2009-02-10 2011-03-15 Honda Motor Co., Ltd. Legged locomotion robot
KR101200191B1 (ko) * 2010-07-14 2012-11-13 서울대학교산학협력단 데이터 기반 바이페드 제어 장치 및 방법
KR20120024098A (ko) * 2010-09-06 2012-03-14 삼성전자주식회사 보행 로봇 및 그 제어방법
US9517561B2 (en) 2014-08-25 2016-12-13 Google Inc. Natural pitch and roll
US9623556B1 (en) * 2014-09-03 2017-04-18 X Development Llc Robotic sole joint
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9440353B1 (en) * 2014-12-29 2016-09-13 Google Inc. Offline determination of robot behavior
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US9987745B1 (en) 2016-04-01 2018-06-05 Boston Dynamics, Inc. Execution of robotic tasks
US11981031B2 (en) * 2016-08-18 2024-05-14 The Trustees Of The University Of Pennsylvania Systems and methods for controlling robotic behaviors
CN117590840A (zh) * 2022-08-08 2024-02-23 北京小米机器人技术有限公司 运动控制方法、装置、控制器、介质及机器人

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10217161A (ja) * 1997-01-31 1998-08-18 Honda Motor Co Ltd 脚式移動ロボットの歩容生成装置
WO2003057429A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de production de demarche pour robot se deplaçant sur des jambes
JP2004142095A (ja) * 2002-10-01 2004-05-20 Sony Corp ロボット装置及びロボット装置の制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3167406B2 (ja) * 1992-03-12 2001-05-21 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3422883B2 (ja) * 1995-09-29 2003-06-30 本田技研工業株式会社 脚式歩行ロボットの歩容生成方法および歩行制御装置
WO2000049669A2 (en) 1999-02-19 2000-08-24 Amtek Research International Llc Electrically conductive, freestanding microporous polymer sheet
JP2001191284A (ja) * 1999-10-25 2001-07-17 Sony Corp ロボット装置及びロボット装置の学習方法
JP2001277166A (ja) * 2000-03-31 2001-10-09 Sony Corp ロボット及びロボットの行動決定方法
DE60141092D1 (de) 2000-11-17 2010-03-04 Honda Motor Co Ltd Gangmustererzeugungssystem für beweglichen Roboter mit Beinen
JP3726032B2 (ja) 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
JP3569764B2 (ja) * 2001-11-19 2004-09-29 独立行政法人 科学技術振興機構 二脚歩行式移動装置およびその歩行制御装置並びに歩行制御方法
KR100946709B1 (ko) 2001-12-28 2010-03-12 혼다 기켄 고교 가부시키가이샤 다리식 이동로봇의 보용 생성 장치
US6969965B2 (en) * 2002-01-18 2005-11-29 Honda Giken Kogyo Kabushiki Kaisha Controller of legged mobile robot
JP3905413B2 (ja) * 2002-04-18 2007-04-18 富士重工業株式会社 ロボット装置
KR100956521B1 (ko) * 2002-04-26 2010-05-06 혼다 기켄 고교 가부시키가이샤 다리식 이동 로봇의 제어장치
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
US20040138780A1 (en) * 2002-11-15 2004-07-15 Lewis Murray Anthony Certain principles of biomorphic robots
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10217161A (ja) * 1997-01-31 1998-08-18 Honda Motor Co Ltd 脚式移動ロボットの歩容生成装置
WO2003057429A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de production de demarche pour robot se deplaçant sur des jambes
JP2004142095A (ja) * 2002-10-01 2004-05-20 Sony Corp ロボット装置及びロボット装置の制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1733852A4 *

Also Published As

Publication number Publication date
EP1738878A4 (en) 2009-12-09
JP4800038B2 (ja) 2011-10-26
KR20070003848A (ko) 2007-01-05
US20070168080A1 (en) 2007-07-19
EP1733852B1 (en) 2012-09-12
US7319302B2 (en) 2008-01-15
KR101131774B1 (ko) 2012-04-05
EP1738878A1 (en) 2007-01-03
JPWO2005077610A1 (ja) 2007-10-18
US20080147237A1 (en) 2008-06-19
JP4800039B2 (ja) 2011-10-26
KR101140810B1 (ko) 2012-05-03
JPWO2005077611A1 (ja) 2007-10-18
EP1738878B1 (en) 2011-09-28
KR20060126759A (ko) 2006-12-08
WO2005077611A1 (ja) 2005-08-25
US7765030B2 (en) 2010-07-27
EP1733852A1 (en) 2006-12-20
EP1733852A4 (en) 2009-12-09

Similar Documents

Publication Publication Date Title
JP5221688B2 (ja) 脚式移動ロボットの歩容生成装置
JP4800038B2 (ja) 移動ロボットの歩容生成装置
JP4800037B2 (ja) 移動ロボットの歩容生成装置
JP3640255B2 (ja) 脚式移動ロボットの歩容生成装置
JP4805818B2 (ja) 移動ロボットの歩容生成装置
JP2011025339A (ja) 移動体の制御装置
JP5468974B2 (ja) 2足移動ロボットの制御装置及び歩容生成装置

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 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: 2005518038

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10597653

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020067015921

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005710253

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005710253

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067015921

Country of ref document: KR