WO2003090981A1 - Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes - Google Patents

Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes Download PDF

Info

Publication number
WO2003090981A1
WO2003090981A1 PCT/JP2003/005449 JP0305449W WO03090981A1 WO 2003090981 A1 WO2003090981 A1 WO 2003090981A1 JP 0305449 W JP0305449 W JP 0305449W WO 03090981 A1 WO03090981 A1 WO 03090981A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
angular velocity
estimated
value
gait
Prior art date
Application number
PCT/JP2003/005449
Other languages
English (en)
French (fr)
Inventor
Toru Takenaka
Takashi Matsumoto
Original Assignee
Honda Giken Kogyo Kabushiki Kaisha
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 Giken Kogyo Kabushiki Kaisha filed Critical Honda Giken Kogyo Kabushiki Kaisha
Priority to EP03725699A priority Critical patent/EP1504855B1/en
Priority to JP2004501990A priority patent/JP4181114B2/ja
Priority to KR1020047017286A priority patent/KR100956537B1/ko
Priority to DE60332227T priority patent/DE60332227D1/de
Priority to US10/511,128 priority patent/US6963185B2/en
Publication of WO2003090981A1 publication Critical patent/WO2003090981A1/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
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/185Compensation of inertial measurements, e.g. for temperature effects for gravity
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems

Definitions

  • the present invention relates to an apparatus for estimating a self-posture of a legged mobile robot.
  • an inclinometer is mounted on the upper body of a leg-type moving port, such as a bipedal robot, and the output of the inclinometer (inclination angle of the upper body with respect to the vertical direction) is used as the target gait.
  • the robot's posture is controlled so as to converge on the tilt angle of the upper body.
  • the inclinometer is composed of a gyro sensor for detecting the angular velocity of the body and an acceleration sensor (or a vertical indicator such as a pendulum) for detecting the vertical direction (ie, the direction of gravity).
  • the inclinometer basically estimates the tilt angle of the body by integrating the angular velocity detected by the gyro sensor. However, the integration error accumulates as it is (so-called drift occurs). Thus, the estimated inclination angle obtained by integration was corrected.
  • the difference between the inclination angle with respect to the acceleration direction detected by the acceleration sensor and the inclination angle obtained by passing the detection value of the jay mouth sensor through an integrator is obtained, and a correction amount (difference The sum of the value multiplied by the predetermined gain and the difference obtained by integrating the difference and multiplied by the predetermined gain) is additionally input to the integrator to correct the tilt angle.
  • the inclination and orientation of a certain representative part such as the upper body are collectively referred to as “posture”.
  • “Slope” is the angle between the vertical direction.
  • “Orientation” is the direction of the vector, which is a vector that indicates the front direction of the representative part projected on the horizontal plane.
  • a typical part is a part on which an inclinometer composed of a gyro sensor and an acceleration sensor is mounted, but other parts are also equipped with that part and an inclinometer. If there is a joint displacement detector such as an encoder or a displacement control actuator at each joint between the part and the part, the inclination of that part can be calculated, and that part may be used as a representative part. I don't know. For example, even when a gyro sensor and / or an acceleration sensor are provided on a head connected by a jointed neck, the representative portion may be the upper body. In an embodiment described later, the upper body is the representative portion. And
  • a set of displacements of all joints is also called a posture, but in this embodiment, “posture” is not used in this sense unless otherwise specified.
  • the posture rotation in the desired gait is referred to as a desired posture rotation.
  • the phenomena that are of primary concern here are the actual The rotation of the entire posture (or the rotation of the posture of a representative part such as the upper body) deviates from the target posture rotation. If this phenomenon is strictly expressed, it should be called “perturbation from the target posture rotation” or “posture rotation perturbation”. Abbreviated as "posture rotation”.
  • spin the phenomenon in which the entire mouth pot rotates around the vertical axis and deviates from the direction of the target gait.
  • the movement path of the mouth pot also deviates from the target movement path. In such a case, it is necessary to guide the movement route of the lopot to the target route. To this end, it is necessary to accurately estimate the posture, especially the orientation, of the representative portion such as the upper body of the mouth pot. Required.
  • the conventional body posture estimation technology of the robot it has been impossible to accurately estimate the posture of the mouth port particularly in the yaw direction due to the influence of the drift. .
  • the present invention has been made in view of the above-described background, and has as its object to provide a self-posture estimating apparatus capable of accurately estimating the self-posture of a legged moving port bot, particularly, the posture in one direction. Aim. Disclosure of the invention
  • a first invention of a legged mobile robot self-posture estimating apparatus of the present invention is a legged mobile robot controlled to follow a determined target gait to achieve the above object.
  • Posture angular velocity detecting means for detecting a posture angular velocity of a predetermined portion of the robot; and at least one of a target movement of the target gait, a detected value of a displacement of the joint of the robot, and a target value of the displacement of the joint.
  • the connection between the mouth pot and the floor is based on the motion state amount of the Non-slip attitude angular velocity estimating means for estimating the attitude angular velocity of the predetermined portion assuming that the contact surface does not slip, and at least the detected value of the attitude angular velocity detecting means and the non-slip attitude angular velocity estimating means estimate A drift correction value determining means for determining a drift correction value for the detected value of the attitude angular velocity detecting means in accordance with the determined attitude angular velocity, and at least a detection value of the attitude angular velocity detecting means corrected by the drift correction value.
  • Integrating means for estimating the attitude angle of the predetermined portion by integrating the attitude angular velocity wherein the drift correction value determination means corrects the detection value of the attitude angular velocity detection means with the drift correction value.
  • a new drift correction value is determined so that the deviation between the posture angular velocity obtained by the above-mentioned posture angular velocity estimation means and the posture angular velocity estimated by the non-slip posture angular velocity estimation means approaches zero. And it is characterized in and.
  • At least a motion state amount of the robot including at least one of a target motion of the desired gait, a detected value of displacement of the joint of the robot, and a target value of displacement of the joint is determined. Then, assuming that there is no slip on the contact surface between the lopot and the floor, the posture angular velocity of the predetermined portion is estimated. That is, by assuming that the slip does not occur, the posture angle of the predetermined portion can be estimated by geometrical calculation based on the motion state amount. It is possible to estimate the posture angular velocity of the predetermined part as the temporal change amount.
  • the drift correction value is determined at least in accordance with the estimated attitude angular velocity (posture angular velocity estimation value) and the detection value of the attitude angular velocity detection means (posture angular velocity detection value). More specifically, a new drift correction value is set so that the deviation between the attitude angular velocity obtained by correcting the attitude angular velocity detection value by the drift correction value (the already determined drift correction value) and the above-described attitude angular velocity estimation value approaches zero. Determined (drift correction value is updated). When deciding which drift correction value, for example, the drift correction value is determined from the deviation by an appropriate feedback control law. You can ask for it.
  • the posture angle of the predetermined part is estimated by integrating the posture angular velocity obtained by correcting the posture angular velocity detection value using at least the drift correction value determined above.
  • the drift correction value determining means includes means for determining whether or not a rotational slip has occurred on a contact surface between the mouth port and the floor, and determines that the rotational slip has occurred. Then, it is preferable to hold the value of the drift correction value (second invention).
  • the first invention uses the attitude angular velocity estimated on the assumption that the contact surface between the mouth pot and the floor does not slip (hereinafter, referred to as the estimated attitude angular velocity without slip in the following description of the present invention).
  • the correction value is determined, the reliability of the estimated posture angular velocity without slip is reduced in a situation where a rotational slip occurs. Therefore, in the second invention, the value of the drift correction value is held (not updated) in a situation where it is determined that rotational slip has occurred. This makes it possible to secure the reliability of the drift correction value and, as a result, to ensure the accuracy of the estimated value of the posture angle of the predetermined part as the self-posture of the mouth pot with high accuracy.
  • the third invention of the legged moving port pot self-posture estimating device of the present invention comprises: a posture angular velocity detecting means for detecting a posture angular velocity of a predetermined portion of the legged moving port, and at least a movement stop of the robot.
  • Drift correction value determining means for determining a drift correction value for the detected value based on the detected value of the attitude angular velocity detecting means in a state, and at least the detected value of the attitude angular velocity detecting means during movement of the lopot. Is integrated with the attitude angular velocity obtained by correcting the attitude angle with the drift correction value to estimate the attitude angle of the predetermined portion. And a dividing means.
  • Such a third invention is based on a detection value (posture angular velocity detection value) of the posture angular velocity detection means in the loport motion stop state, that is, a posture angular velocity detection value in a state where the actual posture angular velocity becomes zero in principle. Since the drift correction value is determined, a highly reliable drift correction value can be determined. Then, during the movement of the mouth pot, the posture angle of the predetermined part is estimated by integrating the posture angular velocity obtained by correcting the posture angular velocity detection value by at least the drift correction value. By appropriately compensating for the influence of drift due to integration, it becomes possible to accurately estimate the posture angle of the predetermined portion as the robot's own posture.
  • the drift correction value determining means includes: a component in one direction of the detected value of the attitude angular velocity detecting means; and a posture angular velocity estimated by the non-slip posture angular velocity estimating means. It is preferable to determine the drift correction value according to the component in the yellow direction among the above (fourth invention).
  • the drift correction value determination means determines the drift correction value in accordance with a component in the Y direction among the detection values of the attitude angular velocity detection means. 5 inventions).
  • the drift in the yaw direction of the attitude angular velocity detecting means can be appropriately compensated, and in particular, the direction of the predetermined position can be accurately estimated.
  • the direction of the predetermined position can be accurately estimated.
  • the predetermined portion is an upper body of the mouth pot (a sixth invention). Since the posture of the torso can be accurately estimated, it is possible to accurately perform control such as stabilization of the posture of the robot. BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 is a schematic diagram showing an outline of the overall configuration of a bipedal transfer robot as a legged mobile robot in an embodiment of the present invention
  • FIG. 2 is a configuration of a foot portion of each leg of FIG. Fig. 3 and Fig. 4 are a schematic side view and a bottom view, respectively, showing the detailed configuration of the foot of each leg
  • Fig. 5 is a control unit provided in the mouth port of Fig. 1.
  • FIG. 6 is a block diagram showing a functional configuration of the control unit shown in FIG. Fig. 7 is an explanatory diagram showing the running gait of the mouth pot, and Figs.
  • FIG. 8 (a), (b) and (c) are the floor reaction force vertical component of the target gait, the target ZMP, and the self-position / posture estimation.
  • FIG. 9 is a flowchart showing the processing of the main part of the control unit in the first embodiment
  • FIG. 10 is the self-position / posture estimation processing of the mouthpiece of FIG.
  • FIG. 11 and FIG. 12 are diagrams for explaining the self-position / posture estimation processing of the flowchart of FIG.
  • FIG. 13 is a block diagram showing a main part of the self-position / orientation estimation process of the flowchart of FIG. 9, and
  • FIGS. 14 (a) and (b) are diagrams for explaining the process of FIG. 15 is a graph showing an example of setting gains used in the processing of FIG.
  • a self-position estimating device for a legged mobile robot according to an embodiment of the present invention will be described with reference to the accompanying drawings.
  • a leg-type moving port a two-legged moving port is taken as an example.
  • FIG. 1 is a schematic view generally showing a two-legged robot as a legged movable robot according to this embodiment.
  • a two-legged port (hereinafter referred to as a port) 1 is a pair of left and right legs (leg links) extending downward from an upper body (the base of the port 1) 2 , 2 are provided. Both legs 2, 2 have the same structure, 6 each With joints.
  • the six joints are the joints for rotation (rotation) of the crotch (lumbar) (for rotation in one direction relative to the upper body 3) 10 R, 10 L (signs R, L) in order from the upper body 3 side.
  • 10 R, 10 L signals R, L
  • the hip joint (or hip joint) is composed of joints 1 OR (L), 12 R (L), and 14 R (L), and the knee joint is joint 16 R (L).
  • the ankle joint is composed of joints 18 R (L) and 20 R (L).
  • 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 are attached to both upper sides of the upper body 3, and a head 4 is disposed at the upper end of the upper body 3. Since the arms 5, 5 and the head 4 have no direct relation to the gist of the present invention, a detailed description thereof will be omitted.
  • the desired motion of both feet 22R and 22L can be performed by driving the joint of (2) at an appropriate angle. As a result, the robot 1 can arbitrarily move in the three-dimensional space.
  • a known 6-axis force sensor 50 is located below the ankle joints 18 R (L), 20 R (L) of each leg 2 and the foot 22 R (L). Are interposed.
  • the 6-axis force sensor 50 is for detecting the presence / absence of landing on the foot 22 R (L) of each leg 2, and detecting a 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 body 3 is provided with an inclination sensor 54 for detecting the inclination (posture angle) of the body 3 with respect to the Z axis (vertical direction (gravity direction)) and its angular velocity. Is output from the tilt sensor 54 to the control unit 60.
  • the tilt sensor 54 includes a three-axis acceleration sensor and a three-axis gyro sensor (not shown). Detection signals from these sensors are used to detect the tilt of the body 3 and its angular velocity. It is also used to estimate the self-position and orientation of the robot 1.Although the detailed structure is not shown, each joint of the mouth port 1 has an electric motor 644 for driving it. (See FIG. 5), and an encoder (rotary encoder) 65 (see FIG. 5) for detecting the rotation amount (rotation angle of each joint) of the electric motor 64 are provided. Is output from the encoder 65 to the control unit 60.
  • a joystick (operator) 73 (see FIG. 5) is provided at an appropriate position of the mouth port 1 and the joystick is provided. By operating the tick 73, it is possible to input a request for the gait of the mouth port 1 to the control unit 60 as needed, such as turning the mouth port 1 that is moving straight. It is configured.
  • 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 surfaces of R and L).
  • the compliance mechanism 72 is constituted by the spring mechanism 70 and the sole elastic body 71.
  • a rectangular guide member (not shown in FIG. 2) attached to the upper surface of the foot 22 R (L) and an ankle joint 18 R (L) (The ankle joint 2 OR (L) is omitted in FIG. 2) and attached to the 6-axis force sensor 50 side, and are accommodated in the guide member via an elastic material (rubber or spring) so as to be finely movable. It consists of a piston-like member (not shown in FIG. 2) and.
  • the foot 22 R (L) shown by a solid line in FIG. 2 shows a state when no floor reaction force is applied.
  • the spring mechanism 70 of the compliance mechanism 72 and the sole elastic body ⁇ 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 used to reduce the landing impact as described in detail in, for example, Japanese Patent Application Laid-Open No. H05-305584 proposed by the present applicant. It is also important to improve controllability.
  • FIG. 3 is a cross-sectional view showing the side of the foot mechanism 22 R (L)
  • FIG. 4 is a plan view of the foot mechanism 22 R (L) viewed from the bottom side. is there.
  • the foot mechanism 22 R (L) includes a generally flat foot plate member 102 as a skeletal member.
  • the foot plate member 102 has a front end portion (toe portion) and a rear end portion (heel portion) that are slightly upwardly curved, but the other portions are flat and flat.
  • a guide member 103 having a rectangular cross section is fixed to the upper surface of the foot plate member 102 with its axis centered in the vertical direction.
  • a movable plate (piston-like member) 104 is provided inside the guide member 103 so as to be movable substantially vertically along the inner peripheral surface of the guide member 103.
  • the movable plate 104 is connected to the ankle joints 18 R (L) and 20 R (L) via a six-axis force sensor 50.
  • the movable plate 104 has a foot plate member 1 through a plurality of elastic members 106 (illustrated as springs in the figure) whose lower peripheral edge is made of an elastic material such as a spring or rubber. 0 2. Therefore, the foot plate member 102 is connected to the ankle joint 18 R (L) via the elastic member 106, the movable plate 104 and the six-axis force sensor 50.
  • the inside of the guide member 103 (the space below the movable plate 104) is open to the atmosphere through holes and gaps (not shown). The member 103 can enter and exit freely. Further, the guide member 103, the movable plate 104, and the elastic member 106 constitute the spring mechanism 70 shown in FIG.
  • the ground member 71 as the sole elastic body 71 shown in FIG. 2 is attached to the bottom surface (lower surface) of the foot plate member 102.
  • the grounding member 71 is an elastic member interposed between the foot plate member 102 and the floor when the foot mechanism 22 R (L) is grounded.
  • the four corners of the foot contact surface of the foot plate member 102 (foot foot The rate member 102 is fixed to both sides of the toe and both sides of the heel.
  • the grounding member 71 is formed by vertically stacking a soft layer 107 a made of a relatively soft rubber material and a hard layer 107 b made of a relatively hard rubber material.
  • a hard layer 107 b is provided on the lowermost surface side as a grounding surface portion that comes into direct contact with the floor surface when the leg 2 is placed on the floor.
  • the foot mechanism 22 R (L) is provided with a landing shock absorbing device 108 in addition to the above configuration.
  • the landing shock absorbing device 108 includes a bag-like member 109 attached to the bottom surface of the foot plate member 102 and a compressive fluid with respect to the inside of the bag-like member 109. There is a flow passage 110 for letting in and out of the air (air in the atmosphere).
  • the bag-shaped member 109 is provided substantially at the center of the bottom surface of the foot plate member 102 such that the grounding member 71 is present around the bag-shaped member 109.
  • the bag-shaped member 109 is made of an elastic material such as rubber so as to be freely deformable. In a natural state where no elastic deformation is caused by external force, as shown by a solid line in FIG. It has a container shape.
  • the bag-shaped member 109 has its open end fixed to the bottom surface of the foot plate member 102 over the entire circumference, and is closed by the foot plate member 102.
  • the bag-shaped member 109 is provided such that the bottom of the bag-shaped member 109 protrudes below the grounding member 71 in a natural state in the shape of a cylindrical container.
  • the height of the bag-shaped member 109 (the distance from the lower surface of the foot plate member 102 to the bottom of the bag-shaped member 109) is larger than the thickness of the grounding member 71. Therefore, in the state where the foot plate member 102 is grounded via the grounding member 71 (the landing state of the leg 2), the bag-like member 109 is not placed on the floor as shown by the phantom line in FIG. In the height direction of the bag-shaped member 109 due to the reaction force Compressed.
  • the natural state in which the bag-shaped member 109 has the shape of a cylindrical container is the inflated state of the bag-shaped member 109. Since the bag-shaped member 109 is made of a flexible material, it has a shape restoring force to a natural state (cylindrical container shape) when compressed.
  • the flow passage 110 constitutes inflow / outflow means for inflow / outflow of air to / from the bag-like member 109.
  • the inside of the bag-like member 109 and the guide And a communication hole formed in the foot plate member 102 so as to communicate with the inside of the pad member 103.
  • the flow passage 110 connects the inside of the bag-shaped member 109 to the atmosphere side. It will be. Therefore, the air in the atmosphere can freely enter and exit through the flow passage 110 inside the bag-shaped member 109, and the bag-shaped member 109 is in an expanded state (natural state).
  • the flow passage 110 is a throttle passage so that when air enters and exits the inside of the bag-shaped member 109, a fluid resistance is generated.
  • FIG. 5 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 A / D converter 80, a power counter 86, It has a D / A converter 96, a RAM 84, a R 9M 94, and a bus line 82 for exchanging data overnight.
  • the output signals of the 6-axis force sensor 50, tilt 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 65 (rotary encoder) is input to RAM 84 via counter 86.
  • the first arithmetic unit 90 generates a desired gait as described later and calculates a joint angle displacement command (a displacement angle of each joint or a command value of a rotation angle of each electric motor 64). Send to RAM 84.
  • the second arithmetic unit 92 reads from the RAM 84 the joint angle displacement command and the 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 that drives each joint via the D / A converter 96 and the servo amplifier 64 a.
  • FIG. 6 is a block diagram showing the overall functional configuration of the control device for a legged moving port according to this embodiment.
  • the part other than the “real mouth pot” in FIG. 6 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 that is done.
  • the symbols R and L are omitted.
  • control unit 60 includes a gait generator 200 for freely generating and outputting a desired gait of the mouth port 1 in real time, a self-position / posture estimating unit 214, and the like. I have. Although the details will be described later, the self-position / posture estimating unit 2 14 executes a process related to a characteristic part of the present invention, and estimates the position / posture of the mouth port 1 (the position / posture in the global coordinate system). Things.
  • the desired gait output by the gait generator 200 is a desired body position / posture trajectory (trajectory of the desired position and desired posture of the body 3), a desired foot position / posture trajectory (the desired position of each foot 22) And the trajectory of the desired posture), the trajectory of the desired arm posture (the trajectory of the desired posture of each arm 5), the trajectory of the desired total floor reaction force center point (the desired ZMP), and the trajectory of the desired total floor reaction force. If there is a movable part with respect to the upper body 3 in addition to the leg 2 and the arm 5, the target position / posture trajectory of the movable part should be Added to gait.
  • the “trajectory” in the above gait means a temporal change pattern (time-series pattern), and in the following description, may be referred to as “pattern” instead of “trajectory”.
  • the “posture” of each part is a general term for the inclination and direction of the part.
  • tilt is an angle between the vertical direction of the part
  • direction is the direction of the vector obtained by projecting a vector indicating the front direction of the part on a horizontal plane.
  • the inclination of the body posture is the inclination angle (posture angle) of the body 3 in the roll direction (around the X axis) with respect to the Z axis (vertical axis), and the body in the pitch direction (around the Y axis) with respect to the Z axis.
  • the orientation of the upper body 3 is represented by the angle of rotation of the vector in which the vector indicating the forward direction of the upper body 3 is projected on a horizontal plane in one direction (around the Z axis).
  • the foot posture is represented by a two-axis spatial azimuth fixedly set for each foot 22.
  • the landing posture of the foot 22 basically indicates the direction of the landing foot 22, and specifically, from the heel of the landed foot 22 to the toe. Indicates the direction of the vector when the heading vector is projected on the horizontal plane.
  • the target arm posture is represented by a posture relative to the body 3 with respect to all positions of the arm 5.
  • the body position means a predetermined position of the body 3, specifically, a position of a predetermined representative point of the body 3.
  • the foot position means the position of a predetermined representative point of each foot 22R, 22L.
  • the body speed means the moving speed of the representative point of the body 3, and the foot speed means the moving speed of the representative point of each of the feet 22 R and 22 L.
  • the desired gait such as the desired body position / posture
  • “goal” is often omitted in the following description if there is no risk of misunderstanding.
  • the components of the gait other than those related to the floor reaction force, that is, the foot position The gait related to the motion of Robot 1, such as force and upper body position / posture, is collectively called “motion”.
  • each foot floor reaction force The floor reaction force (floor reaction force consisting of translational force and moment) of each foot 22 is called “each foot floor reaction force”, and all (two) feet 22 R: The resultant of the 2 L floor reaction force is called the “total floor reaction force”.
  • total floor reaction force The resultant of the 2 L floor reaction force.
  • the desired floor reaction force is generally expressed by the point of action, the force acting on that point (translational force), and the moment of the force. Since the point of action is good for everywhere, countless expressions can be considered for the same desired floor reaction force, but especially when the target floor reaction force is expressed using the aforementioned target floor reaction force center point as the point of action, the moment of force is , Except for the vertical axis component.
  • the ZMP calculated from the target motion trajectory (the moment at which the resultant force of the inertia of Lopot 1 calculated from the target motion And the zero point excluding the vertical axis component) and the target total floor reaction force center point coincide, so the same thing can be said if the target ZMP trajectory is given instead of the target total floor reaction force center point trajectory.
  • the target ZMP trajectory is given instead of the target total floor reaction force center point trajectory.
  • 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 target gait in a narrow sense is a set of the target motion trajectory during one step, its ZMP trajectory, and the floor reaction force vertical component trajectory.
  • the target gait will be used in the narrow sense of the target gait unless otherwise specified.
  • the term “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 aerial period is the period during which both legs 2, 2 are off the floor (floating in the air).
  • the leg 2 on the side that does not support the own weight of the robot 1 during the one-leg support period is called a “free leg”, and the leg 2 on the side supporting the own weight is called the “support leg”.
  • the two-leg supporting period and the one-leg supporting period are alternately repeated, and in the running of lo-pot 1, the one-leg supporting period and the aerial period are alternately repeated.
  • both legs 2 and 2 do not support the own weight of the mouth port 1 during the aerial period of running, but the leg that was a free leg during the one leg support period immediately before the aerial period 2.
  • the legs 2 that were support legs are also referred to as a free leg and a support leg, respectively, even in the aerial period.
  • each part of the lopot 1 in the desired gait such as a desired body posture, a desired body position, a desired foot position and posture, and a desired arm posture
  • the support leg coordinate system is a coordinate system fixed to the floor having an origin near the ground contact surface of the foot 22 of the support leg. More specifically, the supporting leg coordinate system does not slide the foot 22 of the supporting leg between the ground surface and the horizontal position as described in the applicant's patent No. 3273443.
  • the horizontal axis toward the toe of the foot 22 of the support leg, with the vertical projection point from the center of the ankle joint of the support leg to the tread (the axis in the front-rear direction of the foot 22) ) Is the X axis, the vertical axis is the Z axis, and the coordinate axis orthogonal to these X and Z axes (the axis in the horizontal direction of the foot 22) is the Y axis.
  • the gait generator 200 receives a landing position / posture of the foot 22 of the free leg up to two steps ahead and a required value (a target value) of a landing time, and receives a target body position. Generates a desired gait consisting of a posture trajectory, a desired foot position / posture trajectory, a desired ZMP trajectory, a desired floor reaction force vertical component trajectory, and a desired arm posture trajectory. At this time, some of the parameters that define these trajectories (referred to as gait parameters) are modified so as to satisfy the gait continuity.
  • gait parameters One kinetic model is used.
  • Examples of the dynamic model include a simplified model described in PCT Publication WO / 02/40224 or a multi-mass model (full model) described in Japanese Patent Application Laid-Open No. 2002-326173 proposed by the present applicant. It is good to use such as.
  • the gait generator 200 is a target gait for one step from when one leg 2 of the mouth port 1 lands to when the other leg 2 lands (in the narrow sense described above).
  • the target gait for one step is generated in order with the target gait) as a unit,
  • the gait that is currently or about to be generated is called the “current gait”
  • the next gait is called the “next gait”
  • the next gait is called the “next next gait”.
  • the target gait generated just before the current gait is called the previous gait.
  • the desired foot position / posture trajectory uses a finite time settling filter disclosed in Japanese Patent No. 3233450 by the present applicant. Generated. In the process of generating the foot position / posture trajectory by the finite time setting file, for example, the foot position trajectory moves while gradually accelerating the foot 22 toward the target landing position (required value of the landing position). Is started, the speed is gradually reduced to 0 or almost 0 by the target landing time (required value of the landing time), and the target landing position is reached and stopped at the target landing time. The same applies to the foot posture trajectory. Since the ground speed at the moment of landing is 0 or almost 0 in the target foot position / posture trajectory generated in this way, especially when the robot 1 is running, the landing impact during the landing from the mid-air period is not affected. Can be smaller.
  • the desired floor reaction force vertical component trajectory and the desired ZMP trajectory (specifically, the support leg coordinate system)
  • the target ZMP trajectory in the X-axis direction (the front and rear direction of the supporting leg foot 22) is set in the pattern shown by the solid line in Fig. 8 (a) and Fig. 8 (b), respectively.
  • the first to third figures in Fig. 7 schematically show the movement states of the two legs 2, 2 of the mouth pot 1 at the start, middle, and end of the one-leg support period, respectively.
  • the fourth and fifth diagrams show the movement of the two legs 2 and 2 of the mouth pot 1 at the midpoint of the aerial phase and at the end of the aerial phase (at the beginning of the next one-leg support period), respectively. Is schematically shown.
  • the target floor reaction force vertical component trajectory is Specifically, during the one-leg support period,. Becomes an upwardly convex pattern, and is maintained at 0 during the aerial period.
  • the desired floor reaction force vertical component trajectory is set, for example, as shown by a two-dot chain line in FIG. 8 (a).
  • the upper convex part of the two-dot chain line corresponds to the two-leg supporting period
  • the lower convex part corresponds to the one-leg supporting period.
  • the target ZMP is basically set near the center of the contact surface of the leg 2 of the mouth pot 1 (more specifically, the so-called support polygon) regardless of whether the vehicle is running or walking. .
  • FIG. 9 is a flowchart (structured flowchart) showing the gait generation processing of the gait generator 200 and the self-position / posture estimation processing of the self-position / posture estimating section 214 shown in FIG. is there.
  • control cycle is At.
  • S 16 the self-position / posture estimation is performed by the self-position / posture estimating unit 2 14.
  • the processing in S 0 16 is a feature of the self-posture estimating device of the legged locomotion lopot according to the present application, but this description will be described later.
  • the gait switch previously It is determined whether or not the generation of the gait is completed. It is time to start generating a new current time gait.
  • the determination result is Y E S
  • the process proceeds to S 0 20
  • the determination result is NO, the process proceeds to S 0 32.
  • the processing after S 0 20 described below is described in detail in PCT Publication WO 02/40224 or PCT Application PCTZJP02 / 13596 previously proposed by the present applicant. In the detailed text, only a brief explanation is given.
  • time t is initialized to 0.
  • the gait support leg coordinate system specifically, the position # and direction
  • the next next step Load the gait support coordinate system (specifically, its position and orientation), the current gait cycle and the next gait cycle.
  • the next-time gait support leg coordinate system and the next-time gait support leg coordinate system are respectively the first leg play leg 2 2 (the current gait play) specified by operating the joystick 73, etc.
  • Required value of landing position / posture of leg foot 2 2) target landing position / posture
  • Required value of landing position / posture of swing leg foot 2 2 of the second step free leg foot 2 2 of next time gait
  • the target landing position / posture is determined according to the definition of the support leg coordinate system described above.
  • the gait cycle this time and the next time's gait cycle are respectively the required landing time (target landing time) of the first step of the free leg foot 22 and the landing time of the second step of the free leg foot 22. Determined according to the required time value (target landing time).
  • the above-described required values of the landing position / posture of the free leg foot 22 and the required values of the landing time, or the position and orientation of the supporting leg coordinate system and the gait cycle may be stored in advance as a walking schedule. Alternatively, it may be determined based on a command (request) from a control device such as the joystick 73 and the walking history up to that time.
  • the gait parameters of the normal turning gait leading to the gait this time are the next time's gait support leg coordinate system, the next time's gait support leg coordinate system determined in S 0 22, Determined based on the current gait cycle and the next gait cycle, etc. ⁇ Mainly, foot trajectory parameters that define the desired foot position / posture trajectory, reference body posture that specifies the reference trajectory of the desired body posture Trajectory parameters, arm posture trajectory parameters that specify the target arm posture trajectory, ZMP trajectory parameters that specify the target ZMP trajectory, floor reaction force vertical component trajectory parameter that specifies the desired floor reaction force vertical component trajectory Is determined.
  • the normal turning gait means a periodic gait such that when the gait is repeated, no discontinuity occurs in the motion state of the mouth port 1 at the boundary of the gait (hereinafter, “normal gait” may be abbreviated as "normal gait")
  • normal gait for one cycle of the normal gait consists of a first gait and a second gait.
  • the first turning gait corresponds to the gait when the support leg foot 22 corresponding to the support leg coordinate system of the current time gait is moved to the position and orientation corresponding to the next time gait support leg coordinate system.
  • the turning gait corresponds to the gait when the support leg foot 22 corresponding to the next time gait support leg coordinate system is moved to the position and orientation corresponding to the next next time support gait coordinate system.
  • the next / next gait support leg coordinate system corresponds to the target landing position / posture of the free leg foot 22 of the second turning gait.
  • the next-next gait support leg coordinate system is the position and orientation of the next-next gait support leg coordinate system viewed from the next-next gait support leg coordinate system (support leg coordinate system of the second turning gait).
  • Position and orientation is the position and orientation (position and orientation) of the next time's gait support leg coordinate system (landing position and posture of free leg foot 22 of this time's gait) as seen from the current time's gait support leg coordinate system.
  • turn is used for a normal turning gait because when the turning rate is zero, it means straight ahead, and straight turning can be included in turning in a broad sense. .
  • the normal turning gait is a virtual periodic gait tentatively created by the gait generator 200 to determine the divergent component at the end of the current gait and the body vertical position speed.
  • the gait generator 200 does not directly output the gait generator 200 for actually controlling the port 1.
  • divergence means that the position of the upper body is shifted to a position far away from the position of both feet (foot).
  • the value of the divergent component means that the upper body of the two-legged port is located at the position of both feet (foot) (strictly speaking, far away from the origin of the support leg coordinate system set on the support foot contact surface) It is a numerical value representing the condition, and is expressed as a function of the horizontal position of the upper body 3 and its speed.
  • a normal gait to be connected after the current gait to be generated is requested according to the movement request (required values such as the landing position / posture of the foot 22 of the free leg up to two steps ahead and the landing time).
  • the gait After setting and calculating the initial divergent component of the normal gait, the gait is generated this time so that the terminal divergent component of the current gait matches the initial divergent component of the normal gait.
  • SO 24 The details of SO 24 are described in the PCT publication WOZ02Z40224 or PCTZJP02 / 13596 proposed by the present applicant, and further description will be omitted.
  • S 0 26 After performing the processing from S 010 to S 0 24, proceed to S 0 26, where the initial state of the normal turning gait (initial body horizontal position speed component, initial body vertical position speed, initial Divergent component, initial body posture angle and angular velocity) are determined. Since the details of S026 are described in PCT publication WO / 02/40224 or PCTZ JP02Z13596, further description is omitted here.
  • the determined gait parameters of the current gait are mainly the foot trajectory parameters, the reference body posture trajectory parameters, and the arm posture trajectory parameters, similar to the gait parameters of the normal turning gait.
  • target ZMP trajectory parameters Overnight, target floor reaction force vertical component trajectory parameters. The trajectory specified by each parameter is determined so as to be continuous with the trajectory of a normal turning gait.
  • the target ZMP orbital parameters are provisional. The details of the processing of S028 are described in the above-mentioned PCT published publication WOZ02Z40224, PCT / JP02Z13596, and the like, and further description thereof will be omitted here.
  • the process proceeds to S030, in which the gait parameters of the current time gait are corrected so that the terminal divergent component of the current time gait matches the initial divergent component of the normal gait.
  • the corrected gait parameters are the target ZMP trajectory parameters.
  • the process proceeds to SO32 to determine the current time's gait instantaneous value. The details of this processing are described in the PCT publication WO / 02/40224, PCTZJP02Z13596, and the like, so that further description is omitted here.
  • the above is the target gait generation processing in the gait generator 200 and the self-position / posture estimation processing of the self-position / posture estimation unit 2 14.
  • the desired gait is generated as described above.
  • the desired body position / posture (trajectory) and the desired arm posture trajectory are sent directly to the mouth-pot geometric model (inverse kinematics calculation unit) 202.
  • 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 directly sent to the composite compliance operation determination unit 204, and is also sent to the target floor reaction force distributor 206.
  • the desired floor reaction force distributor 206 the desired total floor reaction force is distributed to the feet 22R and 22L, and the desired foot floor reaction force center point and the desired foot floor reaction force are determined. .
  • the determined desired foot floor reaction force center point and the desired foot floor reaction force are sent to the composite compliance operation determination unit 204.
  • a desired foot position / posture trajectory is generated and sent to the robot geometric model 202.
  • the mouth pot geometric model 202 1 Calculate joint displacement commands (values) for two joints (1 OR (L), etc.) and send them to the displacement controller 208.
  • the displacement controller 208 controls the displacement of the 12 joints of the robot 1 according to the joint displacement command (value) calculated by the robot geometric model 202 as a target value.
  • the floor reaction force generated at robot 1 (specifically, the actual floor reaction force of each foot) is detected by a 6-axis force sensor 50.
  • the detected value is sent to the composite compliance operation determining unit 204.
  • the inclination component of the difference between the estimated body posture determined as described later in S 0 16 of FIG. 9 and the target body posture generated by the gait generator 200 that is, the actual body posture
  • the angular deviations errx and erry erry are sent to the attitude stabilization control calculation unit 211.
  • 0 errx is a tilt component in the roll direction (around the X axis)
  • 0 erry is a tilt component in the pitch direction (around the Y axis).
  • This posture stabilization control calculation unit 2 1 2 compensates around the desired total floor reaction force center point (target ZMP) for restoring the inclination of the robot 1's body posture to the inclination of the body posture of the desired gait.
  • the total floor reaction force moment Mdmd is calculated, and the compensated total floor reaction force moment Mdmd is given to the composite compliance operation determination unit 204.
  • the composite compliance operation determination unit 204 corrects the desired foot position / posture based on the input values. Specifically, in the composite compliance operation determination unit 204, the actual total floor reaction force (the resultant force of all the actual foot floor reaction forces, including both the translational force and the moment) is calculated as the target of each foot floor reaction force.
  • the target foot position / posture given by the gait generator 200 is corrected so that it matches the resultant force of the desired total floor reaction force, which is the resultant force, and the compensation total floor reaction force moment Mdmd.
  • Corrected target foot position Determine the momentum (orbit).
  • weights are given to the control deviation for each target of the foot position / posture and floor reaction force, and control is performed so that the weighted average of the control deviation (or the square of the control deviation) is minimized.
  • the corrected target foot position / posture (trajectory) with the mechanism deformation compensation is the foot deformation mechanism (the trajectory necessary to generate the target value of the floor reaction force corrected by the composite compliance operation determination unit 204).
  • Deformation of cylindrical rubber, sole sponge, and shock-absorbing bag-shaped air damper is calculated using the mechanical model of the deformation mechanism (spring damper model, etc.) and corrected to generate the deformation. This is the desired foot position and orientation (trajectory).
  • FIG. 10 is a flowchart thereof.
  • the detected value of the gyro sensor provided in the tilt sensor 54 of the body 3, that is, the detected value of the angular velocity of the body 3 (angular velocity in three axial directions) is integrated.
  • the estimated body posture (hereinafter sometimes referred to as the inertial navigation estimated body posture). This estimated body posture is described in the global coordinate system.
  • the estimated body position which is the estimated value of the body position obtained by the processing of S2202 to S2214 described later, is used. Drift correction is also performed to correct the drift due to accumulation of the integration error of the detection value of the gyro sensor using. The details will be described later.
  • the process proceeds to S 2 202, and the estimated body posture viewed from the global coordinate system during the control cycle (between the previous control cycle and the current control cycle) (estimated body posture obtained by S 2 200)
  • the difference between the amount of change in body posture and the amount of change in the body posture of the target gait viewed from the global coordinate system during the control cycle is determined by the posture rotation bias. It is calculated as a difference change amount.
  • the difference between the estimated body posture change speed viewed from the global coordinate system and the target body posture change speed is calculated as the posture rotation deviation change amount.
  • the gait body posture viewed from the global coordinate system is the current estimated supporting leg coordinate system (more specifically, the estimated supporting leg coordinate system determined in the previous control cycle).
  • the upper body viewed from the global coordinate system assuming that the mouth port 1 moves in the desired gait without the posture inclination or spin (deviation from the desired body posture) of the upper body 3 It is a posture.
  • the estimated supporting leg coordinate system is a supporting leg coordinate system corresponding to the estimated position and orientation of the actual supporting leg foot 22 of the robot 1.
  • the estimated supporting leg coordinate system is, more specifically, the distance between the actual supporting leg foot 22 of the lopot 1 and the ground contact surface based on the estimated position and orientation by the definition of the supporting leg coordinate system described above.
  • the origin is the vertical projection point from the center of the ankle of the support leg to the tread surface when the support leg is rotated to the horizontal without slipping, and the horizontal axis toward the toe of the foot 22 of the support leg is taken as the X axis,
  • This is a coordinate system in which the axis is the Z axis and the coordinate axis orthogonal to these is the Y axis.
  • the flow proceeds to S2204, and the attitude rotation center is determined.
  • the target ZMP at that moment current value of the target ZMP
  • the attitude rotation center In the aerial period of the running of the mouth port 1, for example, the center of gravity of the mouth port 1 in the target gait is determined as the posture rotation center.
  • the process proceeds to S 220, where the current estimated support leg coordinate system (the estimated support leg coordinate system determined in the previous control cycle, the estimated support leg coordinate system at time t_ ⁇ t shown in FIG. 11) is changed.
  • the position and posture rotated around the posture rotation center by the posture rotation deviation change amount are determined again as the current estimated support leg coordinate system (estimated support leg coordinate system at time t shown in FIG. 11).
  • the center of rotation of the estimated supporting leg coordinate system means the center of rotation of the sliding rotation of the supporting leg foot 22 in normal walking without an aerial period.
  • the posture rotation in the air or (Spin) is desirably expressed by rotation about the center of rotation of the estimated supporting leg coordinate system.
  • "slip of the supporting leg foot” may be defined as a posture rotation about the rotation center of the estimated supporting leg coordinate system.
  • the support leg coordinate system is set with respect to the contact surface of the support leg foot 22, and the origin is not the vertical projection point from the center of the ankle of the support leg to the contact surface as described above. Is also good. That is, the support leg coordinate system is a local coordinate system set on a virtual floor near the support leg foot 22 for describing the motion of the robot 1.
  • the posture rotation (or spin) phenomenon of the mouth pot 1 means that the mouth port 1 is moving on the virtual floor without relatively rotating its posture (or spinning).
  • Each mouth point 1 is considered to be a phenomenon in which the virtual floor is rotated (or spinned) in attitude with a predetermined point in the global coordinate system as a center of rotation.
  • the movement of the mouth pot 1 is based on the local coordinate system and the global coordinate system with respect to the global coordinate system. It can be considered that the rotation is a perturbation about a certain point (center of rotation of posture).
  • the posture rotation center is the rotation center of the estimated supporting leg coordinate system, Also, it can be said that it is the rotation center of the perturbation rotation.
  • the orientation of the Z axis of the current estimated supporting leg coordinate system after the posture rotation in S2206 generally does not point in the vertical direction. Therefore, after the posture rotation, the Z axis of the current estimated support leg coordinate system is returned to the vertical direction (the next time the gait estimation support leg coordinate system is moved around its origin by the inclination angle of the Z axis with respect to the vertical direction). (Rotated).
  • the estimated supporting leg coordinate system may be rotated by a component (spin component) around the vertical axis in the posture rotation deviation change amount.
  • the process proceeds to S2210, and as shown in FIG. 12, the next gait estimation support for the current estimated support leg coordinate system (estimated support leg coordinate system after posture rotation in S2206) is performed.
  • Next-time gait estimation and support are performed so that the relative position and orientation relationship of the leg coordinate system is the same as the relative position and orientation relationship of the next-time gait support leg coordinate system with respect to the support leg coordinate system in the target gait (previous gait). Determine the leg coordinate system.
  • next gait support leg coordinate system referred to here is not the next gait support leg coordinate system for the current gait to be generated, but the gait next to the previous gait (that is, the current gait).
  • Support leg coordinate system since the supporting leg coordinate system of the target gait is a coordinate system in which the Z-axis points in the vertical direction, the following gait satisfies the above relative position / posture relationship with the current estimated supporting leg coordinate system after the posture rotation.
  • the Z axis of the estimated supporting leg coordinate system is generally not oriented vertically.
  • the Z-axis of the next time's gait estimation support leg coordinate system that satisfies the above-described relative position / posture relationship with respect to the current estimated support leg coordinate system after the posture rotation is returned to the vertical direction.
  • the coordinate system for estimating the supporting leg is determined.
  • the Z axis of the estimated support leg coordinates is oriented vertically in S2206 as described above, the Z axis of the next time's gait estimation support leg coordinate system is set in S2210. It is not necessary to return to the vertical direction.
  • the process proceeds to S2212, and the position and orientation of the coordinate system of the next time's gait estimation support leg determined in S2210 is substituted into the position and orientation of the current estimated support leg coordinate system. I do. In other words, the current position and orientation of the estimated support leg coordinate system are replaced with the position and orientation of the next time gait estimation support leg coordinate system.
  • the process proceeds to S2216, in which the inertial navigation estimated body position and orientation are obtained by inertial navigation based on the acceleration sensor and the gyro sensor provided in the tilt sensor 54, and the geometric estimated body position is obtained. Correct the inertial navigation body position so that the difference between the and the estimated inertial navigation body position converges to zero. The details of this processing will be described later.
  • the target gait was used to determine the next time's gait estimation support leg coordinate system.However, when walking on mouth port 1, the next step is performed as follows. You may make it determine the volume estimation support leg coordinate system.
  • the actual swing leg foot position at the time of landing in the current estimated supporting leg coordinate system is calculated by kinematics calculation based on the joint displacement detection value of the current (landing moment) of the mouth port 1 (Fig. 1).
  • the foot on the front side of mouth pot 1 2 position and orientation the estimated actual free leg foot position / posture at the time of landing is referred to as an estimated landing free leg foot position / posture.
  • the robot 1 maintains the upper body posture according to the target gait on the current estimated support leg coordinate system, and moves the support leg with respect to the virtual floor on the current estimated support leg coordinate system. It is assumed that the foot 22 does not slip and moves according to the detected joint displacement value.
  • the mouth pot 1 maintains the body posture according to the desired gait on the currently estimated supporting leg coordinate system rotated around the posture rotation center by the posture rotation deviation change amount.
  • the body posture in the assumed figure matches the estimated body posture in the global coordinate system. Therefore, when the currently estimated supporting leg coordinate system is rotated by the component around the vertical axis (spin component) of the change amount of the posture rotation deviation instead of by the posture rotation by the difference, the mouth port 1 becomes the current rotation.
  • the body inclination matches the inclination component of the posture rotation deviation change amount, and the current estimated supporting leg coordinate system It is assumed that the foot 22 of the supporting leg does not slide on the virtual floor of the object and moves according to the detected value of the joint displacement.
  • the deformation mechanism of the foot 22 (see FIGS. 3 and 4)
  • the amount of deformation of the elastic member 106, the ground contact member (foot sole elastic body) 71, and the bag-like member 109 shown in Fig. 4 is obtained using the mechanical model of the deformation mechanism (spring damper model, etc.). Including (taking into account) the amount, the estimated free landing foot position / posture at landing may be obtained. More specifically, as in the case of robot 1 shown in Fig. 12, the body posture is the target body posture in the current estimated supporting leg coordinate system, and the joint displacement is the detected joint displacement value (j-th joint).
  • the free leg foot for the supporting leg (the leg 2 behind the robot 1 in Fig. 12) in this overall shape
  • the position and orientation may be obtained, and this may be used as the estimated landing position of the swing leg when landing.
  • a load acting on the speed reducer or the link is estimated using a disturbance observer based on the current command or the detected value, and the deformation of the speed reducer or the link is estimated based on the estimated load. It is also possible to obtain the estimated free leg foot position at landing, including (considering) the reduction gear and deformation of the link.
  • the landing posture of the free leg at the time of landing may be obtained.
  • the same method as the above-described method of obtaining the estimated free leg foot position / posture at the time of landing is used in the process of S2214.
  • the body position with respect to the supporting leg coordinate system is obtained by kinematic calculation based on the joint displacement detection value of each joint in (g), and the positional relationship between the estimated body position and the current estimated supporting leg coordinate system is
  • the estimated body position may be determined so as to match. In this case, the relationship between the estimated body position, the estimated supporting leg coordinate system, and the detected joint displacement value is as shown in FIG.
  • the estimated body position can be determined with higher accuracy.
  • the estimated body position determined as described above in S2214 is referred to as a geometrically estimated body position.
  • the geometric estimated body position 2 calculateate the geometrically estimated body acceleration, which is the second derivative. This process is performed in block 301 of FIG.
  • the processing for obtaining the geometrically estimated body position shall be executed in block 300 in FIG. Supplementally, if the body representative point and the position of the acceleration sensor match, the geometrically estimated body acceleration (strictly speaking, the acceleration of the acceleration sensor position in body 3 that is geometrically estimated) is calculated. Estimated body posture is not required for calculation.
  • the acceleration sensor detection value (total body acceleration detection value) is converted into a global coordinate system using the estimated body posture to obtain an acceleration sensor detection value global coordinate system converted value.
  • This processing is executed in block 302 of FIG.
  • the position of the acceleration sensor matches the position of the body representative point.
  • the kinematics calculation converts the acceleration sensor detection value and the gyro mouth sensor detection value into the acceleration and angular velocity at the upper body representative point, or converts the acceleration and angular velocity at the upper body representative point into the acceleration sensor position. What is necessary is just to convert into the acceleration degree and the angular velocity at the position of the jar sensor.
  • the geometric estimation body acceleration is subtracted from the acceleration sensor detected value global coordinate system converted value. (Subtract the vector) to obtain the estimated gravitational acceleration.
  • the acceleration sensor detection value global coordinate system conversion value includes the acceleration component due to gravity acting on the acceleration sensor, but the geometrically estimated body acceleration does not include the acceleration component due to gravity. Accordingly, the estimated gravity acceleration can be obtained by subtracting the geometrically estimated body acceleration from the acceleration sensor detected value global coordinate system converted value.
  • (b) shows the case where there is an error in the estimated body posture (hereinafter, this is called the estimated body posture error or the estimated body posture error angle).
  • the geometrically estimated body acceleration is described in the global coordinate system.
  • the actual mouth port 1 exercises to follow the target gait on the assumption that the estimated body posture correctly estimates the actual body posture.
  • the robot moves to follow the target gait on the estimated global coordinate system.
  • the global coordinate system estimated based on the estimated body position and posture is believed to be correct, and the actual movement of the mouth port 1 is determined.
  • the mouth port 1 exercising in accordance with the desired gait on the estimated supporting leg coordinate system, which is the local coordinate system set in the global coordinate system that is believed to be correct, is obtained by the posture detection means at each moment.
  • the amount of change in posture rotation deviation as the difference between the change speed of the body posture (detected or estimated) and the change speed of the body posture of the target gait. Around the center of rotation of the posture, together with the estimated supporting leg coordinate system It is considered to have been done.
  • Estimated body posture error angle angle between assumed gravity acceleration and estimated gravity acceleration
  • Equation 4 2 the difference between the estimated gravitational acceleration and the assumed gravitational acceleration is called a gravitational acceleration estimation error. If there is no error in the detected value of the acceleration sensor, the error is caused by the error of the estimated body posture, and the horizontal component of the gravitational acceleration estimation error as viewed from the global coordinate system estimated by Lopot 1 based on the estimated body posture. It can be seen that there is a relationship of (Equation 43) between (the component of the estimated gravity acceleration orthogonal to the assumed gravity acceleration) and the estimated body posture error angle. Equation 43 shows the relationship between the longitudinal component (X component) of the gravitational acceleration estimation error and the estimated body posture error angle around the Y axis.
  • the estimated body posture is corrected so that the estimated body posture error converges to 0 using the estimated body posture error angle calculated from Equation 42 or Equation 43. I did it.
  • the angle between the assumed gravitational acceleration and the estimated gravitational acceleration at the current moment is obtained. From the estimated body posture error angle.
  • the estimated body posture error angle may be calculated from the horizontal component of the gravity acceleration estimation error at the current moment (strictly, one moment before the control cycle). The process of calculating the estimated body posture error angle is executed in block 304 of FIG.
  • the estimated body posture error angle is converted to a sensor coordinate system (a coordinate system in which the coordinate axes are aligned with the detection axis of the gyro sensor) in block 3505 in FIG.
  • the estimated gyro sensor drift (estimated gyro sensor drift value) is obtained by integrating the value obtained by multiplying the converted value by the integral gain Ka.
  • the estimated gyro sensor drift is subtracted from the gyro mouth sensor detection value o in (body angular velocity detection value) in block 307 to obtain the drift-corrected angular velocity.
  • the drift of the boat is also appropriately subtracted, which will be described later.
  • the angular velocity corrected for this drift is converted to a global coordinate system using the estimated body posture in block 308, thereby obtaining a global body angular velocity o gl.
  • a new estimated body posture 0 estm is obtained by integrating the value multiplied by 3 09 from the global upper body angular velocity with the block 3 1 0 (integrator).
  • the estimated body posture 0 estm and angular velocity are expressed by a quaternion, a rotation matrix, or an Euler angle.
  • the converted values (vectors) of the estimated body posture error angle into the sensor coordinate system must be set.
  • the estimated body posture error angle around each sensor detection axis, in other words, the estimated body posture error angle of the sensor mouth is affected only by the drift of the gyro sensor corresponding to that element.
  • a prerequisite is that the gyro sensor is not affected or hardly affected by the drift.
  • the error of the estimated body posture error angle around the X (Y) axis is affected by the drift of the X (Y) axis gyro sensor, but the drift of the Y (X) axis gyro sensor is Prerequisite is not affected.
  • the estimated body posture error angle component around the X-axis occurs due to the influence of the drift of the X-axis gyro sensor, and the body is suddenly rotated 90 degrees around the Z-axis of the sensor coordinate system, Since the estimated body posture error angle remains accumulated in the global coordinate system, the component of the estimated body posture error angle around the sensor local X axis is eventually the component of the estimated body posture error angle around the sensor local Y axis. Move on to Therefore, in order to satisfy the above prerequisite, it is a necessary condition that the absolute value of the rotation speed around the Z axis of the sensor coordinate system is sufficiently small.
  • the absolute value of the gyro sensor detection value for the Z-axis When is large, it is desirable to reduce the integral gain Ka or to make it 0 (that is, do not perform drift correction of the gyro sensor).
  • the vertical axis (trunk axis) of the body 3 is in a vertical posture or a posture close to the vertical posture, so that the angular velocity detection value of the gyro sensor is global coordinate.
  • the global body angle velocity o glz converted to the system is close to the value of the angular velocity detection value of the Z-axis gyro sensor.
  • the integral gain Ka is reduced.
  • it may be set to 0 (that is, the drift correction of the gyro sensor is not performed).
  • the integral gain Ka is It may be reduced or set to 0 (that is, gyro sensor drift correction is not performed).
  • the absolute value of the component around the vertical axis of the body rotation speed or the component around the vertical axis of the body 3 determined based on at least one of the angular velocity detection value of the gyro sensor and the target gait
  • the actual robot 1 follows the target gait on the estimated global coordinate system after assuming that the global coordinate system estimated based on the estimated body position and orientation is correct. Exercise. Therefore, in a state where the supporting legs are in contact with the ground, even if there is a large error in the estimated body posture, the actual body acceleration is not governed by the actual gravitational acceleration, and the estimated It almost matches the geometrically estimated body acceleration on the bal coordinate system. On the other hand, in the mid-air period, the actual body acceleration is dominated by the actual gravity acceleration and accelerates, so that the direction of the geometrically estimated body acceleration on the estimated global coordinate system greatly deviates, The relationship shown in Fig. 14 (b) no longer holds.
  • the accuracy of the geometrically estimated body position tends to be lower than the accuracy of the body position obtained by inertial navigation based on the relatively high-accuracy acceleration sensor and gyro mouth sensor. Therefore, it is better to set the gain Ka to a small value or to 0 even in the aerial period.
  • the gain Ka is preferably set to a small value or set to zero.
  • the state in which the foot 22 of the leg 2 is in good contact with the floor is, specifically, a state in which at least one of the following conditions is satisfied, or a plurality of the following conditions: Refers to the state of being satisfied at the same time.
  • Target Z MP (or actual floor reaction force center point) is at or near the center of foot 22
  • the above state may be determined based on, for example, the time (phase) of the desired gait, the desired ZMP, and the detected value of the floor reaction force.
  • the above state may be determined based on the detection values of the distributed pressure sensor and the contact sensor.
  • the component around the vertical axis of the body rotation speed or the component around the vertical axis of the body 3 obtained based on at least one of the angular velocity detection value of the gyro sensor and the target gait
  • the absolute value of the acceleration sensor detection value is large, the absolute value of the value obtained by subtracting the assumed gravitational acceleration from the global coordinate system converted value, or the absolute value of the geometrically estimated body acceleration is large, airborne
  • the gain Ka is preferably set to a small value or set to zero.
  • the integral gain Ka may be determined according to the instantaneous value of these states or the long-term tendency.
  • the integral gain Kb is set similarly to the gain Ka. 03 05449
  • a rate correction (a drift correction in the one direction) is also performed depending on the situation as described below.
  • This correction process is a process relating to the features of the present invention.
  • At least one or more of the following conditions are prepared as judgment conditions, and when these judgment conditions are satisfied, it is judged that the Yorre correction is to be performed.
  • the yaw rate correction is performed in a situation where slippage (rotational slip) does not occur or hardly occurs on the contact surface between the support leg foot 22 and the floor.
  • the gyro detection values in d) and f) are values obtained by correcting the gyro sensor detection value itself (the attitude angular velocity detection value represented by the raw output of the gyro sensor itself).
  • the floor reaction force detection value obtained by the 6-axis force sensor 50 (floor reaction force sensor) is determined as shown in FIG. PC sure 3/05449
  • deformation mechanism of foot 22 (elastic member 106 shown in FIGS. 3 and 4 above, grounding member (foot sole elastic body) 71, bag-like member 1 0 9 etc.) is obtained using the mechanical model of the deformation mechanism (spring damper model etc.). Then, in block 312, based on the obtained deformation amount (mechanism deformation amount) and the desired gait (target movement), the estimation stored at the latest landing (the moment of landing) of the mouth port 1 is estimated. Upper body assuming that there is no slippage between the foot 22 and the floor corresponding to the supporting leg coordinate system (estimated supporting leg coordinate system determined in the latest S2122 in Fig. 10) Posture (hereinafter referred to as the estimated non-slip body posture) is calculated.
  • the current estimated non-slip body posture is calculated based on the desired gait (target movement), taking into account the amount of mechanism deformation.
  • the estimated body posture without slip may be obtained by using the detected displacement value or the desired displacement value of the joint of the robot 1.
  • a load acting on the speed reducer or the link is estimated using a disturbance observer based on the motor current command or the detected value, and the deformation of the speed reducer / link is estimated based on the estimated load, and the speed reduction is performed.
  • the estimated body posture without slippage may be obtained including (considering) the deformation of the mechanical link.
  • an estimated slip-free body posture is calculated by kinematics calculation based on at least the joint displacement of the target gait and the amount of compliance compensation (see Japanese Patent Application Laid-Open No. Hei 10-277969 previously proposed by the present applicant). It is good. With these, the estimated body posture without slippage can be obtained with higher accuracy.
  • the estimated body posture without slip which is a subtle value of the estimated body posture without slip, is used.
  • the input of the block (integrator) 310 for outputting the estimated body posture that is, the difference between the body posture angular velocity output from the block 3 08 and the above-mentioned estimated body posture angular velocity without slip is calculated.
  • the detection direction component of the auto rate sensor (gyro sensor for auto detection) (hereinafter referred to as the auto rate sensor detection direction angular velocity deviation component) of this difference is extracted in block 3 15. I do.
  • the estimated body posture (the value obtained in the previous control cycle) is used to extract the angular velocity deviation component detected by the mobile sensor.
  • the body posture of the desired gait may be used. If the body posture is vertical or nearly vertical, the value of the vertical component of the difference (the output of the block 314) may be used as the angular velocity deviation component detected by the yorate sensor.
  • the auto-rate drift is obtained (estimated).
  • the feedback control law of the block 318 for example, a PI control law is used, and a value obtained by multiplying the angular velocity difference component (output of the block 315) by the gain sensor Kf with the gain Kf is obtained.
  • the output drift is obtained. Then, the obtained rate drift is subtracted from the angular velocity sensor detected value coin in block 307.
  • the input to block 318 of the feedback control law is cut off (switch 317 in Fig. 13 is disconnected from the output side of block 315). (Closes to the “0” input side.), Keeps the previous drift rate value, and subtracts that value from the angular velocity sensor detection value ⁇ in.
  • a difference between the acceleration sensor detection value global coordinate system converted value, which is the output of the block 302, and the assumed gravity acceleration G is obtained in a block 321. Then, a value obtained by subtracting the above-mentioned sum (output of block 320) from the difference (output of block 3221) is second-order integrated by a block 3222, thereby obtaining a new inertial navigation estimation. Determine body position Xinertestm.
  • the gains Kc and Kd should be small or set to 0 in situations where errors in the geometrically estimated body position are likely to occur due to large errors.
  • the gains Kc and Kd are preferably set small or set to zero.
  • the gains Kc and Kd are preferably increased.
  • the correction gains Ka, Kb, Kc, and Kd are high during the sole contacting period, as shown in the graph of the correction gain K shown in Fig. 8 (c). Should be set to 0 or approximately 0.
  • the graph of the correction gain K in Fig. 8 (c) shows the tendency of the change in the magnitudes of Ka, Kb, Kc, and Kd, but does not represent an exact value.
  • the standardization is performed so that the maximum value of the correction gain K is 1. Have been. Therefore, K may be considered to mean the aperture (attenuator) of the correction gains Ka, Kb, Kc, and Kd.
  • the estimated body posture is corrected on the basis of the estimated body posture error calculated using Equation 42 or Equation 43, but Equations 4 2 and Equation 43 are not used.
  • the estimated body posture may be directly corrected based on the horizontal component of the gravitational acceleration estimation error. That is, the following equation 44 may be used instead of equation 43.
  • Horizontal component of gravity acceleration estimation error One estimated body posture error angle * Gravitational acceleration
  • Equation 4 4 To supplement the setting of the gain Ka, in the aerial period, no matter what the error of the estimated upper body posture is, if viewed from a coordinate system that performs a parabolic motion together with the robot 1, 1 The whole is the same as in the zero-gravity state, and the output of the acceleration sensor is not affected by the estimated body posture error. Therefore, the detection accuracy of the acceleration sensor is high, the followability of the actual mouth port 1 to the target gait is high, the rigidity of the mouth port 1 is high, and the lopot dynamics used to generate the target gait is used. If the condition that the model parameters almost match the actual mouth pot 1 (hereafter referred to as condition A) is satisfied, the estimated gravitational acceleration and the assumed gravitational acceleration always almost match.
  • condition A the condition that the model parameters almost match the actual mouth pot 1
  • the estimated gravitational acceleration and the assumed gravitational acceleration deviate from the true value by the same amount according to the error in the estimated body posture, and as a result, the estimated gravitational acceleration and the assumed gravitational acceleration always almost coincide. Therefore, in the mid-air period, the direction of gravity cannot be estimated.
  • the estimated gravity acceleration and the assumed gravity acceleration always almost match, The estimated body posture error at the moment is almost 0, and even if the above-mentioned gain Ka is not set small, the correction amount obtained by multiplying the estimated body posture error by the gain Ka is also almost 0, and the estimated body posture error The risk of having a significant adverse effect is low.
  • the value of the correction gain Ka, Kb, Kc or Kd may be determined by using the stationary Kalman filter or the non-stationary Kalman filter method.
  • the properties of the system noise (disturbance) and the observation noise do not sufficiently satisfy the preconditions of the Kalman-fil, and therefore, are not sufficient. This does not necessarily produce the effect.
  • the center of rotation of the posture determined in the above embodiment will be supplemented below.
  • a so-called support polygon minimum convex polygon including the ground contact surface, ZMP possible range or existence of total floor reaction force center point
  • the value of 47 cannot be controlled to an arbitrary value while maintaining a constant value. In other words, it is the same as slipping on ice and not walking well. Therefore, when the robot 1 is moving stably while controlling the floor reaction force, in a certain region between the floor of the foot 22 and the floor, static friction acts without slipping. I think it is. In other words, it is thought that there is a rotation center of the posture in the supporting polygon. Supplementally, if the foot 22 of the mouth pot 1 is a completely rigid body, all contact points except the center of rotation of the posture will slip, but the actual bottom of the foot 22 will be made of rubber or other elastic material. It is considered that no slip occurs near the center of rotation.
  • the mouth pot In the mid-air period, the mouth pot is considered to perturb around the center of gravity.
  • the rotation center of the posture is It is considered that it exists between the supporting polygon and the position of the overall center of gravity (or the position of the upper body representative point).
  • the posture rotation center determined in S2204 of FIG. 10 is more generally desirably one of the following (at the current time t)
  • the rotation center of the posture should be set in the supporting polygon. Specifically, it is sufficient to set the above a) and b). Alternatively, the predetermined point in c) above may be set so that the rotation center of the posture is included in the supporting polygon. For example, it may be set to the origin of the supporting leg coordinate system (usually below the ankle joint).
  • the rotation center of the posture is preferably set as in d) above, but since the position of the center of gravity of all exists near the position of the upper body representative point, it may be set as in e) above. .
  • the acceleration sensor and / or the gyro sensor may be mounted (built-in) on a portion other than the upper body 3, for example, on the head 4. If there is a neck joint between the head 4 and the upper body 3, the detected values of the acceleration sensor and / or the gyro sensor are determined based on the displacement command (target displacement) or the detected displacement value of the neck joint. As long as the acceleration is converted into the acceleration and the angular acceleration of the body representative point by the calculation, the rest can be estimated by the self-position in the same manner as in the above embodiments.
  • joint displacement is defined as the joint displacement of the target gait or the detected joint displacement value.
  • weighted averages may be used.
  • the weight at this time may have a frequency characteristic.
  • the estimated position and orientation such as the estimated supporting leg coordinate system and the estimated body position and orientation
  • the global coordinate system instead of using the global coordinate system as a reference as in the previous embodiment, it is expressed by a perturbation from the target position and orientation. You may.
  • the estimated body posture error angle in the global coordinate system is obtained based on the estimated gravity acceleration in the global coordinate system, and the estimated body posture error in the global coordinate system is obtained.
  • the estimated body posture is obtained by additionally inputting the value obtained by multiplying the posture error angle by the gain Kb to an integrator (block 3110 in Fig. 13) that integrates the global body angular velocity c gl. Had been corrected. That is, the estimated body posture is corrected in the global coordinate system, but may be corrected in the local coordinate system of the gyro sensor (the coordinate system fixed to the body 3) instead. Specifically, in Fig.
  • the block 309 of the gain Kb and the adder (block 308) that subtracts its output from the global body angular velocity c gl are deleted, and the integrator KaZ S ( Block 3 06) may be changed to Ka / S + Kb, that is, a block of the PI control law.
  • the acceleration sensor detected value is calculated from the global coordinate system converted value.
  • the estimated gravitational acceleration may be obtained by reducing the body acceleration of the gait.
  • the mouth port that is trying to exercise according to the target gait has a posture rotation around the posture rotation center.
  • the posture inclination in the posture rotation is 0 on average even if it vibrates back and forth and left and right.
  • the spin in the posture rotation is close to 0 on average because the spin direction is switched in reverse for each step. Therefore, excluding the centrifugal force and other forces acting in almost the same direction regardless of the rotation direction of the posture rotation, the positive and negative effects of the posture rotation offset the positive and negative effects, and the long-term Is almost zero.
  • “long term” refers to a time longer than the settling time for correcting the estimated body posture.
  • the estimated body position (inertial navigation estimated body position) and the estimated body posture are obtained by inertial navigation. Inertial navigation using geometric estimated body position is performed. Since the estimated body position and body posture are corrected, the self-position and posture of the mouth port 1 and the landing position and orientation (the position and orientation of the estimated supporting leg coordinate system) must be accurately estimated. Can be. In particular, in situations where it is judged that there is no slippage between the foot 22 and the floor, such as when the mouth pot 1 is stopped, the robot 1 is corrected by performing the auto correction. Can accurately estimate the self-posture (body posture) of the subject. Industrial applicability
  • the present invention is useful as a technique for accurately estimating the posture of a predetermined portion such as the upper body of a legged moving port such as a bipedal moving robot.

Description

明 細 書 脚式移動ロポッ トの自己姿勢推定装置 技術分野
本発明は、 脚式移動ロポッ トの自己姿勢を推定する装置に関する。 背景技術
一般的に、 2足移動ロボッ ト等の脚式移動口ポッ トには、 上体に傾斜 計が搭載されており、 傾斜計の出力 (上体の鉛直方向に対する傾斜角) を目標歩容の上体の傾斜角に収束させるようにロボッ トの姿勢制御が行 われる。
傾斜計は、 上体の角速度を検知するためのジャイロセンサと、 鉛直方 向 (すなわち重力方向) を検知するための加速度センサ (または振り子 等の鉛直指示器) とから構成される。 傾斜計では、 基本的にジャイロセ ンサが検知した角速度を積分することによって上体の傾斜角を推定する が、 そのままでは積分誤差が蓄積する (所謂ドリフトが発生する) ので 加速度センサの検出値を用いて、 積分によって得られた推定傾斜角を補 正していた。 具体的には、 加速度センサによって検出される加速度方向 に対する傾斜角と、 ジャィ口センサの検出値を積分器に通して得られた 傾斜角との差を求め、 その差に応じた補正量 (差にある所定のゲインを 乗じた値と差を積分してある所定のゲインを乗じた値の和) を前記積分 器に追加的に入力することにより、 傾斜角を補正していた。
しかし、 この方式では、 口ポッ トの鉛直軸回り (ョ一方向) のジャィ 口センサのドリフトを補償することはできないので、 ロポッ トの鉛直軸 回りの向きを精度よく推定することは困難であった。 また、 口ポッ トの 走行などのように上体姿勢が激しく加速ないしは減速する場合には、 上 体の傾斜角や向きの推定誤差が拡大しやすい。
なお、 以降、 上体などのようなある代表的な部位の傾きと向きを総称 して 「姿勢」 と呼ぶ。 「傾き」 は、 鉛直方向となす角度である。 「向き」 は、 代表的な部位の前方向を示すベク トルを水平面に投影したベク トル の向きである。
一般的に代表的な部位とは、 ジャィ口センサと加速度センサとから構 成される傾斜計が搭載されている部位であるが、 他の部位であつても、 その部位と傾斜計が搭載されている部位との間の各関節にエンコーダの ような関節変位検出器や変位制御ァクチユエ一夕があれば、 その部位の 傾斜を算出することができるので、 その部位を代表的な部位としても構 わない。 例えば、 関節を持つ首で連結された頭部にジャイロセンサおよ びまたは加速度センサを備える場合でも、 代表部位を上体としても良い, なお、 後述する実施形態においては、 上体を代表的部位としている。
また一般的には全関節変位の組も姿勢と呼ばれるが、 特に断りがない 限り、 本実施例においては、 「姿勢」 をこの意味では用いない。
一方、 脚式移動口ポッ トでは、 移動中に脚体を振ることによる反力に よって、 足平 (脚体先端部) と床との間の摩擦力が限界となって、 足平 と床の間で回転滑り (スピン) が生じ、 口ポッ ト全体が鉛直軸まわりに 姿勢回転して、 目標歩容の向きからずれることがある。
補足すると、 上体が常に鉛直 (直立) を維持して、 直線歩行する目標 歩容だけが生成されるとは限らない。 目標歩容においても、 口ポッ ト全 体または上体は旋回したり、 前後左右に傾いたりする。 すなわち、 目標 歩容においても、 全体の姿勢回転 (または上体等の代表部位の姿勢回 転) が存在する。 そこで、 本明細書では、 目標歩容における姿勢回転を 目標姿勢回転と呼ぶ。 本明細書で主に問題とする現象は、 実際のロポッ トの全体の姿勢回転 (または上体等の代表部位の姿勢回転) が、 前記目 標姿勢回転からずれることである。 この現象を、 厳密に表現するならば, 「目標姿勢回転からの摂動」 あるいは 「姿勢回転摂動」 と呼ぶべきであ るが、 目標姿勢回転と混同する恐れがない場合には、 以降、 これを 「姿 勢回転」 と省略する。
なお、 以降、 特に、 口ポッ ト全体が鉛直軸まわりに姿勢回転して、 目 標歩容の向きからずれる現象をスピンと呼ぶ。
上記の如く発生するロポッ トの姿勢回転によって、 口ポッ トの向きが 目標歩容の向きからずれてしまうと、 口ポッ トの移動経路は、 目標とす る移動経路からもずれてしまう。 そして、 このような場合には、 ロポッ 卜の移動経路を目標経路に誘導してやる必要があり、 そのためには、 口 ポッ 卜の上体等の代表部位の姿勢、 特に向きを精度よく推定することが 必要となる。 しかし、 前述したように、 従来のロボッ トの上体姿勢の推 定技術では、 前記ドリフ トの影響で、 特にョー方向の口ポッ トの姿勢を 精度よく推定することができないものとなっていた。
本発明は以上説明した背景に鑑みてなされたものであり、 脚式移動口 ボッ トの自己姿勢、 特にョ一方向の姿勢を精度良く推定することができ る自己姿勢推定装置を提供することを目的とする。 発明の開示
本発明の脚式移動ロボッ トの自己姿勢推定装置の第 1発明は、 前記の 目的を達成するために、 決定された目標歩容に追従するように制御され る脚式移動ロポッ 卜において、 前記ロポッ トの所定の部位の姿勢角速度 を検出する姿勢角速度検出手段と、 少なくとも前記目標歩容の目標運動 と前記ロボッ トの関節の変位検出値と該関節の変位目標値とのうちのい ずれかを含む該ロポッ トの運動状態量を基に、 前記口ポッ トと床との接 触面に滑りが無いと仮定して、 前記所定の部位の姿勢角速度を推定する 無滑り姿勢角速度推定手段と、 少なく とも前記姿勢角速度検出手段の検 出値と前記無滑り姿勢角速度推定手段が推定した姿勢角速度とに応じて 前記姿勢角速度検出手段の検出値に対するドリフ ト補正値を決定するド リフト補正値決定手段と、 少なくとも前記姿勢角速度検出手段の検出値 を前記ドリフト補正値により補正してなる姿勢角速度を積分することに より前記所定の部位の姿勢角を推定する積分手段とを備え、 前記ドリフ ト補正値決定手段は、 前記姿勢角速度検出手段の検出値を前記ドリフト 補正値により補正してなる姿勢角速度と前記無滑り姿勢角速度推定手段 が推定した姿勢角速度との偏差を 0に近づけるように新たなドリフ ト補 正値を決定することを特徴とするものである。
かかる第 1発明では、 少なくとも前記目標歩容の目標運動と前記ロボ ッ トの関節の変位検出値と該関節の変位目標値とのうちのいずれかを含 む該ロポッ 卜の運動状態量を基に、 前記ロポッ トと床との接触面に滑り が無いと仮定して、 前記所定の部位の姿勢角速度が推定される。 すなわ ち、 上記滑りが無いと仮定することで、 前記運動状態量を基に、 幾何学 的な演算によって、 前記所定の部位の姿勢角を推定することがすること ができるので、 その姿勢角の時間的変化量として該所定の部位の姿勢角 速度を推定することができる。 そして、 少なく とも、 この推定した姿勢 角速度 (姿勢角速度推定値) と、 姿勢角速度検出手段の検出値 (姿勢角 速度検出値) とに応じて前記ドリフト補正値が決定される。 より詳しく は、 姿勢角速度検出値をドリフ ト補正値 (既に決定したドリフ ト補正 値) により補正してなる姿勢角速度と上記姿勢角速度推定値との偏差を 0に近づけるように新たなドリフト補正値が決定される (ドリフ ト補正 値が更新される)。 なお、 どのドリフ ト補正値を決定するときには、 例 えば前記偏差から適宜のフィ一ドバック制御則により ドリフト補正値を 求めるようにすればよい。 そして、 少なくとも上記決定したドリフ ト補 正値により姿勢角速度検出値を補正してなる姿勢角速度を積分すること で、 前記所定の部位の姿勢角が推定される。 これにより、 第 1発明によ れば、 姿勢角速度の積分に伴う ドリフ トの影響を補償して、 口ポッ トの 自己姿勢としての前記所定の部位の姿勢角を精度よく推定することが可 能となる。
かかる第 1発明では、 前記ドリフ卜補正値決定手段は、 前記口ポッ ト と床との接触面に回転滑りが生じているか否かを判断する手段を備え、 該回転滑りが生じていると判断したときには、 前記ドリフト補正値の値 を保持することが好ましい (第 2発明)。
すなわち、 第 1発明は、 口ポッ トと床との接触面に滑りがないと仮定 した上で推定した姿勢角速度 (以下の本発明の説明では、 滑りなし推定 姿勢角速度という) を用いて前記ドリフト補正値を決定するものである が、 該滑りなし推定姿勢角速度は、 回転滑りを生じている状況では、 信 頼性が低下する。 そこで、 第 2発明では、 回転滑りが生じていると判断 される状況では、 ドリフ ト補正値の値を保持する (更新しない)。 これ により、 該ドリフト補正値の信頼性を確保し、 ひいては、 口ポッ トの自 己姿勢としての前記所定の部位の姿勢角の推定値の精度を高い精度に確 保することが可能となる。
また、 本発明の脚式移動口ポッ トの自己姿勢推定装置の第 3発明は、 脚式移動ロポッ トの所定の部位の姿勢角速度を検出する姿勢角速度検出 手段と、 少なくとも前記ロボッ トの運動停止状態における前記姿勢角速 度検出手段の検出値を基に、 該検出値に対する ドリフト補正値を決定す るドリフト補正値決定手段と、 前記ロポッ 卜の運動中に少なくとも前記 姿勢角速度検出手段の検出値を前記ドリフ ト補正値により補正してなる 姿勢角速度を積分することにより前記所定の部位の姿勢角を推定する積 分手段とを備えたことを特徴とするものである。
かかる第 3発明は、 ロポッ トの運動停止状態における姿勢角速度検出 手段の検出値 (姿勢角速度検出値)、 すなわち、 実姿勢角速度が原理的 に 0となる状態での姿勢角速度検出値を基に、 ドリフト補正値を決定す ので、 信頼性の高いドリフト補正値を決定できる。 そして、 口ポッ トの 運動中に、 少なく ともそのドリフト補正値により、 姿勢角速度検出値を 補正してなる姿勢角速度を積分することで、 前記所定の部位の姿勢角を 推定するので、 姿勢角速度の積分に伴う ドリフトの影響を適正に補償し て、 ロボッ トの自己姿勢としての前記所定の部位の姿勢角を精度よく推 定することが可能となる。
前記した第 1又は第 2発明では、 前記ドリフ卜補正値決定手段は、 前 記姿勢角速度検出手段の検出値のうちのョ一方向の成分と前記無滑り姿 勢角速度推定手段が推定した姿勢角速度のうちのョー方向の成分とに応 じて前記ドリフト補正値を決定することが好ましい (第 4発明)。
同様に、 前記第 3発明では、 前記ドリフ ト補正値決定手段は、 前記姿 勢角速度検出手段の検出値のうちのョー方向の成分に応じて前記ドリフ ト補正値を決定することが好ましい (第 5発明)。
これらの第 4発明及び第 5発明によれば、 姿勢角速度検出手段のョー 方向のドリフ トを適正に捕償することができるので、 特に前記所定の部 位の向きを精度よく推定することができ、 ひいては、 口ポッ トの移動方 向を精度よく推定することが可能となる。
なお、 前記第 1〜第 5発明では、 前記所定の部位は、 前記口ポッ トの 上体であることが好ましい (第 6発明)。 上体の姿勢を精度よく推定で きるので、 ロポッ 卜の姿勢安定化等の制御を的確に行うことが可能とな る。 図面の簡単な説明
図 1は、 本発明の実施形態における脚式移動ロボッ トとしての 2足移 動ロポッ 卜の全体的構成の概略を示す概略図、 図 2は図 1の各脚体の足 平部分の構成を概略的に示す概略図、 図 3及び図 4はそれぞれ各脚体の 足平部分の詳細構成を示す側面視の断面図及び底面図、 図 5は図 1の口 ポッ トに備えた制御ュニッ トの構成を示すブロック図、 図 6は図 5の制 御ュニッ トの機能的構成を示すプロック図である。 図 7は口ポッ トの走 行歩容を示す説明図、 図 8 ( a), (b), ( c ) はそれぞれ目標歩容の床 反力鉛直成分、 目標 Z MP、 自己位置姿勢推定用のゲインの設定例を示 すグラフ、 図 9は第 1実施形態における制御ユニッ トの要部の処理を示 すフローチャート、 図 1 0は図 9のフ口一チヤ一 卜の自己位置姿勢推定 処理を示すフローチャート、 図 1 1及び図 1 2は図 9のフ口一チャート の自己位置姿勢推定処理を説明するための図である。 図 1 3は図 9のフ ローチャートの自己位置姿勢推定処理の要部の処理を示すブロック図、 図 1 4 ( a), (b) は図 1 3の処理を説明するための図、 図 1 5は図 1 3の処理で用いるゲインの設定例を示すグラフである。
発明を実施するための最良の形態
以下、 添付図面を参照してこの発明の実施形態に係る脚式移動ロポッ トの自己位置推定装置を説明する。 尚、 脚式移動口ポッ トとしては 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 O R (L) の下部には, 各脚体 2の先端部を構成する足平 (足部) 2 2 R (L) が取着されると 共に、 両脚体 2, 2の最上位には、 各脚体 2の股の 3つの関節 1 O 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, 5及び頭部 4は、 本発明の要旨と直接的な関連を有しないため詳細な説 明を省略する。
上記の構成により、 各脚体 2の足平 2 2 R (L) は、 上体 3に対して 6つの自由度を与えられている。 そして、 ロボッ ト 1の歩行等の移動中 に、 両脚体 2 , 2を合わせて 6 * 2 = 1 2個 (この明細書で 「 *」 はス カラに対する演算としては乗算を、 べク トルに対する演算としては外積 を示す) の関節を適宜な角度で駆動することで、 両足平 2 2 R, 2 2 L の所望の運動を行うことができる。 これにより、 ロボッ ト 1は任意に 3 次元空間を移動することができる。
図 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の傾き (姿勢角) およびその角速度等を検出するための傾斜 センサ 5 4が備えられ、 その検出信号が該傾斜センサ 5 4から制御ュニ ッ ト 6 0に出力される。 この傾斜センサ 5 4は、 図示を省略する 3軸方 向の加速度センサおよび 3軸方向のジャィ口センサを備え、 これらのセ ンサの検出信号が上体 3の傾きおよびその角速度を検出するために用い られると共に、 ロボッ ト 1の自己位置姿勢を推定するために用いられる, また、 詳細構造の図示は省略するが、 口ポッ ト 1の各関節には、 それを 駆動するための電動モータ 6 4 (図 5参照) と、 その電動モー夕 6 4の 回転量 (各関節の回転角) を検出するためのエンコーダ (ロータリエン コーダ) 6 5 (図 5参照) とが設けられ、 該エンコーダ 6 5の検出信号 が該エンコーダ 6 5から制御ュニッ ト 6 0に出力される。
さらに、 図 1では図示を省略するが、 口ポッ ト 1の適宜な位置にはジ ョィスティ ック (操作器) 7 3 (図 5参照) が設けられ、 そのジョイス ティ ック 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) の上面部に取り付けら れた方形状のガイ ド部材 (図 2では図示省略) と、 足首関節 1 8 R (L) (図 2では足首関節 2 O R (L) を省略している) および 6軸力 センサ 5 0側に取り付けられ、 前記ガイ ド部材に弾性材 (ゴムやばね) を介して微動自在に収納されるピストン状部材 (図 2では図示省略) と から構成されている。
図 2に実線で表示された足平 2 2 R (L) は、 床反力を受けていない ときの状態を示している。 各脚体 2が床反力を受けると、 コンプライア ンス機構 7 2のばね機構 7 0と足底弾性体 Ί 1とがたわみ、 足平 2 2 R (L) は図中に点線で例示したような位置姿勢に移る。 このコンプライ ンァス機構 7 2の構造は、 例えば本出願人が先に提案した特開平 5 — 3 0 5 5 8 4号公報に詳細に説明されている如く、 着地衝撃を緩和するた めだけでなく、 制御性を高めるためにも重要なものである。
上記コンプライアンス機構 7 2を含めた足平 2 2 R (L) (以下、 足 平機構 2 2 R (L) と称することがある。) のより詳細な構成を図 3及 び図 4を参照してさらに説明する。 図 3は足平機構 2 2 R (L) の側面 示の断面図、 図 4は該足平機構 2 2 R (L) の底面側から見た平面図で ある。
足平機構 2 2 R ( L ) は、 大略平板状の足平プレート部材 1 0 2を骨 格部材として備えている。 この足平プレート部材 1 0 2は、 その前端部 (つま先部) と後端部 (踵部) とが若干上方に湾曲されているが、 他の 部分は平坦な平板状になっている。 また、 足平プレート部材 1 0 2の上 面部には、 横断面方形状のガイ ド部材 1 0 3がその軸心を上下方向に向 けて固設されている。 このガイ ド部材 1 0 3の内部には、 該ガイ ド部材 1 0 3の内周面に沿うようにして略上下方向に移動可能に設けられた可 動板 (ピストン状部材) 1 0 4が設けられ、 該可動板 1 0 4が足首関節 1 8 R ( L ), 2 0 R ( L ) に 6軸力センサ 5 0を介して連結されてい る。
また、 可動板 1 0 4は、 その下面の周縁部がばね、 ゴム等の弾性材か らなる複数の弾性部材 1 0 6 (図ではばねとして記載している) を介し て足平プレート部材 1 0 2の上面部に連結されている。 従って、 足平プ レート部材 1 0 2は、 弹性部材 1 0 6、 可動板 1 0 4及び 6軸力センサ 5 0を介して足首関節 1 8 R ( L ) に連結されている。 尚、 ガイ ド部材 1 0 3の内部 (可動板 1 0 4の下側の空間) は、 図示を省略する穴や隙 間を介して大気側に開放されており、 大気中の空気がガイ ド部材 1 0 3 の内部に入出自在となっている。 また、 上記ガイ ド部材 1 0 3、 可動板 1 0 4、 及び弾性部材 1 0 6は前記図 2に示したばね機構 7 0を構成す るものである。
足平プレート部材 1 0 2の底面 (下面) には、 前記図 2に示した足底 弾性体 7 1 としての接地部材 7 1が取着されている。 該接地部材 7 1は 足平機構 2 2 R ( L ) の接地状態で、 該足平プレート部材 1 0 2と床面 との間に介在させる弾性部材 (床面に直接的に接触する弾性部材) であ り、 本実施形態では、 足平プレート部材 1 0 2の接地面の四隅 (足平プ レート部材 1 0 2のつま先部の両側部並びに踵部の両側部) に固着され ている。
また、 接地部材 7 1は、 本実施形態では、 比較的軟質のゴム材から成 る軟質層 1 0 7 aと、 比較的硬質のゴム材から成る硬質層 1 0 7 bとを 上下に重合してなる 2層構造に形成され、 硬質層 1 0 7 bが、 脚体 2の 着床時に直接的に床面に接触する接地面部として最下面側に設けられて いる。
足平機構 2 2 R ( L ) には、 上記の構成の他、 着地衝撃緩衝装置 1 0 8が備えられている。 この着地衝撃緩衝装置 1 0 8は、 足平プレート部 材 1 0 2の底面に取着された袋状部材 1 0 9と、 該袋状部材 1 0 9の内 部に対して圧縮性流体としての空気 (大気中の空気) を入出させるため の流通路 1 1 0とを備えている。
袋状部材 1 0 9は、 その周囲に前記接地部材 7 1が存するようにして. 足平プレート部材 1 0 2の底面の大略中央部に設けられている。 この袋 状部材 1 0 9は、 ゴム等の弾性材により変形自在に構成されており、 外 力による弾性変形が生じていない自然状態では、 図 3に実線で示すよう に、 上方に開口した円筒容器形状を呈する。 そして、 該袋状部材 1 0 9 は、 その開口端部が全周にわたって足平プレー卜部材 1 0 2の底面に固 着され、 該足平プレート部材 1 0 2により閉蓋されている。 また、 袋状 部材 1 0 9は、 円筒容器形状を呈する自然状態では、 該袋状部材 1 0 9 の底部が前記接地部材 7 1よりも下方に突出するように設けられている, つまり、 該袋状部材 1 0 9の高さ (足平プレート部材 1 0 2の下面から 袋状部材 1 0 9の底部までの距離) は、 接地部材 7 1の厚さよりも大き いものとされている。 従って、 足平プレート部材 1 0 2が接地部材 7 1 を介して接地した状態 (脚部 2の着床状態) では、 袋状部材 1 0 9は、 図 3に仮想線で示すように、 床反力により袋状部材 1 0 9の高さ方向に 圧縮される。
尚、 本実施形態では、 袋状部材 1 0 9が円筒容器形状を呈する自然状 態は該袋状部材 1 0 9の膨張状態である。 そして、 袋状部材 1 0 9は、 弹性材により構成されているため、 圧縮されたとき、 自然状態の形状 (円筒容器形状) への形状復元力を有する。
前記流通路 1 1 0は、 袋状部材 1 0 9に対する空気の流入 · 流出を行 う流入 · 流出手段を構成するものであり、 本実施形態では、 袋状部材 1 0 9の内部と前記ガイ ド部材 1 0 3の内部とを連通させるように足平プ レート部材 1 0 2に穿設された流通孔である。 この場合、 前述のように、 ガイ ド部材 1 0 3の内部は大気側に開放されているので、 該流通路 1 1 0は、 袋状部材 1 0 9の内部を大気側に連通させていることとなる。 従 つて、 袋状部材 1 0 9の内部には、 大気中の空気が流通路 1 1 0を介し て入出自在となっており、 該袋状部材 1 0 9の膨張状態 (自然状態) で は、 該袋状部材 1 0 9内には空気が充填され、 その内部の圧力は大気圧 と同等になる。 また、 流通路 1 1 0は絞り通路となっており、 袋状部材 1 0 9の内部に空気が入出する際には流体抵抗を生じるようになつてい る。
図 5は制御ュニット 6 0の構成を示すブロック図である。 該制御ュニ ッ ト 6 0はマイクロコンピュータにより構成されており、 C P Uからな る第 1の演算装置 9 0及び第 2の演算装置 9 2、 A / D変換器 8 0、 力 ゥンタ 8 6 、 D / A変換器 9 6 、 R A M 8 4 , R〇M 9 4、 並びにこれ らの間のデ一夕授受を行うバスライン 8 2を備えている。 この制御ュニ ッ ト 6 0では、 各脚体 2の 6軸力センサ 5 0、 傾斜センサ 5 4 (加速度 センサおよびレートジャィ口センサ)、 ジョイスティ ック 7 3等の出力 信号は A Z D変換器 8 0でデジタル値に変換された後、 バスライン 8 2 を介して R A M 8 4に送られる。 またロポッ ト 1の各関節のエンコーダ P T/JP03/05449
1 4
6 5 (ロータリーエンコーダ) の出力は、 カウンタ 8 6を介して R A M 8 4に入力される。
前記第 1の演算装置 9 0は後述の如く目標歩容を生成すると共に、 関 節角変位指令 (各関節の変位角もしくは各電動モー夕 6 4の回転角の指 令値) を算出し、 R A M 8 4に送出する。 また第 2の演算装置 9 2は R A M 8 4から関節角変位指令と、 前記エンコーダ 6 5の出力信号とに基 づいて検出された関節角の実測値とを読み出し、 各関節の駆動に必要な 操作量を算出して D / A変換器 9 6とサーポアンプ 6 4 aとを介して各 関節を駆動する電動モータ 6 4に出力する。
図 6は、 この実施形態に係る脚式移動口ポッ トの制御装置の機能的構 成を全体的に示すブロック図である。 この図 6中の 「実口ポッ ト」 の部 分以外の部分が制御ュニッ ト 6 0が実行する処理機能 (主として第 1の 演算装置 9 0及び第 2の演算装置 9 2の機能) によって構成されるもの である。 なお、 以下の説明では、 脚体 2の左右を特に区別する必要がな いときは、 前記符号 R , Lを省略する。
以下説明すると、 制御ユニッ ト 6 0は、 口ポッ ト 1の目標歩容を自在 かつリアルタイムに生成して出力する歩容生成装置 2 0 0、 自己位置姿 勢推定部 2 1 4等を備えている。 自己位置姿勢推定部 2 1 4は、 詳細は 後述するが、 本発明の特徴部分に係わる処理を実行し、 口ポッ ト 1の位 置 ·姿勢 (グローバル座標系での位置 '姿勢) を推定するものである。 歩容生成装置 2 0 0が出力する目標歩容は、 目標上体位置姿勢軌道 (上体 3の目標位置及び目標姿勢の軌道)、 目標足平位置姿勢軌道 (各 足平 2 2の目標位置及び目標姿勢の軌道)、 目標腕姿勢軌道 (各腕体 5 の目標姿勢の軌道)、 目標全床反力中心点 (目標 Z M P ) 軌道、 目標全 床反力軌道から構成される。 なお、 脚体 2や腕体 5以外に上体 3に対し て可動な部位を備える場合には、 その可動部位の目標位置姿勢軌道が目 標歩容に加えられる。
ここで、 本発明の実施形態での用語の意味あるいは定義について補足 しておく。 上記歩容における 「軌道」 は時間的変化のパターン (時系列 パターン) を意味し、 以下の説明では、 「軌道」 の代わりに 「パター ン」 と称することもある。 また、 各部位の 「姿勢」 は、 該部位の傾きと 向きとを総称したものである。 ここで、 「傾き」 は該部位の鉛直方向と なす角度であり、 「向き」 は該部位の前方向を示すベク トルを水平面に 投影したベク トルの向きである。 例えば上体姿勢のうちの傾きは、 Z軸 (鉛直軸) に対するロール方向 (X軸回り) の上体 3の傾斜角 (姿勢 角) と、 Z軸に対するピッチ方向 (Y軸回り) の上体 3の傾斜角 (姿勢 角) とからなる。 また、 上体 3の向きは、 上体 3の前方向を示すべク ト ルを水平面に投影したベク トルのョ一方向 (Z軸回り) の回転角で表さ れる。 なお、 足平姿勢は各足平 2 2に固定的に設定された 2軸の空間的 な方位角で表される。 また、 特に、 足平 2 2の着地姿勢に関しては、 そ の着地姿勢は、 基本的には着地した足平 2 2の向きを表し、 具体的には 着地した足平 2 2のかかとからつま先に向かうべク トルを水平面に投影 したベク トルの向きを表す。 また、 目標腕姿勢は、 腕体 5のすベての部 位に関する上体 3に対する相対的な姿勢で表される。
上体位置は、 上体 3の所定位置、 具体的には上体 3のあらかじめ定め た代表点の位置を意味する。 同様に、 足平位置は、 各足平 2 2 R , 2 2 Lのあらかじめ定めた代表点の位置を意味する。 なお、 上体速度は、 上 体 3の上記代表点の移動速度を意味し、 足平速度は、 各足平 2 2 R , 2 2 Lの上記代表点の移動速度を意味する。
目標上体位置姿勢等の目標歩容に関し、 以下の説明では、 誤解を生じ るおそれがない場合には、 しばしば 「目標」 を省略する。 また、 歩容の うちの、 床反力に係わる構成要素以外の構成要素、 すなわち足平位置姿 勢、 上体位置姿勢等、 ロボッ ト 1 の運動に係わる歩容を総称的に 「運 動」 という。
各足平 2 2 R, Lの床反力 (並進力及びモーメントからなる床反力) を 「各足平床反力」 と呼び、 口ポッ ト 1の全ての ( 2本の) 足平 2 2 R : 2 2 Lの床反力の合力を 「全床反力」 と呼ぶ。 ただし、 以下の説明にお いては、 各足平床反力に関してはほとんど言及しないので、 断らない限 り、 「床反力」 は 「全床反力」 と同義として扱う。
目標床反力は、 一般的には、 作用点とその点に作用する力 (並進力) と力のモーメントによつて表現される。 作用点はどこにとっても良いの で、 同一の目標床反力でも無数の表現が考えられるが、 特に前述の目標 床反力中心点を作用点にして目標床反力を表現すると、 力のモーメント は、 鉛直軸成分を除けば、 0になる。
尚、 動力学的平衡条件を満足する歩容では、 目標運動軌道から算出さ れる Z M P (目標運動軌道から算出されるロポッ ト 1の慣性力と重力と の合力がその点まわりに作用するモーメントが、 鉛直軸成分を除いて 0 になる点) と目標全床反力中心点は一致することから、 目標全床反力中 心点軌道の代わりに目標 Z M P軌道を与えると言っても同じことである (詳細は、 例えば本出願人による P C T公開公報 WO/ 02/ 4022 を参 照)。
このような背景から、 P C T公開公報 WO/ 02Z 40224の明細書では 目標歩容を次のように定義していた。
a ) 広義の目標歩容とは、 1歩ないしは複数歩の期間の目標運動軌道と その目標床反力軌道との組である。
b ) 狭義の目標歩容とは、 1歩の期間の目標運動軌道とその Z M P軌道 との組である。
c )一連の歩容は、 いくつかの歩容がつながったものとする。 口ポッ ト 1の歩行を行う場合においては、 本出願人が先に特開平 10- 86080号公報で提案した上体高さ決定手法によって上体鉛直位置 (上体 高さ) が決定されると、 床反力の並進力成分は従属的に決定されるので. 目標歩容の床反力に関して明示的に設定すべき物理量としては、 Z M P だけで十分であった。 したがって、 P C T公開公報 WOZ 02/ 40224の 明細書では、 狭義の目標歩容としては、 上記の b ) で十分であった。 そ れヒ対し、 口ポッ ト 1の走行を行う楊合には、 床反力鉛直成分も制御上 重要であるので、 該床反力鉛直成分を明示的に設定することが好ましい, そこで、 本願出願人が先に提案した P C T出願 (PCT Z JP02 / 13596) 等では、 狭義の目標歩容として、 次の b ' ) を採用した。
b ' ) 狭義の目標歩容とは、 1歩の期間の目標運動軌道とその Z M P軌 道と床反力鉛直成分軌道の組である。
この明細書では以降、 特にことわらない限り、 目標歩容は狭義の目標 歩容の意味で使用する。 また、 目標歩容の 「 1歩」 は、 口ポッ ト 1の片 方の脚体 2が着地してからもう一方の脚体 2が着地するまでの意味で使 用する。
歩容における両脚支持期とは言うまでもなく、 口ポッ ト 1がその自重 を両脚体 2, 2で支持する期間、 片脚支持期とはいずれか一方のみの脚 体 2で口ポッ ト 1の自重を支持する期間、 空中期とは両脚体 2 , 2が床 から離れている (空中に浮いている) 期間を言う。
片脚支持期においてロボッ ト 1の自重を支持しない側の脚体 2を 「遊 脚」 と呼び、 自重を支持する側の脚体 2を 「支持脚」 と呼ぶ。 口ポッ ト 1の歩行では、 両脚支持期と片脚支持期とが交互に繰り返され、 ロポッ ト 1の走行では片脚支持期と空中期とが交互に繰り返される。 この場合. 走行の空中期では、 両脚体 2 , 2とも、 口ポッ ト 1の自重を支持しない こととなるが、 該空中期の直前の片脚支持期において遊脚であった脚体 2、 支持脚であった脚体 2をそれぞれ該空中期においても遊脚、 支持脚 と呼ぶ。
また、 目標上体姿勢、 目標上体位置、 目標足平位置姿勢、 目標腕姿勢 等、 目標歩容におけるロポッ ト 1の各部の位置姿勢は支持脚座標系で記 述される。 支持脚座標系とは、 支持脚の足平 2 2の接地面辺りに原点を 持つ床面に固定された座標系である。 より詳細には、 支持脚座標系は、 本出願人の特許 3273443 号に記載されているように、 支持脚の足平 2 2を接地面との間で滑らさないで、 水平姿勢になるまで回転させた時の. 該支持脚の足首関節の中心から接地面への垂直投影点を原点とし、 該支 持脚足平 2 2のつま先に向かう水平軸 (足平 2 2の前後方向の軸) を X 軸として、 鉛直軸を Z軸、 これらの X軸、 Z軸に直交する座標軸 (足平 2 2の左右方向の軸) を Y軸とする座標系である。
本発明の実施形態に係る歩容生成装置 2 0 0は、 2歩先までの遊脚の 足平 2 2の着地位置姿勢、 着地時刻の要求値 (目標値) を入力として、 目標上体位置姿勢軌道、 目標足平位置姿勢軌道、 目標 Z M P軌道、 目標 床反力鉛直成分軌道、 及び目標腕姿勢軌道から構成される目標歩容を生 成する。 このとき、 これらの軌道を規定するパラメータ (これを歩容パ ラメ一夕と呼ぶ) の一部は、 歩容の継続性を満足するように修正される, 目標歩容の生成にはロポッ ト 1の動力学モデルが用いられる。 その動 力学モデルとしては、 例えば、 前記 P C T公開公報 WO/ 02/ 40224号 に記載の単純化モデルあるいは、 本出願人が提案した特開 2002- 326173 号公報に記載の多質点モデル (フルモデル) などを用いれば良 い。
また、 歩容生成装置 2 0 0は、 口ポッ ト 1の片方の脚体 2が着地して から他方の脚体 2が着地するまでの 1歩分の目標歩容 (前記狭義の意味 での目標歩容) を単位として、 その 1歩分の目標歩容を順番に生成する, ここで、 現在あるいはこれから生成しょうとしている歩容を 「今回歩 容」、 その次の歩容を 「次回歩容」、 さらにその次の歩容を 「次次回歩 容」 と呼ぶ。 また、 「今回歩容」 の 1つ前に生成した目標歩容を 「前回 歩容」 と呼ぶ。
歩容生成装置 2 0 0が生成する目標歩容の一部を例示的に概説すると. 例えば目標足平位置姿勢軌道は、 本出願人による特許 3233450 号に開 示した有限時間整定フィル夕を用いて生成される。 この有限時間整定フ ィル夕による足平位置姿勢軌道の生成処理では、 例えば足平位置軌道は. 目標着地位置 (着地位置の要求値) に向かって足平 2 2を徐々に加速し ながら移動を開始し、 目標着地時刻 (着地時刻の要求値) までに徐々に 速度を 0またはほぼ 0にまで減速し、 該目標着地時刻に目標着地位置に 到達して停止するように生成される。 足平姿勢軌道についても同様であ る。 これにより生成される目標足平位置姿勢軌道は、 着地瞬間における 対地速度が 0またはほぼ 0になるため、 特にロボッ ト 1 の走行を行う場 合に、 前記空中期からの着地時における着地衝撃を小さくできる。
また、 図 7に示すように人間が走行を行う場合と同様の形態でロポッ ト 1の走行を行う場合には、 例えば目標床反力鉛直成分軌道および目標 Z M P軌道 (詳しくは支持脚座標系の X軸方向 (支持脚足平 2 2の前後 方向) での目標 Z M P軌道) は、 それぞれ図 8 ( a )、 図 8 ( b ) に実 線で示すようなパターンで設定される。 なお、 図 7の第 1番目〜第 3番 目の図は、 それぞれ片脚支持期の開始時、 中間時点、 終了時における口 ポッ ト 1 の両脚体 2 , 2の運動状態を模式的に示し、 第 4番目及び第 5 番目の図は、 それぞれ空中期の中間時点、 空中期の終了時 (次の片脚支 持期の開始時) における口ポッ ト 1の両脚体 2 , 2の運動状態を模式的 に示している。
ロボッ ト 1 の走行を行う場合には、 目標床反力鉛直成分軌道は、 基本 的には、 片脚支持期で.は上に凸のパターンとなり、 空中期では 0に維持 される。 また、 口ポッ ト 1の歩行を行う場合には、 目標床反力鉛直成分 軌道は、 例えば図 8 ( a ) に二点鎖線で示すように設定される。 この場 合、 二点鎖線のうちの上に凸の部分が両脚支持期に対応し、 下に凸の部 分が片脚支持期に対応する。 また、 目標 Z M Pは走行、 歩行のいずれで あっても、 基本的には、 口ポッ ト 1の脚体 2の接地面内 (より詳しくは 所謂、 支持多角形内) の中央付近に設定される。
図 9は、 前記歩容生成装置 2 0 0の歩容生成処理、 ならびに、 図 6に 示す自己位置姿勢推定部 2 1 4の自己位置姿勢推定処理を示すフローチ ャ一ト (構造化フローチャート) である。
まず S 0 1 0において時刻 t を 0に初期化するなど種々の初期化作業 を行う。
次いで S 0 1 2を経て S 0 1 4に進み、 制御周期毎のタイマ割り込み を待つ。 制御周期は A tである。
次いで S O 1 6に進み、 自己位置姿勢推定部 2 1 4による自己位置姿 勢推定を行う。 S 0 1 6における処理がこの出願に係る脚式移動ロポッ トの自己姿勢推定装置の特徴をなすが、 この説明は後述することとする, 次いで S 0 1 8に進み、 歩容切り替わり目 (前回歩容の生成が終了し. 新たな今回歩容の生成を開始すべき時刻) であるか否かが判断される。 そして、 その判断結果が Y E Sであるときは S 0 2 0に進み、 N Oであ るときは S 0 3 2に進む。 なお、 以下に説明する S 0 2 0以降の処理は. 本願出願人が先に提案した P C T公開公報 WOノ 02/ 40224あるいは前 記 P C T出願 PCTZJP02/ 13596 に詳細に説明されているので、 本明 細書では簡略的な説明に留める。
S 0 2 0に進むときは時刻 t を 0に初期化する。 次いで S O 2 2に進 み、 次回歩容支持脚座標系 (詳しくはその位 #および向き)、 次次回歩 容支持脚座標系 (詳しくはその位置および向き)、 今回歩容周期および 次回歩容周期を読み込む。
上記次回歩容支持脚座標系および次次回歩容支持脚座標系は、 それぞ れ、 前記ジョイスティック 7 3の操作等によって指定される 1歩目の遊 脚足平 2 2 (今回歩容の遊脚足平 2 2 ) の着地位置姿勢の要求値 (目標 着地位置姿勢)、 2歩目の遊脚足平 2 2 (次回歩容の遊脚足平 2 2 ) の 着地位置姿勢の要求値 (目標着地位置姿勢) に応じて、 前記した支持脚 座標系の定義に従って決定される。
また、 今回歩容周期、 次回歩容周期は、 それぞれ、 1歩目の遊脚足平 2 2の着地時刻の要求値 (目標着地時刻)、 2歩目の遊脚足平 2 2の着 地時刻の要求値 (目標着地時刻) に応じて決定される。
上記した遊脚足平 2 2の着地位置姿勢の要求値並びに着地時刻の要求 値、 あるいは支持脚座標系の位置および向き並びに歩容周期は、 あらか じめ歩行スケジュールとして記憶しておいても良く、 あるいはジョイス ティ ック 7 3などの操縦装置からの指令 (要求) とそのときまでの歩行 履歴を基に決定しても良い。
次いで S 0 2 4に進み、 今回歩容につながる定常旋回歩容の歩容パラ メータが、 S 0 2 2で決定された次回歩容支持脚座標系、 次次回歩容支 持脚座標系、 今回歩容周期および次回歩容周期等に基づいて決定される < 主に、 目標足平位置姿勢軌道を規定する足平軌道パラメ一夕、 目標上体 姿勢の基準軌道を規定する基準上体姿勢軌道パラメータ、 目標腕姿勢軌 道を規定する腕姿勢軌道パラメ一夕、 目標 Z M P軌道を規定する Z M P 軌道パラメ一夕、 目標床反力鉛直成分軌道を規定する床反力鉛直成分軌 道パラメ一夕が決定される。 例えば床反力鉛直成分軌道パラメ一夕に関 して例示すると、 前記図 8 ( a ) に示したパターンの折れ点の時刻や値 が床反力鉛直成分軌道パラメータとして決定される。 ここで、 前記定常旋回歩容は、 その歩容を繰り返したときに歩容の境 界において口ポッ ト 1の運動状態に不連続が生じないような周期的歩容 を意味する (以降、 「定常旋回歩容」 を 「定常歩容」 と略す場合もある), -定常旋回歩容の 1周期分の歩容は、 第 1旋回歩容と第 2旋回歩容とか らなる。 第 1旋回歩容は、 今回歩容の支持脚座標系に対応する支持脚足 平 2 2を次次回歩容支持脚座標系に対応する位置姿勢まで動かすときの 歩容に相当し、 第 2旋回歩容は、 次回歩容支持脚座標系に対応する支持 脚足平 2 2を次次次回支持脚座標系に対応する位置姿勢まで動かすとき の歩容に相当する。 この場合、 次次次回歩容支持脚座標系は、 第 2旋回 歩容の遊脚足平 2 2の目標着地位置姿勢に対応するものである。 そして. 該次次次回歩容支持脚座標系は、 次次回歩容支持脚座標系 (第 2旋回歩 容の支持脚座標系) から見た該次次次回歩容支持脚座標系の位置姿勢 (位置及び向き) が、 今回歩容支持脚座標系から見た次回歩容支持脚座 標系 (今回歩容の遊脚足平 2 2の着地位置姿勢) の位置姿勢 (位置及び 向き) に一致するように設定される。 尚、 定常旋回歩容に関して 「旋 回」 なる用語を用いたのは、 旋回率を零とするときは直進を意味するの で、 直進も広義の意味で旋回に含ませることができるからである。
定常旋回歩容は、 歩容生成装置 2 0 0で今回歩容の終端における発散 成分や上体鉛直位置速度を決定するために暫定的に作成される仮想的な 周期的歩容であり、 口ポッ ト 1を実際に制御するために歩容生成装置 2 0 0からそのまま出力されるものではない。
尚、 「発散」 とは、 上体の位置が両足部 (足平) の位置からかけ離れ た位置にずれてしまうことを意味する。 発散成分の値とは、 2足移動口 ポッ トの上体の位置が両足部 (足平) の位置 (厳密には、 支持脚接地面 に設定された支持脚座標系の原点からかけ離れていく具合を表す数値で あり、 上体 3の水平方向の位置及びその速度の関数で表される。 本実施形態では、 これから生成する今回歩容の後につながる定常歩容 を移動要求 (前記 2歩先までの遊脚の足平 2 2の着地位置姿勢、 着地時 刻などの要求値) に応じて設定し、 定常歩容の初期発散成分を求めてか ら、 今回歩容の終端発散成分を定常歩容の初期発散成分に一致するよう に、 今回歩容を生成するようにした。 S O 24の詳細は、 本出願人が提 案した前記 P C T公開公報 WOZ02Z40224、 あるいは PCTZJP02/ 13596に説明されているので、 これ以上の説明を省略する。
S 0 1 0から S 0 2 4までに示す処理を行って後、 S 0 2 6に進み、 定常旋回歩容の初期状態 (初期上体水平位置速度成分、 初期上体鉛直位 置速度、 初期発散成分、 初期上体姿勢角および角速度) を決定する。 S 0 2 6の詳細は、 P C T公開公報 WO/02/40224、 あるいは PCTZ JP02Z13596 に説明しているので、 ここでは、 これ以上の説明を省略 する。
次いで、 S 0 2 8に進み、 今回歩容の歩容パラメ一夕を決定 (一部仮 決定) する。 この場合、 決定される今回歩容の歩容パラメ一夕は、 定常 旋回歩容の歩容パラメータと同様、 主に、 足平軌道パラメ一夕、 基準上 体姿勢軌道パラメータ、 腕姿勢軌道パラメ一夕、 目標 ZMP軌道パラメ 一夕、 目標床反力鉛直成分軌道パラメータであり、 それぞれのパラメ一 夕により規定される軌道が、 定常旋回歩容の軌道に連続するように決定 される。 ただし、 これらのパラメ一夕のうち、 目標 Z MP軌道パラメ一 タは暫定的なものである。 この S 0 2 8の処理の詳細は、 前記 P C T公 開公報 WOZ02Z40224、 あるいは PCT/JP02Z 13596 号等に説明さ れているので、 ここではこれ以上の説明を省略する。
次いで S 0 3 0に進み、 今回歩容の終端発散成分が定常歩容の初期発 散成分に一致するように、 今回歩容の歩容パラメ一夕を修正する。 ここ で修正される歩容パラメ一夕は、 目標 Z M P軌道パラメータである。 S 0 3 0において今回歩容パラメ一夕を修正した後、 あるいは S 0 1 8の判断結果が N Oである場合には、 S O 3 2に進み、 今回歩容瞬時値 を決定する。 この処理の詳細は、 前記 P C T公開公報 WO/ 02/ 40224, あるいは PCTZJP02Z 13596 号等に説明しているので、 ここでは、 こ れ以上の説明を省略する。
次いで S O 3 4に進み、 P C T出願 PCTZJP02Z 13596 号の実施形 態の S 0 3 2の処理と同様、 スピン力をキヤンセルするための腕振り動 作を決定する。
次いで S 0 3 6に進み、 歩容生成用時刻 tを Δ tだけ増やし、 S 0 1 4に戻り、 以上のごとく歩容生成を続ける。
以上が、 歩容生成装置 2 0 0における目標歩容生成処理、 ならびに、 自己位置姿勢推定部 2 1 4の自己位置姿勢推定処理である。
図 6を参照してこの実施形態に係る制御ュニッ ト 6 0の制御処理をさ らに説明すると、 歩容生成装置 2 0 0において、 上記したように目標歩 容が生成される。 生成された目標歩容のうち、 目標上体位置姿勢 (軌 道) および目標腕姿勢軌道は、 口ポッ ト幾何学モデル (逆キネマテイク ス演算部) 2 0 2に直接送られる。
また、 目標足平位置姿勢 (軌道)、 目標 Z M P軌道 (目標全床反力中 心点軌道)、 および目標全床反力 (軌道) (目標床反力水平成分と目標床 反力鉛直成分) は、 複合コンプライアンス動作決定部 2 0 4に直接送ら れる一方、 目標床反力分配器 2 0 6にも送られる。 目標床反力分配器 2 0 6では、 目標全床反力は各足平 2 2 R, 2 2 Lに分配され、 目標各足 平床反力中心点および目標各足平床反力が決定される。 その決定された 目標各足平床反力中心点および目標各足平床反力が複合コンプライアン ス動作決定部 2 0 4に送られる。
複合コンプライアンス動作決定部 2 0 4では、 機構変形補償付き修正 目標足平位置姿勢軌道が生成され、 それがロボッ 卜幾何学モデル 2 0 2 に送られる。 口ポッ ト幾何学モデル 2 0 2は、 目標上体位置姿勢 (軌 道) と機構変形補償付き修正目標足平位置姿勢 (軌道) が入力されると, それらを満足する脚体 2 , 2の 1 2個の関節 ( 1 O R ( L ) など) の関 節変位指令 (値) を算出して変位コントローラ 2 0 8に送る。 変位コン トロ一ラ 2 0 8は、 ロボッ ト幾何学モデル 2 0 2で算出された関節変位 指令 (値) を目標値としてロボッ 卜 1の 1 2個の関節の変位を追従制御 する。
ロボッ ト 1 に生じた床反力 (詳しくは実各足平床反力) は 6軸力セン サ 5 0によって検出される。 その検出値は前記複合コンプライアンス動 作決定部 2 0 4に送られる。 また、 前記図 9の S 0 1 6で後述する如く 求められた推定上体姿勢と歩容生成装置 2 0 0が生成した目標上体姿勢 との差のうちの傾き成分、 すなわち実上体姿勢角偏差 errx , Θ erry が姿勢安定化制御演算部 2 1 2に送られる。 なお、 0 errx はロール方 向 (X軸回り) の傾き成分であり、 0 erry はピッチ方向 (Y軸回り) の傾き成分である。 この姿勢安定化制御演算部 2 1 2で、 ロボッ ト 1の 上体姿勢の傾きを目標歩容の上体姿勢の傾きに復元するための目標全床 反力中心点 (目標 Z M P ) まわりの補償全床反力モーメント Mdmd が 算出され、 この補償全床反力モーメント Mdmd が複合コンプライアン ス動作決定部 2 0 4に与えられる。 複合コンプライアンス動作決定部 2 0 4は、 入力値に基づいて目標足平位置姿勢を修正する。 具体的には、 複合コンプライアンス動作決定部 2 0 4では、 実全床反力 (すべての実 足平床反力の合力で、 並進力およびモーメントの両者を含む) が、 目標 各足平床反力の合力である目標全床反力と補償全床反力モーメン ト Mdmd との合力に一致するように、 歩容生成装置 2 0 0から与えられ た目標足平位置姿勢を修正して、 機構変形補償付き修正目標足平位置姿 勢 (軌道) を決定する。 ただしすベての状態を目標に一致させることは 事実上不可能であるので、 これらの間にトレードオフ関係を与えて妥協 的になるベく一致させる。 すなわち、 足平位置姿勢及び床反力の各目標 に対する制御偏差に重みを与えて、 制御偏差 (あるいは制御偏差の 2 乗) の重み付き平均が最小になるように制御する。
補足すると、 機構変形補償付き修正目標足平位置姿勢 (軌道) は、 複 合コンプライアンス動作決定部 2 0 4によって修正された床反力の目標 値を発生させるために必要な足平の変形機構 (円柱状ゴム、 足底スポン ジおよび衝撃吸収用の袋状のエアダンパー) の変形量を変形機構の力学 モデル (ばねダンパーモデル等) を用いて求めて、 その変形量が発生す るように修正した、 目標足平位置姿勢 (軌道) である。
以下に、 本実施形態における S 0 1 6の自己位置姿勢推定処理につい て、 そのフローチャートである図 1 0を用いて詳説する。
まず図 1 0の S 2 2 0 0において、 上体 3の前記傾斜センサ 5 4に備 えたジャイロセンサの検出値、 すなわち上体 3の角速度 ( 3軸方向の角 速度) の検出値を積分器により積分して推定上体姿勢 (以下、 慣性航法 的推定上体姿勢ということもある) を求める。 この推定上体姿勢はグロ 一パル座標系で記述される。 なお、 この処理では、 前制御周期 (前回以 前の制御周期) で、 後述する S 2 2 0 2から S 2 2 1 4の処理により求 めた上体位置の推定値たる推定上体位置等を用いてジャィ口センサの検 出値の積分誤差の蓄積によるドリフトを補正する ドリフ ト補正も行われ る。 その詳細については後述する。
次いで、 S 2 2 0 2に進み、 制御周期の間 (前回制御周期と今回制御 周期との間) におけるグローバル座標系から見た推定上体姿勢 (S 2 2 0 0で求まる推定上体姿勢) の変化量と、 該制御周期の間におけるグロ 一バル座標系から見た目標歩容の上体姿勢の変化量との差を姿勢回転偏 差変化量として算出する。 換言すれば、 グローバル座標系から見た推定 上体姿勢の変化速度と、 目標上体姿勢の変化速度との差を姿勢回転偏差 変化量として算出する。
なお、 グロ一バル座標系から見た目檩歩容の上体姿勢とは、 現在の推 定支持脚座標系上 (より詳しくは、 前回の制御周期に決定された推定支 持脚座標系上) で、 制御周期の間、 上体 3の姿勢傾きやスピン (目標上 体姿勢からのずれ) がなく口ポッ ト 1が目標歩容通りに運動したと仮定 した場合のグローバル座標系から見た上体姿勢のことである。 ただし、 推定支持脚座標系とは、 実際のロボッ ト 1の支持脚足平 2 2の推定位置 姿勢に対応した支持脚座標系である。 すなわち、 推定支持脚座標系は、 前記した支持脚座標系の定義によって、 より具体的には、 実際のロポッ ト 1の支持脚足平 2 2を、 その推定位置姿勢から、 接地面との間で滑ら さないで水平まで回転させた時の、 該支持脚の足首中心から接地面への 垂直投影点を原点とし、 該支持脚足平 2 2のつま先に向かう水平軸を X 軸にとり、 鉛直軸を Z軸、 これらに直交する座標軸を Y軸にとった座標 系である。
次いで S 2 2 0 4に進み、 姿勢回転中心を決定する。 具体的には、 そ の瞬間の目標 Z M P (目標 Z M Pの現在値) を姿勢回転中心として決定 する。 なお、 口ポッ ト 1の走行における空中期では、 例えば目標歩容に おける口ポッ ト 1の重心を姿勢回転中心として決定する。
次いで S 2 2 0 6に進み、 現在の推定支持脚座標系 (前回の制御周期 で決定された推定支持脚座標系で、 図 1 1 に示す時刻 t _△ tにおける 推定支持脚座標系) を、 前記姿勢回転偏差変化量だけ、 前記姿勢回転中 心まわりに回転させた位置 · 姿勢を改めて現在の推定支持脚座標系 (図 1 1に示す時刻 t における推定支持脚座標系) と決定する。
なお、 推定支持脚座標系の原点および座標軸の向きは、 グローバル座 檩系によって表されるものとする。 また、 S 0 1 0の初期化処理におい て、 推定支持脚座標系の初期値 (グローバル座標系での初期位置姿勢) がセッ 卜されているものとする。
また、 推定支持脚座標系の回転中心は、 空中期のない通常の歩行にお いては、 支持脚足平 2 2の滑り回転の回転中心を意味する。 なお、 走り など、 1歩の途中に支持脚も床から離れている空中期においては、 狭義 の意味では支持脚足平 2 2の滑りが存在するわけではないので、 空中で の姿勢回転 (あるいはスピン) は、 推定支持脚座標系の回転中心まわり の回転で表現するのが望ましい。 しかし、 広義の意味で 「支持脚足平の 滑り」 を推定支持脚座標系の回転中心まわりの姿勢回転と定義しても良 いことである。
補足すると、 支持脚座標系は、 支持脚足平 2 2の接地面に対して設定 するもので、 その原点は、 前述のように支持脚の足首中心から接地面へ の垂直投影点にしなくても良い。 すなわち、 支持脚座標系は、 ロボッ ト 1の運動を記述するための支持脚足平 2 2の近傍の仮想の床に設定され たローカル座標系である。 結局、 口ポッ ト 1の姿勢回転 (あるいはスピ ン) 現象は、 口ポッ ト 1が前記仮想の床上で相対的には姿勢回転 (ある いはスピン) しないで運動している状態を保ったまま、 口ポッ ト 1 ごと 前記仮想の床を、 グローバル座標系のなかである所定の点を回転中心と して姿勢回転 (あるいはスピン) させた現象とみなされる。
さらに言い替えると、 口ポッ ト 1の運動は、 口一カル座標系において 目標歩容あるいは関節変位検出値に従って運動しているロポッ ト 1の全 体が、 ローカル座標系ごと、 グローバル座標系に対して、 ある所定の点 (姿勢回転中心) を回転中心として摂動回転をしているとみなすことが できる。
したがって、 姿勢回転中心は、 推定支持脚座標系の回転中心であり、 また、 前記摂動回転の回転中心であるとも言える。
また、 S 2 2 0 6における姿勢回転後の現在の推定支持脚座標系の Z 軸の向きは一般には、 鉛直方向を向かない。 そこで、 姿勢回転後に、 現 在の推定支持脚座標系の Z軸を鉛直方向に戻す (該 Z軸の鉛直方向に対 する傾斜角度分だけ、 次回歩容推定支持脚座標系をその原点回りに回転 させる) ようにしてもよい。 あるいは、 S 2 2 0 6の姿勢回転処理の際 に、 前記姿勢回転偏差変化量のうち、 鉛直軸回りの成分 (スピン成分) だけ、 推定支持脚座標系を回転させるようにしてもよい。
次いで S 2 2 0 8に進み、 着地時刻であるか否か、 すなわち歩容の切 り替わり目であるか否かを判定する。
S 2 2 0 8の判定結果が Y E Sである場合には、 以下の処理を行う。 すなわち、 まず S 2 2 1 0に進み、 図 1 2に示す如く、 現在の推定支持 脚座標系 (S 2 2 0 6での姿勢回転後の推定支持脚座標系) に対する次 回歩容推定支持脚座標系の相対位置姿勢関係が、 目標歩容 (前回歩容) における支持脚座標系に対する次回歩容支持脚座標系の相対位置姿勢関 係と同一関係になるように、 次回歩容推定支持脚座標系を決定する。 な お、 ここで言う次回歩容支持脚座標系は、 これから生成しょうとしてい る今回歩容に対する次回歩容支持脚座標系ではなく、 前回歩容の次の歩 容 (つまり今回歩容) の支持脚座標系のことである。 また、 目標歩容の 支持脚座標系はその Z軸が鉛直方向を向く座標系であるので、 姿勢回転 後の現在の推定支持脚座標系に対して上記の相対位置姿勢関係を満たす 次回歩容推定支持脚座標系の Z軸は、 一般には鉛直方向を向かない。 そ こで、 本実施形態では、 姿勢回転後の現在の推定支持脚座標系に対して 上記の相対位置姿勢関係を満たす次回歩容推定支持脚座標系の Z軸を鉛 直方向に戻す (該 Z軸の鉛直方向に対する傾斜角度分だけ、 次回歩容推 定支持脚座標系をその原点回りに回転させる) ことで、 最終的に次回歩 容推定支持脚座標系を決定するようにしている。 なお、 S 2 2 0 6にお いて、 前述の如く推定支持脚座標の Z軸を鉛直方向に向けるようにした 場合には、 S 2 2 1 0で次回歩容推定支持脚座標系の Z軸を鉛直方向に 戻す処理は不要である。
次いで S 2 2 1 2に進み、 S 2 2 1 0で決定した次回歩容推定支持脚 座標系の位置姿勢 (原点の位置及び座標軸の向き) を現在の推定支持脚 座標系の位置姿勢に代入する。 つまり、 現在の推定支持脚座標系の位置 姿勢を次回歩容推定支持脚座標系の位置姿勢に置き換える。
S 2 2 1 2の後、 あるいは S 2 2 0 8の判定結果が N〇である場合に は、 S 2 2 1 4に進み、 現在の推定支持脚座標系の位置姿勢に対応して. グローバル座標系での上体位置の推定値たる推定上体位置を決定する。 ただし、 現在の推定支持脚座標系に対する推定上体位置の関係は、 目標 歩容 (前回の制御周期で決定された目標歩容) の支持脚座標系に対する 上体位置 (目標上体位置) の関係に一致させる。
次いで、 S 2 2 1 6に進み、 前記傾斜センサ 5 4に備えた加速度セン ザとジャィ口センサを基に慣性航法により慣性航法的推定上体位置姿勢 を求めつつ、 幾何学的推定上体位置と慣性航法的推定上体位置との差が 0に収束するように慣性航法的上体位置を修正する。 この処理の詳細に ついても後述する。
以上が図 9の S 0 1 6の自己位置姿勢推定処理の概要である。
なお、 S 2 2 1 0では、 次回歩容推定支持脚座標系を決定するために 目標歩容を用いたが、 口ポッ ト 1の歩行を行なう場合には、 次のように して次回歩容推定支持脚座標系を決定するようにしてもよい。
すなわち、 まず、 現在 (着地瞬間) の口ポッ ト 1の関節変位検出値を 基にキネマテイクス演算によって、 現在の推定支持脚座標系における着 地時の実遊脚足平位置 '姿勢 (図 1 2の例では口ポッ ト 1の前側の足平 2 2の位置姿勢) を推定する。 以降、 この推定された着地時の実遊脚足 平位置 ·姿勢を推定着地時遊脚足平位置姿勢と呼ぶ。
ただし、 この時、 ロボット 1が、 現在の推定支持脚座標系上で、 目標 歩容通りの上体姿勢を維持しつつ、 現在の推定支持脚座標系上の仮想の 床に対して支持脚の足平 2 2が滑ることなく、 関節変位検出値の通りに 運動しているものと仮定する。
補足すると、 前記姿勢回転偏差変化量だけ前記姿勢回転中心まわりに 回転させた現在推定支持脚座標系上で、 口ポット 1が、 目標歩容通りの 上体姿勢を維持している姿を想定した理由は、 この瞬間において、 想定 した姿における上体姿勢を、 · グローバル座標系において、 推定上体姿勢 に一致させるためである。 したがって、 現在推定支持脚座標系を、 前記 差だけ姿勢回転させる代わりに、 前記姿勢回転偏差変化量の内の鉛直軸 まわり成分 (スピン成分) だけ回転させる場合には、 口ポッ ト 1が、 現 在の推定支持脚座標系上で、 目標歩容通りの上体向きを維持しつつ、 上 体傾きは、 前記姿勢回転偏差変化量の傾き成分に一致し、 現在の推定支 持脚座標系上の仮想の床に対して支持脚の足平 2 2が滑ることなく、 関 節変位検出値の通りに運動しているものと仮定する。
また、 この時、 6軸力センサ 5 0による床反力検出値と目標歩容の床 反力とのうちの少なくともいずれかを基に、 足平 2 2の変形機構 (前記 図 3及び図 4に示した弾性部材 1 0 6、 接地部材 (足底弾性体) 7 1、 袋状部材 1 0 9等) の変形量を変形機構の力学モデル (ばねダンパーモ デル等) を用いて求め、 その変形量を含めて (考慮して)、 推定着地時 遊脚足平位置姿勢を求めても良い。 より具体的には、 図 1 2に示すロボ ッ ト 1の姿のように、 現在の推定支持脚座標系において上体姿勢を目標 上体姿勢とし、 関節変位を関節変位検出値 (第 j 関節変位検出値 0 j 、 j = l, 2 - ) とし、 変形機構の変形量を床反力検出値を基に推定した 変形量とした場合の全体姿 (その瞬間のロポッ ト 1の全体の姿) を求め. この全体姿における支持脚 (図 1 2ではロボッ ト 1の後ろ側の脚体 2 ) に対する遊脚足平位置姿勢を求め、 これをもって推定着地時遊脚足平位 置姿勢とするようにしても良い。 また、 モ一夕電流指令あるいは検出値 を基に外乱オブザーバを用いて、 減速機やリンクに作用する負荷を推定 し、 推定した負荷を基に前記減速機やリンクの変形を推定して、 前記減 速機やリ ンクの変形を含めて (考慮して)、 推定着地時遊脚足平位置姿 勢を求めるようにしても良い。
または、 少なくとも目標歩容の関節変位 (関節変位目標値) とコンプ ライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参 照のこと) を基に、 キネマテイクス演算によって推定着地時遊脚足平位 置姿勢を求めるようにしても良い。
これらにより、 より一層精度良く推定着地時遊脚足平位置姿勢を求め ることができる。
また、 口ポッ ト 1の歩行を行っている場合には、 S 2 2 1 4の処理で は、 前記推定着地時遊脚足平位置姿勢を求めた手法と同様の手法を用い. 現在のロポッ ト 1の各関節の関節変位検出値を基に、 キネマティク演算 演算によって支持脚座標系に対する上体位置を求め、 この位置関係に、 現在の推定支持脚座標系に対する推定上体位置の位置関係が一致するよ うに、 推定上体位置を決定するようにしてもよい。 この場合、 推定上体 位置、 推定支持脚座標系および関節変位検出値の関係は、 図 1 2に示す ような関係になる。
または、 少なくとも目標歩容の関節変位 (関節変位目標値) とコンプ ライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参 照のこと) を基に、 キネマテイクス演算によって支持脚座標系に対する 上体位置を求め、 これに推定支持脚座標系に対する推定上体位置の関係 を一致させても良い。
これらにより、 より一層精度良く推定上体位置を決定することができ る。
次に、 S 2 2 0 0の処理及び S 2 2 1 6の処理を図 1 3を参照しつつ 詳説する。 なお、 以降の説明では、 S 2 2 1 4で前述の如く決定される 推定上体位置を幾何学的推定上体位置という。
S 2 2 0 0の処理を詳説すると、 まず、 前回の制御周期およびそれ以 前に、 前述の如く決定した幾何学的推定上体位置の運動を基に、 幾何学 的推定上体位置の 2階微分である幾何学的推定上体加速度を算出する。 この処理は、 図 1 3のブロック 3 0 1で実行される。 なお、 幾何学的推 定上体位置を求める処理は、 図 1 7のブロック 3 0 0で実行されるもの とする。 補足すると、 上体代表点と加速度センサの位置が一致していれ ば、 幾何学的推定上体加速度 (厳密には幾何学的に推定される上体 3の 中の加速度センサ位置の加速度) を算出する上で、 推定上体姿勢は必要 ない。
次いで、 加速度センサ検出値 (上体加速度検出値) を、 推定上体姿勢 を用いてグロ一バル座標系に変換してなる加速度センサ検出値グローバ ル座標系換算値を求める。 この処理は、 図 1 3のブロック 3 0 2で実行 される。 なお、 説明を簡単にするために、 ここでは、 加速度センサの位 置と上体代表点の位置は一致しているものとする。 異なる場合には、 キ ネマティクス演算によって、 加速度センサ検出値およびジャィ口センサ 検出値を上体代表点における加速度 · 角速度に変換するか、 あるいは、 上体代表点における加速度 · 角速度を加速度センサの位置における加速 度、 ジャィ口センサの位置における角速度に変換すれば良い。
次いで、 図 1 4 ( a ) および図 1 4 ( b ) に示すように、 加速度セン サ検出値グロ一バル座標系換算値から幾何学的推定上体加速度を減じる (ベク トルの減算を行う) ことにより、 推定重力加速度を求める。 加速 度センサ検出値グローバル座標系換算値には、 加速度センサに作用する 重力による加速度成分が含まれるが、 幾何学的推定上体加速度には、 重 力による加速度成分が含まれない。 従って、 加速度センサ検出値グロ一 バル座標系換算値から幾何学的推定上体加速度を減じることで、 推定重 力加速度が求められる。 この処理は、 図 1 3のブロック 3 0 3で実行さ れる。 なお、 図 1 4 ( a ) は、 推定上体姿勢に誤差がない場合、 図 1 4
( b ) は、 推定上体姿勢に誤差 (以降、 これを推定上体姿勢誤差、 ある いは推定上体姿勢誤差角度と呼ぶ) がある場合を示す。
一方、 図 1 4 ( a ) および図 1 4 ( b ) に示すように、 推定上体姿勢 を基に口ポッ ト 1が推定したグロ一バル座標系の鉛直方向 (Z軸方向) に発生すると想定される重力加速度を想定重力加速度と呼ぶ。
前述したように、 幾何学的推定上体加速度はグローバル座標系で記述 される。 また、 実際の口ポッ ト 1は、 推定上体姿勢が実際の上体姿勢を 正しく推定しているとみなした上で、 目標歩容に追従するように運動し ている。 言い換えると、 推定上体位置姿勢を基に推定されるグロ一バル 座標系が正しいとみなした上で、 前記推定されたグローバル座標系上で 目標歩容に追従するように運動している。 より厳密に表現するならば、 口ポッ ト 1の自己位置姿勢推定処理においては、 推定上体位置姿勢を基 に推定されるグローバル座標系が正しいと信じ、 実際の口ポッ ト 1の挙 動を、 正しいと信じているグローバル座標系に設定されるローカル座標 系である推定支持脚座標系上で目標歩容通りに運動している口ポッ ト 1 が、 各瞬間に、 姿勢検出手段によって得られた (検出あるいは推定され た) 上体姿勢の変化速度と目標歩容の上体姿勢変化速度の差としての姿 勢回転偏差変化量で、 姿勢回転中心決定手段によって決定されたその瞬 間の所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共に、 回転 したものであるとみなしている。
したがって、 推定上体姿勢が正しく、 かつ加速度センサの検出値に誤 差がなければ、 図 1 4 ( a ) に示すように、 前記想定重力加速度と前記 推定重力加速度とは一致する。
これに対し、 加速度センサの検出値に誤差がなくても、 推定上体姿勢 に誤差があれば、 図 1 4 ( b ) に示すように、 前記想定重力加速度の向 きと前記推定重力加速度の向きとには、 推定上体姿勢誤差角度だけずれ が生じる。 すなわち、 式 4 2が成立する。 推定上体姿勢誤差角度 = 想定重力加速度と推定重力加速度との間 の角度
…式 4 2 図 1 4 ( a ) および図 1 4 ( b ) に示すように、 推定重力加速度と想 定重力加速度との差を重力加速度推定誤差と呼ぶと、 上記の関係から、 重力加速度推定誤差は、 加速度センサの検出値に誤差がなければ、 推定 上体姿勢の誤差によって発生し、 推定上体姿勢を基にロポッ ト 1が推定 したグローバル座標系から見た重力加速度推定誤差の水平成分 (推定重 力加速度の想定重力加速度に直交する成分) と推定上体姿勢誤差角度と には、 式 4 3の関係があることがわかる。 ただし、 式 4 3は、 重力加速 度推定誤差の前後方向成分 (X成分) と推定上体姿勢誤差角度 Y軸まわ り成分との関係を表す。 重力加速度推定誤差の左右方向成分 (Y成分) と推定上体姿勢誤差角度 X軸まわり成分の関係を表す場合においては、 右辺のマイナス記号を削除すれば良い。 ここで、 重力加速度は、 正であ る。 重力加速度推定誤差の水平成分
= - tan( 推定上体姿勢誤差角度 )*重力加速度
…式 4 3 本実施形態においては、 式 4 2あるいは式 4 3から算出される推定上 体姿勢誤差角度を用いて、 推定上体姿勢誤差が 0に収束するように推定 上体姿勢を補正するようにした。
S 2 2 0 0の処理の説明に戻ると、 式 4 2を用いて、 現在の瞬間 (厳 密には、 1制御周期前の瞬間) における想定重力加速度と推定重力加速 度との間の角度から推定上体姿勢誤差角度を算出する。 あるいは、 式 4 3を用いて、 現在の瞬間 (厳密には、 1制御周期前の瞬間) における重 力加速度推定誤差の水平成分から推定上体姿勢誤差角度を算出しても良 い。 推定上体姿勢誤差角度の算出処理は、 図 1 3のブロック 3 0 4で実 行される。
次いで、 前記推定上体姿勢誤差角度を、 図 1 3のブロック 3 0 5にて. センサ座標系 (座標軸をジャイロセンサの検出軸に合わせた座標系) に 変換した後、 ブロック 3 0 6にて、 その変換後の値に積分ゲイン Ka を 乗じた値を積分することにより、 推定ジャイロセンサドリフト (ジャィ 口センサのドリフトの推定値) を求める。 さらに、 この推定ジャイロセ ンサドリフトを、 ブロック 3 0 7にて、 ジャィ口センサ検出値 o in (上 体角速度検出値) から減じることにより、 ドリフトを補正した角速度を 求める。 なお、 ブロック 3 0 7では、 ョ一レ一トのドリフトも適宜減算 されるが、 これについては後述する。 さらに、 このドリフトを補正した 角速度を、 ブロック 3 0 8にて、 推定上体姿勢を用いてグローバル座標 系に変換することにより、 グローバル上体角速度 o glを求める。
次いで、 前記推定上体姿勢誤差角度にゲイン Kb を図 1 3のブロック 3 0 9で乗じた値を、 グロ一バル上体角速度から減じた値をプロック 3 1 0 (積分器) で積分することにより、 新たな推定上体姿勢 0 estm を 求める。
なお、 推定上体姿勢 0 estm や角速度などは、 クォータ二オン、 回転 行列、 あるいはオイラー角などで表現される。
ジャイロセンサのドリフト (推定ジャイロセンサドリフト) を上記の ごとき構成により推定する場合、 推定が効果的に働くためには、 推定上 体姿勢誤差角度のセンサ座標系への変換値 (ベク トル) のそれぞれの要 素 (それぞれのセンサ検出軸まわりの推定上体姿勢誤差角度、 言い換え るとセンサ口一カル推定上体姿勢誤差角度) が、 その要素に対応するジ ャイロセンサのドリフトの影響のみを受けて、 他のジャイロセンサのド リフ トの影響を受けない、 あるいは、 ほとんど受けないことが前提条件 となる。
言い換えると、 推定上体姿勢誤差角度の X ( Y ) 軸まわり成分の誤差 は、 X ( Y ) 軸用ジャイロセンサのドリ フ トの影響を受けるが、 Y ( X ) 軸用ジャイロセンサのドリフトの影響を受けないことが前提条件 となる。
もし、 X軸用ジャイロセンサのドリフ トの影響により、 推定上体姿勢 誤差角度の X軸まわり成分が発生した後、 上体をセンサ座標系の Z軸ま わりに急に 9 0度回転させると、 推定上体姿勢誤差角度は、 グローバル 座標系において蓄積されたままであるので、 結果的に推定上体姿勢誤差 角度のセンサローカル X軸まわり成分が、 推定上体姿勢誤差角度のセン サローカル Y軸まわり成分に移る。 したがって、 前記前提条件が成立す るためには、 センサ座標系 Z軸まわりの回転速度の絶対値が十分に小さ いことが必要条件となる。
よって、 Z軸 (上体の上下方向軸) 用ジャイロセンサ検出値の絶対値 が大きい時には、 積分ゲイン Ka を小さくするか、 あるいは 0にする (すなわちジャイロセンサのドリフ ト補正を行わない) ようにするのが 望ましい。
また、 通常、 ロボッ ト 1の移動時や作業時には、 上体 3の上下軸 (体 幹軸) は鉛直姿勢あるいはその近傍の姿勢になっているので、 ジャイロ センサの角速度検出値をグロ一バル座標系に変換したグローバル上体角 速度 o glz は、 Z軸用ジャイロセンサの角速度検出値の値に近い値とな る。
よって、 図 1 5に示すように、 ジャイロセンサの角速度検出値をグロ 一バル座標系に変換したグロ一バル上体角速度の鉛直軸まわり角速度 ω glz の絶対値が大きい時には、 積分ゲイン Ka を小さくするか、 あるい は 0にする (すなわちジャイロセンサのドリフト補正を行わない) よう にしても良い。
また、 ジャイロセンサの角速度検出値の代わりに、 上体 3の目標歩容 の上体回転速度の鉛直軸まわり成分あるいは上体 3の上下方向軸まわり 成分の絶対値が大きい時には、 積分ゲイン Ka を小さくするか、 あるい は 0にする (すなわちジャイロセンサのドリフト補正を行わない) よう にしても良い。
以上をまとめて言い換えると、 ジャィ口センサの角速度検出値および 目標歩容の少なく ともいずれかを基に求められる上体回転速度の鉛直軸 まわり成分あるいは上体 3の上下方向軸まわり成分の絶対値が大きい時 には、 積分ゲイン Kaを小さくするか、 あるいは 0にする (すなわちジ ャイロセンサのドリフト補正を行わない) と良い。
また、 加速度センサ検出値グローバル座標系換算値から想定重力加速 度を減じた値の絶対値あるいは、 幾何学的推定上体加速度の絶対値が大 きい場合には、 センサの検出誤差やロポッ 卜 1本体の剛性不足などによ り、 推定重力加速度の誤差が大きくなる傾向があるので、 上記ゲイン Kaを小さく、 あるいは 0に設定するのが良い。
また、 前述したごとく、 実際のロボッ ト 1は、 推定上体位置姿勢を基 に推定されるグローバル座標系が正しいとみなした上で、 前記推定され たグローバル座標系上で目標歩容に追従するように運動している。 した がって、 支持脚が接地している状態においては、 推定上体姿勢に大きな 誤差があっても、 実際の上体加速度は、 実際の重力加速度に支配されず、 前記推定されたグロ一バル座標系上での幾何学的推定上体加速度に、 ほ ぼ一致する。 一方、 空中期においては、 実際の上体加速度は、 実際の重 力加速度に支配されて加速するので、 前記推定されたグローバル座標系 上での幾何学的推定上体加速度の方向と大きくずれ、 図 1 4 ( b ) の関 係が成立しなくなる。 したがって、 空中期においては、 幾何学的推定上 体位置の精度は、 比較的高精度の加速度センサとジャィ口センサを基に 慣性航法によって求めた上体位置の精度よりも低下しがちとなる。 した がって、 空中期においても、 上記ゲイン Ka を小さく、 あるいは 0に設 定するのが良い。
また、 前述のように足平 2 2の変形を考慮して上体位置を推定する場 合には、 空中期でなくとも、 脚体先端部の足平 2 2が床と良好に接触し ていない状態では、 足底付近の変形量推定の誤差が大きくなる傾向があ るので、 幾何学的推定上体加速度の精度は低下する。 したがって、 支持 脚の足平 2 2と床との間の接触面積が小さい場合にも、 上記ゲイン Ka を小さく、 あるいは 0に設定するのが良い。
なお、 脚体 2の足平 2 2が床と良好に接触している状態とは、 具体的 には、 以下のような状態の少なくともいずれかが満足する状態、 あるい は以下のうちの複数が同時に満足する状態を指す。
a)足平 2 2の底面と床との間の接触面積が大きい状態、 例えば、 足平 2 PC菌雇 49
4 0
2が床にベたに接触している状態 (いわゆるベた足状態)
b)床反力の分布圧が比較的均一である状態
c)接地箇所が多い状態
d)目標 Z M P (あるいは実床反力中心点) が足平 2 2の中央あるいは中 央に近い状態
e)接地圧または床反力が高い状態
f)足平 2 2の位置姿勢変化率が小さい状態、 厳密には、 足平 2 2の底面 と床の相対位置姿勢関係の変化が小さい状態
上記状態の判定には、 例えば目標歩容の時期 (フェーズ)、 目標 Z M P、 床反力検出値を基に行えばよい。 あるいは、 本実施例では備えてい ないが、 分布圧センサや接触センサの検出値を基に上記状態の判定を行 つてもよい。
以上のゲイン設定法をまとめると、 ジャィ口センサの角速度検出値お よび目標歩容の少なくともいずれかを基に求められる上体回転速度の鉛 直軸まわり成分あるいは上体 3の上下方向軸まわり成分の絶対値が大き い状態、 加速度センサ検出値グロ一バル座標系換算値から想定重力加速 度を減じた値の絶対値あるいは、 幾何学的推定上体加速度の絶対値が大 きい状態、 空中期、 あるいは、 脚先端部 (足平) が床と良好に接触して いない状態では、 上記ゲイン Ka を小さく、 あるいは 0に設定するのが 良い。
すなわち、 'これらの状態を基に総合的に判断して積分ゲイン Ka を決 定するのが良い。
またこれらの状態の瞬時値、 あるいは長期的傾向に応じて積分ゲイン Kaを決定しても良い。
同じ理由により、 積分ゲイン Kb も前記ゲイン Ka と同様に設定する ことが好ましい。 03 05449
4 1 本実施形態での S 2 2 0 0においては、 以上の処理の他に、 以下のよ うに、 状況によりョ一レート補正 (ョ一方向のドリフ ト補正) も行われ る。 この補正処理が、 本願発明の特徴に係わる処理である。
すなわち、 まず、 ョーレート補正を行うか否かを、 図 1 3のブロック 3 1 6で判定する。
具体的には、 以下の条件の少なくともいずれかひとつあるいは複数を 判断条件として用意し、 この判断条件を満足している場合には、 ョーレ 一ト補正を行うと判断する。
a)検出された床反力の鉛直軸まわりモーメント (あるいはその微分値) の絶対値がある所定の値以内である状況
b)目標動作がほぼ静止である状況
c)足底と床の間の接触状況が良好で滑りが生じていないと考えられる状 況
d)目標歩容の姿勢角速度とジャイロ検出値 (姿勢角速度検出値) の差の 絶対値がある所定の値以内である状況
e)目標歩容の姿勢角速度の絶対値がある所定の値以内である状況 f)ジャイロ検出値 (姿勢角速度検出値) の絶対値がある所定の値以内で ある状況
基本的には、 支持脚足平 2 2 と床との接地面で滑り (回転滑り) が生 じないかもしくは生じ難いという状況で、 ョーレート補正を行うと判靳 する。
なお、 d ) および f ) におけるジャイロ検出値は、 ジャイロセンサの 検出値そのもの (ジャィ口センサの生の出力そのものが表す姿勢角速度 検出値) をョ一レ一ト補正した値であることが望ましい。
次いで、 ョ一レート補正を行うと判定された場合には、 図 1 3に示す ように、 前記 6軸力センサ 5 0 (床反力センサ) による床反力検出値を PC確 3/05449
4 2 基に、 ブロック 3 1 1 にて、 足平 2 2の変形機構 (前記図 3及び図 4に 示した弾性部材 1 0 6、 接地部材 (足底弾性体) 7 1、 袋状部材 1 0 9 等) の変形量を変形機構の力学モデル (ばねダンパーモデル等) を用い て求める。 そして、 ブロック 3 1 2にて、 この求めた変形量 (機構変形 量) と、 目標歩容 (目標運動) とを基に、 口ポッ ト 1 の最新の着地時 (着地瞬間) に記憶した推定支持脚座標系 (図 1 0の最新の S 2 2 1 2 で決定した推定支持脚座標系) に対応する足平 2 2と床との間に滑りが 生じていないと想定した場合の上体姿勢 (以降、 滑りなし推定上体姿勢 と呼ぶ) を算出する。 つまり、 最新の着地瞬間以降、 姿勢回転 (姿勢回 転偏差の変化) を生じなかったと仮定して (着地瞬間以降、 推定支持脚 座標系の位置姿勢が変化していないと仮定して)、 前記機構変形量を考 慮しつつ、 目標歩容 (目標運動) を基に、 現在の滑りなし推定上体姿勢 を求める。 なお、 目標歩容 (目標運動) の代わりに、 ロボッ ト 1の関節 の変位検出値もしくは変位目標値を用いて、 滑りなし推定上体姿勢を求 めてもよい。 また、 モータ電流指令あるいは検出値を基に外乱ォブザー バを用いて、 減速機やリンクに作用する負荷を推定し、 推定した負荷を 基に前記減速機ゃリンクの変形を推定して、 前記減速機ゃリンクの変形 を含めて (考慮して)、 滑りなし推定上体姿勢を求めるようにしても良 い。 または、 少なく とも目標歩容の関節変位とコンプライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参照) を基に、 キネ マティクス演算によって滑りなし推定上体姿勢を求めるようにしても良 い。 これらにより、 より一層精度良く滑りなし推定上体姿勢を求めるこ とができる。
次いで、 上記の如く求めた滑りなし推定上体姿勢の現在値及び前制御 周期 (前回以前の制御周期) の値を用いて該滑りなし推定上体姿勢の微 分値たる滑りなし推定上体姿勢角速度をプロック 3 1 3で求める。 さら に、 前記推定上体姿勢を出力するブロック (積分器) 3 1 0の入力、 す なわちブロック 3 0 8から出力される上体姿勢角速度と上記滑りなし推 定上体姿勢角速度との差をブロック 3 1 4で求め、 この差のうちの、 ョ 一レートセンサ (ョ一レ一ト検出用ジャイロセンサ) の検出方向成分 (以下、 ョーレートセンサ検出方向角速度偏差成分という) をブロック 3 1 5で抽出する。 なお、 このョ一レートセンサ検出方向角速度偏差成 分の抽出には、 推定上体姿勢 (前回の制御周期で求めた値) が用いられ る。 該推定上体姿勢の代わりに、 目標歩容の上体姿勢を用いてもよい。 なお、 上体姿勢が鉛直または鉛直に近い場合には、 前記差 (ブロック 3 1 4の出力) の鉛直方向成分の値をョーレートセンサ検出方向角速度偏 差成分として用いてもよい。
次いで、 ョーレートセンサ検出方向角速度偏差成分を、 フィードバッ ク制御則のブロック 3 1 8に入力することで、 ョ一レ一ト ドリフトを求 める (推定する)。 ブロック 3 1 8のフィードバック制御則としては、 例えば P I制御則が用いられ、 前記ョ一レートセンサ検出方向角速度偏 差成分 (ブロック 3 1 5の出力) にゲイン Kf を乗じた値と、 該ョーレ 一トセンサ検出方向角速度偏差成分の積分値にゲイン Kg を乗じた値と の和を求めることによりョーレ一ト ドリフトが求められる。 そして、 こ の求めたョーレ一ト ドリフトを、 前記ブロック 3 0 7で前記角速度セン サ検出値 co in から減じる。 また、 ョーレート補正を行わないと判定さ れた場合には、 フィードバック制御則のブロック 3 1 8への入力を遮断 して (図 1 3のスィッチ 3 1 7をブロック 3 1 5の出力側から切り離し. 「 0」 入力側に閉成する)、 直前のョーレ一ト ドリフ ト値を保持し、 そ の値を前記角速度センサ検出値 ω inから減じるようにする。
以上が図 1 0の S 2 2 0 0におけるョ一レ一ト補正の処理の詳細であ る。 4 4 次に、 図 1 0の S 2 2 1 6の処理を図 1 3を参照して詳説する。 S 2 2 1 6 の処理では、 図 1 3 に示すごと く慣性航法的推定上体位置 Xinertestm の前回値と前記幾何学的推定上体位置との差をプロック 3 1 9で求め、 この差の時間微分値 (または制御周期の間の前記差の変化 量) にゲイン Kc を乗じた値と、 該差にゲイン Kd を乗じた値との和を ブロック 3 2 0で求める。 つまり、 上記差からフィードバック制御則と しての P D制御則より、 上記和を求める。 また、 前記ブロック 3 0 2の 出力である前記加速度センサ検出値グローバル座標系換算値と想定重力 加速度 G の差をブロック 3 2 1で求める。 そして、 この差 (ブロック 3 2 1の出力) から上記和 (ブロック 3 2 0の出力) を減じた値をプロ ック 3 2 2にて 2階積分することにより、 新たな慣性航法的推定上体位 置 Xinertestmを決定する。
なお、 ゲイン Kcおよび Kd は、 幾何学的推定上体位置の誤差が大き く発生し易い状況では小さく、 あるいは 0に設定するのが良い。 支持脚 の足平 2 2の底面と床との間の接触面積が小さい場合、 幾何学的推定上 体位置の誤差は、 大きくなる。 したがって、 支持脚の足平 2 2の底面と 床との間の接触面積が小さい場合には、 上記ゲイン Kc および Kd を小 さく、 あるいは 0に設定するのが良い。 また、 特に、 足平 2 2が床にベ たに接触している状態 (いわゆるベた足状態) の時に、 上記ゲイン Kc および Kdを大きくするのが良い。
以上より、 例えば、 走行の場合には、 補正ゲイン Ka、 Kb、 Kc およ び Kd は、 図 8 ( c ) に示す補正ゲイン Kのグラフのように、 足底全面 接地期間では高く、 空中期には、 0または概ね 0にすれば良い。 なお図 8 ( c ) の補正ゲイン Kのグラフは、 Ka、 Kb、 Kcおよび Kdの大きさ の変化の傾向を表してはいるが、 厳密な値を表しているわけではない。 また、 図 8 ( c ) では補正ゲイン Kの最大値が 1 となるように規格化さ れている。 したがって、 Kは、 補正ゲイン Ka、 Kb、 Kc、 Kd の絞り (減衰器) を意味すると考えても良い。
本実施例においては、 前記式 4 2あるいは式 4 3を用いて算出される 推定上体姿勢誤差を基に推定上体姿勢を補正するようにしたが、 式 4 2 および式 4 3を用いず、 直接、 重力加速度推定誤差の水平成分を基に推 定上体姿勢を補正するようにしても良い。 すなわち、 式 4 3の代わりに 次の式 4 4を用いても良い。 重力加速度推定誤差の水平成分 =一推定上体姿勢誤差角度 *重力加 速度
…式 4 4 なお、 ゲイン Ka の設定について補足すると、 空中期においては、 推 定上体姿勢の誤差がいかなる値であろうとも、 ロボッ ト 1 とともに放物 運動をする座標系から見ればロポッ ト 1全体は無重力状態にいるのと同 一であって、 加速度センサの出力は、 推定上体姿勢の誤差の影響を受け ない。 したがって、 加速度センサの検出精度が高く、 目標歩容に対する 実際の口ポッ ト 1の追従性が高く、 口ポッ ト 1の剛性が高く、 且つ目標 歩容を生成するために用いられるロポッ ト動力学モデルのパラメ一夕が 実際の口ポッ ト 1 とほぼ一致しているという条件 (以下、 ここでは条件 Aという) が満足されるならば、 推定重力加速度と想定重力加速度とは 常にほぼ一致する。 厳密には、 推定上体姿勢の誤差に応じて、 推定重力 加速度と想定重力加速度とは同じ量だけ真値からずれるので、 結果的に 推定重力加速度と想定重力加速度とは常にほぼ一致する。 したがって、 本質的に、 空中期においては、 重力方向を推定することはできない。 し かし、 推定重力加速度と想定重力加速度とは常にほぼ一致するので、 そ の瞬間の推定上体姿勢誤差はほぼ 0となり、 上記ゲイン Ka を小さく設 定しなくても、 推定上体姿勢誤差にゲイン Ka を乗じて求められる補正 量もほぼ 0となり、 推定上体姿勢に大きく悪影響を与える恐れは低い。
また、 上記条件 Aを満足する場合には、 ゲイン Ka を一定にしておい た方が、 むしろ推定上体姿勢の低周波数成分 (D C成分) の精度が高く なる場合もある。 なぜなら、 上記のごとく、 ゲイン Ka を乗じた値を積 分した値を 0にするように補正した構成は、 ゲイン Ka を一定にすると, 理論上、 重力加速度推定誤差の水平成分の長時間平均値を 0にするよう に作用し、 また、 推定上体姿勢誤差が 0の時には、 重力加速度推定誤差 の水平成分の長時間平均値は理論上 0になるからである。 しかし、 通常 は、 上記条件 Aを満足することは難しいので、 図 8 ( c ) のようにゲイ ン K aを設定する方が望ましい。
また、 補正ゲイン Ka, Kb, Kc もしくは Kd の値を、 定常カルマン フィルタあるいは非定常カルマンフィル夕の手法を用いて決定しても良 い。 ただし、 本実施形態の口ポッ ト 1においては、 特に移動中において は、 システム雑音 (外乱) と観測雑音の性質が、 カルマンフィル夕の前 提条件を十分に満足してはいないので、 十分な効果を生むとは限らない, 次に、 前記実施形態で決定した姿勢回転中心について、 以下に補足す る。 いずれかの脚体 2が接地し、 十分大きい床反力が発生している時期 においては、 いわゆる支持多角形 (接地面を含む最小凸多角形、 Z M P 存在可能範囲あるいは全床反力中心点存在可能範囲) の中に、 姿勢回転 中心があると考えられる。
この理由を以下に述べると、 姿勢回転中心が支持多角形の外にあると 足平 2 2の底面のあらゆる点が床に対して相対移動していることになる ので、 足平 2 2の底面と床との間のあらゆる接触点には、 動摩擦が働く , 動摩擦は、 口ポッ ト 1が床反力を制御しょうとして、 脚体 2を動かして PC確 3/05449
4 7 も、 一定値のままで、 任意の値に制御することはできない。 すなわち、 氷の上でつるつる滑ってうまく歩けない状態と同じである。 したがって- ロボッ ト 1が床反力を制御しつつ安定に移動している場合には、 足平 2 2の底面と床との間のある領域においては、 滑りが生じないで静摩擦が 作用していると考えれる。 すなわち、 支持多角形の中に、 姿勢回転中心 があると考えられる。 補足すると、 口ポッ ト 1の足平 2 2が完全剛体で あるならば、 姿勢回転中心点以外のあらゆる接触点は滑りが生じるが、 実際の足平 2 2の底面は、 ゴムなどの弾性体でできているので、 姿勢回 転中心の近傍でも滑りは生じないと考えれる。
また、 空中期においては、 口ポッ トは、 重心を中心として摂動運動を すると考えられる。
また、 上記以外の時期、 すなわちいずれかの脚体 2が接地しているが- 床反力が十分に発生していない時期においては、 運動の連続性を考慮す ると、 姿勢回転中心は、 支持多角形と全体重心位置 (あるいは上体代表 点位置) との間に存在すると考えられる。
以上の考察から、 前記図 1 0の S 2 2 0 4において決定する姿勢回転 中心としては、 より一般的には、 以下のいずれかであることが望ましい ( 現在時刻 t における
a)目標 Z M P、
b)実 Z M P (すなわち、 実床反力中心点、 あるいは床反力の圧力中心 点)、
c)支持脚座標系の所定の点、 例えば原点
d)全体重心点、
e)上体代表点
f)上記のいずれかの複数の点の内分点
いずれかの脚が接地し、 十分大きい床反力が発生している時期におい 03 05449
4 8 ては、 姿勢回転中心は、 支持多角形の中に設定するのが良い。 具体的に は、 上記 a)および b)に設定すれば良い。 あるいは、 姿勢回転中心が支 持多角形の中に含まれるように、 上記 c)における所定の点を設定すれ ば良い。 例えば支持脚座標系の原点 (通常、 足首関節の下) に設定すれ ば良い。
空中期においては、 姿勢回転中心は、 上記 d)のように設定するのが 良いが、 全体重心位置は上体代表点位置の近くに存在するので、 上記 e)のように設定しても良い。
上記以外の時期、 すなわちいずれかの脚体 2が接地しているが、 床反 力が十分に発生していない時期においては、 上記 f)のように設定するの が良い。
さらに、 全期間での運動の連続性を考慮すると、 姿勢回転中心点は、 連続的に変化するように設定するのが望ましい。
いずれにしても、 概ねすベての各瞬間において、 口ポッ ト 1の全体を 含む最小凸面体の面上あるいは内部に姿勢回転中心点を設定するのが望 ましい。
なお、 以上説明した実施形態では、 加速度センサおよびまたはジャィ 口センサは、 上体 3以外の部位、 例えば頭部 4に搭載 (内蔵) されてい ても良い。 さらに頭部 4と上体 3との間に首関節がある場合、 首関節の 変位指令 (目標変位) または変位検出値を基に、 加速度センサおよびま たはジャィ口センサの検出値をキネマティクス演算によって、 上体代表 点の加速度と角加速度とに変換しさえすれば、 残りは、 前記各実施形態 と同様に自己位置推定を行えば良い。
また、 推定支持脚座標系および幾何学的推定上体位置を決定する際に 関節変位を用いる場合においては、 その関節変位を、 目標歩容の関節変 位または、 関節変位検出値としたが、 これらの重み付き平均でも良い。 03 05449
4 9 また、 このときの重みは周波数特性を持たせても良い。
推定支持脚座標系や推定上体位置姿勢など、 推定される位置姿勢を表 現する時には、 前記実施形態のごとくグローバル座標系を基準として表 現する代わりに、 目標位置姿勢からの摂動分で表現しても良い。
また、 前記実施形態においては、 前記図 1 3に示したごとく、 グロ一 バル座標系における推定重力加速度を基に、 グローバル座標系における 推定上体姿勢誤差角度を求め、 グローバル座標系における推定上体姿勢 誤差角度にゲイン Kbを乗じた値を、 グローバル上体角速度 c glを積分 する積分器 (図 1 3のブロック 3 1 0 ) に付加的に入力することによつ て、 推定上体姿勢を補正していた。 すなわち、 グロ一バル座標系におい て、 推定上体姿勢を補正していたが、 この代わりに、 ジャイロセンサの ローカル座標系 (上体 3に固定された座標系) 上で補正しても良い。 具 体的には、 図 1 3において、 ゲイン Kb のブロック 3 0 9と、 その出力 をグロ一バル上体角速度 c gl から減じる加算器 (ブロック 3 0 8 ) を 削除し、 積分器 KaZ S (ブロック 3 0 6 ) を、 Ka/S + Kb、 すなわち、 P I制御則のブロックに変更しても良い。
原理上、 このようにローカル座標系で補正しても、 ョーレ一卜が高い 旋回 (その場旋回含む) 時に、 Kb によって傾斜ドリフトの収束が悪く なることはない。
推定上体姿勢の補正において、 加速度センサ検出値グロ一バル座標系 換算値から幾何学的推定上体加速度を減じることにより推定重力加速度 を求める代わりに、 加速度センサ検出値グローバル座標系換算値から目 標歩容の上体加速度を減じることにより推定重力加速度を求めるように しても良い。
実際には、 目標歩容通りに運動しょうとしている口ポッ トには、 姿勢 回転中心まわりの姿勢回転が発生しているので、 姿勢回転によって、 上 P 漏菌 49
5 0 体加速度は、 目標歩容からずれる。 しかし、 姿勢回転の内の姿勢傾斜は. 前後左右に振動しても平均的には、 0である。 また、 通常、 姿勢回転の 内のスピンに関しては、 1歩毎にスピンの向きが逆に切り替わるので、 平均的には 0に近い。 したがって、 遠心力など、 姿勢回転の回転方向に よらずほぼ同一方向に作用する力を除けば、 姿勢回転による上体加速度 への影響は、 正の影響と負の影響とが相殺し、 長期的には、 ほぼ 0にな る。 なお、 ここで、 「長期」 とは、 推定上体姿勢の補正の整定時間以上 の時間を指す。
よって、 推定上体姿勢の補正のために、 幾何学的推定上体加速度を用 いる代わりに、 目標歩容の上体加速度を用いても、 補正の効果が大きく 低下することはない。
以上説明した如く、 前記実施形態においては、 慣性航法によって推定 上体位置 (慣性航法的推定上体位置) と推定上体姿勢とを求めると共に. 幾何学的推定上体位置を用いて慣性航法的な推定上体位置及び推定上体 姿勢を補正するようにしたので、 口ポッ ト 1の自己位置姿勢ならびに着 地位置 · 向き (推定支持脚座標系の位置 · 向き) を精度良く推定するこ とができる。 また、 特に、 口ポッ ト 1の停止時等、 足平 2 2と床との間 の滑りが生じていないと判断される状況では、 ョ一レート補正を行うよ うにしたことによって、 ロボッ ト 1の自己姿勢 (上体姿勢) を精度よく 推定することができる。 産業上の利用可能性
以上の如く、 本発明は、 2足移動ロボッ ト等の脚式移動口ポッ トの上 体等の所定の部位の姿勢を精度よく推定することができる技術を提供す るものとして有用である。

Claims

請 求 の 範 囲
1 . 決定された目標歩容に追従するように制御される脚式移動ロボッ 卜 において、
前記ロボッ トの所定の部位の姿勢角速度を検出する姿勢角速度検出手 段と、
少なくとも前記目標歩容の目標運動と前記ロポッ トの関節の変位検出 値と該関節の変位目標値とのうちのいずれかを含む該ロポッ トの運動状 態量を基に、 前記口ポッ トと床との接触面に滑りが無いと仮定して、 前 記所定の部位の姿勢角速度を推定する無滑り姿勢角速度推定手段と、 少なくとも前記姿勢角速度検出手段の検出値と前記無滑り姿勢角速度 推定手段が推定した姿勢角速度とに応じて、 前記姿勢角速度検出手段の 検出値に対するドリフト補正値を決定するドリフト補正値決定手段と、 少なくとも前記姿勢角速度検出手段の検出値を前記ドリフト補正値に より補正してなる姿勢角速度を積分することにより前記所定の部位の姿 勢角を推定する積分手段とを備え、
前記ドリフト補正値決定手段は、 前記姿勢角速度検出手段の検出値を 前記ドリフト補正値により補正してなる姿勢角速度と前記無滑り姿勢角 速度推定手段が推定した姿勢角速度との偏差を 0に近づけるように新た なドリフト補正値を決定することを特徴とする脚式移動ロポッ 卜の自己 姿勢推定装置。
2 . 前記ドリフト補正値決定手段は、 前記口ポッ トと床との接触面に回 転滑りが生じているか否かを判断する手段を備え、 該回転滑りが生じて いると判断したときには、 前記ドリフト補正値の値を保持することを特 徵とする請求の範囲第 1項に記載の脚式移動ロボッ トの自己姿勢推定装 置。
3 . 脚式移動ロポッ トの所定の部位の姿勢角速度を検出する姿勢角速度 検出手段と、
少なくとも前記ロポッ 卜の運動停止状態における前記姿勢角速度検出 手段の検出値を基に、 該検出値に対する ドリフト補正値を決定する ドリ フ卜補正値決定手段と、
前記ロポッ トの運動中に少なくとも前記姿勢角速度検出手段の検出値 を前記ドリフト補正値により補正してなる姿勢角速度を積分することに より前記所定の部位の姿勢角を推定する積分手段とを備えたことを特徴 とする脚式移動ロポッ トの自己姿勢推定装置。
4 . 前記ドリフト補正値決定手段は、 前記姿勢角速度検出手段の検出値 のうちのョー方向の成分と前記無滑り姿勢角速度推定手段が推定した姿 勢角速度のうちのョ一方向の成分とに応じて前記ドリフト補正値を決定 することを特徴とする請求の範囲第 1項に記載の脚式移動ロポッ トの自 己姿勢推定装置。
5 . 前記ドリフ ト補正値決定手段は、 前記姿勢角速度検出手段の検出値 のうちのョ一方向の成分に応じて前記ドリフ 卜補正値を決定することを 特徴とする請求の範囲第 3項に記載の脚式移動ロポッ 卜の自己姿勢推定
6 . 前記所定の部位は、 前記口ポッ トの上体であることを特徴とする請 求の範囲第 1項又は第 3項に記載の脚式移動ロボッ トの自己姿勢推定装 置。
PCT/JP2003/005449 2002-04-26 2003-04-28 Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes WO2003090981A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP03725699A EP1504855B1 (en) 2002-04-26 2003-04-28 System for estimating attitude of leg type moving robot itself
JP2004501990A JP4181114B2 (ja) 2002-04-26 2003-04-28 脚式移動ロボットの自己姿勢推定装置
KR1020047017286A KR100956537B1 (ko) 2002-04-26 2003-04-28 다리식 이동 로봇의 자기자세 추정 장치
DE60332227T DE60332227D1 (de) 2002-04-26 2003-04-28 System zur selbst abschätzung der lage des mobilen roboters mit beinen
US10/511,128 US6963185B2 (en) 2002-04-26 2003-04-28 System for estimating attitude of leg type moving robot itself

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002127066 2002-04-26
JP2002/127066 2002-04-26

Publications (1)

Publication Number Publication Date
WO2003090981A1 true WO2003090981A1 (fr) 2003-11-06

Family

ID=29267632

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/JP2003/005449 WO2003090981A1 (fr) 2002-04-26 2003-04-28 Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes
PCT/JP2003/005447 WO2003090979A1 (fr) 2002-04-26 2003-04-28 Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes
PCT/JP2003/005448 WO2003090980A1 (fr) 2002-04-26 2003-04-28 Dispositif d'estimation automatique de position pour robots mobiles montes sur des jambes

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/JP2003/005447 WO2003090979A1 (fr) 2002-04-26 2003-04-28 Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes
PCT/JP2003/005448 WO2003090980A1 (fr) 2002-04-26 2003-04-28 Dispositif d'estimation automatique de position pour robots mobiles montes sur des jambes

Country Status (6)

Country Link
US (3) US6963185B2 (ja)
EP (5) EP2110210B1 (ja)
JP (3) JP4181113B2 (ja)
KR (3) KR100956537B1 (ja)
DE (5) DE60332233D1 (ja)
WO (3) WO2003090981A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007007796A (ja) * 2005-07-01 2007-01-18 Toyota Motor Corp 歩行ロボット
US7860611B2 (en) * 2003-06-27 2010-12-28 Honda Motor Co., Ltd. Control device for legged mobile robot
US7996179B2 (en) 2007-07-19 2011-08-09 Samsung Electronics Co., Ltd. Method of measuring pose of mobile robot and method and apparatus for measuring position of mobile robot using the same
CN112334746A (zh) * 2018-06-22 2021-02-05 索尼公司 滑动检测装置
CN114794953A (zh) * 2022-04-19 2022-07-29 净豹智能机器人(台州)有限公司 基于深度学习的智能清洁机器人贴边清洁系统及方法

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3726058B2 (ja) * 2001-12-28 2005-12-14 本田技研工業株式会社 脚式移動ロボットおよびその床反力検出装置
JP3726057B2 (ja) * 2001-12-28 2005-12-14 本田技研工業株式会社 脚式移動ロボットおよびその床反力検出装置
US7319918B2 (en) * 2001-12-28 2008-01-15 Honda Giken Kogyo Kabushiki Kaisha Gait generation device for legged mobile robot
JP3672100B2 (ja) * 2001-12-28 2005-07-13 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
AU2003239171A1 (en) * 2002-01-31 2003-09-02 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
WO2003090982A1 (fr) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes
WO2003090981A1 (fr) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes
JP3938326B2 (ja) * 2002-05-10 2007-06-27 川田工業株式会社 ロボット用付加的支持構造
US20040064195A1 (en) 2002-07-15 2004-04-01 Hugh Herr Variable-mechanical-impedance artificial legs
US7343223B2 (en) * 2003-03-13 2008-03-11 Alps Electric Co., Ltd. Robot apparatus and load sensor
EP1607195B1 (en) * 2003-03-27 2011-01-05 Sony Corporation Robot device and method of controlling the same
US8075633B2 (en) 2003-09-25 2011-12-13 Massachusetts Institute Of Technology Active ankle foot orthosis
US7603199B2 (en) 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body
KR100571839B1 (ko) * 2004-03-31 2006-04-17 삼성전자주식회사 인간형 로봇
KR100620118B1 (ko) * 2004-03-31 2006-09-13 학교법인 대양학원 관성센서를 이용한 보행패턴 분석장치 및 그 방법
JP2006068872A (ja) * 2004-09-03 2006-03-16 Honda Motor Co Ltd 脚式移動ロボット
JP2006136962A (ja) * 2004-11-11 2006-06-01 Hitachi Ltd 移動ロボット
JP4316477B2 (ja) * 2004-11-18 2009-08-19 パナソニック株式会社 移動ロボットの追従方法
JP4492322B2 (ja) * 2004-12-02 2010-06-30 トヨタ自動車株式会社 歩行ロボット
US10080672B2 (en) 2005-03-31 2018-09-25 Bionx Medical Technologies, Inc. Hybrid terrain-adaptive lower-extremity systems
US20070123997A1 (en) 2005-03-31 2007-05-31 Massachusetts Institute Of Technology Exoskeletons for running and walking
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
US20070043449A1 (en) 2005-03-31 2007-02-22 Massachusetts Institute Of Technology Artificial ankle-foot system with spring, variable-damping, and series-elastic actuator components
US8500823B2 (en) 2005-03-31 2013-08-06 Massachusetts Institute Of Technology Powered artificial knee with agonist-antagonist actuation
US20070162152A1 (en) 2005-03-31 2007-07-12 Massachusetts Institute Of Technology Artificial joints using agonist-antagonist actuators
US10307272B2 (en) 2005-03-31 2019-06-04 Massachusetts Institute Of Technology Method for using a model-based controller for a robotic leg
US11278433B2 (en) 2005-03-31 2022-03-22 Massachusetts Institute Of Technology Powered ankle-foot prosthesis
US8512415B2 (en) 2005-03-31 2013-08-20 Massachusetts Institute Of Technology Powered ankle-foot prothesis
US8864846B2 (en) 2005-03-31 2014-10-21 Massachusetts Institute Of Technology Model-based neuromechanical controller for a robotic leg
US20060249315A1 (en) 2005-03-31 2006-11-09 Massachusetts Institute Of Technology Artificial human limbs and joints employing actuators, springs, and variable-damper elements
JP2007041733A (ja) * 2005-08-01 2007-02-15 Toyota Motor Corp 運動体の姿勢角検出装置
EP1927038A2 (en) * 2005-09-23 2008-06-04 Braintech Canada, Inc. System and method of visual tracking
KR100883792B1 (ko) * 2005-12-29 2009-02-18 한국생산기술연구원 이동 로봇의 위치 추정 시스템 및 그 방법
KR20070073273A (ko) * 2006-01-04 2007-07-10 삼성전자주식회사 휴대용 단말기에서 폴더의 회전 상태를 감지하는 장치 및방법
JP5034235B2 (ja) * 2006-01-16 2012-09-26 ソニー株式会社 制御システム及び制御方法、並びにコンピュータ・プログラム
JP4173513B2 (ja) * 2006-06-12 2008-10-29 ヤマザキマザック株式会社 機器移設有無検知装置及びその機器移設有無検知装置を備えた機器
WO2008036354A1 (en) 2006-09-19 2008-03-27 Braintech Canada, Inc. System and method of determining object pose
JP4281777B2 (ja) * 2006-10-05 2009-06-17 トヨタ自動車株式会社 傾斜角推定機構を有する移動体
WO2008076942A1 (en) * 2006-12-15 2008-06-26 Braintech Canada, Inc. System and method of identifying objects
JP4143103B2 (ja) 2006-12-20 2008-09-03 本田技研工業株式会社 移動装置、ならびにその制御システム、制御プログラムおよび監督システム
JP4365402B2 (ja) * 2006-12-20 2009-11-18 本田技研工業株式会社 移動体の移動角度検出装置
JP4171510B2 (ja) 2006-12-20 2008-10-22 本田技研工業株式会社 移動装置、ならびにその制御システム、制御プログラムおよび監督システム
FR2916069B1 (fr) * 2007-05-11 2009-07-31 Commissariat Energie Atomique Procede de traitement pour la capture de mouvement d'une structure articulee
KR100864607B1 (ko) * 2007-05-31 2008-10-22 한국과학기술원 휴머노이드 이족 보행 로봇을 위한 기울기 센서와 각속도센서를 이용한 관성 측정 장치 및 방법
JP5161498B2 (ja) * 2007-06-18 2013-03-13 株式会社豊田中央研究所 姿勢信号演算装置
JP4985776B2 (ja) * 2007-09-25 2012-07-25 富士通株式会社 ロボット制御装置、ロボット制御方法およびロボット制御プログラム
WO2009063400A2 (en) * 2007-11-13 2009-05-22 Koninklijke Philips Electronics N.V. Orientation measurement of an object
JP4968684B2 (ja) 2007-12-10 2012-07-04 本田技研工業株式会社 目標経路設定支援システム
KR100926783B1 (ko) * 2008-02-15 2009-11-13 한국과학기술연구원 물체인식 및 인식된 물체를 포함하는 주변 환경 정보를바탕으로 한 로봇의 자기 위치 추정 방법
KR100988568B1 (ko) * 2008-04-30 2010-10-18 삼성전자주식회사 로봇 및 그 지도작성방법
CN101581936B (zh) * 2008-05-16 2012-01-25 深圳富泰宏精密工业有限公司 利用手机控制两足式机器人的系统及方法
KR20090126038A (ko) * 2008-06-03 2009-12-08 삼성전자주식회사 보행 로봇 및 그 제어 방법
KR101008360B1 (ko) * 2008-07-01 2011-01-14 (주)마이크로인피니티 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
JP2012501739A (ja) 2008-09-04 2012-01-26 アイウォーク・インコーポレーテッド ハイブリッド型地形適応下肢システム
US20110082566A1 (en) 2008-09-04 2011-04-07 Herr Hugh M Implementing a stand-up sequence using a lower-extremity prosthesis or orthosis
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
US8127871B2 (en) * 2008-11-03 2012-03-06 Robert J Viola Frame walker predicated on a parallel mechanism
KR20100078248A (ko) * 2008-12-30 2010-07-08 삼성전자주식회사 보행 로봇 및 그 제어방법
JP4957753B2 (ja) * 2009-06-15 2012-06-20 セイコーエプソン株式会社 ロボット、搬送装置、及び慣性センサーを用いた制御方法
JP5219956B2 (ja) * 2009-07-23 2013-06-26 本田技研工業株式会社 移動体の制御装置
KR20110015765A (ko) * 2009-08-10 2011-02-17 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
US8924015B2 (en) * 2009-09-14 2014-12-30 Honda Motor Co., Ltd. Whole-body humanoid control from upper-body task specifications
JP5232120B2 (ja) * 2009-10-01 2013-07-10 本田技研工業株式会社 移動体の制御装置
KR20130096631A (ko) 2010-04-05 2013-08-30 아이워크, 아이엔씨. 인공기관 또는 정형기구의 토크 제어
JP5456557B2 (ja) * 2010-04-26 2014-04-02 本田技研工業株式会社 ロボット、制御システムおよび制御プログラム
JP5652042B2 (ja) * 2010-08-06 2015-01-14 セイコーエプソン株式会社 ロボット装置、ロボット装置の制御方法およびプログラム
US9839552B2 (en) 2011-01-10 2017-12-12 Bionx Medical Technologies, Inc. Powered joint orthosis
WO2012097156A2 (en) 2011-01-12 2012-07-19 Iwalk, Inc. Controlling powered human augmentation devices
WO2012100250A1 (en) 2011-01-21 2012-07-26 Iwalk, Inc. Terrain adaptive powered joint orthosis
US9060883B2 (en) 2011-03-11 2015-06-23 Iwalk, Inc. Biomimetic joint actuators
JP5930892B2 (ja) * 2011-09-07 2016-06-08 本田技研工業株式会社 接触状態推定装置及び軌道生成装置
US9737419B2 (en) 2011-11-02 2017-08-22 Bionx Medical Technologies, Inc. Biomimetic transfemoral prosthesis
JP5927031B2 (ja) 2011-11-26 2016-05-25 本田技研工業株式会社 倒立振子型車両
KR20130063230A (ko) * 2011-12-06 2013-06-14 삼성전자주식회사 보행 로봇 및 그 제어 방법
US9032635B2 (en) 2011-12-15 2015-05-19 Massachusetts Institute Of Technology Physiological measurement device or wearable device interface simulator and method of use
KR101913332B1 (ko) * 2011-12-23 2018-10-31 삼성전자주식회사 이동 장치 및 이동 장치의 위치 인식 방법
JP5929224B2 (ja) 2012-01-20 2016-06-01 セイコーエプソン株式会社 ロボット
JP5185473B1 (ja) * 2012-02-13 2013-04-17 パナソニック株式会社 脚式ロボット
US9221177B2 (en) 2012-04-18 2015-12-29 Massachusetts Institute Of Technology Neuromuscular model-based sensing and control paradigm for a robotic leg
JP5959927B2 (ja) 2012-05-14 2016-08-02 本田技研工業株式会社 倒立振子型車両
JP5927032B2 (ja) 2012-05-14 2016-05-25 本田技研工業株式会社 倒立振子型車両
JP5808289B2 (ja) 2012-05-14 2015-11-10 本田技研工業株式会社 倒立振子型車両
JP6081081B2 (ja) 2012-05-14 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP5916520B2 (ja) 2012-05-14 2016-05-11 本田技研工業株式会社 倒立振子型車両
JP5959928B2 (ja) 2012-05-14 2016-08-02 本田技研工業株式会社 倒立振子型車両
JP5921950B2 (ja) 2012-05-14 2016-05-24 本田技研工業株式会社 倒立振子型車両
WO2013188510A2 (en) 2012-06-12 2013-12-19 Iwalk, Inc. Prosthetic, orthotic or exoskeleton device
KR101441187B1 (ko) * 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
JP5945477B2 (ja) 2012-08-31 2016-07-05 本田技研工業株式会社 倒立振子型車両、及び倒立振子型車両の制御方法
JP5919143B2 (ja) * 2012-08-31 2016-05-18 本田技研工業株式会社 駆動装置
JP5840109B2 (ja) 2012-11-01 2016-01-06 本田技研工業株式会社 移動体
DE102012224107A1 (de) 2012-12-20 2014-06-26 Continental Teves Ag & Co. Ohg Verfahren zum Bestimmen einer Referenzposition als Startposition für ein Trägheitsnavigationssystem
JP6081238B2 (ja) 2013-03-12 2017-02-15 本田技研工業株式会社 移動体
JP6095436B2 (ja) 2013-03-27 2017-03-15 本田技研工業株式会社 倒立振子型車両
JP6111119B2 (ja) 2013-03-29 2017-04-05 本田技研工業株式会社 倒立振子型車両
JP6062785B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
JP6081271B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6062784B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
JP6081270B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6099484B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
JP6099483B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
JP6099485B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
US20150176989A1 (en) * 2013-12-23 2015-06-25 Hti Ip, Llc Accelerometer-Based Hill Angle Estimation
JP6380828B2 (ja) * 2014-03-07 2018-08-29 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
US9259838B1 (en) 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
US9618937B1 (en) 2014-08-25 2017-04-11 Google Inc. Slip detection using robotic limbs
US9387588B1 (en) * 2014-08-25 2016-07-12 Google Inc. Handling gait disturbances with asynchronous timing
US9403275B2 (en) * 2014-10-17 2016-08-02 GM Global Technology Operations LLC Dynamic obstacle avoidance in a robotic system
US9352470B1 (en) 2014-11-11 2016-05-31 Google Inc. Yaw slip handling in a robotic device
JP6240590B2 (ja) * 2014-11-12 2017-11-29 本田技研工業株式会社 移動ロボットの制御装置
US9499218B1 (en) 2014-12-30 2016-11-22 Google Inc. Mechanically-timed footsteps for a robotic device
US10435279B2 (en) 2015-03-06 2019-10-08 Walmart Apollo, Llc Shopping space route guidance systems, devices and methods
US20180099846A1 (en) 2015-03-06 2018-04-12 Wal-Mart Stores, Inc. Method and apparatus for transporting a plurality of stacked motorized transport units
WO2016142794A1 (en) 2015-03-06 2016-09-15 Wal-Mart Stores, Inc Item monitoring system and method
JP6700546B2 (ja) * 2015-06-01 2020-05-27 富士通株式会社 負荷検出方法、負荷検出装置および負荷検出プログラム
JP6450273B2 (ja) * 2015-07-08 2019-01-09 本田技研工業株式会社 移動ロボットの動作環境情報生成装置
CN105180929A (zh) * 2015-09-01 2015-12-23 深圳市华颖泰科电子技术有限公司 一种车载惯性导航系统中惯性传感器的安装方法
US9586316B1 (en) 2015-09-15 2017-03-07 Google Inc. Determination of robotic step path
US9925667B1 (en) * 2016-01-25 2018-03-27 Boston Dynamics, Inc. Continuous slip recovery
US10179619B1 (en) * 2016-03-30 2019-01-15 Schaft Inc. Robotic foot sensor
CA2961938A1 (en) 2016-04-01 2017-10-01 Wal-Mart Stores, Inc. Systems and methods for moving pallets via unmanned motorized unit-guided forklifts
JP2017196704A (ja) * 2016-04-28 2017-11-02 セイコーエプソン株式会社 可動部の振動測定方法、ロボットの振動測定方法および制御装置
JP2017196705A (ja) * 2016-04-28 2017-11-02 セイコーエプソン株式会社 ロボット、及びロボットシステム
CN106184463B (zh) * 2016-08-15 2019-03-08 北京钢铁侠科技有限公司 具有零点位置检测功能的仿人机器人关节机构
US10821614B2 (en) 2016-11-11 2020-11-03 Sarcos Corp. Clutched joint modules having a quasi-passive elastic actuator for a robotic assembly
US10828767B2 (en) 2016-11-11 2020-11-10 Sarcos Corp. Tunable actuator joint modules having energy recovering quasi-passive elastic actuators with internal valve arrangements
WO2019003401A1 (ja) * 2017-06-29 2019-01-03 株式会社ソニー・インタラクティブエンタテインメント ロボットの制御装置、制御方法および制御プログラム
CN109693235B (zh) * 2017-10-23 2020-11-20 中国科学院沈阳自动化研究所 一种仿人眼视觉跟踪装置及其控制方法
CN110053039B (zh) * 2018-01-17 2021-10-29 深圳市优必选科技有限公司 一种机器人行走中重力补偿的方法、装置及机器人
SE542305C2 (en) * 2018-01-30 2020-04-07 Infonomy Ab Arrangement and system for wearable balance meter
CN109394095B (zh) * 2018-10-23 2020-09-15 珠海市一微半导体有限公司 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人
CN109184673B (zh) * 2018-11-12 2023-11-24 美钻深海能源科技研发(上海)有限公司 一种机械式管柱接箍检测装置及方法
US11241801B2 (en) 2018-12-31 2022-02-08 Sarcos Corp. Robotic end effector with dorsally supported actuation mechanism
WO2020145403A1 (ja) * 2019-01-11 2020-07-16 オムロン株式会社 制御装置
KR20200101796A (ko) * 2019-02-20 2020-08-28 삼성전자주식회사 이동형 로봇 및 그것의 로봇 암 정렬 방법
KR20210000095A (ko) * 2019-06-24 2021-01-04 삼성전자주식회사 자세 추정 방법 및 장치
US20220334594A1 (en) * 2019-09-13 2022-10-20 Sony Group Corporation Information processing system, information processing apparatus, and information processing program
JP7391616B2 (ja) * 2019-11-05 2023-12-05 本田技研工業株式会社 移動体の姿勢推定装置
US11745902B1 (en) 2019-12-11 2023-09-05 Government Of The United States As Represented By The Secretary Of The Air Force Systems, methods and apparatus for multifunctional central pattern generator
US11833676B2 (en) 2020-12-07 2023-12-05 Sarcos Corp. Combining sensor output data to prevent unsafe operation of an exoskeleton
CN112596531B (zh) * 2021-03-04 2021-06-22 德鲁动力科技(成都)有限公司 一种四足机器人自适应负载参数调整方法
CN113091999A (zh) * 2021-04-01 2021-07-09 燕山大学 一种足式机器人腿部一维力传感器标定方法及系统
US11738452B1 (en) * 2022-07-29 2023-08-29 Sarcos Corp. Sole with various compliant regions for robots
US11826907B1 (en) 2022-08-17 2023-11-28 Sarcos Corp. Robotic joint system with length adapter
US11717956B1 (en) 2022-08-29 2023-08-08 Sarcos Corp. Robotic joint system with integrated safety
US11897132B1 (en) 2022-11-17 2024-02-13 Sarcos Corp. Systems and methods for redundant network communication in a robot
US11924023B1 (en) 2022-11-17 2024-03-05 Sarcos Corp. Systems and methods for redundant network communication in a robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09272083A (ja) * 1996-04-08 1997-10-21 Mitsubishi Electric Corp 2足歩行ロボット
US6064167A (en) * 1997-08-04 2000-05-16 Honda Giken Kogyo Kabushiki Kaisha Control system for controlling the knee joint actuators of a legged robot in response to a detected fall condition so as to lower the center of gravity of the robot
JP2001138272A (ja) * 1999-11-12 2001-05-22 Sony Corp 脚式移動ロボット及びその動作制御方法
JP2002144260A (ja) * 2000-11-13 2002-05-21 Sony Corp 脚式移動ロボット及びその制御方法
EP1398121A1 (en) 2001-04-27 2004-03-17 Honda Giken Kogyo Kabushiki Kaisha Device for generating motion of legged mobile robot

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63150176A (ja) * 1986-12-15 1988-06-22 工業技術院長 動的歩行ロボツトの歩行制御方法
JP2520019B2 (ja) * 1989-06-29 1996-07-31 本田技研工業株式会社 脚式移動ロボットの駆動制御装置
JP2592340B2 (ja) * 1989-12-14 1997-03-19 本田技研工業株式会社 脚式歩行ロボットの関節構造
EP0488693B1 (en) * 1990-11-30 1997-01-29 Honda Giken Kogyo Kabushiki Kaisha System for controlling locomotion of legged walking robot
US5355064A (en) * 1992-03-04 1994-10-11 Honda Giken Kogyo Kabushiki Kaisha Control system for legged mobile robot
JP3148827B2 (ja) 1992-04-30 2001-03-26 本田技研工業株式会社 脚式移動ロボットの歩行制御装置
US5432417A (en) * 1992-04-30 1995-07-11 Honda Giken Kogyo Kabushiki Kaisha Locomotion control system for legged mobile robot
JP3132156B2 (ja) * 1992-05-22 2001-02-05 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3273443B2 (ja) * 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
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 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
US6260862B1 (en) * 1998-02-11 2001-07-17 Joseph C. Klann Walking device
JPH11272983A (ja) 1998-03-19 1999-10-08 Fujitsu Ltd 経路計画装置,到着時間予測装置,走行記録保存装置および経路計画/到着時間予測システム
DE69943148D1 (de) * 1998-04-20 2011-03-03 Honda Motor Co Ltd Steuereinheit für einen mit beinen beweglichen roboter
JP2000153476A (ja) * 1998-09-14 2000-06-06 Honda Motor Co Ltd 脚式移動ロボット
JP4213310B2 (ja) * 1999-08-30 2009-01-21 本田技研工業株式会社 2足歩行脚式移動ロボット
JP4480843B2 (ja) * 2000-04-03 2010-06-16 ソニー株式会社 脚式移動ロボット及びその制御方法、並びに、脚式移動ロボット用相対移動測定センサ
AU2002214310A1 (en) * 2000-11-17 2002-05-27 Honda Giken Kogyo Kabushiki Kaisha Remote controller of biped robot
US6876903B2 (en) 2000-11-17 2005-04-05 Honda Giken Kogyo Kabushiki Kaisha Gait pattern generating device for legged mobile robot
TW499349B (en) * 2000-11-17 2002-08-21 Sony Corp Legged mobile robot, leg structure of legged mobile robot, and mobile leg unit for legged mobile robot
JP4188607B2 (ja) * 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
JP3672100B2 (ja) * 2001-12-28 2005-07-13 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
EP1475198B1 (en) * 2002-01-18 2007-05-23 Honda Giken Kogyo Kabushiki Kaisha Controller of legged mobile robot
WO2003090981A1 (fr) * 2002-04-26 2003-11-06 Honda Giken Kogyo Kabushiki Kaisha Systeme permettant d'estimer l'attitude d'un robot mobile monte sur des jambes
WO2005068136A1 (ja) * 2004-01-13 2005-07-28 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09272083A (ja) * 1996-04-08 1997-10-21 Mitsubishi Electric Corp 2足歩行ロボット
US6064167A (en) * 1997-08-04 2000-05-16 Honda Giken Kogyo Kabushiki Kaisha Control system for controlling the knee joint actuators of a legged robot in response to a detected fall condition so as to lower the center of gravity of the robot
JP2001138272A (ja) * 1999-11-12 2001-05-22 Sony Corp 脚式移動ロボット及びその動作制御方法
JP2002144260A (ja) * 2000-11-13 2002-05-21 Sony Corp 脚式移動ロボット及びその制御方法
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 EP1504855A4

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7860611B2 (en) * 2003-06-27 2010-12-28 Honda Motor Co., Ltd. Control device for legged mobile robot
US8005573B2 (en) * 2003-06-27 2011-08-23 Honda Motor Co., Ltd. Control device for legged mobile robot
JP2007007796A (ja) * 2005-07-01 2007-01-18 Toyota Motor Corp 歩行ロボット
US7996179B2 (en) 2007-07-19 2011-08-09 Samsung Electronics Co., Ltd. Method of measuring pose of mobile robot and method and apparatus for measuring position of mobile robot using the same
CN112334746A (zh) * 2018-06-22 2021-02-05 索尼公司 滑动检测装置
CN114794953A (zh) * 2022-04-19 2022-07-29 净豹智能机器人(台州)有限公司 基于深度学习的智能清洁机器人贴边清洁系统及方法

Also Published As

Publication number Publication date
EP1502712A4 (en) 2008-09-17
KR100956537B1 (ko) 2010-05-07
KR20050007346A (ko) 2005-01-17
EP1502712A1 (en) 2005-02-02
US20050156551A1 (en) 2005-07-21
JP4181113B2 (ja) 2008-11-12
EP2110210B1 (en) 2011-03-23
EP2106886B1 (en) 2011-03-23
KR20050000410A (ko) 2005-01-03
US6963185B2 (en) 2005-11-08
EP1508408B1 (en) 2010-04-21
DE60336518D1 (de) 2011-05-05
KR100956539B1 (ko) 2010-05-07
US7145305B2 (en) 2006-12-05
KR20050000412A (ko) 2005-01-03
EP2110210A1 (en) 2009-10-21
EP1502712B1 (en) 2010-04-21
DE60332224D1 (de) 2010-06-02
JP4246696B2 (ja) 2009-04-02
EP1504855A4 (en) 2008-09-17
EP1504855B1 (en) 2010-04-21
EP1504855A1 (en) 2005-02-09
WO2003090979A1 (fr) 2003-11-06
JPWO2003090981A1 (ja) 2005-08-25
EP1508408A1 (en) 2005-02-23
US20050179417A1 (en) 2005-08-18
DE60332227D1 (de) 2010-06-02
DE60332233D1 (de) 2010-06-02
US7337040B2 (en) 2008-02-26
KR100956520B1 (ko) 2010-05-06
JP4181114B2 (ja) 2008-11-12
WO2003090980A1 (fr) 2003-11-06
EP2106886A1 (en) 2009-10-07
US20050126833A1 (en) 2005-06-16
JPWO2003090979A1 (ja) 2005-08-25
EP1508408A4 (en) 2008-09-17
JPWO2003090980A1 (ja) 2005-08-25
DE60336519D1 (de) 2011-05-05

Similar Documents

Publication Publication Date Title
WO2003090981A1 (fr) Systeme permettant d&#39;estimer l&#39;attitude d&#39;un robot mobile monte sur des jambes
US8204625B2 (en) Gait creation device of leg-type mobile robot
JP4225968B2 (ja) 脚式移動ロボットの制御装置
EP2177324B1 (en) Gait generating system and control device of legged mobile robot
US7848849B2 (en) Controller of leg type moving robot
JP4800037B2 (ja) 移動ロボットの歩容生成装置
WO2003090982A1 (fr) Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes
US20080133057A1 (en) Gait Generating Device Of Legged Mobile Robot
JP2011093093A (ja) 脚式移動ロボットの歩容生成装置
WO2005000533A1 (ja) 脚式移動ロボットの歩容生成装置
WO2006064597A1 (ja) 脚式移動ロボットおよびその制御プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
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: 2004501990

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10511128

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020047017286

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003725699

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020047017286

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003725699

Country of ref document: EP