US8108070B2 - Robot and control method thereof - Google Patents
Robot and control method thereof Download PDFInfo
- Publication number
- US8108070B2 US8108070B2 US12/087,473 US8747307A US8108070B2 US 8108070 B2 US8108070 B2 US 8108070B2 US 8747307 A US8747307 A US 8747307A US 8108070 B2 US8108070 B2 US 8108070B2
- Authority
- US
- United States
- Prior art keywords
- leg
- robot
- gravity
- center
- trajectory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles 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/02—Vehicles 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/032—Vehicles 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
Definitions
- the present invention relates to a robot and a method of controlling the movement thereof.
- the above robot is generally known to be able to perform a stabilized walk by controlling the movement with attention to a ZMP (Zero Moment Point).
- the ZMP represents a point on a floor where the sum of moments by the external forces (including inertia) acting on the robot is zero. If the ZMP is coincident with the point of application of a floor reaction, even if only one leg link is grounded, the moment to bring down the robot will not act. The point of application of the floor reaction is located inside the flat foot of the supporting leg in a state that only one leg link is grounded. Accordingly, to make the robot perform a stabilized walk requires a control such that the ZMP is maintained inside the flat foot of the supporting leg.
- a robot has a pair of leg links, for example, the robot moves by using one leg link as the supporting leg and swinging out the other leg link forward as a loose leg. If the ZMP is located inside the flat foot of the supporting leg while the one leg link is grounded, the robot will not tumble. While the leg link having been the loose leg is grounded and both the leg links are grounded, if the ZMP moves from the flat foot of the leg link having been the supporting leg thus transfer into the flat foot of the newly grounded leg link, the robot will not tumble and will be able to swing out forward the leg link having been the supporting leg till then. When the robot swings out forward the leg link having been the supporting leg till then, if the ZMP is located inside the flat foot of the new supporting leg, the robot will not tumble. Thus, the robot will be able to continue a walk without tumbling, by repeating the movement of swing out one of the leg links and grounding it mutually between a pair of the leg links.
- a sequential movement mode wherein a robot is able to perform a stabilized walk is calculated in advance before the robot practically performs the movement.
- the data expressing the sequential movement mode of the robot is referred to as gait data.
- Unexpected disturbances can act on the robot in some cases.
- unexpected uneven road surfaces can cause unexpected disturbances to the robot, in other cases disturbances that push or pull the robot from the outside. If the movement of the robot slips out of the gait data because of a structural deflection of the robot, an articular looseness of the robot, a response delay of the robot, and so forth, it will be the same such that unexpected disturbances act on the robot. When unexpected disturbances act on the robot, it makes the robot lose its balance.
- the trajectory of the center of gravity of the robot is updated on the basis of an actual movement of the robot, and the trajectory of a toe of the leg link is not updated.
- the ‘trajectory’ in this specification refers to the data to describe the positional variations with time.
- the trajectory of the toe of the leg link is set in advance on the basis of a walking mode such as a length of step, a walking cycle, an angle of turnaround, and an environmental configuration, etc. If the conventional technique updates only the trajectory of the center of gravity of the robot in real time without updating the trajectory of the toe of the leg link, as far as the deviation of the actual movement of the robot from a target movement is slight, the conventional technique can realize the walking mode preset to the robot, which is yet effective.
- the above technique cannot stabilize the movement of the robot. If unexpected disturbances act on the robot, for example, and the actual trajectory of the center of gravity greatly deviates from a target trajectory of the center of gravity, the above technique will not modify the target trajectory of the toe of the leg link. Accordingly, the robot will try to realize the target trajectory of the toe of the leg link from an unreasonable posture, and the movement of the robot thereafter is apt to be unstable.
- the present invention solves the above problem.
- the present invention provides the technique, whereby the robot performing a walking movement can continue a stabilized walk, even in case the actual movement of the robot greatly deviates from the target movement.
- the present invention is embodied in a robot.
- the robot comprises a trunk, a pair of leg links coupled with the trunk in a swingable manner, an actuator group that swings each of the leg links independently with respect to the trunk, and a controller that controls the actuator group.
- the robot walks by repeating a movement that swings out one leg link with respect to the trunk and grounds it mutually between a pair of the leg links.
- the controller is programmed to control the actuator group, when a trajectory of the center of gravity of the robot and a trajectory of a toe of the leg link are given, to realize the given trajectory of the center of gravity and the trajectory of the toe of the leg link.
- the controller performs, in a period from grounding the one leg link to grounding the other leg link swung out thereafter: (1) updating the trajectory of the center of gravity of the robot after grounding the other leg link, (2) determining a predetermined position for grounding the other leg link, on the basis of the updated trajectory of the center of gravity, and (3) updating the trajectory of the toe of the other leg link till grounding the other leg link, on the basis of the determined predetermined position for grounding.
- the above robot determines, each time of grounding the one leg link, a predetermined position for grounding the other leg link swung out thereafter, and updates the trajectory of the toe of the other leg link on the basis of the determined predetermined position for grounding.
- the predetermined position for grounding is determined on the basis of the trajectory of the center of gravity of the robot after grounding the other leg link, in a manner that the movement of the robot after grounding the other leg link becomes stabilized.
- the above robot grounding the right leg link, determines a predetermined position for grounding the left leg link swung out thereafter, and updates the trajectory of the toe of the left leg link on the basis of the determined predetermined position for grounding.
- the predetermined position for grounding the left leg link is determined on the basis of the trajectory of the center of gravity of the robot after grounding the left leg link.
- the robot according to the present invention is able to dynamically update the predetermined position for grounding the leg link during a walk, corresponding to the trajectory of the center of gravity of the robot in the movement thereafter. Therefore, if unexpected disturbances acting on the robot requires correcting the trajectory of the center of gravity of the robot corresponding to the disturbances, for stabilizing the walking movement of the robot thereafter, the robot is able to correct the predetermined position for grounding the leg link corresponding to the corrected trajectory of the center of gravity to continue a stabilized movement.
- the robot While the robot is walking, if the user issues a command of modifying the trajectory of the center of gravity (for example, a command of increasing or decreasing the velocity of the center of gravity), the robot modifies the predetermined position for grounding the leg link on the basis of the modified trajectory of the center of gravity to perform a stabilized movement.
- a command of modifying the trajectory of the center of gravity for example, a command of increasing or decreasing the velocity of the center of gravity
- a horizontal component of the trajectory of the center of gravity in a period of grounding both the leg links is given in a form of an equal velocity trajectory.
- the ZMP When the center of gravity of the robot moves at an equal velocity in the horizontal direction, the ZMP is located right below the center of gravity. Therefore, when moving the ZMP from the flat foot of the leg link grounded behind to the flat foot of the leg link grounded ahead, by giving the horizontal component of the trajectory of the center of gravity in a form of an equal velocity, it becomes possible to determine the trajectory of the center of gravity for realizing a stabilized movement with a simplified calculation, and to achieve a stabilized walk with a small amount of calculation.
- the present invention is embodied in a method of controlling a robot.
- the method is a control method of the robot comprising a trunk, a pair of leg links coupled with the trunk in a swingable manner, an actuator group that swings each of the leg links independently with respect to the trunk, and a controller that, when a trajectory of the center of gravity of the robot and a trajectory of a toe of the leg link are given, controls the actuator group so as to realize the given trajectory of the center of gravity and trajectory of the toe.
- the robot walks by repeating the movement that swings out one leg link with respect to the trunk and grounds it mutually between a pair of the leg links.
- the method comprises the following steps of, in a period from grounding one leg link to grounding the other leg link swung out thereafter: (1) updating the trajectory of the center of gravity of the robot after grounding the other leg link, (2) determining a predetermined position for grounding the other leg link, on the basis of the updated trajectory of the center of gravity, and (3) updating the trajectory of the toe of the other leg link till grounding the other leg link, on the basis of the determined predetermined position for grounding.
- the robot performing a walking movement is able to continue a stabilized walk, even if the actual movement of the robot greatly deviates from a target movement of the robot.
- FIG. 1 is a schematic drawing of a robot 2 relating to the present invention
- FIG. 2 is a schematic drawing of the walking movement of the robot 2 relating to the present invention, wherein FIG. 2(A) illustrates the walking movement of the robot 2 in the phase of one leg being grounded, FIG. 2(B) illustrates the walking movement of the robot 2 in the phase of both the legs being grounded, following the movement in FIG. 2(A) , and FIG. 2(C) illustrates the walking movement of the robot 2 in the phase of one leg being grounded, following the movement in FIG. 2(B) .
- FIG. 3 is a block diagram illustrating a construction of a control unit 10 of the robot 2 relating to the present invention
- FIG. 4 is a flow chart illustrating a generation processing of gait data of the robot 2 relating to the present invention
- FIG. 5 is a chart illustrating a relative trajectory of the toe of a loose leg of the robot 2 relating to the present invention.
- FIG. 6 is a flow chart illustrating an update processing of the gait data of the robot 2 relating to the present invention.
- the controller When updating the trajectory of the center of gravity of the robot, the controller updates the trajectory of the center of gravity of the robot in the one-leg-grounded phase, in a manner that the ZMP of the robot realized in the one-leg-grounded phase is maintained inside the flat foot.
- the controller When updating the trajectory of the center of gravity of the robot, the controller updates the trajectory of the center of gravity of the robot in the both-legs-grounded phase, in a manner that the center of gravity moves at an equal velocity in the both-legs-grounded phase.
- the controller further including a means to detect an actual velocity of the center of gravity of the robot, updates the trajectory of the center of gravity of the robot on the basis of the detected velocity of the center of gravity.
- FIG. 1 schematically illustrates the robot 2 relating to this embodiment.
- the robot 2 includes a trunk 4 , a left leg link 6 , a right leg link 8 , a control unit 10 , an input/output device 12 , and a sensor group 14 .
- the left leg link 6 is coupled in a swingable manner to the trunk 4 on one end thereof by way of a hip joint.
- the left leg link 6 further includes a knee joint and an ankle joint, and a flat foot on the end.
- the right leg link 8 is coupled in a swingable manner to the trunk 4 by way of the hip joint.
- the right leg link 8 further includes a knee joint and an ankle joint, and a flat foot on the end.
- Reference points L 0 , R 0 are provided on the centers of the flat feet of the left leg link 6 and the right leg link 8 , respectively.
- the reference points L 0 , R 0 are the points to be referred to in generating gait data of the robot 2 .
- the symbol G in the drawing signifies the position of the center of gravity of the robot 2 .
- Each of the joints of the robot 2 includes an actuator group 318 (not illustrated in FIG. 1 ).
- the actuator group 318 drives to rotate each of the joints by an instruction from the control unit 10 .
- each of the joints of the robot 2 is provided with an encoder group 320 (not illustrated in FIG. 1 ).
- the encoder group 320 outputs the variation with time of the joint angle of each joint to the control unit 10 .
- the control unit 10 is a computer device having a CPU, a ROM, a RAM, and a hard disk, etc.
- the control unit 10 is capable of communicating with the input/output device 12 , and receives a user command value from the input/output device 12 that a user operates.
- the control unit 10 generates the gait data of the robot 2 based on the user command value.
- the control unit 10 stores the generated gait data, and drives each of the joints so as to realize the movement that the stored gait data express. The details of the control unit 10 will be described later.
- the sensor group 14 includes an acceleration sensor 322 (not illustrated in FIG. 1 ) and a gyro sensor 324 (not illustrated in FIG. 1 ) that the position and posture of which are fixed.
- the acceleration sensor 322 is capable of measuring the acceleration along the three-axis
- the gyro sensor 324 is capable of measuring the angular velocity about the three-axis.
- the positions thereof are adjusted in a manner that the measuring points substantially coincide with the position of the center of gravity in a state that the robot 2 stands upright and still.
- the sensor group 14 is connected to the control unit 10 , and transmits the measured acceleration and angular velocity to the control unit 10 .
- FIG. 2 schematically illustrates the walking movement of the robot 2 relating to this embodiment.
- the robot 2 has a posture P 1 wherein both the leg links of the robot 2 are grounded at a point of time.
- the center of gravity of the robot 2 is located at a position G 0 . From this posture P 1 , as the state of grounding the leg link ahead of the robot 2 (i.e. the left leg link 6 in FIG. 2(A) ) is maintained intact as a supporting leg, the robot 2 lifts up and swings out forward the leg link being grounded behind the robot 2 (i.e. the right leg link 8 in FIG. 2(A) ) as a loose leg.
- the robot 2 assumes a posture P 2 wherein both the leg links are grounded.
- Both of the posture P 1 and the posture P 2 are the posture wherein both the leg links are grounded.
- the leg link that grounded ahead of the robot 2 in the posture P 1 i.e. the left leg link 6
- the leg link that grounded behind of the robot 2 in the posture P 1 i.e. the right leg link 8
- the transfer of the posture of the robot 2 from the posture P 1 to P 2 makes the center of gravity of the robot 2 move from the position G 1 into the position G 2 .
- the robot 2 moves the center of gravity ahead as the state of grounding both the leg links is maintained intact, as illustrated in FIG. 2(B) .
- the robot 2 alters the posture from the posture P 2 into the posture P 3 .
- the center of gravity of the robot 2 moves from the position G 2 into the position G 3 .
- the robot 2 walks ahead.
- the movement that the robot 2 performs is divided into several movement sections.
- the movement state wherein only one leg link is grounded (one-leg-grounded phase) and the movement state following the former state wherein both the leg links are grounded (both-legs-grounded phase) are handled as one movement section.
- FIG. 2(A) and FIG. 2(C) illustrate the walking movement of the robot 2 in the one-leg-grounded phase
- FIG. 2(B) illustrates the walking movement of robot 2 in the both-legs-grounded phase.
- the one-leg-grounded phase in FIG. 2(A) and the both-legs-grounded phase in FIG. 2(B) are included in one movement section.
- the one-leg-grounded phase and the both-legs-grounded phase are alternately repeated, when the robot 2 performs a walk.
- the coordinate system fixed to the floor outside the robot 2 is expressed by (x, y, z), which is used as the coordinate system that expresses the trajectory of the robot 2 .
- the coordinate system fixed to the reference point on the robot 2 is expressed by (x′, y′, z′).
- the reference point of the flat foot of the supporting leg is assumed to be the origin of the coordinate system (x′, y′, z′) in the one-leg-grounded phase as illustrated in FIG. 2(A) and FIG. 2(C) .
- the leg link grounded behind the robot 2 that is, the leg link having been the supporting leg in the one-leg-grounded phase directly before the both-legs-grounded phase
- the reference point of the flat foot of the leg link handled as the supporting leg is assumed to be the origin of the coordinate system (x′, y′, z′).
- the position, velocity, acceleration, and trajectory described by the coordinate system (x′, y′, z′) fixed to the reference point on the robot 2 are expressed as the relative position, relative velocity, relative acceleration, and relative trajectory, respectively.
- the ZMP described by the coordinate system (x′, y′, z′) is expressed as the relative ZMP.
- the robot 2 of this embodiment generates and stores the gait data of each of the movement sections, and sequentially reads out the stored gait data to perform the walking movement.
- the robot 2 of this embodiment generates the gait data thereafter again, when the one-leg-grounded phase is switched into the both-legs-grounded phase, corresponding to an actual velocity of the center of gravity measured by the encoder group 320 and the sensor group 14 and a user command value given by the user by way of the input/output device 12 , and updates the stored gait data.
- the user command value is stored in the control unit 10 , and is reflected in updating the gait data thereafter.
- control unit 10 The operation of the control unit 10 will now be described in detail.
- FIG. 3 is a block diagram illustrating a functional construction of the control unit 10 .
- the control unit 10 includes a user command value storage device 304 , a gait data generation device 302 , a gait data storage device 308 , a target joint angle generation device 312 , an actuator control device 314 , a center-of-gravity velocity calculation device 316 , and a gait data update device 310 .
- the user command value storage device 304 stores a user command value inputted by a user. As a new user command value is inputted during the movement of the robot 2 , the control unit 10 updates the user command value stored in the user command value storage device 304 into a user command value newly inputted. When the gait data are updated thereafter, the newly inputted user command value is reflected on generating the gait data of the robot 2 . The user, viewing the walking movement of the robot 2 , inputs the user command value by using the input/output device 12 to thereby control the movement of the robot 2 in real time.
- the gait data generation device 302 generates a relative trajectory of the center of gravity of the robot 2 in each of the movement sections and a relative trajectory of the toe of the loose leg, on the basis of the user command value stored in the user command value storage device 304 .
- the relative trajectory of the center of gravity generated by the gait data generation device 302 is the trajectory of the center of gravity described by the coordinate system (x′, y′, z′) wherein the reference point set to the flat foot of the supporting leg of the robot 2 is assumed to be the origin.
- the relative trajectory of the toe of the loose leg generated by the gait data generation device 302 is the trajectory of the toe described by the coordinate system (x′, y′, z′) wherein the reference point set to the flat foot of the supporting leg of the robot 2 is assumed to be the origin. The details of the processing will be described later, wherein the gait data generation device 302 generates the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg.
- the gait data generation device 302 makes the gait data storage device 308 store the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg of the robot 2 in each of the movement sections.
- the gait data storage device 308 stores the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg of the robot 2 in each of the movement sections.
- the target joint angle generation device 312 generates sequential data of the target joint angles of each joint of the robot 2 , by performing the so-called inverse kinematics calculation, on the basis of the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg which are stored in the gait data storage device 308 .
- the target joint angle generation device 312 outputs the generated sequential data of the target joint angles of each joint to the actuator control device 314 .
- the actuator control device 314 drives the actuator group 318 on the basis of the sequential data of the target joint angles of each joint generated by the target joint angle generation device 312 .
- the actuator control device 314 driving the actuator group 318 , the robot 2 , rotating the joints and altering the posture, performs a walking movement.
- the center-of-gravity velocity calculation device 316 calculates the velocity of the center of gravity, on the basis of sequential variations of the joint angles of joints of the robot 2 outputted from the encoder group 320 , sequential variations of the accelerations of the trunk 4 outputted from the acceleration sensor 322 , and sequential variations of the angular velocities of the trunk 4 outputted from the gyro sensor 324 .
- the center-of-gravity velocity of the robot 2 can be acquired, for example, by the following process: calculating the velocity of the trunk 4 by integrating the acceleration of the trunk 4 outputted from the acceleration sensor 322 , calculating the variation in time of the positional relation between the center of gravity of the robot 2 and the trunk 4 from the sequential variations of the joint angles of joints of the robot 2 outputted from the encoder group 320 , and calculating the sum of the former two.
- the calculated center-of-gravity velocity is outputted to the gait data update device 310 .
- the gait data update device 310 newly generates the relative trajectory of the center of gravity of the robot 2 and the relative trajectory of the toe of the loose leg in each of the movement sections, on the basis of the user command value stored in the user command value storage device 304 and the center-of-gravity velocity of the robot 2 calculated by the center-of-gravity velocity calculation device 316 .
- the details of the processing will be described later, wherein the gait data update device 310 generates the relative trajectory of the center of gravity of the robot 2 and the relative trajectory of the toe of the loose leg.
- the relative trajectory of the center of gravity of the robot 2 and the relative trajectory of the toe of the loose leg in each of the movement sections generated by the gait data update device 310 are replaced by the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg which are till then stored in the gait data storage device 308 .
- the processing whereby the gait data generation device 302 generates the gait data of the robot 2 will now be described with reference to FIG. 4 .
- Step S 402 sets the variable k indicating the number of a movement section where a movement is generated to 1.
- Step S 404 reads out the user command value from the user command value storage device 304 .
- the following parameters can be given in the form of the user command value.
- the height (vertical position) of the center of gravity of the above (1) is a height at which the center of gravity of the robot 2 is located.
- the height of the center of gravity can be given arbitrarily by the user within a range that the mechanism of the robot 2 geometrically permits.
- the height of the center of gravity of the robot 2 of this embodiment is set to become constant in every movement section.
- the duration of the one-leg-grounded phase of the above (2) is a time within which the one-leg-grounded phase continues.
- the duration of the both-legs-grounded phase of the above (3) is a time within which the both-legs-grounded phase continues.
- the duration of the one-leg-grounded phase and the duration of the both-legs-grounded phase each can be given arbitrarily by the user.
- the target relative ZMP trajectory of the above (4) is the sequential data of the relative position of a target ZMP to the reference point of the flat foot of the supporting leg.
- the target relative ZMP trajectory can be given arbitrarily by the user with a restriction that the ZMP lies inside the flat foot of the leg link being used as the supporting leg. If the ZMP lies inside the flat foot of the leg link being used as the supporting leg, the robot 2 is able to continue the walking movement without tumbling, even in a condition that the other leg link floats as the loose leg.
- the relative trajectory of the center of gravity is generated without setting the target relative ZMP trajectory in regard to the both-legs-grounded phase.
- the relative trajectory of the center of gravity is generated in a manner that the center of gravity moves at an equal velocity in the both-legs-grounded phase, which will be detailed later.
- the position of the ZMP that the robot 2 realizes is maintained vertically below the center of gravity. Therefore in the both-legs-grounded phase, as long as the center of gravity of the robot 2 moves from the position of the leg link grounded behind toward the position of the leg link grounded ahead, the robot 2 is able to continue the walking movement without tumbling.
- the target relative ZMP trajectory is set in a manner that the ZMP is fixed to the center of the flat foot of the supporting leg in the one-leg-grounded phase. If such a relative ZMP trajectory is realized, the robot 2 will not tumble, and will realize a stable movement.
- any trajectory may be given to the target relative ZMP trajectory, as long as it is maintained inside the flat foot of the supporting leg during the one-leg-grounded phase.
- a trajectory may be used such that the ZMP moves from the rear part of the flat foot of the supporting leg to the front part thereof during the one-leg-grounded phase. If this type of relative ZMP trajectory is realized, the robot 2 will not tumble, and will realize a stable movement.
- the target sequential data of angular momentum of the above (5) are sequential data of the angular momentum about the center of gravity of the robot 2 .
- the target sequential data of angular momentum can be given arbitrarily by the user within a range that the performance of the actuator permits.
- the angular momentum about the roll axis (i.e. x′ axis) and the pitch axis (i.e. y′ axis) of the robot 2 can be set in a manner that the robot 2 realizes a desired posture.
- the angular momentum about the yaw axis (i.e. z′ axis) can be set in a manner that the robot 2 realizes a desired turning movement.
- the angular momentum about the roll axis, pitch axis, and yaw axis is set to be zero in every movement section.
- the horizontal velocity of the center of gravity in switching the movement of the above (6) is a horizontal velocity of the center of gravity of the robot 2 , when the movement of the robot 2 switches between the one-leg-grounded phase and the both-legs-grounded phase.
- the horizontal velocity of the center of gravity can be given arbitrarily by the user within a range that the performance of the actuator of the robot 2 permits.
- Step S 406 generates the trajectory of the center of gravity in the first movement section 1.
- the generation of the trajectory of the center of gravity in the movement section 1 at step is the same as the generation of the trajectory of the center of gravity in the general movement section k, which will be described later at step S 410 .
- the generation processing of the center-of-gravity trajectory will be detailed at S 410 .
- the vertical trajectory and horizontal trajectory of the center of gravity in the movement section 1 are generated by executing the processing at Step S 406 .
- Step S 408 adds 1 to the number k indicating the movement section where a movement is generated.
- Step S 410 generates the vertical trajectory and horizontal trajectory of the center of gravity in the movement section k.
- the vertical trajectory of the center of gravity in the movement section k is determined based on the height of the center of gravity given in the form of a user command value.
- the vertical trajectory of the center of gravity is determined in a manner that the height of the center of gravity is always constant in the one-leg-grounded phase as well as the both-legs-grounded phase.
- the method of generating the horizontal trajectory of the center of gravity in the movement section k differs in the one-leg-grounded phase and the both-legs-grounded phase.
- the horizontal trajectory of the center of gravity is determined based on the conditions of the vertical trajectory of the center of gravity in the one-leg-grounded phase, the target relative ZMP trajectory, the target sequential data of angular momentum, the horizontal velocity of the center of gravity at the start time and finish time of the one-leg-grounded phase.
- Step S 410 calculates the horizontal trajectory of the center of gravity, in a manner that the relative ZMP trajectory when the vertical trajectory and horizontal trajectory of the center of gravity are realized becomes coincident with the target relative ZMP trajectory.
- the vertical trajectory of the center of gravity has been determined based on the height of the center of gravity given in the form of the user command value.
- the target relative ZMP trajectory and the target sequential data of angular momentum are being given in the form of the user command value.
- the horizontal velocity of the center of gravity at the start time of the movement section is given based on the center-of-gravity trajectory in the section k ⁇ 1 already generated, by specifying the horizontal velocity of the center of gravity at the finish time of the section k ⁇ 1.
- the horizontal velocity of the center of gravity at the finish time of the one-leg-grounded phase is given in the form of the horizontal velocity of the center of gravity in switching the movement by the user command value.
- Step S 410 calculates the horizontal trajectory of the center of gravity to meet these conditions.
- the position (p x′ , p y′ ) of the relative ZMP that the robot 2 realizes can be calculated based on the relative position (x′, y′, z′) of the center of gravity of the robot 2 , and the angular velocity ( ⁇ x′ , ⁇ y′ ), about the center of gravity of the robot 2 viewed from the coordinate system assuming the reference point of the flat foot of the supporting leg as the origin.
- the following formula is referred to as the ZMP equation, which calculates the relative ZMP realized by the robot 2 based on the relative position of the center of gravity of the robot 2 and the angular velocity about the center of gravity of the robot 2 .
- (1) represents the first order differential by the time t
- (2) represents the second order differential by the time t
- m represents the mass of the robot 2 .
- z′ is the vertical position of the center of gravity assuming the reference point of the flat foot of the supporting leg of the robot 2 as the origin, and z′ (2) is the vertical acceleration thereof. Since the flat foot of the supporting leg of the robot 2 does not move to the floor, z′ and z′ (2) can be specified by the vertical trajectory of the center of gravity. Since the height of the center of gravity of the robot 2 in every movement section is constant, the vertical acceleration z′ (2) is zero.
- I x′ ⁇ x′ (1) and I y′ ⁇ y′ (1) represent the influence of rotational inertia of the robot 2 .
- the angular momentum about the roll axis (i.e. x′ axis) and the pitch axis (i.e. y′ axis) in every movement section is assumed to be zero, and I x′ ⁇ x′ (1) and I y′ ⁇ y′ (1) are zero.
- x′ i and p x′i are the variables wherein the trajectory x′(t) in the x′ direction of the center of gravity and the relative ZMP trajectory p x′ (t) in the x′ direction are discretely transformed, respectively.
- i signifies the order of time partitioned by the unit time.
- the formula 2 shows that the coordinate p x′i in the x′ direction of the ZMP at time i can be calculated from the coordinate x′ i in the x′ direction at that time, the coordinate x′ i ⁇ 1 in the x′ direction directly before the time, and the coordinate x′ i+1 in the x′ direction directly after the time.
- a i , b i , and c i are the coefficients calculated by the following formula.
- ⁇ t represents the time breadth used in transforming the ZMP equation into the discrete expression
- z′ i and z′ (2) i are the variables wherein the vertical position of the center of gravity and the acceleration are discretely transformed, respectively.
- ⁇ t represents the time breadth to equally divide the duration of the one-leg-grounded phase into n.
- d i is the coefficient calculated by the following formula.
- I y′ ⁇ y′ (1) i is the valuable wherein the target angular momentum about the pitch axis (i.e. y′ axis) is transformed discretely.
- the target angular momentum is zero, and all d i are zero.
- the movement of the robot 2 is calculated in a manner that the trajectory of the center of gravity becomes smooth at the start time and finish time of the one-leg-grounded phase.
- the position of the center of gravity of the robot 2 smoothly moves till then the robot 2 grounds the loose leg (finish time of the one-leg-grounded phase), also at the time the robot 2 replaces the supporting leg and swings out the leg link having been the supporting leg till then newly as the loose leg (start time of the one-leg-grounded phase), and the robot 2 realizes a stabilized movement.
- the velocity v x′0 in the x′ direction of the center of gravity at the start time of the one-leg-grounded phase in the movement section k is expressed by the following formula, using the partition time breadth ⁇ t and the position x′ 0 , x′ 1 of the center of gravity.
- v x′0 ⁇ t x′ 1 ⁇ x′ 0 [Formula 5]
- the above velocity v x′0 in the x′ direction of the center of gravity at the start time of the one-leg-grounded phase in the movement section k is set from the trajectory of the center of gravity in the movement section k ⁇ 1 already calculated. If k is 2, for example, the horizontal velocity v x′0 of the center of gravity at the start time of the section 2 is assumed to be the horizontal velocity of the center of gravity at the finish time of the section 1, which is specified by the horizontal trajectory in the section 1.
- the velocity v x′n ⁇ 1 in the x′ direction of the center of gravity at the finish time of the one-leg-grounded phase in the movement section k has the following relation with the partition time breadth ⁇ t and the position x′ n ⁇ 2 , x′ n ⁇ 1 of the center of gravity.
- v x′n ⁇ 1 ⁇ t x′ n ⁇ 1 ⁇ x′ n ⁇ 2 [Formula 6]
- the above velocity v x′n ⁇ 1 in the x′ direction of the center of gravity at the finish time of the one-leg-grounded phase in the movement section k is assumed to be the horizontal velocity of the center of gravity in switching the movement, which is given in the form of user command value.
- the trajectory (x′ 0 , x′ 1 , . . . , x′ n ⁇ 1 ) in the x′ direction of the center of gravity in the one-leg-grounded phase in the movement section k which realizes the relative ZMP trajectory that is equal to the target relative ZMP trajectory, can be calculated by solving the following equations given in the form of a tridiagonal matrix (i.e. tridiagonal equations).
- the left-hand side in the above formula is expressed in the form of the product of a matrix and a column vector, and the matrix is a tridiagonal matrix having coefficients calculated by a vertical trajectory.
- the tridiagonal matrix refers to a matrix such that the diagonal components and the sub-diagonal components adjoining thereto have significant values and the other components are zero.
- the column vector on the left-hand side is a column vector representing the trajectory (x′ 0 , x′ 1 , . . . , x′ n ⁇ 1 ) in the x′ direction of the center of gravity.
- the column vector on the right-hand side is a column vector having: a target relative ZMP trajectory to which a correction is applied on the basis of a target angular momentum, a distance v x′0 ⁇ t acquired by multiplying the velocity v x′0 in the x′ direction of the center of gravity at the start time of the one-leg-grounded phase and the unit time ⁇ t, and a distance v x′n ⁇ 1 ⁇ t acquired by multiplying the velocity v x′n ⁇ 1 in the x′ direction of the center of gravity at the finish time of the one-leg-grounded phase and the unit time ⁇ t.
- the center-of-gravity trajectory (y′ 1 , . . . , y′ n ⁇ 1 ) in the y′ direction in the one-leg-grounded phase in the movement section k can also be calculated from a relative ZMP position (p y′1 , . . . , p y′n ⁇ 2 ) in the y′ direction, a target angular momentum about the roll axis (i.e.
- the above method can directly calculate the horizontal trajectory of the center of gravity that meets the target relative ZMP trajectory, without calculating the horizontal trajectory of the center of gravity in a try-and-error manner.
- the above method involves a comparably small quantity of calculations, and a high-speed calculation becomes possible.
- the user may give a horizontal unit vector n x′ , n y′ indicating the direction to which the center of gravity moves, and an absolute value
- the horizontal velocity v x′0 , v y′0 can be calculated by the following formula.
- the ZMP calculated by the ZMP equation is not always guaranteed to coincide with the target ZMP at both the start time and the finish time of the one-leg-grounded phase.
- the center-of-gravity velocity is connected smoothly at the start time and the finish time of the one-leg-grounded phase, and the duration that does not meet the ZMP equation is extremely short (about double the time breadth ⁇ t used for transforming the ZMP equation discretely); thereby, the robot 2 that realizes the movement generated as the above is able to perform a stabilized movement without tumbling.
- the robot 2 of this embodiment moves the center of gravity at an equal velocity. Therefore, the horizontal trajectory of the center of gravity in the both-legs-grounded phase can be generated from a position of the center of gravity at the start time of the both-legs-grounded phase, a center-of-gravity velocity in the both-legs-grounded phase, and the duration of the both-legs-grounded phase.
- the position of the center of gravity at the start time of the both-legs-grounded phase is given by specifying a position of the center of gravity at the finish time of the one-leg-grounded phase directly before.
- the center-of-gravity velocity in the both-legs-grounded phase is given by the above horizontal velocity v x′0 , v y′0 .
- the duration of the both-legs-grounded phase is already given in the form of the user command value. Thereby, the horizontal trajectory of the center of gravity in the both-legs-grounded phase can be generated.
- the robot 2 When the center of gravity of the robot 2 is moved at an equal velocity, the sum of the horizontal components of external forces acting on the robot 2 is zero; therefore, the ZMP that the robot 2 realizes lies vertically below the center of gravity. Therefore, in the both-legs-grounded phase, the robot 2 is able to perform a stabilized movement without tumbling, as long as the horizontal position of the center of gravity moves from the position of the leg link grounded behind toward the position of the leg link grounded ahead.
- Step S 412 calculates a ground position of a loose leg in transferring from the one-leg-grounded phase to the both-legs-grounded phase.
- the ground position of the loose leg is calculated as a relative position of the reference point of the flat foot of the loose leg to the reference point of the flat foot of the supporting leg at the finish time of the one-leg-grounded phase in the section k ⁇ 1.
- the leg link being the loose leg in the one-leg-grounded phase of the section k ⁇ 1 becomes the supporting leg in the one-leg-grounded phase of the section k. Therefore, the position on the floor where the flat foot of the supporting leg is to be grounded in the one-leg-grounded phase of the section k varies corresponding to the position where the loose leg is grounded in the section k ⁇ 1.
- the ground position of the loose leg in the section k ⁇ 1 is determined in a manner that the movement of the one-leg-grounded phase in the section k becomes stable.
- the relative position ( ⁇ x f ′, ⁇ y f ′) of the center of gravity from the reference point of the flat foot of the supporting leg at the start time of the section k is specified from the relative trajectory of the center of gravity in the one-leg-grounded phase of the section k generated at Step S 410 .
- the specified relative position ( ⁇ x f ′, ⁇ y f ′) of the center of gravity corresponds to the relative position of the center of gravity from the reference point of the flat foot of the leg link grounded ahead at the finish time of the both-legs-grounded phase of the section k ⁇ 1.
- the relative position ( ⁇ x b ′, ⁇ y b ′) of the center of gravity from the reference point of the flat foot of the leg link grounded behind at the finish time of the both-legs-grounded phase of the section k ⁇ 1 is specified from the relative trajectory of the center of gravity in the both-legs-grounded phase of the section k ⁇ 1 already generated.
- the relative position (s x , s y ) between the reference point of the flat foot of the leg link grounded ahead and the reference point of the flat foot of the leg link grounded behind is specified.
- the relative position (s x , s y ) thus specified corresponds to the relative position between the reference point of the flat foot of the supporting leg and the reference point of the flat foot of the loose leg at the finish time of the one-leg-grounded phase of the section k ⁇ 1, that is, the ground position of the loose leg.
- Step S 414 generates a relative trajectory of the toe of the loose leg in the section k ⁇ 1.
- the relative trajectory of the toe of the loose leg is generated from a relative position of the loose leg at the start time of the one-leg-grounded phase of the section k ⁇ 1 (i.e., ground position directly before lifting up the leg link becoming the loose leg), a relative position of the loose leg at the finish time of the one-leg-grounded phase of the section k ⁇ 1 (i.e., ground position of the loose leg determined at step S 412 ), and a duration of the one-leg-grounded phase given in the form of the user command value.
- FIG. 5 typically illustrates the state wherein a relative trajectory 510 of the toe of the loose leg is generated. As illustrated in FIG.
- the relative trajectory 510 of the toe of the loose leg is generated so as to lift up the flat foot of the loose leg from a ground position 502 and then move the flat foot of the loose leg to a ground position 506 at the time the duration of the one-leg-grounded phase finishes.
- the relative trajectory 510 of the toe of the loose leg can be generated by using the polynomial interpolation, for example.
- Step S 416 judges whether the generation of the relative trajectory of the center of gravity finishes in all of the movement sections. This judgment is made by comparing the number k of the movement section subjected to the processing with the number k max of the last movement section. If k is equal to or larger than k max (i.e. Yes at step S 416 ), the step judges that the generation of the relative trajectory of the center of gravity finishes in all of the movement sections, and moves the processing to step S 418 . If k is smaller than k max (i.e. No at step S 416 ), the step moves the processing to step S 408 to generate the trajectory of the center of gravity in the movement sections, the trajectory of which is not yet generated, and the processing from step S 408 through step S 414 are repeatedly executed.
- Step S 418 determines the ground position of the loose leg in the last movement section k max .
- the ground position of the loose leg can be determined arbitrarily as to the last movement section k max .
- the ground position of the loose leg is set to the side of the ground position of the supporting leg, so that the robot 2 can take an upright posture after the last movement section k max finishes.
- the processing at step S 420 is the same as that of step S 414 , and the description will be omitted.
- the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg are generated to realize the walking movement of the robot 2 .
- the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg thus generated are stored in the gait data storage device 308 .
- the target joint angle generation device 312 reading the relative trajectory of the center of gravity and the relative trajectory of the toe of the loose leg from the gait data storage device 308 , generates the sequential data of the target joint angles of each joint by the inverse kinematics calculation.
- the actuator control device 314 drives the actuator group 318 based on the generated sequential data of the target joint angles, and the robot 2 realizes the walking movement based on the user command value.
- the control unit 10 watches the switching from the one-leg-grounded phase to the both-legs-grounded phase.
- the switching from the one-leg-grounded phase to the both-legs-grounded phase can be judged from the relative trajectory of the toe of the loose leg that the target joint angle generation device 312 has read from the gait data storage device 308 .
- the control unit 10 updates the gait data in the movement sections after the moment.
- FIG. 6 is a flow chart explaining the processing whereby the gait data update device 310 of the control unit 10 updates the gait data of the robot 2 .
- Step S 602 specifies a current movement section m, in which the robot 2 is performing the movement at that moment.
- Step S 604 detects an actual velocity of the center of gravity by using the center-of-gravity velocity calculation device 316 .
- Step S 606 reads the user command value stored in the user command value storage device 304 .
- Step S 608 sets the movement section k of which gait data are to be updated.
- the movement section next to the current movement section m specified at step S 602 is set as the movement section k of which gait data are to be updated.
- Step S 610 generates the relative trajectory of the center of gravity in the movement section k.
- the processing of generating the relative trajectory of the center of gravity executed at Step S 610 is substantially the same as the processing at step S 410 in FIG. 4 , except the method of giving the horizontal velocity of the center of gravity at the start time of the one-leg-grounded phase.
- Step S 610 uses the actual velocity of the center of gravity detected at step S 604 , as the horizontal velocity of the center of gravity at the start time of the one-leg-grounded phase in the movement section k.
- step S 612 through step S 624 is the same as the processing from step S 408 through step 420 in FIG. 4 , and the detailed description thereof will be omitted here.
- the relative trajectory of the center of gravity on and after the movement section k+1, the predetermined position for grounding the loose leg on and after the movement section k, and the relative trajectory of the toe of the loose leg on and after the movement section k are updated.
- the robot 2 of this embodiment executes the update processing of the gait data, at each time of switching the movement from the one-leg-grounded phase into the both-legs-grounded phase. Therefore, if a new user command value is inputted from the user during the movement of the robot 2 , the movement can be modified to conform to the new user command value.
- the robot 2 of this embodiment measures the actual velocity of the center of gravity by using the sensor group 14 and the encoder group 320 when updating the above gait data, and updates the trajectory of the center of gravity thereafter so as to smoothly connect to the measured velocity of the center of gravity. If unexpected disturbances act on the robot 2 , the trajectory of the center of gravity thereafter is updated in response to the disturbances, and the robot 2 is able to continue a stabilized walk.
- the robot 2 of this embodiment sets the ground position of the loose leg when the movement is switched from the one-leg-grounded phase into the both-legs-grounded phase, on the basis of the relative trajectory of the center of gravity in the both-legs-grounded phase and the following relative trajectory of the center of gravity in the one-leg-grounded phase, so that the movement thereafter becomes stable.
- the robot 2 is able to realize a stabilized walking movement to a large extent.
- the above embodiment described an example that calculates an acceleration of the center of gravity from the measurement of the acceleration sensor 322 installed in the trunk 4 and the measurement of the encoder group 320 installed in each of the joints, and detects the velocity of the center of gravity by integrating the acceleration of the center of gravity by the time.
- the detection of the acceleration of the center of gravity is not limited to this; it is conceivable, for example, to install plural acceleration sensors in the robot 2 and calculate the acceleration of the center of gravity from the positions of measuring points of these acceleration sensors and the measurements thereof.
- the acceleration of the center of gravity may be calculated from the measurements of the acceleration sensor and the measurements of the gyro sensor.
- the above embodiment describes an example that measures the velocity of the center of gravity based on the acceleration measured by the sensor group 14 ; however the measurement of the velocity of the center of gravity is not limited to this.
- a GPS receiver on the trunk 4 , calculate a position of the center of gravity from a position acquired by the GPS receiver and a joint angle of each joint, and calculate the velocity of the center of gravity from the variation with time of the position of the center of gravity.
- the velocity of the center of gravity may be calculated directly by using only the variation with time of the joint angle of each joint.
- the above embodiment describes an example that, while the robot 2 is actually walking, updates the predetermined position for grounding the loose leg on and after the movement section m+1, at the timing the robot 2 grounds the loose leg in the movement section m.
- updating the predetermined position for grounding the loose leg in the movement section m+1, before the robot 2 starts the movement in the movement section m+1 will prevent a sudden change of the movement in the one-leg-grounded phase, and the robot 2 is able to perform a stabilized movement.
- the construction may be adopted that, while the robot 2 performs the movement in a movement section m of the one-leg-grounded phase, updates the predetermined position for grounding the loose leg in the movement section m.
- the robot 2 is able to quickly recover a stable walking movement, in swift response to the disturbances acting on the robot 2 .
- the above embodiment describes an example that the height of the center of gravity of the robot 2 given in the form of the user command value as constant in all the movement sections; however, the height of the center of gravity of the robot 2 may be made to vary with time.
- the vertical trajectory of the robot 2 is acquired before generating the horizontal trajectory of the center of gravity of the robot 2 , solving the above tridiagonal matrix will generate the horizontal trajectory corresponding to that vertical trajectory.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Robotics (AREA)
- Manipulator (AREA)
Abstract
Description
(Feature 2) When updating the trajectory of the center of gravity of the robot, the controller updates the trajectory of the center of gravity of the robot in the both-legs-grounded phase, in a manner that the center of gravity moves at an equal velocity in the both-legs-grounded phase.
(Feature 3) The controller, further including a means to detect an actual velocity of the center of gravity of the robot, updates the trajectory of the center of gravity of the robot on the basis of the detected velocity of the center of gravity.
p x′i =a i x′ i−1 +b i x′ i +c i x′ i+1 +d i [Formula 2]
v x′0 Δt=x′ 1 −x′ 0 [Formula 5]
v x′n−1 Δt=x′ n−1 −x′ n−2 [Formula 6]
Claims (3)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006-195717 | 2006-07-18 | ||
JP2006195717A JP4591419B2 (en) | 2006-07-18 | 2006-07-18 | Robot and its control method |
PCT/JP2007/064084 WO2008010485A1 (en) | 2006-07-18 | 2007-07-17 | Robot, and its control method |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090005906A1 US20090005906A1 (en) | 2009-01-01 |
US8108070B2 true US8108070B2 (en) | 2012-01-31 |
Family
ID=38956816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/087,473 Expired - Fee Related US8108070B2 (en) | 2006-07-18 | 2007-07-17 | Robot and control method thereof |
Country Status (6)
Country | Link |
---|---|
US (1) | US8108070B2 (en) |
EP (1) | EP2052817B1 (en) |
JP (1) | JP4591419B2 (en) |
KR (1) | KR101029228B1 (en) |
CN (1) | CN101466507B (en) |
WO (1) | WO2008010485A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110178637A1 (en) * | 2010-01-18 | 2011-07-21 | Samsung Electronics Co., Ltd. | Walking control apparatus of robot and method of controlling the same |
US9387588B1 (en) * | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
US9594377B1 (en) | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
US9969087B1 (en) | 2014-11-11 | 2018-05-15 | Boston Dynamics, Inc. | Leg collision avoidance in a robotic device |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US20220388585A1 (en) * | 2019-10-25 | 2022-12-08 | Sony Group Corporation | Robot device |
US12097609B2 (en) | 2016-01-25 | 2024-09-24 | Boston Dynamics, Inc. | Continuous slip recovery |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4548135B2 (en) | 2005-02-03 | 2010-09-22 | トヨタ自動車株式会社 | Legged robot and its control method |
JP5035005B2 (en) * | 2008-02-19 | 2012-09-26 | トヨタ自動車株式会社 | Legged robot, its control method, and its control system |
JP2009214255A (en) * | 2008-03-12 | 2009-09-24 | Toyota Motor Corp | Leg type robot and its control method |
FR2947236B1 (en) * | 2009-06-30 | 2011-07-15 | Aldebaran Robotics | METHOD FOR CONTROLLING THE MARKET OF A MOBILE ROBOT AND ROBOT USING THE METHOD |
JP5610735B2 (en) * | 2009-09-29 | 2014-10-22 | 任天堂株式会社 | Information processing program, information processing apparatus, information processing method, and information processing system |
KR101691940B1 (en) * | 2009-10-30 | 2017-01-02 | 삼성전자주식회사 | Robot and control method thereof |
KR101438968B1 (en) | 2012-12-27 | 2014-09-15 | 현대자동차주식회사 | Method and system for controlling walking of robot |
JP6174864B2 (en) * | 2013-02-21 | 2017-08-02 | 本田技研工業株式会社 | Walking state estimation device and walking state estimation method |
JP6228097B2 (en) * | 2014-10-06 | 2017-11-08 | 本田技研工業株式会社 | Mobile robot |
US10386857B2 (en) * | 2017-07-05 | 2019-08-20 | Qualcomm Incorporated | Sensor-centric path planning and control for robotic vehicles |
CN109991989B (en) * | 2017-12-29 | 2021-12-17 | 深圳市优必选科技有限公司 | Dynamic balance method and device of robot in idle state and storage medium |
CN111015653B (en) * | 2019-12-13 | 2021-06-04 | 深圳市优必选科技股份有限公司 | Robot control method, device, computer readable storage medium and robot |
JP2021130183A (en) * | 2020-02-21 | 2021-09-09 | ソニーグループ株式会社 | Information processing device, information processing method, computer program, and mobile robot |
CN113246124B (en) * | 2021-04-30 | 2023-06-02 | 深圳市优必选科技股份有限公司 | Robot control method and device, computer readable storage medium and robot |
CN117590840A (en) | 2022-08-08 | 2024-02-23 | 北京小米机器人技术有限公司 | Motion control methods, devices, controllers, media and robots |
CN117694841B (en) * | 2024-02-06 | 2024-04-30 | 成都中医药大学 | Gravity center track data acquisition method |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05305585A (en) | 1992-04-30 | 1993-11-19 | Honda Motor Co Ltd | Walking control device for leg type mobile robot |
US20020022907A1 (en) | 1996-12-19 | 2002-02-21 | Toru Takenaka | Attitude controller of legend moving robot |
WO2002040224A1 (en) | 2000-11-17 | 2002-05-23 | Honda Giken Kogyo Kabushiki Kaisha | Gait pattern generating device for legged mobile robot |
WO2003057426A1 (en) | 2001-12-28 | 2003-07-17 | Honda Giken Kogyo Kabushiki Kaisha | Gait producing device for leg type movable robot |
US6697709B2 (en) | 1999-09-20 | 2004-02-24 | Sony Corporation | Ambulation control apparatus and ambulation control method of robot |
JP2004114243A (en) | 2002-09-26 | 2004-04-15 | National Institute Of Advanced Industrial & Technology | Gait generator for walking robot |
JP2004142095A (en) | 2002-10-01 | 2004-05-20 | Sony Corp | Robot system and control method therefor |
JP2004167676A (en) | 2002-11-06 | 2004-06-17 | Sony Corp | Robot device, motion control device and motion control method of robot device |
US20040176875A1 (en) | 2002-12-16 | 2004-09-09 | Sony Corporation | Legged mobile robot |
US20040211603A1 (en) | 2001-09-26 | 2004-10-28 | Takayuki Furuta | Bipedal humanoid |
JP2005007496A (en) | 2003-06-17 | 2005-01-13 | Toyota Motor Corp | Gait data creation device and creation method |
US6865446B2 (en) | 2001-02-21 | 2005-03-08 | Sony Corporation | Robot device and method of controlling robot device operation |
US20050107916A1 (en) | 2002-10-01 | 2005-05-19 | Sony Corporation | Robot device and control method of robot device |
US6898485B2 (en) | 2000-11-20 | 2005-05-24 | Sony Corporation | Device and method for controlling operation of legged robot, and robot device |
US20050228540A1 (en) | 2003-03-23 | 2005-10-13 | Tomohisa Moridaira | Robot device and method of controlling the same |
JP2006175567A (en) | 2004-12-24 | 2006-07-06 | Honda Motor Co Ltd | Control device of legged mobile robot |
WO2006083028A1 (en) | 2005-02-03 | 2006-08-10 | Toyota Jidosha Kabushiki Kaisha | Legged robot and control method thereof |
JP2006247769A (en) | 2005-03-09 | 2006-09-21 | Toyota Motor Corp | Legged robot and its motion control method |
US7112938B2 (en) | 2002-05-01 | 2006-09-26 | Honda Giken Kogyo Kabushiki Kaisha | Attitude control device of mobile robot |
US7698020B2 (en) | 2003-07-11 | 2010-04-13 | Honda Motor Co., Ltd. | Method of estimating joint moment of two-legged walking mobile body |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60141288D1 (en) * | 2000-09-29 | 2010-03-25 | Honda Motor Co Ltd | ROBOT WITH TWO FEET |
JP3569764B2 (en) * | 2001-11-19 | 2004-09-29 | 独立行政法人 科学技術振興機構 | Bipod walking type moving device, its walking control device, and walking control method |
JP2006195717A (en) | 2005-01-13 | 2006-07-27 | Sun Sogo Maintenance:Kk | Monitoring device |
-
2006
- 2006-07-18 JP JP2006195717A patent/JP4591419B2/en not_active Expired - Fee Related
-
2007
- 2007-07-17 KR KR1020087022323A patent/KR101029228B1/en active IP Right Grant
- 2007-07-17 WO PCT/JP2007/064084 patent/WO2008010485A1/en active Application Filing
- 2007-07-17 US US12/087,473 patent/US8108070B2/en not_active Expired - Fee Related
- 2007-07-17 CN CN2007800213951A patent/CN101466507B/en not_active Expired - Fee Related
- 2007-07-17 EP EP07790846.5A patent/EP2052817B1/en not_active Ceased
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05305585A (en) | 1992-04-30 | 1993-11-19 | Honda Motor Co Ltd | Walking control device for leg type mobile robot |
US20020022907A1 (en) | 1996-12-19 | 2002-02-21 | Toru Takenaka | Attitude controller of legend moving robot |
US6505096B2 (en) | 1996-12-19 | 2003-01-07 | Honda Giken Kogyo Kabushiki Kaisha | Posture control system of legged mobile robot |
US6697709B2 (en) | 1999-09-20 | 2004-02-24 | Sony Corporation | Ambulation control apparatus and ambulation control method of robot |
WO2002040224A1 (en) | 2000-11-17 | 2002-05-23 | Honda Giken Kogyo Kabushiki Kaisha | Gait pattern generating device for legged mobile robot |
US6898485B2 (en) | 2000-11-20 | 2005-05-24 | Sony Corporation | Device and method for controlling operation of legged robot, and robot device |
US6865446B2 (en) | 2001-02-21 | 2005-03-08 | Sony Corporation | Robot device and method of controlling robot device operation |
US20040211603A1 (en) | 2001-09-26 | 2004-10-28 | Takayuki Furuta | Bipedal humanoid |
EP1466705A1 (en) | 2001-12-28 | 2004-10-13 | Honda Giken Kogyo Kabushiki Kaisha | Gait producing device for leg type movable robot, and control device |
WO2003057426A1 (en) | 2001-12-28 | 2003-07-17 | Honda Giken Kogyo Kabushiki Kaisha | Gait producing device for leg type movable robot |
US7112938B2 (en) | 2002-05-01 | 2006-09-26 | Honda Giken Kogyo Kabushiki Kaisha | Attitude control device of mobile robot |
JP2004114243A (en) | 2002-09-26 | 2004-04-15 | National Institute Of Advanced Industrial & Technology | Gait generator for walking robot |
US7805218B2 (en) * | 2002-10-01 | 2010-09-28 | Sony Corporation | Robot device and control method of robot device |
JP2004142095A (en) | 2002-10-01 | 2004-05-20 | Sony Corp | Robot system and control method therefor |
US20050107916A1 (en) | 2002-10-01 | 2005-05-19 | Sony Corporation | Robot device and control method of robot device |
JP3599244B2 (en) | 2002-11-06 | 2004-12-08 | ソニー株式会社 | Robot device, motion control device of robot device, and motion control method |
US20050038560A1 (en) | 2002-11-06 | 2005-02-17 | Kenichiro Nagasaka | Robot device, motion control device for robot device and motion control method |
EP1559519A1 (en) | 2002-11-06 | 2005-08-03 | Sony Corporation | Robot device, motion control device for robot device and motion control method |
US7400939B2 (en) * | 2002-11-06 | 2008-07-15 | Sony Corporation | Robot device, motion control device for robot device and motion control method |
JP2004167676A (en) | 2002-11-06 | 2004-06-17 | Sony Corp | Robot device, motion control device and motion control method of robot device |
US20040176875A1 (en) | 2002-12-16 | 2004-09-09 | Sony Corporation | Legged mobile robot |
US20050228540A1 (en) | 2003-03-23 | 2005-10-13 | Tomohisa Moridaira | Robot device and method of controlling the same |
JP2005007496A (en) | 2003-06-17 | 2005-01-13 | Toyota Motor Corp | Gait data creation device and creation method |
US7698020B2 (en) | 2003-07-11 | 2010-04-13 | Honda Motor Co., Ltd. | Method of estimating joint moment of two-legged walking mobile body |
JP2006175567A (en) | 2004-12-24 | 2006-07-06 | Honda Motor Co Ltd | Control device of legged mobile robot |
WO2006083028A1 (en) | 2005-02-03 | 2006-08-10 | Toyota Jidosha Kabushiki Kaisha | Legged robot and control method thereof |
JP2006247769A (en) | 2005-03-09 | 2006-09-21 | Toyota Motor Corp | Legged robot and its motion control method |
Non-Patent Citations (5)
Title |
---|
K. Nishiwaki, t. Kitagawa, T. Sugihara, S. Kagami, M. Inaba, H. Inoue: Fast Generation Method of Dynamically Stable Trajectory of Humanoid Motion based on the Characteristics of ZMP, Pamphlet of 18th Annual Conference of Robotics Society of Japan, Sep. 12, 2000, pp. 721-722. |
Motion having a Flight Phase: Experiments Involving a One-legged Robot; Tajima et al., Proceedings of the 2006 IEEE, International Conference on Intelligent Robots and Systems (Oct. 9-15, 2006). |
Motion having a Flight Phase: Experiments Involving a One-legged Robot; Tajima et al., the 24th annual conference of the Robotics Society of Japan (Sep. 14-16, 2006). |
Office Action issued on Sep. 14, 2010 in co-pending U.S. Appl. No. 11/794,496, filed Jun. 29, 2007, Inventor: Jaime Figueroa. |
Y. Minemura: Learning with C and Java, A Guide to Numerical Simulation, Morikita Publishing Company, Apr. 30, 1999, 1st ed., pp. 61-64, 178-180. |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110178637A1 (en) * | 2010-01-18 | 2011-07-21 | Samsung Electronics Co., Ltd. | Walking control apparatus of robot and method of controlling the same |
US8688273B2 (en) * | 2010-01-18 | 2014-04-01 | Samsung Electronics Co., Ltd. | Walking control apparatus of robot and method of controlling the same |
US11203385B1 (en) | 2014-08-25 | 2021-12-21 | Boston Dynamics, Inc. | Slip detection for robotic locomotion |
US11027415B1 (en) | 2014-08-25 | 2021-06-08 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US11731277B2 (en) | 2014-08-25 | 2023-08-22 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US11654984B2 (en) | 2014-08-25 | 2023-05-23 | Boston Dynamics, Inc. | Slip detection for robotic locomotion |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9789611B1 (en) * | 2014-08-25 | 2017-10-17 | Google Inc. | Handling gait disturbances with asynchronous timing |
US12139217B2 (en) | 2014-08-25 | 2024-11-12 | Boston Dynamics, Inc. | Slip detection for robotic locomotion |
US12128570B2 (en) | 2014-08-25 | 2024-10-29 | Boston Dynamics, Inc. | Handling gait disturbances with asynchronous timing |
US10668624B2 (en) * | 2014-08-25 | 2020-06-02 | Boston Dynamics, Inc. | Handling gait disturbances with asynchronous timing |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US11654569B2 (en) | 2014-08-25 | 2023-05-23 | Boston Dynamics, Inc. | Handling gait disturbances with asynchronous timing |
US10888999B2 (en) * | 2014-08-25 | 2021-01-12 | Boston Dynamics, Inc. | Handling gait disturbances with asynchronous timing |
US10300969B1 (en) | 2014-08-25 | 2019-05-28 | Boston Dynamics, Inc. | Slip detection for robotic locomotion |
US10406690B1 (en) * | 2014-08-25 | 2019-09-10 | Boston Dynamics, Inc. | Handling gait disturbances with asynchronous timing |
US9387588B1 (en) * | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US9969087B1 (en) | 2014-11-11 | 2018-05-15 | Boston Dynamics, Inc. | Leg collision avoidance in a robotic device |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US10246151B1 (en) | 2014-12-30 | 2019-04-02 | Boston Dynamics, Inc. | Mechanically-timed footsteps for a robotic device |
US11654985B2 (en) | 2014-12-30 | 2023-05-23 | Boston Dynamics, Inc. | Mechanically-timed footsteps for a robotic device |
US11225294B1 (en) | 2014-12-30 | 2022-01-18 | Boston Dynamics, Inc. | Mechanically-timed footsteps for a robotic device |
US11726481B2 (en) | 2015-05-12 | 2023-08-15 | Boston Dynamics, Inc. | Auto-swing height adjustment |
US10528051B1 (en) | 2015-05-12 | 2020-01-07 | Boston Dynamics, Inc. | Auto-height swing adjustment |
US12130625B2 (en) | 2015-05-12 | 2024-10-29 | Boston Dynamics, Inc. | Auto swing-height adjustment |
US11188081B2 (en) | 2015-05-12 | 2021-11-30 | Boston Dynamics, Inc. | Auto-swing height adjustment |
US9594377B1 (en) | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
US10081104B1 (en) | 2015-09-15 | 2018-09-25 | Boston Dynamics, Inc. | Determination of robotic step path |
US11413750B2 (en) | 2015-09-15 | 2022-08-16 | Boston Dynamics, Inc. | Determination of robotic step path |
US10239208B1 (en) | 2015-09-15 | 2019-03-26 | Boston Dynamics, Inc. | Determination of robotic step path |
US10456916B2 (en) | 2015-09-15 | 2019-10-29 | Boston Dynamics, Inc. | Determination of robotic step path |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
US12097609B2 (en) | 2016-01-25 | 2024-09-24 | Boston Dynamics, Inc. | Continuous slip recovery |
US10583879B1 (en) | 2016-03-22 | 2020-03-10 | Boston Dynamics, Inc. | Mitigating sensor noise in legged robots |
US11780515B2 (en) | 2016-03-22 | 2023-10-10 | Boston Dynamics, Inc. | Mitigating sensor noise in legged robots |
US11124252B2 (en) | 2016-03-22 | 2021-09-21 | Boston Dynamics, Inc. | Mitigating sensor noise in legged robots |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
US12060124B2 (en) * | 2019-10-25 | 2024-08-13 | Sony Group Corporation | Robot device |
US20220388585A1 (en) * | 2019-10-25 | 2022-12-08 | Sony Group Corporation | Robot device |
Also Published As
Publication number | Publication date |
---|---|
JP4591419B2 (en) | 2010-12-01 |
US20090005906A1 (en) | 2009-01-01 |
JP2008023612A (en) | 2008-02-07 |
KR20080102191A (en) | 2008-11-24 |
WO2008010485A1 (en) | 2008-01-24 |
CN101466507A (en) | 2009-06-24 |
EP2052817A4 (en) | 2014-01-22 |
CN101466507B (en) | 2010-12-22 |
KR101029228B1 (en) | 2011-04-14 |
EP2052817B1 (en) | 2015-05-27 |
EP2052817A1 (en) | 2009-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8108070B2 (en) | Robot and control method thereof | |
JP5483997B2 (en) | Control device for legged mobile robot | |
US8793019B2 (en) | Control device for legged mobile robot | |
US8005573B2 (en) | Control device for legged mobile robot | |
JP5284923B2 (en) | Control device for legged mobile robot | |
JP5232124B2 (en) | Control device for legged mobile robot | |
JP5219956B2 (en) | Control device for moving body | |
US7482775B2 (en) | Robot controller | |
US20050154492A1 (en) | Gait producing device for leg type movable robot | |
EP1547732A1 (en) | Robot device and control method of robot device | |
JPH05337849A (en) | Attitude stabilization control device for leg type mobile robot | |
US7765030B2 (en) | Gait generator for mobile robot | |
JP4492395B2 (en) | Legged robot and its motion control method | |
JP5232120B2 (en) | Control device for moving body | |
JP5404544B2 (en) | Control device for legged mobile robot | |
JP2012016800A (en) | Control device of leg type moving robot | |
JP4696728B2 (en) | Legged robot and its control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TOYOTA JIDOSHA KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TAJIMA, RYOKE;REEL/FRAME:021246/0514 Effective date: 20080212 |
|
AS | Assignment |
Owner name: TOYOTA JIDOSHA KABUSHIKI KAISHA, JAPAN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORD ASSIGNMENT PREVIOUSLY PREVIOUSLY RECORDED ON REEL 021246 FRAME 0514;ASSIGNOR:TAJIMA, RYOSUKE;REEL/FRAME:021666/0662 Effective date: 20080212 Owner name: TOYOTA JIDOSHA KABUSHIKI KAISHA, JAPAN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORD ASSIGNMENT PREVIOUSLY PREVIOUSLY RECORDED ON REEL 021246 FRAME 0514. ASSIGNOR(S) HEREBY CONFIRMS THE TO CORRECT NAME FROM RYOKE TAJIME TO RYOSUKE TAJIME;ASSIGNOR:TAJIMA, RYOSUKE;REEL/FRAME:021666/0662 Effective date: 20080212 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200131 |