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

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

Info

Publication number
WO2005000533A1
WO2005000533A1 PCT/JP2004/009470 JP2004009470W WO2005000533A1 WO 2005000533 A1 WO2005000533 A1 WO 2005000533A1 JP 2004009470 W JP2004009470 W JP 2004009470W WO 2005000533 A1 WO2005000533 A1 WO 2005000533A1
Authority
WO
WIPO (PCT)
Prior art keywords
gait
floor reaction
reaction force
time
posture
Prior art date
Application number
PCT/JP2004/009470
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/562,626 priority Critical patent/US7734378B2/en
Priority to DE602004029256T priority patent/DE602004029256D1/de
Priority to JP2005511134A priority patent/JP4199236B2/ja
Priority to EP04746939A priority patent/EP1649983B1/en
Priority to KR1020057020766A priority patent/KR101112496B1/ko
Publication of WO2005000533A1 publication Critical patent/WO2005000533A1/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 suitable for not only walking but also running of a legged moving port.
  • a gait for performing the movement of a legged locomotive, for example, a bipedal locomotion
  • the main purpose has been to generate a walking gait.
  • it has been desired to generate a gait that allows the robot to run as well as walk.
  • it is desired to create a gait that can move the mouth pot smoothly on slippery floors (so-called low mu road) where sufficient frictional force cannot be generated.
  • kanji of “gait” includes “step”, so it is easy to be mistaken that it is limited to walking.
  • “gait” is originally used as a term that refers to the running form of a horse, such as a trot. As described above, the concept also includes running.
  • Figure 50 shows the pattern of the vertical position of the upper body and the floor reaction force vertical component (sum of the floor reaction force vertical components acting on the left and right legs) in a typical run.
  • the vertical body position and floor reaction force vertical component pattern during typical walking are shown.
  • the body vertical position speed means the vertical position of the body representative point and its speed.
  • the body horizontal position speed means the horizontal position of the body representative point and its speed, and the body vertical position speed and the body horizontal position speed are collectively called the body position speed, and the ⁇ floor reaction force vertical Strictly speaking, the term ⁇ component '' should be described as ⁇ translational floor reaction force vertical component '' in order to distinguish it from the moment component about the vertical axis of the floor reaction force. "Translation” is omitted.
  • “translational floor reaction force horizontal component” is also described as “floor reaction force horizontal component” with “translation” omitted.
  • the upper body is the highest at the moment when the upper body passes over the supporting legs, and the lowest in running at this moment, that is, in walking and running, The phase of the upper / lower movement pattern is reversed.
  • the floor reaction force is relatively constant in walking, while it fluctuates greatly in running, and the floor reaction force is greatest at the moment when the upper body passes over the supporting legs. And, naturally, the floor reaction force is zero at the moment when all the legs are in the air at the same time.
  • a closer observation shows that a running reaction generates a floor reaction force that is approximately proportional to the amount of contraction of the support leg. In other words, in running, it can be said that the legs are jumping using the legs as springs.
  • the floor reaction force is not completely zero but almost zero at the moment when the support leg and the free leg are switched.
  • running is a movement mode in which the floor reaction force becomes 0 or almost 0 at the moment when the support leg is switched. It can be said that it is a moving form (the floor reaction force vertical component is relatively constant).
  • the floor reaction force vertical component sometimes becomes 0 or close to 0, so at that time, even if the friction coefficient is high, the limit of the moment vertical component of the floor frictional force becomes 0. Or close to zero. Therefore, the floor reaction force moment vertical component of the desired gait exceeded the limit, and there was a risk of spinning and falling.
  • the present applicant has previously described, for example, in the embodiment of PCT application PCT / JP02Z135596, the arm is lifted so as to cancel the moment vertical component that occurs in the target gait other than the arm. I suggested something to shake. In this case, the moment vertical component of the desired gait is almost 0, but if the leg is shaken vigorously, the arm swings hard.
  • the mass of the arm is smaller than the mass of the leg. Therefore, to completely cancel the vertical component of the moment, the arm must swing more vigorously than the leg swing.
  • the center of the arm swing gradually offsets, and the swing of the left and right arms becomes asymmetric.
  • the center of the arm swing gradually offsets, and the swing of the left and right arms becomes asymmetric.
  • the angular momentum change due to the leg and torso turning to the left The left arm is large on the front side to cancel It swings slightly behind and the right arm swings slightly backward and forward. Therefore, in this case, the left arm may reach the front swing limit, and the right arm may reach the rear swing limit.
  • an object of the present invention is to solve the above-described problems, and to generate a more suitable gait regardless of the gait form such as walking and running or the friction state of the floor surface.
  • An object of the present invention is to provide a generating device.
  • the present invention considers the limit of the moment vertical component of the frictional force between the mouth pot and the floor surface, and is capable of preventing the spin and the robot from tipping over due to the spin. It is an object of the present invention to provide a gait generator capable of generating a gait. It is another object of the present invention to provide a gait generator that can generate a gait motion pattern that satisfies dynamic equilibrium conditions even in the air or when the limit of the moment vertical component of frictional force is extremely low. It is another object of the present invention to prevent the left-right asymmetry of the desired gait from becoming large and to ensure the continuity of the motion. Disclosure of the invention
  • a gait generating device for a legged locomotion locomotion has a desired gait of a legged locomotion locopot that moves by moving a plurality of legs extended from an upper body.
  • the provisional motion is modified so that the rate of change of the angular momentum of the robot is changed from the provisional motion while restricting the limited object amount within the allowable range on the dynamic model.
  • a temporary motion correcting means for determining the motion of the desired gait (first invention).
  • the present invention when the restricted object amount determined by the provisional movement of the target gait deviates from the allowable range, the restricted object amount is limited within the allowable range on the dynamic model. In this manner, the provisional movement is corrected so that the rate of change in the angular momentum of the mouth pot is changed from the provisional movement, and the movement of the desired gait is determined. Therefore, the motion of the desired gait is generated so that the amount to be restricted falls within the allowable range.
  • the amount to be restricted is proportional to or almost proportional to the moment vertical component of the frictional force between the robot and the floor. For this reason, the present invention (the first invention) can generate a gait capable of preventing the spin and the overturning of the robot due to the spin in consideration of the limit of the moment vertical component of the frictional force.
  • the angular momentum change rate that is changed in order to limit the limit target amount to within an allowable range is, for example, a vertical component or a floor normal direction component of the angular momentum change rate.
  • the dynamic equilibrium condition for example, a resultant force of gravity and inertia force acting on the robot is generated around a predetermined point (a target ZMP or the like) on the floor surface.
  • the horizontal component of the moment (the component other than the vertical component of the moment) is equal to the predetermined desired floor reaction force moment horizontal component.
  • the former dynamic equilibrium condition is particularly important for generating a gait for performing a stable (without fear of falling down) motion of the robot, and the latter dynamic equilibrium condition is important.
  • the geometric equilibrium condition is important for generating a gait that allows the robot to run smoothly.
  • the allowable range of the limited object amount may be set in consideration of the gait form, the time during the gait, and the frictional force that can generate a floor, and the allowable range is 0 (the upper limit value and the lower limit Both values may be 0).
  • the allowable range in the aerial period may be set to 0.
  • the motion to be corrected by the temporary motion correcting means is a motion of an upper body of the robot or an arm extending from the upper body (a second invention).
  • the provisional motion can be corrected by reducing the correction of the motion affecting the dynamic equilibrium condition.
  • the motion to be corrected by the provisional motion correcting means is the center of gravity of the lopot in the motion of the upper body of the lopot or the arm extending from the upper body.
  • the motion is a motion that changes the vertical component of the angular momentum change rate of the mouth pot or the floor normal direction component of the angular motion change rate while substantially maintaining the position at the center of gravity determined by the provisional motion. 3 inventions).
  • the provisional movement can be corrected while the translational floor reaction force acting on the robot and the horizontal component of the floor reaction camouflage are substantially maintained at those corresponding to the provisional movement. . Therefore, while temporarily satisfying the dynamic equilibrium condition, the temporary motion of the upper body or the arm of the robot is corrected, and the motion of the desired gait is determined so that the limited target amount falls within the allowable range. be able to. Therefore, it is possible to generate a gait motion pattern that satisfies the dynamic equilibrium condition even in the air or when the limit of the moment vertical component of the frictional force is extremely low.
  • the motion to be corrected by the provisional motion correcting means is provided.
  • the movement is preferably a movement of moving the two arms in the front and rear directions of the lopot in directions opposite to each other (fourth invention).
  • the provisional motion can be easily corrected.
  • the gait in which the desired gait alternates between a landing period in which at least one leg is landed and an aerial period in which all legs are floated in the air are alternately repeated.
  • the permissible range is set to be substantially zero at least during the aerial period (fifth invention).
  • the target vertical component determining means for determining the target vertical component of the translational floor reaction force of the mouth port, the target vertical component of the overall center of gravity acceleration, or the target vertical component of the body acceleration.
  • the allowable range setting means sets the allowable range according to the target vertical component determined by the target vertical component determining means (a sixth invention).
  • the moment vertical component or the floor normal direction component of the frictional force between the mouth pot and the floor is almost proportional to the translational floor reaction force vertical component.
  • the vertical component of the translational floor reaction force is proportional to the sum of the vertical component of the overall center of gravity acceleration of the robot and the acceleration of gravity.
  • the translational floor reaction force vertical component is almost proportional to the sum of the body acceleration vertical component and the gravitational acceleration. I do.
  • the target vertical component of the floor reaction force or the target vertical component of the overall center of gravity acceleration or By determining the target vertical component of the degree and setting the allowable range according to the determined target vertical component, it is possible to set the allowable range of the pattern suitable for the translational floor reaction force vertical component desired to be generated in the robot. .
  • the provisional motion determining means is configured to satisfy the target vertical component determined by the target vertical component determining means, ie, the translational floor reaction force vertical component of the lopot (the inertial force of the temporary motion).
  • the translational floor reaction force vertical component that balances the vertical component of the resultant force of gravity and gravity) or the overall center of gravity acceleration vertical component or the body acceleration vertical component matches the target vertical component determined by the target vertical component determination means, or
  • the provisional motion is determined so as to substantially match. In other words, this means that the vertical component of the resultant force of the inertial force of the tentative motion and the gravity on the dynamic model corresponds to the target vertical component corresponding to the target vertical component determined by the target vertical component determining means. This means determining the tentative motion to balance or almost balance the force vertical component.
  • the dynamic model rotates at least the relationship between the motion to be corrected by the temporary motion correcting means and the floor reaction force around a vertical axis or a floor normal axis.
  • the dynamic model is described as a relationship between a free rotational motion of a flywheel and a floor reaction force (seventh invention).
  • the motion to be corrected is around a vertical axis or a floor normal axis. Since this corresponds to the rotational movement of the flywheel that independently changes only the floor reaction force moment, the correction of the provisional movement can be easily performed with a small amount of calculation.
  • the provisional movement correcting means may be configured such that, during a predetermined period in which the limited amount determined by the provisional movement is within the allowable range (for example, a period in which the allowable range is sufficiently large).
  • the restricted amount deviates from the allowable range, the motion of the target gait is adjusted so that the motion of the lopot to be corrected approaches or matches a predetermined reference motion trajectory. It is preferable to determine (the eighth invention).
  • the predetermined period in which the amount to be restricted does not deviate from the allowable range, that is, in a period in which a sufficient frictional force can be generated on the contact surface between the mouth pot and the floor surface
  • the motion of the lopot to be corrected can be brought close to or matched with the preferred reference motion trajectory.
  • the predetermined period is a period within the landing period.
  • the generated desired gait is a current gait generated for a predetermined period of time for use in actual movement of the mouth pot, and a virtual gait following each current gait.
  • a normal gait which is a periodic gait and is used for generating the current time gait; and the processing of the temporary motion determining means and the temporary motion correcting means is the current time gait and Z or a normal time gait subsequent thereto. It is preferably executed when generating (9th invention).
  • the processing of the provisional movement determining means and the provisional movement correction means is executed, so that the restricted object amount does not exceed the allowable range.
  • Any suitable current gait and / or normal gait can be generated.
  • the normal gait is an appropriate gait as a gait following the current time's gait. The current time's gait satisfies the condition that the restricted object amount falls within an allowable range and the dynamic equilibrium condition, Generated so as to be continuous or close to the normal gait.
  • the allowable range setting means may determine the allowable range of the current time's gait and the allowable range of a normal gait following the current time's gait. Defines the landing position / posture of the tip and the scheduled landing time It is preferable to set in accordance with the parameters (10th invention).
  • the required parameter is: It is preferable to include a parameter that defines the landing position and posture for two steps at the tip of the leg of the foot moving port, and a parameter that defines the gait cycle for the first and second steps. Yes (the 11th invention).
  • a normal gait following the current time gait can be determined in the same type of form (walking, running, etc.) as the current time gait, and a preferable normal time gait as a gait following the current time gait (there is no divergence) Gait) can be determined. Therefore, it is possible to generate the current time's gait that can reliably secure the stability of the mouth pot when moving.
  • FIG. 1 is a view schematically showing the overall configuration of a bipedal movable mouth pot as a legged movable pot according to an embodiment of the present invention
  • FIG. 2 shows a structure of a distal end portion of a leg of the mouth pot of
  • FIG. Fig. 3 is a block diagram showing the configuration of the control unit provided in the port shown in Fig. 1
  • Fig. 4 is a block diagram showing the functional configuration of the control unit.
  • FIG. 5 is a diagram for explaining a running gait generated in the embodiment
  • FIG. 6 is a graph showing an example of a desired floor reaction force vertical component trajectory
  • FIG. 7 is an example of an X component and a Y component of a target ZMP trajectory.
  • FIG. 8 is a diagram for explaining the upper body translation mode of the robot
  • Fig. 9 is a diagram for explaining the upper body tilt mode of the mouth pot
  • Fig. 10 is a diagram for illustrating the upper body of the robot.
  • Fig. 11 (a) is a diagram for explaining the rotation mode
  • Fig. 11 (a) is a diagram for explaining the anti-phase arm swing mode of the mouth pot in plan view
  • Fig. 11 (b) is an anti-phase arm swing of the mouth pot.
  • FIG. 12 is a diagram for explaining the mode in a side view
  • FIG. 12 is a diagram for explaining a dynamic model used in the embodiment.
  • Fig. 13 shows the main route of the gait generator in the embodiment.
  • FIG. 14 is a flow chart showing the diverging state of the robot, FIG.
  • FIG. 15 is a flow chart showing the subroutine processing of S022 in FIG. 13, and FIG. 16 is a flow chart showing the normal gait.
  • FIG. 17 is a diagram illustrating the supporting leg coordinate system
  • FIG. 17 is a diagram illustrating the upper body trajectory of the normal gait and the supporting leg coordinate system
  • FIG. 18 is a graph illustrating an example of the reference antiphase arm swing angle.
  • Fig. 19 is a graph showing an example of setting the desired floor reaction force vertical component trajectory in a normal gait.
  • Fig. 20 is a graph showing an example of setting the floor reaction force horizontal component allowable range in a normal gait.
  • FIG. 17 is a diagram illustrating the supporting leg coordinate system
  • FIG. 17 is a diagram illustrating the upper body trajectory of the normal gait and the supporting leg coordinate system
  • FIG. 18 is a graph illustrating an example of the reference antiphase arm swing angle.
  • FIG. 22 is a graph showing an example of setting a target ZMP trajectory in a normal gait.
  • FIG. 23 is a flowchart showing the subroutine processing of S024 in FIG. 13
  • FIG. 24 is a flowchart showing the subroutine processing of S208 in FIG. 23
  • FIG. 24 is a flowchart showing the subroutine processing of S306,
  • FIG. 26 is a flowchart showing the subroutine processing of S412 in FIG.
  • Fig. 27 is a graph showing an example of the floor reaction force horizontal component without considering the allowable range
  • Fig. 28 is a graph showing an example of the floor reaction force horizontal component taking into account the allowable range
  • FIG. 30 is a graph showing an example of the body tilt recovery moment ZMP converted value for restoring the body inclination angle of the lopot
  • Fig. 31 is a figure taking into account the body tilt recovery moment ZMP converted value.
  • a graph showing an example of the upper body tilt angle acceleration obtained Fig. 32 is a graph showing an example of the vertical component of floor anti-camo without considering the allowable range
  • Fig. 33 is a floor reaction force moment considering the allowable range.
  • FIG. 34 is a graph showing an example of an anti-phase arm swing moment
  • FIG. 35 is a graph showing an anti-phase arm swing angular acceleration corresponding to the anti-phase arm swing moment of FIG.
  • FIG. 36 shows an example of anti-phase arm swing restoration angular acceleration to restore anti-phase arm swing angle
  • Fig. 37 is a graph showing the anti-phase arm swing recovery moment corresponding to the anti-phase arm swing recovery angular acceleration in Fig. 36
  • Fig. 38 is the vertical component of the floor reaction force moment in Fig. 33 and Fig. 37. Reverse of 4 009470
  • FIG. 13 is a graph showing a floor anti-camoment vertical component obtained by synthesizing a phase arm swing restoration momentum.
  • Fig. 39 is a flowchart showing the subroutine processing of S026 in Fig. 13
  • Fig. 40 is a graph showing an example of setting the floor reaction force horizontal component allowable range of the current time's gait
  • Fig. 41 is the current time's gait
  • Fig. 42 is a flowchart showing the subroutine processing of S028 in Fig. 13
  • Fig. 43 is a flowchart showing the subroutine processing of S028 in Fig. 13
  • FIG. 44 is a graph showing an example of the tentative target ZMP of the current time's gait, the ZMP correction amount, and the corrected target ZMP, and FIG.
  • FIG. 45 is S03 of FIG. 0 is a flowchart showing a subroutine process
  • FIG. 46 is a flowchart showing a subroutine process of S144 in FIG.
  • Fig. 47 is a graph showing the relationship between the normal gait and the desired gait's body position trajectory.
  • Fig. 48 is a diagram showing another example of the body tilt mode (body tilt at the waist). 9 is a diagram for explaining another example of the dynamic model
  • a gait generating device for a legged locomotive according to an embodiment of the present invention will be described with reference to the accompanying drawings.
  • a two-legged moving pot is used as an example of a leg-type moving port pot.
  • FIG. 1 is a schematic diagram showing an overall bipedal robot as a legged mobile robot according to this embodiment.
  • a two-legged moving port (hereinafter referred to as a port) 1 is a pair of left and right legs (leg links) extending downward from the upper body (the base of the port 1) 2 , 2 are provided. Both legs 2 and 2 have the same structure, each with 6 With joints.
  • the six joints are, in order from the upper body 3 side, joints for rotation (rotation) of the crotch (lumbar) (for rotation in one direction with respect to the upper body 3) 10 R, 10 L (signs R, L) Are the symbols corresponding to the right leg and the left leg respectively; the same applies hereinafter) and the joint for rotation in the roll direction (around the X axis) of the crotch (waist-part).
  • each leg 2 At the lower part of the two joints of the ankle of each leg 2 1 8 R (L), 20 R (L). The foot that constitutes the tip of each leg 2 (foot) 2 2 R (L) At the same time, the three joints 10 R (L), 12 R (L), and 14 R (L) of the crotch of each leg 2 are placed at the top of both legs 2 and 2.
  • the upper body 3 is attached via the upper body 3. Inside the body 3, a control unit 60 described in detail later and the like are stored. In FIG. 1, the control unit 60 is shown outside the body 3 for convenience of illustration.
  • the hip joint (or hip joint) is connected to the joint 1
  • the ankle joint is composed of 18 R (L) and 20 R (L) joints.
  • the hip joint and the knee joint are connected by a thigh link 24 R (L), and the knee joint and the ankle joint are connected by a lower leg link 26 R (L).
  • a pair of left and right arms 5, 5 is attached to both upper sides of the upper body 3, and a head 4 is disposed at the upper end of the upper body 3.
  • Each arm 5 has a shoulder joint composed of three joints 30 R (L), 32 R (L), and 34 R (L) and an elbow composed of joint 36 R (L).
  • a joint, a wrist joint composed of joints 38 R (L), and a hand part 40 R (L) connected to this wrist joint Have. Since the head 4 has no direct relation to the gist of the present invention, a detailed description is omitted.
  • the desired motion of both feet 22R and 22L can be performed by driving the joint at an appropriate angle.
  • the robot 1 can arbitrarily move in the three-dimensional space.
  • each arm 5 can perform an exercise such as arm swing by rotating its shoulder joint, elbow joint, and wrist joint. As shown in FIG.
  • a well-known 6-axis force sensor 50 between the ankle joints 18 R (L), 20 R (L) of each leg 2 and the foot 22 R (L) is located below.
  • the 6-axis force sensor 50 is for detecting the presence or absence of the ground of the foot 22 R (L) of each leg 2 and the floor reaction force (ground load) acting on each leg 2.
  • the detection signals of the three-directional components Fx, Fy, Fz of the translational force of the floor reaction force and the three-directional components MX, My, Mz of the moment are output to the control unit 60.
  • the upper body 3 includes the inclination angle and its angular velocity of the upper body 3 with respect to the Z axis (vertical direction (gravity direction)), and the rotation angle of the upper body 3 around the Z axis ( ⁇ one angle) and its angular velocity.
  • An attitude sensor 54 for detection is provided, and a detection signal is output from the attitude sensor 54 to the control unit 60.
  • the attitude sensor 54 includes a 3-axis acceleration sensor and a 3-axis gyro sensor (not shown), and the detection signals of these sensors are used to determine the attitude angle (tilt angle and angle) of the body 3 and its position. Used to detect angular velocity and to estimate the robot's 1 position and orientation.
  • each joint of the mouth port 1 has an electric motor 64 (see FIG. 3) for driving the joint and an electric motor for driving the motor.
  • An encoder (a single-point encoder) 65 (see FIG. 3) for detecting the amount of rotation (rotation angle of each joint) of the encoder 64 is provided, and a detection signal of the encoder 65 is provided by the encoder 65.
  • a joystick (operator) 73 is provided at an appropriate position of the robot-1, and the joystick 73 is operated by operating the joystick 73. It is configured such that a request for the gait of the mouth port 1 can be input to the control unit 60 as needed, for example, by turning the lopot 1 moving straight.
  • FIG. 2 is a diagram schematically showing a basic configuration of a tip portion (including each foot 22 R (L)) of each leg 2 in the present embodiment.
  • a spring mechanism 70 is provided between the foot 22 and the 6-axis force sensor 50, and a sole (each foot 22) is provided.
  • An elastic sole 71 made of rubber or the like is affixed to the bottom surface of R (L).
  • the compliance mechanism 72 is constituted by the spring mechanism 70 and the sole elastic body 71.
  • a rectangular guide member (not shown) attached to the upper surface of the foot 22 R (L) and an ankle joint 18 R (L) (FIG.
  • the ankle joint 2 OR (L) is omitted) and the 6-axis force sensor 50 is attached, and the guide member is finely movably accommodated via a flexible material (rubber or spring).
  • the spring mechanism 70 of the compliance mechanism 72 and the sole elastic body 7 1 bend, and the foot 2 2 R (L) is illustrated by a dotted line in the figure. Move to such a position and orientation.
  • the structure of the compliance mechanism 72 is not only for reducing landing impact as described in detail in, for example, Japanese Patent Application Laid-Open No.
  • FIG. 3 is a block diagram showing the configuration of the control unit 60.
  • the control unit 60 is constituted by a microcomputer, and comprises a first arithmetic unit 90 and a second arithmetic unit 92 each comprising a CPU, an AZD converter 80, a power counter 86, and a DZA converter.
  • the output signals of the 6-axis force sensor 50, posture sensor 54 (acceleration sensor and rate gyro sensor), and joystick 73 of each leg 2 are converted to AZD converter 8 After being converted to a digital value by 0, it is sent to the RAM 84 via the bus line 82.
  • the output of the encoder 65 (rotary encoder) of each joint of the lopot 1 is input to the RAM 84 via the counter 86.
  • the first arithmetic unit 90 generates a desired gait as described later and calculates an articulation angle displacement command (a displacement angle of each joint or a command value of a rotation angle of each electric motor 64), Send to RAM 84. Further, the second arithmetic unit 92 reads the joint angle displacement command from the RAM 84 and the actual measured value of the joint angle detected based on the output signal of the encoder 65, and drives the joints necessary for driving each joint. The operation amount is calculated and output to the electric motor 64 for driving each joint via the DZA converter 96 and the servo amplifier 64a.
  • FIG. 4 is a block diagram showing an overall functional configuration of the control device of the legged mobile lopot according to this embodiment.
  • the part other than the “real robot” in FIG. 4 is 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 something.
  • the symbols R and L are omitted.
  • the control unit 60 includes a gait generator 100 that generates and outputs a desired gait of the robot 1 freely and in real time
  • the gait generator 100 constitutes each means of the present invention by its function.
  • the desired gait output by the gait generator 100 is a target body position / posture trajectory (trajectory of the target position and target posture of the body 3), a desired foot position / posture trajectory (the target of each foot 22) Orbit of position and target posture), target arm posture trajectory (trajectory of target posture of each arm 5), target total floor reaction force center point (target ZMP) trajectory, and target total floor reaction force trajectory.
  • target ZMP target total floor reaction force center point
  • “trajectory” in the above-mentioned gait means a temporal change pattern (time-series pattern), and in the following description, may be referred to as “pattern” instead of “trajectory”.
  • “posture” means spatial orientation. Specifically, for example, the body posture is the inclination 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 and the yaw direction of the body 3 in the pitch direction (around the Y axis). The angle of rotation of the upper body 3 (around the Z axis) is expressed by the angle of rotation of the upper body 3.
  • the foot posture is expressed by the spatial azimuth of two axes fixed to each foot 22. In this specification, the body posture may be referred to as the body posture angle.
  • each foot 22 floor reaction force consisting of translational force and moment
  • all (two) robots 2 , 22 L the resultant force of each foot floor reaction force.
  • each floor floor reaction is hardly mentioned, and unless otherwise specified, “floor reaction” is treated as synonymous with “total floor reaction”.
  • the desired floor reaction force is generally defined by the point of action, the translational force and the moment acting on that point. — Expressed by a statement. Since the action point is good for everywhere, countless expressions can be considered for the same desired floor reaction force.
  • the target floor reaction force In terms of force, the moment component of the desired floor reaction force is zero except for the vertical component (moment about 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)) is zero.
  • a desired gait is a set of a desired motion trajectory and a desired floor reaction force trajectory during one or more steps.
  • a desired gait in a narrow sense is a set of a desired motion trajectory during one step and its ZMP trajectory.
  • the vertical position (body height) of the body 3 of the robot 1 is determined by the body height determination method previously proposed by the present applicant in Japanese Patent Application Laid-Open No. Hei 10-86080. Then, the translational floor reaction force vertical component is determined dependently. Furthermore, by determining the horizontal level trajectory of mouth port 1 so that the resultant force of the inertia and gravity due to the motion of the desired gait has a horizontal component of the moment generated around the target ZMP of zero. The translational floor reaction horizontal component is also determined. This Therefore, in the specification of PCT Publication WOZ02Z40224, only the target ZMP was sufficient as a physical quantity to be explicitly set for the floor reaction force of the target gait.
  • the floor reaction force vertical component (translational floor reaction force vertical component) is also important for control. Therefore, in the present invention, the trajectory of the robot 1, such as the desired vertical body position, is determined after explicitly setting the target trajectory of the floor reaction force vertical component. Therefore, in this specification, the following b ′) is used as a definition of a desired gait in a narrow sense.
  • a desired gait in a narrow sense is a set of a desired motion trajectory, a desired ZMP trajectory, and a desired translational floor reaction force vertical component trajectory during one step.
  • the target gait will be used in the narrow sense of the target gait in b ′) above, unless otherwise specified, to facilitate understanding.
  • “one step” of the desired gait is used in the meaning from the time when one leg 2 of the mouth pot 1 lands to the time when the other leg 2 lands.
  • the target gait is used in the meaning of a gait for one step period, but it is not necessarily required to be for one step period.
  • a gait for a period shorter than a step may be used.
  • 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 “moment”. Is distinguished from the “floor reaction force vertical component”.
  • the floor reaction force horizontal component means “translational floor reaction force horizontal component”.
  • the period during which the mouth pot 1 supports its own weight with both legs 2 and 2 not to mention the legs supporting period in the gait, and the one leg supporting period is the robot with only one leg 2
  • the aerial period is defined as both legs 2
  • the leg 2 on the side that does not support the weight of the robot 1 during the one-leg support period is called a “free leg”.
  • there is no two-leg supporting period, and the one-leg supporting period (landing period) and the aerial period are alternately repeated.
  • both legs 2 and 2 do not support the weight of mouth port 1 during the aerial period, but leg 2 was a free leg during the one leg support period immediately before the aerial period.
  • the legs 2 that were supporting legs are also referred to as a free leg and a supporting leg, respectively, even in the aerial period.
  • the outline of the target gait generated by the gait generator 100 will be described using the running gait shown in FIG. 5 as an example. Other definitions and details regarding the gait are also described in Japanese Patent Application Laid-Open No. H10-86081 proposed earlier by the present applicant. The contents that are not described in the 081 publication will be mainly described.
  • the running gait shown in FIG. 5 will be described.
  • This running gait is similar to a normal running gait of a human.
  • the foot 2 2 of only one of the left and right legs 2 (supporting leg) of the robot 1 lands (grounds), and the two legs 2 and 2 float in the air during the one-leg support period.
  • the aerial period is repeated alternately.
  • the first state in Fig. 5 is the state at the beginning (initial) of the one-leg support period
  • the second state is the state at the midpoint of the one-leg support period
  • the third state is the aerial period following the one-leg support period.
  • the fourth state is at the midpoint of the aerial phase
  • the fifth state is at the end of the aerial phase (at the start of the next one-leg support phase).
  • the state is shown.
  • the robot 1 moves the leg on the supporting leg (the leg 2 on the front side in the traveling direction of the mouth pot 1) at the start of the one-leg supporting period.
  • the lopot 1 lands substantially the entire bottom surface of the landed foot 2 2 (the foot 22 on the supporting leg side), and then, as shown in FIG.
  • the free leg in the one-leg support period exists at the back of the support leg at the beginning of the one-leg support period, as shown in the first state in FIG. As shown in the state above, it is swung toward the front of the support leg toward the next scheduled landing position.
  • the mouth port 1 is the foot of the swing leg (the leg 2 that had been the swing leg during the one-leg support period immediately before the start of the aerial period). 22 Landed on the heels of 2 and the next one leg support period begins.
  • the basic outline of the target gait generated by the gait generator 100 will be described in consideration of the running gait of FIG. Although details will be described later, when the gait generator 100 generates the desired gait, the landing position / posture (scheduled landing position / posture) and the landing time (scheduled landing time) of the foot 22 on the swing leg side, etc.
  • the basic required value (required parameter) for generating the desired gait is provided to the gait generator 100 in accordance with the required operation of the joystick 73 or the like. Then, the gait generator 100 generates a desired gait using the required parameters.
  • the gait generator 100 includes some components of the desired gait, such as the desired foot position / posture trajectory of the desired gait, the desired floor reaction force vertical component trajectory, etc., according to the required parameters. After determining a parameter (referred to as a gait parameter), the instantaneous value of the desired gait is sequentially determined using the gait parameter to generate a time-series pattern of the desired gait.
  • a gait parameter referred to as a parameter
  • the target foot position / posture trajectory (more specifically, the target trajectory of each spatial component (X-axis component, etc.) of the foot position and posture) is described in, for example, Japanese Patent No. 3233333. It is generated for each foot 22 using the finite time settling filter proposed in No. 450. This finite time settling filter has a variable time constant
  • First-order lag filter that is, the transfer function is expressed as 1 / (1 + rs) (A variable time constant; hereinafter, this filter is referred to as a unit filter) in multiple stages (three or more stages in this embodiment) and connected in series. A trajectory that can be reached can be generated and output.
  • the time constant of the unit fill of each stage is sequentially and variably set according to the remaining time up to the specified time after the output of the finite-time set filter is started to be generated. More specifically, as the remaining time becomes shorter, the value of ⁇ : decreases from a predetermined initial value (> 0), and finally, at the specified time when the remaining time becomes 0, The value is set to be 0.
  • a step input having a height corresponding to the specified value (more specifically, an amount of change from the initial value of the output of the finite time setting filter to the specified value) is given to the finite time settling filter.
  • a limited-time settling filter not only generates an output that reaches a specified value at a specified time, but also sets the output change speed of the finite-time settling filter at the specified time to 0 or almost 0. " ⁇ 'Is possible. Can be set to 0.
  • the target foot position / posture trajectory generated by the finite time settling filter as described above is the target position / posture trajectory of each foot 22 in the support leg coordinate system described later fixed to the floor.
  • the desired foot position / posture trajectory generated as described above is such that the position of each foot 22 is gradually accelerated from its initial contact state (the state of the initial time of the desired gait) toward the expected landing position. Generated to start moving. Finally, the target foot position / posture trajectory gradually reduces the rate of change of the position gradually to 0 or almost 0 by the scheduled landing time, and reaches the scheduled landing position at the scheduled landing time. Generated to stop. Because of this, each foot 2 2 The ground speed at the moment of landing (the speed of change of the position of each foot 22 in the support leg coordinate system fixed to the floor) becomes zero or almost zero.
  • the landing impact is reduced even when the landing is performed from the state in which all the legs 2, 2 are in the air at the same time (the state during the air) in the running gait.
  • the vertical velocity of the upper body 3 becomes downward from the latter half of the aerial period due to the gravity acting on the mouth port 1, and remains downward even at the time of landing. Therefore, as described above, the target foot position / posture trajectory is generated so that the ground speed at the moment of landing of each foot 22 becomes 0 or almost 0, and the dynamic equilibrium condition is satisfied as described later.
  • the target position and attitude trajectory of the upper body 3 is generated, the speed of the foot 22 on the free leg side relative to the upper body 3 becomes upward immediately before landing.
  • the desired gait of the robot 1 is a gait that lands while retracting the leg 22 on the free leg side toward the upper body 3 side.
  • the mouth port 1 is viewed from the upper body 3 such that the ground speed of the foot 22 on the free leg side becomes 0 or almost 0 at the moment of landing. Then, the foot 22 is landed so as to be pulled up. As a result, the landing impact is reduced, and the landing impact is prevented from becoming excessive.
  • the finite time settling filter is a unit filter in which three or more stages (for example, three stages) are connected in series, so that the speed of each foot 22 (foot position) is set by the scheduled landing time. Not only becomes zero or almost zero, but also the foot 22 stops at zero or almost zero at the scheduled landing time. That is, the ground acceleration at the moment of landing is also zero or almost zero. Therefore, the landing impact is further reduced. Especially, even if the actual landing time of robot 1 deviates from the target landing time, the impact does not increase much.
  • the unit filter of the finite time settling filter The number of steps in the sun may be two, but in this case, the acceleration of each foot 22 at the scheduled landing time is generally not zero.
  • the foot position trajectory is generated using the finite time settling filter.
  • the speed of change of the foot position at the scheduled landing time becomes 0 or almost 0.
  • the target foot position trajectory is determined by using a function such as a polynomial set so that the change acceleration (time differential value of the change speed) of the foot position at the scheduled landing time is zero or almost zero. May be generated.
  • the generation of the desired foot posture trajectory as described above, at the time when almost the entire bottom surface of each foot 22 is installed on the floor,
  • a function such as a polynomial is set so that the change speed of the posture of 2, and the change acceleration becomes zero or almost zero.
  • the desired floor reaction force vertical component trajectory is set, for example, as shown in FIG.
  • the shape of the desired floor reaction force vertical component trajectory in the running gait (specifically, the shape during the one-leg support period) is set to a trapezoidal shape (a shape that is convex on the increasing side of the floor reaction force vertical component).
  • the gait parameters are determined using the height of the trapezoid and the time of the break point as gait parameters that define the desired floor reaction force vertical component trajectory.
  • the desired floor reaction force vertical component is constantly set to zero.
  • the desired floor reaction force vertical component trajectory should be set to be substantially continuous (so that the values do not become discontinuous).
  • the term “substantially continuous” refers to the value jump that occurs when an analog continuous trajectory (a true continuous trajectory) is digitally represented in a discrete time system.
  • the target ZMP trajectory is set as follows. In the running gait shown in Fig. 5, as described above, the player lands on the heel of the support leg side foot 22 and then kicks with the toe of the support leg side foot 22 and jumps up into the air. Foot 2 2 Land on the heel. Therefore, the target ZMP trajectory during the one-leg support period is, as shown in the upper part of Fig. 7, the heel of the support leg side foot 22 as the initial position, and then almost the entire bottom surface of the support leg side foot 22.
  • the upper diagram in FIG. 7 shows the target ZMP trajectory in the X-axis direction (front-back direction), and the lower diagram in FIG. 7 shows the target ZMP trajectory in the Y-axis direction (left-right direction).
  • the target ZMP trajectory in the Y-axis direction during the one-leg support period is set at the same position as the center position of the ankle joint of the supporting leg side leg 2 in the Y-axis direction, as shown in the lower part of Fig. 7. .
  • both legs 2, 2 are separated from the floor after the end of the one-leg support period, and the floor reaction force vertical component becomes zero.
  • the floor reaction force vertical component is 0, that is, in the mid-air period, the entire center of gravity of the mouth port 1 performs a free fall motion, and the change in angular momentum around the entire body weight center is zero.
  • the moment of the resultant force of the gravitational force acting on the mouth port 1 and the inertial force is 0, so the target ZMP is undefined.
  • any point on the floor satisfies the ZMP condition of “the point of action where the horizontal component of the moment at which the resultant force of gravity and inertial force acts is zero”.
  • the target ZMP may be set to be discontinuous.
  • the target ZMP is set so that it does not move from the target ZMP position at the time of leaving the bed (at the end of the one-leg support period).
  • the target ZMP trajectory may be set so as to move in a (step-like) manner.
  • the position of the target ZMP orbit in the X-axis direction during the aerial period is determined by the time when the next swing leg side leg 2 lands. It was made to move continuously from the toe of No.
  • the position of the target ZMP trajectory in the Y-axis direction during the aerial period is determined by the distance Y at the center of the ankle joint of the supporting leg side leg 2 before the landing of the next swing leg side leg 2.
  • the robot moves continuously from the axial position to the Y-axis position at the center of the ankle joint of the swing leg 2.
  • the target ZMP trajectory was continuous (substantially continuous) throughout the gait.
  • the desired gait is generated such that the moment of the resultant force of the gravity and the inertial force around the target ZMP (excluding the vertical component) becomes zero (more specifically, the desired body position). Adjust the attitude trajectory).
  • the position and time of the break point of the target ZMP trajectory as shown in FIG. 7 are set as ZMP trajectory parameters (parameters defining the target ZMP trajectory).
  • the meaning of “substantially continuous” in the ZMP trajectory is the same as in the case of the floor reaction force vertical component trajectory. 4 009470
  • the parameters of the ZMP orbit are determined so as to have a high stability margin and to prevent a sudden change.
  • a state in which the target ZMP exists near the center of the smallest convex polygon (so-called supporting polygon) including the ground contact surface of the robot 1 is referred to as having a high stability margin (for details, see Japanese Patent Application Laid-Open No. H10-860). 81 No. 1).
  • the target ZMP trajectory in Fig. 7 is set to satisfy such conditions.
  • the target body position / posture, target foot position / posture, and a reference body posture described later are described in a global coordinate system.
  • the global coordinate system is a coordinate system fixed to the floor. More specifically, a support leg coordinate system described later is used as the global coordinate system.
  • the gait generator 100 generates not only the desired body posture but also the reference body posture.
  • the reference body posture is generated in accordance with a gait requirement (a device such as an action planning unit for the gait generator 100 or a request from the outside (the joystick 73 or the like)). It is a force.
  • the target body posture (hereinafter, when the “reference” is not attached, indicates the target body posture) is generated so as to follow or match the reference body posture in the long term.
  • the target body posture should always always match the reference body posture as in the embodiment described in the specification of PCT Publication WO / 02/40224 by the present applicant.
  • PCT Publication WO / 02Z 40224 the concept of the reference body posture is not described, but the target body posture pattern is explicitly and preferentially given. It is the same thing that body postures always match.
  • the target body posture is intentionally shifted from the reference body posture as necessary. More specifically, by generating the motion modes described below in combination, the floor reaction force water and the vertical component of the floor reaction force of the desired gait fall within the allowable range (or within the friction limit). The kinetic equilibrium condition was satisfied while existing.
  • the perturbation of the body horizontal acceleration does not perturb the floor reaction force vertical component that dynamically balances the resultant force of the inertia force and gravity of the robot 1 generated by the perturbation (the overall center of gravity of the robot 1).
  • the floor reaction force moment horizontal component around the target ZMP (horizontal axis component) and the floor reaction force horizontal component is called the body translation mode.
  • a motion that changes the floor reaction force moment horizontal component and the floor reaction force horizontal component around the target ZMP without changing the floor reaction force vertical component is called a body translation mode.
  • the vertical component of the floor reaction force moment (the component around the vertical axis) is also perturbed, but we do not focus on this point here.
  • the inertial force and gravity Although the expression is expressed using the floor reaction force that balances the resultant force, it is theoretically more accurate to express using the resultant force of inertia force and gravity.
  • the resultant force and the floor reaction force have the same size and opposite directions.
  • the robot when the body tilt angle acceleration (angular acceleration at the tilt angle of the body 3) is perturbed around a certain point Pr from a certain motion state of the mouth pot 1, the robot The overall center of gravity of 1 is not perturbed, but the angular momentum around the entire body weight center (excluding the component around the vertical axis) is perturbed.
  • the perturbation of the body inclination angular acceleration about the point P r is the floor reaction force vertical component and floor reaction force horizontal component without causing perturbation, t perturbs the floor reaction duck one instrument horizontal component about the desired ZMP this
  • the motion mode that perturbs the body tilt angle acceleration of the robot 1 as described above is called the body tilt mode.
  • upper body tilt mode a motion that changes the floor reaction camoment horizontal component around the target ZMP without changing the floor reaction force vertical component and the floor reaction force horizontal component.
  • the perturbation of the angular acceleration of the upper body around the point Pq can be calculated as follows: without perturbing the vertical component of the floor reaction force, the horizontal component of the floor reaction force, and the horizontal component of the floor reaction force moment, the floor reaction force model around the target ZMP is obtained. Perturbs the vertical component of ment. Robo like this
  • the motion mode that perturbs the upper-body angular acceleration of the unit 1 is called the upper-body rotation mode.
  • the body motion that changes the floor reaction force moment vertical component around the target ZMP without changing the floor reaction force vertical component, floor reaction force horizontal component, and floor reaction force moment horizontal component This is called a single rotation mode.
  • the upper body 3 was rotated so that the positions of the hands of the arms 5, 5 did not change from the supporting leg coordinate system (the coordinate system fixed to the floor).
  • the motion of rotating the arm 5 together with the upper body 3 without changing the relative position and orientation of the arm 5 with respect to the upper body 3 may be defined as the upper body rotation mode.
  • the equation of motion described later needs to be changed slightly.
  • Figs. 11 (a) and (b) when the tips of both arms 5 and 5 are perturbed back and forth from the motion state with the mouth pot 1 in the forward and backward directions, the overall center of gravity of the robot 1 is obtained. Does not perturb, the vertical component of angular momentum around the whole body weight perturbs.
  • this motion mode is referred to as an anti-phase arm swing mode.
  • the arm swing motion mode that perturbs the floor reaction force moment vertical component around the target ZMP without perturbing the floor reaction force vertical component, floor reaction force horizontal component, and floor reaction force moment horizontal component is in opposite phase. Called arm swing mode.
  • FIGS 11 (a) and (b) show the state when the antiphase arm swing angle is 0 az.
  • a dynamic model of the robot 1 used in the present embodiment will be described.
  • a simplified (approximate) dynamic model shown below is used.
  • the dynamic model shown below is a kinematics model (a model that represents the structure and dimensions of joints and links, in other words, a model that represents the relationship between joint displacement and the position and orientation of the link. ) Is also required.
  • FIG. 12 is a dynamic model of the robot 1 used in the present embodiment. As shown in the figure, this dynamic model has two mass points 2 m corresponding to each leg 2 of the robot 1, respectively.
  • This model consists of a total of 3 mass points consisting of 2 m and a mass point of 3 m corresponding to the upper body 3, and 4 flywheels F Hx, FHy, FHbz and F Haz with inertia and no mass .
  • the flywheels FHx, FHy, F Hbz, and F Haz can rotate around the X axis (front-back axis), Y axis (left-right axis), Z axis (vertical axis), and Z axis (vertical axis), respectively. Things.
  • the decoupled that is, the dynamics of the legs 2 and 2 (the dynamics of each mass 2 m and 2 m) and the dynamics of the upper body 3 (the mass 3 m and the flywheels F Hx, F Hy and The dynamics of F Hbz) and the dynamics of arms 5 and 5 (dynamics of flywheel F Haz) are mutually non-interfering, and the dynamics of the entire mouth port 1 are linear. It is represented by a bond.
  • the relationship between the motion of the upper body 3 and the floor reaction force the relationship between the translational motion of the upper body 3 (upper body translation mode) and the floor reaction force, the tilting motion of the upper body 3 (upper body tilt mode) And the floor reaction force.
  • the floor reaction force generated by the horizontal motion of the upper body mass 3 m corresponds to the floor reaction force generated by the horizontal translational motion of the upper body 3 (body translation mode).
  • the floor reaction force generated by the rotational motion of F Fx and FHy corresponds to the floor reaction force generated by the rotational motion of the upper body 3 at the tilt angle (upper body tilt mode).
  • the rotation of the flywheel FHx corresponds to the rotation of the upper body 3 in the mouth direction (around the X axis), and the rotation of the flywheel FHy corresponds to the pitch of the inclination of the upper body 3. Corresponds to rotational movement in the direction (around the Y axis).
  • the floor reaction force generated by the rotary motion of the flywheel F Hbz corresponds to the floor reaction force generated by the single rotation motion of the upper body 3 (the upper body single rotation mode).
  • the floor reaction force generated by the rotational movement of the flywheel FHaz corresponds to the floor reaction force generated by anti-phase arm swing (anti-phase arm swing mode).
  • the mass of the arm of the robot 1 is assumed to be included in the upper body 3, and the upper body mass 3 m has the mass including the mass of the arms 5 and 5.
  • Each mass point 2 m, 2 m, 3 m is a representative point of the corresponding part, or corresponds to a point that is uniquely determined geometrically from the position and orientation of that part.
  • the position of the mass point 2 m of the supporting leg side leg 2 is a point located a predetermined distance above the representative point on the bottom surface of the foot 22 of the leg 2.
  • Y swg Swing leg mass point Y position-Xb: Upper body mass point X position (The upper body mass position is a point offset from the point Pr by a predetermined distance in the forward and backward direction of the upper body. Offset Is determined so that the center of gravity of the strict model matches the center of gravity of the dynamic model as much as possible when standing upright, etc. This is generally different from the horizontal position of the upper body.)
  • ⁇ bx Body tilt angle around X axis with respect to vertical direction
  • J Upper body moment of inertia (Equivalent moment of inertia in the upper body tilt mode; that is, the moment of inertia of FHx and FHy. Generally, the moment of inertia of the upper body 3 parts of the actual lopot 1 does not match )
  • J bz Body moment of inertia about the vertical axis (Equivalent moment of inertia in body rotation mode. In general, this does not match the moment of inertia of the three body parts of the actual mouth pot 1) .
  • J az Moment of inertia around the vertical axis of arm swing (Equivalent moment of inertia in anti-phase arm swing for spin cancellation. That is,; Moment of inertia at FHz.)
  • Fx Floor reaction force X component (specifically, the longitudinal direction (X axis) component of the translational floor reaction force)
  • Fy Floor reaction force Y component (specifically, the horizontal direction (Y axis) component of the translational floor reaction force)
  • Fz Floor reaction force vertical component (Specifically, the vertical direction (Z-axis) component of the translational floor reaction force. In the present embodiment, this is equal to the target translational floor reaction force vertical component.)
  • Mx Floor reaction force moment around target ZMP X component (Details: component around the longitudinal axis (X axis) of floor reaction moment)
  • Mz Z component of the floor reaction force moment around the target ZMP (specifically, the component around the vertical axis (Z axis) of the floor reaction camoment)
  • each mass point 2 m and 3 m mean the position in the front-back direction (X-axis direction) and the position in the left-right direction (Y-axis direction). Further, in the present embodiment, the positional relationship between the position of the mass point 2 m of each leg 2 and the position of the foot 22 of the leg 2 (the position of the predetermined representative point of the foot 22) is rough. It is predetermined, and if one position is determined, the other position is uniquely determined.
  • the positional relationship between the upper body mass point 3 m and the position of the upper body 3 is determined by the attitude angle of the upper body 3 (hereinafter, the posture of the upper body
  • the angle means the angle of inclination and the angle of the angle.)
  • dX / dt represents the first derivative of X
  • d2X / dt2 represents the second derivative of X. Therefore, if the variable X is displacement, dX / dt means velocity and d2X / dt2 means acceleration. g indicates the gravitational acceleration constant You. Here, g is a positive value.
  • Equations of motion (expressions representing dynamic equilibrium conditions) of the dynamic model are expressed by Expressions 01, 02x, 02y, 03x, 03y, and 03z.
  • F z mb * (g + d2Zb / dt2) + msup * (g + d2Zs p / dt2)
  • Mx mb * (Yb-Yzmp) * (g + d2Zb / dt2)
  • Mz mb * (Xb- zmp) * (d2Yb / dt2) — mb * (Yb- Yzmp) * (d2Xb / dt2)
  • Equation 0 3 z Further, the following relational expression holds for the position of the center of gravity of the entire lopot.
  • Y Gtotal (mb * Yb + msup * Ysup + mswg * Yswg) 7 mtotal
  • the AFp is the perturbation amount of Fx or Fy when d2Xb / dt2 or d2Yb / dt2 is perturbed by a unit amount in the expression 0 2X or the expression 0y, and is thus obtained by the following expression.
  • is the perturbation amount of My or Mx when d2Xb / dt2 or d2Yb / dt2 is perturbed by a unit amount in Expression 03y or Expression03X, it is obtained by the following expression. .
  • the change ⁇ ⁇ ⁇ of the floor anti-chamoment horizontal component per unit acceleration in each horizontal axis (X axis, Y axis) of the upper body translation mode is expressed as the upper body mass of the above dynamic model, Multiplied by the height (vertical position) from the target ⁇ 3 at the point 3 m.
  • the relation between the position of the upper body mass point 3 m and the target ZMP and the motion of the upper body mass point 3 m is when the upper body mass point 3 m corresponds to the inverted pendulum mass point and the target ZMP corresponds to the inverted pendulum fulcrum.
  • ⁇ in the Y-axis direction is, more accurately, the sign of the right side of Expression 07 inverted.
  • the AFr is the perturbation amount of Fx or Fy when d2 ⁇ by / dt2 is perturbed by a unit amount in Expression 02X or Expression 02y, it can be obtained by the following expression.
  • the change AFr of the floor reaction force horizontal component per unit acceleration in each horizontal axis (X-axis, Y-axis) in the body tilt mode is zero.
  • ⁇ ⁇ ⁇ is the perturbation of Mx or My when d2 ⁇ bx / dt2 or d2 ⁇ by / dt2 is perturbed by a unit amount in equation 0 3 X or equation 0 3 y.
  • the change in the horizontal component of the floor reaction force moment per unit acceleration in each horizontal axis (X-axis, Y-axis) direction of the upper body tilting mode, AMr is calculated as Equivalent to.
  • the A Mbz is a perturbation amount of Mz when d20bz / dt2 is perturbed by a unit amount in the expression 03z, and is obtained by the following expression.
  • the change A Mbz of the floor reaction force moment component per unit acceleration in the upper body rotation mode corresponds to the moment of inertia of the flywheel F Hbz corresponding to the upper body rotation.
  • a Maz is a perturbation amount of Mz when d20 az / dt2 is perturbed by a unit amount in Expression 03z, and thus is obtained by the following expression.
  • the change A Maz of the floor reaction force moment component per unit angular acceleration of antiphase arm swing corresponds to the inertia moment of the flywheel FHaz corresponding to arm swing.
  • the gait generator 100 includes one leg of the robot 1.
  • the target gait for one step (the target gait in the narrow sense described above) from the landing of 2 to the landing of the other leg 2 is taken as a unit, and the target gait for that step is ordered.
  • the target gait is from the start of the one-leg support period to the end of the following aerial period (at the start of the next one-leg support period).
  • the target gait to be newly generated is called “this gait”
  • the next target gait is “next gait”
  • the next target gait is “next next gait”. Call to.
  • the target gait generated just before the “current gait” is called “previous gait J”.
  • the gait generator 100 When the gait generator 100 newly generates the current time's gait, the gait generator 100 lands on the free leg side foot 22 up to two steps ahead of the mouth port 1.
  • the required values (requests) of the planned position / posture and the scheduled landing time are input as required parameters for the gait (or the gait generator 100 is stored in the storage device). Read request parameter overnight). Then, the gait generator 100 uses these required parameters to obtain a desired body position / posture trajectory, a desired foot position / posture trajectory, a desired ZMP trajectory, a desired floor reaction force vertical component trajectory, a desired arm posture trajectory, and the like. Generate At this time, some of the gait parameters that define these trajectories are appropriately modified so as to ensure continuity of walking.
  • FIG. 13 is a flowchart (structured flowchart) showing the main routine of the gait generation process executed by the gait generator 100.
  • various initialization operations such as initializing the time t to 0 in S 0 10 are performed. This process is performed when the gait generator 100 is activated. Next, the process proceeds to SO 14 via SO 12, and the gait generator 100 waits for an interrupt at each control cycle (the arithmetic processing cycle in the flowchart of FIG. 13). The control cycle is At.
  • the process proceeds to S 0 16, where it is determined whether or not the gait is a switch. If the gait is a switch, the process proceeds to S 0 18. Go to 0.
  • the above-mentioned “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 next time gait support leg coordinate system, the next time gait support leg coordinate system, the current time gait cycle and the next time The gait cycle is read.
  • the support leg coordinate system and the gait cycle are determined by the required parameters. That is, in the present embodiment, the required parameters given to the gait generator 100 from the joystick 73 and the like are the expected landing position / posture (foot / foot) of the free leg side foot 22 up to two steps ahead. The foot position and posture when the sole is rotated without slipping so that the sole touches the floor almost completely after the landing of the flat 22), and the required values for the scheduled landing time are included.
  • the request value of the first step and the request value of the second step correspond to the current time's gait and the next time's gait, respectively, at the start of generation of the current time's gait. ) It was previously given to the gait generator 100. These required values can be changed even during the generation of the current time's gait.
  • the gait support leg corresponds to the required value of the landing expected position / posture of the first leg on the free leg side 2 2 (the second leg on the free leg side in this time's gait) in the above required parameter.
  • the coordinate system is determined.
  • the required value of the landing position / posture of the free leg side foot 2 2 (22 L in the figure) relating to the current time's gait (the first step) is determined by the support leg side of the current time's gait.
  • the X-axis direction of the gait support leg coordinate system (the front-rear direction of the support leg-side foot 22R of the current gait) and the Y axis In the direction (left and right direction of the support leg side 22R of the gait this time)
  • it is moved by xnext and ynext respectively, and rotated by 0 znext around the Z axis (around the vertical axis).
  • the supporting leg coordinate system is such that the supporting leg side foot 22 is in a horizontal posture (more generally, a posture parallel to the floor surface) and almost the entire bottom surface of the supporting leg side foot 22 is on the floor.
  • this point is the support leg in the example of the present embodiment.
  • the horizontal plane passing through the origin is the XY plane. (Coordinate system fixed to the floor).
  • the X-axis direction and the Y-axis direction are the front-rear direction and the left-right direction of the support leg side foot 22, respectively.
  • the origin of the support leg coordinate system does not necessarily mean that almost the entire bottom surface of the support leg side foot 22 is in contact with the floor surface. It is not necessary to coincide with the representative point of the foot 22 in the state of being touched (the point representing the position of the foot 22), and may be set to a point on the floor different from the representative point. .
  • the gait supporting leg coordinate system is as shown in the figure.
  • the representative point (more specifically, the point on the floor that matches the representative point) is set as the origin, and the front and rear and left and right directions of the foot 22 L in the horizontal plane passing through the origin are respectively defined as the X 'axis direction and the Y' axis. It is a coordinate system to be a direction.
  • the gait support leg coordinate system (see X, Y coordinates in Fig. 16) is determined according to the required value of the expected landing position and posture of the free leg side foot 22 of the second step. .
  • the gait cycle of this time is based on the scheduled landing time of the foot 22 on the supporting leg side of the current time gait (required value), and the landing time of the foot 22 on the free leg side of the first step (current gait).
  • the next time's gait cycle is the estimated landing time of the first leg on the free leg side 22 (required value) from the scheduled landing time of the first leg on the free leg side 22 (required value). (Required value).
  • the required parameter is input to the gait generator 100 by a required operation of the joystick 73.
  • the required parameter or the above-described support corresponding to the required parameter is previously determined.
  • the position and orientation of the leg coordinate system and the gait cycle may be stored as the movement schedule of the robot 1.
  • a command (request) from a control device such as a joystick 73 and a movement history of one of the mouth pots up to that time, the next and next gait support leg coordinate system, and the present and next gait are used. The period may be determined.
  • the gait generator 100 sets a virtual gait following the gait this time.
  • the gait parameters of a normal turning gait as a periodic gait are determined.
  • the gait parameters include a foot trajectory parameter defining a target foot position / posture trajectory in a normal turning gait, a reference body posture trajectory parameter defining a reference body posture trajectory, and a reference arm posture trajectory.
  • the parameters include the reference arm posture trajectory parameters, the target ZMP trajectory parameters, the ZMP trajectory parameters, and the desired floor reaction force vertical component trajectory parameters.
  • parameters defining the allowable range of the floor reaction force horizontal component and the allowable range of the floor reaction force moment vertical component are also included in the gait parameters.
  • steady turning gait refers to the motion state (foot) of the mouth port 1 at the boundary of the gait (in this embodiment, the boundary of the gait for each step) when the gait is repeated. It is used to mean a periodic gait in which discontinuity does not occur in the flat posture, body position and posture.
  • normal gait may be abbreviated as “normal gait”.
  • the normal turning gait that is a periodic gait is a gait for two steps of the mouth port 1, that is, a first turning gait following the current time gait and a first turning gait following the first turning gait.
  • a gait composed of two turning gaits is a gait for one cycle of the normal turning gait, and the gait for one cycle is repeated.
  • the term "turn" is used because when the turning rate is zero, it means straight traveling, so that straight traveling can be included in turning in a broad sense.
  • the generated desired gait is the running gait shown in FIG. 5
  • the current time gait of the desired gait is a running gait having a one-leg support period and an aerial period.
  • Both the first turning gait and the second turning gait are gaits having a one-leg support period and an aerial period, similarly to the current time gait. That is, the basic gaits of the first turning gait and the second turning gait are the same as the current time gait.
  • Supplementary information on the normal turning gait is as follows.
  • one cycle of the normal turning gait corresponds to the gait in the narrow sense described above for at least two steps. is necessary. It is also possible to set a complex stationary turning gait in which a gait of three or more steps is a gait for one cycle.
  • the normal turning gait is used only to determine the divergent component at the end (end time) of the current time's gait, as described later. For this reason, using a normal turning gait with a gait of three or more steps as one cycle has little effect in spite of complicated gait generation processing.
  • the gait for one cycle of the normal turning gait in the present embodiment is constituted by gaits for two steps (first and second turning gaits).
  • first and second turning gaits the number of gaits sufficient to define the normal turning gait will increase accordingly.
  • a normal turning gait composed of a plurality of gaits in a narrow sense two gaits in the present embodiment is regarded as one gait.
  • the normal turning gait is provisionally determined by the gait generator 100 in order to determine the divergent component at the end of the current time's gait, the body vertical position speed, the body posture angle, and the motion state of the robot 1 such as its angular velocity.
  • 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 bipedal moving robot 1 is shifted to a position far away from the positions of both feet 22 and 22 as shown in Fig. 14. .
  • the value of the divergent component means that the position of the upper body 3 of the biped locomotion robot 1 is the position of both feet 22 and 22 (more specifically, the position of the foot 22 of the supporting leg side is set to the ground surface). It is a numerical value indicating how far away from the global coordinate system (the origin of the support leg coordinate system) is.
  • the gait is generated using the divergent component as an index so that the desired gait is continuously generated without the divergence.
  • a normal gait (a typical example of a continuous gait is a periodic gait in which the gait of the same pattern can be repeated without generating a discontinuity in the gait trajectory; in principle, infinite Gait that does not diverge even if it is repeated several times)
  • the component the divergent component at the initial time of the normal gait
  • the initial divergent component also changes. That is, the appropriate divergent component changes depending on the form of gait such as walking or running.
  • a normal gait following the current gait to be generated is set according to the required parameters related to the current gait, and an initial divergent component of the normal gait is obtained.
  • the current gait is generated such that the terminal divergent component of the current gait matches the initial divergent component of the normal gait (more generally, the current gait is made continuous or close to the normal gait).
  • the basic guideline for generating a gait like this is similar to that of the PCT publication WOZ 02Z40224 previously proposed by the present applicant.
  • Equation 1 1 Equation 1 1 where the horizontal position of the upper body mass represents the horizontal position Xb of the upper body mass in the dynamic model shown in FIG.
  • ⁇ 0 and ⁇ ⁇ ′ are certain predetermined values. These ⁇ 0 and ⁇ ⁇ 'values are almost the same, but they do not exactly match. Then, during running, it is necessary to slightly change the value at the time of generating the walking gait of PCT Publication WOZ 02Z40224. Other details regarding the divergent component and the convergence component are described in PCT Publication WO / 02/40224, and will not be further described here. In the present embodiment, those described in PCT Publication WOZ 02/40224 In addition to the equation, the gait parameters that define the desired floor reaction force and vertical component trajectory are set as described later, and the robot is set so that the desired floor reaction force vertical component is dynamically satisfied. 1.
  • the second-order integral value of the floor reaction force vertical component defines the overall center of gravity vertical position of robot 1. If the target floor reaction force vertical component is set incorrectly, the overall center of gravity of robot 1 will be vertical. Position or body vertical position is too high or too low. Therefore, how to set the desired floor reaction force vertical component is also an important issue.
  • a part of the target ZMP determination method to optimize the body horizontal position speed Can be applied to a method of determining a desired floor reaction force vertical component for making the body vertical position speed appropriate with a slight change as shown in the present embodiment below.
  • the foot trajectory parameter of the normal gait is changed so that the foot position / posture trajectory is connected in this order of the gait, the first turning gait, and the second turning gait. It is determined.
  • a specific setting method will be described with reference to FIG.
  • the foot 22 of the leg 2 on the supporting leg side is referred to as a supporting leg foot
  • the foot 22 of the leg 2 on the free leg side is referred to as a free leg foot.
  • the “initial” and “end” of a gait mean the start time and end time of the gait, respectively, or the instantaneous gait at those times.
  • the foot trajectory parameters are the position and orientation of the supporting leg foot and the free leg foot at the beginning and end of the first turning gait and the second turning gait, respectively.
  • the first swing gait initial free leg foot position / posture is the current gait end support leg foot position / posture viewed from the next time gait support leg coordinate system.
  • the support leg foot 22 at the end of the gait this time is moving into the air.
  • required value of expected landing position / posture of free leg side foot 22 (required value of expected landing position / posture in next time gait of supporting leg foot 22 of current gait) or next time corresponding to the required value
  • the foot position / posture trajectory (or the trajectory viewed from the next time gait support leg coordinate system) leading to the next gait end swing leg foot position / posture determined according to the gait support leg coordinate system It is obtained by generating using a finite time setting file.
  • the foot 22 is rotated in the pitch direction by a predetermined angle to the horizontal posture so that the toe is lowered while keeping the foot 22 in contact with the ground.
  • the position and orientation of the foot at the time of contact are determined so as to match the position and orientation of the next-time gait support leg coordinate system.
  • the next gait end free leg foot position / posture does not slip from the required value of the landing position / posture of the second step free leg side foot 22 in the required parameter.
  • the foot 22 is rotated by a predetermined angle in the pitch direction so that the toe is lifted (the toe is raised and the heel lands), and the foot 22 is in the position and posture. is there.
  • the first turning gait initial support leg foot position / posture is the current gait end free leg foot position / posture viewed from the next time gait support leg coordinate system.
  • the current time's gait end free leg foot position / posture is the same as the next time's gait end free leg foot position / posture, the next time's gait support leg coordinate system or the required parameter corresponding to this.
  • the required value of the expected position and posture of the swing leg landing for the first step (the gait of this time) It is determined.
  • the foot position and posture of this time's gait end free leg foot are changed from that position and posture by rotating the foot 22 so as to lower the toe while keeping the foot 22 in contact with the ground.
  • the representative point of the foot when almost the entire bottom surface is brought into contact with the floor surface is determined so as to coincide with the origin of the next time's gait support leg coordinate system.
  • the first turning gait end free leg foot position / posture is calculated in the same way as the method for determining the current gait end free leg foot position / posture and the next time gait end free leg foot position / posture. Is determined based on the position and orientation of the next-time gait support leg coordinate system viewed from the user. More specifically, the foot position and posture of the first swing gait end free leg foot are set from the position to the horizontal position so that the foot 22 is not slipped while the foot 22 is grounded. The foot position and orientation when rotated by an angle are set so as to match the position and orientation of the next-time gait support leg coordinate system viewed from the next-time gait support leg coordinate system. '
  • the support leg foot 22 is off the floor and in the air.
  • the first turning gait support leg foot landing scheduled position / posture is set.
  • the first turning gait support leg foot landing scheduled position / posture is set based on the position / posture of the next / next gait support leg coordinate system viewed from the next / time gait support leg coordinate system. More specifically, the first turning gait support leg foot landing scheduled position / posture is the position / posture of the next next gait support leg coordinate system viewed from the next time gait support leg coordinate system.
  • next-next-next gait support leg coordinate system is based on the relative position and orientation relationship between the next-next gait support leg coordinate system and the next-next gait support leg coordinate system. It is set to match the relative position and orientation relationship with the supporting leg coordinate system.
  • the first turning gait end support leg foot position / posture is obtained from the first turning gait initial support leg foot position / posture in the same manner as when the first turning gait initial support leg foot position / posture is obtained.
  • the posture trajectory (more specifically, the trajectory viewed from the next time's gait support leg coordinate system) is obtained by using the finite time settling filter up to the end of the first turning gait.
  • the initial swing leg foot position / posture of the second turning gait is the foot position / posture of the first turning gait end supporting leg as viewed from the next-time gait support leg coordinate system.
  • the initial support leg foot position / posture of the second turning gait is the first turning gait end free leg foot position / posture viewed from the next-time gait support leg coordinate system.
  • the second turning gait end free leg foot position / posture is the current gait end free leg foot position / posture viewed from the gait support leg coordinate system.
  • the second turning gait end support leg foot position / posture is the current gait end support leg foot position / posture viewed from the gait support leg coordinate system.
  • the gait cycle of the first turning gait and the second turning gait is set to be the same as the next time gait cycle.
  • the gait cycles of the first turning gait and the second turning gait are not necessarily required to be the same as each other, but it is important that each cycle is determined at least according to the next gait cycle. preferable.
  • the other motion parameters (including time parameters such as the two-leg support period) of the gait, the first turning gait and the second turning gait depend on the parameters determined above.
  • the gait conditions should be determined appropriately so as to satisfy the gait conditions (whether the speed of the night is within the allowable range, does not exceed the movable angle, does not interfere with the floor, etc.).
  • a reference body posture trajectory parameter defining a reference body posture trajectory to be followed by the target body posture is determined.
  • the reference body posture is such that it is connected between the beginning of the normal gait (the beginning of the first turning gait) and the end (the end of the second turning gait) (the reference body posture at the beginning and end of the normal gait) It is not necessary to keep a constant posture as long as the posture angle and its angular velocity are set to coincide with each other.
  • the reference body shape is used.
  • the posture related to the inclination angle (the inclination angle with respect to the vertical direction) of the forces is set to the upright posture (vertical posture).
  • the reference body posture regarding the inclination angle of the body 3 is set to the upright posture during the entire period of the normal gait. Therefore, in the present embodiment, the angular velocity and angular acceleration of the inclination angle in the reference body posture are zero.
  • the one corner trajectory of the reference body posture (hereinafter, also referred to as the reference one corner trajectory) 0bz may be, for example, a constant angular velocity (average turning speed of a normal gait).
  • the sine wave may be used as in the example of the reference antiphase arm swing trajectory described later (FIG. 18). However, set so that the reference angle and its angular velocity are continuous when the normal gait is repeated. 1
  • the process proceeds to S104, and the reference arm posture road parameters are determined. Specifically, the position of the center of gravity of the arms 5, 5 as a whole (the position of the center of gravity relative to the upper body 3), the distance between the left and right hands (tips of the arms 5, 5) in the horizontal direction, The parameters related to the antiphase arm swing angle are determined.
  • the reference anti-phase arm swing angle may be set as shown in FIG. 18 when, for example, turning left as shown in FIG. As shown in Fig.
  • the reference antiphase arm swing angle 0 azref is opposite phase at the boundary of the gait (the end of the second gait and the boundary of the next first gait) when the normal gait is repeated.
  • the arm swing angle and angular velocity are both continuous, and the relative relationship between the support leg and the antiphase arm swing angle at the beginning of the first turning gait is It is set to match the relative relationship. That is, the initial phase arm swing angular velocity of the first turning gait coincides with the terminal antiphase arm swing angular velocity of the second turning gait, and the terminal antiphase arm swing angle of the second turning gait is the turning angle of the normal gait.
  • the reference antiphase arm swing angle 0 azref is a sinusoidal waveform in FIG. 18, it may be set to a constant angular velocity. Alternatively, the average value of the angle of the support leg and the angle of the swing leg may be used.
  • the position of the center of gravity (the relative position with respect to the upper body 3) of the entire arms 55 in the target arm posture is set so as to be kept constant with respect to the upper body 3.
  • a floor reaction force vertical component trajectory parameter is set.
  • the floor reaction force vertical component trajectory defined by the parameter is a first turning gait and a second turning gait.
  • the floor reaction force vertical component trajectory parameters are set so as to be substantially continuous (values do not jump in steps) as shown in Fig. 6. That is, the desired floor reaction force vertical component trajectory of the normal turning gait is set in a pattern as shown in Fig. 19. In that pattern, in both the first turning gait and the second turning gait, the floor reaction force vertical component changes to a trapezoidal shape during the one-leg support period, and the floor reaction force vertical component is maintained at 0 during the aerial period. You. Then, the time of the break point of this pattern and the height (peak value) of the trapezoidal portion are set as the parameters of the floor reaction force vertical component orbit.
  • the total gait of the floor reaction force vertical component (one gait of the normal gait during the period of both the first turning gait and the second turning gait)
  • the average value during the period of the cycle is matched with the weight of Lopot 1. That is, the average value of the floor reaction force vertical component is set to the same magnitude as the gravity acting on the mouth pot 1 and in the opposite direction.
  • the condition of the normal gait is defined by all the state variables of the gait (the position of each part of the mouth port 1, Posture, speed, etc.) (initial state of the first turning gait) and the next supporting leg coordinate system (supporting leg of the next first turning gait)
  • the average value of the floor reaction force vertical component in each of the first turning gait and the second turning gait is determined as the weight of the robot 1. More specifically, for example, after setting the time of the break point of the trapezoidal portion of the floor reaction force vertical component trajectory in each turning gait according to the gait periods of the first turning gait and the second turning gait, for example.
  • the height of the trapezoid was determined so that the average value of the floor reaction force vertical component during the first turning gait and the second turning gait in each period coincided with the own weight of Lopot 1 (the height of the trapezoid).
  • the height of the trapezoid is determined by solving the above equation that represents the condition for matching the average value and the own weight with the unknown as the unknown value.)
  • the vertical velocity of the entire center of gravity at the end of the first turning gait and the initial time of the first turning gait The difference between the vertical speed of the center of gravity of the second turning gait and the vertical speed of the center of gravity of the second turning gait is also zero. However, this is not necessary.
  • each turning gait will The height and the like of the trapezoid of the floor reaction force vertical component trajectory of each turning gait may be corrected from the state where the average value and the own weight are matched.
  • the floor reaction force horizontal component allowable range [Fxmin, Fxmax] according to the floor reaction force vertical component trajectory set as shown in FIG. (More specifically, the parameters that define this) are set as shown in Figure 20.
  • the negative polygonal line in Fig. 20 indicates the floor reaction force horizontal component allowable lower limit Fxmin
  • the positive polygonal line indicates the floor reaction force horizontal component allowable upper limit Fxmax.
  • the floor reaction force horizontal component is generated by the friction between the floor and the foot 22, but not all friction can be generated, and there is a limit. Therefore, in order to prevent slipping when the actual robot 1 moves according to the generated desired gait, the floor reaction force horizontal component of the desired gait must always be within the friction limit.
  • the floor reaction force horizontal component allowable range is set, and the target gait is set so that the floor reaction force horizontal component of the target gait falls within this allowable range, as described later.
  • Fxmin is always set to — * more than the vertical component of the floor reaction force
  • Fxmax is set to less than or equal to the vertical component of the floor reaction force. It must be.
  • the simplest setting method is the following formula. Where ka is a positive constant smaller than 1.
  • the floor reaction force horizontal component allowable range shown in FIG. 20 is an example set in accordance with Equation 12.
  • the value and time at the break point such as the trapezoidal waveform in Fig. 20 may be set as the parameters defining the floor reaction force horizontal component allowable range.
  • the floor reaction force horizontal component is allowed by another setting method.
  • the range may be set.
  • the allowable range of the floor reaction force moment vertical component [Mzmin, Mzmax] (more details) Is set as shown in Fig. 21.
  • the broken line on the negative side in Fig. 21 indicates the floor member anti-camoment vertical component allowable lower limit Mzmi.
  • the line on the positive side indicates the floor reaction force moment vertical component allowable upper limit Mzmax.
  • the vertical component of the floor reaction force moment is generated by the friction between the floor and the foot 22.
  • friction cannot be generated in any way, and there is a limit. Therefore, in order not to spin when the actual lopot 1 moves according to the generated target gait, the vertical component of the floor reaction force moment of the target gait must always be within the friction limit. Must.
  • the floor reaction force moment vertical component allowable range is set, and as described later, the floor reaction force moment vertical component of the target gait is set within this allowable range. A desired gait was generated.
  • Mzxmin -ka * * * r * Floor reaction force vertical component
  • the allowable range of the vertical component of the floor reaction force moment in FIG. 21 is an example set according to the equation 10.12.
  • the value and time at the break point such as the trapezoidal waveform in Figure 21 may be set as a parameter that defines the allowable range of the floor anti-camo vertical component.
  • the value of (ka *) in Equation 101 may be simply set as a parameter.
  • r is preferably calculated at each moment from the target ZMP and the contact surface, but may be a constant.
  • the allowable range of the combination of the floor reaction force horizontal component and the floor reaction force vertical component moment is set. You may do it. The reason is that as the floor reaction force horizontal component increases, the allowable range of the floor reaction force moment vertical component becomes narrower, and as the floor reaction force moment vertical component increases, the allowable range of the floor reaction force horizontal component decreases. It is.
  • the process proceeds to S110, and ZMP trajectory parameters for defining the ZMP trajectory of the normal gait combining the first turning gait and the second turning gait are set.
  • the target ZMP trajectory is set so as to have a high stability margin and not to change abruptly as described above.
  • the target ZMP must be within the ground contact. Therefore, in the present embodiment, the first turning of the normal gait is performed. As shown in the upper part of FIG. 7, the target ZMP position of the gait and the second turning gait in the X-axis direction is set with the heel of the support leg foot 22 as an initial position.
  • the foot 22 is set so that it remains at that position until almost the entire bottom surface of the foot 22 touches the ground.
  • the target ZMP moves to the center of the support leg foot 22 and moves to the toe until the foot 22 comes into contact with the toe, and then the support leg foot 22 until the floor lifts off. It is set to stay on tomaki.
  • the target ZMP is from the toe of the supporting leg foot 22 to the landing position of the heel of the free leg foot 22 by the time the next swing leg foot 22 reaches. It is set to move continuously. Therefore, the target ZMP trajectory (trajectory in the X-axis direction) of the normal gait consisting of the first turning gait and the second turning gait is as shown in FIG.
  • the time and position of the break point of the target ZMP trajectory are set as parameters of the ZMP trajectory.
  • the time of the turning point is set according to the gait cycle of the first turning gait and the second turning gait determined according to the required parameter, and the position of the turning point is determined by the next turn.
  • Position and orientation of the gait support leg coordinate system and the next-time gait support leg coordinate system, or the required parameters that define these coordinate systems. Is set in accordance with the required value of.
  • the position of the ZMP trajectory in the Y-axis direction is set in the same manner as that shown in the lower diagram of FIG.
  • the trajectory of the target ZMP in the Y-axis direction in the first turning gait is set in the same pattern as that shown in the lower diagram of FIG. 7, and the Y-axis position of the target ZMP in the second turning gait
  • the trajectory is set to the trajectory of the same shape as that of the first turning gait, which is connected to the end of the trajectory.
  • a normal gait must be a gait in which the state variables at the beginning and end are continuously connected. In order to facilitate such gait determination, In the form, until the normal gait is determined, it differs from the definition of the gait in the narrow sense described above.
  • the initial, end, and period of one step of the normal gait are defined for convenience as shown in FIG. That is, the time when the floor reaction force vertical component decreases to some extent in the latter half of the one-leg support period of the first turning gait is set as the initial time Ts of the normal gait (the initial time Ts is as shown in Fig. 7).
  • the relationship between the target ZMP and the time Ts shown in FIG. 22 (or FIG. 7) set in S 110 is described.
  • the bottom of the support leg foot 22 is formed. It is desirable that the moment when the target ZMP moves to the center of the supporting leg foot 22 after almost the entire surface touches the ground and the movement to the toe is completed before the toe touches the ground, is the time Ts.
  • Such an initial time Ts is, for example, the target Z set earlier. The reason for setting the initial time Ts as described above will be described later.
  • the cycle Tcyc of the normal gait is the sum of the gait cycles of the first turning gait and the second turning gait.
  • Te be the end time of the normal gait, where Te is set to the time obtained by adding Tcyc to Ts.
  • the definitions of the gait's initial and final gaits are replaced with the definition of the gait in the narrow sense described above. I will return it.
  • the initial time time at the time of landing of the foot 22 on the supporting leg side
  • Ts initial time used until a normal gait is determined
  • the body posture angle and antiphase arm swing angle restoration period [Tm, Ts2] and [Tm2, Te] of the normal gait In addition, the normal gait When repeated, the body posture angle and antiphase arm swing angle should be continuous at the gait boundary. To do so, the initial body posture angular velocity of the normal gait and the terminal body posture angular velocity must match, and the initial antiphase arm swing angular velocity and the terminal antiphase arm swing angular velocity of the normal gait must match.
  • the above-mentioned period is a period for adjusting the body posture angle trajectory and the anti-phase arm swing angle trajectory for doing so.
  • a time Tm at which the second turning gait becomes the second turning gait after the aerial period of the first turning gait from the initial time Ts and the floor reaction force vertical component has increased to a predetermined magnitude is set.
  • a time Ts2 at which the floor reaction vertical component decreases to some extent in the latter half of the one-leg support period of the second turning gait is set.
  • the time Tm2 at which the first turning gait becomes the first turning gait after the aerial period of the second turning gait and the vertical component of the floor reaction force increases to a predetermined magnitude is set.
  • the time Tm is desirably set at the moment when almost the entire bottom surface of the support leg foot 22 is in contact with the ground or immediately thereafter. The same applies to time Tm2.
  • the time Ts2 is desirably set at or immediately before or immediately before the state where almost the entire bottom surface of the foot 22 is grounded to the toe grounding, similarly to the initial time Ts.
  • the target ZMP of FIG. 22 set in S110 of FIG. 15 and these times Tm, Ts2, and Tm2 will be described.
  • the target ZMP is With the heel of leg foot 22 as the initial position, it stays at that position until almost the entire bottom surface of foot 22 is in contact with the ground, and then the moment when it begins to move to the center of support leg foot 22 is time Tm. Desirable, then, support leg foot 2 until the toes of only two toes are in contact
  • the moment when ZMP completes the movement to the toe be the time Ts2.
  • the target Z MP is
  • the period for restoring (adjusting) the body posture angle and the period for restoring (adjusting) the antiphase arm swing angle may be set separately.
  • the process 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 (the initial body position and the initial body speed in the horizontal direction), and the initial body vertical position speed (the initial upper body speed in the vertical direction).
  • the calculation of this initial state is performed exploratively according to the flowchart of FIG.
  • the target foot position / posture is calculated based on the gait parameters of the normal gait (the parameters set in S 0 22 of FIG. 13).
  • the initial state (state at the initial time Ts) of the target arm posture and the target body posture angle (tilt angle and angle) is determined.
  • the state is the position or posture angle and its rate of change (time differential). ).
  • the initial state of the target foot position / posture on the supporting leg side is based on the first supporting gait initial supporting leg foot position / posture of the foot trajectory parameters determined in S100 in FIG. 15 described above.
  • the foot position / posture trajectory (trajectory viewed from the next time's gait support leg coordinate system) leading to the second swing gait end free leg foot position / posture is determined by generating a finite time setting filter until time Ts.
  • the initial state of the target foot posture of the swing leg is from the initial support leg foot position and posture of the current gait viewed from the next time's gait support leg coordinate system to the first swing gait end free leg foot position and posture.
  • the trajectory of the foot position and posture is determined by generating a finite time settling filter until time Ts.
  • the initial state of the target arm posture is S104 in Fig. 15
  • the reference arm posture at time Ts is determined based on the determined reference arm posture trajectory parameters.
  • the position of the center of gravity of the both arms 5, 5 in the target arm posture (relative position with respect to the upper body 3), the distance between the left and right hands (tips of both arms 5 : 5) in the left and right direction and the reverse Phase arm swing angle ⁇ Angular velocity is determined.
  • the antiphase arm swing angle and angular velocity are corrected so that they continue at the boundary of the gait when the normal gait is repeated, as described later, so here they are only tentatively determined.
  • the initial state of the desired body posture angle is the reference body posture (tilt angle and angle) at time Ts determined by the reference body posture trajectory parameters determined in S102 in Fig. 15.
  • the angular velocity is determined as the initial state of the desired body posture angle.
  • the initial state of the inclination angle (the inclination angle and its angular velocity) in the target body posture is zero. .
  • the desired foot position / posture trajectory, the floor reaction force vertical component trajectory, and the desired ZMP trajectory of the normal gait are respectively the foot trajectory determined by the mouth-to-mouth chart in FIG.
  • the parameters are determined independently of each other by the parameters, the floor reaction force vertical component orbit parameters, and the ZMP orbit parameters.
  • the instantaneous desired foot position / posture of the normal gait is determined according to the foot trajectory parameters without depending on the instantaneous value of the floor reaction force vertical component.
  • the candidate (X s, V xs) tentatively determined here may be arbitrary.
  • the body horizontal position / velocity in the initial state of the normal gait obtained at the time of the previous generation of the gait is temporarily determined (X s, V xs). xs).
  • the X direction (front and rear) on the sagittal plane In this example, the initial state of the normal gait is searched for in the direction. It is necessary to search for the initial state of the gait (the initial state that satisfies the boundary conditions of a normal gait). .
  • a pseudo Jacobian sensitivity matrix
  • the next candidate may be determined by the steepest descent method, or a simplex method may be used.
  • the steepest descent method is used.
  • a normal turning gait is temporarily generated (this temporarily generated normal turning gait may be hereinafter referred to as a temporary gait). More specifically, based on the gait parameters of the normal gait determined in S 0 22 of FIG. 13 above, the target Z MP and the target floor at each moment from the initial time Ts to the end time Te The reaction force vertical component, target foot position / posture, reference body posture, target arm posture, floor reaction force horizontal component allowable range, and floor reaction force moment vertical component allowable range are sequentially obtained. Then, the dynamic model (the model in Fig. 12) is used to satisfy the dynamic equilibrium condition regarding the obtained target ZMP and the target floor reaction force vertical component and the condition of the floor reaction force horizontal component allowable range.
  • V zs is defined as the initial state of body 3 (time Ts), and the gait from time Ts to end time Te is generated by sequentially determining the body position and posture. Is generated so as to match the reference body posture as much as possible. .
  • the anti-phase arm swing motion is determined so as to satisfy the condition regarding the floor reaction force moment vertical component, that is, the floor reaction cam moment vertical component allowable range.
  • the gait generation of the normal gait is only performed inside the gait generator 100, and is used as a target value for actually driving the robot 1 as a composite compliance operation determination unit 1 described later. It is never output to 04.
  • the details of the normal gait generation processing by the sequential operation which is the processing of S208 will be described.
  • FIG. 24 is a subroutine flowchart showing the processing.
  • the initial time Ts is substituted for the provisional gait generation time k.
  • (X s, V xs) (tentatively determined by S 202 in FIG. 23 or S 2 16 or 3 2 18 described later) is currently determined as the body horizontal position velocity.
  • the latest (Zs, Vzs) obtained in S206 is substituted for the body vertical position velocity.
  • the reference body posture angle initial value (the angle at the initial time Ts) is substituted for the body posture angle
  • the reference body posture angular velocity is the reference body body posture angular velocity initial value (the initial time Ts). Angular velocity) is substituted.
  • the reference initial antiphase arm swing angle (angle at initial time Ts) is substituted for the antiphase arm swing angle
  • the reference initial antiphase arm swing angular velocity angular velocity at initial time Ts
  • S304 it is determined whether the provisional gait generation time k is before the gait end time (whether or not k ⁇ Ts + Tcyc). If the determination is YES, the flow proceeds to the gait instantaneous value determination subroutine of S306, and the gait instantaneous value is determined. Next, the process of the gait generator 100 proceeds to S308, and after increasing the provisional gait generation time k only, returns to S304.
  • the current value of the target foot position / posture (the value at time k) is obtained in the same manner as in the step S200 in FIG. 23 in which the foot position / posture at the initial time Ts is obtained. You.
  • the target floor reaction force vertical component is satisfied (the sum of the vertical inertial force of the mouth port 1 and gravity is balanced with the target floor reaction force vertical component).
  • the value of the vertical position speed of the whole body weight center (this time value) is calculated.
  • the total body weight center-of-gravity vertical position velocity is calculated based on Expressions 01 and 04 relating to the dynamic model of FIG. That is, according to Equations 0 1 and 04, the sum of the vertical center of gravity and the gravitational acceleration due to the movement of the mouth port 1 is multiplied by the total mass of the mouth port 1.
  • the relational expression that equals the force vertical component (the equation of motion in the vertical direction of the overall center of gravity of robot 1) is obtained. Therefore, from this relational expression and the desired floor reaction vertical component, the vertical acceleration of all body weights is obtained.
  • Equation 1 5 Vertical position of overall center of gravity at time k
  • the process proceeds to S408, and the body vertical position that satisfies the vertical position of the total body weight is calculated.
  • the body vertical position is calculated using Expression 04 relating to the model of FIG.
  • the vertical position of the support leg material point 2m and the free leg material point 2m of the model in Fig. 12 is obtained from the current values of the target foot position and orientation on the support leg side and the free leg side.
  • the upper body mass point is obtained.
  • a vertical position of 3 m is required.
  • the obtained vertical position of the body mass point of 3 m and the current value of the target body posture angle (the reference body posture angle set in S404 or the previous value determined in S414 described later ( The body vertical position is obtained from the target body posture angle at time k—A k).
  • the dynamic equilibrium condition for the target ZMP (the moment when the combined force of the inertial force of robot 1 and gravity is generated around the target ZMP)
  • the current value of the target body horizontal acceleration and the target body posture acceleration is determined so as to satisfy the condition that the horizontal component of the target body is 0).
  • the floor reaction force horizontal component Fx does not exceed [Fxmin, Fxmax]
  • the body horizontal acceleration and body posture angular acceleration are determined (and floor
  • the current value of the target antiphase arm swing angular acceleration is determined so that the reaction force vertical component Mz does not exceed [Mzniin, Mzmax].
  • one corner is determined to coincide with one of the reference body posture angles.
  • components other than the anti-phase arm swing angle are determined so as to match the reference arm posture.
  • the target body tilt angle and the target phase arm swing angle are determined so as to follow the reference body tilt angle and the reference antiphase arm swing angle as much as possible.
  • the instantaneous values (current values) of the foot position and posture and the body vertical position have been determined as described above.
  • the arm posture components other than the antiphase arm swing angle are the reference arm posture. Therefore, if the remaining body horizontal position, body posture angle, and antiphase arm swing angle are determined, the target motion of the robot 1 can be uniquely determined. Therefore, all floor reaction forces are also uniquely determined.
  • the desired floor reaction force vertical component and the desired ZMP of the normal gait are respectively determined by the floor reaction force vertical component trajectory parameter and the desired ZMP trajectory parameter determined at S 0 22 in FIG. Stipulated.
  • the target ZMP is satisfied by mainly using the body tilt mode without using the body translation mode so much (the horizontal component of the floor reaction force moment around the target ZMP is set to 0). ) And the upper body posture may swing too much. Therefore, to prevent this, the body translation mode should be used as much as possible.
  • upper body average The forward mode involves a change in the floor reaction force horizontal component, so if the floor reaction force horizontal component allowable range is narrow, there is a risk of slipping if the upper body translation mode is operated strongly. In this case, you have to rely on the upper body tilt mode.
  • a gait that generates a floor reaction force horizontal component cannot be generated. I have to rely on oblique mode.
  • the anti-phase arm swing motion can change only the floor reaction force moment vertical component without changing both the horizontal component of the floor reaction force moment around the target ZMP and the floor reaction force horizontal component. It can be used to prevent the floor reaction moment vertical component from exceeding the allowable range of the floor reaction moment vertical component.
  • the body horizontal acceleration, the body posture angular acceleration, and the antiphase arm swing acceleration are determined according to the flowchart shown in FIG.
  • the determination of the body horizontal acceleration and the body posture angular acceleration (angular acceleration of the inclination angle of the body 3) is based on the determination of the body horizontal acceleration in the X direction (front-back direction) on the sagittal plane.
  • the case where the body posture angular acceleration is determined will be described as an example.
  • the body horizontal acceleration and the body posture angular acceleration in the Y direction (lateral direction) are also determined in the same manner as the X direction.
  • the value of the reference body angle at time k is substituted for the desired body angle. Also, the value of the reference arm posture at time k is substituted for the target arm posture except for the antiphase arm swing angle and angular velocity components of the arm posture.
  • the current time (the value of the first image for creating a normal gait) k is: body posture angle ⁇ antiphase arm swing angle restoration period (in the case of a normal gait, body posture angle-antiphase It is determined whether the arm swing angle restoration period is between time Tm and time Ts2 and between time Tm2 and Te. If the decision result in S504 is NO, proceed to S504, YES If so, proceed to S530.
  • the angular acceleration in the body tilt mode is temporarily set to 0, and the motion in the body translation mode is performed.
  • the horizontal body acceleration a tmp required to satisfy the target ZMP at this time (time k) is obtained.
  • This CK tmp is obtained using, for example, the above equation 03y relating to the dynamic model of FIG. More specifically, for example, the vertical acceleration of the supporting leg mass point 2 m and the free leg mass point 2 m at the current time k is calculated using the time series values of the target foot position and orientation obtained up to the current time k.
  • the vertical position of the supporting leg material point 2 m and the free leg material point 2 m is obtained using the target foot position / posture at the current time k (this time).
  • the vertical position of the upper body mass point 3 m is obtained using the floor reaction force vertical position at the current time k (this time), and the time series value of the target body vertical position obtained up to the current time k is used.
  • the vertical acceleration of the upper body mass point 3 m at the current time k is obtained.
  • the upper body mass point is obtained by substituting the obtained values into the above equation 03 y and solving the equation of My equation 0 3 y with d2 0 by / dt2 as 0 for d2Xb / dt2, the upper body mass point is obtained.
  • the horizontal acceleration is calculated as the upper body horizontal acceleration a tmp. It is also possible to search for the body horizontal acceleration Q! Tmp that makes the horizontal component of the floor reaction force moment around the target ZMP zero using a stricter dynamic model.
  • the reference body posture relating to the inclination angle of the body 3 is the vertical posture
  • the body posture angular acceleration (angular acceleration of the inclination angle of the body 3) based on the reference body posture is 0.
  • the angular acceleration in the upper body tilt mode was set to 0, and the upper body horizontal acceleration a tmp was obtained.
  • the reference body posture trajectory parameter is set so that the inclination angle of the reference body posture changes
  • the reference body posture angular acceleration at the current time k (the body 3 If the reference angular acceleration of the tilt angle is not 0, the angular acceleration of the body tilt mode is Using the dynamic model, determine the body horizontal acceleration atmp using the dynamic model. (For example, set d20by / dt2 in Equation 03 to the non-zero reference body posture angular acceleration.)
  • the body horizontal acceleration ⁇ tmp is obtained in the same manner as described above. .
  • the floor reaction force horizontal component Fxtmp at time k when the body horizontal acceleration is a tmp is obtained using a dynamic model.
  • Fxtmp is obtained by using the equation 02 X of the dynamic model. That is, Fxtmp is obtained by the following equation (17).
  • d2Xsup / dt2 and d2XswgZdt2 represent the horizontal acceleration of the supporting leg foot mass point and the free leg foot mass point at time k, respectively.
  • FIG. 27 An example of Fxtmp obtained in this way is shown in Figure 27.
  • the body horizontal acceleration in the body translation mode the floor reaction force horizontal component Fx generated by this, and the body angular acceleration in the body tilt mode are determined as follows. (S508 to S516).
  • Fx Fxmax... Equation 1 8 If Fxtmp is less than Fxmin, proceed to S5 1 2 and Fx is determined by the following equation,
  • Fx Fxmin Equation 1 9 Otherwise, that is, if Fxtmp is within the floor reaction force horizontal component allowable range [Fxmin, Fxmax], the process proceeds to S5 14 and Fx is determined by the following equation.
  • the body translation mode and the body angle acceleration / 3 It is better to determine the upper body horizontal acceleration ⁇ in the upper body translation mode analytically or exploratively using a stricter dynamics model so that the combined motion of the body and the target satisfies the target ZMP.
  • a pseudo Jacobian sensitivity matrix
  • the next candidate may be determined by a pseudo Newton method or a simplex method. 2004/009470
  • Figure 28 shows the Fx obtained as described above.
  • Fx is limited (saturated) so that the value of Fxtmp does not exceed the floor reaction force horizontal component allowable range [Fxmin, Fxmax]. More specifically, if Fxtmp corresponding to the body horizontal acceleration tmp tmp only in the body translation mode is within the allowable range '[Fxmin, Fxmax], Fxtmp becomes Fx as it is. If Fxtmp corresponding to the upper body horizontal acceleration Q! Tmp in the upper body translation mode alone exceeds the upper limit of the allowable range [Fxmin, Fxmax] or falls below the lower limit, Fx is forcibly set. Limited to Fxmax, Fxmin.
  • FIG. 29 shows the body posture angular acceleration / 3 obtained as described above. Insufficient floor reaction force moment by limiting the acceleration of the body translation mode so that the Fx generated by the body translation mode does not exceed the allowable range [Fxmin, Fxmax]. The moment of inertia force required to reduce the horizontal component of the floor reaction force moment to zero and the moment component due to the restricted horizontal motion and the motion of the two legs 2 and 2 are subtracted from the upper body tilt You have been caught in mode. In the aerial period of the gait, the upper body horizontal acceleration in the body translation mode is always limited to the upper limit. The floor reaction force moment will be compensated.
  • Mztmp obtained by substituting Expression 1001 into Expression 1004 into Expression 03z is Mztmp.
  • the body horizontal position at time k-1 is substituted for Xb and Yb, and the value of time k is substituted for Xzmp, Yzmp, Xsup, d2Ysp / dt2, Xswg, and d2Yswg / dt2.
  • Figure 32 shows an example of Mztmp obtained in this way.
  • the part where Mztmp exceeds the floor reaction force moment vertical component allowable range [Mzmin, Mzmax] is shown by hatching.
  • Mztmp> Mzmax proceed to S522, and Mz is determined by the following equation.
  • Mztmp is smaller than Mzmin, the process proceeds to S524, and Mz is determined by the following equation.
  • Mz Mzmin ... Equation 1 0 1 9 Otherwise, that is, if Mztmp is within the floor reaction force horizontal component allowable range [Mzmin, Mzmax], proceed to S5 26 and Mz is determined by the following equation .
  • Mz Mztmp Equation 1 0 2 0
  • Mz obtained as described above indicates the vertical component of the floor reaction force moment due to the motion of the entire rod including the antiphase arm swing.
  • the anti-phase arm swing angular acceleration J8a is determined so that Mz does not exceed the floor reaction force moment vertical component allowable range [Mzmin, Mzmax]. Specifically, Mz sets the value of Mztmp as shown in Figure 33. T / JP2004 / 009470
  • Antiphase arm swing angular acceleration 3a is the reference antiphase arm swing angular acceleration ⁇ aref (the second-order derivative of the reference antiphase arm swing angle) is obtained by dividing Maz by the equivalent inertia moment of inertia A Maz of antiphase arm swing. Value). That is, 6a is obtained by the above expression 1021.
  • Figure 35 shows the antiphase arm swing angular acceleration a.
  • the floor anti-camoment vertical component Mz generated by the motion of the entire robot including the antiphase arm swing exceeds the allowable range [Mzmin, Mzmax]. So that the floor reaction force moment vertical component Mztmp, which occurs when the anti-phase arm swing angle acceleration is equal to the reference anti-phase arm swing angular acceleration 3 aref, cancels (cancels) the amount that exceeds the allowable range. 2), antiphase arm swing angular acceleration] 3 a is determined. In addition, in order to prevent the floor reaction force moment vertical component Mz from strictly exceeding the floor reaction force moment vertical component allowable range [Mzmin, Mzmax], replace the processing from S504 to S528. The antiphase arm swing angular acceleration ⁇ a is determined analytically or exploratively using a stricter dynamic model. 4 009470
  • a pseudo Jacobian (sensitivity matrix) may be obtained, and the next candidate may be determined by the pseudo Newton method or the simplex method.
  • the above is the processing when the time k is not during the body posture angle / opposite phase arm swing angle restoration period.
  • the process proceeds to S532, in which case the floor reaction force horizontal component Fx is obtained.
  • the flow proceeds to S534, and the body posture angular acceleration (body inclination angular acceleration) ⁇ is determined to be zero.
  • the upper body angular acceleration is determined as the reference upper body angular acceleration 3 bref (the value obtained by second-order differentiation of the reference upper body angular).
  • the body posture angular acceleration (body inclination angle acceleration and body tilt angle acceleration) is used as the reference body posture angular acceleration
  • the antiphase arm swing angular acceleration is used as the reference antiphase arm swing. Match the angular acceleration. Even in this case, it is expected that the floor reaction force generated by the movement will not exceed both the floor reaction force horizontal component allowable range and the floor reaction force moment vertical component allowable range. no problem.
  • the body horizontal velocity is obtained by sequentially integrating the body horizontal acceleration obtained in step 2 (cumulative addition from time Ts to the current time k), and the body horizontal velocity is successively integrated (from time Ts to the current time). By performing cumulative addition until time k), the body horizontal position (current value) is obtained.
  • the body posture angular velocity obtained in S 4 12 is sequentially integrated (cumulatively added from time Ts to the current time k) to obtain the body posture angular velocity, and further, the body posture angular velocity is sequentially integrated. (Accumulated addition from time Ts to current time k) gives body posture angle (current value).
  • the anti-phase arm swing velocity is obtained by sequentially integrating the anti-phase arm swing acceleration ⁇ a obtained in S 4 12 (cumulative addition from time Ts to the current time k). Then, by successively integrating these (cumulative addition from time Ts to current time k), antiphase arm swing angle 0 az (this time value) is obtained. '
  • ZMP converted value of the floor reaction force moment that generates the body posture angular acceleration to return the body posture angular velocity to the initial value (the value at time Ts) by time Te (Hereinafter referred to as ZMP converted value of body posture restoring moment, abbreviated as ZMP rec). This will be described in detail below.
  • Body posture angle ⁇ By generating body posture angular acceleration by using the body tilt mode during the anti-phase arm swing angle restoration period (the period from time Tm to time Ts2 and the period from time Tm2 to Te).
  • the body posture angular acceleration pattern for this purpose is j3 (k).
  • 8 (k) 0 ⁇ In the body tilt mode, if the body posture angular acceleration 3 (k) is to be generated, the floor reaction force moment j3 (k) * ⁇ ⁇ Occurs.
  • the ZMP (k) calculated from the motion is shifted by ⁇ ZMP obtained by the following equation. .
  • AZ MP (k) -(k) * ⁇ / Fz (k) ⁇ ⁇ ⁇ Equation 2 3 Therefore, if the pattern of ⁇ ⁇ and the pattern of Fz (k) are determined (if known), AZ MP (k ), A body posture angular acceleration pattern that satisfies Equation 23 is generated, and the body posture angular velocity is set to the initial value (value at time Ts), that is, the reference body posture. It is possible to return to the body posture angular velocity in the initial state (time Ts) of the orbit.
  • the body posture restoring moment ZMP conversion value (Z MPrec) means ⁇ Z MP (k) appropriately set as such.
  • fluctuates strictly, but may be approximately a constant value. This is because the dynamic gait of the normal gait does not need to be very high because the normal gait is only generated temporarily and does not cause the actual robot to follow this gait.
  • Figure 30 shows an example of ZMPrec.
  • the ZMPrec pattern As a result, trapezoid patterns are formed in the period from time Tm to time Ts2 and the period from time Tm2 to Te.
  • the time at the break point of the trapezoid is set to match the break point time of the target ZMP pattern during the period between time Tm and time Ts2 and during the period from time Tm2 to time Tm (see Fig. 22). This is because, as will be described later, it is easy to correct the target ZMP pattern of the gait this time.
  • 3 (k) -ZM Prec (k) * Fz (k) / ⁇ r ... Equation 2'4 Therefore, it is obtained by this equation 24)
  • 3 (k) is as shown by the solid line in Fig. 31. .
  • the dotted line in FIG. 31 shows the body posture angular acceleration during the period from time Ts to time Tm and during the period from time Tm2 to Te (shown by the solid line in FIG. 29). (Hereafter, when it is clear that the value is at time k, (k) may be omitted.)
  • the initial (time Ts) body posture angle matches the initial (time Ts) reference body posture angle.
  • the initial body posture angular velocity is determined so as to satisfy Equations 37a and 37b. '' End body posture angle-Initial body posture angle
  • Equation 3 7 a Terminal body posture angular velocity / initial body posture angular velocity.
  • Equation 3 7 b The integration period of the first term on the right side of each of Equations 37 a and 37 b is the sum of the period from time Ts to Tm and the period 1 from Ts2 to Tm2.
  • the integration period of the second term on the right-hand side is the sum of the period from time Tm to Ts2 and the period from Tm2 to Te.
  • the initial state posture angle and angular velocity of the first turning gait viewed from the supporting leg coordinate system are respectively the same as the next first turning. It must be consistent with the terminal body posture angle and angular velocity as seen from the gait support leg coordinate system (next and next gait support leg coordinate system). Therefore, in the present embodiment, the initial (time Ts) body posture angle is determined to be the value of the initial (time Ts) reference body posture angle, and this is used as the total of the mouth port 1 in the normal gait.
  • the coordinates converted to the values viewed from the next time's gait support leg coordinate system are the initial values of the left side of Equation 37a. Substitute the body posture angle and the end body posture angle. As the body posture angular acceleration relating to the integration of the first term on the right side of each of the expressions 37a and 37b, the one obtained in S518 in FIG. 26 is used.
  • the initial body posture angular velocity of Equations 37a and 37b and the ZMP rec related to the integration of the second term on the right side of Equations 37a and 37b (trapezoidal pattern in Fig. 30)
  • the trapezoid height of the trajectory of the ZMPrec is determined in advance as described above.
  • the time of the break point of the trapezoidal pattern of ZMPrec is determined in advance as described above.
  • the trapezoid height acyc2 of rec is the same value.
  • the initial body posture angular velocity obtained by solving the simultaneous equations of equations 37 and 37b including those unknowns is calculated as the new initial body posture angular velocity.
  • the terminal body posture angular velocity of Equation 37 b is the unknown body posture angular velocity. It has been converted.
  • the body posture angular acceleration / 3 is changed so as to generate the body tilt restoration moment ZMP converted value (ZMPrec) pattern as described above.
  • the body posture angle acceleration 3) is given by the following equation.
  • the terminal body horizontal velocity when the body posture angle acceleration 0 is changed so as to generate the body tilt restoration moment ZMP conversion value (ZMP rec) pattern as described above is From the time Ts to Te, the final body horizontal velocity when no ZMP converted value (ZM Prec) pattern is generated, that is, the end value of the horizontal body velocity obtained in S414. It is obtained as the sum of the first-order integration of (ZM Prec * Fz ⁇ ) up to.
  • the end body horizontal position is Moment ZMP converted value (ZM Prec)
  • the terminal body horizontal position when the pattern is not generated that is, the terminal value of the body horizontal position obtained in S414, is calculated as (ZM Prec * FzZ) from time Ts to Te. ⁇ ) is obtained as the sum of the second-order integrals.
  • the process proceeds to S314, and the anti-phase arm swing recovery angular acceleration (jS arec) pattern is determined so that the anti-phase arm swing angular velocity coincides with the initial and terminal positions.
  • the antiphase arm swing restoration angular acceleration pattern was set as shown in Fig. 36.
  • the shape is set, and the trapezoid height azcyc2 during the period from time Tm to Ts2 and the trapezoid height azcycl during the period from time Tm2 to Te are the same.
  • the trapezoid heights azcycl and azcyc2 are determined so that the sum of the vertical phase component Mz and the integral value of the antiphase arm swing acceleration 3a obtained above so as not to exceed the allowable range becomes zero. Note that the trapezoid heights in both sections do not have to be the same.
  • the floor reaction force moment vertical component (Mazrec) generated by the antiphase arm swing restoration angular acceleration pattern determined in this way is as shown in Fig. 37. Therefore, the vertical component Mz of the floor reaction force moment generated by the movement of the mouth pot including the arm swinging out of phase, finally, as shown in Fig. 38, Mztmp in Fig. 32 and Maz in Fig. 34
  • the sum of 37 and Mazrec that is, the sum of Mz in Figure 33 and Mazrec in Figure 37.
  • a trapezoidal restoring moment is added.However, these periods are set to periods in which the allowable range is sufficiently wide.
  • the floor reaction force moment vertical component generated by the movement of the mouth pot including the antiphase arm swing does not exceed the allowable range.
  • initial antiphase arm swing angular velocity is determined by the following equation ( initial antiphase arm swing angular velocity
  • the antiphase arm swing angle when] 3 ar ec is 0 is the antiphase arm swing angle (antiphase arm swing angle at time Te) obtained in S 4 16.
  • the second-order integral of ⁇ arec is the second-order integral of the antiphase arm swing restoration angular acceleration from time Ts to Te set as shown in Fig. 36.
  • the reference initial antiphase arm swing angular velocity is a value at the time Ts of the reference antiphase arm swing angular velocity (first-order differential value of the reference antiphase arm swing angle 0 aref).
  • the initial anti-phase arm swing angle may be made to match the reference initial anti-phase arm swing angle, or the finally determined anti-phase arm swing angular acceleration (that is, the floor reaction force moment vertical component Mz is within the allowable range) Based on the calculated anti-phase arm swing acceleration ⁇ a and the restored angular acceleration 3 arec) to prevent the initial anti-phase arm swing angular velocity and the initial anti-phase arm swing angular velocity obtained above, the initial anti-phase arm swing angle is used as a reference. The average value of the difference between the arm swing angle and the reference anti-phase arm swing angle calculated when it is made to coincide with the initial anti-phase arm swing angle, or the average value of the maximum value and the minimum value of the difference, was obtained.
  • a value obtained by subtracting half of the average value from the reference initial antiphase arm swing angle may be determined as the final initial antiphase arm swing angle.
  • Another reason for setting the times Ts, Tm, Ts2, and Tm2 as described above is that, in the period from the time Tm to Ts2 and the period from the time Tm2 to Te, the antiphase arm swing angular velocity is set to the reference antiphase arm. Even if anti-phase arm swing angular acceleration / 3a is generated so as to return to the initial angular velocity of the swing angle trajectory, the floor reaction moment vertical component Mz does not exceed the allowable range [Mzmin, Mzmax]. is there. In other words, during the period from time Tm to Ts2 and the period from time ⁇ 2 to Te, the allowable range of the floor reaction force moment vertical component is sufficiently large, so that the antiphase arm swing is returned to return the antiphase arm swing angular velocity. Even if the angular acceleration i8a is generated, the floor reaction force moment vertical component Mz does not exceed the allowable range.
  • the process proceeds to S210 of FIG. 23, and the generated upper body horizontal position / velocity of the generated gait (assumed normal gait) ′ is It is converted into a value viewed from the support leg coordinate system ( ⁇ '", ⁇ '", ⁇ '"coordinate system in Fig. 17) corresponding to the support leg at that moment, and the value is expressed as (X e, VX e). Yes (Xe: end body horizontal position, Vxe: end body horizontal velocity).
  • the process proceeds to S 2 14, and the calculated body horizontal position / velocity boundary condition error is calculated. It is determined whether (errx, errvx) is within an allowable range set in advance as appropriate. Instead of setting the allowable range of the body horizontal position / velocity boundary condition error as described above, the difference between the initial divergence component (Xs + VxsZcO) and the terminal divergence component (Xe + VxeZcoO), Alternatively, it may be determined whether or not the difference between the initial convergence component (X s — VX s / ⁇ ⁇ ) and the terminal convergence component (X e — VX e ⁇ ') is within a certain allowable range. 0, ⁇ 'is a predetermined value as described above.
  • S216 a plurality of (two in the present embodiment) initial value candidates (Xs + AXs, VXs), (Xs, Vxs + AV) are located near (Xs, VXs). xs) is determined.
  • AXs and AVxs mean predetermined small changes with respect to Xs and Vxs, respectively. Then, using each of these initial value candidates as the initial state of the body horizontal position / velocity, a normal gait is generated using the gait parameters by the same processing as in S208.
  • the end body position and velocity of the generated normal gait are calculated from the supporting leg coordinate system ( ⁇ ”', ⁇ '”, ⁇ ”'coordinate system corresponding to the supporting leg at that moment).
  • the values converted to the observed values (Xe + AXel, Vxe + AVxe1), (Xe + ⁇ Xe2, Vxe + ⁇ Vxe2) are obtained, where (Xe + AX el, V xe + ⁇ V xe 1) means the terminal body position velocity corresponding to (X s + AX s, Vx s), and (X e + AX e 2, V xe + AV xe 2) Means the terminal body position velocity corresponding to (X s, V xs + ⁇ V xs) In this case, in the process of generating a normal gait (temporary gait), the body horizontal position velocity
  • the initial state of the other variables (state at time T s) may be set to be the same as, for example, the case where the
  • each initial value candidate and the corresponding final The difference between the body position and velocity, i.e., the initial value candidates (X).
  • the body horizontal position / velocity boundary condition error corresponding to each of (s + AXs, Vxs) and (Xs, Vxs + ⁇ Vxs) is obtained.
  • the body horizontal position / velocity boundary condition error for each of (Xs, VXs) and nearby initial value candidates (Xs + AXs, VXs), (Xs, Vxs + AVxs) The sensitivity matrix that indicates the degree of change of the body horizontal position / velocity boundary condition error when the body horizontal position and body horizontal velocity are slightly changed from the initial value candidates (Xs, VXs) respectively is calculated. Based on the sensitivity matrix, initial value candidates (X s, VX s) that further reduce the body horizontal position / velocity boundary condition error are newly determined. Then, after the new initial value candidates (Xs, Vxs) of the body horizontal position / velocity are determined in this way, the process returns to S206.
  • (X0, V0) and (Z0, Vz0) are the body inclination restoring moment ZMP converted value pattern determined in S310, and the initial value of the normal gait at time Ts.
  • a gait was generated to satisfy the gait conditions based on the body posture angle and angular velocity, and the body horizontal position velocity (Xs, Vxs) at time Ts after the loop of S204 was removed.
  • the vertical position and velocity are defined as the support leg coordinate system corresponding to the support leg of one step starting from time Tcyc (that is, the first turning gait for the second time) ( ⁇ "', ⁇ '", ⁇ '"coordinates in Fig. 17).
  • the body posture angle and the angular acceleration determined at the moment are calculated using the support leg coordinate system (X ′ ′′, ⁇ in FIG. 17) corresponding to the support leg of one step starting from time Tcyc (ie, the first turning gait for the second time). '", ⁇ '" coordinate system).
  • is a certain value as described in the explanation about divergence.
  • the initial antiphase arm swing angle and the angular velocity (0 az0, azO) at the original initial time 0 are obtained.
  • azO, oazO) ' is the antiphase arm swing restoration angular acceleration pattern determined in S314 and S316, the initial phase of the normal gait (time Ts), and the antiphase arm swing angle.
  • the anti-phase arm swing angle trajectory is determined so that the component does not exceed the allowable range.
  • the reference anti-phase arm swing angular acceleration ⁇ aref and anti-phase arm swing Restoring angular acceleration; when the antiphase arm swing angle trajectory is determined so that the sum of Sarec is generated)
  • time k The antiphase arm swing angle and angular velocity determined when Tcyc (time Te—Ts)
  • Tcyc time Te—Ts
  • the foot trajectory parameters of the current time gait are set so that the foot position / posture trajectory of the current time gait is connected to the foot position / posture trajectory of the normal gait.
  • the initial gait initial swing leg foot position / posture (the initial value of the current gait swing leg foot position / posture) is the current swing leg position / posture viewed from the gait support leg coordinate system.
  • the current gait initial support leg foot position / posture (the initial value of the current time gait support leg foot position / posture) is the current support leg foot position / posture viewed from the current time gait support leg coordinate system (previous gait end support leg) (Foot position / posture).
  • the foot position and posture of the free gait end of the current time gait is calculated using the coordinate system of the next time's gait support leg as viewed from the current time's gait support leg coordinate system. ). That is, from the gait end free leg foot position and posture, the foot 22 was rotated until almost the entire bottom surface thereof touched the ground so that the free leg foot 22 was kept in contact with the floor and did not slip. At this time, the current gait end free leg foot position / posture is determined so that the representative point of the foot 22 coincides with the origin of the next time gait support leg coordinate system viewed from the current time gait support leg coordinate system. You.
  • the support leg foot 22 is off the floor and in the air.
  • Support leg foot 22 In order to determine the trajectory after the foot 2 has left the floor, the planned landing position and posture of the support leg foot are set.
  • the planned landing position / posture of the support leg foot corresponds to the coordinates of the next-time gait support leg viewed from the coordinates of the gait support leg this time (the required value of the free leg foot position / posture of the second step related to the current time's gait). Is set. More specifically, support legs The foot landing scheduled position / posture is determined by rotating the foot 22 from the position / posture until the foot 22 touches the floor so that almost the entire bottom surface of the foot 22 touches the floor while keeping the foot 22 in contact with the floor. The representative point of the foot 22 is set to match the origin of the next-time gait support leg coordinates viewed from the current time gait support leg coordinates.
  • the current gait end support leg foot position / posture is calculated from the current support leg position / posture (current gait initial support leg foot position / posture) to the foot landing scheduled position / posture corresponding to the next time gait support leg coordinate system (as described above).
  • the foot position / posture trajectory leading to the second leg's free leg side foot landing position / posture in the evening of the parameter is calculated using the finite time settling filter described above until the end of the gait.
  • the flow advances to S602, where the parameters of the reference body posture trajectory of the gait this time are determined in the same manner as the first turning gait / the second turning gait of the normal gait.
  • the reference body posture trajectory of the current time's gait is continuously connected to the reference body posture trajectory of the normal gait.
  • the reference body posture angle and angular velocity at the end of the current time's gait are respectively The above parameters are set to match the body posture angle and angular velocity.
  • the reference body posture regarding the inclination angle is a steady vertical posture in both the current time gait and the normal gait.
  • the reference arm posture trajectory parameter of the current time's gait is determined in the same manner as the first turning gait / the second turning gait of the normal gait.
  • the initial reference arm posture and the rate of change of the gait this time match the current instantaneous values of the reference arm posture and the change rate, and the arm posture trajectory of the current time gait is continuous with the arm posture trajectory of the normal gait.
  • the arm posture trajectory parameters determined here are the same as in the case of the determination of the normal gait parameters (S104 in Fig. 15).
  • the center of gravity of the entire arms 5, 5 (the upper body)
  • the relative positions of the left and right hands (tips of both arms 5, 5) in the left-right direction and the parameters of the antiphase arm swing angle are determined.
  • the position of the center of gravity of both arms 5, 5 is Set to be kept constant for 3.
  • the floor reaction force vertical component trajectory parameter of the gait this time is defined by the parameter parameter, as in the case of the first turning gait ⁇ the second turning gait of the normal gait.
  • the floor reaction force vertical component trajectory is set so as to be a substantially continuous trajectory (values do not fly stepwise) as shown in FIG.
  • the floor reaction force vertical component trajectory parameters are determined so that both the vertical position velocity of the overall center of gravity of the gait and the floor reaction force vertical component trajectory are continuously connected to the normal gait.
  • the position of the normal gait in the normal gait viewed from the gait support leg coordinate system is calculated from the upper body of the normal gait obtained in S224.
  • the vertical velocity of the upper body mass of the model in Fig. 12 corresponding to the vertical velocity VzO "and the vertical velocity of each foot at the beginning of the normal gait are converted to the values viewed from the gait support leg coordinate system this time.
  • the floor reaction force vertical component pattern (more specifically, the parameter value) of the gait this time is determined so as to satisfy the relationship of Equations 41a and 41b.
  • the ⁇ component in Equations 41a and 41b is the integral value during the period from the beginning to the end of the current time's gait.
  • Equation 4 1a Vertical velocity of the entire center of gravity at the end-Vertical velocity of the initial overall center of gravity
  • Equation 4 1 b the gravitational acceleration is a negative value.
  • the value of the unknown variable is determined by solving a system of equations consisting of equations 41a and 41b.
  • the height (peak value of the vertical component of the floor reaction force) and width (one leg support period) of the trapezoid in Fig. 6 are selected as parameters of the floor reaction force vertical component as unknown variables.
  • the inclination of both sides of the trapezoid in Fig. 6 should be a value determined in advance according to the gait cycle this time, or the floor reaction force vertical component pattern excluding the time of transition from the one-leg support period to the air period.
  • the time of the point is a value determined in advance according to the current time's gait cycle and the like.
  • the floor reaction force horizontal component allowable range [Fxmin, Fxmax] (specifically, the parameter that defines the pattern of the floor reaction force horizontal component allowable range) is the first time in the normal gait. 1 turning gait / 2nd turning gait.
  • the floor reaction force horizontal component allowable range is set in a pattern as shown in FIG.
  • the floor reaction force horizontal component allowable range is set based on the above equation 12 according to the floor reaction force vertical component pattern previously determined in S606.
  • the floor reaction force moment vertical component allowable range [Mzmin, Mzmax] (specifically, a parameter defining the pattern of the floor reaction force moment vertical component allowable range) is calculated as the normal gait.
  • First turning gait ⁇ Set in the same way as the second turning gait.
  • the floor reaction force moment vertical component allowable range is set in a pattern as shown in FIG.
  • the floor reaction force moment vertical component allowable range is set on the basis of the above-mentioned expression 1102 according to the floor reaction force vertical component pattern previously determined in S606.
  • the ZMP trajectory of the gait of this time (specifically, the time and position of the break point of the trajectory in the parameters for defining the ZMP trajectory) is the first turning gait of the normal gait ⁇ ⁇
  • the setting is made as shown in FIG. 7 so that the stability margin is high and no sudden change occurs.
  • the above parameters are set so that the ZMP trajectory of the current time gait is continuously connected to the ZMP trajectory of the normal gait.
  • ZMP The ZMP trajectory parameters—evening are determined so that the position matches the initial ZMP position of the normal gait.
  • the method of setting the time and position of the break point of the ZMP trajectory during the one-leg support period may be the same as the method of setting the ZMP trajectory parameters of the normal gait described above. Then, the ZMP trajectory parameters should be set so that the target ZMP trajectory in the aerial period changes linearly and continuously from the start of the aerial period to the ZMP position at the beginning of the normal gait. .
  • the parameters of the ZMP trajectory of the current time's gait determined in S612 are only provisionally determined and will be corrected as described later. Therefore, the ZMP trajectory of the current time's gait set above will be referred to as the temporary target ZMP trajectory of the current time's gait.
  • the body posture angle and antiphase arm swing angle restoration period [Ta, Tb] is set.
  • the body posture angle and antiphase arm swing angle restoration start time Ta is equivalent to Tm in the second turning gait of the normal gait
  • the body posture angle and antiphase arm swing angle restoration completion time Tb is the normal gait This is equivalent to Ts2 in the second turning gait.
  • the method of setting these times Ta and Tb is the same as the method of setting Tm and Ts2, respectively.
  • the gait of the current time's gait The parameters (Z MP trajectory parameters) are modified, and the parameters regarding the antiphase arm swing angle are determined.
  • the ZMP trajectory parameters were corrected to make the upper body posture trajectory continuous or close to the normal gait, and the antiphase arm swing angle was changed to the antiphase arm swing angle trajectory of the normal gait.
  • the parameters related to the antiphase arm swing angle of the current time's gait are determined so as to converge.
  • FIG. 42 is a subroutine flow chart showing the processing. First, the process proceeds to S702 through S700, and a temporary current time gait up to the current time gait end time is temporarily generated based on the temporary target ZMP pattern and other current time gait parameters.
  • the terminal state of the previous target gait (more specifically, the gait state such as the body horizontal position speed, the body vertical position speed, the body posture angle and its angular velocity, the target foot position / posture, the target arm posture, etc.) Is converted to the supporting leg coordinate system this time, and this is the initial state of the current time's gait.
  • the target arm posture includes the target antiphase arm swing angle and angular velocity.
  • S804 it is determined in S804 whether the provisional gait generation time k is before the current gait end time Tcurr (whether k ⁇ Tcui'r). If the determination result is YES, the process proceeds to the current time gait instantaneous value determination subroutine of S806, and the instantaneous value of the current time's gait at time k is determined.
  • a provisional gait is generated as shown in FIG. However, this time's gait parameters are used instead of the normal gait parameters as the gait parameters.
  • the process proceeds to S706, where the terminal divergence component error, which is the difference between the gait terminal divergence component Q0 [k] and the normal gait initial divergence component q "(determined in S224 of FIG. 23) errq is obtained using the equation shown: Further, the process proceeds to S708, and it is determined whether or not the obtained terminal divergence component error errq is within an allowable range (a range near 0).
  • a ⁇ a ( ⁇ a is a predetermined minute amount)
  • a trapezoidal shape is formed on the current temporary target ZMP pattern according to the relationship shown in FIG.
  • 1) calculate the provisional current time gait up to the end in the same manner as in S702.
  • the gait terminal divergence component is made to match the normal gait initial divergence component as much as possible (the body horizontal position / posture trajectory of the current gait is changed to the body horizontal position of the normal gait) This is the height of the trapezoidal pattern used to correct the tentative target ZMP in order to approach the orbit.
  • the correction of the provisional target ZMP is performed during a period in which almost the entire bottom surface of the support leg foot 22 is in contact with the ground (a period in which the sole is fully grounded), that is, the allowable range of the floor reaction force horizontal component is sufficient.
  • the time of the break point of the trapezoidal pattern is set in accordance with the time of the break point of the provisional target ZMP during the period of contact with the entire sole.
  • ⁇ a is a small constant that is appropriately set in this embodiment.
  • ⁇ a becomes smaller as the terminal divergence component error errq becomes smaller through the repetitive calculation described below.
  • the ⁇ a may be set so as to decrease.
  • the terminal divergence component error errq can be kept within an allowable range by several repetition operations. Then, the process proceeds to S 714, where the parameter sensitivity r (the rate of change of the terminal divergent component error with respect to ⁇ a) is obtained from the equation shown.
  • a — errqZr, that is, the value obtained by dividing the terminal divergence component error errq obtained in S 706 by the parameter sensitivity r.
  • the temporary target ZMP pattern is corrected by adding the correction amount of the trapezoidal pattern to the temporary target ZMP pattern according to the relationship shown in FIG. 44 (a new temporary target ZMP pattern is determined).
  • the body posture restoration moment of this gait Z MP converted value (Z MPrec) pattern is determined.
  • the Z MPrec determined here is used during the generation of the instantaneous gait instantaneous value, described later, during the period in which the floor reaction water water allowable range is sufficiently large (the period during the one-leg support period).
  • This ZMPrec is a trapezoidal pattern similar to that described in the normal gait generation processing, and is specifically determined as follows.
  • the trapezoidal pattern of Z MPrec of the current time's gait is set, and the time of the apex (break point) of the trapezoid is known ( More specifically, the trapezoidal break point time is set to the target ZMP breakpoint time), and the trapezoid height is set to an unknown value, and the trapezoidal height (parameter set) of ZMPrec is calculated as follows.
  • the time at which the trapezoidal pattern of Z MPrec starts rising is Ta
  • the time at which the trapezoidal pattern returns to 0 is Tb.
  • both the body posture angle and the body posture angular velocity at the end of the gait this time are the normal gait. In general, it is not possible to connect them continuously. Therefore, in the present embodiment, the unknown parameters are determined so that the state of the generated gait gradually approaches the state of the normal gait over a plurality of steps.
  • the ZM Prec pattern in one gait is complicated, the number of unknown parameters is set to two or more, and both the body posture angle and the body posture angular velocity at the end of the gait are in a regular gait. It may be connected continuously, but the Z MPrec pattern may fluctuate too much zigzag.
  • the current time's gait is generated with the trapezoid height of the ZM Prec pattern as a certain value bcurr, and that the first turning gait is subsequently generated by the same algorithm as the current time's gait.
  • the body posture restoration momentum of the first turning gait ZMP converted value ZM Prec pattern is the ZMP rec pattern of the first turning gait determined in S310 of FIG. Is the sum of the trapezoidal pattern in FIG. 30) and a certain value bl.
  • the gait generated in this way is called a ZM Prec corrected gait, and its end (end of the first turning gait) is the body posture angle and the angular velocity are ⁇ 1 and ⁇ 1, respectively.
  • the original normal gait obtained when the subroutine processing for obtaining the initial state of the normal gait in S024 is completed (the normal body gait initial body posture angle and the normal gait finally determined in S310)
  • End of the first turning gait of the ⁇ ⁇ ⁇ rec pattern (normal gait in the case of the trapezoidal pattern in Fig. 30 where the height is acycl) determined in S310 with the angular velocity as the initial value
  • the body posture angle and the angular velocity are S lorg and v01org, respectively.
  • ⁇ 0 1 and ⁇ 0 1 are defined as follows.
  • ⁇ 1 ⁇ 1— ⁇ lovg... Equation 5 0
  • ⁇ 1 ⁇ ⁇ 1- ⁇ ⁇ lorg ... Equation 5 1
  • ⁇ 01 and ⁇ 01 mean the difference between the body posture angle and the angular velocity between the ZM Pi'ec corrected gait and the original normal gait at the time when it is generated up to the end of the first turning gait. . If ⁇ 0 1 and ⁇ 1 become 0, the ZM Prec corrected gait is followed by the same algorithm as the current time's gait, with the trapezoidal height of the ZM Prec pattern as the acyc2 for the second orbit. When a gait is generated, this gait matches the original normal gait. 4009470
  • the current gait trapezoid height bcurr and the first turning gait trapezoid height bl at which ⁇ 1 and ⁇ 01 become 0 are obtained, and finally the obtained bcurr is determined as the trapezoid height of the current time gait. good.
  • ⁇ 01 and ⁇ 01 are the gait trapezoid height bcurr, 1Turning trapezoid height bl, difference between the body posture angle at the end of the provisional current time gait and the initial body posture angle of the normal gait ⁇ err, the terminal body posture angular velocity of the provisional current time gait and the initial state of the normal gait It has the following relationship with the body posture angular velocity difference v0 err.
  • Equation 5 2 c difference 0 err the difference V err angular velocity of the body posture angle at the boundary of the provisional current time gait and the normal gait are determined then Equation 5 2, 5
  • the coefficients cll, cl2, c21, c22, el, and e2 in step 3 are the gait cycle of this time's gait, the first gait gait, the body posture restoring moment Z MP converted value Z MPrec (Especially over time related to time).
  • the current gait trapezoid height bcurr first turning gait trapezoid height bl is determined so that the right sides of Equations 52 and 53 become 0. That is, by solving the simultaneous equations with the left-hand sides of Equations 52 and 53 set to 0, bcurr and bl become 4009470
  • the trapezoidal height of the trapezoidal pattern of the body posture restoring moment ZMP converted value (ZMPrec) of the current time's gait is set to the current time's gait trapezoidal height bcurr obtained above.
  • the process proceeds to S720, where the current provisional target ZMP pattern (the provisional target ZMP pattern obtained when the processing exits the repetition loop of S700) is obtained as described above in S710.
  • the pattern obtained by adding the body posture restoring moment ZMP conversion value pattern is determined as the target ZMP pattern of the current time's gait. This process is the same as the process of adding a trapezoidal pattern having a height of mu a to the tentative target ZMP pattern in S710.
  • the provisional current time gait generated in the loop of S700 is generated by setting the body posture restoration moment ZMP conversion value ZM Prec to 0 (the height parameter of the trapezoidal pattern of ZMP rec is set to 0). Things.
  • the body position velocity is continuous with or close to the normal gait, but the body posture angle is the normal gait It deviates from the upper body posture angle and may diverge in some cases.
  • the body posture restoring moment ZMP converted value pattern obtained in S 718 generates a body posture angular acceleration to make the deviation of the body posture angle from the normal gait close to zero.
  • the body posture restoring moment obtained in S718 The body posture according to the ZMP converted value pattern
  • the dynamic equilibrium condition the combined force of the gravitational force of the mouth pot and the inertial force becomes zero at the moment acting on the target ZMP except for the vertical component
  • the body horizontal position trajectory must be displaced from the temporary body gait of the temporary body gait. Therefore, in this embodiment, the provisional target ZMP pattern is corrected by ZMP rec so that the body horizontal position trajectory does not need to be shifted from the one finally obtained in the loop of S700. did.
  • the body posture restoration moment calculated in S 718 In addition to the motion of the provisional current time's gait, the body posture restoration moment calculated in S 718 generates a body posture angular acceleration corresponding to the ZMP conversion value pattern, and ZMP (gravity and inertia generated by the motion) The point where the moment excluding the vertical component of the resultant force becomes 0) is shifted by the body posture restoration moment ZMP converted value. Therefore, conversely, a pattern obtained by adding the body posture restoration momentum ZMP converted value pattern to the tentative target ZMP pattern as the target ZMP pattern is used as the body posture restoration moment small ZMP obtained in S 718. If the current time gait that satisfies the target ZMP pattern is generated while generating the body posture angular acceleration corresponding to the converted value pattern, the same body translational motion as the temporary current time gait It becomes.
  • ZMP gravitation and inertia generated by the motion
  • the above is the reason why the pattern obtained by adding the body posture restoring moment ZMP converted value pattern to the temporary target ZMP pattern is used as the target ZMP pattern.
  • the inverted phase arm swing restoration angular acceleration pattern is determined so that the inverted phase swing arm trajectory of the gait approaches the antiphase arm swing angle trajectory of the normal gait.
  • the method of determining this pattern is almost the same as the method of determining the body posture restoring moment ZMP conversion value pattern in S718, except that the variable names are different as follows.
  • Body posture restoring moment Z MP converted value-anti-phase arm swing restoring angle acceleration pattern Horizontal component-Moment vertical component The details will be described below.
  • the anti-phase arm swing restoration angular acceleration pattern determined here is used during the generation of the instantaneous gait instantaneous value, which will be described later. During this period, the anti-phase arm swing angle trajectory is modified so that it can be connected (closed) to the normal gait.
  • This anti-phase arm swing restoration angular acceleration pattern is a trapezoidal pattern, similar to that described in the normal gait generation processing, and is specifically determined as follows.
  • the trapezoidal pattern of the anti-phase arm swing restoration angular acceleration of the gait is set this time,
  • the time at (breakpoint) is known (more specifically, the time at the breakpoint of the trapezoid is set to the breakpoint time of the target ZMP), and the height of the trapezoid is unknown, and the antiphase arm is The trapezoidal height (parameter) of the swing restoration angular acceleration is required.
  • the time when the trapezoidal pattern of the antiphase arm swing restoration angular acceleration starts to rise is Ta, and the time when the trapezoidal pattern returns to 0 is Tb.
  • both the anti-phase arm swing angle and the anti-phase arm swing angular velocity are continuously applied to the normal gait. Generally, they cannot be connected. Therefore, in the present embodiment, the unknown parameters are determined so that the state of the generated gait gradually approaches the state of the normal gait over a plurality of steps.
  • the anti-phase arm swing restoration angular acceleration pattern in one gait is complicated, the unknown parameters are set to two or more, and the anti-phase arm swing angle, anti-phase arm swing angular velocity and Connect both to a normal gait continuously
  • the anti-phase arm swing restoration angular acceleration pattern will fluctuate too much zigzag.
  • the terminal antiphase arm swing angle of the provisional current time gait and the initial antiphase arm swing angle of the normal gait obtained by setting the trapezoidal height of the antiphase arm swing restoration angular acceleration pattern to 0 in S702 And determine this as 0 azerr. Also, the difference between the terminal antiphase arm swing angular velocity of the provisional current time gait and the initial antiphase arm swing angular velocity of the normal gait is obtained, and this is defined as v0 zerr.
  • the current time's gait is generated with the trapezoidal height of the antiphase arm swing restoration angular acceleration pattern as a certain value bzcurr, and subsequently, the first turning gait is generated by the same algorithm as the current time's gait.
  • the anti-phase arm swing restoring angular acceleration pattern of the first turning gait is the anti-phase arm swing restoring angular acceleration pattern (the height is the azcycl The trapezoidal pattern shown in Fig. 36) and a certain value bzl.
  • the gait generated in this manner is called an anti-phase arm swing restoration angular acceleration corrected gait, and its end (end of the first turning gait) has the anti-phase arm swing angle and angular velocity of 0 zl and ⁇ , respectively. ⁇ zl.
  • ⁇ zl and ⁇ v0 zl are defined as follows.
  • ⁇ 0 ⁇ 1 and ⁇ 0 ⁇ 1 are the difference of the anti-phase arm swing angle between the anti-phase arm swing restoration angular acceleration corrected gait and the original normal gait up to the end of the first turning gait. It means the difference in angular velocity. If the values 0 zl and ⁇ 0 ⁇ 1 become 0, following the anti-phase arm swing restoration angular acceleration gait, the trapezoidal height of the anti-phase arm swing restoration angular acceleration pattern is calculated using the same algorithm as this time's gait. When the second turning gait is generated as azcyc2, this gait matches the original normal gait.
  • the current gait trapezoid height bzcurr and the first turning gait trapezoid height bzl at which ⁇ 0 ⁇ 1 and ⁇ ⁇ become 0 are obtained, and the obtained bzcurr is finally determined as the trapezoid height of the current gait. good.
  • ⁇ zl and ⁇ ⁇ are the gait trapezoid height bzcurr .
  • the first turning gait trapezoid height bzl the difference between the terminal antiphase arm swing angle of the provisional current time gait and the initial antiphase arm swing angle of the normal gait ⁇ zerr It has the following relationship with the difference v0 zerr of the initial antiphase arm swing angular velocity of the normal gait.
  • ⁇ v0zl cz21 * bzcurr + cz22 * bzl + ez2 * vGzerr
  • Equation 1 053 where czll, czl2, cz21, cz22, ezl, and ez2 are the parameters of this time's gait, the gait cycle of the first turning gait, and the antiphase arm swing restoration angular acceleration pattern (special This is a coefficient that is uniquely determined by parameters related to time.
  • the coefficients czll, czl2, cz21, cz22, ezl, and ez2 of the equations 1052 and 1053 are the gait of this time, the gait cycle of the first turning gait, and the antiphase arm swing recovery angle. It can be obtained based on the parameters of the acceleration pattern (especially parameters related to time).
  • Equations 1052 and 1053 become 0. That is, bzcurr and bzl can be obtained by solving simultaneous equations with the left-hand side of Equations 105 and 103 set to 0.
  • the trapezoidal height of the trapezoidal pattern of the antiphase arm swing restoration angular acceleration of the current time's gait is set to the current time's gait trapezoidal height bzcurr obtained above.
  • the subroutine of FIG. 45 is executed.
  • the same processing from S400 to S411 in FIG. 25 is performed from S1400 to S1141 in FIG. 45, and then the subroutine of S144
  • the processing of S1000 to S10018 in FIG. 46 is performed.
  • the value of the reference body angle at the current time is substituted for the target body angle. Also, the value of the reference arm posture at the current time is substituted for the target arm posture except for the arm posture antiphase arm swing angle and angular velocity.
  • the routine proceeds to S102, where the body angular acceleration (body tilt angular acceleration) 3 is determined by the equation shown in the figure.
  • the flow advances to S1018, where the floor reaction force water when the body horizontal acceleration is ⁇ is determined as Fx. Then, the process proceeds to S144, where the body horizontal acceleration and the body posture angular acceleration are integrated to calculate the body horizontal velocity and the body posture angular velocity (body inclination angular velocity). This is further integrated to determine the body horizontal position and body posture (body tilt angle). Note that, in the present embodiment, one angle of the upper body of the upper body posture is determined to be a reference upper body angle.
  • the above is the target gait generation processing in the gait generator 100.
  • the desired gait is generated as described above.
  • the desired body position / posture (trajectory) and the desired arm posture (trajectory) are sent to the robot geometric model (inverse kinematics calculation unit) 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) (target floor reaction force horizontal component and target floor reaction force vertical component) Is sent to the composite compliance operation determination unit 104 and also sent to the target floor reaction force distributor 106.
  • the desired floor reaction force distributor 106 distributes the floor reaction force to the feet 22 R and 22 L, and determines the desired foot floor reaction force center point and the desired foot floor reaction force. You.
  • the determined target floor floor reaction force center point and the target foot floor reaction force are sent to the composite compliance operation determination unit 104.
  • Modification with mechanism deformation compensation from compound compliance operation determination unit 104 The desired foot position / posture (trajectory) is sent to the lopot geometric model 102.
  • the robot body geometry model 102 is input with the desired body position / posture (trajectory) and the corrected target foot position / posture (trajectory) with mechanical deformation compensation, the legs 2 and 2 satisfying them are obtained.
  • the joint displacement command (value) of each joint (10 R (L), etc.) is calculated and sent to the displacement controller 108.
  • the displacement controller 108 controls the displacement of the 12 joints of the mouth port 1 with the joint displacement command (value) calculated by the mouth port geometric model 102 as a target value.
  • the robot geometric model 102 calculates a displacement specification (value) of the arm joint that satisfies the target arm posture and sends it to the displacement controller 108.
  • the displacement controller 108 controls the displacements of the 12 joints of the arm of the robot 1 with the joint displacement command (value) calculated by the mouth pot geometric model 102 as a target value.
  • the floor reaction force generated in the robot 1 (specifically, the actual floor reaction force of each foot) is detected by the 6-axis force sensor 50.
  • the detected value is sent to the composite compliance operation determination unit 104.
  • the posture inclination angle deviation 0 errx, erry erry of the actual body posture angle deviation (deviation between the target body posture and the actual body posture (actual posture of the body 3)) generated at the mouth port 1 (Specifically, it is the deviation of the inclination angle of the actual body posture with respect to the vertical direction from the inclination angle of the target body posture with respect to the vertical direction, and the posture inclination angle deviation in the roll direction (around the X axis) is 0 errx.
  • the attitude inclination angle deviation in the pitch direction (around the Y axis) is Serry), which is detected via the attitude sensor 54, and the detected value is sent to the attitude tilt stabilization control calculation unit 112. .
  • This posture tilt stabilization control calculation unit 1 1 2 compensates for the desired total floor reaction force center point (target ZMP) for restoring the actual body posture angle of mouth port 1 to the target body posture angle.
  • the total floor reaction force moment horizontal component is calculated and sent to the composite compliance operation determination unit 104. More specifically, in this embodiment, the compensation total floor reaction force moment horizontal component
  • Mdmdxy is determined by the following equation using, for example, a PD control law. Compensated total floor anti-camouflage horizontal component Mdmdxy.
  • the body posture inclination angular velocity deviation is a time differential value of the body posture inclination angle deviation, and means a deviation of the actual body posture inclination angular velocity from the target body posture inclination angular velocity. More specifically, the body posture inclination angle deviation is defined as the posture inclination angle deviation in the roll direction (around the X axis) of the body 3 of the mouth port 1, the posture inclination angle deviation in the pitch direction (around the Y axis), and the like. It is a vector consisting of
  • the angular deviation ⁇ errz of the actual body posture angle deviation generated in the robot 1 ⁇ errz (specifically, the posture angle deviation in the unidirectional direction (around the Z axis) of the actual body posture angle deviation) is ⁇ errz) is detected via the attitude sensor 54, and the detected value is sent to the ⁇ stabilization control operation unit 113.
  • the actual total floor reaction force center for converging the actual body angle and / or angular velocity of the mouth port .1 to the target body angle and Z or angular velocity is calculated.
  • the vertical component of the total floor reaction force moment around the point (target ZMP) is calculated and 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 target floor reaction force is corrected so that the compensated total floor reaction moment acts around the target total floor reaction force center point (target ZMP).
  • the compensation total floor reaction force moment vertical component Mdmdz is determined by the following equation using, for example, a PD control law. ' Compensated total floor anti-camoment vertical component Mdmdz 2 K 0 bz * body angle deviation
  • K0bz and Kbz are predetermined gains.
  • the upper body angular velocity deviation is a time derivative of the upper body angular deviation, and means a deviation of the actual body angular velocity from the target body angular velocity.
  • the composite compliance operation determining unit 104 corrects the desired floor reaction force based on the input value. Specifically, the target floor reaction force moment horizontal component is corrected so that the compensation total floor reaction force moment horizontal component acts around the target total floor reaction force center point (target ZMP), and the desired gait is further corrected. Target floor reaction force moment by adding the compensated total floor reaction force moment vertical component to the desired floor reaction force moment vertical component around the desired total floor reaction force center point (target ZMP) Correct the vertical component.
  • the composite compliance operation determination unit 104 sets the corrected target foot with the mechanical deformation compensation described above so that the corrected target floor reaction force matches the actual robot 1 state and the floor reaction force calculated from the sensor detection value and the like. Determine the flat position and attitude (trajectory). However, it is practically impossible to match all the states to the target, so a trade-off relationship between them should be given to make them compromise. That is, 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. As a result, 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 gist of the present invention lies in the generation of the gait of the mouth port 1 in the gait generator 1.00, and the structure of the composite compliance operation determination unit 104 described above.
  • the configuration and operation are described in detail in, for example, Japanese Patent Application Laid-Open No. 11-316661 filed by the present applicant, so that the description will be limited to the above.
  • the gait parameters of this time were, as described above, the terminal divergence component of the current time gait and the initial divergence component of the normal turning gait of £ 1 [0] viewed from the support leg coordinate system of the current time gait It is modified to match the value Q ".
  • the divergent component is the gait generated when a gait is generated according to the gait parameters this time using a dynamic model, and the gait is continuously generated as it is according to the normal turning gait parameters. This is an index for evaluating whether or not the horizontal position of the upper body converges on a steady turning gait.
  • the divergent component at the end of the current time's gait matches the Q ', which is the value of the steady-state initial divergent component q [0] as viewed from the support leg coordinate system of the current time's gait. Divergent components must be defined.
  • the divergent component defined by Equation 10 is actually a divergent component that approximately satisfies the above properties.
  • the generated gait when the gait is generated in accordance with the current gait parameters using the dynamic model, and the gait is repeatedly generated continuously according to the normal turning gait parameters, the generated gait It can be said that the gait parameters were modified this time so that the upper body horizontal position of the convergence (approach) to the upper body horizontal position of the normal turning gait. Strictly speaking, however, only the first turning gait immediately after this time's gait needs to be a gait corrected by the first turning gait trapezoid heights bl and bzl obtained as described above.
  • the gait combining the current time's gait and the first turning gait is regarded as the current time's gait
  • the gait is generated repeatedly as described above, This time the gait parameters are adjusted so that the upper body posture angle of the gait converged (approached) or coincided with the upper body posture angle of the normal gait consisting of the second turning gait and the first turning gait. Can be said to have been modified. This is similar to that of PCT Publication WOZ 02/40224.
  • the target ZMP pattern of the gait parameters of the current gait is corrected so as to satisfy the condition (the current gait approaches the normal gait). I made it.
  • the trajectory indicated by reference numeral B in FIG. 47 indicates the body horizontal position trajectory generated such that the divergent components coincide at the boundary of the gait as described above.
  • the trajectory indicated by the symbol A in the figure is the upper body when the current time's gait is generated so that the horizontal position and speed of the upper body at the boundary with the normal turning gait match, and then the normal gait is repeated.
  • the horizontal position trajectory is shown.
  • the trajectory indicated by reference sign B generally deviates from the trajectory indicated by reference sign A at the boundary between the current time's gait and the first steady turning gait, but then gradually indicated by reference sign A. It converges on (or approaches) the trajectory and almost coincides with the trajectory indicated by the symbol A in the next normal turning gait period. In this way, even with the gait generation method that matches only the divergent component at the gait boundary, the gait can be prevented from diverging similarly to the gait generation method that matches both the position and speed at the gait boundary.
  • the example indicated by reference numeral C in the figure shows an example in which the trajectory is generated without considering them. In such cases, the generated trajectories will diverge over time.
  • the target ZMP pattern may be complicated, and the parameters may be adjusted so that both the position and the speed match.
  • the target ZMP pattern may be zigzag.
  • the divergence component also coincides if both the position and velocity are matched. Therefore, the method of matching both the position and velocity can also be said to be a special case of the method of matching the divergence component.
  • a gait is generated according to the current time's gait parameter using the dynamic model, and when the gait is repeatedly generated continuously according to the normal turning gait parameter, the generated gait is 'The body posture angle converges (approaches) or agrees with the body posture angle of the normal turning gait 0
  • the floor reaction force horizontal component allowable range can be set independently for the front-rear direction (X-axis direction) component and the left-right direction (Y-axis direction) component.
  • a gait that is less likely to slip can be generated by expressing the relationship between the direction and the left-right direction.
  • a so-called friction circle may be set as an allowable range as in the following equation.
  • Equation 59 Fz is the desired floor reaction force vertical component is the friction coefficient, and ka is a positive constant of 1 or less.
  • the allowable range of the pair of the floor reaction force horizontal component and the floor reaction moment vertical component is set. You may make it set. As the horizontal component of the floor reaction force increases, the friction limit of the vertical component of the floor reaction camouflage decreases. Also, as the vertical component of the floor reaction force moment increases, the friction limit of the floor reaction force horizontal component decreases. Therefore, taking this into account By setting the allowable range of the combination of the horizontal component of the floor reaction force and the vertical component of the floor reaction force moment, an allowable range closer to the actual friction limit characteristics can be set. Specifically, an allowable range may be set for the weighted average of the absolute value of the floor reaction force horizontal component and the absolute value of the floor reaction force moment vertical component.
  • the overall center of gravity vertical acceleration of the robot is used instead of the floor reaction force vertical component trajectory as a gait parameter.
  • the parameter that stipulates may be explicitly set. It is essentially the same.
  • a parameter that defines the vertical acceleration trajectory of the part that behaves close to the total body weight trajectory of the mouth pot may be explicitly set. For example, when the mass of the legs is sufficiently smaller than the mass of the body, the vertical acceleration trajectory of the body and the vertical acceleration trajectory of the robot's center of gravity are almost the same or proportional.
  • the body vertical acceleration trajectory may be used instead of the component trajectory.
  • the robot's overall center of gravity horizontal acceleration and its An allowable range may be used instead of the floor reaction force horizontal component and its allowable range in this embodiment.
  • the parameters related to the horizontal acceleration trajectory of the part that behaves close to the overall center of gravity horizontal trajectory of the mouth pot may be explicitly set. For example, if the mass of the leg is sufficiently smaller than the mass of the body, the body horizontal acceleration trajectory and the robot's overall center-of-gravity horizontal acceleration trajectory are almost the same or proportional to each other.
  • the body horizontal acceleration and its allowable range may be used instead of the component and its allowable range.
  • the vertical component of the floor reaction force moment around the target ZMP and the vertical component of the angular momentum change rate of the entire mouth pot around the target ZMP are in a proportional relationship, the floor reaction force moment vertical component and its Tolerance Instead, the vertical component of the overall angular momentum change rate of the lopot and its allowable range may be used.
  • one of the motion modes is a motion mode that does not generate a floor reaction force horizontal component.
  • any floor reaction This is because a force horizontal component and a floor reaction force moment around the target ZMP can be generated.
  • an exercise mode other than the exercise mode for changing the body posture may be used.
  • a motion mode in which the tip positions of the left and right arms are swung in the same direction, or a motion mode in which the position of a foot that is not touching (present in the air) is perturbed may be used.
  • the landing position changes. Just before landing, the perturbation should return to substantially zero. It is needless to say that the exercise mode in which the tip positions of the right and left arms are swung in the same direction and the inverted arm swing mode may be used in combination.
  • three or more exercise modes may be used.
  • at least two of the selected motion modes must have different ratios of occurrence of the floor reaction force horizontal component and the floor reaction force moment around the target ZMP. . Otherwise, there is generally no solution to the system of equations (the behavior of each motion mode cannot be uniquely determined).
  • the upper body rotation mode instead of the antiphase arm swing mode. good.
  • the upper body rotation mode is used, the upper body 3 of the mouth pot 1 is connected to the waist (for example, the lower part of the member 54 in FIG. 1) and the upper part thereof (for example, FIG. 1). (Upper part of the 54 member) and the upper part should be provided so that it can rotate in the Y direction (for example, around the trunk axis of the upper body 3) with respect to the hip part. Is good Good. By doing so, it is possible to adjust the floor reaction force moment vertical component by rotating the upper part of the upper body 3 without affecting the posture of the legs 2, 2.
  • the rotation angle of the upper part of the body 3 may be fixed.
  • an anti-phase arm swing operation of the two arms 5, 5 may be added.
  • a motion mode for displacing parts other than the arm and the upper body may be used.
  • a mode in which the ends of the legs are moved back and forth may be used.
  • the anti-phase arm swing mode and the upper body single rotation mode may be used together.
  • the upper body rotation mode and the anti-phase arm swing mode use the floor reaction force moment vertical component so that the entire body weight position does not change (in other words, without generating the floor reaction force horizontal component).
  • the position of the center of gravity changes (in other words, a floor reaction force horizontal component is generated). This is because the floor reaction water can be adjusted by combining with the upper body translation mode.
  • the following model may be used in addition to the dynamic model (the dynamic model in FIG. 12) used in the above embodiment.
  • a nonlinear model (multi-mass model) in which masses are set for multiple links. Each link in this model includes an inertia Comment) may be set.
  • a partial model that represents the relationship between the resultant force of gravity and inertia force (or the floor reaction force balanced with it) and the body translational motion, and the resultant force and the body posture rotation motion (the body tilting motion and the body tilting motion) (Separable model), which is separated from the partial model that expresses the relationship (rotational motion).
  • the mass point shown in Fig. 12 is
  • the flywheel shown in FIG. 12 is a partial model representing the relationship between the resultant force and the body posture rotation.
  • model used in each process may be the same.
  • the mass of the leg mass 2 m is set to 0, and the processing of S408 and S412 in FIG. 25 is performed. Good. In this way, the generation of a normal gait 9470
  • the amount of calculation in the 120 processing can be greatly reduced.
  • the block diagram, the flowchart, the algorithm, and the like may be subjected to equivalent deformation such as changing the order of the arithmetic processing.
  • a low-pass fill may be inserted as appropriate.
  • the initial state of the normal gait (mainly the initial body horizontal position velocity, the initial body vertical position velocity, and the antiphase arm swing) is obtained by using the search method or partially using the analysis method.
  • Angle, angular velocity is calculated in advance for the various normal gait parameters using the above method, and the normal gait parameters are compared with the initial state of the normal gait.
  • the relationship may be mapped or approximated and stored, and during actual movement, the initial value of the normal gait may be determined based on the mapped or approximated relationship.
  • the function obtained by combining the above-described relationship mapped or approximated and the function f may be mapped or approximated and stored.
  • a function for directly calculating the divergent component of the normal gait is mapped or approximated from the normal gait parameters consisting of the above-mentioned foot trajectory parameters, floor reaction force vertical trajectory parameters, etc. You may memorize it.
  • a normal gait is generated in advance for each of a plurality of typical sets of normal gait parameters, and the initial state of the normal gait for each set of normal gait parameters (Fig. 13) and a map representing the relationship between the normal gait parameters of each group and the initial state of the normal gait is created in advance. .
  • the initial state of the normal gait may be obtained from the determined set of normal gait parameters by selection or interpolation based on the map. If you do this, There is no need to generate a normal gait every time a gait is generated this time, and the amount of computation in the target gait generation processing can be greatly reduced.
  • the target ZMP parameter of the current time's gait is corrected as a method of correcting the current time's gait to connect to (close to) a normal gait, but other parameters may be corrected.
  • the trajectory of the free leg of the gait this time may be changed in the air. If, for example, the horizontal position of the torso is likely to shift backward in the normal gait, the swing leg is moved quickly after leaving the floor to shift the center of gravity of the swing leg forward. As a result, the horizontal body position to satisfy the target Z MP must be further accelerated forward. As a result, the horizontal position of the torso moves further forward at the end of the current time's gait, and can be matched with the normal gait.
  • the cycle of the gait may be corrected this time. For example, if the horizontal position of the torso is likely to deviate behind the normal gait, the gait cycle may be increased this time. This is because by increasing the cycle of the gait this time, the time required for the horizontal position of the upper body to move increases, and the gait can move forward accordingly.
  • the gait end body torso horizontal position is almost proportional to the amount of correction of the target ZMP. Changes, the number of times of searching for the appropriate value can be reduced.
  • the center of gravity of the swing leg and the period of the gait are corrected, the horizontal position of the body at the end of the gait changes considerably in response to the correction. It requires a large number of searches.
  • the target ZMP parameter of the current time's gait was corrected.
  • the correction amount of the target ZMP parameter may become excessive. For example, if a hopping gait on the spot gives a request to move quickly at high speed (running request), the target ZMP is connected to (close to) a high-speed normal gait (normal running gait). In the case of paramedics, it is necessary to shift the direction of travel extremely backward. In this case, it is desirable to correct gait parameters other than the target ZMP parameters as described above. However, in this case, in fact, it was not possible to request the rapid acceleration itself, so the request value itself may be modified.
  • a normal gait that satisfies the request (required parameter) is obtained according to the procedure described in the present embodiment for the time being.
  • the stability margin of the target ZMP trajectory for this time's gait has become too small. If the stability margin becomes too small (if the target ZMP deviates from the so-called support polygon or the target ZMP is located near the end of the support polygon), the requirements can be modified. good.
  • the permissible range of the acceleration / deceleration of the gait (the next gait initial speed – the current gait initial speed) in advance and set the permissible range of the gait.
  • the acceleration / deceleration corresponding to the request is calculated, and if the calculated acceleration / deceleration exceeds the allowable range, the request may be modified to be within the allowable range.
  • the ⁇ ⁇ ⁇ , ⁇ Fp, ⁇ ⁇ ⁇ , ⁇ Fr, ⁇ Maz and ⁇ Mbz can be obtained analytically by dynamics calculation when using a simple dynamics model as described above. Good, but when using a general more complicated dynamics model, the floor reaction force when the upper body 3 is accelerated by a small amount in the body translation mode or when it is accelerated by a small amount in the body tilt mode And do not accelerate The difference from the floor reaction force in such a case can be obtained, and the difference can be obtained by dividing the difference by the minute amount.
  • the following method may be used to determine the trapezoid height bzcurr of the antiphase arm swing restoration angular acceleration pattern of the gait this time.
  • the antiphase arm swing angle and angular velocity at the end of the current time gait of the antiphase arm swing restoration angular acceleration corrected gait are set as 6> zcurr and ⁇ zcurr, respectively.
  • the difference between these and the antiphase arm swing angle and angular velocity of the normal gait is A 0 zcerr and ⁇ v 0 zcei'r.
  • the terminal antiphase arm swing angle of the provisional current time gait the difference between the angular velocity and the initial antiphase arm swing angle of the normal gait, the angular velocity 0 zerr, ⁇ ⁇ zerr, the previous state, bzcurr input , ⁇ 0 zcerr, ⁇ ⁇ zcerr as the current state.
  • a state equation of a discrete system is established, and a feedback rule is applied using modern control theory and the like so that A 0 zcerr, ⁇ v 0 zcerr converges to 0. You may decide, and calculate bzcurr based on this.
  • the antiphase arm swing recovery angular acceleration / 3 arec of the current time's gait and / or normal gait is not a trapezoidal pattern.At each moment, the target antiphase arm swing angle 'angular velocity and the reference antiphase arm swing angle ⁇ angular velocity The value of the phase reversal arm swing restoration angular acceleration ⁇ arec at each instant may be determined using a state feedback rule or the like so that the difference converges to 0 based on the difference between the two.
  • the anti-phase arm swing restoration angular acceleration ⁇ arec of the current time's gait is not a trapezoidal pattern.At each moment, based on the target antiphase arm swing angle and angular velocity of the current time's gait, these are the initial The antiphase arm swing recovery angle acceleration at each moment) 3 arec may be determined using a state feedback rule or the like so as to approach the antiphase arm swing angle and the angular velocity.
  • the floor with translational floor reaction force is used. It is also possible to set the allowable range of the plane-parallel component (the component parallel to the floor), that is, the allowable range of the friction force, or the floor-parallel component of the overall center of gravity acceleration (which is proportional to the friction force). Good. For example, a description will be given of the case where the allowable range of the floor parallel component (friction force) of the translational floor reaction force is set (the same applies to the case where the allowable range of the floor parallel component of the overall center of gravity acceleration is set).
  • Equation 1072 The determination of the parameters of the current time's gait is described in PCT Publication WOZ 02/40224 by the applicant of the present invention, in addition to the determination at the time when the previous time's gait is completed as in the above embodiment. As described above, the gait may be determined again during the generation of the gait. By doing so, the amount of computation increases, but it is possible to respond immediately when there is a change in gait requirements.
  • An appropriate (not provisional) corrected gait may be provided by the end of your cycle.
  • the corrected target ZMP trajectory and the desired floor reaction force vertical component trajectory are continuous, and they do not change rapidly after a short time. There is almost no problem, just a slight jagged orbit.
  • the spin of the mouth pot is generated. This is useful as a gait capable of smoothly moving the lopot without generating the gait.

Abstract

ロボット1に作用させる床反力モーメントの鉛直成分等を制限対象量とし、制限対象量の許容範囲を設定する。所定の動力学モデル上で所定の動力学的平衡条件を満たすロボットの仮運動を決定し、その仮運動により定まる制限対象量が許容範囲を逸脱したとき、制限対象量を動力学モデル上で許容範囲内に制限するようにしつつ、ロボットの角運動量変化率を前記仮運動から変化させるように該仮運動を修正して目標歩容の運動を決定する。

Description

明 細 書 脚式移動ロボットの歩容生成装置 技術分野
本発明は、 脚式移動口ポッ トの歩行のみならず、 走行にも適した歩容 を生成する装置に関する。 背景技術
脚式移動ロポッ ト、 例えば 2足移動ロポッ トの移動動作を行わせるた めの歩容 (目標歩容) の生成は、 従来、 主に口ポッ トにスムーズな歩行 動作を行なわせる歩容 (歩行歩容) を生成することを主目的として行な われてきた。 しかし、 近年では、 脚式移動口ポッ トの開発が進むにつれ て、 該ロボッ トに歩行だけでなく、 走行も行なわせることができる歩容 を生成することが望まれている。 さらには、 十分な摩擦力を発生できな い滑りやすい床 (いわゆる低ミュー路) 上でも口ポッ トを支障なく移動 させることができる歩容を生成することが望まれている。
尚、 「歩容」 という漢字に 「歩」 が入っているので歩行に限定される と誤解されやすいが、 本来 「歩容」 とは、 トロッ トなど、 馬の走行形態 を指す言葉として用いられているように、 走行も含んだ概念である。
ここで、 歩行と走行の特徴の違いを説明しておく。
同時に全脚が空中に存在する瞬間がある移動形態を走行と定義すること が一般的ではある。 しかし、 この定義によって歩行と走行が明確に区別 できるとは限らない。 たとえば、 速いジョギングでは、 ほとんどの人間 において、 同時に全脚が空中に存在する瞬間があるが、 遅いジョギング では、 かなりの人間において、 常にいずれかの脚が接地している。 速い ジョギングは走行であるのに遅いジョギングは歩行である、 と定義する のは、 感覚的に少し無理がある。
図 5 0に、 典型的な走行における上体鉛直位置と床反力鉛直成分 (左 右の脚に作用する床反力鉛直成分の和) のパター.ンを示し、 図 5 1には. 典型的な歩行における上体鉛直位置と床反力鉛直成分のパターンを示す, 尚、 上体鉛直位置速度は、 上体代表点の鉛直位置とその速度を意味す る。 上体水平位置速度は、 上体代表点の水平位置とその速度を意味する, 上体鉛直位置速度と上体水平位置速度を合わせて、 上体位置速度と呼ぶ, また、 「床反力鉛直成分」 は、 厳密には、 床反力の鉛直軸まわりのモ 一メント成分と区別するために、 「並進床反力鉛直成分」 と記述すべき であるが、 言葉が長くなるので、 ここでは 「並進」 を省略する。 以降、 「並進床反力水平成分」 も 「並進」 を省略して 「床反力水平成分」 と記 述する。
まず上体の動きを見てみると、 歩行においては、 支持脚の上を上体が 通過する瞬間に上体は最も高く、 走行においては、 この瞬間に最も低い, すなわち、 歩行と走行では、 上体の上下動パターンの位相が反転してい る。
一方、 床反力に関しては、 歩行では比較的一定であるのに対し、 走行 においては、 大きく変動し、 支持脚の上を上体が通過する瞬間に床反力 は最も大きい。 また、 当然のことながら、 同時に全脚が空中に存在する 瞬間において床反力は 0になっている。 より詳しく観察すると、 走行で は、 支持脚を縮めた量にほぼ比例した大きさの床反力が発生する。 言い かえると、 走行では、 脚をばねのように使って跳ねながら移動している と言える。
遅いジョギングでは、 典型的な走行と同じ上体上下動の位相を持つ。 また、 遅いジョギングでは、 同時に全脚が空中に存在する瞬間がない場 2004/009470
3 合が多いが、 その場合でも、 支持脚と遊脚の切り換えが行われる瞬間に おいて、 床反力は、 完全には 0にならないがほぼ 0になっている。
したがって、 以上のように、 上体の上下動や床反力のパターンの上記 特徴から歩行と走行を区別した方が、 遅いジョギングも走行とみなされ. 感覚とも一致して、 より適切と言えよう。
特に、 最も特徴的な点で両者を区別するならば、 走行とは、 支持脚の 切り換えが行われる瞬間において、 床反力が 0またはほぼ 0になる移動 形態であり、 歩行は、 それ以外の移動形態 (床反力鉛直成分が比較的一 定) であると言えよう。
ところで、 本出願人は先に P C T公開公報 WOZ02Z40224において 脚式移動ロボッ トの床反力を含む歩容を、 動力学的平衡条件 (目標歩容 の重力と慣性力と床反力との釣り合い条件のことである。 狭義では、 目 標歩容の運動による重力と慣性力との合力が目標 Z M Pまわりに作用す るモーメントの水平成分が 0であること。 詳細は後述する。) をほぼ満 足しながら、 自在かつリアルタイムに生成する技術を先に提案した。 こ の技術や、 特開平 1 0— 8 6 0 8 1号公報、 特開平 1 0— 2 7 7 9 6 9 号公報などにて本出願人が提案してきた一連の脚式移動ロポッ 卜の制御 装置は、 歩行のみならず走行にも適用できるものである。
しかしながら、 これらの技術においては、 目標歩容の Z M Pまわりの 床反力モーメント鉛直成分の大きさを考慮していなかった。 このため、 この床反力モーメント鉛直成分が過大となって、 摩擦の限界を超えて、 スピンするおそれがあった。 なお、 スピンとは、 実際の口ポッ トのョー 角 (鉛直軸まわり回転角) 速度が目標ョ一角速度からずれることを言う t 摩擦係数の高い床面を歩行する場合 (この場合、 少なくとも 1つの脚 体は常時接地している) には、 床反力鉛直成分が常にほぼ口ポッ トの自 重相当であるので、 摩擦力 (すなわち床反力モーメント鉛直成分) の限 界が高い。 このため、 スピンは発生しにくい。
しかるに、 走行においては、 床反力鉛直成分が 0になる、 または 0に 近くなる時があるので、 その時には、 たとえ摩擦係数が高くとも、 床面 の摩擦力のモーメント鉛直成分の限界が 0になるまたは 0に近くなる。 したがって、 目標歩容の床反力モーメント鉛直成分が限界を超え、 スピ ンして転倒する恐れがあった。
また、 歩行の場合でも、 床の摩擦係数が低い場合には、 スピンして転 倒する恐れがあった。
一方、 本出願人は先に、 例えば P C T出願 P C T / J P 0 2 Z 1 3 5 9 6の実施形態において、 目標歩容において腕以外が発生するモ一メン ト鉛直成分を打ち消すように、 腕を振るようにしたものを提案した。. この場合には、 目標歩容のモーメント鉛直成分はほぼ 0になるが、 脚 を激しく振って移動する場合には、 腕の振りも激しくなる。
一般的に、 人間型口ポッ トにおいては、 腕の質量は、 脚の質量に較べ て小さい。 したがって、 モーメント鉛直成分を完全に打ち消すためには 腕は、 脚の振りよりも激しく振る必要がある。
しかし、 腕の動作範囲には限界があり、 また、 腕のァクチユエ一夕の トルクおよび速度にも限界があるので、 脚を激しく振って移動する場合 には、 腕によってモ一メント鉛直成分を完全に打ち消すことができなく なる場合があった。
また、 目標歩容において腕以外が発生するモーメント鉛直成分を完全 に打ち消すように、 腕を振るようにすると、 腕振りの中心が徐々にオフ セッ トしていき、 左右の腕の振りが非対称になる恐れがあった。 具体的 には、 口ポッ トが左旋回する場合に、 腕以外が発生するモーメント鉛直 成分を完全に打ち消すように、 腕を振るようにすると、 脚と胴体が左を 向いたことによる角運動量変化を打ち消すために、 左腕は前側には大き く、 後ろ側には小さく振られ、 右の腕は前側には小さく後ろ側には大き く振られるようになる。 したがって、 この場合には、 左腕は、 前側の振 り動作限界に達する恐れが生じ、 右腕は、 後ろ側の振り動作限界に達す る恐れが生じる。 - また、 さらに左右の腕の振りが非対称にならないように、 腕振りの中 心を戻そうとすると、 この動作によって、 床反力モーメント鉛直成分が 発生し、 目標歩容の床反力モーメント鉛直成分が限界を超え、 スピンす る恐れがあった。
したがって、 本発明の目的は、 上記の問題点を解消し、 歩行、 走行等 の歩容形態や床面の摩擦状態によらずに、 より一層好適な歩容を生成す ることができる歩容生成装置を提供することにある。
より具体的には、 本発明は、 口ポットと床面との間の摩擦力のモーメ ント鉛直成分の限界を考慮し、 スピンおよびそれに起因するロボッ トの 転倒を防止することが可能な歩容を生成できる歩容生成装置を提供する ことを目的とする。 そして、 空中時、 あるいは摩擦力のモーメント鉛直 成分の限界が極めて低い時にでも、 動力学的平衡条件を満足する歩容の 運動パターンを生成できる歩容生成装置を提供することを目的とする。 さらに、 目標歩容の左右非対称性が大きくなることを防止して、 動作の 継続性を確保することを目的とする。 発明の開示
本発明の脚式移動ロポッ トの歩容生成装置は、 上記の目的を達成する ために、 上体から延設された複数の脚体を運動させて移動する脚式移動 ロポッ 卜の目標歩容を生成する歩容生成装置において、 前記ロポッ トに 作用させる床反力モーメン卜の鉛直成分又は該床反力モーメントの床面 法線方向成分又は該ロボッ トの角運動量変化率の鉛直成分又は該角運動 量変化率の床面法線方向成分を制限対象量として、 該制限対象量の許容 範囲を設定する許容範囲設定手段と、 所定の動力学モデル上で前記ロボ ッ トに作用する重力と慣性力との合力が所定の動力学的平衡条件を満た すように前記目標歩容の仮運動を決定する仮運動.決定手段と、 前記目標 歩容の仮運動により定まる前記制限対象量が前記許容範囲を逸脱したと き、 該制限対象量を前記動力学モデル上で前記許容範囲内に制限するよ うにしつつ、 ロポッ卜の角運動量変化率を前記仮運動から変化させるよ うに該仮運動を修正して目標歩容の運動を決定する仮運動修正手段とを 備えたことを特徴とする (第 1発明)。
かかる本発明 (第 1発明) によれば、 目標歩容の仮運動により定まる 前記制限対象量が許容範囲を逸脱すると、 該制限対象量を前記動力学モ デル上で前記許容範囲内に制限するようにしつつ、 口ポッ トの角運動量 変化率を前記仮運動から変化させるように該仮運動を修正して目標歩容 の運動が決定される。 従って、 制限対象量を許容範囲内に収めるように 目標歩容の運動が生成される。 ここで、 前記制限対象量は、 ロボッ トと 床面との間の摩擦力のモーメント鉛直成分に比例し、 またはほぼ比例す る。 このため、 本発明 (第 1発明) は、 摩擦力のモーメント鉛直成分の 限界を考慮し、 スピンおよびそれに起因するロボッ トの転倒を防止する ことが可能な歩容を生成できる。
なお、 第 1発明において、 前記制限対象量を許容範囲内に制限するた めに変化させる角運動量変化率は、 例えば該角運動量変化率の鉛直成分 または床面法線方向成分である。
また、 第 1発明において、 前記動力学的平衡条件としては、 例えば、 ロボッ トに作用する重力と慣性力との合力が床面上のある所定の点 (目 標 Z M Pなど) の回りに発生するモーメントの水平成分 (該モーメント の鉛直成分以外の成分) が所定の目標床反力モーメント水平成分と釣り 合うかもしくはほぼ釣り合う、 あるいは、 前記合力の並進力鉛直成分が 所定の目標並進床反力鉛直成分と釣り合うかもしくはほぼ釣り合う、 な どの条件が挙げられる。 これらの動力学的平衡条件のうち、 特に前者の 動力学的平衡条件は、 ロボッ トの安定な (転倒などの恐れがない) 運動 を行なう歩容を生成する上で重要であり、 後者の動力学的平衡条件は、 ロボッ トの走行を円滑に行よう歩容を生成する上で重要である。
また、 前記制限対象量の許容範囲は、 歩容形態ゃ歩容中の時期、 床が 発生し得る摩擦力を考慮して設定すればよく、 その許容範囲は 0 (許容 範囲の上限値及び下限値が共に 0 ) であってもよい。 例えば口ポッ トの 全脚体が空中に存する時期を有する走行歩容では、 その空中期における 許容範囲は 0に設定すればよい
かかる第 1発明では、 前記仮運動修正手段が修正対象とする運動は、 ロボッ トの上体又は該上体から延設された腕体の運動であることが好ま しい (第 2発明)。
この第 2発明によれば、 前記動力学的平衡条件に影響を及ぼす運動の 修正を少なく して、 前記仮運動を修正することが可能となる。
前記第 1発明では、 より具体的には、 前記仮運動修正手段が修正対象 とする運動は、 ロポッ トの上体又は該上体から延設された腕体の運動の うち、 ロポッ トの重心位置を前記仮運動により定まる重心位置に略維持 しつつ、 口ポッ トの角運動量変化率の鉛直成分又は該角運動変化率の床 面法線方向成分を変化させる運動であることが好ましい (第 3発明)。
この第 3発明によれば、 ロボッ トに作用する並進床反力や床反カモ一 メントの水平成分を前記仮運動に対応するものに略維持しつつ、 該仮運 動を修正することができる。 従って、 前記動力学的平衡条件をほぼ満た しつつ、 ロボッ トの上体又は腕体の仮運動を修正して、 前記制限対象量 が許容範囲内に収まるように目標歩容の運動を決定することができる。 従って、 空中時、 あるいは摩擦力のモーメント鉛直成分の限界が極めて 低い時にでも、 動力学的平衡条件を満足する歩容の運動パターンを生成 できる。
これらの第 1〜第 3発明では、 前記ロボッ 卜が上体の左右の両側部か ら延設された 2つの腕体を備えるロボッ トであるときには、 前記仮運動 修正手段が修正対象とする運動は、 前記 2つの腕体をロポッ 卜の前後方 向で互いに逆方向に動かす運動であることが好適である (第 4発明)。
この第 4発明によれば、 前記仮運動の修正が容易になる。
なお、 前記第 1〜第 4発明では、 前記目標歩容がロポッ トの少なくと も一つの脚体を着地させる着地期と、 全ての脚体を空中に浮かせる空中 期とを交互に繰り返す歩容であるときには、 前記許容範囲は、 少なくと も前記空中期では略零に設定される (第 5発明)。
これにより、 着地期はもちろん、 空中期における目標歩容の運動を適 切に決定できる。
また、 前記第 1〜第 5発明では、 前記口ポッ トの並進床反力の目標鉛 直成分又は全体重心加速度の目標鉛直成分又は上体加速度の目標鉛直成 分を決定する目標鉛直成分決定手段を備え、 前記許容範囲設定手段は、 該目標鉛直成分決定手段が決定した目標鉛直成分に応じて前記許容範囲 を設定することが好ましい (第 6発明)。
すなわち、 口ポッ トと床面との間の摩擦力のモーメント鉛直成分ある いは床面法線方向成分は、 並進床反力鉛直成分にほぼ比例する。 また、 並進床反力鉛直成分は、 ロボッ トの全体重心加速度鉛直成分と重力加速 度との和に比例する。 さらに、 例えば口ポッ トの脚体の質量が上体の質 量に比して十分に小さい場合には、 並進床反力鉛直成分は、 上体加速度 鉛直成分と重力加速度との和にほぼ比例する。 従って、 口ポッ トの並進 床反力の目標鉛直成分又は全体重心加速度の目標鉛直成分又は上体加速 度の目標鉛直成分を決定し、 この決定した目標鉛直成分に応じて前記許 容範囲を設定することで、 ロボッ 卜に発生させたい並進床反力鉛直成分 に適したパターンの許容範囲を設定できる。
なお、 この第 6発明では、 前記仮運動決定手段は、 前記目標鉛直成分 決定手段が決定した目標鉛直成分を満足するように、 すなわち、 ロポッ 卜の並進床反力鉛直成分 (仮運動の慣性力と重力との合力の鉛直成分に 釣り合う並進床反力鉛直成分) 又は全体重心加速度鉛直成分又は上体加 速度鉛直成分が、 前記目標鉛直成分決定手段が決定した目標鉛直成分に 一致するか、 もしくはほぼ一致するように前記仮運動を決定することと なる。 このことは、 別の言い方をすれば、 前記動力学モデル上で仮運動 の慣性力と重力との合力の鉛直成分が前記目標鉛直成分決定手段が決定 した目標鉛直成分に対応する目標並進床反力鉛直成分と釣り合うか、 も しくはほぼ釣り合うように仮運動を決定することを意味する。
また、 上記第 1〜第 6発明では、 前記動力学モデルは、 少なく とも前 記仮運動修正手段が修正対象とする運動と床反力との関係を鉛直軸回り 又は床面法線軸回りに回転自在なフライホイールの回転運動と床反力と の関係として記述する動力学モデルであることが好ましい (第 7発明) これによれば、 修正対象とする運動が、 鉛直軸回り又は床面法線軸回 りの床反力モ一メントのみを独立に変化させるフライホイールの回転運 動に相当するものとなるので、 仮運動の修正の演算を少ない演算量で容 易に行なうことが可能となる。
また、 前記第 1〜第 7発明では、 前記仮運動修正手段は、 前記仮運動 により定まる前記制限対象量が前記許容範囲に存する所定の期間 (例え ば該許容範囲が十分に大きい期間) においては、 該制限対象量が前記許 容範囲を逸脱した場合に修正対象とするロポッ トの運動をあらかじめ定 めた基準運動軌道に近づけ、 又は一致させるように前記目標歩容の運動 を決定することが好適である (第 8発明)。
この第 8発明によれば、 前記制限対象量が前記許容範囲を逸脱しない 前記所定の期間、 すなわち口ポッ トと床面との間の接触面に十分な摩擦 力を発生できる期間においては、 前記修正対象とするロポッ トの運動を その好適な基準運動軌道に近づけ、 又は一致させることができる。 その 結果、 修正対象とするロポッ 卜の運動が極端な偏りもった運動に変化し てしまうような事態を防止できる。 つまり、 目標歩容の運動の左右非対 称性が大きくなることを防止して、 動作の継続性を確保することができ る。 なお、 前記第 5発明の如く、 空中期と着地期とを交互に繰り返す歩 容を生成するときには、 上記所定の期間は、 着地期内の期間となる。
また、 前記第 1〜第 8発明では、 生成する前記目標歩容は、 口ポッ ト の実際の動作に用いるものとして所定期間分ずつ生成する今回歩容と、 各今回歩容に続く仮想的な周期的歩容であって該今回歩容の生成に用い る定常歩容とを有し、 前記仮運動決定手段及び仮運動修正手段の処理は 該今回歩容及び Z又はこれに続く定常歩容の生成時に実行されることが 好ましい (第 9発明)。
かかる第 9発明においては、 今回歩容及び 又は定常歩容の生成にお いて、 前記仮運動決定手段および仮運動修正手段の処理が実行されるの で、 制限対象量が許容範囲を超えないような適切な今回歩容及び/又は 定常歩容を生成できる。 なお、 定常歩容は、 今回歩容に続く歩容として 適正な歩容であり、 今回歩容は、 前記制限対象量が許容範囲内に収まる という条件や前記動力学的平衡条件を満たす他、 定常歩容に連続し又は 近づくように生成される。
この第 9発明では、 前記許容範囲設定手段は、 前記今回歩容の許容範 囲と該今回歩容に続く定常歩容の許容範囲とを該今回歩容の要求パラメ 一夕 (例えば各脚体先端部の着地位置姿勢や着地予定時刻等を規定する パラメ一夕) に応じて設定することが好ましい (第 1 0発明)。
これにより、 今回歩容に整合した好適な定常歩容を生成できる。
より具体的には、 この第 1 0発明では、 例えば前記脚式移動口ポッ ト が 2本の脚体を有する 2足移動ロポッ トであると-きには、 前記要求パラ メータは、 該 2足移動口ポッ トの脚体先端部の 2歩分の着地位置 ·姿勢 を規定するパラメータと、 1歩目及び 2歩目の歩容周期を規定するパラ メ一夕とを含むことが好適である (第 1 1発明)。
これにより、 今回歩容と同種の形態 (歩行、 走行等の形態) で今回歩 容に続く定常歩容を決定でき、 今回歩容に続く歩容としての好適な定常 歩容 (発散を生じない歩容) を決定できる。 従って、 口ポッ トの移動時 の安定性を確実に確保し得る今回歩容を生成できる。 図面の簡単な説明
図 1は本発明の実施形態における脚式移動ロポットとしての 2足移動 口ポッ トの全体構成を概略的に示す図、 図 2は図 1の口ポッ トの脚体の 先端部の構造を示す図、 図 3は図 1の口ポッ トに備えた制御ユニッ トの 構成を示すブロック図、 図 4は制御ュニッ トの機能的構成を示すブロッ ク図である。 図 5は実施形態で生成する走行歩容を説明するための図、 図 6は目標床反力鉛直成分軌道の例を示すグラフ、 図 7は目標 Z M P軌 道の X成分および Y成分の例を示すグラフ、 図 8はロボッ トの上体並進 モードを説明するための図、 図 9は口ポッ トの上体傾斜モードを説明す るための図、 図 1 0はロポッ トの上体ョ一回転モードを説明するための 図、 図 1 1 ( a ) は口ポッ トの逆位相腕振りモードを平面視で説明する ための図、 図 1 1 ( b ) は口ポッ トの逆位相腕振りモードを側面視で説 明するための図、 図 1 2は実施形態で用いる動力学モデルを説明するた めの図である。 図 1 3は実施形態における歩容生成装置のメインルーチ ン処理を示すフローチャート、 図 1 4はロボッ トの発散状態を説明する ための図、 図 1 5は図 1 3の S 0 2 2のサブルーチン処理を示すフロー チャート、 図 1 6は定常歩容と支持脚座標系とを説明するための図、 図 1 7は定常歩容の上体軌道と支持脚座標系とを例示する図、 図 1 8は基 準逆位相腕振り角の例を示すグラフ、 図 1 9は定常歩容における目標床 反力鉛直成分軌道の設定例を示すグラフ、 図 2 0は定常歩容における床 反力水平成分許容範囲の設定例を示すグラフ、 図 2 1は定常歩容におけ る床反力モーメント鉛直成分許容範囲の設定例を示すグラフ、 図 2 2は 定常歩容における目標 Z M P軌道の設定例を示すグラフである。 図 2 3 は図 1 3の S 0 2 4のサブルーチン処理を示すフロ一チャート、 図 2 4 は図 2 3の S 2 0 8のサブル一チン処理を示すフ口一チャート、 図 2 5 は図 2 4の S 3 0 6のサブルーチン処理を示すフローチャート、 図 2 6 は図 2 5の S 4 1 2のサブルーチン処理を示すフロ一チヤ一卜である。 図 2 7は許容範囲を考慮しない床反力水平成分の例を示すグラフ、 図 2 8は許容範囲を考慮した床反力水平成分の例を示すグラフ、 図 2 9は上 体傾斜角加速度の例を示すグラフ、 図 3 0はロポッ トの上体傾斜角を復 元するための上体傾斜復元モーメント Z M P換算値の例を示すグラフ、 図 3 1は上体傾斜復元モーメント Z M P換算値を加味した上体傾斜角加 速度の例を示すグラフ、 図 3 2は許容範囲を考慮しない床反カモ一メン ト鉛直成分の例を示すグラフ、 図 3 3は許容範囲を考慮した床反力モー メント鉛直成分の例を示すグラフ、 図 3 4は逆位相腕振りモーメントの 例を示すグラフ、 図 3 5は図 3 4の逆位相腕振りモーメントに対応する 逆位相腕振り角加速度を示すグラフ、 図 3 6は逆位相腕振り角を復元す るための逆位相腕振り復元角加速度の例を示すグラフ、 図 3 7は図 3 6 の逆位相腕振り復元角加速度に対応する逆位相腕振り復元モーメントを 示すグラフ、 図 3 8は図 3 3の床反力モーメント鉛直成分と図 3 7の逆 4 009470
1 3 位相腕振り復元モ一メントとを合成してなる床反カモ一メント鉛直成分 を示すグラフである。 図 3 9は図 1 3の S 0 2 6のサブルーチン処理を 示すフローチヤ一ト、 図 4 0は今回歩容の床反力水平成分許容範囲の設 定例を示すグラフ、 図 4 1は今回歩容の床反力モーメン卜鉛直成分許容 範囲の設定例を示すグラフ、 図 4 2は図 1 3の S 0 2 8のサブルーチン 処理を示すフローチヤ一ト、 図 4 3は図 4 2の S 7 0 2のサブルーチン 処理を示すフロ一チヤ一ト、 図 4 4は今回歩容の仮目標 Z M Pと Z M P 修正量と修正後の目標 Z M Pとの例を示すグラフ、 図 4 5は図 1 3の S 0 3 0のサブルーチン処理を示すフローチャート、 図 4 6は図 4 5の S 1 4 1 2のサブルーチン処理を示すフローチャートである。 図 4 7は定 常歩容と目標歩容の上体位置軌道との関係を示すグラフ、 図 4 8は上体 傾斜モード (腰中心の上体傾斜) の他の例を示す図、 図 4 9は動力学モ デルの他の例を説明するための図、 図 5 0はロボッ トの走行歩容におけ る上体鉛直方向位置と床反力鉛直成分との関係を示す図、 図 5 1はロボ ッ トの歩行歩容における上体鉛直方向位置と床反力鉛直成分との関係を 示す図である。 発明を実施するための最良.の形態
以下、 添付図面を参照してこの発明の実施形態に係る脚式移動ロポッ トの歩容生成装置を説明する。 尚、 脚式移動口ポットとしては 2足移動 ロポッ トを例にとる。
図 1は、 この実施形態に係る脚式移動ロボッ トとしての 2足移動ロボ ッ トを全体的に示す概略図である。
図示の如く、 2足移動口ポッ ト (以下、 口ポッ トという) 1は上体 (口ポッ ト 1の基体) 3から下方に延設された左右一対の脚体 (脚部リ ンク) 2 , 2を備える。 両脚体 2, 2は同一構造であり、 それぞれ 6個 の関節を備える。 その 6個の関節は上体 3側から順に、 股 (腰部) の回 旋 (回転) 用 (上体 3に対するョ一方向の回転用) の関節 1 0 R, 1 0 L (符号 R, Lはそれぞれ右側脚体、 左側脚体に対応するものであるこ とを意味する符号である。 以下同じ) と、 股 (腰-部) のロール方向 (X 軸まわり) の回転用の関節 1 2 R, 1 2 Lと、 股 (腰部) のピッチ方向 (Y軸まわり) の回転用の関節 1 4 R, 1 4 Lと、 膝部のピッチ方向の 回転用の関節 1 6 R, 1 6 Lと、 足首のピッチ方向の回転用の関節 1 8 R, 1 8 Lと、 足首のロール方向の回転用の関節 2 0 R, 2 0 Lとから 構成される。
各脚体 2の足首の 2つの関節 1 8 R (L), 2 0 R (L) の下部には. 各脚体 2の先端部を構成する足平 (足部) 2 2 R (L) が取着されると 共に、 両脚体 2, 2の最上位には、 各脚体 2の股の 3つの関節 1 0 R (L), 1 2 R (L), 1 4 R (L) を介して前記上体 3が取り付けられ ている。 上体 3の内部には、 詳細を後述する制御ユニッ ト 6 0などが格 納される。 なお、 図 1では図示の便宜上、 制御ユニッ ト 6 0を上体 3の 外部に記載している。
上記構成の各脚体 2においては、 股関節 (あるいは腰関節) は関節 1
O R (L), 1 2 R (L), 1 4 R (L) から構成され、 膝関節は関節 1
6 R (L) から構成され、 足首関節は関節 1 8 R (L), 2 0 R (L) から構成される。 また股関節と膝関節とは大腿リンク 2 4 R (L) で連 結され、 膝関節と足首関節とは下腿リンク 2 6 R (L) で連結される。 上体 3の上部の両側部には左右一対の腕体 5 , 5が取り付けられると 共に、 上体 3の上端部には頭部 4が配置される。 各腕体 5は、 3つの関 節 3 0 R (L), 3 2 R (L), 3 4 R (L) から構成された肩関節と、 関節 3 6 R (L) から構成された肘関節と、 関節 3 8 R (L) から構成 された手首関節と、 この手首関節に連結された手先部 4 0 R (L) とを 備えている。 なお、 頭部 4は、 本発明の要旨と直接的な関連を有しない ため詳細な説明を省略する。
上記の構成により、 各脚体 2の足平 2 2 R ( L ) は、 上体 3に対して 6つの自由度を与えられている。 そして、 口ポッ小 1の歩行等の移動中 に、 両脚体 2, 2を合わせて 6 * 2 = 1 2個 (この明細書で 「 *」 はス カラに対する演算としては乗算を、 べク トルに対する演算としては外積 を示す) の関節を適宜な角度で駆動することで、 両足平 2 2 R, 2 2 L の所望の運動を行うことができる。 これにより、 ロボッ ト 1は任意に 3 次元空間を移動することができる。 また、 各腕体 5は、 その肩関節、 肘 関節、 手首関節の回転によって、 腕振り等の運動を行うことができる。 図 1 に示す如く、 各脚体 2の足首関節 1 8 R ( L ) , 2 0 R ( L ) の 下方には足平 2 2 R ( L ) との間に公知の 6軸力センサ 5 0が介装され ている。 該 6軸力センサ 5 0は、 各脚体 2の足平 2 2 R ( L ) の ¾地の 有無、 および各脚体 2に作用する床反力 (接地荷重) 等を検出するため のものであり、 該床反力の並進力の 3方向成分 F x, F y , F z並びに モーメントの 3方向成分 M X, M y, M zの検出信号を制御ユニッ ト 6 0に出力する。 また、 上体 3には、 Z軸 (鉛直方向 (重力方向)) に対 する上体 3の傾斜角およびその角速度、 並びに Z軸回りの上体 3の回転 角 (ョ一角) およびその角速度を検出するための姿勢センサ 5 4が備え られ、 その検出信号が該姿勢センサ 5 4から制御ユニッ ト 6 0に出力さ れる。 この姿勢センサ 5 4は、 図示を省略する 3軸方向の加速度センサ および 3軸方向のジャィ口センサを備え、 これらのセンサの検出信号が 上体 3の姿勢角 (傾斜角およびョ一角) およびその角速度を検出するた めに用いられると共に、 ロボッ ト 1の自己位置姿勢を推定するために用 いられる。 また、 詳細構造の図示は省略するが、 口ポッ ト 1の各関節に は、 それを駆動するための電動モー夕 6 4 (図 3参照) と、 その電動モ 一夕 6 4の回転量 (各関節の回転角) を検出するためのエンコーダ (口 一タリエンコーダ) 6 5 (図 3参照) とが設けられ、 該エンコーダ 6 5 の検出信号が該エンコーダ 6 5から制御ュニッ ト 6 0に出力される。 さらに、 図 1では図示を省略するが、 ロボッ ト- 1の適宜な位置にはジ ョィスティ ック (操作器) 7 3 (図 3参照) が設けられ、 そのジョイス ティック 7 3を操作することで、 直進移動しているロポッ ト 1を旋回さ せるなど、 口ポッ ト 1の歩容に対する要求を必要に応じて制御ュニッ ト 6 0に入力できるように構成されている。
図 2は本実施形態における各脚体 2の先端部分 (各足平 2 2 R ( L ) を含む) の基本構成を概略的に示す図である。 同図に示すように、 各足 平 2 2 R ( L ) の上方には、 前記 6軸力センサ 5 0との間にばね機構 7 0が装備されると共に、 足底 (各足平 2 2 R ( L ) の底面) にはゴムな どからなる足底弾性体 7 1が貼られている。 これらのばね機構 7 0及び 足底弾性体 7 1によりコンプライアンス機構 7 2が構成されている。 ば ね機構 7 0は詳細は後述するが、 足平 2 2 R ( L ) の上面部に取り付け られた方形状のガイ ド部材 (図示省略) と、 足首関節 1 8 R ( L ) (図 2では足首関節 2 O R ( L ) を省略している) および 6軸力センサ 5 0 側に取り付けられ、 前記ガイ ド部材に弹性材 (ゴムやばね) を介して微 動自在に収納されるピストン状部材 (図示省略) とから構成されている, 図 2に実線で表示された足平 2 2 R ( L ) は、 床反力を受けていない ときの状態を示している。 各脚体 2が床反力を受けると、 コンプライア ンス機構 7 2のばね機構 7 0と足底弾性体 7 1 とがたわみ、 足平 2 2 R ( L ) は図中に点線で例示したような位置姿勢に移る。 このコンプライ ンァス機構 7 2の構造は、 例えば本出願人が先に提案した特開平 5— 3 0 5 5 8 4号公報に詳細に説明されている如く、 着地衝撃を緩和するた めだけでなく、 制御性を高めるためにも重要なものである。 図 3は制御ュニッ ト 6 0の構成を示すブロック図である。 該制御ュニ ッ ト 6 0はマイクロコンピュータにより構成されており、 C P Uからな る第 1の演算装置 9 0及び第 2の演算装置 9 2、 AZD変換器 8 0、 力 ゥンタ 8 6、 DZA変換器 9 6、 RAM 8 4、 ROM 9 4 , 並びにこれ らの間のデータ授受を行うバスライン 8 2を備えている。 この制御ュニ ッ ト 6 0では、 各脚体 2の 6軸力センサ 5 0、 姿勢センサ 5 4 (加速度 センサおよびレートジャィ口センサ)、 ジョイスティ ック 7 3等の出力 信号は AZD変換器 8 0でデジタル値に変換された後、 バスライン 8 2 を介して RAM 84に送られる。 またロポッ ト 1の各関節のエンコーダ 6 5 (ロータリーエンコーダ) の出力は、 カウンタ 8 6を介して RAM 8 4に入力される。
前記第 1の演算装置 9 0は後述の如く 目標歩容を生成すると共に、 関 節角変位指令 (各関節の変位角もしくは各電動モー夕 6 4の回転角の指 令値) を算出し、 RAM 8 4に送出する。 また第 2の演算装置 9 2は R AM 8 4から関節角変位指令と、 前記エンコーダ 6 5の出力信号に基づ いて検出された関節角の実測値とを読み出し、 各関節の駆動に必要な操 作量を算出して DZ A変換器 9 6とサーポアンプ 6 4 aとを介して各関 節を駆動する電動モータ 64に出力する。
図 4は、 この実施形態に係る脚式移動ロポッ トの制御装置の機能的構 成を全体的に示すブロック図である。 この図 4中の 「実ロボッ ト」 の部 分以外の部分が制御ュニッ ト 6 0が実行する処理機能 (主として第 1の 演算装置 9 0及び第 2の演算装置 9 2の機能) によって構成されるもの である。 なお、 以下の説明では、 脚体 2および腕体 5の左右を特に区別 する必要がないときは、 前記符号 R, Lを省略する。
以下説明すると、 制御ユニッ ト 6 0は、 ロボッ ト 1の目標歩容を自在 かつリアルタイムに生成して出力する歩容生成装置 1 0 0を備えている, 該歩容生成装置 1 0 0は、 その機能によって、 本願発明の各手段を構成 するものである。 この歩容生成装置 1 0 0が出力する目標歩容は、 目標 上体位置姿勢軌道 (上体 3の目標位置及び目標姿勢の軌道)、 目標足平 位置姿勢軌道 (各足平 2 2の目標位置及び目標姿勢の軌道)、 目標腕姿 勢軌道 (各腕体 5の目標姿勢の軌道)、 目標全床反力中心点 (目標 Z M P ) 軌道、 目標全床反力軌道から構成される。 なお、 脚体 2や腕体 5以 外に上体 3に対して可動な部位を備える場合には、 その可動部位の目標 位置姿勢軌道が目標歩容に加えられる。
ここで、 上記歩容における 「軌道」 は時間的変化のパターン (時系列 パターン) を意味し、 以下の説明では、 「軌道」 の代わりに 「パター ン」 と称するこどもある。 また、 「姿勢」 は空間的な向きを意味する。 具体的には、 例えば上体姿勢は Z軸 (鉛直軸) に対するロール方向 (X 軸まわり) の上体 3の傾斜角とピッチ方向 (Y軸まわり) の上体 3の傾 斜角とョー方向 (Z軸まわり) の上体 3の回転角 (ョ一角) とで表され. 足平姿勢は各足平 2 2に固定的に設定された 2軸の空間的な方位角で表 される。 本明細書では、 上体姿勢は上体姿勢角ということもある。
尚、 以下の説明では、 誤解を生じるおそれがない場合には、 しばしば 「目標」 を省略する。 また、. 歩容のうちの、 床反力に係わる構成要素以 外の構成要素、 すなわち足平位置姿勢、 上体位置姿勢等、 口ポッ ト 1の 運動に係わる歩容を総称的に 「運動」 という。 また、 各足平 2 2に作用 する床反力 (並進力及びモーメントからなる床反力) を 「各足平床反 力」 と呼び、 ロボッ ト 1の全て ( 2つ) の足平 2 2 R , 2 2 Lについて の 「各足平床反力」 の合力を 「全床反力」 という。 ただし、 以下の説明 においては、 各足平床反力はほとんど言及しないので、 特に断らない限 り、 「床反力」 は 「全床反力」 と同義として扱う。
目標床反力は、 一般的には、 作用点とその点に作用する並進力及びモ —メントによって表現される。 作用点はどこにとっても良いので、 同一 の目標床反力でも無数の表現が考えられるが、 特に目標床反力中心点 (全床反力の中心点の目標位置) を作用点にして目標床反力を表現する と、 目標床反力のモーメント成分は、 鉛直成分 (鉛直軸 (Z軸) まわり のモーメント) を除いて零になる。 換言すれば、 目標床反力中心点まわ りの目標床反力のモーメントの水平成分 (水平軸 (X軸及び Y軸) 回り のモーメント) は零になる。
尚、 動力学的平衡条件を満足する歩容では、 ロボッ ト 1の目標運動軌 道から算出される Z M P (目標運動軌道から算出される慣性力と重力と の合力がその点まわりに作用するモーメントが、 鉛直成分を除いて零に なる点) と目標床反力中心点は一致することから、 目標床反力中心点軌 道の代わりに目標 Z M P軌道を与えると言っても同じことである (詳細 は、 本願出願人による P C T公開公報 WOZ 02 40224等を参照)。
このような背景から、 上記 P C T公開公報 WO/ 02/ 40224の明細書 では目標歩容を、 次のように定義していた。
a ) 広義の目標歩容とは、 1歩ないしは複数歩の期間の目標運動軌道と その目標床反力軌道との組である。
b ) 狭義の目標歩容とは、 1歩の期間の目標運動軌道とその Z M P軌道 との組である。
c )一連の歩容は、 いくつかの歩容がつながったものとする。
歩行においては、 本出願人が先に特開平 1 0— 8 6 0 8 0号公報で提 案した上体高さ決定手法によってロボッ ト 1の上体 3の鉛直位置 (上体 高さ) が決定されると、 並進床反力鉛直成分は従属的に決定される。 さ らに、 目標歩容の運動による慣性力と重力との合力が目標 Z M Pまわり に発生するモーメントの水平成分が零になるように口ポッ ト 1の上体水 平位置軌道を決定することで、 並進床反力水平成分も決定される。 この ため、 P C T公開公報 WOZ02Z40224の明細書では、 目標歩容の床反 力に関して明示的に設定すべき物理量としては、 目標 Z M Pだけで十分 であった。 したがって、 狭義の目標歩容の定義としては、 上記の b ) で 十分であった。 それに対し、 本実施形態で説明す-るロボッ ト 1の走行歩 容 (詳細は後述する) においては、 床反力鉛直成分 (並進床反力鉛直成 分) も制御上重要である。 このため本発明では、 この床反力鉛直成分の 目標軌道を明示的に設定した上で、 ロボッ ト 1の目標上体鉛直位置等の 軌道を決定する。 そこで、 本明細書では、 狭義の目標歩容の定義として. 次の b ' ) を用いる。
b ' ) 狭義の目標歩容とは、 1歩の期間の目標運動軌道とその目標 Z M P軌道と目標並進床反力鉛直成分軌道との組である。
この明細書では以降、 理解を容易にするために、 特にことわらない限 り、 目標歩容は上記 b ' ) の狭義の目標歩容の意味で使用する。 この場 合、 目標歩容の 「 1歩」 は、 口ポッ ト 1の片方の脚体 2が着地してから もう一方の脚体 2が着地するまでの意味で使用する。 補足すると、 本実 施形態では、 目標歩容は 1歩の期間分の歩容の意味で使用するが、 それ は必ずしも 1歩の期間分のものである必要はなく、 複数歩分、 あるいは 1歩よりも短い (例えば半歩など) の期間分の歩容であってもよい。 尚. 以下の説明では、 「床反力鉛直成分」 は 「並進床反力鉛直成分」 を意味 するものとし、 床反力のうちのモーメントの鉛直成分 (鉛直軸回り成 分) は、 「モーメント」 という用語を用いて 「床反力鉛直成分」 と区別 をする。 同様に、 「床反力水平成分」 は 「並進床反力水平成分」 を意味 するものとする。
また、 歩容における両脚支持期とは言うまでもなく、 口ポッ ト 1がそ の自重を両脚体 2, 2で支持する期間、 片脚支持期とはいずれか一方の みの脚体 2でロボッ ト 1の自重を支持する期間、 空中期とは両脚体 2, 2が床から離れている (空中に浮いている) 期間を言う。 片脚支持期に おいてロボッ ト 1の自重を支持しない側の脚体 2を 「遊脚」 と呼ぶ。 尚. 本実施形態で説明する走行歩容では、 両脚支持期は無く、 片脚支持期 (着地期) と空中期とが交互に繰り返される。 こ-の場合、 空中期では両. 脚体 2, 2とも、 口ポッ ト 1の自重を支持しないこととなるが、 該空中 期の直前の片脚支持期において遊脚であった脚体 2、 支持脚であった脚 体 2をそれぞれ該空中期においても遊脚、 支持脚と呼ぶ。
図 5に示す走行歩容を例にして、 歩容生成装置 1 0 0が生成する目標 歩容の概要を説明する。 なお、 歩容に関するその他の定義および詳細は. 先に本願出願人が提案した特開平 1 0— 8 6 0 8 1号公報にも記載され ているので、 以下では、 特開平 1 0— 8 6 0 8 1号公報に記載されてい ない内容を主に説明する。
まず、 図 5に示す走行歩容を説明する。 この走行歩容は、 人間の通常 的な走行歩容と同様の歩容である。 この走行歩容では、 ロボッ ト 1の左 右いずれか一方のみの脚体 2 (支持脚) の足平 2 2が着地 (接地) する 片脚支持期と、 両脚体 2, 2が空中に浮く空中期とが交互に繰り返され る。 図 5の 1番目の状態は片脚支持期の開始時 (初期) の状態、 2番目 の状態は片脚支持期の中間時点の状態、 3番目の状態は片脚支持期に続 く空中期の開始時 (片脚支持期の終了時) の状態、 4番目の状態は空中 期の中間時点の状態、 5番目の状態は空中期の終了時 (次の片脚支持期 の開始時) の状態を示している。
この走行歩容では、 ロボッ ト 1は、 図 5の 1番目の状態で示すように- 片脚支持期の開始時において支持脚 (口ポッ ト 1の進行方向前側の脚体 2 ) 側の足平 2 2のかかとで着地する。 続いて、 図 5の 2番目の状態で 示すように、 ロポッ ト 1は、 着地した足平 2 2 (支持脚側の足平 2 2 ) の底面のほぼ全面を着地させた後、 図 5の 3番目の状態で示すように、 その支持脚側の足平 2 2 (図 5の 3番目の状態におけるロポッ ト 1の進 行方向後側の脚体 2の足平 2 2 ) のつま先で床を蹴って空中に飛び上が る。 これより片脚支持期が終了すると共に空中期が開始する。 尚、 片脚 支持期における遊脚は、 図 5の 1番目の状態で示すように、 片脚支持期 の開始時では、 支持脚の後側に存在するが、 図 5の 2番目及び 3番目の 状態で示すように次の着地予定位置に向かって支持脚の前側に振り出さ れる。 次いで、 図 5の 4番目の状態で示す空中期を経た後、 口ポッ ト 1 は、 遊脚 (空中期の開始直前の片脚支持期で遊脚となっていた脚体 2 ) の足平 2 2のかかとで着地し、 次の片脚支持期が開始される。
図 5の走行歩容を考慮しつつ、 前記歩容生成装置 1 0 0が生成する目 標歩容の基本的な概要を説明する。 詳細は後述するが、 歩容生成装置 1 0 0が目標歩容を生成するとき、 遊脚側の足平 2 2の着地位置姿勢 (着 地予定位置姿勢) や着地時刻 (着地予定時刻) 等の目標歩容生成用の基 本的な要求値 (要求パラメータ) が、 前記ジョイスティック 7 3の所要 の操作等に応じて歩容生成装置 1 0 0に与えられる。 そして、 歩容生成 装置 1 0 0は、 その要求パラメ一夕を用いて目標歩容を生成する。 より 詳しく言えば、 歩容生成装置 1 0 0は、 上記要求パラメータに応じて、 目標歩容の目標足平位置姿勢軌道、 目標床反力鉛直成分軌道等、 目標歩 容の一部の構成要素を規定するパラメータ (歩容パラメ一夕という) を 決定した上で、 その歩容パラメータを用いて目標歩容の瞬時値を逐次決 定し、 該目標歩容の時系列パターンを生成する。
この場合、 目標足平位置姿勢軌道 (より詳しくは、 足平の位置及び姿 勢の空間的な各成分 (X軸成分等) の目標軌道) は、 例えば本出願人が 特許第 3 2 3 3 4 5 0号にて提案した有限時間整定フィルタを用いて各 足平 2 2毎に生成される。 この有限時間整定フィルタは、 可変時定数の
1次遅れフィルタ、 すなわち、 伝達関数が 1 / ( 1 + r s ) の形で表さ れるフィル夕 (ては可変の時定数。 以下、 このフィル夕を単位フィルタ という) を複数段 (本実施形態では 3段以上)、 直列に接続したもので あり、 所望の指定時刻に指定値に到達するような軌道を生成 · 出力する ことができるものである。 この場合、 各段の単位フィル夕の時定数ては. いずれも、 有限時間整定フィル夕の出力生成を開始してから、 上記指定 時刻までの残時間に応じて逐次可変的に設定される。 より詳しくは、 該 残時間が短くなるに伴い τ:の値が所定の初期値 (> 0 ) から減少されて いき、 最終的には、 該残時間が 0になる指定時刻にて、 て の値が 0にな るように設定される。 そして、 有限時間整定フィル夕には、 前記指定値 (より詳しくは、 有限時間整定フィルタの出力の初期値から前記指定値 への変化量) に応じた高さのステップ入力が与えられる。 このような有 限時間整定フィルタは、 指定時刻にて指定値に達するような出力が生成 されるだけでなく、 指定時刻における有限時間整定フィルタの出力の変 化速度を 0もしくはほぼ 0にすること"^'できる。 Τ Τ位フィル夕 §~ 3段以上 ( 3段でよい)、 接続した場合には、 有限時間整定フィル夕の 出力の変化加速度 (変化速度の微分値) をも 0もしくはほぼ 0にするこ とができる。
尚、 上記のように有限時間整定フィルタにより生成される目標足平位 置姿勢軌道は、 床面に固定された後述の支持脚座標系での各足平 2 2の 目標位置姿勢軌道である。
上述のように生成される目標足平位置姿勢軌道は、 各足平 2 2の位置 が、 その初期接地状態 (目標歩容の初期時刻の状態) から着地予定位置 に向かって徐々に加速しながら移動を開始するように生成される。 そし て、 該目標足平位置姿勢軌道は、 最終的に着地予定時刻までに徐々に位 置の変化速度を 0またはほぼ 0にまで減速し、 着地予定時刻にて着地予 定位置に到達して停止するように生成される。 このため、 各足平 2 2の 着地瞬間における対地速度 (床に固定された支持脚座標系での各足平 2 2の位置の変化速度) が 0またはほぼ 0になる。 したがって、 走行歩容 において同時に全脚体 2 , 2が空中に存在する状態 (空中期での状態) から着地しても、 着地衝撃が小さくなる。 - 前記走行歩容においては、 口ポッ ト 1に作用する重力によって空中期 後半から上体 3の鉛直速度は下向きになり、 着地時でも下向きのままで ある。 したがって、 上記のように各足平 2 2の着地瞬間における対地速 度が 0またはほぼ 0になるように目標足平位置姿勢軌道を生成すると共 に、 後述する如く動力学的平衡条件を満たすように上体 3の目標位置姿 勢軌道を生成したとき、 着地直前において、 上体 3に対する遊脚側の足 平 2 2の柑対速度は、 上向きになる。 すなわち、 走行歩容の着地瞬間で は、 ロボッ ト 1の目標歩容は遊脚側の脚体 2 2を上体 3側に引っ込めな がら着地するような歩容となる。 言い換えれば、 本実施形態での目標歩 容では、 口ポッ ト 1は、 着地瞬間において、 遊脚側の足平 2 2の対地速 度が 0またはほぼ 0になるように、 上体 3から見て該足平 2 2を引き上 げるようにして着地する。 これによつて、 着地衝撃は小さくなり、 着地 衝撃が過大になるのを防止するようにしている。
また、 本実施形態では、 有限時間整定フィルタは、 単位フィルタを 3 段以上 (例えば 3段)、 直列に接続したものであるため、 着地予定時刻 までに各足平 2 2の速度 (足平位置の変化速度) が 0またはほぼ 0にな るだけでなく、 各足平 2 2は、 その加速度も着地予定時刻にて 0または ほぼ 0になって停止する。 つまり、 着地瞬間における対地加速度も 0ま たはほぼ 0になる。 したがって、 着地衝撃がより一層小さくなる。 特に. 実際のロボッ ト 1の着地時刻が目標の着地時刻からずれても、 衝撃があ まり増大しなくなる。 補足すると、 着地予定時刻にて各足平 2 2の対地 速度を 0またはほぼ 0にする上では、 有限時間整定フィル夕の単位フィ ル夕の段数は 2段でもよいが、 この場合には、 着地予定時刻での各足平 2 2の加速度は一般には 0にならない。
尚、 足平姿勢に関しては、 各足平 2 2が着地予定時刻にてその踵で着 地した後、 該足平 2 2の底面のほぼ全面が床に接地するまで動き続ける < このため、 該足平 2 2の底面のほぼ全面が床に接地する時刻を前記指定 時刻に設定して、 前記有限時間整定フィルタにより足平姿勢軌道が生成 される。
また、 本実施形態では、 有限時間整定フィルタを用いて足平位置軌道 を生成したが、 着地予定時刻での足平位置の変化速度 (足平位置の時間 微分値) が 0またはほぼ 0になるように、 さらには、 該着地予定時刻で の足平位置の変化加速度 (変化速度の時間微分値) が 0またはほぼ 0に なるように設定された多項式などの関数を用いて目標足平位置軌道を生 成するようにしても良い。 このことは、 目標足平姿勢軌道の生成に関し ても同様である。 但し、 該目標足平姿勢軌道の生成に関しては、 上述の 如く、 各足平 2 2の底面のほぼ全面が床に設置する時刻にて、 各足平 2
2の姿勢の変化速度、 さらにはその変化加速度が 0またはほぼ 0になる ように多項式などの関数が設定される。
目標床反力鉛直成分軌道は、 例えば図 6のように設定される。 本実施 形態では、 走行歩容における目標床反力鉛直成分軌道の形状 (詳しくは 片脚支持期での形状) は、 台形状 (床反力鉛直成分の増加側に凸の形 状) に定められており、 その台形の高さ、 折れ点の時刻を目標床反力鉛 直成分軌道を規定する歩容パラメータとして、 それらの歩容パラメータ (床反力鉛直成分軌道パラメータ) が決定される。 尚、 走行歩容の空中 期では、 目標床反力鉛直成分は定常的に 0に設定される。 この例のよう に、 目標床反力鉛直成分軌道は、 実質的に連続になるように (値が不連 続にならないように) 設定するのが良い。 これは床反力を制御する際の 口ポッ ト 1の関節の動作を滑らかにするためである。 尚、 「実質的に連 続」 というのは、 アナログ的に連続な軌道 (真の意味での連続な軌道) を離散時間系でデジタル表現したときに必然的に生じる値の飛びは、 該 軌道の連続性を失わせるものではないということを意味するものである, 目標 Z M P軌道は次のように設定される。 図 5の走行歩容においては. 前記したように支持脚側足平 2 2のかかとで着地し、 次にその支持脚側 足平 2 2のつま先で蹴って空中に飛び上がり、 最後に遊脚側足平 2 2の かかとで着地する。 したがって、 片脚支持期での目標 Z M P軌道は、 図 7の上段図に示すように、 支持脚側足平 2 2のかかとを初期位置として 次に支持脚側足平 2 2の底面のほぼ全面が接地する期間において該足平 2 2の前後方向の中央に移動し、 その後、 離床時までに支持脚側足平 2 2のつまさきに移動するように設定される。 ここで、 図 7の上段図は、 X軸方向 (前後方向) の目標 Z M P軌道を示すものであり、 図 7の下段 図は Y軸方向 (左右方向) の目標 Z M P軌道を示すものである。 尚、 片 脚支持期における Y軸方向の目標 Z M P軌道は、 図 7の下段図に示すよ うに、 Y軸方向での支持脚側脚体 2の足首関節の中心位置と同じ位置に 設定される。
走行歩容では、 さらに片脚支持期の終了後、 両脚体 2 , 2が床から離 れ、 床反力鉛直成分が 0になる。 床反力鉛直成分が 0の時、 すなわち空 中期には、 口ポッ ト 1の全体重心は自由落下運動をし、 全体重心まわり の角運動量変化は零である。 この時、 床の任意の点において、 口ポッ ト 1 に作用する重力と慣性力との合力のモ一メントは 0であるので、 目標 Z M Pは不定である。 すなわち、 床のいずれの点も、 「重力と慣性力と の合力が作用するモーメントの水平成分が 0である作用点」 という Z M Pの条件を満たす。 言いかえれば、 任意の点に目標 Z M Pを設定しても, 上記合力が目標 Z M P回りに作用するモーメントの水平成分が 0である という動力学的平衡条件を満足する。 したがって、 目標 Z MPを不連続 に設定しても構わない。 例えば、 空中期では、 目標 Z MPを、 離床時 (片脚支持期の終了時) の目標 Z MP位置から移動しないように設定し. 空中期終端において、 着地時の目標 ZMP位置に.不連続 (ステップ状) に移動するように該目標 ZMP軌道を設定しても構わない。 しかし本実 施形態では、 図 7の上段図に示すように、 空中期における目標 Z MP軌 道の X軸方向位置は、 次の遊脚側脚体 2の着地までに支持脚側足平 2 2 のつまさきから遊脚側足平 2 2のかかとの着地位置まで連続的に移動す るようにした。 また、 図 7の下段図に示すように、 空中期における目標 ZMP軌道の Y軸方向位置は、 次の遊脚側脚体 2の着地までに支持脚側 脚体 2の足首関節の中心の Y軸方向位置から遊脚側脚体 2の足首関節の 中心の Y軸方向位置まで連続的に移動するようにした。 すなわち、 歩容 の全期間において目標 ZMP軌道を連続 (実質的に連続) にした。 そし て、 後述するように、 目標 ZMPまわりの重力と慣性力との合力のモー メント (鉛直成分を除く) が零になるように目標歩容を生成する (より 具体的には目標上体位置姿勢軌道を調整する) ようにした。 モデルの近 似誤差を考慮すると、 生成された歩容が滑らかになるようにするために 空中期においても目標 ZM.P軌道を連続 (実質的に連続) にしておくの が望ましい。 但し、 本実施形態で用いる後述の動力学モデルでは、 目標 ZMPの位置によらずに、 目標 Z M P回りのモーメントの水平成分を 0 にするような目標歩容を一義的に生成できるので、 必ずしも目標 Z MP を連続にしておく必要はない。
尚、 本実施形態では、 図 7に示したような目標 ZMP軌道の折れ点の 位置や時刻が、 Z MP軌道パラメ一夕 (目標 ZMP軌道を規定するパラ メータ) として設定される。 また、 上記した ZMP軌道の 「実質的に連 続」 の意味は、 前記床反力鉛直成分軌道の場合と同様である。 4 009470
2 8
Z M P軌道パラメ一夕は、 安定余裕が高く、 かつ急激な変化をしない ように決定される。 ここで、 ロボッ ト 1の接地面を含む最小の凸多角形 (いわゆる支持多角形) の中央付近に目標 Z M Pが存在する状態を安定 余裕が高いと言う (詳細は特開平 1 0— 8 6 0 8 1号公報を参照)。 図 7の目標 Z M P軌道はこのような条件を満たすように設定したものであ る。
また、 目標上体位置姿勢、 目標足平位置姿勢および後述の基準上体姿 勢はグローバル座檫系で記述される。 グローバル座標系は床に固定され た座標系である。 グローバル座標系としては、 より具体的には、 後述す る支持脚座標系が用いら る。
本実施形態では、 歩容生成装置 1 0 0は、 目標上体姿勢だけでなく、 基準上体姿勢も生成する。 この基準上体姿勢は、 歩容に対する要求 (歩 容生成装置 1 0 0に対する行動計画部などの装置または外部 (前記ジョ ィスティック 7 3等) からの要求) にそのまま従って生成される上体姿 勢である。
目標上体姿勢 (以降、 「基準」 が付いていない場合には、 目標上体姿 勢を表す) は、 長期的には基準上体姿勢に追従するかまたは一致するよ うに生成される。
目標上体姿勢は、 歩行においては、 本願出願人による P C T公開公報 WO/ 02/ 40224 の明細書に記載した実施形態のごとく通常、 常に基準 上体姿勢に一致させておけば良い。 P C T公開公報 WO/ 02Z 40224で は、 基準上体姿勢という概念は記載されていないが、 目標上体姿勢パタ ーンを、 明示的かつ優先的に与えていたので、 基準上体姿勢に目標上体 姿勢が常に一致していることと同じことである。
しかし、 走行など空中期がある歩容ゃ低摩擦床面での歩行においては, 単に上体水平加速度等を調整するだけでは、 目標歩容の床反力水平成分 と床反力モーメント鉛直成分とが許容範囲以内 (あるいは摩擦限界以 内) に存在するようにしつつ動力学的平衡条件を満足することができな い。
そこで、 本実施形態においては、 目標上体姿勢を必要に応じて基準上 体姿勢から故意にずらすこととした。 より具体的には、 以下に説明する 運動モードを複合的に発生させることにより、 目標歩容の床反力水平成 分や床反力モーメント鉛直成分が許容範囲以内 (あるいは摩擦限界以 内) に存在しつつ動力学的平衡条件を満足させるようにした。
図 8のように、 口ポッ ト 1のある運動状態から、 上体水平加速度だけ を摂動 (微小変化) させると、 口ポッ ト 1の全体重心水平加速度と全体 重心まわりの角運動量が摂動する。 すなわち、 上体水平加速度の摂動は, それによつて発生するロボット 1の慣性力と重力との合力に対して動力 学的に釣り合う床反力鉛直成分を摂動させずに (ロボッ ト 1の全体重心 鉛直加速度を摂動させずに)、 目標 Z M Pまわりの床反力モーメント水 平成分 (水平軸まわり成分) と床反力水平成分とを摂動させる。 このよ うにロボッ ト 1の上体水平加速度を摂動させる運動モードを上体並進モ 一ドと呼ぶ。
言いかえると、 床反力鉛直成分を変化させずに、 目標 Z M Pまわりの 床反力モーメント水平成分と床反力水平成分とを変化させる運動を上体 並進モ一ドと呼ぶ。 尚、 上体並進モードでは、 床反力モーメント鉛直成 分 (鉛直軸まわり成分) も摂動するが、 ここではこの点に注目しない。
この時の単位加速度当たりの床反力モーメント水平成分の変化を Δ Μ P、 単位加速度当たりの床反力水平成分の変化を A Fp とする。 図 8に 示す状況で上体 3を前方に水平加速すると、 Δ Μ Ρと Δ Ρρ は図 8に示 す矢印の向きに作用する。
感覚的に判り易くするために、 運動によって発生する慣性力と重力と の合力に釣り合う床反力を用いて表現したが、 慣性力と重力との合力を 用いて表現した方が、 理論的には的確である。 なお、 上記合力と床反力 とは、 互いに大きさが同じで向きが逆になつている。
それに対し、 図 9のように、 口ポッ ト 1のある-運動状態から、 ある点 P rまわりに上体傾斜角加速度 (上体 3の傾斜角の角加速度) を摂動さ せると、 ロボッ ト 1の全体重心は摂動せずに、 全体重心まわりの角運動 量 (鉛直軸まわり成分を除く) が摂動する。 すなわち、 点 P rまわりの 上体傾斜角加速度の摂動は、 床反力鉛直成分と床反力水平成分とを摂動 させずに、 目標 Z M Pまわりの床反カモ一メント水平成分を摂動させる t このようにロボッ ト 1の上体傾斜角加速度を摂動させる運動モ一ドを上 体傾斜モ一ドと呼ぶ。
言いかえると、 床反力鉛直成分と床反力水平成分を変化させずに、 目 標 Z M Pまわりの床反カモ一メント水平成分を変化させる運動を上体傾 斜モードと呼ぶ。
この時の単位角加速度当たりの床反力モーメント水平成分の変化を Δ M r、 単位角加速度当たりの床反力水平成分の変化を A F r とする。 △ F rは零である。 図 9に示す状況で上体 3が前傾するように上体傾斜角 の角加速度を発生させると、 Δ Μ Γは図 9に示す矢印の向きに作用する < また、 図 1 0のように、 口ポッ ト 1のある運動状態から、 ある点 Pq まわりに上体ョ一角加速度 (上体 3の鉛直軸まわりの回転角加速度) を 摂動させると、 口ポッ ト 1の全体重心は摂動せずに、 全体重心まわりの 角運動量鉛直成分が摂動する。 ところで、 口ポッ ト 1の全体重心が摂動 しなければ、 角運動量鉛直成分の摂動は、 作用点に依存しない。 したが つて、 点 Pq まわりの上体ョ一角加速度の摂動は、 床反力鉛直成分、 床 反力水平成分および床反力モーメント水平成分を摂動させずに、 目標 Z M Pまわりの床反力モ一メント鉛直成分を摂動させる。 このようにロボ ッ ト 1の上体ョ一角加速度を摂動させる運動モードを上体ョ一回転モー ドと呼ぶ。
言いかえると、 床反力鉛直成分、 床反力水平成分および床反力モーメ ント水平成分を変化させずに、 目標 Z M Pまわりの床反力モーメント鉛 直成分を変化させる上体運動を上体ョ一回転モードと呼ぶ。
この時の単位角加速度当たりの床反カモ一メント鉛直成分の変化を Δ Mbz、 単位角加速度当たりの床反力水平成分の変化を A Fb とする。 Δ Fb は零である。 図 1 0に示す状況で上体 3を矢印の向きに単位角加速 度で回転させる (角加速度
Figure imgf000033_0001
で回転させる) と、 A Mbz は図 1 0 に示す矢印の向きに作用する。
尚、 図 1 0に示す運動では、 両腕体 5, 5の手先位置が支持脚座標系 (床に固定された座標系) から見て変わらないように、 上体 3を回転さ せたが、 上体 3に対する腕体 5の相対位置姿勢を変えずに、 上体 3 と共 に腕体 5を回転させる運動を上体ョ一回転モードと定義しても良い。 た だし、 この場合には、 後述する運動方程式に若干変更が必要である。 また、 図 1 1 ( a ) , ( b ) のように、 口ポッ ト 1のある運動状態から 両腕体 5, 5の先端を互いに前後に逆方向に摂動させると、 ロボッ ト 1 の全体重心は摂動せずに、 全体重心まわりの角運動量鉛直成分が摂動す る。 以降、 この運動モードを逆位相腕振りモードと呼ぶ。 言い換えると 床反力鉛直成分、 床反力水平成分および床反力モーメント水平成分を摂 動させずに、 目標 Z M Pまわりの床反力モーメント鉛直成分を摂動させ る腕振り運動モ一ドを逆位相腕振りモードと呼ぶ。
右腕体 5 Rを前側に単位量移動させ、 左腕体 5 Lを後ろに単位量移動 させる動作を、 単位角度の逆位相腕振りと呼ぶ。 図 1 1 ( a ), (b ) は. 逆位相腕振り角度が 0 azの状態を表す。
逆位相腕振りモードの単位角加速度当たりの床反カモ一メント鉛直成 分の変化を AMaz、 単位角加速度当たりの床反力水平成分の変化を厶 Fa とする。 AFaは零である。 図 1 1 ( a), (b) に示す状況で右腕体 5 Rを前側に加速し、 左腕体 5 Lを後ろ側に加速する (角加速度 j3 a> 0 で振る) と、 図 1 1 ( a) に示す矢印の向き (鉛直軸の正の向き) に 床反力モ一メント鉛直成分 Mazが作用する。
次に、 本実施形態に用いられるロポッ ト 1の動力学モデルについて説 明する。 本実施形態では単純化された (近似された) 以下に示す動力学 モデルを用いる。 ただし、 以下に示す動力学モデルに関しては、 キネマ テイクスモデル (関節、 リンクの構造や寸法を表すモデルであり、 言い 換えると、 関節変位とリ ンクの位置姿勢との関係を表すモデルであ る。) も必要である。
図 1 2は、 本実施形態に用いられるロボッ ト 1の動力学モデルである, 図示の如く、 この動力学モデルは、 ロボッ ト 1の各脚体 2にそれぞれ対 応する 2つの質点 2 m, 2m、 及び上体 3に対応する質点 3 mからなる 合計 3質点と、 イナ一シャがあって質量のない 4つのフライホイ一ル F Hx、 FHy、 FHbz、 F Haz とから構成されるモデルである。 フライ ホイール FHx、 FHy、 F Hbz、 F Haz は、 それぞれ X軸 (前後方向 軸)、 Y軸 (左右方向軸)、 Z軸 (鉛直軸)、 Z軸 (鉛直軸) の回りに回 転可能なものである。 この動力学モデルでは、 デカップルド、 即ち、 脚 体 2, 2の動力学 (各質点 2 m, 2mの動力学) と上体 3の動力学 (質 点 3 m及びフライホイール F Hx、 F Hy および F Hbz の動力学) と腕 体 5, 5の動力学 (フライホイール F Haz の動力学) とが相互に非干 渉に構成されると共に、 口ポッ ト 1全体の動力学は、 それらの線形結合 で表される。 また、 さらに、 上体 3の運動と床反力との関係も、 上体 3 の並進運動 (上体並進モード) と床反力との関係、 上体 3の傾斜運動 (上体傾斜モード) と床反力との関係、 上体 3のョ一回転運動 (上体ョ 一回転モード) と床反力との関係、 並びに両腕体 5, 5の逆位相腕振り 運動 (逆位相腕振りモード) と床反力との関係に分離される。 具体的に は、 上体質点 3 mの水平運動によって発生する床反力は、 上体 3の水平 方向並進運動 (上体並進モ一ド) によって発生する床反力に対応し、 フ ライホイ一ル F Hx および FHy の回転運動によって発生する床反力は. 上体 3の傾斜角の回転運動 (上体傾斜モード) によって発生する床反力 に対応する。 なお、 フライホイール FHx の回転運動は、 上体 3の傾斜 角の口一ル方向 (X軸回り) の回転運動に対応し、 フライホイール FH y の回転運動は、 上体 3の傾斜角のピッチ方向 (Y軸回り) の回転運動 に対応している。 また、 フライホイール F Hbz の回転運動によって発 生する床反力は、 上体 3のョ一回転運動 (上体ョ一回転モード) によつ て発生する床反力に対応する。 また、 フライホイール FHaz の回転運 動によって発生する床反力は、 逆位相腕振り (逆位相腕振りモード) に よって発生する床反力に対応する。
尚、 ロボッ ト 1の腕体の質量は上体 3に含まれるものとし、 上体質点 3 mは腕体 5, 5の質量を含む質量をもつ。
説明の便宜上、 動力学モデルに関する変数およびパラメータを以下の ように定義する。 なお、 各質点 2 m, 2 m, 3mはそれが対応する部位 の代表点であるか、 あるいはその部位の位置姿勢から幾何学的に一義的 に決定される点に相当する。 例えば、 支持脚側脚体 2の質点 2 mの位置 は、 該脚体 2の足平 2 2の底面の前記代表点から所定の距離だけ上方の 点とする。
Z sup: 支持脚質点鉛直位置
ZSWg: 遊脚質点鉛直位置
Zb : 上体質点鉛直位置 (上体鉛直位置とは一般的には異なる。)
Z Gtotal: 全体重心鉛直位置 X sup: 支持脚質点 X位置
Y sup: 支持脚質点 Y位置
X swg: 遊脚質点 X位置
Y swg : 遊脚質点 Y位置 - X b : 上体質点 X位置 (上体質点位置は、 前記点 P rから上体の前後方 向にある所定の距離だけオフセッ トした点である。 オフセッ トは、 直立 時などにおいて、 厳密モデルの重心位置と、 本動力学モデルの重心位置 がなるベく一致するように、 決定される。 上体水平位置とは一般的には 異なる。) .
Y b: 上体質点 Y位置
X Gtotal: 全体重心水平 X位置
Y Gtotal: 全体重心水平 Y位置
Θ bx: 鉛直方向に対する X軸回りの上体傾斜角
Θ by: 鉛直方向に対する Y軸回りの上体傾斜角
Θ bz: 上体ョ一回転角
Θ az: 逆位相腕振り角
mb: 上体質点質量
msup: 支持脚質点質量
mswg: 遊脚質点質量
mtotal: 口ポッ ト総質量 ( = mtotal + msup + mswg)
J : 上体慣性モーメント (上体傾斜モードにおける等価慣性モーメント である。 すなわち、 FHxおよび FHy の慣性モーメントである。 実ロポ ッ ト 1の上体 3部位の慣性モーメントとは一般的には一致しない。) J bz: 鉛直軸まわり上体慣性モーメント (上体ョ一回転モードにおけ る等価慣性モーメントである。 実口ポッ ト 1の上体 3部位の慣性モーメ ントとは一般的には一致しない。) J az : 腕振り鉛直軸まわり慣性モーメント (スピンキャンセルのため の逆位相腕振りにおける等価慣性モーメントである。 すなわち、 ; FHz の慣性モーメントである。)
Fx : 床反力 X成分 (詳しくは並進床反力の前後方向 (X軸) 成分) Fy : 床反力 Y成分 (詳しくは並進床反力の左右方向 (Y軸) 成分)
Fz : 床反力鉛直成分 (詳しくは並進床反力の鉛直方向 (Z軸) 成分。 本実施形態では、 これは目標並進床反力鉛直成分に等しい)
Mx: 目標 Z M Pまわりの床反力モーメント X成分 (詳しくは床反カモ ーメン卜の前後軸 (X軸) まわり成分)
My : 目標 Z M Pまわりの床反力モーメント Y成分 (詳しくは床反カモ 一メントの左右軸 (Y軸) まわり成分)
Mz: 目標 Z M Pまわりの床反力モーメント Z成分 (詳しくは床反カモ 一メントの鉛直軸 (Z軸) まわり成分)
なお、 各質点 2 m, 3 mの X位置、 Y位置はそれぞれ前後方向 (X軸 方向) の位置、 左右方向 (Y軸方向) の位置を意味している。 また、 本 実施形態では、 各脚体 2の質点 2 mの位置と、 その脚体 2の足平 2 2の 位置 (足平 2 2のあらかじめ定めた代表点の位置) との位置関係はあら かじめ定められており、 一方の位置が決まれば、 他方の位置は一義的に 定まるものとされている。 また、 上体質点 3 mと、 上体 3の位置 (上体 3のあらかじめ定められた代表点の位置) との位置関係は、 上体 3の姿 勢角 (以降、 上体に関しては、 姿勢角とは、 傾斜角とョ一角を意味する ものとする。) に応じてあらかじめ定められており、 一方の位置と姿勢 角とが決まれば、 他方の位置は一義的に定まるものとされている。
また、 任意の変数 Xに対して、 dX/dt は Xの 1階微分を表わし、 d2X/dt2 は Xの 2階微分を表わす。 したがって、 変数 Xが変位ならば、 dX/dt は速度、 d2X/dt2 は加速度を意味する。 gは重力加速度定数を示 す。 ここでは、 gは正の値とする。
上記動力学モデルの運動方程式 (動力学的平衡条件を表す式) は、 式 0 1、 式 0 2x、 式 0 2y、 式 0 3 x、 式 0 3y、 式 0 3 zで表される。 F z=mb * (g+d2Zb/dt2) + msup * (g+d2Zs p/dt2)
+ mswg * (g+d2Zswg/dt2) 式 0 1
Fx=mb* d2Xb/dt2 + msup * d2Xsup/dt2 + mswg * d2Xswg/dt2
……式 0 2 x Fy=mb * d2Yb/dt2 + msup * d2Ysup/dt2 + mswg * d2Yswg/dt2
……式 0 2y
Mx= mb * (Yb - Yzmp) * (g+d2Zb/dt2)
-mb * (Zb一 Zzmp) * (d2Yb/dt2)
+ msup * (Ysup― Yzmp) * (g+d2Zsup/dt2)
― msup * (Zsup― Zzmp) * (d2Ysup/dt2)
+ mswg * (Yswg- Yzmp) * (g+d2Zswg/dt2)
― mswg * (Zswg-Zzmp) * (d2Yswg/dt2) + J * d2 Θ bx/dt2
……式 0 3 x
My=— mb * (Xb - Xzmp) * (g+d2Zb/dt2)
+ mb * (Zb - Zzmp) * (d2Xb/dt2)
一 msup * (Xsup - Xzmp) * (g+d2Zsup/dt2)
+ msup * (Zsup― Zzmp) * (d2Xsup/dt2)
一 mswg * (Xswg-Xzmp) * (g+d2Zswg/dt2)
+ mswg * (Zswg-Zzmp) * (d2Xswg/dt2) + J* d2 ^ by/dt2 式 0 3y
Mz=mb* (Xb- zmp) * (d2Yb/dt2)— mb * (Yb― Yzmp) * (d2Xb/dt2)
+ msup * (Xsup - Xzmp) * (d2Ysup/dt-2)
一 msup * (Ysup一 Yzmp) * (d2Xsup/dt2)
+ mswg * (Xswg— Xzmp) * (d2Yswg/dt2)
一 mswg * (Yswg- Yzmp) * (d2Xswg/dt2)
+ Jbz * d2 Θ bz/dt2 + Jaz*d2 Θ az/dt2
式 0 3 z また、 ロポッ ト全体重心位置には次の関係式が成立する。
Z Gtotal= (mb * Zb + msup * Zsup + mswg * Zswg)/mtotal
式 0 4
X Gtotal= (mb * Xb + msup * Xsup + mswg * Xswg) /"mtotal
式 0 5 x
Y Gtotal= (mb * Yb + msup * Ysup + mswg * Yswg) 7 mtotal
式 0 5y 以下に上記動力学モデルと前記 AFp、 ΔΜρ、 AF r、 Δ Μ Γの関係 を示す。
前記 AFp は、 式 0 2 Xまたは式 0 2 yにおいて、 d2Xb/dt2 または d2Yb/dt2を単位量だけ摂動させたときの Fxまたは Fyの摂動量である から、 次式によって求められる。
△ Fp = mb …式 0 6
すなわち、 上体並進モードの各水平軸 (X軸、 Y軸) 方向の単位加速度 当たりの床反力水平成分の変化 AFp は、 上記動力学モデルの上体質点 09470
38
3 mの質量に相当する。
前記 ΔΜρ は、 式 0 3 yまたは式 0 3 Xにおいて、 d2Xb/dt2 または d2Yb/dt2 を単位量だけ摂動させたときの My または Mxの摂動量であ るから、 次式によって求められる。 .
AMp = mb* (Zb-Zzmp) …式 0 7
すなわち、 上体並進モ一ドの各水平軸 (X軸、 Y軸) 方向の単位加速度 当たりの床反カモ一メント水平成分の変化 ΔΜρは、 上記動力学モデル の上体質点質量に、 上体質点 3 mの目標 Ζ ΜΡからの高さ (鉛直位置) を乗じたものになる。 このときの上体質点 3 m及び目標 Z MPの位置と. 上体質点 3 mの運動との関係は、 上体質点 3 mを倒立振子質点、 目標 Z MPを倒立振子支点に対応づけたときの倒立振子の挙動に相当する。 な お、 Y軸方向の ΔΜρ は、 より正確には、 式 0 7の右辺の符号を反転さ せたものである。
前記 AFrは、 式 0 2 Xまたは式 0 2 yにおいて、 d2 Θ by/dt2 を単位 量だけ摂動させたときの Fx または Fy の摂動量であるから、 次式によ つて求められる。
厶 Fr =0 …式 0 8
すなわち、 上体傾斜モードの各水平軸 (X軸、 Y軸) 方向の単位加速度 当たりの床反力水平成分の変化 AFrは、 0である。
前記 ΔΜΓは、 式 0 3 Xまたは式 0 3 yにおいて、 d2 Θ bx/dt2または d2 Θ by/dt2を単位量だけ摂動させたときの Mxまたは Myの摂動量であ るから、 次式によって求められる。
厶 M r = J …式 0 9
すなわち、 上体傾斜モ一ドの各水平軸 (X軸、 Y軸) 方向の単位加速度 当たりの床反力モーメント水平成分の変化 AMr は、 水平軸フライホイ ール (FHxおよび Fhy) の慣性モーメントに相当する。 前記 A Mbz は、 式 0 3 z において、 d2 0 bz/dt2 を単位量だけ摂動さ せたときの Mzの摂動量であるから、 次式によって求められる。
厶 Mbz= J bz …式 0 9 b
すなわち、 上体ョ一回転モードの単位加速度当た-りの床反力モーメント 成分の変化 A Mbz は、 上体ョ一回転に対応するフライホイール F Hbz の慣性モーメントに相当する。
前記 A Maz は、 式 0 3 z において、 d2 0 az/dt2 を単位量だけ摂動さ せたときの Mzの摂動量であるから、 次式によって求められる。
Δ Maz= J az …式 0 9 a
すなわち、 逆位相腕振りの単位角加速度当たりの床反力モーメント成分 の変化 A Maz は、 腕振りに対応するフライホイール FHaz の慣性モー メントに相当する。
本実施形態における歩容生成装置 1 0 0は、 ロボッ ト 1の片方の脚体
2が着地してから他方の脚体 2が着地するまでの 1歩分の目標歩容 (前 記狭義の意味での目標歩容) を単位として、 その 1歩分の目標歩容を順 番に生成する。 従って、 本実施形態で生成する図 5の走行歩容では、 該 目標歩容は片脚支持期の開始時から、 これに続く空中期の終了時 (次の 片脚支持期の開始時) までの目標歩容が順番に生成される。 ここで、 新 たに生成しょうとしている目標歩容を 「今回歩容」、 その次の目標歩容 を 「次回歩容」、 さらにその次の目標歩容を 「次次回歩容」、 というよう に呼ぶ。 また、 「今回歩容」 の一つ前に生成した目標歩容を 「前回歩 容 J と呼ぶ。
また、 歩容生成装置 1 0 0が今回歩容を新たに生成するとき、 該歩容 生成装置 1 0 0には、 口ポッ ト 1の 2歩先までの遊脚側足平 2 2の着地 予定位置姿勢、 着地予定時刻の要求値 (要求) が歩容に対する要求パラ メ一夕として入力される (あるいは歩容生成装置 1 0 0が記憶装置から 要求パラメ一夕を読み込む)。 そして、 歩容生成装置 1 0 0は、 これら の要求パラメータを用いて、 目標上体位置姿勢軌道、 目標足平位置姿勢 軌道、 目標 Z M P軌道、 目標床反力鉛直成分軌道、 目標腕姿勢軌道等を 生成する。 このとき、 これらの軌道を規定する歩容パラメータの一部は. 歩行の継続性を確保するように適宜修正される。
以下に図 5の走行歩容を生成することを例にして、 歩容生成装置 1 0 0の歩容生成処理の詳細を図 1 3〜図 4 6を参照しつつ説明する。 図 1 3は、 その歩容生成装置 1 0 0が実行する歩容生成処理のメインル一チ ンを示すフローチャート (構造化フローチャート) である。
まず S 0 1 0において時刻 tを 0に初期化するなど種々の初期化作業 が行なわれる。 この処理は、 歩容生成装置 1 0 0の起動時等に行なわれ る。 次いで、 S O 1 2を経て S O 1 4に進み、 歩容生成装置 1 0 0は、 制御周期 (図 1 3のフローチャートの演算処理周期) 毎の夕イマ割り込 みを待つ。 制御周期は A tである。
次いで、 S 0 1 6に進み、 歩容の切り替わり目であるか否かが判断さ れ、 歩容の切り替わり目であるときは S 0 1 8に進むと共に、 切り替わ り目でないときは S O 3 0に進む。 ここで、 上記 「歩容の切り替わり 目」 は、 前回歩容の生成が完了し、 今回歩容の生成を開始するタイミン グを意味し、 例えば前回歩容の生成を完了した制御周期の次の制御周期 が歩容の切り替わり目になる。
S 0 1 8に進むときは時刻 tが 0に初期化され、 次いで S 0 2 0に進 み、 次回歩容支持脚座標系、 次次回歩容支持脚座標系、 今回歩容周期お よび次回歩容周期が読み込まれる。 これらの支持脚座標系及び歩容周期 は、 前記要求パラメータにより定まるものである。 すなわち、 本実施形 態では、 歩容生成装置 1 0 0にジョイスティック 7 3等から与えらる要 求パラメータは、 2歩先までの遊脚側足平 2 2の着地予定位置姿勢 (足 平 2 2が着地してから足底を床面にほぼ全面的に接触させるように、 滑 らさずに回転させた状態での足平位置姿勢)、 着地予定時刻の要求値を 含んでおり、 その 1歩目の要求値、 2歩目の要求値がそれぞれ、 今回歩 容、 次回歩容に対応するものとして、 今回歩容の.生成開始時 (前記 S O 1 6の歩容の切り替わり目) 以前に歩容生成装置 1 0 0に与えられたも のである。 なお、 これらの要求値は今回歩容の生成途中でも変更するこ とは可能である。
そして、 上記要求パラメ一夕における 1歩目の遊脚側足平 2 2 (今回 歩容での遊脚側足平 2 2 ) の着地予定位置姿勢の要求値に対応して次回 歩容支持脚座標系が定まる。
例えば図 1 6を参照して、 今回歩容 ( 1歩目) に係わる遊脚側足平 2 2 (図では 2 2 L ) の着地予定位置姿勢の要求値が、 今回歩容の支持脚 側足平 2 2 (図では 2 2 R ) の着地位置姿勢に対して、 今回歩容支持脚 座標系の X軸方向 (今回歩容の支持脚側足平 2 2 Rの前後方向) 及び Y 軸方向 (今回歩容の支持脚側足平 2 2 Rの左右方向) に、 それぞれ xnext、 ynext だけ移動し、 且つ Z軸回り (鉛直軸回り) に 0 znext だ け回転させた位置姿勢であるとする。 ここで、 支持脚座標系は、 支持脚 側足平 2 2を水平姿勢 (より一般的には床面に平行な姿勢) にして該支 持脚側足平 2 2の底面のほぼ全面を床面に接触 (密着) させた状態にお いて、 該支持脚側脚体 2の足首中心から床面に延ばした垂線が該床面と 交わる点 (この点は、 本実施形態の例では支持脚側足平 2 2の底面のほ ぼ全面を床面に接触させた状態では、 該足平 2 2の代表点と合致する) を原点とし、 その原点を通る水平面を X Y平面とするグローバル座標系 (床に固定された座標系) である。 この場合、 X軸方向、 Y軸方向は、 それぞれ支持脚側足平 2 2の前後方向、 左右方向である。 尚、 支持脚座 標系の原点は、 必ずしも支持脚側足平 2 2の底面のほぼ全面を床面に接 触させた状態での該足平 2 2の代表点 (足平 2 2の位置を代表する点) に合致する必要はなく、 該代表点と異なる床面上の点に設定されてもよ い。
このとき、 次回歩容支持脚座標系は、 図示のよ.うに今回歩容の遊脚側 足平 2 2 Lの着地予定位置姿勢の要求値に従って該足平 2 2を着地させ た場合 (足平 2 2の代表点を着地予定位置の要求値に一致させ、 且つ、 足平 2 2の姿勢 (向き) を着地予定姿勢の要求値に一致させた場合) に おける該足平 2 2 Lの代表点 (より詳しくは該代表点に合致する床上の 点) を原点とし、 該原点を通る水平面内における該足平 2 2 Lの前後方 向、 左右方向をそれぞれ X ' 軸方向、 Y ' 軸方向とする座標系である。 上記と同様に、 2歩目の遊脚側足平 2 2の着地予定位置姿勢の要求値 に応じて次々回歩容支持脚座標系 (図 1 6の X " Y " 座標を参照) が定 まる。 また、 今回歩容周期は、 今回歩容の支持脚側足平 2 2の着地予定 時刻 (要求値) から、 1歩目 (今回歩容) の遊脚側足平 2 2の着地予定 時刻 (要求値) までの時間として定まり、 次回歩容周期は、 1歩目の遊 脚側足平 2 2の着地予定時刻 (要求値) から 2歩目の遊脚側足平 2 2の 着地予定時刻 (要求値) までの時間として定まる。
尚、 前記要求パラメータは、 本実施形態ではジョイスティック 7 3の 所要の操作によって歩容生成装置 1 0 0に入力されるものであるが、 あ らかじめ該要求パラメータあるいはこれに対応する上記の支持脚座標系 の位置姿勢及び歩容周期をロポッ ト 1の移動スケジュールとして記憶し ておいても良い。 あるいは、 ジョイスティック 7 3などの操縦装置から の指令 (要求) とそのときまでの口ポッ トの 1の移動履歴とを基に前記 次回及び次次回歩容支持脚座標系、 並びに今回及び次回歩容周期を決定 しても良い。
次いで S 0 2 2に進み、 歩容生成装置 1 0 0は、 今回歩容に続く仮想 的な周期的歩容としての定常旋回歩容の歩容パラメータを決定する。 該 歩容パラメ一夕は、 定常旋回歩容における目標足平位置姿勢軌道を規定 する足平軌道パラメータ、 基準とする上体姿勢軌道を規定する基準上体 姿勢軌道パラメータ、 基準とする腕姿勢軌道を規定する基準腕姿勢軌道 パラメ一夕、 目標 Z M P軌道を規定する Z M P軌道パラメ一夕、 目標床 反力鉛直成分軌道を規定する床反力鉛直成分軌道パラメ一夕を含む。 さ らに、 床反力水平成分許容範囲および床反力モーメント鉛直成分許容範 囲を規定するパラメータも歩容パラメータに含まれる。
尚、 この明細書で 「定常旋回歩容」 は、 その歩容を繰り返したときに 歩容の境界 (本実施形態では 1歩毎の歩容の境界) において口ポッ ト 1 の運動状態 (足平位置姿勢、 上体位置姿勢等の状態) に不連続が生じな いような周期的歩容を意味するものとして使用する。 以降、 「定常旋回 歩容」 を 「定常歩容」 と略す場合もある。
周期的歩容である定常旋回歩容は、 本実施形態では、 口ポッ ト 1の 2 歩分の歩容、 すなわち今回歩容に続く第 1旋回歩容と該第 1旋回歩容に 続く第 2旋回歩容とからなる歩容を該定常旋回歩容の 1周期分の歩容と して、 その 1周期分の歩容を繰り返す歩容である。 尚、 ここで 「旋回」 なる用語を用いたのは、 旋回率を零とするときは直進を意味するので、 直進も広義の意味で旋回に含ませることができるからである。 また、 生 成する目標歩容が前記図 5の走行歩容であると、 その目標歩容の今回歩 容は、 片脚支持期及び空中期を有する走行歩容であるので、 定常旋回歩 容の第 1旋回歩容及び第 2旋回歩容は、 いずれも今回歩容と同様に片脚 支持期と空中期とを有する歩容である。 つまり、 第 1旋回歩容及び第 2 旋回歩容の基本的な歩容形態は今回歩容と同一である。
定常旋回歩容について補足すると、 2足移動口ポッ トでは、 定常旋回 歩容の 1周期分は、 前記した狭義の意味での歩容が、 少なく とも 2歩分, 必要である。 そして、 3歩以上の歩容を 1周期分の歩容とする複雑な定 常旋回歩容を設定することも可能である。 但し、 定常旋回歩容は、 後述 の如く、 今回歩容の終端 (終了時刻) における発散成分 (詳細は後述す る) を決定するためだけに用いられる。 このため.、 3歩以上の歩容を 1 周期とする定常旋回歩容を用いることは、 歩容生成の処理が煩雑となる にも関わらず、 効果は少ない。 そこで、 本実施形態での定常旋回歩容の 1周期分の歩容を 2歩分の歩容 (第 1及び第 2旋回歩容) により構成す るようにしている。 尚、 3足以上の脚式移動口ポッ トにあっては、 それ に応じて定常旋回歩容を定義するに足る歩容数が増加する。 以下では、 説明の便宜上、 複数の狭義の歩容 (本実施形態では 2歩分の歩容) から 成る定常旋回歩容を 1歩の歩容とみなす。
定常旋回歩容は、 歩容生成装置 1 0 0で今回歩容の終端における発散 成分や上体鉛直位置速度、 上体姿勢角及びその角速度等のロポッ ト 1の 運動状態を決定するために暫定的に作成されるものであり、 歩容生成装 置 1 0 0からそのまま出力されるものではない。
尚、 「発散」 とは、 図 1 4に示すように、 2足移動ロボッ ト 1の上体 3の位置が両足平 2 2 , 2 2の位置からかけ離れた位置にずれてしまう ことを意味する。 発散成分の値とは、 2足移動ロボッ ト 1の上体 3の位 置が両足平 2 2, 2 2の位置 (より具体的には、 支持脚側足平 2 2の接 地面に設定されたグローバル座標系 (支持脚座標系) の原点) からかけ 離れていく具合を表す数値である。
本実施形態では、 目標歩容が、 前記発散を生じることなく、 継続的に 生成されるように、 発散成分を指標にして歩容を生成するようにした。 ただし、 継続的な歩容の代表例である定常歩容 (歩容の軌道の不連続を 発生することなく、 同じパターンの歩容を繰り返すことができる周期的 歩容であり、 原理上、 無限回繰り返しても発散しない歩容) の初期発散 成分 (定常歩容の初期時刻での発散成分) であっても、 単純に 0ではな く、 定常歩容のパラメ一夕が変われば、 その初期発散成分も変わる。 す なわち、 歩き方あるいは走り方等の歩容形態によって、 適切な発散成分 が変わる。 そこで、 本実施形態では、 これから生成しょうとする今回歩 容の後に続く定常歩容が前記今回歩容に係わる要求パラメ一夕に応じて 設定され、 定常歩容の初期発散成分を求めてから、 今回歩容の終端発散 成分を定常歩容の初期発散成分に一致させる (より一般的には、 今回歩 容を定常歩容に連続させもしくは近づける) ように、 今回歩容を生成す る。 これのような歩容生成の基本的な指針は本出願人が先に提案した P C T公開公報 WOZ 02Z40224のものと同様である。
本発明の実施形態では、 p c T公開公報 WO/02Z40224の第 1実施 形態で用いたような線形な 3質点動力学モデルを用いていないが、 次式 で定義される発散成分および収束成分の概念は、 図 1 2に示したモデル のような非線形な動力学モデルの挙動の摂動分に対しても、 近似的に十 分な精度で適用することができる。 発散成分 =上体質点水平位置 +上体質点水平速度 Ζ ω θ
…式 1 0 収束成分-上体質点水平位置 -上体質点水平速度 Ζ ω θ '
…式 1 1 ただし、 ここでの上体質点水平位置は、 図 1 2に示す前記動力学モデ ルにおいては、 上体質点水平位置 Xbを表す。
また、 ω 0、 ω θ ' はある所定の値である。 これらの ω 0、 ω θ ' 値は ほぼ同じ値であるが、 厳密には一致しない。 そして、 走行時では、 P C T公開公報 WOZ 02Z40224の歩行歩容生成時の値に対して若干変更す る必要がある。 発散成分および収束成分に関するその他の詳細は、 P C T公開公報 WO/ 02/ 40224 に記述されているので、 ここではこれ以上言及しない, 本実施形態においては、 P C T公開公報 WOZ 02/ 40224に示した方 式に加え、 さらに、 後述するように、 目標床反力.鉛直成分軌道を規定す る歩容パラメ一夕を設定し、 この目標床反力鉛直成分を動力学的に満足 するようにロボッ ト 1の全体重心鉛直位置を決定する。 この場合、 床反 力鉛直成分の 2階積分値がロポッ ト 1の全体重心鉛直位置を規定するも のになるので、 目標床反力鉛直成分の設定が悪いと、 ロボッ ト 1の全体 重心鉛直位置もしくは上体鉛直位置が高くなり過ぎたり低くなり過ぎた りする。 したがって、 目標床反力鉛直成分の設定方法も重要な課題であ る。 しかし、 床反力鉛直成分と上体鉛直位置との関係は、 Z M Pと上体 水平位置との関係に似ているので、 上体水平位置速度を適切にするため の目標 Z M P決定手法の一部を、 以下の本実施形態に示すように、 少し 変更するだけで、 上体鉛直位置速度を適切にするための目標床反力鉛直 成分の決定手法に適用することができる。
本題に戻り、 S O 2 2では、 図 1 5に示すフローチャートに従って、 以下の処理が行われる。
まず、 S 1 0 0において、 今回歩容、 第 1旋回歩容、 第 2旋回歩容の 順に足平位置姿勢軌道がつながるように、 定常歩容の歩容パラメータの うちの足平軌道パラメータが決定される。 以下に具体的な設定方法を図 1 6を参照して説明する。 尚、 以降の説明では、 支持脚側の脚体 2の足 平 2 2を支持脚足平と称し、 遊脚側の脚体 2の足平 2 2を遊脚足平を称 する。 また、 歩容の 「初期」、 「終端」 はそれぞれ歩容の開始時刻、 終了 時刻もしくはそれらの時刻における瞬時歩容を意味する。
足平軌道パラメータは、 第 1旋回歩容および第 2旋回歩容の初期及び 終端のそれぞれにおける支持脚足平及び遊脚足平のそれぞれの位置姿勢- 0
4 7 各旋回歩容の歩容周期等から構成される。 この足平軌道パラメ一夕のう ち、 第 1旋回歩容初期遊脚足平位置姿勢は、 次回歩容支持脚座標系から 見た今回歩容終端支持脚足平位置姿勢とされる。 この場合、 走行歩容で は、 今回歩容終端における支持脚足平 2 2は、 空中に移動している。 そ して、 今回歩容終端支持脚足平位置姿勢は、 今回歩容初期支持脚足平位 置姿勢 (=前回歩容終端遊脚足平位置姿勢) から、 前記要求パラメータ における 2歩目の遊脚側足平 2 2の着地予定位置姿勢の要求値 (今回歩 容の支持脚足平 2 2の次回歩容における着地予定位置姿勢の要求値) も しくは該要求値に対応する次次回歩容支持脚座標系に応じて定まる次回 歩容終端遊脚足平位置姿勢に至る足平位置姿勢軌道 ( しくは次回歩容 支持脚座標系から見た軌道) を、 今回歩容終端まで前記有限時間整定フ ィル夕を用いて生成することにより求められる。
尚、 次回歩容終端遊脚足平位置姿勢は、 その位置姿勢から足平 2 2を 接地させたまま、 つま先を下げるように該足平 2 2を水平姿勢までピッ チ方向に所定角度回転させたときの該足平の位置姿勢が次次回歩容支持 脚座標系の位置姿勢に合致するように決定される。 換言すれば、 次回歩 容終端遊脚足平位置姿勢は、 前記要求パラメータにおける 2歩目の遊脚 側足平 2 2の着地位置姿勢の要求値から、 該足平 2 2をすベらないよう に接地させたまま、 つま先を持ち上げるように該足平 2 2をピッチ方向 に所定角度回転させた状態 (つま先を上げてかかとを着地させた状態) での該足平 2 2の位置姿勢である。
また、 第 1旋回歩容初期支持脚足平位置姿勢は、 次回歩容支持脚座標 系から見た今回歩容終端遊脚足平位置姿勢とされる。 この場合、 今回歩 容終端遊脚足平位置姿勢は、 前記次回歩容終端遊脚足平位置姿勢の場合 と同様、 前記次回歩容支持脚座標系もしくはこれに対応する前記要求パ ラメ一夕の 1歩目 (今回歩容) の遊脚着地予定位置姿勢の要求値に応じ て定まるものである。 すなわち、 該今回歩容終端遊脚足平位置姿勢は、 その位置姿勢から、 足平 2 2を接地させたまま、 つま先を下げるように 該足平 2 2を回転させて該足平 2 2の底面のほぼ全面を床面に接地させ たときの該足平の代表点が次回歩容支持脚座標系.の原点に合致するよう に決定される。
第 1旋回歩容終端遊脚足平位置姿勢は、 今回歩容終端遊脚足平位置姿 勢や次回歩容終端遊脚足平位置姿勢の決定手法と同様に、 次回歩容支持 脚座標系から見た次次回歩容支持脚座標系の位置姿勢に基づいて決定さ れる。 より具体的には、 第 1旋回歩容終端遊脚足平位置姿勢は、 その位 置姿勢から足平 2 2を接地させたまま、 すべらないように該足平 2 2を 水平姿勢まで所^角度回転させたときの足平位置姿勢が、 次回歩容支持 脚座標系から見た次次回歩容支持脚座標系の位置姿勢に合致するように 設定される。 '
第 1旋回歩容終端では、 支持脚足平 2 2は離床して空中にある。 支持 脚足平 2 2が離床してから後の軌道を決定するために、 第 1旋回歩容支 持脚足平着地予定位置姿勢が設定される。 第 1旋回歩容支持脚足平着地 予定位置姿勢は、 次回歩容支持脚座標系から見た次次次回歩容支持脚座 標系の位置姿勢に基づいて設定される。 より具体的には、 第 1旋回歩容 支持脚足平着地予定位置姿勢は、 次回歩容支持脚座標系から見た次次次 回歩容支持脚座標系の位置姿勢である。 なお、 次次次回歩容支持脚座標 系は、 次次回歩容支持脚座標系と次次次回歩容支持脚座標系との相対的 位置姿勢関係が、 今回歩容支持脚座標系と次回歩容支持脚座標系との相 対的位置姿勢関係と一致するように設定される。
第 1旋回歩容終端支持脚足平位置姿勢は、 第 1旋回歩容初期支持脚足 平位置姿勢を求めた場合と同様に、 第 1旋回歩容初期支持脚足平位置姿 勢から、 前記第 1旋回歩容支持脚足平着地予定位置姿勢に至る足平位置 004鐘 70
4 9 姿勢軌道 (より詳しくは次回歩容支持脚座標系から見た軌道) を、 第 1 旋回歩容終端まで前記有限時間整定フィルタを用いて生成することによ り求められる。
第 2旋回歩容初期遊脚足平位置姿勢は、 次次回歩容支持脚座標系から 見た第 1旋回歩容終端支持脚足平位置姿勢とされる。 第 2旋回歩容初期 支持脚足平位置姿勢は、 次次回歩容支持脚座標系から見た第 1旋回歩容 終端遊脚足平位置姿勢とされる。
第 2旋回歩容終端遊脚足平位置姿勢は、 今回歩容支持脚座標系から見 た今回歩容終端遊脚足平位置姿勢とされる。 第 2旋回歩容終端支持脚足 平位置姿勢は、 今回歩容支持脚座標系から見た今回歩蓉終端支持脚足平 位置姿勢とされる。
第 1旋回歩容および第 2旋回歩容の歩容周期は、 次回歩容周期と同一 に設定される。 これらの第 1旋回歩容及び第 2旋回歩容の歩容周期は、 互いに同一にすることは必ずしも必要ではないが、 いずれの周期も、 少 なく とも次回歩容周期に応じて決定するのが好ましい。 尚、 今回歩容、 第 1旋回歩容および第 2旋回歩容の上記以外の運動パラメータ (両脚支 持期時間などの時間パラメ一夕を含む) は、 上記決定されたパラメ一夕 に応じて、 歩容の条件 (ァクチユエ一夕の速度が許容範囲に入っている か、 可動角を超えていないか、 床などと干渉していないかなど) を満足 するように適宜決定する。
次に、 S 1 0 2に進み、 目標上体姿勢が追従すべき基準上体姿勢軌道 を規定する基準上体姿勢軌道パラメータが決定される。 基準上体姿勢は. 定常歩容の初期 (第 1旋回歩容の初期) と終端 (第 2旋回歩容の終端) とでつながるように (定常歩容の初期、 終端での基準上体姿勢の姿勢角 及びその角速度が一致するように) に設定されている限り、 一定姿勢で ある必要はないが、 本実施形態では理解を容易にするため、 基準上体姿 勢のうちの傾斜角 (鉛直方向に対する傾斜角) に係わる姿勢は、 直立姿 勢 (鉛直姿勢) に設定される。 つまり、 本実施形態では、 上体 3の傾斜 角に関する基準上体姿勢は、 定常歩容の全期間において直立姿勢に設定 される。 従って、 本実施形態では、 基準上体姿勢.のうちの傾斜角の角速 度及び角加速度は 0である。 基準上体姿勢のうちのョ一角軌道 (以降、 基準ョ一角軌道とも呼ぶ) 0 bz は、 例えば一定角速度 (定常歩容の平 均旋回速度) の運動にすれば良い。 あるいは、 後述の基準逆位相腕振り 軌道の例 (図 1 8 ) のようにサイン波状にしても良い。 ただし、 定常歩 容を繰り返した時に基準ョ一角およびその角速度が連続となるように設 定する。 1
尚、 本実施形態では、 目標上体姿勢のうちのョ一角軌道 (以降、 目標 ョ一角軌道とも呼ぶ) は、 基準ョ一角軌道に一致させるものとする。 次に、 S 1 0 4に進み、 基準腕姿勢 道パラメータが決定される。 具 体的には、 両腕体 5 , 5の全体の重心位置 (上体 3に対する相対的な重 心位置)、 左右の手先 (両腕体 5, 5の先端) の左右方向の間隔、 およ び逆位相腕振り角に関するパラメータが決定される。 基準逆位相腕振り 角は、 たとえば図 1 7のように左旋回する場合には、 図 1 8のように設 定すれば良い。 図 1 8のように、 基準逆位相腕振り角 0 azref は、 定常 歩容を繰り返した時に歩容の境界 (第 2旋回歩容の終端と次の第 1旋回 歩容の境界) において逆位相腕振り角および角速度が共に連続になり、 かつ第 1旋回歩容初期における支持脚と逆位相腕振り角の相対関係が、 次の第 1旋回歩容初期における支持脚と逆位相腕振り角の相対関係に一 致するように設定される。 すなわち、 第 1旋回歩容の初期 位相腕振り 角速度と第 2旋回歩容の終端逆位相腕振り角速度が一致し、 第 2旋回歩 容の終端逆位相腕振り角は、 定常歩容の旋回角 (第 1旋回歩容と第 2旋 回歩容の旋回角の和) に第 1旋回歩容初期逆位相腕振り角を加えた値に 設定される。 図 1 8では基準逆位相腕振り角 0 azref をサイン波状の波 形としたが、 一定角速度に設定しても良い。 あるいは、 支持脚のョ一角 と遊脚のョ一角の平均の値としても良い。
尚、 本実施形態では、 目標腕姿勢の両腕体 5 5の全体の重心位置 (上体 3に対する相対位置) は、 上体 3に対して一定に維持されるよう に設定される。
次に、 S 1 0 6に進み、 床反力鉛直成分軌道パラメータが設定される, この場合、 該パラメータにより規定される床反力鉛直成分軌道が、 第 1 旋回歩容および第 2旋回歩容のいずれにおいても図 6のように実質的に 連続な (値がステップ状に飛ばない) ものとなるように床反力鉛直成分 軌道パラメ一夕が設定される。 すなわち、 定常旋回歩容の目標床反力鉛 直成分軌道は図 1 9のようなパターンで設定される。 そのパターンでは. 第 1旋回歩容及び第 2旋回歩容のいずれにおいても、 片脚支持期では床 反力鉛直成分が台形状に変化し、 空中期では床反力鉛直成分が 0に維持 される。 そして、 このパターンの折れ点の時刻や、 台形部分の高さ (ピ ーク値) が床反力鉛直成分軌道パラメ一夕として設定される。
この床反力鉛直成分軌道パラメータの設定に際しては、 床反力鉛直成 分の歩容全期間 (第 1旋回歩容と第 2旋回歩容両方の期間を合わせた期 間で定常歩容の 1周期の期間) における平均値をロポット 1の自重と一 致させる。 すなわち、 床反力鉛直成分の平均値が口ポット 1に作用する 重力と同じ大きさで反対向きになるようにする。
上記のごとく床反力鉛直成分軌道を設定することは、 定常歩容の条件 を満たすために必要である。 定常歩容の条件とは、 支持脚座標系 (支持 脚側足平 2 2の接地面に設定された座標系) から見た歩容のあらゆる状 態変数 (口ポッ ト 1の各部の位置、 姿勢、 速度等) の初期状態 (第 1旋 回歩容の初期状態) と次の支持脚座標系 (次の第 1旋回歩容の支持脚座 標系) から見た歩容の終端状態 (第 2旋回歩容の終端状態) がー致して いることである (以下、 この条件を定常歩容の境界条件ということがあ る)。 したがって、 定常歩容終端における口ポッ ト 1の全体重心鉛直速 度と定常歩容初期における全体重心鉛直速度との.差 (詳細には、 第 2旋 回歩容終端の全体重心鉛直速度と第 1旋回歩容初期の全体重心鉛直速度 との差) も零でなければならない。 上記差は床反力鉛直成分と重力との 差の積分値 ( 1階積分値) であるから、 上記差を零にするためには、 上 記のごとく床反力鉛直成分軌道を設定する必要がある。
尚、 本実施形態では、 床反力鉛直成分の第 1旋回歩容、 第 2旋回歩容 それぞれの期間における平均値をロボッ ト 1の自重とし致させるように した。 より具体的には、 例えば第 1旋回歩容及び第 2旋回歩容の歩容周 期に応じて各旋回歩容における床反力鉛直成分軌道の台形部分の折れ点 の時刻を設定した上で、 その台形部分の高さを、 床反力鉛直成分の第 1 旋回歩容、 第 2旋回歩容それぞれの期間における平均値がロポッ ト 1の 自重と一致するように決定した (台形の高さを未知数として、 上記平均 値及び自重の一致条件を表す方程式を解く ことで台形の高さを求める) こうすることにより、 第 1旋回歩容終端の全体重心鉛直速度と第 1旋 回歩容初期の全体重心鉛直速度との差も 0、 第 2旋回歩容終端の全体重 心鉛直速度と第 2旋回歩容初期の全体重心鉛直速度との差も 0になる。 ただし、 このようにする必然性はない。 例えば、 第 1旋回歩容と第 2旋 回歩容との境界あたりで上体鉛直位置が高くなり過ぎたり低くなり過ぎ たりして無理な姿勢になりそうな場合には、 各旋回歩容で上記平均値及 び自重を一致させた状態から各旋回歩容の床反力鉛直成分軌道の台形の 高さ等を修正するようにしてもよい。
次に、 S 1 0 8に進み、 上記のごとく図 1 9のように設定された床反 力鉛直成分軌道に応じて、 床反力水平成分の許容範囲 [Fxmin, Fxmax] (より詳しくはこれを規定するパラメ一夕) が図 2 0のように設定され る。 図 2 0の負側の折れ線が床反力水平成分許容下限値 Fxmin、 正側 の折れ線が床反力水平成分許容上限値 Fxmax を表す。 これらの設定方 法に関して以下に補足する。 以下では、 床面が水.平である場合について 説明する。
床反力水平成分は、 床と足平 2 2 との間の摩擦によって発生するが、 摩擦はいく らでも発生できるわけではなく、 限界がある。 したがって、 生成された目標歩容に従って実際のロボッ ト 1が移動した時にスリップ しないようにするためには、 目標歩容の床反力水平成分が、 常に摩擦限 界以内になければならない。 そこで、 この条件を満足させるために、 床 反力水平成分許容範囲を設定し、 後述するように、 目標歩容の床反力水 平成分がこの許容範囲内になるように、 目標歩容を生成することとした, 床と足平 2 2 との間の摩擦係数を //とすると、 Fxmin は、 常に— *床反力鉛直成分以上に、 Fxmax は/ *床反力鉛直成分以下に設定さ れなければならない。 最も単純な設定方法は、 次式による設定である。 ただし、 kaは 1より小さい正の定数である。
Fxmin= - ka * *床反力鉛直成分
Fxmax= ka * *床反力鉛直成分
…式 1 2
図 2 0の床反力水平成分許容範囲は、 式 1 2にしたがって設定した例 である。 床反力水平成分許容範囲を規定するパラメータとして、 図 2 0 の台形波形などの折れ点での値と時刻を設定してもよいが、 式 1 2によ り床反力水平成分許容範囲を決定するときには、 単に式 1 2における (ka * の値をパラメ一夕として設定するだけでも良い。
尚、 上記条件 (目標歩容の床反力水平成分を常に摩擦限界以内にする という条件) を満足しているならば、 他の設定方法で床反力水平成分許 容範囲を設定するようにしても構わない。
次に、 S 1 0 9に進み、 上記のごとく図 1 9のように設定された床反 力鉛直成分軌道などに応じて、 床反力モーメント鉛直成分の許容範囲 [Mzmin, Mzmax] (より詳しくはこれを規定するパラメ一夕) が図 2 1のように設定される。 図 2 1の負側の折れ線が床反カモ一メント鉛直 成分許容下限値 Mzmi 正側の折れ線が床反力モーメント鉛直成分許 容上限値 Mzmax を表す。 これらの設定方法に関して以下に補足する。 以下では、 床面が水平である場合について説明する。
床反力モーメント鉛直成分は、 床と足平 2 2 との間の摩擦によって発 生するが、 摩擦はいく らでも発生できるわけではなく、' 限界がある。 し たがって、 生成された目標歩容に従って実際のロポッ ト 1が移動した時 にスピンしないようにするためには、 目標歩容の床反力モ一メント鉛直 成分が、 常に摩擦限界以内になければならない。 そこで、 この条件を満 足させるために、 床反力モーメント鉛直成分許容範囲を設定し、 後述す るように、 目標歩容の床反力モーメント鉛直成分がこの許容範囲内にな るように、 目標歩容を生成することとした。
床と足平 2 2との間の摩擦係数を /、 モーメント鉛直成分を発生する ための床と足平 2 2との間の接触面の有効半径 (あるいは床と足平 2 2 との間の接触面の目標 Z M Pまわりの断面 2次モーメントの平方根) を r とする と、 Mzmin は、 常に一 * r *床反力鉛直成分以上に、 Mzmaxは * r *床反力鉛直成分以下に設定されなければならない。 最 も単純な設定方法は、 次式による設定である。 ただし、 ka は 1より小 さい正の定数である。
Mzxmin= - ka * * r *床反力鉛直成分
Mzmax= ka * * r *床反力鉛直成分
…式 1 0 1 2 図 2 1の床反力モーメント鉛直成分許容範囲は、 式 1 0 1 2にしたが つて設定した例である。 床反カモ一メント鉛直成分許容範囲を規定する パラメ一夕として、 図 2 1の台形波形などの折れ点での値と時刻を設定 してもよいが、 式 1 0 1 2により床反カモ一メン.ト鉛直成分許容範囲を 決定するときには、 単に式 1 0 1 2における(ka * )の値をパラメータ として設定するだけでも良い。 rは、 各瞬間において目標 Z M Pと接地 面から算出するのが良いが、 定数としても構わない。
尚、 上記条件 (目標歩容の床反力モーメント鉛直成分を常に摩擦限界 以内にするという条件) を満足しているならば、 他の設定方法で床反力 モ一メント鉛直成分許容範囲を設定するようにしても構わない。
さらには、 床反力水平成分許容範囲と床反カモ一メント鉛直成分許容 範囲を独立に設定するのではなく、 床反力水平成分と床反力鉛直成分モ —メントの組み合わせの許容範囲を設定するようにしても良い。 なぜな ら、 床反力水平成分が大きくなると、 床反力モーメント鉛直成分の許容 範囲が狭くなり、 また、 床反力モーメント鉛直成分が大きくなると、 床 反力水平成分の許容範囲が狭くなるからである。
次に、 S 1 1 0に進み、 第 1旋回歩容および第 2旋回歩容を合わせた 定常歩容の Z M P軌道を規定する Z M P軌道パラメータが設定される。 この場合、 目標 Z M P軌道は、 前述したように安定余裕が高くかつ急激 な変化をしないように設定される。
さらに詳細には、 図 5の走行歩容においては、 支持脚足平 2 2のかか とで着地した後、 しばらくして該支持脚足平 2 2の底面のほぼ全面が接 地し、 さらにしばらくして、 支持脚足平 2 2のつま先だけが接地する。 そして、 次に支持脚足平 2 2のつま先で蹴って空中に飛び上がり、 最後 に遊脚足平 2 2のかかとで着地する。 また、 目標 Z M Pは接地面内に存 在しなければならない。 そこで、 本実施形態では、 定常歩容の第 1旋回 歩容及び第 2旋回歩容のそれぞれの目標 Z M Pの X軸方向の位置は、 前 記図 7の上段図に示したように、 支持脚足平 2 2のかかとを初期位置と して、 該足平 2 2の底面のほぼ全体が接地するまでその位置に留まるよ うに設定される。 次に、 目標 Z M Pは支持脚足平.2 2の中央に移動し、 該足平 2 2がつま先接地状態になるまでにつま先に移動し、 その後、 離 床時まで支持脚足平 2 2のつまさきに留まるように設定される。 さらに その後は、 目標 Z M Pは、 前述のごとく、 次の遊脚足平 2 2の着地まで に目標 Z M Pが、 支持脚足平 2 2のつまさきから遊脚足平 2 2のかかと の着地位置まで連続的に移動するように設定される。 したがって、 第 1 旋回歩容と第 2旋回歩容とから成る定常歩容の目標 Z M P軌道 (X軸方 向の軌道) は、 図 2 2のようになる。 そして、 この目標 Z M P軌道の折 れ点の時刻及び位置が Z M P軌道パラメ一夕として設定される。 この場 合、 折れ点の時刻は、 前記要求パラメ一夕に応じて定めた第 1旋回歩容 及び第 2旋回歩容の歩容周期に応じて設定され、 該折れ点の位置は、 次 回歩容支持脚座標系及び次次回歩容支持脚座標系の位置姿勢あるいはこ れらの座標系を規定する要求パラメ一夕の 1歩目及び 2歩目の遊脚側足 平着地予定位置姿勢の要求値に応じて設定される。 尚、 Z M P軌道の Y 軸方向の位置は、 前記図 7の下段図に示したものと同様に設定される。 より詳しくは、 第 1旋回歩容における目標 Z M Pの Y軸方向位置の軌道 は、 図 7の下段図のものと同一パターンで設定され、 第 2旋回歩容にお ける目標 Z M Pの Y軸方向位置の軌道は、 第 1旋回歩容のものと同じ形 の軌道で、 該軌道の終端につながるものに設定される。
次に、 S 1 1 2に進み、 定常歩容 1歩 ( 1周期) の初期時刻、 終端時 刻、 期間が以下のように再定義される。
定常歩容は、 その初期と終端での状態変数が連続的につながる歩容で なければならない。 このような歩容の決定を容易にするために、 本実施 形態では、 定常歩容を決定するまでは、 前述の狭義の歩容の定義とは異 なり、 定常歩容の 1歩の初期、 終端、 期間を便宜上、 図 1 9のように定 める。 すなわち、 第 1旋回歩容の片脚支持期の後半において床反力鉛直 成分がある程度減少した時刻を定常歩容の初期時刻 Ts として設定する ( なお、 初期時刻 Ts は、 図 7に示すように、 支持脚足平 2 2の底面のほ ぼ全面が接地した状態からつま先接地に変わる瞬間あるいはその直前の 時刻 (図 7の足底全面接地期間の終了時刻もしくはその直前の時刻) に 設定するのが望ましい。 また、 S 1 1 0において設定した図 2 2 (また は図 7 ) に示す目標 Z M Pと時刻 Ts との関係を説明すると、 第 1旋回 歩容において支持脚足平 2 2の底面のほぼ全面が接地した後に、 目標 Z M Pが支持脚足平 2 2の中央に移動し、 つま先接地状態になるまでにつ ま先に移動を完了した瞬間が、 時刻 Ts となっているのが望ましい。 こ のような初期時刻 Ts は例えば先に設 した目標 Z M P軌道パラメータ に応じて設定される。 上記のごとく初期時刻 Ts を設定する理由は後述 する。
また、 図 1 9に示すように、 定常歩容の周期 Tcyc は第 1旋回歩容と 第 2旋回歩容の歩容周期の和である。 定常歩容の終端時刻を Te とする, Teは、 Tsに Tcycを加えた時刻に設定される。
定常歩容が決定された時点 (後述の図 2 3の S 2 0 4のループを抜け た時点) から、 改めて、 歩容の初期、 終端等の定義を、 前述の狭義の歩 容の定義に戻すこととする。 以下の説明では、 前述の狭義の歩容の定義 による初期時刻 (支持脚側足平 2 2の着地当初の時刻) を 0とし、 定常 歩容を決定するまで用いる上記初期時刻 Ts を参照符号 Ts を用いて (単に 「Ts」 と省略することもある) 本来の初期時刻 0と区別する。 最後に S 1 1 4に進み、 定常歩容の上体姿勢角 ·逆位相腕振り角復元 期間 [Tm, Ts2]および [Tm2, Te]を設定する。 補足すると、 定常歩容を 繰り返した時に歩容の境界において上体姿勢角および逆位相腕振り角は 連続であるべきである。 そのためには、 定常歩容の初期上体姿勢角速度 と終端上体姿勢角速度が一致し、 定常歩容の初期逆位相腕振り角速度と 終端逆位相腕振り角速度が一致しなければならな.い。 前記期間は、 その ようにするための、 上体姿勢角軌道と逆位相腕振り角軌道を調整する期 間である。
具体的には、 初期時刻 Ts から第 1旋回歩容の空中期を経て第 2旋回 歩容になり、 床反力鉛直成分がある所定の大きさまで増加した時刻 Tm が設定される。 さらに、 第 2旋回歩容の片脚支持期の後半において床反 力鉛直成分がある程度減少した時刻 Ts2 が設定される。 さらに、 第 2 旋回歩容の空中期を経て第 1旋回歩容になり、 床反力鉛直成分がある所 定の大きさまで増加した時刻 Tm2が設定される。
図 1 9にこれらの時刻を示す。 時刻 Tmは、 支持脚足平 2 2の底面の ほぼ全面が接地した瞬間あるいはその直後に設定するのが望ましい。 時 刻 Tm2 も同様である。 また、 時刻 Ts2 は、 前記初期時刻 Ts 同様、 足 平 2 2の底面のほぼ全面が接地した状態からつま先接地に変わる瞬間あ るいはその直前に設定するのが望ましい。
また、 前記図 1 5の S 1 1 0において設定した図 2 2の目標 Z M Pと これらの時刻 Tm, Ts2, Tm2 との関係を説明すると、 第 2旋回歩容に おいて、 目標 Z M Pが、 支持脚足平 2 2のかかとを初期位置として、 該 足平 2 2の底面のほぼ全体が接地するまでその位置に留まり、 次に支持 脚足平 2 2の中央に移動し始める瞬間を時刻 Tmとすることが望ましい, その後、 支持脚足平 2 2のつま先だけ接地した状態になるまでに、 目標
Z M Pがつま先に移動を完了した瞬間を、 時刻 Ts2 とすることが望ま しい。 さらに次の第 1旋回歩容において、 目標 Z M Pが、 支持脚足平 2
2のかかとを初期位置として該足平 2 2の底面のほぼ全体が接地するま でその位置に留まり、 次に支持脚足平 2 2の中央に移動し始める瞬間を 時刻 Tm2とすることが望ましい。
上記のごとく設定する理由は後述する。 尚、 上体姿勢角を復元 (調 整) する期間と逆位相腕振り角を復元 (調整) す.る期間を別々に設定し ても良い。
図 1 3の S 0 1 0から S 0 2 2までに示す処理が行われた後、 S 0 2 4に進み、 定常歩容の初期状態が算出される。 ここで算出される初期状 態は、 定常歩容の初期上体水平位置速度 (水平方向での初期上体位置及 び初期上体速度)、 初期上体鉛直位置速度 (鉛直方向での初期上体位置 及び初期上体速度)、 初期発散成分、 初期上体姿勢角、1 角速度、 および 初期逆位相腕振り角、 角速度である。 この初期状態の算出は、 図 2 3の フローチャートに従って、 探索的に行なわれる。
図 2 3のフローチャートにおいては、 先ず、 S 2 0 0において、 定常 歩容の歩容パラメ一タ (前記図 1 3の S 0 2 2で設定したパラメータ) に基づいて、 目標足平位置姿勢、 目標腕姿勢、 および目標上体姿勢角 (傾斜角とョ一角) の初期状態 (初期時刻 Ts での状態) が決定される, ここで状態とは、 位置や姿勢角とその変化率 (時間微分) とを表す。 この場合、 支持脚側の目標足平位置姿勢の初期状態は、 前記図 1 5の S 1 0 0で決定した足平軌道パラメ一夕の第 1旋回歩容初期支持脚足平 位置姿勢から、 第 2旋回歩容終端遊脚足平位置姿勢に至る足平位置姿勢 軌道 (次回歩容支持脚座標系から見た軌道) を時刻 Ts まで有限時間整 定フィルタにより生成することにより決定される。 遊脚側の目標足平位 置姿勢の初期状態は、 次回歩容支持脚座標系から見た今回歩容初期支持 脚足平位置姿勢から、 第 1旋回歩容終端遊脚足平位置姿勢に至る足平位 置姿勢軌道を時刻 Ts まで有限時間整定フィルタにより生成することに より決定される。 また、 目標腕姿勢の初期状態は、 図 1 5の S 1 0 4で 決定した基準腕姿勢軌道パラメータに基づいて求められる時刻 Ts にお ける基準腕姿勢に決定される。 より具体的には、 目標腕姿勢の両腕体 5 , 5の全体重心位置 (上体 3に対する相対位置)、 左右の手先 (両腕体 5 : 5の先端部) の左右方向の間隔および逆位相腕振.り角 · 角速度が決定さ れる。 但し、 逆位相腕振り角 ·角速度は、 後述するように、 定常歩容を 繰り返した時に歩容の境界で連続するように修正されるので、 ここでは まだ仮に決定されただけである。
また、 目標上体姿勢角の初期状態は、 図 1 5の S 1 0 2で決定した基 準上体姿勢軌道パラメ一夕により定まる時刻 Ts における基準上体姿勢 (傾斜角およびョ一角) 及びその角速度が該目標上体姿勢角の初期状態 として決定される。 なお、 本実施形態では、 上体 3の傾斜角に係る基準 上体姿勢は鉛直姿勢であるので、 目標上体姿勢のうちの傾斜角の初期状 態 (傾斜角及びその角速度) は 0である。
また、 本実施形態では、 定常歩容の目標足平位置姿勢軌道、 床反力鉛 直成分軌道、 及び目標 Z M P軌道は、 それぞれ、 図 1 5のフ口一チヤ一 卜で決定した足平軌道パラメ一夕、 床反力鉛直成分軌道パラメ一夕、 Z M P軌道パラメ一夕により互いに独立的に決定される。 例えば定常歩容 の瞬時瞬時の目標足平位置姿勢は、 床反力鉛直成分の瞬時値に依存する ことなく足平軌道パラメ一夕に応じて決定される。
次いで S 2 0 2において初期上体水平位置速度の候補 (すなわち初期 時刻 Tsでの上体水平位置速度候補) である (X s, V xs) ( X s : 水平位 置、 V xs : 水平速度) が仮決めされる。 ここで仮決めする候補 (X s, V xs) は、 任意でよいが、 例えば前回歩容の生成時に求めた定常歩容の 初期状態における上体水平位置速度を仮決め候補 (X s, V xs) とすれ ばよい。
尚、 説明を簡略にするため、 サジタルプレーン上で X方向 (前後方 向) での定常歩容の初期状態を探索する場合を例にとるが、 実際には位 置 · 速度とも X方向 (前後方向), Y方向 (左右方向) を別々にあるい は同時に定常歩容の初期状態 (定常歩容の前記境界条件を満たす初期状 態) を探索する必要がある。 .
補足すると、 サジタルプレーン上では、 ョ一回転やモーメント鉛直成 分など鉛直軸まわりに関する概念は存在しないので、 少なくともョ一回 転ゃモ一メント鉛直成分に関しては、 3次元空間で演算される。
探索的な決定手法としては、 擬似ヤコビアン (感度マトリックス) を 求め、 最急降下法などにより次候補を決定する方法や、 シンプレックス 法などを用いれば良い。 本実施形態では、 最急降下法を用いる。
次いで、 S 2 0 4を経て S 2 0 6において、 定常歩容を繰り返した诗 に上体鉛直位置速度が連続になり、 かつ、 膝等の関節角が伸び過ぎたり 縮み過ぎたりしないように、 初期 (時刻 Ts) 上体鉛直位置速度 (Zs, Vzs) (Zs : 鉛直位置、 Vzs : 鉛直速度) が、 決定される。 これについ ての詳細は、 例えば本願出願人が先に出願した P C T/ J P 0 2 / 1 3 5 9 2に記載されているので、 ここでは省略する。
S 2 0 6の処理の後、 次いで S 2 0 8に進み、 定常旋回歩容が仮に生 成される (この仮生成される定常旋回歩容を以降、 仮歩容ということが ある)。 より具体的には、 前記図 1 3の S 0 2 2で決定した定常歩容の 歩容パラメ一夕を基に、 初期時刻 Ts から終端時刻 Te までの各瞬間に おける目標 Z MP、 目標床反力鉛直成分、 目標足平位置姿勢、 基準上体 姿勢、 目標腕姿勢、 床反力水平成分許容範囲および床反力モーメント鉛 直成分許容範囲が逐次求められる。 そして、 求めた目標 ZMPと目標床 反力鉛直成分とに関する動力学的平衡条件、 並びに床反力水平成分許容 範囲の条件を満足するように、 前記動力学モデル (図 1 2のモデル) を 用いて、 前記上体水平位置速度 (Xs, V xs), 上体鉛直位置速度 (Zs, 04 009470
6 2
V z s) を上体 3の初期 (時刻 Ts) 状態として、 上体位置姿勢を逐次決 定することによって、 時刻 Ts から終端時刻 Te までの歩容を生成する < また、 この時、 上体姿勢は、 基準上体姿勢になるべく一致するように生 成される。 .
また、 床反力モーメント鉛直成分に関する条件、 すなわち、 床反カモ ーメント鉛直成分許容範囲を満足するように、 逆位相腕振り動作が決定 される。
尚、 この定常歩容の歩容生成は歩容生成装置 1 0 0の内部で行われる だけであって、 実際のロボッ ト 1を駆動するための目標値として、 後述 する複合コンプライアンス動作決定部 1 0 4に出力されることはない。 以下に、 S 2 0 8の処理である逐次演算による定常歩容生成処理の詳 細を説明する。
図 2 4はその処理を示すサブルーチンフローチヤ一トである。
以下説明すると、 S 3 0 0において、 諸々の初期化が行われる。 具体 的には、 仮歩容生成用時刻 k に初期時刻 Ts を代入する。 さらに、 上体 水平位置速度に、 現在仮決定されている (X s, V x s) (図 2 3の S 2 0 2もしくは後述の S 2 1 6もしくは3 2 1 8で決定されたもの) が代 入され、 上体鉛直位置速度に、 前記 S 2 0 6で求めた最新の (Zs, V z s) が代入される。 また、 上体姿勢角には、 基準上体姿勢角初期値 (初期時刻 Ts での角度) が代入され、 上体姿勢角速度には、 基準上体 上体姿勢角速度初期値 (初期時刻 Tsでの角速度) が代入される。
逆位相腕振り角には、 基準初期逆位相腕振り角 (初期時刻 Ts での角 度) 逆位相腕振り角速度には、 基準初期逆位相腕振り角速度 (初期時刻 Tsでの角速度) が代入される。
次いで、 S 3 0 2を経て S 3 0 4において、 仮歩容生成用時刻 k が 歩容終端時刻以前であるか否か (k ≤ Ts + Tcyc であるか否か) が判 断され、 その判断結果が Y E Sである場合には、 S 3 0 6の歩容瞬時値 決定サブルーチンに進み、 歩容瞬時値が決定される。 次いで歩容生成装 置 1 0 0の処理は、 S 3 0 8に進み、 仮歩容生成用時刻 kを だけ増 やした後、 S 3 0 4に戻る。
ここで、 は、 仮歩容生成のインターバルであり、 通常、 制御周期 △ t と一致させておけば良い。 なお、 は、 仮歩容の動力学的精度を 落としても良いならば、 演算量を低減するために、 を A tよりも長 く設定し.ても良い。
S 3 0 4の判断結果が N Oである場合には、 S 3 1 0に進む。 以上の 処理により、 S 3 1 0に進むまでに定常歩容 (仮歩容) が初期から終端 まで生成される。
以下に、 S 3 0 6の歩容瞬時値決定サブルーチンの詳細を図 2 5を参 照して説明する。 '
まず図 2 5の S 4 0 0において、 定常歩容パラメ一夕 (床反力鉛直成 分軌道パラメ一夕) を基に、 前記図 1 9に示した目標床反力鉛直成分の 時刻 k における値 (今回値) が求められる。 さらに、 S 4 0 2におい て、 定常歩容パラメータ (Z M P軌道パラメ一夕) を基に、 前記図 2 2 に示した目標 Z M P軌道の時刻 k における値 (今回値) が求められる, 次いで S 4 0 4に進み、 定常歩容パラメ一夕 (足平軌道パラメ一夕、 基準上体姿勢軌道パラメータ、 及び腕姿勢軌道パラメータ) を基に、 時 刻 k における目標両足平位置姿勢 (支持脚側及び遊脚側の両者の目標 足平位置姿勢)、 基準上体姿勢および基準腕姿勢の値 (今回値) が求め られる。 基準腕姿勢に関しては、 具体的には、 両腕体 5 , 5の全体重心 位置 (上体 3に対する相対位置)、 左右の手先 (両腕体 5, 5の先端 部) の左右方向の間隔および逆位相腕振り角の値 (今回値) が求められ る。 9470
6 4 尚、 目標足平位置姿勢の今回値 (時刻 kでの値) は、 前記図 2 3の S 2 0 0で初期時刻 Ts での足平位置姿勢を求めた塲合と同様に求められ る。
次いで S 4 0 6に進み、 目標床反力鉛直成分を満足する (口ポッ ト 1 の鉛直方向の慣性力と重力との和を目標床反力鉛直成分に釣り合わせ る) ような時刻 k における全体重心鉛直位置速度の値 (今回値) が算 出される。 具体的には、 例えば前記図 1 2の動力学モデルに係わる前記 式 0 1 と式 0 4とに基づいて、 全体重心鉛直位置速度が算出される。 す なわち、 式 0 1 と式 0 4とによれば、 口ポッ ト 1の運動による全体重心 鉛直加速度と重力加速度との和に' '口ポッ ト 1の全体質量を乗算したもの が床反力鉛直成分に等しいという関係式 (ロボッ ト 1の全体重心の鉛直 方向に関する運動方程式) が得られる。 従って、 この関係式と目標床反 力鉛直成分とから、 全体重心鉛直加速度が求められる。
尚、 この関係式自体は、 口ポッ ト 1のモデルに依存することなく一般 的に成立するものである。 そして、 この求めた全体重心鉛直加速度を積 分することにより、 全体重心鉛直速度が算出され、 さらにその全体重心 鉛直速度を積分することにより、 全体重心鉛直位置が算出される。 これ らの算出は、 より一般的には、 次式 1 5および式 1 6で表される動力学 関係式 (ニュートンの運動方程式を離散化した式) を用いて行なわれる, 時刻 kにおける全体重心鉛直速度
=時刻(k一 A k)における全体重心鉛直速度
+ ((床反力鉛直成分ノロポッ トの全体質量) +重力加速度) * A k
(ただし、 重力加速度は負の値とする。)
…式 1 5 時刻 kにおける全体重心鉛直位置
=時刻(k一 Ak)における全体重心鉛直位置
+時刻 kにおける全体重心鉛直速度 *
式 1 6 次いで S 4 0 8に進み、 全体重心鉛直位置を満足する上体鉛直位置が 算出される。 具体的には、 例えば前記図 1 2のモデルに係わる式 0 4を 用いて上体鉛直位置が算出される。 すなわち、 支持脚側及び遊脚側の目 標足平位置姿勢の今回値から、 図 1 2のモデルの支持脚質点 2m及び遊 脚質点 2 mの鉛直位置が求められる。 そして、 これらの求めた支持脚質 点 2 m及び遊脚質点 2 mの鉛直位置と、 S 4 0 7で求めた全体重心鉛直 位置の今回値とを式 04に適用することで、 上体質点 3 mの鉛直位置が 求められる。 さらに、 この求めた上体質点 3 mの鉛直位置と目標上体姿 勢角の現在値 (S 4 0 4で設定された基準上体姿勢角または後述の S 4 1 4で決定された前回 (時刻 k— A k) の目標上体姿勢角) とから上体 鉛直位置が求められる。
次いで S 4 1 0に進み、 前記図 1 5の S 1 0 8で決定した歩容パラメ 一夕 (床反力水平成分許容範囲を規定するパラメ一夕) に基づいて、 図 2 0に示した床反力水平成分許容範囲 [Fxmin, Fxmax]の時刻 k におけ る値 (今回値) が求められる。
次いで S 4 1 1に進み、 前記図 1 5の S 1 0 9で決定した歩容パラメ 一夕 (床反力モーメント鉛直成分許容範囲を規定するパラメ一タ) に基 づいて、 図 2 1 に示した床反力モーメント鉛直成分許容範囲 [Mzmin, Mzmax]の時刻 kにおける値 (今回値) が求められる。
次いで S 4 1 2に進み、 目標 ZMPに関する動力学的平衡条件 (ロボ ッ ト 1の慣性力と重力との合力が目標 Z MPまわりに発生するモーメン トの水平成分が 0であるという条件) を満足するように、 目標上体水平 加速度と目標上体姿勢加速度との今回値が決定される。 ただし、 床反力 水平成分 Fx が [Fxmin, Fxmax]を越えないように、 上体水平加速度と 上体姿勢角加速度 (より詳しくは、 上体傾斜角加速度) とが決定される ( また、 床反力モーメント鉛直成分 Mzが [Mzniin, Mzmax]を越えないよ うに、 目標逆位相腕振り角加速度の今回値が決定される。
尚、 上体姿勢角のうち、 ョ一角は基準上体姿勢角のうちのョ一角に一 致するように決定される。 また、 目標腕姿勢に関しては、 逆位相腕振り 角以外の成分は、 基準腕姿勢に一致するように決定される。 また、 この 際、 上記条件を満足しつつも、 目標上体傾斜角と目標 位相腕振り角と は、 それぞれ基準上体傾斜角と基準逆位相腕振り角とになるべく追従す るように決定される。 以下にこの詳細を説明する。
この時点において、 前記の如く足平位置姿勢および上体鉛直位置の瞬 時値 (今回値) が決定されており、 また、 腕姿勢に関して、 逆位相腕振 り角以外の成分は、 基準腕姿勢のそれに一致するように決定されている, このため、 残りの上体水平位置と上体姿勢角と逆位相腕振り角とを決定 すれば、 ロボッ ト 1の目標運動は一義的に決定できる。 したがって、 す ベての床反力も一義的に決定される。 なお、 本実施形態では、 定常歩容 の目標床反力鉛直成分及び目標 Z M Pは、 それぞれ前記図 1 3の S 0 2 2で決定した床反力鉛直成分軌道パラメータ及び目標 Z M P軌道パラメ 一夕によって規定される。
ところで、 歩容生成において、 前記上体並進モードをあまり用いずに 主に上体傾斜モードを用いることにより、 目標 Z M Pを満足させる (目 標 Z M Pまわりの床反力モーメントの水平成分を 0にする) と、 上体姿 勢角が大きく振れ過ぎてしまう恐れがある。 したがって、 これを防ぐた めには、 なるべく上体並進モードを用いるべきである。 しかし、 上体並 進モードは、 床反力水平成分の変化を伴うので、 床反力水平成分許容範 囲が狭い場合には、 上体並進モ一ドを強く働かせるとスリップする恐れ がある。 この場合には、 上体傾斜モードに頼るしかない。 特に、 前記走 行歩容のように床反力水平成分許容範囲が 0とな.る期間では、 床反力水 平成分を発生させるような歩容を生成することはできないので、 上体傾 斜モードに頼らざるを得ない。
一方、 逆位相腕振り運動は、 目標 Z M Pまわりの床反力モーメントの 水平成分および床反力水平成分のいずれも変化させることなく、 床反力 モーメン卜鉛直成分のみを変化させることができるので、 床反力モ一メ ント鉛直成分が前記床反カモ一メント鉛直成分許容範囲を越えないよう にするために用いることができる。 以上のことを考慮し、 本実施形態で は、 図 2 6に示すフローチヤ一卜に従って、 上体水平加速度と上体姿勢 角加速度と逆位相腕振り加速度とが決^される。 尚、 理解の便宜上、 上 体水平加速度と上体姿勢角加速度 (上体 3の傾斜角の角加速度) の決定 に関しては、 サジタルプレーン上で X方向 (前後方向) での上体水平加 速度および上体姿勢角加速度を決定する場合を例にとって説明するが、 実際には Y方向 (左右方向) の上体水平加速度および上体姿勢角加速度 も X方向と同様に決定される。
まず S 5 0 0において、 目標上体ョ一角に時刻 k での基準上体ョー 角の値を代入する。 また、 腕姿勢の逆位相腕振り角 · 角速度成分を除き 目標腕姿勢に時刻 kでの基準腕姿勢の値を代入する。
次に S 5 0 2において現在時刻 (定常歩容作成用夕イマ一の値) k が. 上体姿勢角 · 逆位相腕振り角復元期間 (定常歩容の場合、 上体姿勢角 - 逆位相腕振り角復元期間は、 時刻 Tm から時刻 Ts2 の期間および時刻 Tm2 から Te までの期間である。) の間にあるか否かが判定される。 S 5 0 2の判定結果が N Oであるならば、 S 5 0 4に進み、 Y E Sである ならば S 5 3 0に進む。
S 5 0 4では、 口ポット 1の前回瞬時歩容状態 (時刻 k一 1の歩容状 態) から、 仮に、 上体傾斜モードの角加速度を 0にして、 上体並進モー ドの運動をロボッ ト 1にさせた場合に今回 (時刻 k ) の目標 Z M Pを満 足するために必要な上体水平加速度 a tmp が求められる。 この CK tmp は、 例えば前記図 1 2の動力学モデルに係わる前記式 0 3 yを用いて求 められる。 より具体的には、 例えば、 現在時刻 kまでに求められた目標 足平位置姿勢の時系列値を用いて、 現在時刻 kにおける支持脚質点 2 m 及ぴ遊脚質点 2 mの鉛直加速度が求められると共に、 現在時刻 k (今 回) の目標足平位置姿勢を用いて支持脚質点 2 m及び遊脚質点 2 mの鉛 直位置が求められる。 また、 現在時刻 k (今回) の床反力鉛直位置を用 いて上体質点 3 mの鉛直位置が求められると共に、 現在時刻 kまでに求 めた目標上体鉛直位置の時系列値を用いて現在時刻 kにおける上体質点 3 mの鉛直加速度が求められる。 そして、 これらの求めた値を前記式 0 3 yに代入すると共に、 同式 0 3 yの My、 d2 0 by/dt2を 0にしてなる 式を、 d2Xb/dt2 について解く ことにより、 上体質点水平加速度が上体 水平加速度 a tmp として求められる。 尚、 より厳密な動力学モデルを 用いて、 目標 Z M P回りの床反力モーメントの水平成分を零にするよう な上体水平加速度 Q! tmp を探索的に求めるようにしてもよい。 また、 本実施形態では、 上体 3の傾斜角に関する基準上体姿勢が鉛直姿勢で、 該基準上体姿勢による上体姿勢角加速度 (上体 3の傾斜角の角加速度) が 0であるため、 上体傾斜モードの角加速度を 0にして上体水平加速度 a tmp を求めるようにした。 但し、 基準上体姿勢のうちの傾斜角が変 化するように該基準上体姿勢軌道パラメ一夕を設定した場合で、 それに より定まる現在時刻 kにおける基準上体姿勢角加速度 (上体 3の傾斜角 の基準角加速度) が 0でない場合には、 上体傾斜モ一ドの角加速度をそ の 0でない基準上体姿勢角加速度の値にして、 上体水平加速度 atmp を動力学モデルを用いて求める (例えば式 0 3 の d20by/dt2 を 0で ない基準上体姿勢角加速度に設定して上記と同様に上体水平加速度 α tmpを求める) ようにすればよい。 .
次に、 S 5 0 6に進み、 上体水平加速度が a tmp の場合の時刻 kに おける床反力水平成分 Fxtmp が動力学モデルを用いて求められる。 本 実施形態においては、 前記動力学モデルの式 0 2 Xを用いて Fxtmp が 求められる。 すなわち、 次式 1 7によって Fxtmp が求められる。 但し d2Xsup/dt2および d2XswgZdt2 はそれぞれ時刻 kにおける支持脚足 平質点水平加速度、 遊脚足平質点水平加速度を表す。 '
Fxtmp = mb * tmp + msup * d2Xsupx t2
+ mswg * d2Xswg/ dt2 式 1 7 このようにして求められる Fxtmp の例を図 2 7に示す。 図 2 7に、 Fxtmpが床反力水平成分許容範囲 [Fxmin, Fxmax]を越えている部分を 斜線で示す。
次に、 S 5 0 8に進み、 上体並進モードの上体水平加速度 、 これに よって発生する床反力水平成分 Fx、 上体傾斜モー ドの上体角加速度 ) 3 が次のように決定される (S 5 0 8〜 S 5 1 6 )。
すなわち、
Fxtmp >Fxmax ならば、 S 5 1 0に進み、 次式により Fx が決定され る。 Fx=Fxmax …式 1 8 Fxtmpく Fxminならば、 S 5 1 2に進み、 次式により F xが決定される,
Fx=Fxmin …式 1 9 それ以外、 すなわち、 Fxtmp が、 床反力水平成分許容範囲 [Fxmin, Fxmax]内に存するならば、 S 5 1 4に進み、 次式により Fx が決定さ れる。
Fx=Fxtmp …式 2 0
1
いずれの塲合においても、 次いで S 5 1 6に進み、 次式により上体水 平加速度ひ、 上体姿勢角加速度 (上体傾斜角加速度) ;8が決定される。 = a tmp + (Fx - Fxtmp)/ Δ Fp …式 2 1
)3 =(atmp— * ΔΜΡ ΖΔΜ Γ …式 2 2 ただし、 A Fp、 ΔΜρおよび ΔΜ rはそれぞれ前記式 0 6、 0 7、 および式 0 9により決定される。
補足すると、 より動力学演算の精度を高めようとするならば、 上記の ごとく上体角加速度 i3を求めた後、 上体並進モードと上記求めた上体角 加速度 /3の上体傾斜モ一ドとを合成した運動が目標 Z MPを満足するよ うに、 上体並進モードの上体水平加速度 αを、 より厳密な動力学モデル を用いて解析的あるいは探索的に決定した方が良い。 なお、 探索的な決 定法としては、 擬似ヤコビアン (感度マトリックス) を求め、 擬似ニュ 一トン法などにより次候補を決定する方法や、 シンプレックス法などを 用いれば良い。 2004/009470
7 1 さ らに床反力水平成分 Fx が床反力水平成分許容範囲 [Fxniin , Fxmax]を厳密に越えないようにするために、 S 5 1 0においては、 Fx = Fxmax かつ目標 Z M Pまわりの床反カモ一メン卜の水平成分が 0に なるように、 S 5 1 2においては、 Fx = Fxmin かつ目標 Z M Pまわり の床反力モーメントの水平成分が 0になるように、 上体水平加速度 αと 上体角加速度 )3との組を探索的に求めても良い。
上記のように求められる Fx を図 2 8に示す。 Fx は、 Fxtmp の値を 床反力水平成分許容範囲 [Fxmin, Fxmax]から越えないように制限 (飽 和) させたものになっている。 より詳しくは、 上体並進モードのみによ る上体水平加速度 ¾ tmp に応じた Fxtmp が許容範囲' [Fxmin, Fxmax] 内にある場合には、 Fxtmpがそのまま Fxとなる。 また、 上体並進モー ドのみによる上体水平加速度 Q! tmp に応じた Fxtmpが許容範囲 [Fxmin, Fxmax]の上限を超え、 もしくは下限を下回った場合には、 それぞれ Fx は、 それぞれ強制的に Fxmax、 Fxmin に制限される。 特に走行歩容の 空中期では、 常に、 Fxmax= Fxmin= 0であるので、 Fx= 0 となる。 また、 上記のように求められる上体姿勢角加速度 /3を図 2 9に示す。 上体並進モードによって発生する Fx が許容範囲 [Fxmin, Fxmax]を越 えないように、 上体並進モ一ドの加速度を制限したことによって不足し た床反力モーメント (より詳しくは目標 Z M P回りの床反力モーメント の水平成分を 0にする上で必要な慣性力モーメントから、 制限した上体 水平運動と両脚体 2 , 2の運動とによるモーメント成分を差し引いたモ ーメント) を、 上体傾斜モードで捕ったことになる。 なお、 走行歩容の 空中期では、 上体並進モードによる上体水平加速度 は常にひに制限さ れることとなるので、 上体傾斜モードによる上体姿勢角加速度 3のみに よって、 上記不足分の床反力モーメントが補われることとなる。
次に、 S 5 1 8に進み、 仮に上体並進モードの上体水平加速度が a、 上体傾斜モードの上体角加速度 (上体傾斜角加速度) が ]3、 上体ョ一回 転モードの上体加速度 (上体ョ一角加速度) が基準ョ一角加速度 d20 bzref/dt2、 逆位相腕振り角加速度 jS a が基準逆位相腕振り角加速度 d2 Θ azref/dt2 である運動をさせた場合の床反力.モ一メン ト鉛直成分 Mztmp を求める。 以降、 d20bzref/dt2 を /3 bi'ef、 d2 Θ azref/dt2 を β aref とする。
具体的には、 式 0 3 z に、 式 1 0 0 1から式 1 0 0 4を代入すること によって得られる Mzが Mztmpである。 d2Xb/dt2= a X '…式 1 0 0 1 d2Yb/dt2= y …式 1 0 0 2 d2^bz/dt2=/3bref …式 1 0 0 3 ά2θ az/dt2=i3 aref …式 1 0 0 4 ただし、 は、 上体水平加速度 αの X成分、 ay は、 上体水平加速 度 αの Y成分を表す。 また、 Xb、 Yb には時刻 k一 1における上体水平 位置 を 代入 し 、 Xzmp、 Yzmp、 Xsup、 d2Ys p/dt2、 Xswg 、 d2Yswg/dt2には、 時刻 kの値を代入するものとする。
このようにして求められる Mztmp の例を図 3 2に示す。 図 3 2に、 Mztmp が床反力モーメント鉛直成分許容範囲 [Mzmin, Mzmax]を越え ている部分を斜線で示す。
次に、 S 5 2 0に進み、 逆位相腕振り角加速度 i3a が次のように決定 される (S 5 2 0〜S 5 2 8 )。
すなわち、
Mztmp>Mzmax ならば、 S 5 2 2に進み、 次式により Mz が決定され る。 Mz^ Mzmax 式 1 0 1 8
Mztmpく Mzmin ならば、 S 5 2 4に進み、 次式により Mz が決定され る。
Mz= Mzmin …式 1 0 1 9 それ以外、 すなわち、 Mztmp が、 床反力水平成分許容範囲 [Mzmin, Mzmax]内に存するならば、 S 5 2 6に進み、 次式により Mz が決定さ れる。
Mz = Mztmp …式 1 0 2 0 いずれの場合においても、 次いで S 5 2 8に進み、 次式により逆位相 腕振り角加速度 β aが決定される。 j3 a= ]3 aref+ (Mztmp一 Mz)Z Δ Maz …式 1 0 2 1 ただし、 A Mazは式 0 9 aにより決定される。 ·
以下に S 5 1 8から S 5 2 8までの処理を解説する。
上記のように求められる Mzは、 逆位相腕振りを含めたロポッ ト全体 の運動による床反力モーメント鉛直成分を示している。
上記処理では、 この Mz が床反力モーメン ト鉛直成分許容範囲 [Mzmin, Mzmax]を越えないように逆位相腕振り角加速度 J8 aが決定さ れている。 具体的には、 Mz は、 図 3 3に示すように、 Mztmp の値を T/JP2004/009470
7 4 床反力水平成分許容範囲 [Mzmin , Mzmax]から越えないよう に制限 (飽和) させたものに決定されている。 より詳しくは、 Mztmp が許容 範囲 [Mzmin, Mzmax]内にある場合には、 Mztmp がそのまま Mz とな り、 Mztmp が許容範囲 [Mzmin, Mzmax]の上限.を越え、 もしくは下限 を下回った場合には、 それぞれ Mz は、 それぞれ強制的に Mzmax、 Mzmin に制限される。 特に走行歩容の空中期では、 常に、 Mzmax = Mzmin= 0であるので、 Mz = 0となる。
Mz が床反力モーメント鉛直成分許容範囲 [Mzmin, Mzmax]を越えな いようにするために、 逆位相腕振りによって発生すべきモーメント鉛直 成分 Maz は、 (Mz— Mztmp)である。 Maz(=Mz— Mzt'mp)を図 3 4に示 す。
逆位相腕振り角加速度 )3 aは、 Mazを逆位相腕振りの等価慣性モーメ ント A Maz で割ったものを基準逆位相腕振り角加速度 β aref (基準逆 位相腕振り角を 2階微分した値) に加えることによって得られる。 すな わち、 6 aは前記式 1 0 2 1で求められる。 逆位相腕振り角加速度 a を図 3 5に示す。
以上のごとく S 5 0 4から S 5 2 8までの処理では、 逆位相腕振りを 含めたロボッ ト全体の運動によって発生する床反カモ一メント鉛直成分 Mz が許容範囲 [Mzmin, Mzmax]を越えないように (逆位相腕振り角加 速度を基準逆位相腕振り角加速度 3 aref に一致させた場合に発生する 床反力モーメント鉛直成分 Mztmp が許容範囲を越えた分を打ち消す (キャンセルする) ように)、 逆位相腕振り角加速度 ]3 a が決定される。 補足すると、 床反力モーメント鉛直成分 Mzが床反力モーメント鉛直 成分許容範囲 [Mzmin, Mzmax]を厳密に越えないようにするために、 S 5 0 4から S 5 2 8までの処理の代わりに、 逆位相腕振り角加速度 β a を、 より厳密な動力学モデルを用いて解析的あるいは探索的に決定し 4 009470
7 5 た方が良い。 なお、 探索的な決定法としては、 擬似ヤコビアン (感度マ トリックス) を求め、 擬似ニュートン法などにより次候補を決定する方 法や、 シンプレックス法などを用いれば良い。
以上が、 時刻 kが上体姿勢角 ·逆位相腕振り角復元期間の間にない場 合の処理である。
S 5 0 2の判定結果が Y E Sである場合には以下の処理が行われる。 まず、 S 5 3 0に進み、 ロボッ ト 1の前回瞬時歩容状態 (時刻 k 一 1の 歩容状態) から、 上体傾斜モードの角加速度を 0にして、 上体並進モー ドの運動をロボッ ト 1にさせた場合に今回 (時刻 k ) の目標 Z M Pを満 足するために必要な上体水平加速度 0!が求め、 これを梟終的な上体水平 加速度と決定する。
次に、 S 5 3 2に進み、 上記場合に床反力水平成分 Fxを求める。 次に、 S 5 3 4に進み、 上体姿勢角加速度 (上体傾斜角加速度) βを 0に決定する。 なお、 上体ョ一角加速度は、 基準上体ョ一角加速度 3 bref (基準上体ョ一角を 2階微分した値) に決定される。
次いで最後に、 S 5 3 6に進み、 逆位相腕振り角加速度 /3 a に、 基準 逆位相腕振り角加速度 β aref (基準逆位相腕振り角を 2階微分した値) を代入する。
以上が、 S 5 0 2の判定結果が Y E Sである場合の処理である。 すな わち、 この場合には、 上体姿勢角加速度 (上体傾斜角加速度および上体 ョ一角加速度) を基準上体姿勢角加速度に、 逆位相腕振り角加速度を基 準逆位相腕振り角加速度に一致させる。 このようにしても運動によって 発生する床反力が、 床反力水平成分許容範囲および床反力モーメント鉛 直成分許容範囲のいずれも越えないと予想されているので、 このように 決定しても問題ない。
S 5 2 8または S 5 3 6の処理の後、 図 2 5の S 4 1 4に進み、 S 4 1 2で求めた上体水平加速度を逐次積分する (時刻 Ts から現在時刻 k まで累積加算する) ことにより上体水平速度が求められ、 さらにその上 体水平速度を逐次積分する (時刻 Ts から現在時刻 kまで累積加算す る) ことにより、 上体水平位置 (今回値) が求め.られる。 また、 S 4 1 2で求めた上体姿勢角加速度を逐次積分する (時刻 Ts から現在時刻 k まで累積加算する) ことにより上体姿勢角速度が求められ、 さらにその 上体姿勢角速度を逐次積分する (時刻 Ts から現在時刻 kまで累積加算 する) ことにより、 上体姿勢角 (今回値) が求められる。
次に S 4 1 6に進み、 S 4 1 2で求めた逆位相腕振り加速度 β a を逐 次積分する (時刻 Ts から現在時刻 kまで累積加算する) ことにより逆 位相腕振り速度が求められ、 さらにこれを逐次積分する (時刻 Ts から 現在時刻 kまで累積加算する) ことにより、 逆位相腕振り角 0 az (今 回値) が求められる。 '
以上のごとく図 2 4の S 3 0 6の定常歩容瞬時値決定サブルーチンが 実行された後、 S 3 0 8に進み、 歩容生成用時刻 k の値が歩容生成ィ ンターバル Δ kだけ増加される。 次いで S 3 0 4に戻り、 S 3 0 4に示 す条件が成立している限り、 S 3 0 6と S 3 0 8の処理が繰り返され、 S 3 0 4に示す条件が成立しなくなつたら、 すなわち終端 (時刻 Te = Ts + Tcyc) まで仮歩容の生成が完了したら、 S 3 1 0に進む。
定常歩容では、 それを繰り返したときに境界でロボッ ト 1の運動状態 が不連続にならないように、 初期上体姿勢角及びその角速度を決定する 必要がある。
そのために、 S 3 1 0では、 上体姿勢角速度を、 時刻 Te までに、 初 期値 (時刻 Ts での値) に戻すための上体姿勢角加速度を発生させる床 反力モーメントの Z M P換算値 (以降、 上体姿勢復元モーメント Z M P 換算値と呼び、 Z M P recと略す) のパターンを設定する。 これについて以下に詳細に説明する。
上体姿勢角 ·逆位相腕振り角復元期間 (時刻 Tm から時刻 Ts2 の期 間および時刻 Tm2 から Te までの期間) に、 上体傾斜モードを用いて 上体姿勢角加速度を発生させることにより、 上体姿勢角速度を初期値 (時刻 Ts での値) に戻すことを考える。 このための上体姿勢角加速度 パターンを、 j3(k)とする。 なお、 上記期間以外では、 )8 (k)=0 とする < 上体傾斜モードでは、 上体姿勢角加速度 3 (k)を発生させようとする と、 床反力モーメント j3 (k)* ΔΜι·が発生する。 この結果、 その瞬間 における床反力鉛直成分が Fz(k)であるとすると、 (目標 Z MPでな く) 運動から算出される Z MP(k)は、 次式で求められる Δ Z M Pだけ ずれる。
A Z MP(k)= - (k)* ΔΜΓ /Fz(k) …式 2 3 したがって、 ΔΜ Γのパターンと Fz(k)のパターンが決まっていれば (既知であれば)、 A Z MP(k)のパターンを適当に設定することによ つて、 式 2 3を満足する上体姿勢角加速度パターンを発生させて、 上体 姿勢角速度を初期値 (時刻 Ts での値)、 すなわち基準上体姿勢軌道の 初期 (時刻 Ts)状態における上体姿勢角速度に戻すことができる。
前記上体姿勢復元モーメント ZMP換算値 (Z MPrec) は、 そのよ うに適切に設定された Δ Z MP(k)を意味する。 前記式 2 3を用いて上 体姿勢復元モーメント Z MP換算値を設定する際に、 ΔΜΓは厳密には 変動するが、 近似的に一定値としても良い。 定常歩容は仮に生成される だけであり、 実際のロボッ トをこの歩容に追従させるわけではないので、 定常歩容の動力学的精度はあまり高くなくても良いからである。
図 3 0に ZMPrec の一例を示す。 図 3 0では、 ZMPrec のパター ンとして、 時刻 Tmから時刻 Ts2 の期間および時刻 Tm2から Te まで の期間に台形パターンが形成されている。 その台形部の折れ点の時刻は 時刻 Tm と時刻 Ts2 との間の期間および時刻 Tm2から Te までの期間 における目標 ZMPパターンの折れ点の時刻 (図.2 2参照) に一致させ てある。 これは、 後述するが、 今回歩容の目標 ZMPパターンの修正が 簡単になるからである。
式 2 3の Δ ZMP(k)に Z MPrec(k)を代入することにょり次式が得 られる。 3 (k)= - Z M Prec(k)* Fz(k)/ ΔΜ r …式 2'4 したがって、 この式 2 4で求められる) 3 (k)は、 図 3 1の実線で示す ようになる。 なお、 図 3 1の点線で示すものは、 時刻 Ts から時刻 Tm までの期間および時刻 Tm2 から Te までの期間の上体姿勢角加速度 (図 2 9の実線示のもの) である。 (以降、 時刻 kでの値であることが 明らかな場合には、 (k)を省略する場合がある。)
初期 (時刻 Ts) 上体姿勢角は、 初期 (時刻 Ts) 基準上体姿勢角に一 致させる。
また、 初期上体姿勢角速度は、 式 3 7 a、 3 7 bを満たすように決定 する。 ' 終端上体姿勢角一初期上体姿勢角
==床反力水平成分許容範囲を満たすように決定された上体姿勢角加速 度の 2階積分
+ Z MPrecによって発生する上体姿勢角加速度の 2階積分
+初期上体姿勢角速度 *定常歩容の周期 2004/009470
7 9
……式 3 7 a 終端上体姿勢角速度一初期上体姿勢角速度 .
=床反力水平成分許容範囲を満たすように決定された上体姿勢角加速 度の 1階積分
+ Z M P recによつて発生する上体姿勢角加速度の 1階積分
式 3 7 b なお、 式 3 7 a、 3 7 bのそれぞれの右辺第 1項の積分期間は、 時刻 Tsから Tm までの期間と、 Ts2から Tm2 までの期間1とを合わせた期間 であり、 右辺第 2項の積分期間は、 時刻 Tm から Ts2 までの期間と Tm2から Teまでの期間とを合わせた期間である。
より具体的に説明すると定常歩容では、 第 1旋回歩容の支持脚座標系 (次回歩容支持客座標系) から見た初期状態姿勢角及び角速度が、 それ ぞれ、 次の第 1旋回歩容の支持脚座標系 (次次次回歩容支持脚座標系) から見た終端上体姿勢角および角速度に一致していなければならない。 そこで、 本実施形態では、 初期 (時刻 Ts) 上体姿勢角は、 初期 (時刻 Ts) 基準上体姿勢角の値に決定し、 これと、 これを定常歩容における 口ポッ ト 1のトータルの旋回角 (鉛直軸回りの旋回角) に応じたマトリ クス (回転座標変換のマトリクス) により次回歩容支持脚座標系から見 た値に座標変換したものとをそれぞれ式 3 7 aの左辺の初期上体姿勢角、 終端上体姿勢角に代入する。 また、 式 3 7 a , 3 7 bのそれぞれの右辺 第 1項の積分に係る上体姿勢角加速度は、 前記図 2 6の S 5 1 8で求め られたものが用いられる。
そして、 式 3 7 a, 3 7 bの初期上体姿勢角速度と、 式 3 7 a , 3 7 bの右辺第 2項の積分に係る Z M P rec (図 3 0の台形状のパターン) の台形高さをと未知数として (但し、 ZMPrec の台形パターンの折れ 点の時刻は前記のごとくあらかじめ定める。 また、 第 1旋回歩容の ZM Prec の台形高さ acycl と第 2旋回歩容の Z M P rec の台形高さ acyc2 を同一値とする。)、 それらの未知数を含む式 3 7 , 3 7 bの連立方程 式を解くことにより求められる初期上体姿勢角速度を新たな初期上体姿 勢角速度として決定する。 この場合、 式 3 7 bの終端上体姿勢角速度は. 未知数である初期上体姿勢角速度を、 定常歩容の上記トータルの旋回角 に応じたマトリクスにより次回支持脚座標系から見た値に座標変換した ものである。
次いで S 3 1 2に進み、 上体傾斜復元モーメント Z P換算値 (ZM Prec) パターンを基に、 これによる上体水平位置 · 速度への影響量を 求め、 終端上体水平位置,速度に加算する。
この処理について解説する。 なお、 その詳細は、 本願出願人の P CT / J P 0 2 / 1 3 5 9 2にて説明されているので、 ここでは簡略な説明 に留める。
時刻 Ts から Tmの期間および時刻 Ts2から Te の期間において、 上 記のごとく上体傾斜復元モーメント Z M P換算値 (Z MPrec) パター ンを発生するように上体姿勢角加速度 /3を変化させると、 上体姿勢角加 速度) 3は、 次式のようになる。
]3 = - Z M P rec * Fz/ Δ M r …式 1 0 2 5 上体傾斜復元モーメントを発生させない場合に目標 Z MPを満足する 上体水平加速度は、 S 5 3 2において求めたごとく atmp であるが、 上記のごとく上体姿勢角加速度 /3を変化させると、 目標 Z MPを満足す るために必要な上体水平加速度 αは、 次式のようになる。 8
= a tmp- (厶 M r /厶 Mp ) * jS 式 1 0 2 6 式 1 0 2 5および 1 0 2 6より、 = a tmp + Z M P rec * Fz/ Δ M p 式 1 0 2 7 すなわち、 上体傾斜復元モーメント Z M P換算値 ( Z M Prec) によつ て、 加速度が式 1 0 2 7の右辺第 2項分だけ増加する。
式が線形であることを利用すると、 上記のごとく上体傾斜復元モーメ ント Z M P換算値 ( Z M P rec) パターンを発生するように上体姿勢角 加速度 0を変化させた場合の終端上体水平速度は、 上体傾斜復元モーメ ント Z M P換算値 (Z M Prec) パターンを発生させなかった場合の終 端上体水平速度、 すなわち S 4 1 4で求めた上体水平速度の終端値に、 時刻 Tsから Te までの ( Z M Prec* Fz ΔΜρ ) の 1階積分を加算し たものとして求められる。 また、 上記のごとく上体傾斜復元モーメント Ζ Μ Ρ換算値 ( Z M P rec) パターンを発生するように上体姿勢角加速 度 /3を変化させた場合の終端上体水平位置は、 上体傾斜復元モーメント Z M P換算値 (Z M Prec) パターンを発生させなかった場合の終端上 体水平位置、 すなわち S 4 1 4で求めた上体水平位置の終端値に、 時刻 Ts から Te までの ( Z M Prec* FzZ ΔΜρ ) の 2階積分を加算したも のとして求められる。
S 3 1 2の処理を完了した後、 S 3 1 4に進み、 逆位相腕振り角速度 が初期と終端で一致するように逆位相腕振り復元角加速度 (jS arec) パ ターンを決定する。
具体的には、 逆位相腕振り復元角加速度パターンを図 3 6のように台 形状に設定し、 時刻 Tmから Ts2 までの期間の台形高さ azcyc2 と時刻 Tm2 から Te までの期間の台形高さ azcycl を同一とし、 時刻 Ts から Te までの 3 arec の積分値と床反力モーメント鉛直成分 Mz が許容範囲 を越えないようにするための前記求めた逆位相腕振り加速度 3 a の積分 値との和が 0となるように台形高さ azcycl、 azcyc2 を決定する。 なお. 両区間の台形高さは、 同一でなくても構わない。
補足すると、 このように決定した逆位相腕振り復元角加速度パターン によって発生する床反力モーメント鉛直成分 (Mazrec) は、 図 3 7の ようになる。 したがって、 逆位相腕振りを含む口ポッ トの運動によって 発生する床反力モーメント鉛直成分 Mzは、 最終的にほ、 図 3 8に示す ごとく、 図 3 2の Mztmp と図 3 4の Mazと図 3 7の Mazrecとの和、 すなわち、 図 3 3の Mz と図 3 7の Mazrec との和になる。 時刻 Tmか ら Ts2 までの期間および時刻 Τπι2 から Te までの期間においては、 台 形状の復元モーメントが加算されるが、 これらの期間は、 許容範囲が十 分に広い期間に設定されているので、 逆位相腕振りを含む口ポッ トの運 動によって発生する床反力モーメント鉛直成分は、 許容範囲を越えるこ とはない。
次に S 3 1 6に進み、 定常歩容の初期 (時刻 Ts) 逆位相腕振り角お よび角速度を決定する。
具体的には、 初期逆位相腕振り角速度は、 以下の式によって決定する ( 初期逆位相腕振り角速度
-基準初期逆位相腕振り角速度
一 ( ^ arecが 0の場合の逆位相腕振り角
+ )3 arecパターンの 2階積分) Tcyc
…式 1 0 3 0 ただし、 上式において、 ]3 arec が 0の場合の逆位相腕振り角とは、 S 4 1 6において求めた逆位相腕振り角 (時刻 Te における逆位相腕振 り角) のことである。 また、 β arec の 2階積分とは、 図 3 6のように 設定した逆位相腕振り復元角加速度の時刻 Ts から Te までの 2階積分 値である。 また、 基準初期逆位相腕振り角速度は前記基準逆位相腕振り 角速度 (基準逆位相腕振り角 0 aref の 1階微分値) の時刻 Ts での値で ある。
初期逆位相腕振り角は、 基準初期逆位相腕振り角に一致させれば良い, または、 最終的に決定された逆位相腕振り角加速度 (すなわち、 床反力 モーメント鉛直成分 Mzが許容範囲を越えないようにするための前記求 めた逆位相腕振り加速度 β aと復元角加速度 3 arecの和) と上記求めた 初期逆位相腕振り角速度を基に、 仮に初期逆位相腕振り角を基準初期逆 位相腕振り角に一致させた場合に算出される腕振り角と基準逆位相腕振 り角との差の平均値または前記差の最大値と最小値の平均値を求め、 求 めた平均値の 2分の 1を基準初期逆位相腕振り角から減じた値を最終的 な初期逆位相腕振り角として決定しても良い。 このようにすることで、 算出される腕振り角と基準逆位相腕振り角との差の絶対値が大きくなり 過ぎることを防止することができる。
時刻 Ts、 Tm、 Ts2 および Tm2 を前記のごとく設定した理由のひと つは、 時刻 Tmから Ts2 までの期間ど時刻 Tm2から Te までの期間と において、 上体姿勢角速度を基準上体姿勢軌道の初期角速度に戻すよう に上体姿勢角加速度) 3を発生させても、 床反力水平成分 Fx が許容範囲 [Fxmin, Fxmax]を越えないようにするためである。 換言すれば、 時刻 Tmから Ts2までの期間と時刻 Tm2から Teまでの期間とにおいては、 床反力水平成分許容範囲が十分に大きいため、 目標 Z M Pを満足しつつ- 上体姿勢角速度を戻すように上体姿勢角加速度 /3を発生させても、 床反 9470
84 力水平成分 Fxは、 許容範囲を越えることがない。
また時刻 Ts、 Tm、 Ts2 および Tm2 を前記のごとく設定したもうひ とつの理由は、 時刻 Tmから Ts2 までの期間と時刻 Tm2から Te まで の期間とにおいて、 逆位相腕振り角速度を基準逆位相腕振り角軌道の初 期角速度に戻すように逆位相腕振り角加速度 /3a を発生させても、 床反 力モ一メント鉛直成分 Mzが許容範囲 [Mzmin, Mzmax]を越えないよう にするためである。 換言すれば、 時刻 Tm から Ts2 までの期間と時刻 Τιη2から Te までの期間とにおいては、 床反力モーメント鉛直成分許容 範囲が十分に大きいため、 逆位相腕振り角速度を戻すように逆位相腕振 り角加速度 i8a を発生させても、 床反力モーメント鉛直成分 Mz は、 許 容範囲を越えることがない。
以上のごとく図 2 4の S 3 1 6の処理が完了した後、 図 2 3の S 2 1 0に進み、 生成した歩容 (仮定常歩容) 'の終端上体水平位置 ·速度を、 その瞬間の支持脚に対応する支持脚座標系 (図 1 7の Χ'", Υ'" , Ζ'" 座標系) から見た値に変換し、 その値を (X e , V X e ) とする (X e : 終端上体水平位置、 Vx e :終端上体水平速度)。
次いで S 2 1 2に進み、 図示の如く、 初期上体水平位置速度 (X s, V X s ) と終端上体水平位置速度 (X e, V x e ) との差を算出する。 この差 (X s — X e, V x s —V x e ) を上体水平位置速度境界条件誤 差 (errx, errvx) と呼ぶ。 定常歩容では、 前記境界条件を満たす必要 があるので、 (X s , V X s ) と (X e , V x e ) とが一致していなけ ればならない。 従って、 上体水平位置速度境界条件誤差 (errx, errvx) が零またはほぼ零でなければならない。 本実施形態では、 以下 のように、 上体水平位置速度境界条件誤差 (errx, errvx) がほぼ零と なる (X s, V X s ) が探索的に求められる。
次いで S 2 1 4に進み、 算出した上体水平位置速度境界条件誤差 (errx, errvx) が、 あらかじめ適宜設定された許容範囲内にあるか否 かが判断される。 尚、 このように上体水平位置速度境界条件誤差の許容 範囲を設定する代わりに、 初期発散成分 (X s +V x s Zc O) と終端 発散成分 (X e + V x e ZcoO) との差、 および初期収束成分 (X s — V X s / ωθΊ と終端収束成分 (X e — V X e Ζωθ') との差がそれ ぞれある許容範囲内にあるか否か判断するようにしても良い。 ただしの 0, ωθ' は、 前述したように、 ある所定の値である。
S 2 1 4の判断結果が Ν〇であるときには S 2 1 6に進む。 この S 2 1 6では、 (X s, V X s ) の付近に複数 (本実施形態では 2つ) の初 期値候補 (X s + A X s, V X s ), (X s , V x s + AV x s ) が決定 される。 ここで、 A X s, AV x sは、 それぞれ X s , V x sに対する 所定の微小変化量を意味している。 そして、 これらの初期値候補のそれ ぞれを上体水平位置速度の初期状態として、 前記 S 2 0 8と同様の処理 によって定常歩容が歩容パラメータを用いて生成される。 さらに、 その 生成された定常歩容の終端上体位置速度を、 その瞬間の支持脚に対応す る支持脚座標系 (図 1 7の Χ"', Υ'" , Ζ" '座標系) から見た値に変換 した値 (X e + A X e l, V x e + AV x e 1 ), (X e + Δ X e 2 , V x e + Δ V x e 2 ) が求められる。 ここで、 (X e + A X e l, V x e + Δ V x e 1 ) は (X s + A X s, Vx s ) に対応する終端上体位置速 度を意味し、 (X e + A X e 2 , V x e + A V x e 2) は (X s, V x s + Δ V x s ) に対応する終端上体位置速度を意味している。 なお、 こ の場合の定常歩容 (仮歩容) の生成処理では、 上体水平位置速度以外の 変数の初期状態 (時刻 T sでの状態) は、 例えば上体水平位置速度の初 期値候補を (X s, V x s ) とした場合と同一に設定すればよい。 S 2 1 6ではさらに、 前記 S 2 1 0 と同様の処理によって、 各初期値候補と これに対応する終端上体位置速度との差、 すなわち、 各初期値候補 (X s + A X s, V x s ), (X s , V x s + Δ V x s ) のそれぞれに対応す る上体水平位置速度境界条件誤差が求められる。
次いで S 2 1 8に進み、 (X s, V X s ) およびその付近の初期値侯 補 (X s + A X s , V X s ), (X s , V x s + A.V x s ) のそれぞれに 対する上体水平位置速度境界条件誤差を基に、 (X s, V X s ) の次の 初期値候補が探索法 (擬似ヤコビアン (感度マトリックス) を求め、 最 急降下法などにより次候補を決定する方法や、 シンプレックス法など) により決定される。 すなわち、 (X s, V X s ) およびその付近の初期 値候補 (X s + A X s, V X s ), (X s , V x s + AV x s ) のそれぞ れに対する上体水平位置速度境界条件誤差によって、 上体水平位置及び 上体水平速度をそれぞれ初期値候補 (X s , V X s ) から微小変化させ たときの、 上体水平位置速度境界条件誤差の変化度合いを示す感度マト リックスが求められ、 その感度マトリックスに基づいて、 上体水平位置 速度境界条件誤差をより小さくするような初期値候補 (X s, V X s ) が新たに決定される。 そして、 このように上体水平位置速度の新たな初 期値候補 (X s , Vx s ) が決定された後、 S 2 0 6に戻る。
S 2 1 4の判断結果が NOとなる限りは上記した処理 (S 2 0 6〜S 2 1 8の処理) が繰り返される。 なお、 この場合、 上体水平位置速度の 新たな初期値候補 (X s , V x s ) に対応する定常歩容の生成処理 (S 2 0 8 ) における S 3 0 0 (図 24参照) では、 上体姿勢角速度の初期 値は、 基準上体姿勢角速度の初期値ではなく、 上体水平位置速度の前回 の初期値候補 (X s, V x s ) に対応する S 2 0 8の処理における S 3 1 0 (図 2 4参照) で決定したものに設定される。 そして、 S 2 1 4の 判断結果が YE Sになると、 繰り返しループ (S 2 0 4) を抜けて S 2 2 0に進む。 なお、 S 2 0 4の繰り返しループを抜けたときの直前に生 成された仮定常歩容が、 境界条件を満たす定常歩容として得られること となる。
S 2 2 0では、 本来の初期時刻 0 (今回歩容の終端時刻) における初 期上体水平位置速度 (X0, V0) と初期時刻 0における初期上体鉛直 位置速度 ( Z 0、 V z 0) と初期時刻 0における初期上体姿勢角および 角速度が求められる。
具体的には、 (X0, V0) と (Z0, V z 0) は、 S 3 1 0において決 定された上体傾斜復元モーメント ZMP換算値パターン、 時刻 Ts にお ける定常歩容の初期上体姿勢角および角速度と、 S 2 0 4のループを抜 けた後の時刻 Ts における上体水平位置速度 (Xs,Vxs)を基に、 歩容の条 件を満足するように歩容を生成した場合における、 第 έ旋回歩容から第 1旋回歩容に切り換わった瞬間の時刻、 すなわち、 時刻 k =Tcyc (侍 刻 Te— Ts) であるときに決定される上体水平位置速度と上体鉛直位置 速度とを、 それぞれ時刻 Tcyc から始まる一歩 (すなわち 2度目の第 1 旋回歩容) の支持脚に対応する支持脚座標系 (図 1 7の Χ"', Υ'", Ζ'" 座標系) から見た値に変換した値に決定される。 同様に、 初期状態姿勢 角および角速度は、 時刻 k = Tcyc (時刻 Te— Ts) であるときに決定さ れる上体姿勢角及び角加速度を、 時刻 Tcyc から始まる一歩 (すなわち 2度目の第 1旋回歩容) の支持脚に対応する支持脚座標系 (図 1 7の X '", Υ'", Ζ'"座標系) から見た値に変換した値に決定される。
次いで S 2 2 2に進み、 定常歩容初期発散成分 Q [ 0 ] が次式から求 められる。 q [0] = Χ0 + V0/ ω 0 …式 4 0
ただし ωθ は、 発散についての解説で述べたように、 ある所定の値であ る。
次に S 2 2 4に進み、 定常歩容初期発散成分 Q [ 0 ] が今回歩容支持 脚座標系から見た値に変換され、 これが Q " [ 0 ] として求められる。 また、 初期上体鉛直位置速度 (Z 0 , V z 0 ) が今回歩容支持脚座標系 から見た値に変換され、 これが (Z0 ", V z 0 ") として求められる。 補足すると、 ( Z 0 ", V z 0 ") は、 第 2旋回歩容の支持脚座標系 (図 1 7の X", Y", Z" 座標系) から見た第 2旋回歩容終端上体鉛直 位置速度に一致している。 また、 Q " [ 0 ] も第 2旋回歩容の支持脚座 標系 (図 1 7の X", Y", Ζ" 座標系) から見た第 2旋回歩容終端発散 成分に一致している。 したがって、 これらの性質を用いて、 (Ζ 0 ", V ζ 0 ") および Q" [ 0 ] を算出するようにしても良い。
さらに、 S 2 2 6に進み、 本来の初期時刻 0 (今回歩容の終端時刻) における初期逆位相腕振り角および角速度(0 az0, azO)を求め、 さら に、 これを今回歩容の支持脚座標系から見た値である(0 az0", coazO") を求める。 具体的には、 azO, oazO)'は、 S 3 1 4および S 3 1 6に おいて決定された逆位相腕振り復元角加速度パターン、 定常歩容の初期 (時刻 Ts) 逆位相腕振り角および角速度とを基に、 歩容の条件を満足 するように歩容を生成した場合における (より具体的には、 上体姿勢 角 ·逆位相腕振り角復元期間以外では、 床反力モーメント鉛直成分が許 容範囲を越えないように、 逆位相腕振り角軌道を決定し、 上体姿勢角 ' 逆位相腕振り角復元期間では、 前記基準逆位相腕振り角加速度 β aref と逆位相腕振り復元角加速度; Sarec の和が発生するように逆位相腕振 り角軌道を決定した場合における) 第 2旋回歩容から第 1旋回歩容に切 り換わった瞬間の時刻、 すなわち、 時刻 k =Tcyc (時刻 Te— Ts) であ るときに決定される逆位相腕振り角および角速度を、 時刻 Tcyc から始 まる一歩 (すなわち 2度目の第 1旋回歩容) の支持脚に対応する支持脚 座標系 (図 1 7の Χ"', Υ'", Ζ"'座標系) から見た値に変換した値に決 定される。 2004/009470
8 9 以上により、 図 1 3の S O 2 4の処理、 すなわち定常歩容の初期状態 を求めるサブルーチン処理が終了する。
次いで、 図 1 3の S O 2 6に進み、 今回歩容の歩容パラメ一夕を決定 (一部は仮決定) する。 S 0 2 6では、 より具体的には、 図 3 9に示す フローチャートに従って、 以下の処理が行われる。
まず、 S 6 0 0において、 今回歩容の足平位置姿勢軌道が定常歩容の 足平位置姿勢軌道につながるように、 今回歩容の足平軌道パラメータが
§夂疋 iれる。
具体的には、 今回歩容初期遊脚足平位置姿勢 (今回歩容遊脚足平位置 姿勢の初期値) は、 今回歩容支持脚座標系から見た現在遊脚位置姿勢
(前回歩容終端遊脚位置姿勢) に設定される。 今回歩容初期支持脚足平 位置姿勢 (今回歩容支持脚足平位置姿勢の初期値) は、 今回歩容支持脚 座標系から見た現在支持脚足平位置姿勢 (前回歩容終端支持脚足平位置 姿勢) に設定される。 また、 今回歩容終端遊脚足平位置姿勢は、 今回歩 容支持脚座標系から見た次回歩容支持脚座標系 (今回歩容に係わる 1歩 目の遊脚着床位置姿勢の要求値) に対応して決定される。 すなわち、 今 回歩容終端遊脚足平位置姿勢から遊脚足平 2 2を床に接触させたまま、 すべらないように該足平 2 2をその底面のほぼ全面が接地するまで回転 させたときの、 該足平 2 2の代表点が今回歩容支持脚座標系から見た次 回歩容支持脚座標系の原点に合致するように今回歩容終端遊脚足平位置 姿勢が決定される。
今回歩容終端では、 支持脚足平 2 2は離床して空中にある。 支持脚足 平 2 2が離床してから後の軌道を決定するために、 支持脚足平着地予定 位置姿勢を設定する。 支持脚足平着地予定位置姿勢は、 今回歩容支持脚 座標から見た次次回歩容支持脚座標 (今回歩容に係わる 2歩目の遊脚足 平位置姿勢の要求値) に対応して設定される。 より具体的には、 支持脚 足平着地予定位置姿勢は、 その位置姿勢から、 足平 2 2を床に接触させ たまま、 すべらないように該足平 2 2をその底面のほぼ全面が床に接地 するまで回転させたときの該足平 2 2の代表点が今回歩容支持脚座標か ら見た次次回歩容支持脚座標の原点に合致するよ.うに設定される。
今回歩容終端支持脚足平位置姿勢は、 現在支持脚位置姿勢 (今回歩容 初期支持脚足平位置姿勢) から、 次回歩容支持脚座標系に対応する足平 着地予定位置姿勢 (前記要求パラメ一夕における 2歩目の遊脚側足平着 地位置姿勢の要求値) に至る足平位置姿勢軌道を、 今回歩容終端まで前 記有限時間整定フィル夕により生成することにより求められる。
次いで、 S 6 0 2に進み、 今回歩容の基準上体姿勢軌道パラメ一夕が. 定常歩容の第 1旋回歩容ゃ第 2旋回歩容と同様に決定される。 ただし、 今回歩容の基準上体姿勢軌道が前記定常歩容の基準上体姿勢軌道に連続 してつながる (今回歩容終端での基準上体姿勢角及び角速度がそれぞれ 定常歩容初期の基準上体姿勢角及び角速度に一致する) ように上記パラ メータが設定される。 なお、 本実施形態では、 傾斜角に関する基準上体 姿勢は、 今回歩容及び定常歩容のいずれでも定常的な鉛直姿勢である。 次いで、 S 6 0 4に進み、 今回歩容の基準腕姿勢軌道パラメータが、 定常歩容の第 1旋回歩容ゃ第 2旋回歩容と同様に決定される。 ただし、 今回歩容の初期基準腕姿勢およびその変化率が基準腕姿勢および変化率 の現在瞬間値に一致し、 かつ、 今回歩容の腕姿勢軌道が前記定常歩容の 腕姿勢軌道に連続してつながるように上記パラメ一夕を設定する。 なお. ここで決定される腕姿勢軌道パラメータは、 定常歩容パラメータの決定 (図 1 5の S 1 0 4 ) の場合と同様、 たとえば、 両腕体 5 , 5の全体の 重心位置 (上体 3に対する相対位置)、 左右の手先 (両腕体 5 , 5の先 端) の左右方向の間隔および逆位相腕振り角に関するパラメ一夕が決定 される。 尚、 本実施形態では、 両腕体 5 , 5の全体の重心位置は、 上体 3に対して一定に維持されるように設定される。
次いで、 S 6 0 6に進み、 今回歩容の床反力鉛直成分軌道パラメ一夕 が、 定常歩容の第 1旋回歩容ゃ第 2旋回歩容と同様、 該パラメ一夕によ り規定される床反力鉛直成分軌道が前記図 6のように実質的に連続な (値がステップ状に飛ばない) 軌道になるように設定される。
ただし、 床反力鉛直成分軌道パラメ一夕は、 今回歩容の全体重心鉛直 位置速度と床反力鉛直成分軌道とのいずれもが、 前記定常歩容と連続し てつながるように決定される。
具体的には、 まず、 前記図 1 3の S 0 2 4の処理 (定常歩容初期状態 の決定処理) で最終的に求めた定常歩容の初期上体鉛 it位置速度を今回 歩容支持脚座標系から見た値に変換した値 (Z 0 ", V z ひ ")、 すなわ ち、 図 2 3の S 2 2 4で求めた (Z 0 ", V z 0 ") 等を基に、 例えば前 記式 0 4 (あるいはロボッ ト 1のキネマテイクスモデル) を用いて、 今 回歩容支持脚座標系から見た定常歩容の初期全体重心鉛直位置速度が求 められる。 具体的には、 今回歩容支持脚座標系から見た定常歩容の初期 全体重心鉛直位置は、 S 2 2 4で求めた定常歩容の上体鉛直位置 Z0" に対応する図 1 2のモデルの上体質点鉛直位置と、 定常歩容初期の各足 平位置を今回歩容支持脚座標系から見た値に変換したものに対応する支 持脚側及び遊脚側の脚体質点鉛直位置とを式 0 4に代入することで求め られる。 また、 今回歩容支持脚座標系から見た定常歩容の初期全体重心 鉛直速度は、 S 2 2 4で求めた定常歩容の上体鉛直速度 VzO" に対応す る図 1 2のモデルの上体質点鉛直速度と、 定常歩容初期の各足平鉛直速 度を今回歩容支持脚座標系から見た値に変換したものに対応する支持脚 側及び遊脚側の脚体質点鉛直速度とを式 0 4の両辺を微分してなる式に 代入することにより求められる。 なお、 この初期全体重心鉛直位置速度 の算出は、 より厳密なモデルを用いて行なうようにしてもよい。 そして、 このようにして求めた定常歩容の初期全体重心鉛直位置速度 を、 次式 4 1 a、 4 1 bの終端全体重心鉛直位置速度に代入すると共に. 前回の目標歩容瞬時値 (より厳密には、 前回目標歩容の終端状態を今回 支持脚座標系に変換したもの) の全体重心鉛直位.置および速度を、 式 4 1 a、 4 1 bの初期全体重心鉛直位置および速度に代入し、 式 4 1 a、 4 1 bの関係を満足するように、 今回歩容の床反力鉛直成分パターン (より具体的にはパラメータ値) が決定される。 ただし、 式 4 1 a、 4 1 bにおける祯分値は今回歩容の初期から終端までの期間の積分値とす る。
'
終端全体重心鉛直位置 -初期全体重心鉛直位置
= (床反力鉛直成分/口ポッ トの全体質量) の 2階積分
+重力加速度の 2階積分
+初期全体重心鉛直速度 * 1歩の時間
…式 4 1 a 終端全体重心鉛直速度一初期全体重心鉛直速度
= (床反力鉛直成分/口ポッ トの全体質量) の 1階積分
+重力加速度の 1階積分
…式 4 1 b ただし、 重力加速度は負の値とする。
より具体的には、 まず、 図 6のような床反力鉛直成分パターンを規定 する床反力鉛直成分パラメ一夕 (折れ点の時刻等) のうちの、 少なくと も 2つのパラメ一夕を独立な未知変数として、 その未知変数の値を、 式 4 1 a、 4 1 bからなる連立方程式を解いて決定する。
未知変数とする床反力鉛直成分パラメ一夕には、 例えば、 図 6の台形 の高さ (床反力鉛直成分のピーク値) と幅 (片脚支持期時間) とを選択 T脑 04/009470
9 3 すれば良い。 この場合、 図 6の台形の両側部分の傾きは今回歩容周期等 に応じてあらかじめ定めた値とし、 あるいは、 片脚支持期から空中期に 移行する時刻を除く床反力鉛直成分パターンの折れ点の時刻を今回歩容 周期等に応じてあらかじめ定めた値とする。 補足すると、 未知変数を 1 つとすると、 一般的には式 4 1 a、 4 1 bの連立方程式を満足する解が 存在しない。
次いで、 S 6 0 8に進み、 床反力水平成分許容範囲 [Fxmin, Fxmax] (具体的には該床反力水平成分許容範囲のパターンを規定するパラメ一 夕) が、 定常歩容の第 1旋回歩容ゃ第 2旋回歩容と同様に設定される。 たとえば図 4 0に示すようなパターンで床反力水平成分許容範囲が設定 される。 本実施形態では、 先に S 6 0 6で決定した床反力鉛直成分パタ ーンに応じて前記式 1 2に基づいて床反力水平成分許容範囲が設定され る。
次いで、 S 6 1 0 に進み、 床反力モーメン ト鉛直成分許容範囲 [Mzmin, Mzmax] (具体的には該床反力モーメント鉛直成分許容範囲 のパターンを規定するパラメータ) が、 定常歩容の第 1旋回歩容ゃ第 2 旋回歩容と同様に設定される。 たとえば図 4 1に示すようなパターンで 床反力モーメント鉛直成分許容範囲が設定される。 本実施形態では、 先 に S 6 0 6で決定した床反力鉛直成分パターンに応じて前記式 1 0 1 2 に基づいて床反力モーメント鉛直成分許容範囲が設定される
次いで、 S 6 1 2に進み、 今回歩容の Z M P軌道 (具体的には Z M P 軌道を規定するパラメ一夕で、 軌道の折れ点の時刻や位置) が、 定常歩 容の第 1旋回歩容ゃ第 2旋回歩容と同様、 安定余裕が高くかつ急激な変 化をしないように、 前記図 7に示すごとく設定される。 ただし、 今回歩 容の Z M P軌道が前記定常歩容の Z M P軌道に連続してつながるように 上記パラメータを設定される。 つまり、 今回歩容終端における Z M Pの 位置が定常歩容初期の Z MP位置に一致するように、 Z MP軌道パラメ —夕が決定される。 この場合、 走行歩容では、 片脚支持期における Z M P軌道の折れ点の時刻や位置の設定の仕方は、 前述した定常歩容の Z M P軌道パラメ一夕の設定の仕方と同様でよい。 そ.して、 空中期における 目標 Z MP軌道が、 空中期開始時から、 定常歩容初期の Z MP位置まで, 直線的に連続して変化するように Z MP軌道パラメータを設定すればよ い。
なお、 S 6 1 2で決定される今回歩容の ZMP軌道パラメ一夕は、 仮 決定されただけであり、 後述するように修正される。 そこで、 上記のご とく設定した今回歩容の ZMP軌道を、 以降、 今回歩容の仮目標 ZMP 軌道と呼ぶこととする。
最後に、 S 6 1 4に進み、 上体姿勢角 · 逆位相腕振り角復元期間 [Ta, Tb]が設定される。 上体姿勢角 · 逆位相腕振り角復元開始時刻 Ta は、 定常歩容の第 2旋回歩容における Tmに相当し、 上体姿勢角 ·逆位相腕 振り角復元修了時刻 Tbは、 定常歩容の第 2旋回歩容における Ts2に相 当するものである。 これらの時刻 Ta, Tb の設定の仕方は、 それぞれ Tmおよび Ts2の設定の仕方と同様である。
図 1 3の説明に戻って、 上記のごとく S 0 2 6に示す処理 (今回歩容 の歩容パラメ一夕決定処理) を行って後、 次いで S O 2 8に進み、 今回 歩容の歩容パラメータ (Z MP軌道パラメータ) が修正され、 また、 逆 位相腕振り角に関するパラメ一夕が決定される。 この処理では、 上体位 置姿勢軌道を定常歩容に連続させ、 もしくは近づけるべく Z MP軌道パ ラメ一夕が修正され、 かつ、 逆位相腕振り角が定常歩容の逆位相腕振り 角軌道に収束するように今回歩容の逆位相腕振り角に関するパラメータ が決定される。
図 4 2はその処理を示すサブル一チン · フロー . チャートである。 まず S 7 0 0を経て S 7 0 2に進み、 仮目標 Z M Pパターンとその他 の今回歩容パラメ一夕を基に、 今回歩容終端時刻までの仮今回歩容が仮 生成される。
S 7 0 2では、 図 4 3に示すフローチャートに従って、 以下の処理が 行われる。
以下説明すると、 S 8 0 0において、 諸々の初期化が行われる。 具体 的には、 仮歩容生成用時刻 k に 0が代入される。 また、 前回目標歩容 の終端状態 (より具体的には、 上体水平位置速度、 上体鉛直位置速度、 上体姿勢角及びその角速度、 目標足平位置姿勢、 目標腕姿勢などの歩容 状態の終端値) を今回支持脚座標系に変換したものを、' 今回歩容初期状 態とする。
補足すると、 目標腕姿勢は、 目標逆位相腕振り角 · 角速度を含む。 次いで、 S 8 0 2を経て S 8 0 4において、 仮歩容生成用時刻 k が 今回歩容終端時刻 Tcurr 以前であるか否か (k≤Tcui'r であるか否か) が判断され、 その判断結果が Y E Sある場合には、 S 8 0 6の今回歩容 瞬時値決定サブルーチンに進み、 今回歩容の時刻 k の瞬時値が決定さ れる。 S 8 0 6の歩容瞬時値決定サブルーチンでは、 前述の S 3 0 6と 同様、 図 2 5に示すごとく仮歩容を生成する。 ただし、 歩容パラメ一夕 として、 定常歩容パラメ一夕の代わりに今回歩容パラメータが用いられ る。
次いで S 8 0 8に進み、 仮歩容生成用時刻 kが Δ ¾:だけ増加され、 S 8 0 4に戻る。
S 8 0 4の判断結果が N Oである場合には、 図 4 3に示すフローチヤ 一トの処理が完了する。
以上の処理により、 仮の今回歩容が初期から終端まで生成される。 次いで S 7 0 4に進み、 上記のごとく S 7 0 2で求めた今回歩容終端 での上体水平位置速度 (X e , V X e ) から、 終端発散成分 d 0[k] (k=Tcurr) が図示の式 (前記式 1 0 ) を用いて求められる。
次いで S 7 0 6に進み、 今回歩容終端発散成分 Q0[k]と定常歩容初期 発散成分 q" (図 2 3の S 2 2 4で求めたもの) との差である終端発散 成分誤差 errq が図示の式を用いて求められる。 さらに、 S 7 0 8に進 んで、 その求めた終端発散成分誤差 errq が許容範囲内 ( 0近傍の範 囲) にあるか否か判断する。
S 7 0 8の判断結果が N Oであるときは S 7 1 0に進み、 a = Δ a (△ aは所定の微小量) とし、 図 44の関係に従って現在の仮目標 ZM Pパターンに台形状の修正を加えた目標 Z MPを基に、1 前記 S 7 0 2と 同様に、 終端までの仮今回歩容を計算する。 ここで、 図 44を参照して; aは、 今回歩容終端発散成分を定常歩容初期発散成分にできるだけ一致 させる (今回歩容の上体水平位置姿勢軌道を定常歩容の上体水平位置姿 勢軌道に近づける) ために、 仮目標 ZMPを修正するための台形パタ一 ンの高さである。 この場合、 本実施形態では、 仮目標 ZMPの修正は、' 支持脚足平 2 2の底面のほぼ全面が接地する期間 (足底全面接地期間), すなわち、 床反力水平成分許容範囲が十分に広いものとなる期間におい て行なうようにしており、 上記台形パターンの折れ点の時刻は、 足底全 面接地期間における仮目標 Z MPの折れ点の時刻に合わせて設定されて いる。 なお、 S 7 1 0で a = A aとするのは、 現在の仮目標 Z M P軌道 を上記台形パターンによって微小量、 修正したときの前記終端発散成分 誤差 errqの変化を観測するためである。
上記のように S 7 1 0にて、 a = A aとして仮目標 Z M P軌道を修正 したときの仮今回歩容を終端まで生成した後、 さらに S 7 1 2に進み、 S 7 1 0で求めた仮今回歩容終端での上体水平位置速度 (X e 1, V x e l) を基に、 この仮今回歩容における終端発散成分 q l[k]が図示の式 (前記式 1 0 ) を用いて求められる。
尚、 S 7 1 0において Δ aは、 本実施形態では、 適宜に設定される微 小量の定数としたが、 以下に説明する繰り返し演算によって終端発散成 分誤差 errq が小さくなるにつれて Δ aを減少させるように該 Δ aを設 定するようにしても良い。 ただし、 定数にしておいても、 数回の繰り返 し演算で終端発散成分誤差 errqを許容範囲内に収めることができる。 次いで S 7 1 4に進み、 パラメ一夕感度 r (Δ aに対する終端発散成 分誤差の変化の割合) が図示の式から求められる。 さらに、 S 7 1 6に 進み、 a =— errqZr、 すなわち S 7 0 6で求めた終端発散成分誤差 errq を、 S 7 1 4で求めたパラメータ感度 r .で割った値を高さ aとす る台形パターンの修正量を図 44の関係に従って仮目標 Z M Pパターン に加えることにより、 仮目標 ZMPパターンが修正される (新たな仮目 標 Z M Pパターンが決定される)。
次いで S 7 0 2に戻る。 そして、 S 7 0 8の判断結果が NOである限 りは、 上記した S 7 0 2〜S 7 1 6の処理が繰り返され、 S 7 0 8の判 断結果が YE Sになったときには、 その繰り返しループ (S 7 0 0 ) を 抜けて S 7 1 8に進む。
S 7 1 8では、 仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿 勢角との差、 および仮今回歩容の終端上体姿勢角速度と定常歩容の初期 上体姿勢角速度との差などを基に、 今回歩容の上体姿勢角軌道が定常歩 容の上体姿勢角軌道に近づくように、 今回歩容の上体姿勢復元モーメン ト Z MP換算値 ( Z MPrec) のパターンが決定される。 ここで決定す る Z MPrec は、 後述する今回歩容瞬時値の生成処理で、 床反力水平成 分許容範囲が十分に大きいものとなる期間 (片脚支持期内の期間) にお いて、 上体姿勢角軌道を定常歩容につながらせる (近づける) ように上 体姿勢角加速度を発生させても、 今回歩容終端発散成分と定常歩容初期 発散成分との一致性 (S 7 0 8の条件) を維持できるように、 仮目標 Z MPを修正するためのものである。
この ZMPrec は、 前記定常歩容生成処理で説明したものと同様に台 形状のパターンであり、 具体的には次のように決定される。 すなわち、 図 3 0における第 2旋回歩容の期間の Z M Prec の台形パターンと同様 に、 今回歩容の Z MPrec の台形パターンを設定し、 台形の頂点 (折れ 点) の時刻は既知とする (より具体的には台形の折れ点の時刻を目標 Z M Pの折れ点時刻に合わせる) と共に、 台形高さを未知数とし、 以下の ように ZMPrec の台形高さ (パラメ一夕) が求められる。 ただし、 Z MPrec の台形パターンが立ち上がり始める時刻を Ta とし、 台形パ夕 —ンから 0に戻る時刻を Tbとする。
上記のように上体姿勢復元モ一メント Z MP換算値パターンの未知パ ラメ一夕がひとつの場合には、 今回歩容の終端において上体姿勢角と上 体姿勢角速度の両方を定常歩容に連続につなげることは一般的にはでき ない。 そこで、 本実施形態では、 複数歩に渡って徐々に、 生成される歩 容の状態が定常歩容の状態に近づけるように、 未知パラメ一夕を決定す ることとする。
補足すると、 1歩容の中での Z M Prec パターンを複雑にし、 未知パ ラメ一夕を 2つ以上にして、 今回歩容の終端において上体姿勢角と上体 姿勢角速度との両者を定常歩容に連続につなげても良いが、 Z MPrec パターンがジグザグに大きく変動し過ぎる恐れがある。
以下では、 算出原理を説明した後、 算出手順を説明する。
前述のごとく S 7 0 2で ZMPrec パターンの台形高さを 0 として求 めた仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿勢角との差を 求め、 これを 0err とする。 また、 仮今回歩容の終端上体姿勢角速度と 定常歩容の初期上体姿勢角速度との差を求め、 これを v6> errとする。 ここで、 Z M Precパターンの台形高さをある値 bcurr として今回歩 容が生成され、 引き続いて、 今回歩容と同様のアルゴリズムによって第 1旋回歩容が生成されると想定する。 ただし、 第 1旋回歩容の上体姿勢 復元モ一メント Z M P換算値 Z M Prec パターンは、 図 2 4の S 3 1 0 において求められた第 1旋回歩容の Z M P rec パターン (高さが前記 acyclである図 3 0の台形パターン) とある値 blの和であるとする。
このようにして生成された歩容を Z M Prec 修正歩容と呼び、 その終 端 (第 1旋回歩容の終端) 上体姿勢角と角速度をそれぞれ Θ 1、 νθ 1 と する。
S 0 2 4における定常歩容の初期状態を求めるサブルーチンの処理が 完了した時点で求められた本来の定常歩容 (最終的に S 3 1 0において 決定された定常歩容初期上体姿勢角および角速度を初期値とし、 Ζ Μ Ρ recパターンを S 3 1 0において求められたパターン (高さが acycl で ある図 3 0の台形パターン) とした場合の定常歩容) の第 1旋回歩容終 端上体姿勢角と角速度をそれぞれ S lorg、 v0 1orgとする。
ここで、 △ 0 1、 Δν0 1を次のように定義する。 θ 1 =θ 1— Θ lovg …式 5 0
θ 1 =ν θ 1-ν Θ lorg …式 5 1
Δ 01および Δν0 1 は、 Z M Pi'ec修正歩容と本来の定常歩容を第 1 旋回歩容の終端まで生成した時点において、 両者間における上体姿勢角 の差及び角速度の差を意味する。 もし、 Δ 0 1 および Δνθ 1 が 0にな れば、 Z M Prec 修正歩容に引き続いて、 今回歩容と同様のァルゴリズ ムによって、 Z M Precパターンの台形高さを前記 acyc2 として第 2旋 回歩容が生成されると、 この歩容は、 本来の定常歩容に一致する。 4009470
100 したがって、 Δ θ 1および Δν01が 0となる今回歩容台形高さ bcurr、 第 1旋回歩容台形高さ bl を求め、 求めた bcurr を今回歩容の台形高さ として最終的に決定すれば良い。
ところで、 ロポッ ト 1の上体姿勢角に関する動力学モデルが図 1 2に 示すフライホイール FHx、 FHy のような線形特性を持つことから、 △ 01および Δν01 は、 今回歩容台形高さ bcurr、 第 1旋回歩容台形高さ bl、 仮今回歩容の終端上体姿勢角と定常歩容の初期上体姿勢角の差 Θ err, 仮今回歩容の終端上体姿勢角速度と定常歩容の初期上体姿勢角速 度の差 v0 errと以下の関係を持つ。
Δ Θ l = cll * bcurr +cl2 *bl+ 0err+el*v0 err …式 5 2
Ανθ 1 = c21* bcurr +c22*bl + e2*v0 err …式 5 3 だだし、 cll、 cl2、 c21、 c22、 el、 e2 は、 今回歩容、 第 1旋回歩容の 歩容周期、 上体姿勢復元モーメント Z MP換算値 Z M Prec パターンの パラメータ (特に時間に関するパラメータ) などによって一義的に決定 される係数である。
以上の原理に基づき、 算出手順として、 まず、 仮今回歩容と定常歩容 との境界での上体姿勢角の差 0 err と角速度の差 V err が求められる c 次いで、 式 5 2 , 5 3.の係数である cll、 cl2、 c21、 c22、 el、 e2 が、 今回歩容、 第 1旋回歩容の歩容周期、 上体姿勢復元モーメント Z MP換 算値 Z MPrec パターンのパラメ一夕 (特に時間に関するパラメ一夕) などを基に求められる。
次いで式 5 2、 式 5 3 の右辺が 0 となるように今回歩容台形高さ bcurr 第 1旋回歩容台形高さ bl が決定される。 すなわち、 式 5 2、 式 5 3の左辺を 0とした連立方程式を解く ことによって、 bcurr、 bl が 4009470
101 求められる。
最後に、 今回歩容の上体姿勢復元モーメント Z MP換算値 ( Z M P rec) の台形パターンの台形高さが、 上記求めた今回歩容台形高さ bcurrに設定される。 .
次いで S 7 2 0に進み、 現在の仮目標 Z MPパターン (S 7 0 0の繰 り返しループを抜けたときの仮目標 ZMPパターン) に、 S 7 1 8で上 記のように求めた上体姿勢復元モーメント Z MP換算値パターンを加算 してなるパターンが今回歩容の目標 ZMPパターンとして決定される。 なお、 この処理は、 S 7 1 0において厶 a の高さの台形パターンを仮目 標 Z MPパ夕一ンに加える処理と同様である。
以下に仮目標 Z MPパターンに上体姿勢復元モーメント MP換算値 パターンを加算した理由を述べる。 '
S 7 0 0のループにおいて生成される仮今回歩容は、 上体姿勢復元モ 一メント Z M P換算値 Z M Prec を 0 ( Z M P rec の台形パターンの高 さパラメ一夕を 0 ) にして生成されたものである。 このようにして S 7 0 0のループで最終的に生成された仮今回歩容では、 その上体位置速度 は、 定常歩容に連続し、 もしくは近づくが、 上体姿勢角は、 定常歩容の 上体姿勢角からずれ、 場合によっては発散してしまう。
S 7 1 8で求められた上体姿勢復元モーメント Z MP換算値パターン は、 上体姿勢角の定常歩容に対するずれを 0に近づけるための上体姿勢 角加速度を発生させるものである。
しかし、 S 7 0 0のループで最終的に得られた仮目標 Z MPパターン を修正することなく、 S 7 1 8で求められた上体姿勢復元モーメント Z MP換算値パターンに応じた上体姿勢角加速度を発生させると、 動力学 的平衡条件 (口ポッ トの重力と慣性力との合力が目標 Z MPに作用する モーメントが鉛直成分を除いて 0になること) を満足させるために、 上 体水平位置軌道を前記仮今回歩容の上体水平位置軌道からずらさざるを 得なくなる。 そこで、 本実施形態では、 上体水平位置軌道を S 7 0 0の ループで最終的に得られるものからずらさなくて済むように、 Z MP recによって仮目標 ZMPパ夕一ンを修正することとした。
前記仮今回歩容の運動に加えて、 S 7 1 8で求めた上体姿勢復元モー メント ZMP換算値パターンに対応する上体姿勢角加速度を発生させる と、 ZMP (運動によって発生する重力と慣性力の合力の鉛直成分を除 くモーメントが 0になる点) は上体姿勢復元モ一メント Z MP換算値だ けずれる。 したがって、 逆に、 仮目標 Z MPパターンに上体姿勢復元モ —メント Z MP換算値パターンを加算したパターンを目標 Z MPパター ンとして、 S 7 1 8で求めた上体姿勢復元モーメン小 Z MP換算値パ夕 —ンに対応する上体傾斜モードの上体姿勢角加速度を発生させながら、 目標 Z MPパターンを満足する今回歩容を生成すれば、 前記仮今回歩容 と同じ上体並進運動となる。
以上が、 仮目標 Z MPパターンに上体姿勢復元モーメント Z MP換算 値パターンを加算したパターンを目標 Z M Pパターンとした理由である, 次いで S 7 2 2に進み、 仮今回歩容の終端逆位相腕振り角と定常歩容 の初期逆位相腕振り角との差および仮今回歩容の終端逆位相腕振り角速 度と定常歩容の初期逆位相腕振り角速度との差を基に、 今回歩容の逆位 相腕振り角軌道が定常歩容の逆位相腕振り角軌道に近づくように、 逆位 相腕振り復元角加速度パターンが決定される。 このパターンの決定方法 は、 S 7 1 8で上体姿勢復元モーメント ZMP換算値パターンを決定す る方法と、 変数名が次のように異なること以外は、 ほぼ同じである。 上体姿勢復元モ一メント Z MP換算値パ夕一ン—逆位相腕振り復元角加 速度パターン 水平成分—モーメント鉛直成分 以下に詳細を説明する。 ここで決定する逆位相腕振り復元角加速度パ ターンは、 後述する今回歩容瞬時値の生成処理で.、 床反力モーメント鉛 直成分許容範囲が十分に大きいものとなる期間 (片脚支持期内の期間) において、 逆位相腕振り角軌道を定常歩容につながらせる (近づける) ように修正するためのものである。
この逆位相腕振り復元角加速度パターンは、 前記定常歩容生成処理で 説明したものと同様に台形状のパターンであり、 具体的には次のように 決定される。 すなわち、 図 3 6における第 2旋回歩容の期間の逆位相腕 振り復元角加速度の台形パターンと同様に、 今回歩容の逆位相腕振り復 元角加速度の台形パターンを設定し、 台形の頂点 (折れ点) の時刻は既 知とする (より具体的には台形の折れ点の時刻を目標 Z M Pの折れ点時 刻に合わせる) と共に、 台形高さを未知数とし、 以下のように逆位相腕 振り復元角加速度の台形高さ (パラメ一夕) が求められる。 ただし、 逆 位相腕振り復元角加速度の台形パターンが立ち上がり始める時刻を Ta とし、 台形パターンから 0に戻る時刻を Tbとする。
上記のように逆位相腕振り復元角加速度パターンの未知パラメ一夕が ひとつの場合には、 今回歩容の終端において逆位相腕振り角と逆位相腕 振り角速度の両方を定常歩容に連続につなげることは一般的にはできな い。 そこで、 本実施形態では、 複数歩に渡って徐々に、 生成される歩容 の状態が定常歩容の状態に近づけるように、 未知パラメ一夕を決定する こととする。
補足すると、 1歩容の中での逆位相腕振り復元角加速度パターンを複 雑にし、 未知パラメータを 2つ以上にして、 今回歩容の終端において逆 位相腕振り角と逆位相腕振り角速度との両者を定常歩容に連続につなげ ても良いが、 逆位相腕振り復元角加速度パターンがジグザグに大きく変 動し過ぎる恐れがある。
前述のごとく S 7 0 2で逆位相腕振り復元角加速度パターンの台形高 さを 0として求めた仮今回歩容の終端逆位相腕振-り角と定常歩容の初期 逆位相腕振り角との差を求め、 これを 0 azerr とする。 また、 仮今回歩 容の終端逆位相腕振り角速度と定常歩容の初期逆位相腕振り角速度との 差を求め、 これを v0 zerrとする。
こ こで、 逆位相腕振り復元角加速度パタ一ンの台形高さをある値 bzcurr として今回歩容が生成され、 引き続いて、 今回歩容と同様のァ ルゴリズムによって第 1旋回歩容が生成されると想定する。 ただし、 第 1旋回歩容の逆位相腕振り復元角加速度パターンは、 図 2 4の S 3 1 4 において求められた第 1旋回歩容の逆位相腕振り復元角加速度パターン (高さが前記 azcyclである図 3 6の台形パターン) とある値 bzl の和 であるとする。
このようにして生成された歩容を逆位相腕振り復元角加速度修正歩容 と呼び、 その終端 (第 1旋回歩容の終端) 逆位相腕振り角と角速度をそ れぞれ 0 zl、 ν θ zlとする。
S 0 2 4における定常歩容の初期状態を求めるサブルーチンの処理が 完了した時点で求められた本来の定常歩容 (最終的に S 3 1 4において 決定された定常歩容初期逆位相腕振り角および角速度を初期値とし、 逆 位相腕振り復元角加速度パターンを S 3 1 4において求められたパター ン (高さが azcycl である図 3 6の台形パターン) とした場合の定常歩 容) の第 1旋回歩容終端逆位相腕振り角と角速度をそれぞれ 0 zlorg、 V Θ zlorgとする。
ここで、 △ Θ zl、 △ v 0 zlを次のように定義する。 05
Δ 0 zl = 0 zl— 0 zlorg 式 1 0 5 0
v Θ zl =γ Θ zl— v 0 zlorg ··式 1 0 5 :
Δ 0 ζ1 および Δν0 ζ1 は、 逆位相腕振り復元角加速度修正歩容と本 来の定常歩容を第 1旋回歩容の終端まで生成した時点において、 両者間 における逆位相腕振り角の差及び角速度の差を意味する。 もし、 厶 0 zl および Δν0 ζ1 が 0になれば、 逆位相腕振り復元角加速度修正歩容 に引き続いて、 今回歩容と同様のアルゴリズムによって、 逆位相腕振り 復元角加速度パターンの台形高さを前記 azcyc2 として第 2旋回歩容が 生成されると、 この歩容は、 本来の定常歩容に一致する。
したがって、 Δ 0 ζ1 および Δνθ ζΐ が 0 となる今回歩容台形高さ bzcurr、 第 1旋回歩容台形高さ bzl を求め、 求めた bzcurr を今回歩容 の台形高さとして最終的に決定すれば良い。
ところで、 口ポッ ト 1の逆位相腕振り角に関する動力学モデルが図 1 2に示すフライホイ一ル FHazのような線形特性を持つことから、 Θ zl および Δνθ ζΐ は、 今回歩容台形高さ bzcurr、 第 1旋回歩容台形高 さ bzl、 仮今回歩容の終端逆位相腕振り角と定常歩容の初期逆位相腕振 り角の差 Θ zerr 仮今回歩容の終端逆位相腕振り角速度と定常歩容の初 期逆位相腕振り角速度の差 v0 zerrと以下の関係を持つ。
Δ 6> zl = czll * bzcurr + czl2 * bzl + 9zerr + ezl * v9zerr
式 1 0 5 2
Δ v0zl = cz21 * bzcurr + cz22 * bzl + ez2 * vGzerr
式 1 0 5 3 だだし、 czll、 czl2、 cz21、 cz22、 ezl、 ez2 は、 今回歩容、 第 1旋回 歩容の歩容周期、 逆位相腕振り復元角加速度パターンのパラメータ (特 に時間に関するパラメ一夕) などによって一義的に決定される係数であ る。
以上の原理に基づき、 算出手順として、 まず、 仮今回歩容と定常歩容 との境界での逆位相腕振り角の差 0 zerr と角速度の差 v 0 zerr が求め られる。
次いで、 式 1 0 5 2, 1 0 5 3の係数である czll、 czl2、 cz21、 cz22、 ezl、 ez2 が、 今回歩容、 第 1旋回歩容の歩容周期、 逆位相腕振 り復元角加速度パターンのパラメ一夕 (特に時間に関するパラメータ) などを基に求められる。
次いで式 1 0 5 2、 式 1 0 5 3の右辺が 0となるように今回歩容台形 高さ bzcurir、 第 1旋回歩容台形高さ bzl が決定される。 すなわち、 式 1 0 5 2、 式 1 0 5 3の左辺を 0とした連立方程式を解くことによって, bzcurr, bzlが求められる。
最後に、 今回歩容の逆位相腕振り復元角加速度の台形パターンの台形 高さが、 上記求めた今回歩容台形高さ bzcurrに設定される。
図 1 3に戻って、 上記のごとく S 0 2 8において今回歩容パラメータ を修正した後、 あるいは S 0 1 6の判断結果が NOである場合には、 S 0 3 0に進み、 今回歩容瞬時値が決定される。
S O 3 0では、 そのサブルーチンである図 4 5の処理が実行される。 図 4 5の S 1 4 0 0から S 1 4 1 1までは、 図 2 5の S 4 0 0から S 4 1 1までと同一の処理が行なわれ、 次に、 S 1 4 1 2のサブルーチン である図 4 6の S 1 0 0 0〜 S 1 0 1 8の処理が行なわれる。
具体的には、 まず S 1 0 0 0において、 目標上体ョ一角に現在時刻で の基準上体ョ一角の値を代入する。 また、 腕姿勢逆位相腕振り角 · 角速 度を除き、 目標腕姿勢に現在時刻での基準腕姿勢の値を代入する。
次いで S 1 0 0 2に進み、 現在時刻が、 上体姿勢角 ·逆位相腕振り角 復元期間 (時刻 Ta から時刻 Tb の期間) の間にあるか否かが判定され る。 S 1 0 0 2の判定結果が N〇であるならば、 S 1 0 0 4に進み、 Y E Sであるならば S 1 0 0 6に進む。
S 1 0 0 4では、 上体傾斜角 , 逆位相腕振り角復元期間でない場合の 上体水平加速度 α、 上体角加速度 0、 逆位相腕振り角加速度) 3 a 算出処 理 (図 2 6の S 5 0 4から S 5 2 8 ) と同様の処理を行う。
S 1 0 0 6に進む場合では、 まず、 S 1 0 0 6において、 仮に上体並 進モードの運動をさせた場合に今回 (時刻 k) 目檩 ZMPを満足するた めに必要な上体水平加速度 atmpを求める。
次いで S 1 0 0 8に進み、 現在時刻における上体傾斜復元モ一メント Z Αί P換算値パターンの瞬間値 ZMPrec を、 S 7 1 8において決定し た上体傾斜復元モーメント Z MP換算値パターンに関するパラメータを 基に算出する。
次いで S 1 0 1 0に進み、 現在時刻における逆位相腕振り復元角加速 度パタ一ンの瞬間値 i3 arec を、 S 7 2 2において決定した逆位相腕振 り復元角加速度パターンに関するパラメ一夕を基に算出する。
次いで S 1 0 1 2に進み、 図示する式によって、 上体傾斜モ一ドの上 体角加速度 (上体傾斜角加速度) 3が決定される。
次いで S 1 0 1 4に進み、 図示する式によって、 上体水平加速度 aが 決定される。
次いで S 1 0 1 6に進み、 S 1 0 1 0で算出した逆位相腕振り復元角 加速度パターンの瞬間値 ^ arec と基準逆位相腕振り角加速度 /3 aref (基準逆位相腕振り角を 2階微分した値) の和を目標逆位相腕振り角加 速度 0 aに代入する。
次いで S 1 0 1 8に進み、 上体水平加速度が, αの場合の床反力水平成 分: Fxを求める。 次いで S 1 4 1 4に進み、 上体水平加速度と上体姿勢角加速度を積分 して上体水平速度と上体姿勢角速度 (上体傾斜角速度) を算出する。 こ れをさらに積分して、 上体水平位置と上体姿勢 (上体傾斜角) を決定す る。 なお、 上体姿勢のうちの上体ョ一角は、 本実施形態では基準上体ョ —角に決定される。
次いで S 1 4 1 6に進み、 逆位相腕振り加速度を積分して逆位相腕振 り角速度を算出する。 これをさらに積分して、 逆位相腕振り角を決定す る。
以上のごとく、 図 1 3の S 0 3 0の処理が完了する。
次いで S 0 3 2に進み、 歩容生成用時刻 tを Δ tだけ増やし、 S 0 1 4に戻り、 以上のごとく歩容生成を続ける。
以上が、 歩容生成装置 1 0 0における目標歩容生成処理である。
図 4を参照して本実施形態に係る装置の動作をさらに説明すると、 歩 容生成装置 1 0 0において、 上記したように目標歩容が生成される。 生 成された目標歩容のうち、 目標上体位置姿勢 (軌道)、 目標腕姿勢 (軌 道) が、 ロボッ ト幾何学モデル (逆キネマテイクス演算部) 1 0 2に送 出される。
また、 目標足平位置姿勢 (軌道)、 目標 Z M P軌道 (目標全床反力中 心点軌道)、 および目標全床反力 (軌道) (目標床反力水平成分と目標床 反力鉛直成分) は、 複合コンプライアンス動作決定部 1 0 4に送られる と共に、 目標床反力分配器 1 0 6にも送られる。 そして、 目標床反力分 配器 1 0 6で、 床反力は各足平 2 2 R, 2 2 Lに分配され、 目標各足平 床反力中心点および目標各足平床反力が決定される。 この決定された目 標各足平床反力中心点および目標各足平床反力は複合コンプライアンス 動作決定部 1 0 4に送られる。
複合コンプライアンス動作決定部 1 0 4から、 機構変形補償付き修正 目標足平位置姿勢 (軌道) がロポッ ト幾何学モデル 1 0 2に送られる。 ロボッ ト幾何学モデル 1 0 2は、 目標上体位置姿勢 (軌道) と機構変形 補償付き修正目標足平位置姿勢 (軌道) を入力されると、 それらを満足 する脚体 2, 2の 1 2個の関節 ( 1 0 R ( L ) など) の関節変位指令 (値) を算出して変位コントロ一ラ 1 0 8に送る。 変位コントロ一ラ 1 0 8は、 口ポッ ト幾何学モデル 1 0 2で算出された関節変位指令 (値) を目標値として口ポッ ト 1の 1 2個の関節の変位を追従制御する。 また, ロボッ 卜幾何学モデル 1 0 2は、 目標腕姿勢を満足する腕関節の変位指 定 (値) を算出して変位コントローラ 1 0 8に送る。 変位コントローラ 1 0 8は、 口ポッ ト幾何学モデル 1 0 2で算出された関節変位指令 (値) を目標値としてロボッ ト 1の腕体の 1 2個の関節の変位を追従制 御する。
ロボッ ト 1に生じた床反力 (詳しくは実各足床反力) は 6軸力センサ 5 0によって検出される。 その検出値は前記複合コンプライアンス動作 決定部 1 0 4に送られる。
また、 口ポッ ト 1に生じた実上体姿勢角偏差 (目標上体姿勢と実上体 姿勢 (上体 3の実際の姿勢) との偏差) のうちの姿勢傾斜角偏差 0 errx, Θ erry (詳しくは目標上体姿勢のうちの鉛直方向に対する傾斜角に対す る実上体姿勢のうちの鉛直方向に対する傾斜角の偏差で、 ロール方向 ( X軸回り) の姿勢傾斜角偏差が 0 errx であり、 ピッチ方向 (Y軸回 り) の姿勢傾斜角偏差が S erry である) が姿勢センサ 5 4を介して検 出され、 その検出値は姿勢傾斜安定化制御演算部 1 1 2に送られる。 こ の姿勢傾斜安定化制御演算部 1 1 2で、 口ポッ ト 1の実上体姿勢角を目 標上体姿勢角に復元するための目標全床反力中心点 (目標 Z M P ) まわ り補償全床反力モーメント水平成分が算出されて複合コンプライアンス 動作決定部 1 0 4に送られる。 より具体的には、 本実施形態では、 補償全床反力モーメント水平成分
Mdmdxyは、 例えば P D制御則を用いて次式により決定される。 補償全床反カモ一メント水平成分 Mdmdxy .
= K 0 b *上体姿勢傾斜角偏差
+ K b *上体姿勢傾斜角速度偏差 d 2 5 ここで、 K 0 b、 Κ ω bは所定のゲインである。 また、 上体姿勢傾斜 角速度偏.差は、 上体姿勢傾斜角偏差の時間微分値であり、 目標上体姿勢 傾斜角速度に対する実上体姿勢傾斜角速度の偏差を意味する。 また、 上 体姿勢傾斜角偏差は、 より詳しくは、 口ポッ ト 1の上体 3のロール方向 ( X軸回り) の姿勢傾斜角偏差と、 ピッチ方向 (Y軸回り) の姿勢傾斜 角偏差とからなるべク トルである。
また、 ロボッ ト 1に生じた前記実上体姿勢角偏差のうちのョ一角偏差 Θ errz (詳しくは実上体姿勢角偏差のうちのョ一方向 (Z軸回り) の姿 勢角偏差が Θ errz である) が姿勢センサ 5 4を介して検出され、 その 検出値はョー安定化制御演算部 1 1 3に送られる。 このョー安定化制御 演算部 1 1 3で、 口ポッ ト .1の実上体ョ一角および/または角速度を目 標上体ョ一角および Zまたは角速度に収束させるための目標全床反力中 心点 (目標 Z M P ) まわり補償全床反力モーメント鉛直成分が算出され て複合コンプライアンス動作決定部 1 0 4に送られる。 複合コンプライ アンス動作決定部 1 0 4は、 入力値に基づいて目標床反力を修正する。 具体的には、 目標全床反力中心点 (目標 Z M P ) 回りに補償全床反カモ ーメントが作用するように目標床反力を修正する。
より具体的には、 本実施形態では、 補償全床反力モーメント鉛直成分 Mdmdzは、 例えば P D制御則を用いて次式により決定される。 ' 補償全床反カモ一メント鉛直成分 Mdmdz二 K 0 bz *上体ョ一角偏差
+ K o bz *上体ョー角速度偏差
…… d 2 6 ここで、 K 0 bz、 K bz は所定のゲインである。 また、 上体ョ一角 速度偏差は、 上体ョ一角偏差の時間微分値であり、 目標上体ョー角速度 に対する実上体ョー角速度の偏差を意味する。
複合コンプライアンス動作決定部 1 0 4は、 入力値に基づいて目標床 反力を修正する。 具体的には、 目標全床反力中心点 (目標 Z M P ) 回り に補償全床反力モーメント水平成分が作用するように目標床反力モ一メ ント水平成分を修正し、 さらに、 目標歩容に動力学的に釣り合う目標全 床反力中心点 (目標 Z M P ) 回りの目標床反力モーメント鉛直成分に補 償全床反力モーメント鉛直成分を付加的に追加することによって目標床 反力モーメン卜鉛直成分を修正する。
複合コンプライアンス動作決定部 1 0 4は、 修正された目標床反力に センサ検出値などから算出される実ロボッ ト 1の状態および床反力を一 致させようと上記機構変形補償付き修正目標足平位置姿勢 (軌道) を決 定する。 ただしすベての状態を目標に一致させることは事実上不可能で あるので、 これらの間にトレードオフ関係を与えて妥協的になるベく一 致させる。 すなわち、 各目標に対する制御偏差に重みを与えて、 制御偏 差 (あるいは制御偏差の 2乗) の重み付き平均が最小になるように制御 する。 これにより、 実際の足平位置姿勢と全床反力とが目標足平位置姿 勢と目標全床反力とに概ね従うように制御される。
尚、 この発明の要旨は歩容生成装置 1 .0 0における口ポッ ト 1の歩容 生成にあり、 上記した複合コンプライアンス動作決定部 1 0 4などの構 成および動作は、 本出願人が先に出願した特開平 1 1 一 3 0 0 6 6 1号 公報などに詳細に記載されているので、 説明を以上に留める。
S 0 2 8において、 今回歩容パラメータは、 前述のごとく、 今回歩容 の終端発散成分が、 定常旋回歩容の初期発散成分 £1 [ 0 ] を今回歩容の 支持脚座標系から見た値である Q " に一致するように修正される。
実は、 発散成分とは、 動力学モデルを用いて今回歩容パラメータに従 つて歩容を生成し、 そのまま連続して定常旋回歩容パラメ一夕に従って 歩容を繰り返し生成したとき、 生成した歩容の上体水平位置が定常旋回 歩容に収束するか否かを評価する指標である。 収束する場合にちようど 今回歩容の終端発散成分が、 定常旋回初期発散成分 q [ 0 ] を今回歩容 の支持脚座標系から見た値である Q " に一致するように、 本来、 発散成 分は定義されなければならない。
式 1 0で定義した発散成分は、 実は、 上記の性質を近似的に満足する 発散成分である。
したがって、 本実施形態においては、 動力学モデルを用いて今回歩容 パラメ一夕に従って歩容を生成し、 そのまま連続して定常旋回歩容パラ メータに従って歩容を繰り返し生成したとき、 生成した歩容の上体水平 位置が定常旋回歩容の上体水平位置に収束する (近づく) ように、 今回 歩容パラメータを修正した、 と言える。 但し、 厳密には、 今回歩容直後 の第 1旋回歩容だけは、 前記の如く求めた第 1旋回歩容台形高さ bl, bzl によって修正された歩容にする必要がある。 別の言い方をすれば、 今回歩容と第 1旋回歩容とを合わせた歩容を今回歩容と見なせば、 本参 考例においては、 上記の如く歩容を繰り返し生成したとき、 生成した歩 容の上体姿勢角が第 2旋回歩容と第 1旋回歩容とからなる定常歩容の上 体姿勢角に収束し (近づき)、 もしくは一致するように、 今回歩容パラ メ一タを修正した、 と言える。 これは、 P C T公開公報 WOZ 02/40224のものと同様である。
特に、 本実施形態においては、 その条件 (今回歩容が定常歩容に近づ く) を満足するように、 今回歩容の歩容パラメ一夕のうちの目標 Z M P バタ一ンを修正するようにした。 図 4 7を参照して説明すると、 同図に 符合 Bで示す軌道は、 上記したように歩容の境界において発散成分が一 致するように生成した上体水平位置軌道を示す。
同図に符合 Aで示す軌道は、 定常旋回歩容との境界における上体水平 位置速度が一致するように今回歩容を生成し、 続いて定常歩容を繰り返 し生成した場合の上体水平位置軌道を示す。
図示の如く、 符合 Bで示す軌道は、 今回歩容と最初の定常旋回歩容と の境界においては、 一般的に符合 Aで示す軌道からずれているが、 その 後、 徐々に符合 Aで示す軌道に収束し (近づき)、 次の定常旋回歩容時 期において符合 Aで示す軌道にほぼ一致する。 このように、 歩容境界で 発散成分のみを一致させる歩容生成手法でも、 歩容境界で位置速度両方 を一致させる歩容生成手法と同様、 歩容の発散を防止することができる, 尚、 同図に符合 Cで示す例は、 それらを考慮せずに軌道を生成した場合 の例を示す。 このような場合は、 生成した軌道は経時的に発散してしま う。 当然、 目標 Z M Pパターンを複雑なものにし、 複数のパラメータを 調整して、 位置速度両方を一致させても良いが、 目標 Z M Pパターンが ジグザグになる恐れがある。 なお、 位置速度両方を一致させれば、 発散 成分も一致するから、 位置速度両方を一致させる方法も発散成分を一致 させる方法の特殊例であると言える。
またさらに、 本実施形態においては、 動力学モデルを用いて今回歩容 パラメータに従って歩容を生成し、 そのまま連続して定常旋回歩容パラ メータに従って歩容を繰り返し生成したとき、 生成した歩容の'上体姿勢 角が定常旋回歩容の上体姿勢角に収束し (近づき)、 もしくは一致する 0
1 1 4 ように、 今回歩容パラメータを修正した、 と言える。 伹し、 厳密には、 今回歩容直後の第 1旋回歩容だけは、 前記の如く求めた第 1旋回歩容台 形高さ bl, bzlによって修正された歩容にする必要がある。
次に、 本実施形態の変形態様を以下にいくつか説明する。
本実施形態では、 理解を容易にするために、 床反力水平成分許容範囲 は、 前後方向 (X軸方向) 成分と左右方向 (Y軸方向) 成分それぞれ独 立に設定できることとしたが、 前後方向と左右方向の関係式で表した方 が、 よりスリップし難い歩容が生成される。
例えば、 次式のようにいわゆる摩擦円を許容範囲としても良い。
(床反力水平成分の X成分) * (床反力水平成分の X成分)
+ (床反力水平成分の Y成分) * (床反力水平成分の Y成分)
≤ (ka * * Fz) * (ka * * Fz)
…式 5 9 ただし、 Fz は、 目標床反力鉛直成分を は摩擦係数、 ka は 1以下の 正の定数を表す。
ただし、 以上のように、 床反力水平成分許容範囲を前後方向と左右方 向の関係式で表す場合、 許容範囲を同時にあるいは交互に満足するよう に、 サジタルプレーン上での運動とラテラルプレーン上での運動を同時 あるいは交互に求める必要がある。
また、 床反力水平成分許容範囲と床反力モーメン卜鉛直成分許容範囲 とを上記のごとく別々に設定する代わりに、 床反力水平成分と床反カモ ーメント鉛直成分との組の許容範囲を設定するようにしても良い。 床反 力水平成分が大きくなるにつれ、 床反カモ一メント鉛直成分の摩擦限界 は、 小さくなる。 また、 床反力モーメント鉛直成分が大きくなるにつれ. 床反力水平成分の摩擦限界は、 小さくなる。 したがって、 このことを鑑 みて床反力水平成分と床反力モーメント鉛直成分との組の許容範囲を設 定するようにした方が、 より現実の摩擦限界特性に近い許容範囲を設定 することができる。 具体的には、 床反力水平成分の絶対値と床反力モー メント鉛直成分の絶対値との重み付き平均に対して許容範囲を設定して も良い。
尚、 ロポッ トの全体重心鉛直加速度と重力加速度との和は床反力鉛直 成分に比例するので、 歩容パラメ一夕として、 床反力鉛直成分軌道の代 わりにロボッ トの全体重心鉛直加速度軌道を規定するパラメ一夕を明示 的に設定しても構わない。 本質的に同じことである。 また、 口ポッ トの 全体重心軌道に近い挙動をする部位の鉛直加速度軌道を規定するパラメ —タを明示的に設定しても構わない。 例えば、 脚体の質量が上体の質量 に比べて十分に小さい場合には、 上体鉛直加速度軌道とロボッ 卜の全体 重心鉛直加速度軌道は、 ほぼ同じか比例関係になるので、 床反力鉛直成 分軌道の代わりに上体鉛直加速度軌道を用いても良い。 同様に、 床反力 水平成分とロボッ トの全体重心水平加速度は、 比例関係にあるので、 本 実施形態における床反力水平成分およびその許容範囲の代わりに、 ロボ ッ ト全体重心水平加速度およびその許容範囲を用いても構わない。 また. 口ポッ トの全体重心水平軌道に近い挙動をする部位の水平加速度軌道に 関するパラメータを明示的に設定しても構わない。 例えば、 脚体の質量 が上体の質量に比べ十分に小さい場合には、 上体水平加速度軌道とロボ ッ トの全体重心水平加速度軌道は、 ほぼ同じか比例関係にあるので、 床 反力水平成分およびその許容範囲の代わりに上体水平加速度およびその 許容範囲を用いても良い。
また、 目標 Z M Pまわりの床反力モーメント鉛直成分と、 目標 Z M P まわりの口ポッ ト全体の角運動量変化率鉛直成分は、 比例関係にあるの で、 本実施形態における床反力モーメント鉛直成分およびその許容範囲 の代わりに、 ロポッ ト全体角運動量変化率鉛直成分およびその許容範囲 を用いても構わない。
前記実施形態では、 床反力水平成分と目標 Z M Pまわりの床反力モー メント水平成分を適切な値にするために、 上体傾斜モードと上体並進モ ードとの 2つの運動モードを用いたが、 これら以外の運動モードを用い ても良い。
例えば、 図 4 8のように、 股関節を中心に上体姿勢を回転させると、 全体重心まわりの角運動量が変化すると共に全体重心も変化する。 この 運動と前記上体並進モードをある所定の割合で重ね合わせると (合成す ると)、 前記上体傾斜モードとほとんど同じ運動になり、 床反力水平成 分が発生しなくなる。 したがって、 これを改めて前記上体傾斜モードと みなせば、 本実施形態のアルゴリズムにしたがって、 同様の歩容を生成 することができる。
したがって、 運動モ一ドのひとつが床反力水平成分を発生しない運動 モードである必要もない。 いかなるモードの組み合わせであっても、 床 反力水平成分と目標 Z M Pまわりの床反力モーメントとの発生の割合が 異なるふたつの運動モードを用いさえすれば、 上記例のように、 任意の 床反力水平成分と目標 Z M Pまわりの床反力モーメントとを発生させる ことができるからである。
また、 上体姿勢を変化させる運動モード以外の運動モードを用いても 良い。 ただし、 なるべく小さい変位で大きな床反力水平成分または目標 Z M Pまわりの床反力モーメン卜が発生できる運動モードを選ぶことが 好ましい。
例えば、 左右の腕体の先端位置を同一方向に振りまわす運動モード、 接地していない (空中に存在する) 足平の位置を摂動させる運動モード でも良い。 ただし、 遊脚軌道を摂動させる場合には、 着地位置が変わら ないように着地直前までには、 摂動量を実質的に 0に戻すべきである。 なお、 左右の腕体の先端位置を同一方向に振りまわす運動モードと逆位 相腕振りモードとを併用してもよいことはもちろんである。
また、 3つ以上の運動モードを用いても良い。 - また、 選択した運動モードのうちの少なくとも 2つは、 その運動モー ドによる床反力水平成分と目標 Z M Pまわりの床反力モーメン卜との発 生比率が、 互いに異なるものである必要がある。 そうでないと、 一般的 に連立方程式の解がなくなる (各運動モードの挙動を一義的に決定でき ない) からである。
さらにできる限り、 床反力水平成分をあまり変化させないで目標 Z M Pまわりの床反カモ一メントを十分に大きく変化させることができる運 動モードと、 目標 Z M Pまわりの床反力モーメントをあまり変化させな いで床反力水平成分を十分に大きく変化させることができる運動モード とを組み合わせることが望ましい。
言いかえると、 全体重心をあまり変化させないで角運動量を十分に大 きく変化させることができる運動モードと、 角運動量をあまり変化させ ないで全体重心を十分に大きく変化させることができる運動モードとを 組み合わせることが望ましい。 このようにすると、 運動モードの変位が 小さくなるからである。
また、 床反力モーメント鉛直成分が許容範囲を越えないようにするた めに (スピン力をキャンセルするために)、 逆位相腕振りモードの代わ りに、 上体ョ一回転モードを用いても良い。 上体ョ一回転モードを用い る場合には、 口ポッ ト 1の上体 3を腰寄りの部分 (例えば図 1の 5 4の 部材の下側の部分) とその上側の部分 (例えば図 1の 5 4の部材の上側 の部分) とに分割し、 上側の部分が腰寄りの部分に対してョー方向に (例えば上体 3の体幹軸回り) に回転し得るように設けておく ことが好 ましい。 このようにすると、 脚体 2 , 2の姿勢に影響を及ぼすことなく, 上体 3の上側の部分を回転させて、 床反力モーメント鉛直成分を調整す ることができる。 このようにした場合の実施形態は、 例えば前記実施形 態で逆位相腕振り角、 その角速度およびその角加速度を決定する代わり に、 上体 3の上側の部分の回転角、 その角速度およびその角加速度を決 定するようにすればよい。 この場合、 両腕体 5, 5は、 例えば上体 3の 上側の部分に対する相対位置を一定とすればよい。 但し、 上体 3の上側 の部分のョ一回転に加えて、 両腕体 5 , 5の逆位相腕振り動作を加えて もよいことはもちろんである。
また、 床反力モーメント鉛直成分が発生するものであれば、 腕、 上体 以外の部位を変位させる運動モードを用いても良い。
例えば、 空中期において、 両脚先端を前後逆方向に動かすモ一ドを用 いても良い。
あるいは、 床反力モーメント鉛直成分が発生するいくつかの運動モー ドを併用しても良い。 例えば、 逆位相腕振りモードと上体ョ一回転モー ドを併用しても良い。
また、 上体ョ一回転モードおよび逆位相腕振りモードは、 全体重心位 置が変わらないように (言.い換えると床反力水平成分を発生させずに) 床反力モ一メント鉛直成分を発生させるモードであるが、 全体重心位置 が変わってしまう (言い換えると床反力水平成分を発生してしまう) 運 動でも良い。 上体並進モードと組み合わせることにより、 床反力水平成 分を調整することができるからである。
前記実施形態に用いた動力学モデル (図 1 2の動力学モデル) 以外に も以下のモデルを用いても良い。
1 ) 図 4 9に示したように複数のリンクに質点を設定した非線形なモデ ル (多質点モデル)。 このモデルの各リンクには、 イナ一シャ (慣性モ ーメン卜) が設定されていてもよい。
2 ) 本願出願人による P C T公開公報 WOZ 02Z 40224に示された 3質 点モアル
3 ) 上体ョ一回転モ一ドあるいは逆位相腕振りモードによって生じる慣 5 性力のモーメントを無視したモデル。
4 ) 重力と慣性力との合力 (またはこれと釣り合う床反力) と上体並進 運動との関係を表す部分モデルと、 上記合力と上体姿勢回転運動 (上体 傾斜運動と上体ョ一回転運動) の関係を表す部分モデルとを分離して持 つ分離型モデル。 例えば、 図 1 2に示す質点は、 上記合力と上体並進運
10 動との関係を表す部分モデルであり、 図 1 2に示すフライホイールは、 上記合力と上体姿勢回転運動との関係を表す部分モデルである。
なお、 上記 1 ) 〜 4 ) のいずれの場合でも、 慣性力のモーメント鉛直 成分を発生させる運動モードは必要である。
また、 各処理で用いられるモデルは同一でも良.いし、 処理に応じて適
15 宜、 モデルを使い分けても良い。 例えば、 前記定常歩容は今回歩容の終 端状態を決定するためだけに生成されるものであるので、 その定常歩容 の動力学的な精度に対する要求は、 今回歩容に比べて小さい。 そこで、 例えば、 今回歩容の生成処理では、 図 1 2の動力学モデル ( 3質点 +フ ライホイールのモデル) を用いる一方、 定常歩容の生成処理 (特に図 2
20 1の S 4 0 8、 S 4 1 2 ) では、 各脚体 2の質量を無視し、 上体 3に対 応する上体質点 3 mと、 フライホール FHx、 F Hy、 F Haz、 F Hbz と で構成される動力学モデル (図 1 2のモデルで脚質点 2 m , 2 mを除去 した 1質点 +フライホイールのモデル) を用いて定常歩容を生成するよ
'、
うにしてもよい。 この場合の定常歩容の生成処理では、 前記実施形態に 25 おいて、 脚質点 2 mの質量を 0 として前記図 2 5の S 4 0 8、 S 4 1 2 の処理を行なうようにすればよい。 このようにすると、 定常歩容の生成 9470
1 2 0 処理における演算量を大幅に削減できる。
尚、 前記実施形態において、 ブロック線図、 フローチャート、 および ァルゴリズムなどは、 演算処理順序を変えるなどの等価変形をしても良 い。 また、 適宜ローパスフィル夕を.挿入しても良い。
また、 前記実施形態を 2足移動口ポッ トに関して説明してきたが、 3 足以上の多脚ロポッ トにも応用することができる。
前記実施形態のごとく、 探索手法を用いたり、 部分的に解析手法を用 いたりして、 定常歩容の初期状態 (主に初期上体水平位置速度、 初期上 体鉛直位置速度および逆位相腕振り角 · 角速度のこと) を決定する手法 の代わりに、 あらかじめ、 上記手法を用いて様々な定常歩容パラメータ に対して計算しておき、 定常歩容パラメ一夕と定常歩容の初期状態との 関係をマップ化あるいは近似式化して記憶して置き、 実移動時には、 マ ップ化あるいは近似式化された上記関係を基に、 定常歩容の初期値を決 定しても良い。
さらには、 マップ化あるいは近似式化された上記関係と上記関数 f を 合成した関数をマップ化あるいは近似式化して記憶しても良い。 すなわ ち、 前記した足平軌道パラメータ、 床反力鉛直軌道パラメ一夕等からな る定常歩容パラメータから.、 定常歩容の発散成分を直接求める関数をマ ップ化あるいは近似式化して記憶しても良い。 例えば、 複数種類の代表 的な定常歩容パラメータの組のそれぞれに対して、 事前に定常歩容を生 成しておき、 各組の定常歩容パラメ一夕に対する定常歩容の初期状態 (図 1 3の S 0 2 4で求めるもの) を求めておき、 さらにその各組の定 常歩容パラメ一夕と、 定常歩容初期状態との関係を表すマツプをあらか じめ作成しておく。 そして、 目標歩容を生成する際に、 決定された定常 歩容パラメ一夕の組から、 上記マップに基づいて選択あるいは補間によ つて定常歩容初期状態を求めるようにすればよい。 このようにすれば、 今回歩容の生成毎に、 定常歩容を生成する必要がなくなり、 目標歩容生 成処理の演算量を大幅に削減できる。
定常歩容につなげる (近づける) ための今回歩容の修正方法として、 本実施形態では、 今回歩容の目標 Z M Pパラメータを修正したが、 それ 以外のパラメ一夕を修正しても良い。
たとえば、 今回歩容の遊脚の空中での軌道を変えても良い。 また、 た とえば、 上体水平位置が定常歩容ょりも後方にずれてしまいそうな場合 には、 遊脚を離床後すばやく前方に移動させて遊脚重心位置を前方にず らす。 こうすることにより、 目標 Z M Pを満足するための上体水平位置 は、 前方により一層加速せざるを得なくなる。 この結果、 上体水平位置 が今回歩容終端において、 より一層前方に移動し、 定常歩容に一致させ ることができる。
また、 目標 Z M Pパラメータを修正する代わりに、 今回歩容の周期を 修正しても良い。 たとえば、 上体水平位置が定常歩容よりも後方にずれ てしまいそうな場合には、 今回歩容の周期を長くすれば良い。 今回歩容 の周期を長くことで、 上体水平位置が移動する時間が延び、 それだけ前 方に移動できるからである。
ただし、 探索手法によって、 上体水平位置等の適正値を決定するとき に、 目標 Z M Pパラメ一夕を修正する場合では、 目標 Z M Pの修正量に ほぼ比例して、 今回歩容終端上体水平位置が変化するので、 上記適正値 の探索回数が少なくて済む。 これに対して、 遊脚重心軌道や歩容の周期 を修正する場合には、 その修正に対して、 今回歩容終端上体水平位置が. かなり非線形に変化するので、 上記適正値の探索により多くの探索回数 を要する。
定常歩容につなげる (近づける) ための今回歩容の修正方法として、 本実施形態では、 今回歩容の目標 Z M Pパラメ一夕を修正した。 この方 法では、 場合によっては、 目標 Z M Pパラメ一夕の修正量 (前記図 3 4 の修正量 a) が過大になることがある。 たとえば、 その場でホッピング している歩容からいきなり高速で移動する要求 (走行要求) が与えられ ると、 高速の定常歩容 (走行の定常歩容) につなげる (近づける) ため に、 目標 Z M Pパラメ一夕は、 進行方向に対して後ろに極端に大きくず らす必要が生じる。 この場合には、 上記したように目標 Z M Pパラメ一 夕以外の歩容パラメ一夕も修正することが望ましい。 但し、 この場合で は、 実は、 急激な加速を要求すること自体に無理があったわけであるか ら、 要求値自身を修正しても良い。
要求値の修正を行なう場合には、 例えば、 とりあえず本実施形態に示 した手順に従って、 要求 (要求パラメータ) を満足する定常歩容を求め この定常歩容につながるように今回歩容パラメ一夕を決定した時点で、 今回歩容の目標 Z M P軌道の安定余裕が少なくなり過ぎたか否かを判定 する。 そして、 安定余裕が少なくなり過ぎた場合 (いわゆる支持多角形 から目標 Z M Pが外れたり、 支持多角形の端部付近に目標 Z M Pが位置 するような場合) には、 要求を修正するようにすれば良い。
または、 あらかじめ歩容の加減速度 (次回歩容初期速度一今回歩容初 期速度) 今回歩容の周期.) の許容範囲を設定して置き、 要求 (歩容周 期に関する要求パラメ一夕) を受けた時点で、 該要求に対応する加減速 度を求め、 その求めた加減速度が許容範囲を越えていたら、 許容範囲に なるように、 要求を修正しても良い。
補足すると、 前記 Δ Μ ρ、 Δ Fp , Δ Μ Γ、 Δ F r , Δ Maz および△ Mbz は、 上記のごとく単純な動力学モデルを用いる場合には、 動力学 演算により解析的に求めても良いが、 一般的なより複雑な動力学モデル を用いる場合には、 上体 3を上体並進モードで微小量だけ加速または上 体傾斜モ一ドで微小量だけ加速させた場合の床反力を求め、 加速させな かった場合の床反力との差を求め、 この差を上記微小量で割ることによ つて求めれば良い。
また、 あらかじめ標準的な歩容における ΔΜρ、 A Fp, AM r 、 AF r 、 AMaz、 △ Mbz および Δ M pノ△ M rなどのそれぞれの平均値を求 めておいて、 それを用いても良い。 ΔΜρ、 AFp、 ΔΜ r , 厶 F r 、 Δ Maz、 AMbz および ΔΜρノ ΔΜ Γは、 状態 (姿勢とその変化率) によ つて変わるので、 各瞬間の状態ごとに求める方法に較べて、 精度は若干 低下するが、 上記モデルよりも複雑なモデルを用いた場合には、 演算量 を大幅に低減できる。
今回歩容の逆位相腕振り復元角加速度パターンの台形高さ bzcurr を 決定する方法として、 以下の方法を用いても良い。
前記逆位相腕振り復元角加速度修正歩容 (図 4 2の S 7 2 2の説明を 参照) の今回歩容終端時点での逆位相腕振り角と角速度をそれぞれ 6> zcurr、 νθ zcurr とし、 これらと、 定常歩容の逆位相腕振り角、 角速度 との差を A 0 zcerr、 Δ v 0 zcei'rとする。
歩容周期をインターバルとし、 仮今回歩容の終端逆位相腕振り角、 角 速度と定常歩容の初期逆位相腕振り角、 角速度との差 0 zerr、 ν Θ zerr を前回状態、 bzcurr を入力、 Δ 0 zcerr、 Δ ν Θ zcerr を今回状態とする 離散系の状態方程式を立てて、 A 0 zcerr、 Δ v 0 zcerr を 0に収束させ るように、 現代制御理論等を用いてフィードバック則を決定し、 これに 基づいて bzcurrを求めても良い。
今回歩容およびまたは定常歩容の逆位相腕振り復元角加速度 /3 arec は、 台形パターンとせず、 各瞬間において、 目標逆位相腕振り角 ' 角速 度と基準逆位相腕振り角 · 角速度との差などを基に、 その差が 0に収束 するように、 状態フィードバック則などを用いて、 各瞬間における逆位 相腕振り復元角加速度 β arecの値を決定しても良い。 今回歩容の逆位相腕振り復元角加速度 ^ arec は、 台形パターンとせ ず、 各瞬間において今回歩容の目標逆位相腕振り角 ·角速度を基に、 こ れらが第 1旋回歩容の初期逆位相腕振り角 · 角速度に近づくように、 状 態フィードバック則などを用いて、 各瞬間における逆位相腕振り復元角 加速度) 3 arecを決定しても良い。
斜面移動時 (傾斜した床面でロボッ ト 1を移動させるとき) の歩容生 成においては、 床反力水平成分許容範囲や全体重心加速度水平成分許容 範囲の代わりに、 並進床反力の床面平行成分 (床面に平行な成分)、 す なわち摩擦力の許容範囲、 あるいは全体重心加速度の床面平行成分 (こ れは摩擦力に比例する) の許容範囲を設定するようにしてもよい。 例え ば、 並進床反力の床面平行成分 (摩擦力) の許容範囲を設定する場合に 関して説明 (この説明は全体重心加速度の床面平行成分の許容範囲を設 定する場合でも同様である) すると、 該摩擦力は、 床面の水平面に対す る傾斜角度 0 f (ロボッ ト 1の進行方向に向かって前下がり斜面の場合 を正とする) とすると、 次式 7 2の関係が成立する。 従って、 前記実施 形態と同様のアルゴリズムに歩容を生成する場合、 この式 7 2の関係を 用いて、 摩擦力許容範囲を床反力水平成分許容範囲に変換することで、 該床反力水平成分許容範囲を設定するようにすればよい。 なお、 この場 合、 式 7 2の床反力鉛直成分には、 目標床反力鉛直成分を用いればよい, 摩擦力 =床反力水平成分 * cos( 0 f)—床反力鉛直成分 * sin( 0 f)
…式 7 2 また、 斜面移動時 (傾斜した床面で口ポッ ト 1を移動させるとき) の 歩容生成においては、 床反力モーメント鉛直成分は、 式 1 0 7 2によつ て床面摩擦力法線方向モーメン卜に変換することができるので、 床反力 モーメント鉛直成分許容範囲の代わりに、 床反力モーメントの床面法線 方向成分、 すなわち床面摩擦力法線方向モーメン卜の許容範囲の許容範 囲を設定するようにしてもよい。 床面摩擦力法線方向モーメント=床反力モーメント鉛直成分 * cos( 0 f)
…式 1 0 7 2 今回歩容のパラメ一夕決定は、 前記実施形態のように前回歩容が完了 した時点で行う以外に、 本願出願人による P C T公開公報 WOZ 02/ 40224に記述されているように、 今回歩容の生成途中で、 再決定しても 良い。 こうすることにより、 演算量は増えるが、 歩容に対する要求に変 更があった時に即応できるからである。
また、 歩容の修正 (今回歩容パラメータを再決定すること) が、 今回 制御周期で間に合わない場合には、 とりあえず今回は、 修正しない歩容 あるいは暫定的に修正した歩容 (探索途中の歩容であって、 完全には、 探索完了条件 (歩容境界条件のずれが許容値以内に入っていること) を 満足していない歩容) を出力し、 次回制御周期までに、 あるいは複数制 御周期後までに (暫定的でない) 適切な修正歩容にしても良い。 修正さ れた目標 Z M P軌道と目標床反力鉛直成分軌道は連続であり、 短時間後 では、 これらが急激に変化することはないので、 今回歩容の目標 Z M P 軌道と目標床反力鉛直成分軌道が若干ぎざぎざになるだけで、 ほとんど 問題はない。 産業上の利用可能性
以上のように本発明は、 2足移動ロボッ ト等の脚式移動ロポッ トと床 面との摩擦力が小さくなるような状況でも、 口ポッ トのスピンを生じる ことなく該ロポッ トを円滑に移動させることが可能な歩容を生成する とができるものとして有用である。

Claims

請 求 の 範 囲
1 . 上体から延設された複数の脚体を運動させて移動する脚式移動ロボ ッ 卜の目標歩容を生成する歩容生成装置において、
前記口ポッ トに作用させる床反力モーメン卜の鉛直成分又は該床反力 モーメントの床面法線方向成分又は該ロボッ トの角運動量変化率の鉛直 成分又は該角運動量変化率の床面法線方向成分を制限対象量として、 該 制限対象量の許容範囲を設定する許容範囲設定手段と、
所定の動力学モデル上で前記ロポッ 卜に作用する重力と慣性力との合 力が所定の動力学的平衡条件を満たすように前記目標歩容の仮運動を決 定する仮運動決定手段と、
前記目標歩容の仮運動により定まる前記制限対象量が前記許容範囲を 逸脱したとき、 該制限対象量を前記動力学モデル上で前記許容範囲内に 制限するようにしつつ、 ロポッ 卜の角運動量変化率を前記仮運動から変 化させるように該仮運動を修正して目標歩容の運動を決定する仮運動修 正手段とを備えたことを特徴とする脚式移動ロポッ 卜の歩容生成装置。
2 . 前記仮運動修正手段が修正対象とする運動は、 ロポッ 卜の上体又は 該上体から延設された腕体の運動であることを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ トの歩容生成装置。
3 . 前記仮運動修正手段が修正対象とする運動は、 口ポッ トの上体又は 該上体から延設された腕体の運動のうち、 口ポッ トの重心位置を前記仮 運動により定まる重心位置に略維持しつつ、 ロポッ トの角運動量変化率 の鉛直成分又は該角運動量変化率の床面法線方向成分を変化させる運動 であることを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ トの 歩容生成装置。
4 . 前記口ポッ トは、 上体の左右の両側部から延設された 2つの腕体を 備える口ポッ トであり、 前記仮運動修正手段が修正対象とする運動は、 前記 2つの腕体をロボッ 卜の前後方向で互いに逆方向に動かす運動であ ることを特徴とする請求の範囲第 1項に記載の脚式移動ロポッ 卜の歩容 生成装置。
5 . 前記目標歩容はロポットの少なくとも一つの脚体を着地させる着地 期と、 全ての脚体を空中に浮かせる空中期とを交互に繰り返す歩容であ り、 前記許容範囲は、 少なくとも前記空中期では略零に設定されること を特徴とする請求の範囲第 1項に記載の脚式移動ロボッ トの歩容生成装 置。
6 . 前記ロポッ 卜の並進床反力の目標鉛直成分又は全体重心加速度の目 標鉛直成分又は上体加速度の目標鉛直成分を決定する目標鉛直成分決定 手段を備え、
前記許容範囲設定手段は、 該目標鉛直成分決定手段が決定した目標鉛 直成分に応じて前記許容範囲を設定することを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ 卜の歩容生成装置。
7 . 前記動力学モデルは、 少なくとも前記仮運動修正手段が修正対象と する運動と床反力との関係を鉛直軸回り又は床面法錄軸回りに回転自在 なフライホイールの回転運動と床反力との関係として記述する動力学モ デルであることを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ トの歩容生成装置。
8 . 前記仮運動修正手段は、 前記仮運動により定まる前記制限対象量が 前記許容範囲に存する所定の期間においては、 該制限対象量が前記許容 範囲を逸脱した場合に修正対象とするロポッ トの運動をあらかじめ定め た基準運動軌道に近づけ、 又は一致させるように前記目標歩容の運動を 決定することを特徴とする請求の範囲第 1項に記載の脚式移動ロポッ ト の歩容生成装置。
9 . 生成する前記目標歩容は、 口ポッ トの実際の動作に用いるものとし て所定期間分ずつ生成する今回歩容と、 各今回歩容に続く仮想的な周期 的歩容であって該今回歩容の生成に用いる定常歩容とを有し、 前記仮運 動決定手段及び仮運動修正手段の処理は、 該今回歩容及び/又はこれに 続く定常歩容の生成時に実行されることを特徴とする請求の範囲第 1項 に記載の脚式移動ロポッ 卜の歩容生成装置。
1 0 . 前記許容範囲設定手段は、 前記今回歩容の許容範囲と該今回歩容 に続く定常歩容の許容範囲とを該今回歩容の要求パラメ一夕に応じて設 定することを特徴とする請求の範囲第 9項に記載の脚式移動ロボッ トの 歩容生成装置。
1 1 . 前記脚式移動ロボッ トは 2本の脚体を有する 2足移動ロポッ トで あり、 前記要求パラメータは、 該 2足移動口ポッ トの脚体先端部の 2歩 分の着地位置 · 姿勢を規定するパラメ一夕と、 1歩目及び 2歩目の歩容 周期を規定するパラメ一夕とを含むことを特徴とする請求の範囲第 1 0 項に記載の脚式移動ロボッ 卜の歩容生成装置。
PCT/JP2004/009470 2003-06-27 2004-06-28 脚式移動ロボットの歩容生成装置 WO2005000533A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/562,626 US7734378B2 (en) 2003-06-27 2004-06-28 Gait generation device for legged mobile robot
DE602004029256T DE602004029256D1 (de) 2003-06-27 2004-06-28 Gangerzeugungsvorrichtung für beweglichen roboter mit beinen
JP2005511134A JP4199236B2 (ja) 2003-06-27 2004-06-28 脚式移動ロボットの歩容生成装置
EP04746939A EP1649983B1 (en) 2003-06-27 2004-06-28 Gait generation device for legged mobile robot
KR1020057020766A KR101112496B1 (ko) 2003-06-27 2004-06-28 다리식 이동 로봇의 제어장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003185613 2003-06-27
JP2003-185613 2003-06-27

Publications (1)

Publication Number Publication Date
WO2005000533A1 true WO2005000533A1 (ja) 2005-01-06

Family

ID=33549672

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/009470 WO2005000533A1 (ja) 2003-06-27 2004-06-28 脚式移動ロボットの歩容生成装置

Country Status (6)

Country Link
US (1) US7734378B2 (ja)
EP (1) EP1649983B1 (ja)
JP (1) JP4199236B2 (ja)
KR (1) KR101112496B1 (ja)
DE (1) DE602004029256D1 (ja)
WO (1) WO2005000533A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603199B2 (en) 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4485279B2 (ja) * 2004-08-02 2010-06-16 本田技研工業株式会社 脚式移動ロボットの歩容生成装置および制御装置
DE102005053646A1 (de) * 2005-11-10 2007-05-16 Starck H C Gmbh Co Kg Polymerbeschichtungen mit verbesserter Lösungsmittelbeständigkeit
JP2008073830A (ja) * 2006-09-25 2008-04-03 Fanuc Ltd ロボット制御装置
KR101687628B1 (ko) * 2010-01-12 2016-12-21 삼성전자주식회사 로봇의 보행 제어 장치 및 그 제어 방법
KR101200191B1 (ko) * 2010-07-14 2012-11-13 서울대학교산학협력단 데이터 기반 바이페드 제어 장치 및 방법
US8914151B2 (en) * 2011-07-05 2014-12-16 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Apparatus and method for legged locomotion integrating passive dynamics with active force control
JP5807591B2 (ja) * 2012-03-06 2015-11-10 トヨタ自動車株式会社 脚式歩行ロボットおよびその重心軌道生成方法
JP6330287B2 (ja) * 2013-10-29 2018-05-30 セイコーエプソン株式会社 ロボット、ロボット用当接部材
JP5888309B2 (ja) * 2013-10-31 2016-03-22 カシオ計算機株式会社 トレーニング支援装置およびシステム、フォーム解析装置および方法、ならびにプログラム
US10081098B1 (en) 2014-08-25 2018-09-25 Boston Dynamics, Inc. Generalized coordinate surrogates for integrated estimation and control
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US9387896B1 (en) * 2014-08-25 2016-07-12 Google Inc. Slip avoidance
JP6228097B2 (ja) * 2014-10-06 2017-11-08 本田技研工業株式会社 移動ロボット
US9352470B1 (en) * 2014-11-11 2016-05-31 Google Inc. Yaw slip handling in a robotic device
US9446518B1 (en) * 2014-11-11 2016-09-20 Google Inc. Leg collision avoidance in a robotic device
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
WO2016159346A1 (ja) * 2015-04-02 2016-10-06 国立大学法人大阪大学 脚型機構体、歩行ロボット、姿勢制御方法及びプログラム
US9594377B1 (en) 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
JP6450279B2 (ja) * 2015-08-05 2019-01-09 本田技研工業株式会社 移動ロボットの目標zmp軌道の生成装置
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9778132B1 (en) * 2015-12-16 2017-10-03 X Development Llc Methods and systems for force sensor calibration
US9868210B1 (en) * 2015-12-30 2018-01-16 Google Inc. Methods and systems for planning a body position of a robotic device
US9789919B1 (en) 2016-03-22 2017-10-17 Google Inc. Mitigating sensor noise in legged robots
US10351189B2 (en) 2016-12-13 2019-07-16 Boston Dynamics, Inc. Whole body manipulation on a legged robot using dynamic balance
JP6844434B2 (ja) * 2017-06-15 2021-03-17 株式会社デンソーウェーブ ロボットの負荷重心位置推定装置及びロボットの負荷重心位置推定方法
DE102021112485B3 (de) 2021-05-12 2022-08-11 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Balancierung eines Roboters, Verfahren zur Ganzkörpersteuerung eines Roboters, Regler sowie Roboter
CN114137992A (zh) * 2021-10-20 2022-03-04 深圳鹏行智能研究有限公司 一种降低足式机器人抖动的方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002040224A1 (fr) * 2000-11-17 2002-05-23 Honda Giken Kogyo Kabushiki Kaisha Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes
WO2002087832A1 (fr) 2001-04-27 2002-11-07 Honda Giken Kogyo Kabushiki Kaisha Dispositif de generation de mouvement de robot mobile sur jambes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
JP3233450B2 (ja) 1992-05-22 2001-11-26 本田技研工業株式会社 指定時刻到達関数発生器
JP3269852B2 (ja) 1992-05-29 2002-04-02 本田技研工業株式会社 脚式移動ロボットの姿勢安定化制御装置
US5404086A (en) * 1992-07-20 1995-04-04 Honda Giken Kogyo Kabushiki Kaisha System for controlling locomotion of legged mobile robot and correcting inclinometer's output thereof
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
WO1998004388A1 (fr) 1996-07-25 1998-02-05 Honda Giken Kogyo Kabushiki Kaisha Dispositif de reproduction de la demarche pour robot articule muni de jambes
JP3658147B2 (ja) 1996-07-25 2005-06-08 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
WO1999054095A1 (fr) * 1998-04-20 1999-10-28 Honda Giken Kogyo Kabushiki Kaisha Controleur pour robot mobile muni de jambes
JP3629143B2 (ja) 1998-04-20 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
EP1470900B1 (en) 2001-12-28 2010-07-14 Honda Giken Kogyo Kabushiki Kaisha Gait production device and control device for leg type movable robot
US8005573B2 (en) * 2003-06-27 2011-08-23 Honda Motor Co., Ltd. Control device for legged mobile robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002040224A1 (fr) * 2000-11-17 2002-05-23 Honda Giken Kogyo Kabushiki Kaisha Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes
WO2002087832A1 (fr) 2001-04-27 2002-11-07 Honda Giken Kogyo Kabushiki Kaisha Dispositif de generation de mouvement de robot mobile sur jambes
JP2002326173A (ja) * 2001-04-27 2002-11-12 Honda Motor Co Ltd 脚式移動ロボットの動作生成装置
EP1398121A1 (en) 2001-04-27 2004-03-17 Honda Giken Kogyo Kabushiki Kaisha Device for generating motion of legged mobile robot

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603199B2 (en) 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body
US7606634B2 (en) 2003-11-27 2009-10-20 Honda Motor Co., Ltd. Control device for mobile body

Also Published As

Publication number Publication date
JPWO2005000533A1 (ja) 2006-08-03
DE602004029256D1 (de) 2010-11-04
KR101112496B1 (ko) 2012-08-01
EP1649983A1 (en) 2006-04-26
EP1649983B1 (en) 2010-09-22
KR20060024370A (ko) 2006-03-16
US7734378B2 (en) 2010-06-08
JP4199236B2 (ja) 2008-12-17
EP1649983A4 (en) 2009-01-14
US20060247800A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
WO2005000533A1 (ja) 脚式移動ロボットの歩容生成装置
JP3672101B2 (ja) 脚式移動ロボットの歩容生成装置
JP4155993B2 (ja) 脚式移動ロボットの制御装置
WO2003061917A1 (fr) Dispositif de commande pour robot bipede
US7774098B2 (en) Gait generating device for moving robot
US7765030B2 (en) Gait generator for mobile robot
WO2007069401A1 (ja) 脚式移動ロボットの歩容生成装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL 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): 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 IT 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: 1020057020766

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005511134

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006247800

Country of ref document: US

Ref document number: 10562626

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004746939

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057020766

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004746939

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10562626

Country of ref document: US