WO2003090980A1 - Dispositif d'estimation automatique de position pour robots mobiles montes sur des jambes - Google Patents

Dispositif d'estimation automatique de position pour robots mobiles montes sur des jambes Download PDF

Info

Publication number
WO2003090980A1
WO2003090980A1 PCT/JP2003/005448 JP0305448W WO03090980A1 WO 2003090980 A1 WO2003090980 A1 WO 2003090980A1 JP 0305448 W JP0305448 W JP 0305448W WO 03090980 A1 WO03090980 A1 WO 03090980A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimated
posture
coordinate system
gait
robot
Prior art date
Application number
PCT/JP2003/005448
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 US10/512,263 priority Critical patent/US7337040B2/en
Priority to KR1020047017293A priority patent/KR100956520B1/ko
Priority to DE60332224T priority patent/DE60332224D1/de
Priority to EP03725698A priority patent/EP1502712B1/en
Priority to JP2004501989A priority patent/JP4246696B2/ja
Publication of WO2003090980A1 publication Critical patent/WO2003090980A1/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 a device for estimating the self-position of a legged mobile robot.
  • the posture rotation in the desired gait is referred to as a desired posture rotation.
  • the phenomenon that is mainly a problem in the present specification is that the actual rotation of the entire posture of the lopot (or the rotation of the posture of a representative portion such as the upper body) deviates from the target posture rotation. If this phenomenon is strictly expressed.
  • spin the phenomenon in which the entire mouth pot rotates around the vertical axis and deviates from the direction of the target gait.
  • an environment recognition device such as a video camera
  • an object to be watched such as a landmark
  • the map information is captured at a predetermined position in the image (such as the center of the image). Therefore, it is necessary to accurately estimate the self-position and posture.
  • an environment recognition device such as a video camera measures the position of an object in a mouth-to-mouth coordinate system (coordinate system fixed to the floor of the moving environment of the mouth pot) set in the environment. It is necessary to accurately estimate the self-position and orientation in the global coordinate system.
  • an inertial navigation device used for guiding a rocket or the like is known.
  • the mouth port is statically fixed to the floor (ground) in the initial state, so that the initial values of the position and speed of the mouth port are set to 0, and then movement starts. There is a need to.
  • the inertial navigation calculation starts when the initial values of the position and velocity do not completely become 0, and the estimation error increases. Was prone.
  • GPS global 'positioning' system
  • external devices such as satellites, ground-based radars, and beacons. It would be possible to introduce a similar system in a robot, but the accuracy is such that the height of the robot's foot (leg end) from the floor is measured on the order of millimeters or centimeters. It is difficult to achieve this at low cost.
  • the present invention has been made in view of such a background, and an object of the present invention is to provide a self-position estimating device capable of accurately estimating the self-position of a robot.
  • an object of the present invention is to provide a self-position estimating device capable of accurately estimating the self-position of a robot.
  • a self-position estimating device capable of accurately estimating the self-position and posture even in a state in which posture rotation (or spin) occurs in the entire lopot.
  • the target object is recognized by an environment recognition device such as a video camera mounted on the lopot. It is an object of the present invention to provide a self-position estimating device capable of appropriately performing a gaze control for controlling a direction of the environment recognition device so as to capture an appropriate position.
  • an object having accurate position information such as a landmark can be recognized in advance by environment recognition means such as a video camera, and the accuracy of the robot's estimated self-position can be improved based on the information obtained thereby. It is intended to provide a self-position estimation device.
  • a first invention of a legged mobile lopot self-position estimating device of the present invention is a legged mobile lopot controlled to follow a determined target gait.
  • the temporal change amount of the posture rotation deviation which is the difference between the detected value or estimated value of the actual posture of the predetermined part of the lopot and the target posture of the predetermined part in the target gait, is determined as the posture rotation deviation change amount.
  • a position estimating means for determining an estimated position which is an estimated value of the position of the lopot.
  • a change in a posture rotation deviation which is a difference between a detected value or an estimated value of an actual posture of the predetermined portion of the robot and a target posture of the predetermined portion in the target gait, is a certain rotation center. It is assumed that the entirety of the lopot is rotated around the position by the above-described posture rotation deviation change amount.
  • the detected value or estimated value of the actual posture of the predetermined part is, for example, an inclinometer. It may be detected or estimated using a sensor such as a jar mouth sensor, but may be appropriately corrected by using the estimated position of the lopot determined by the present invention, the acceleration detection value of the acceleration sensor, etc. .
  • the detected value or estimated value of the actual posture of the predetermined part may basically be any value that represents the actual posture of the predetermined part with relatively high accuracy, regardless of the means for obtaining it. This is the same in the present invention other than the first invention.
  • the position estimating means rotates the first coordinate system, which is a coordinate system describing the desired gait, around the rotation center by the posture rotation deviation change amount.
  • Means for obtaining a second coordinate system comprising: a target motion of the target gait; a detected displacement value of the joint of the lopot; and a target displacement value of the joint. It is possible to determine the estimated position of the robot as viewed from the global coordinate system so that the robot position as viewed from the first coordinate system is the same as the estimated position of the robot as viewed from the second coordinate system.
  • the global coordinate system is a coordinate system fixed to the floor (ground) of the environment where the mouth pot moves.
  • the mouth pot position viewed from the first coordinate system i.e., the mouth pot does not rotate or slip on the first coordinate system, and the target gait can be adjusted. If it is determined that the target movement or the joint displacement detection value or the joint displacement target value is exercising, the robot is grasped from at least one of the target movement, the joint displacement detection value, and the joint displacement target value. (A position of the mouth pot viewed from the first coordinate system) and a lopot viewed from the second coordinate system obtained by rotating the first coordinate system around the rotation center by the variation amount of the posture rotation deviation.
  • the estimated position of the robot as viewed from the global coordinate system is determined so that the estimated position of the robot is the same (each coordinate component of the position on each coordinate system is the same in both coordinate systems).
  • the estimated position of the robot can be determined by appropriately reflecting the change in the posture rotation deviation, and an accurate estimated position can be obtained.
  • the first coordinate system is a coordinate system set for each landing of the lopot, for example, in the vicinity of the foot contact surface of the foot of the leg that lands by the robot landing operation (described in an embodiment to be described later). (Supporting leg coordinate system), but may be the same coordinate system as the global coordinate system.
  • the predetermined portion is an upper body of a mouth pot (a base on which a leg is extended) (a third invention). This is because the influence of the rotating slip of the lopot, etc. tends to appear as a change in the posture of the upper body of the lopot.
  • the posture rotation deviation includes at least a posture rotation deviation component of the predetermined portion in the one direction (a fourth invention). This is because the position of the mouth pot is easily affected by the change in the posture rotation deviation in the Yaw direction.
  • the rotation center determines the rotation center at the center of gravity of the mouth port during the aerial period, and at any time other than the aerial period, the center of the actual floor reaction force and the target ZMP of the desired gait or any point thereof. It is preferable to determine the rotation center in the vicinity (fifth invention). That is, in the aerial period, the change in the posture rotation deviation described above is a rotation about the center of gravity of the lopot, and at a time other than the aerial period, that is, at a time when one of the legs is in contact with the ground.
  • the rotation center of the change in the posture rotation deviation is approximately near the center point of the actual floor reaction force (the center point of the total floor reaction force that actually acts on the mouth pot) and the target ZMP. Therefore, by determining the center of rotation as described above, the center of rotation becomes appropriate according to the actual situation, and the accuracy of the estimated position of the mouth pot can be appropriately secured.
  • the target gait is a gait that does not have an aerial period, such as walking at the mouth pot.
  • the rotation center may be determined at, for example, any one of the actual floor reaction force center point and the target ZMP or in the vicinity thereof.
  • the posture rotation deviation calculating means is means for sequentially calculating the posture rotation deviation change amount at each moment
  • the position estimating means is the posture rotation deviation at each moment.
  • the estimated position at each moment of the lopot is sequentially determined using the deviation change amount (a sixth invention). According to this, since the estimated position of each moment is determined sequentially, the self-position of the lopot can be grasped almost continuously.
  • the posture rotation deviation change amount corresponds to the change speed of the posture rotation deviation.
  • the posture rotation deviation calculating means is configured such that each time the leg of the robot lands due to the landing operation of the robot, the posture rotation deviation calculation means performs a process from the previous landing of the leg to the landing of the present leg.
  • the reliability of the estimated position can be improved.
  • the position of the mouth pot estimated by the position estimating means is a ground contact position of a leg landed by the landing operation of the lopot (eighth invention). .
  • the landing position of the leg of the mouth pot is more stable because it is less likely to cause minute fluctuations compared to the upper body and other parts of the mouth pot ( therefore, the landing position is estimated as the location of the mouth pot). By doing so, a highly reliable estimated position can be obtained.
  • the floor reaction force acting on the mouth pot is reduced.
  • a floor reaction force detecting means for detecting, the position estimating means estimating a deformation amount of the mouth port based on the detected floor reaction force, and at least using the estimated deformation amount, the robot It is preferable to determine the estimated position of (9th invention). According to this, the estimated position of the mouth pot is determined in consideration of the deformation amount of the foot of the lopot due to the floor reaction force acting on the mouth pot, so that the accuracy of the estimated position can be improved.
  • a tenth invention of the self-position estimating device of the present invention is a legged locomotion locopot controlled to follow the determined target gait, and detects a translational acceleration mounted on the lopot.
  • An acceleration sensor that detects an angular velocity with respect to inertial space mounted on the robot; a target movement of the target gait; a detected displacement value of a joint of the robot and a target displacement value of the joint;
  • Geometric position estimating means for determining a first estimated position as a geometric estimated value of a predetermined position of the robot or a vertical position of a center of gravity of the robot based on at least one of the following.
  • a second position as an inertial navigational estimated value of the vertical position of the predetermined portion or the entire center of gravity of the robot by inertial navigation based on at least the detected value of the acceleration sensor and the detected value of the angular velocity sensor.
  • an inertial navigation position estimating means for determining the estimated position and correcting the second estimated position based on at least the difference between the first estimated position and the second estimated position. Things.
  • the vertical position of the predetermined portion or the center of gravity of the lopot is based on at least the target movement of the target gait, the detected displacement value of the joint of the robot, and the target displacement value of the joint.
  • a first estimated position is determined as a geometric estimated value (vertical position obtained by a kinematics operation or the like).
  • a second estimated position as an inertial navigational estimated value of the vertical position of the predetermined portion or the entire center of gravity of the lopot is determined by inertial navigation based on at least a detected value of the acceleration sensor and a detected value of the angular velocity sensor. Determined : Then, at this time, the second estimated position is corrected based on a difference from the first estimated position.
  • the second estimated position based on the inertial navigation is corrected using the first estimated position determined by a geometric method different from the inertial navigation.
  • the predetermined portion is the body of the above-mentioned lopot (the eleventh invention).
  • a floor reaction force detecting means for detecting a floor reaction force acting on the mouth port, and the geometrical position estimating means is provided with the detected floor reaction force. It is preferable to estimate the deformation amount of the lopot based on the above, and to determine the first estimated position using the estimated deformation amount (12th invention). According to this, similarly to the ninth invention, the first estimated position is determined in consideration of the deformation amount of the mouth pot due to the floor reaction force, so that the accuracy of the first estimated position can be improved. it can. As a result, the second estimated position can be more appropriately corrected, and the accuracy of the second estimated position can be increased.
  • the inertial navigation position estimating means is configured to calculate the second estimated position so that a difference between the first estimated position and the second estimated position approaches zero. It is preferable to correct (the thirteenth invention). Thereby, the correction of the second estimated position can be appropriately performed so that the accuracy of the second estimated position is increased (error is reduced).
  • the inertial navigation position estimating means when the target gait of the robot is a gait having an aerial period in which all the legs of the robot are floated in the air, the inertial navigation position estimating means is used.
  • the correction amount of the second estimated position is set to approximately 0 (a 14th invention). That is, mid-air
  • the correction amount of the second estimated position is set to 0 in the mid-air period. This prevents the second estimated position from being improperly corrected using the unreliable first estimated position in the aerial period, and provides a long-term accuracy of the second estimated position. Can be secured stably.
  • a fifteenth invention of the self-position estimating device of the present invention detects a translational acceleration mounted on the robot in a legged movement robot controlled to follow the determined target gait.
  • An acceleration sensor, and a temporal change amount of a posture rotation deviation which is a difference between a detected value or an estimated value of an actual posture of the predetermined portion of the mouth port and a target posture of the predetermined portion in the target gait.
  • Posture rotation deviation calculating means for calculating the rotation deviation change amount; rotation center determination means for determining the rotation center of the change in the posture rotation deviation; and the lopot rotates around the rotation center with the posture rotation deviation change amount.
  • Geometric position estimating means for determining a first estimated position, which is an estimated value of the position of the predetermined portion or the overall center of gravity of the lopot, and at least the detected value of the acceleration sensor and Calculating a second estimated position as an estimated value of the position of the entire center of gravity of the predetermined part or the lopot by inertial navigation based on the detected value or the estimated value of the actual posture of the predetermined part;
  • An inertial navigation position estimating means for correcting the second estimated position based on a difference between the first estimated position and the second estimated position is provided.
  • the first estimated position which is an estimated value of the position of the predetermined part of the lopot or the position of the overall center of gravity, is determined using the method described in the first invention.
  • the landing position of the leg landed by the landing operation of the mouth pot is determined as described in the eighth invention, and the desired gait is determined with reference to the landing position.
  • Target movement, joint displacement of mouth pot It is preferable that the first estimated position is determined based on at least one of the detected value and the displacement target value of the joint.
  • the position of the predetermined portion or the entire center of gravity is estimated by inertial navigation based on at least a detection value of the acceleration sensor and a detection value or an estimated value of the actual posture of the predetermined portion.
  • a second estimated position is calculated as a value, and the second estimated position is corrected based on a difference from the first estimated position.
  • the second estimated position based on the inertial navigation is corrected using the first estimated position that is geometrically determined in consideration of the position change of the lopot due to the slip of the lopot. Is done.
  • drift accumulation of integration error
  • the geometrical position estimating means is configured to move the first coordinate system, which is a coordinate system describing the desired gait, around the rotation center by the posture rotation deviation change amount.
  • the position of the predetermined part or the overall center of gravity as viewed from the first coordinate system and the first estimated position of the predetermined part or the total center of gravity as viewed from the second coordinate system are the same. It is preferable to determine a first estimated position of the predetermined portion or the entire center of gravity as viewed from a global coordinate system (a sixteenth invention).
  • a sixteenth invention the same operation and effect as in the second invention can be achieved in determining the first estimated position.
  • the predetermined portion is an upper body of the mouth pot (a seventeenth invention).
  • the posture is the same as in the fourth invention. It is preferable that the rotation deviation includes at least a posture rotation deviation component in the Y direction of the predetermined portion (the eighteenth invention).
  • the floor reaction force detecting means for detecting a floor reaction force acting on the mouth port is provided, and the geometrical position estimating means includes the detected floor reaction force. It is preferable to estimate the amount of deformation of the robot based on the above, and to determine the first estimated position using the estimated amount of deformation (the nineteenth invention). According to this, similarly to the ninth invention, the first estimated position is determined in consideration of the deformation amount of the mouth pot due to the floor reaction force, so that the accuracy of the first estimated position can be improved. it can. As a result, the second estimated position can be more appropriately corrected, and the accuracy of the second estimated position can be increased.
  • the rotation center determining means may include In the period, the rotation center is determined at the center of gravity of the mouth pot, and in periods other than the aerial period, the rotation center is located at or near any point of the actual floor reaction force center point and the target ZMP of the desired gait. It is preferable to determine (20th invention). According to this, similarly to the fifth invention, it is possible to appropriately secure the accuracy of the first estimated position by setting the rotation center to be appropriate according to the actual situation.
  • the inertial navigation position estimating means may adjust the second estimated position so that a difference between the first estimated position and the second estimated position approaches zero. It is preferable to make correction (21st invention).
  • the correction of the second estimated position can be appropriately performed so as to increase the accuracy of the second estimated position (reduce the error).
  • the target gait of the robot is a gait having an aerial period in which all the legs of the robot are floated in the air
  • the inertial navigation position estimating means includes: In the aerial period, the correction amount of the second estimated position is substantially omitted. It is preferably set to 0 (22nd invention).
  • the correction amount of the second estimated position is set to 0 in the aerial period, as in the 14th invention, so that the second estimated position in the aerial period is the first estimated position with low reliability. It is possible to prevent improper correction by using, and to stably secure the long-term accuracy of the second estimated position.
  • a twenty-third invention of the self-position estimating device of the present invention is a floor-type moving robot controlled to follow a determined target gait, and a floor for detecting a floor reaction force acting on the robot.
  • a reaction force detection means, and a temporal change amount of a posture rotation deviation which is a difference between a detected value or an estimated value of an actual posture of the predetermined portion of the lopot and the posture of the predetermined portion in the target gait.
  • Attitude rotation deviation calculating means to be obtained as a rotation deviation change amount; rotation center determination means for determining a rotation center of the change in the posture rotation deviation; and the mouth port rotates by the posture rotation deviation change amount around the rotation center.
  • Geometric position estimating means for determining a first estimated position as an estimated position of the predetermined portion or the overall center of gravity of the lopot, at least a detection value of the floor reaction force detecting means and the actual position.
  • Posture detection A second estimated position as an estimated position of the predetermined portion or the overall center of gravity of the robot is calculated by a dynamics operation based on the value or the estimated value, and at least the first estimated position and the second estimated position are calculated.
  • Dynamic position estimating means for correcting the second estimated position based on the difference from the position.
  • the first estimated position is determined in exactly the same manner as in the fifteenth invention.
  • the second estimated position is based on at least the detected value of the floor counter detecting means and the detected value or estimated value of the actual posture of the predetermined part, and the dynamic calculation calculates the predetermined part or the roppo.
  • a second estimated position is calculated as an estimated position of the overall center of gravity of the object, and the second estimated position is corrected based on a difference from the first estimated position.
  • the floor reaction force is used as the overall quality of the mouth pot. Since the value obtained by subtracting the gravitational acceleration from the value divided by the amount and inverting the sign is equivalent to the acceleration detection value referred to in the fifteenth invention, the fifteenth invention is consequently performed.
  • the second estimated position is determined and corrected in the same manner as described above. Therefore, according to the twenty-third aspect, similarly to the fifteenth aspect, it is possible to prevent the drift (accumulation of integration error) that is likely to be included in the second estimated position and to improve the accuracy of the second estimated position. Can be. That is, it is possible to improve the accuracy of estimating the position of the predetermined part or the center of gravity of the entirety.
  • the geometrical position estimating means is configured to move the first coordinate system, which is a coordinate system describing the desired gait, around the rotation center by the posture rotation deviation change amount.
  • the position of the predetermined part or the overall center of gravity as viewed from the first coordinate system and the first estimated position of the predetermined part or the total center of gravity as viewed from the second coordinate system are the same. It is preferable to determine a first estimated position of the predetermined portion or the entire center of gravity as viewed from a global coordinate system (24th invention).
  • the same operation and effect as in the second invention can be achieved in determining the first estimated position.
  • the predetermined portion is the upper body of the mouth pot (the twenty-fifth invention).
  • the posture rotation deviation includes at least a posture rotation deviation component of the predetermined portion in the Y direction as in the fourth invention (a twenty-sixth invention). .
  • the geometrical position estimating means estimates a deformation amount of the mouth pot based on the detected floor reaction force, and uses the estimated deformation amount. It is preferable to determine the first estimated position by using 7 inventions). According to this, the first estimated position is determined in consideration of the amount of deformation of the mouth pot due to the floor reaction force as in the ninth aspect, so that the accuracy of the first estimated position can be improved. As a result, the second estimated position can be more appropriately corrected, and the accuracy of the second estimated position can be improved.
  • the target step of the lopot is When the body is a gait having an aerial phase in which all the legs of the lopot are floated in the air, the rotation center determining means determines the rotation center at the center of gravity of the mouth port in the aerial phase, It is preferable to determine the rotation center at or near any point of the actual floor reaction force central point and the target ZMP of the desired gait during periods other than the mid-air period (the twenty-eighth invention). According to this, similarly to the fifth invention, it is possible to appropriately secure the accuracy of the first estimated position by setting the rotation center to be appropriate according to the actual situation.
  • the dynamic position estimating means sets the second estimated position such that a difference between the first estimated position and the second estimated position approaches zero. It is preferable to correct (29th invention).
  • the correction of the second estimated position can be appropriately performed such that the accuracy of the second estimated position is increased (error is reduced).
  • the dynamic position estimating means includes: In the aerial period, it is preferable that the correction amount of the second estimated position is set to approximately 0 (30th invention).
  • the correction amount of the second estimated position is set to 0 in the aerial period, as in the 14th invention, so that the second estimated position in the aerial period is the first estimated position with low reliability. It is possible to prevent improper correction by using, and to stably secure the long-term accuracy of the second estimated position.
  • At least The position information of the object such as the floor or obstacle on the map, and the relative position of the robot with respect to the object recognized by environment recognition means such as an imaging device mounted on the robot It is preferable that at least one of the detected value or estimated value of the actual posture of the predetermined part and the estimated position of the lopot is corrected based on the relationship information (third invention).
  • At least position information of an object such as a floor surface or an obstacle on a map stored in advance, an imaging device mounted on the robot, etc.
  • At least position information of an object such as a floor surface or an obstacle on a map stored in advance and an imaging device mounted on the robot
  • the first estimated position, the second estimated position, and the detected value of the actual posture of the predetermined part based on the relative positional relationship information between the object and the mouth port recognized by the environment recognition means such as
  • it is preferable to provide a means for correcting at least one of the estimated value and the estimated value (third invention).
  • an object such as a landmark whose position information is clearly determined is recognized by the environment recognition means on the map, and the object and the mouth port are identified.
  • the estimated position (the first or second estimated position in the tenth to thirty-third inventions) or the actual posture of the predetermined part required to determine the estimated position is determined. Since the detected value or the estimated value (in the case of the first to ninth inventions or the 15th to 30th inventions) is corrected when the object is recognized, the estimated position (the 10th to 30th inventions) is corrected. In the invention, the accuracy of the second estimated position) can be improved.
  • At least the position of the lopot estimated by the position estimating means and the environment recognizing means such as an imaging device mounted on the lopot are recognized. It is preferable to include means for estimating the position of the object based on the relative positional relationship information of the robot with respect to the object (34th invention).
  • At least the second estimated position and the relative position of the lopot to an object recognized by environment recognizing means such as an imaging device mounted on the lopot. It is preferable to provide a means for estimating the position of the object based on the positional relationship information (the 35th invention).
  • the estimated position (the second estimated position in the tenth to thirtieth inventions) which is the self-position of the mouth pot determined as described above, The position of the object can be accurately estimated.
  • the mouth port is determined based on at least the estimated position of the mouth port and the position of an object such as a floor or an obstacle on a map stored in advance. It is preferable to provide a means for determining the direction in which the environment recognition means such as the mounted image pickup device should be watched (the 36th invention).
  • the robot uses the estimated position (the second estimated position in the tenth to thirtieth inventions) which is the self-position of the robot determined as described above.
  • the robot can accurately recognize the positional relationship between the robot and the robot.
  • the gaze direction of the environment recognition means in a direction in which the gaze should be observed (for example, a direction in which an object is present at a predetermined position such as the center of an image of an imaging device constituting the environment recognition means). it can.
  • FIG. 1 is a schematic diagram showing an outline of the overall configuration of a bipedal locomotion lopot as a legged locomotive according to an embodiment of the present invention
  • FIG. 2 is a diagram showing the configuration of a foot portion of each leg in 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 locomotion gait.Figs.
  • FIG. 8 (a), (b), and (c) show the floor reaction force vertical component of the target gait, the target ZMP, and the gain for self-position / posture estimation.
  • FIG. 9 is a flowchart showing a process of a main part of the control unit in the first embodiment.
  • FIG. 10 is a flowchart showing a self-position / posture estimation process in the flowchart of FIG. 11 is a diagram for explaining the self-position / posture estimation processing in the flowchart of FIG.
  • FIG. 12 is a flowchart showing the self-position / posture estimation processing of the second embodiment, and
  • FIG. 13 is a view for explaining the self-position / posture estimation processing of the second embodiment.
  • FIG. 12 is a flowchart showing the self-position / posture estimation processing
  • FIG. 14 is a flowchart showing the self-position / posture estimation processing of the third embodiment
  • FIG. 15 is a view for explaining the self-position / posture estimation processing of the third embodiment
  • FIG. 16 is a flowchart showing the self-position / posture estimation processing of the fourth embodiment.
  • FIG. 17 is a block diagram showing the main part of the self-position / posture estimation processing of the fourth embodiment. a) and (b) are diagrams for explaining the self-position / posture estimation processing of the fourth embodiment, and FIG. 19 is a graph showing an example of gain settings used in the fourth embodiment.
  • FIG. 20 is a fifth embodiment.
  • FIG. 21 is a flowchart showing a self-position / posture estimation process according to an embodiment of the present invention.
  • FIG. 21 is a flowchart showing a self-position / posture estimation process according to an embodiment of the present invention.
  • FIG. 22 is a block diagram showing the main part of the self-position / posture estimation processing according to the sixth embodiment.
  • FIGS. 23 and 24 show the seventh embodiment.
  • FIG. 25 is a diagram showing the internal structure of the robot head in a front view and a side view, respectively.
  • FIG. 25 is a flowchart showing a self-position / posture estimation process according to a seventh embodiment.
  • a two-legged lopot is used as an example of a leg-type moving port.
  • FIG. 1 is a schematic diagram showing an overall bipedal robot as a legged mobile 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.
  • the two legs 2 have the same structure, each having six joints.
  • the six joints are, in order from the upper body 3 side, joints for rotation (rotation) of the crotch (lumbar) (for rotation in one direction with respect to the upper body 3) 10 R, 10 L (signs R, L).
  • joints 14 R, 14 L for rotation in the crotch (lumbar) pitch direction around the Y axis
  • joints 16 R, 16 L for rotation in the knee pitch direction and ankle joints It consists of joints 18R for rotation in the pitch direction : 18L and joints 20R and 20L for rotation in the roll direction of the ankle.
  • the foot (foot) 2 2 R (L) that constitutes the tip of each leg 2 is At the same time as being attached, the top of both legs 2, 2 is via the three joints 10 R (L), 12 R (L), 14 R (L) of the crotch of each leg 2.
  • the upper body 3 is attached. Inside the upper body 3, a control unit 60 and the like, which will be described in detail later, are stored. Will be delivered. In FIG. 1, the control unit 60 is shown outside the body 3 for convenience of illustration.
  • 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 do not directly relate to the gist of the present invention, a detailed description is omitted.
  • the desired movement of both feet 22 R and 22 L can be performed by driving the joint of the two feet at an appropriate angle.
  • the mouth port 1 can move arbitrarily in the three-dimensional space.
  • a known 6-axis force sensor 50 is located below the ankle joint 18 R (L), 20 R (L) of each leg 2 between the foot 22 and 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, the floor reaction force (ground load) acting on each leg 2, and the like.
  • the detection signals of the three-directional components Fx, Fy, Fz of the translational force of the floor reaction force and the three-directional components Mx, My, Mz of the moment are output to the control unit 60.
  • the upper body 3 has an inclination (posture angle) with respect to the Z axis (vertical direction (gravity direction)) and an inclination for detecting the angular velocity and the like.
  • a sensor 54 is provided, and a detection signal 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), and detection signals from these sensors are used to detect the tilt of the body 3 and its angular velocity. It is used for estimating the self-position and orientation of the mouth port 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.
  • the detection signal of No. 5 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 robot 1, and the joystick 73 is operated.
  • a request for the gait of the mouth port 1 can be input to the control unit 60 as needed, for example, by turning the robot 1 moving straight.
  • FIG. 2 is a view 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 housed in the guide member via an elastic material (rubber or spring) so as to be finely movable.
  • Piston-like member (not shown in Fig. 2) and It is composed of ⁇
  • 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 for reducing landing impact as described in detail in, for example, Japanese Patent Application Laid-Open No. 5-305558, which was previously proposed by the present applicant. It is also important to improve controllability.
  • FIG. 3 is a cross-sectional view of a side view 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.
  • 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 late member 102 is connected to the ankle joint 18 R (L) via an elastic member 106, a movable plate 104 and a 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 (the elastic member that directly contacts the floor).
  • the foot plate member 102 is fixed to the four corners of the ground contact surface (both sides of the toe portion of the foot plate member 102 and both side portions of the heel portion). .
  • 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 pressurized 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.
  • This bag The cylindrical member 109 is made of a deformable material such as rubber and the like. In a natural state where no elastic deformation occurs due to external force, as shown by a solid line in FIG. Present.
  • the open end of the bag-shaped member 109 is 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. It is compressed in the height direction of the bag-shaped member 109 by the reaction force.
  • 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-like 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 bag-shaped member 109 is filled with air, and the pressure inside the bag-shaped member 109 is atmospheric pressure. Is equivalent to In addition, the flow passage 110 is a throttle passage, and generates a fluid resistance when air enters and exits the bag-like member 109.
  • 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 AZD converter 80, a power unit 86, A DZA converter 96, a RAM 84, a ROM 94, and a bus line 82 for exchanging data between them are provided.
  • 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 A / D converted. After being converted into a digital value by the device 80, it is sent to the RAM 84 via the bus line 82.
  • the output of the encoder 65 (rotary encoder) of each joint of the robot 1 is input to the RAM 84 via the counter 86.
  • the first arithmetic unit 90 generates a desired gait as described later and calculates an articulation angle displacement command (a displacement angle of each joint or a command value of a rotation angle of each electric motor 64). 8 Send to 4. Further, the second arithmetic unit 92 reads the joint angle displacement command from the RAM 84 and the actual measured value of the joint angle detected based on the output signal of the encoder 65, and is necessary for driving each joint. The operation amount is calculated and output to the electric motor 64 that drives each joint via the DZA converter 96 and the servo amplifier 64a.
  • FIG. 6 is a block diagram showing the overall functional configuration of the legged mobile robot control device 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. In the following description, it is not necessary to distinguish left and right of leg 2 in particular. If not, the symbols R and L are omitted.
  • control unit 60 includes a gait generator 200 that freely generates and outputs a desired gait of the robot 1 in real time, a self-position / posture estimating unit 214, and the like. .
  • the self-position / posture estimating unit 2 14 executes processing related to the characteristic part of the present invention, and estimates the position / posture (position / posture in the global coordinate system) of the mouth port 1. 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.
  • a movable part is provided for the upper body 3 in addition to the leg 2 and the arm 5, the target position / posture trajectory of the movable part is added to the target 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 rotation angle of the vector in which the vector indicating the forward direction of the upper body 3 is projected on a horizontal plane, in the X 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 foot 22 basically indicates the direction of the foot 22 that has landed, and specifically, the direction of the vector that projects the vector from the heel of the landed foot 22 to the toe onto 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 the components relating to the floor reaction force that is, the gaits relating to the movement of the mouth port 1, such as the foot position posture, the body position / posture, etc.
  • 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
  • the resultant of the R and 22 L floor reaction forces is called the “total floor reaction force”.
  • total floor reaction force the resultant of the R and 22 L floor reaction forces.
  • 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 robot calculated from the target motion trajectory, the inertial force of (The point at which the resultant force acting around that point becomes 0 except for the vertical axis component) and the desired total floor reaction force center point coincide with each other.
  • the ZMP orbit for details, see PCT Publication WO / 02/40224 by the present applicant, for example).
  • a desired gait in a broad sense is a set of a desired motion trajectory and a desired floor reaction force trajectory during one or more steps.
  • the target gait in a narrow sense is a set of the target motion trajectory and its ZMP trajectory during one step.
  • a desired gait is a set of a desired motion trajectory during one step, its ZMP trajectory, and a floor reaction force vertical component trajectory.
  • the target gait will be used in the narrow sense of the target gait unless otherwise specified.
  • “one step” of the target gait is a piece of mouth pot 1 The meaning is used from the time when one leg 2 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 lopot 1 during the one-leg supporting period is called a “free leg”, and the leg 2 on the side supporting the own weight is called the “supporting leg”.
  • the two-leg supporting period and the one-leg supporting period are alternately repeated, and in the running of robot 1, the one-leg supporting period and the aerial period are alternately repeated.
  • both legs 2 and 2 do not support the weight of mouth port 1, but legs 2 and 3, which were free legs in the one-leg support phase immediately before the aerial phase,
  • 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 as inputs. Generate a desired gait consisting of the desired body position / posture trajectory, the desired foot position / posture trajectory, the desired ZMP trajectory, the desired floor reaction force vertical component trajectory, and the desired arm posture trajectory. At this time, some of the parameters that define these trajectories (this is called gait parameters) are modified to satisfy the gait continuity.
  • the kinetic model of mouth pot 1 is used. Examples of the dynamic model include a simplified model described in PCT Publication WOZ02Z40224 or a multi-mass model (full model) described in Japanese Patent Application Laid-Open No. 2002-326173 proposed by the present applicant. Just use it.
  • 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 the unit.
  • the gait that is to be generated now or in the future is “this gait”, and the next gait is “next gait”.
  • the next gait is called the “next gait”.
  • the target gait generated just before the current gait is called the previous gait.
  • a part of a desired gait generated by the gait generator 200 will be outlined.
  • a desired foot position / posture trajectory is generated using a finite time setting filter disclosed in Japanese Patent No. 3233450 by the present applicant. Is done.
  • the foot position trajectory starts moving while gradually accelerating the foot 22 toward a target landing position (required value of the landing position). The speed is gradually reduced to 0 or almost 0 by the target landing time (required value of the landing time), and is generated so as to reach the target landing position and stop at the target landing time.
  • the target foot position / posture trajectory generated in this way is particularly suitable for traveling at mouth port 1 because the ground speed at the moment of landing is 0 or almost 0. In this case, the landing impact at the time of landing from the mid-air period can be reduced.
  • 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 back direction of the support 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, 2 of the mouth pot 1 at the midpoint of the aerial phase and at the end of the aerial phase, respectively (at the beginning of the next one-leg support period). Is schematically shown.
  • the target floor reaction force vertical component trajectory When traveling at mouth port 1, the target floor reaction force vertical component trajectory basically has an upwardly convex pattern during the one-leg support period, 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.
  • the process proceeds to S014 via S012, and waits for a timer interrupt for each control cycle.
  • the control cycle is At.
  • the process proceeds to S 0 16, where the self-position / posture estimation is performed by the self-position / posture estimation unit 2 14.
  • the processing in S016 is a feature of the self-position estimating device of the legged mobile lopot according to the present application, but this description will be described later.
  • the process proceeds to S018, and the gait switching (previous 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 process proceeds to S 0 20
  • the 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 No. WO 02/40224 previously proposed by the present applicant or PCT application PCT / JP02Z 13596 mentioned above. In the specification, only a brief explanation will be given.
  • time t is initialized to 0.
  • the next time's gait support leg coordinate system specifically, its position and direction
  • the next time's gait support leg coordinate system specifically, its position and direction
  • this time's gait cycle and next time Read the gait cycle.
  • next time gait support leg coordinate system and the next time gait support leg coordinate system are respectively the first step free leg foot 22 (specified by the operation of the joystick 73).
  • Required value of landing position / posture of free leg foot 2 2) (target landing position / posture) of second step, Request of landing position / posture of free leg foot 2 2 of second step (free leg foot 2 2 of next time gait) It is determined according to the value (target landing position / posture) 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. Good or joy The determination may be made based on a command (request) from the control device such as tick 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 this time's gait cycle and next time's gait cycle, etc.
  • foot trajectory parameters defining target foot position / posture trajectory reference body posture defining reference trajectory of target body posture Orbit parameters, arm posture trajectory parameters that specify the target arm posture trajectory, ZMP trajectory parameters that specify the target ZMP trajectory, and floor reaction force vertical component trajectory parameters that specify the desired floor reaction force vertical component trajectory are determined. Is done. For example, taking the floor reaction force vertical component trajectory parameters as an example, the time and value of the break point of the pattern shown in FIG. 8A are determined as the floor reaction force vertical component trajectory parameters.
  • 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”.
  • T A 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.
  • 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 (the support leg coordinate system of the second turning gait).
  • Part and orientation is the position and orientation (position and posture) of the next time's gait support leg coordinate system (landing position and posture of free leg foot 22 of this time's gait) viewed from the current time Orientation) is set to match.
  • 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 is generated this time so that the terminal divergent component of the current gait matches the initial divergent component of the normal gait.
  • 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.
  • the details of S026 are described in PCT published publication WOZ02Z40224 or PCTZ JP02Z13596, and further description is omitted here.
  • the determined gait parameters of the current time's gait are mainly the foot trajectory parameters, the reference body posture trajectory parameters, and the arms, similar to the gait parameters of the normal turning gait.
  • Attitude trajectory parameter overnight target ZMP trajectory parameter overnight, target floor reaction force vertical component trajectory parameter trajectory. Is done.
  • the target ZMP orbit parameters are provisional.
  • the details of the processing of S028 are described in the above-mentioned PCT published publication WOZ 02Z 40224, PCT / JP02Z 13596, 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's gait are corrected such that the terminal divergent component of the current time's gait matches the initial divergent component of the normal gait.
  • the corrected gait parameters are the target ZMP trajectory parameters.
  • 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.
  • a volume is generated.
  • 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.
  • the composite compliance motion determination unit 204 generates a corrected target foot position / posture trajectory with mechanism deformation compensation, and sends it to the lopot geometric model 202.
  • the mouth pot geometric model 202 12.
  • the displacement controller 208 uses the joint displacement command (value) calculated by the geometric model of the robot 202 as a target value to perform tracking control of the displacement of the 12 joints of the robot 1.
  • the floor reaction force generated at the mouth pot 1 (specifically, the floor reaction force of each foot) is detected by the 6-axis force sensor 50.
  • the detected value is sent to the composite compliance operation determining unit 204.
  • the angle deviation 0 errx, erry erry is sent to the attitude stabilization control calculation unit 2 1 2.
  • 0 e rrx is the roll method
  • 0 erry is the gradient component in the pitch direction (around the Y axis).
  • the posture stabilization control calculation unit 2 1 2 is used to restore the inclination of the mouth posture of mouth port 1 to the inclination of the body posture of the target gait.
  • the compensated 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. Determine the corrected target foot position position (orbit).
  • the corrected target foot position position 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 self-position / posture estimation processing of the first embodiment described below is based on the walking of the mouth port 1. This is the process in the case of performing.
  • 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 (angular velocity in three axial directions) of the body 3 is integrated by an integrator and estimated.
  • Find body posture This estimated body posture is described in the global coordinate system.
  • the inclination component of the estimated body posture in order to suppress accumulation (drift) of the integration error of the detection value of the gyro sensor, the direction of gravity detected by the acceleration sensor provided in the inclination sensor 54 is controlled. Is used for drift correction.
  • the difference between the relative angle of the body 3 with respect to the direction of gravity obtained from the detected value of the acceleration sensor and the inclination of the above estimated body posture is calculated, and the difference is converged to 0.
  • the correction is performed by additionally inputting a value obtained from the difference by a feedback control law such as a PI control law into an integrator for integrating the gyro sensor detection value. Since this correction method is publicly known, further description is omitted.
  • the process proceeds to S2002, and it is determined whether or not the landing of the robot 1 has been determined.
  • the determination may be made from the timing of the desired gait, as in any of the methods listed below, or the detection value of the six-axis force sensor 50 (floor reaction force sensor) or the acceleration sensor May be determined based on Alternatively, a comprehensive judgment may be made from the detected values and the time of the desired gait. a) Whether a predetermined time has elapsed since the start of the one-leg support period.
  • the landing moment should be minimized so that the landed foot22 will not slip or leave the floor again. It is preferable that the time when an appropriate amount of time elapses from that time is the time when the landing is determined. Therefore, it is preferable that the predetermined times a) to c) are set so as to satisfy such a condition.
  • the process first proceeds to S204, and the difference between the estimated body posture viewed from the global coordinate system and the desired body posture (target body posture) viewed from the global coordinate system is determined by the posture rotation. It is calculated as a deviation change amount.
  • the body posture of the target gait viewed from the global coordinate system is the posture inclination and spin of the body 3 during one step on the current estimated supporting leg coordinate system. This is the body posture as seen from the global coordinate system when it is assumed that mouth port 1 exercises in accordance with the desired gait.
  • 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 mouth port 1.
  • the estimated support leg coordinate system is, more specifically, the actual support leg foot 22 of the mouth port 1 according to the definition of the support leg coordinate system described above.
  • the origin is the vertical projection point from the ankle center of the support leg to the ground contact surface when the support leg is rotated to the horizontal without sliding between, taking the horizontal axis toward the toe of the support leg foot 22 as the X axis, It is a coordinate system with the vertical axis as the Z axis and the coordinate axis orthogonal to these as the Y axis.
  • the estimated supporting leg coordinate system is updated only when the landing is determined, so the estimated position of the actual supporting leg foot 22 of the lopot at the time of landing is estimated. Is a support leg coordinate system corresponding to After all, in the first embodiment, the position and orientation of the estimated supporting leg coordinate system is estimated as the estimated value of the self-position of the mouth port 1.
  • the estimated body posture and the target The difference between the gait and the body posture was calculated as the amount of change in the posture rotation deviation, but strictly speaking, the change in the estimated body posture during the period of one step and the change in the body posture of the target gait were calculated. It is better to calculate the difference from the change amount as the posture rotation deviation change amount.
  • the estimated body posture automatically coincides with the body posture of the target gait at the beginning of one step. Since the difference between the estimated body posture and the amount of change in the estimated body posture during the period of one step is the same, the difference between May be used.
  • the process proceeds to S 2006, where the posture rotation center is determined.
  • the target ZMP of the previous time's gait for example, the target ZMP in a state in which the support leg foot 22 on the rear side of the previous time's gait is in toe contact is determined as the posture rotation center.
  • Proceed to 08 and proceed to the current estimated support leg coordinate system (specifically, the estimated support leg coordinate system determined when the landing of the support leg foot 22 of the previous gait was determined.
  • the position and posture of the estimated support leg coordinate system are rotated around the posture rotation center determined in S206 by the amount of change in the posture rotation deviation. (Estimated support leg coordinate system after the occurrence of slip as shown in (2)).
  • the origin of the estimated supporting leg coordinate system and the direction of the coordinate axes shall be represented by the global coordinate system.
  • next gait estimation support leg coordinate system (Initial position / posture in the global coordinate system) is assumed to be set ( then proceed to S210, and the next gait relative to the current estimated support leg coordinate system, the relative position of the estimated support leg coordinate system)
  • the next time's gait estimation support leg coordinate system (Fig. 11) is used so that the posture relationship is the same as the relative position / posture relationship of the next time's gait support leg coordinate system with respect to the gantry leg coordinate system in the target gait (previous gait).
  • Next time to illustrate Gait estimation support leg coordinate system is determined. Note that the 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). Leg coordinate system.
  • 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 preferably 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 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.
  • the posture rotation (or spin) phenomenon of the mouth port 1 is caused by keeping the state in which the mouth port 1 is moving on the virtual floor without relatively rotating the 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 port 1 is based on the fact that the entire robot 1 that is moving in the local coordinate system according to the target gait or the detected joint displacement value is different from the local 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, and can also be said to be the rotation center of the perturbation rotation.
  • the current estimated support leg coordinate system since the current estimated support leg coordinate system is updated only for each landing, it is not preferable that the current estimated support leg coordinate system remains inclined due to the body posture at the moment of landing. Therefore, the currently estimated supporting leg coordinate system should be determined so that the direction of the Z axis is vertical. Therefore, in the first embodiment, after rotating the current estimated supporting leg coordinate system in S 2008, the direction of the Z axis of the current estimated supporting leg coordinate system after the rotation is returned to the vertical direction. . Specifically, by rotating the current estimated support leg coordinate system after rotation by the inclination angle of the Z axis with respect to the vertical direction, the estimated support leg coordinate system is rotated. Return the Z axis to the vertical direction.
  • the current estimated supporting leg coordinate system is rotated by the vertical axis component (spin component) of the posture rotation deviation change amount.
  • the direction of the Z axis of the next time's gait estimation support leg coordinate system may be returned to the vertical direction.
  • the currently estimated supporting leg coordinate system is the Z-axis. It is good to decide so that the direction is vertical. In the third embodiment and thereafter, the same may be applied if importance is placed on the self-position shift due to spin.
  • the actual behavior of the mouth port 1 is described.
  • the robot moves in accordance with the desired gait on the estimated supporting leg coordinate system, which is a local coordinate system describing the movement of the mouth port 1.
  • the predetermined posture determined by the posture rotation center determining means (processing of S 2006) by the posture rotation deviation change amount (or the vertical axis component of the posture rotation deviation change amount) as the change amount.
  • the first embodiment described above corresponds to the first to fifth inventions, and the seventh and eighth inventions of the present invention.
  • FIG. 12 is a flowchart showing the self-position / posture estimation processing in the second embodiment.
  • the self-position estimation process according to the second embodiment described below is a process performed when the robot 1 is walking.
  • the detection value (angular velocity detection value) of the gyro sensor provided in the tilt sensor 54 of the body 3 is integrated by an integrator to estimate the estimation body. Ask for posture. Then S 2 1 0 2 Then, similarly to the first embodiment, it is determined whether or not the landing is determined.
  • the process proceeds to S2104, and as in the first embodiment, the difference between the estimated body posture viewed from the global coordinate system and the body posture of the desired gait viewed from the global coordinate system is determined by posture rotation. It is calculated as a deviation change amount.
  • the process proceeds to S2108, and, as in the first embodiment, the current estimated supporting leg coordinate system is rotated around the posture rotation center by the posture rotation deviation change amount. Determined as the estimated support leg coordinate system.
  • Figure 13 illustrates the current estimated supporting leg coordinate system before rotation and the current estimated supporting leg coordinate system after rotation.
  • the process proceeds to S210, and the kinematics calculation is performed based on at least the detected joint displacement values to determine the actual free leg foot position and posture at the time of landing in the current estimated supporting leg coordinate system (in the example of FIG. Estimate the position and posture of the foot 2 in front of 2).
  • the estimated actual foot position and posture of the free leg at the time of landing will be referred to as the estimated free leg foot position and attitude at the time of landing.
  • the mouth port 1 supports the virtual floor on the current estimated support leg coordinate system while maintaining the body posture as the target gait on the current estimated support leg coordinate system. It is assumed that the foot 22 of the leg does not slide and moves according to the detected joint displacement value.
  • the mouth port 1 maintains the body posture according to the desired gait on the currently estimated supporting leg coordinate system rotated about the posture rotation center by the posture rotation deviation change amount.
  • the reason for this was that, at this moment, This is because the body posture in the figure that has been set 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 grounding member (foot sole elastic body) 71, and the bag-like member 109 shown in Fig. 4 is obtained using the dynamic 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. 13, the body posture is the target body posture in the current estimated supporting leg coordinate system, and the joint displacement is the joint displacement detection value (jth joint joint value).
  • the floor reaction force detection value the entire appearance of mouth port 1 at that moment
  • a load acting on the speed reducer / link is estimated using a disturbance observer based on the motor current command or the detected value, and the deformation of the speed reducer and the link is determined based on the estimated load. Estimated, including (consideration of) the gearbox and deformation of the link, estimated landing It may be obtained free leg foot position attitude.
  • the estimated free leg foot position / posture at the time of landing may be obtained.
  • the process proceeds to S2112, and based on the estimated landing free leg foot position / posture, the relative position of the next gait estimation support leg coordinate system with respect to the current estimated support leg coordinate system as shown in FIG. Ask for posture.
  • the correspondence between the estimated landing free leg foot position and posture that is, the position and orientation of the support leg foot 22 of the next time gait, and the position and orientation of the next time gait estimation support leg foot coordinate system is supported as described above.
  • the correspondence between the leg foot 22 and the supporting leg coordinate system should be the same.
  • the actual behavior of the mouth port 1 is expressed in the estimated supporting leg coordinate system, which is a local coordinate system that describes the movement of the mouth port 1, in the body posture according to the desired gait.
  • the posture rotation deviation change as an amount of change during one step of the difference between the estimated value of the actual posture) and the target posture of the upper body 3
  • the rotation amount is determined to be the same as the estimated support leg coordinate system around the predetermined posture rotation center determined by the posture rotation center determination means (processing of S2106) by the A new estimation based on the swing leg position / posture of the support leg position / posture, that is, the position and orientation of the landing point of the foot 22, and in other words, the footprint Presumed.
  • the second embodiment described above is the first to fifth inventions and the fifth invention of the present invention.
  • the third embodiment is different from the first embodiment only in the self-position / posture estimation process of S 0 16 in FIG. 9 described above, and the other configuration and the process of the control unit 60 are the same as those in the first embodiment. Same as the form.
  • FIG. 14 is a flowchart of the self-position estimating process of S 016 in FIG. 9 in the third embodiment.
  • the posture rotation (or spin) of the estimated supporting leg coordinate system is estimated for each control cycle, and the estimated supporting leg coordinate system is updated.
  • the body position (strictly speaking, the position of the representative point of the body) was also estimated.
  • an estimated body posture is obtained as in the first embodiment.
  • the process proceeds to S222, in which the estimated body posture change amount viewed from the global coordinate system during the control cycle and the target gait body viewed from the global coordinate system during the control cycle are determined.
  • the difference from the change in posture is calculated as the change in posture rotation deviation. That is, in the first and second embodiments, the difference between the estimated body posture change amount and the target gait body posture change amount during the period of one step. Was obtained as the posture rotation deviation change amount. In the third embodiment, the difference between the two change amounts for each control cycle is obtained as the posture rotation deviation change amount.
  • the process proceeds to S2204, and the attitude rotation center is determined as in the first embodiment. Specifically, the target ZMP at that moment (current value of the target ZMP) is set as the attitude rotation center.
  • the process proceeds to S 220, and 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 ⁇ 1 ⁇ t shown in FIG. 15) is changed to The position and orientation rotated around the attitude rotation center by the attitude 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. 15).
  • the way of rotation is the same as in the first embodiment.
  • the process proceeds to S2210, and as in the first embodiment, the relative position and orientation relationship of the next time's gait estimation support leg coordinate system with respect to the current estimated support leg coordinate system is the target gait (previous gait).
  • the next time's gait estimation support leg coordinate system is determined so as to have the same relationship as the relative position and orientation relationship of the next time's gait support leg coordinate system with respect to the support leg coordinate system in.
  • the actual robot behavior is represented by a mouth moving in accordance with the desired gait on the estimated supporting leg coordinate system, which is an oral coordinate system that describes the motion of the robot.
  • the amount of change in body posture (change speed) and the amount of change in body posture (change speed) of the target gait obtained by the posture detection means (processing of S2200) at each moment.
  • the posture rotation center determining means the processing of S 2204 with the posture rotation deviation change amount as a difference with the estimated support leg coordinate system, Assume that it is rotated.
  • a new estimated supporting leg coordinate system and an estimated body position are determined (updated) at each moment (for each control cycle), and at the time of landing, a new estimated supporting leg according to the swing leg position and orientation is determined.
  • the position and orientation of the leg coordinate system that is, the position and orientation of a new landing point, or in other words, a new footprint, is estimated for each step (for each landing). In the present embodiment, not only the case where the mouth port 1 is walked, but also the case where the robot 1 runs.
  • the posture rotation center when determining the posture rotation center in S2204 when traveling, during the one-leg support period, the posture rotation center may be the target ZMP at each moment (current), but both legs of robot 1 In the mid-air period when the bodies 2 and 2 float in the air, the center of rotation of the posture is determined to be the position of the center of gravity of the mouth port 1 in the target gait at each moment (current).
  • the estimated landing play is performed in S2110 based on at least the current estimated support leg coordinate system and the detected joint displacement value.
  • the body position with respect to the supporting leg coordinate system is determined by the same method as the method for determining the leg foot position and orientation, and the estimated body position is determined so that this positional relationship matches the estimated body position with respect to the estimated supporting leg coordinate system. You may ask for the position.
  • the estimated body position, estimated support leg coordinate system, and joint displacement detection The relationship between the values is as shown in FIG.
  • the posture may be obtained, and the relationship between the estimated body position and posture and the estimated supporting leg coordinate system may be made to match this.
  • the estimated body position / posture can be determined with higher accuracy.
  • the processing from S2110 to S2114 in FIG. 12 in the second embodiment may be executed instead of S2210. good. This makes it possible to more accurately determine the estimated supporting leg coordinate system at the time of landing.
  • the processing from S2110 to S2114 in the second embodiment is executed, and at S2214, at least the joint displacement is detected as described above.
  • the estimated body position / posture may be obtained by kinematics calculation based on the values.
  • an estimated landing free leg foot position / posture is determined in consideration of the amount of deformation of the foot 22, and this is used. It is more preferable to determine the next time's gait estimation support leg coordinate system.
  • the actual behavior of the mouth pot is calculated based on at least the joint displacement while maintaining the body posture as the desired gait on the estimated supporting leg coordinate system, which is the local coordinate system that describes the movement of the mouth pot.
  • the robot moving according to the detected value changes the body posture change amount (per control cycle) obtained by the posture detection means (processing of S2200).
  • Posture rotation deviation change as the difference between the change amount, which corresponds to the change speed, and the change amount of the body posture of the target gait (the change amount per control cycle, which corresponds to the change speed) It is considered that the rotation has been performed together with the estimated supporting leg coordinate system around the predetermined posture rotation center at the moment determined by the posture rotation center determination means (the processing of S2204).
  • a new estimated support leg coordinate system and an estimated body position are determined (updated), and at the time of landing, a new estimated support leg according to the swing leg position and posture is determined.
  • the position and orientation of the coordinate system that is, the position and orientation of a new landing point, or in other words, a new footprint, may be estimated for each step (for each landing).
  • the third embodiment described above corresponds to the first to sixth inventions of the present invention, as well as the eighth and ninth inventions.
  • the estimated body position determined as in the third embodiment is hereinafter referred to as “geometrically estimated body position”.
  • the geometrically estimated body position is the position viewed from the global coordinate system.
  • the estimated body posture obtained in S2200 of the third embodiment is the inertial navigation estimated body posture.
  • the geometrically estimated body position is based on the floor as described in the third embodiment. Since the body position is estimated geometrically based on the standard, the estimation accuracy is likely to decrease during the aerial period such as running.
  • the inertial navigation estimated body position / posture is the same regardless of whether it is walking or running, during the one-leg support phase, the two-leg support phase, and the aerial phase. Although the short-term accuracy does not decrease, long-term drift is likely to occur because integration is used.In consideration of these characteristics, the fourth embodiment uses the inertial navigation estimated body position Forces were corrected for geometrically estimated body position.
  • the detection drift of the jay mouth sensor is corrected, and The drift of the tilt component of the estimated body posture was corrected. Furthermore, depending on the situation, drift correction of the detected value of the jay mouth sensor in the yellow direction is also performed.
  • FIG. 16 is a flowchart of the self-position estimation process in S 0 16 of FIG. 9 in the fourth embodiment
  • FIG. 17 is a block diagram of the estimation process.
  • the self-position estimation processing of S 016 in FIG. 9 in the fourth embodiment will be described.
  • the detected value of the gyro sensor is calculated. Integrate to obtain an estimated body posture.
  • the detection drift of the jay mouth sensor is corrected using the motion acceleration calculated from the motion of the body position estimated geometrically obtained in the previous control cycle (the control cycle before the previous control cycle) and the detection value of the acceleration sensor. In this way, the drift of the tilt component of the estimated body posture is corrected.
  • the process of S2300 is described in detail. First, based on the previous control cycle and before that, based on the motion of the geometrically estimated body position determined in S2302 described later, Calculate the geometrical estimated body acceleration, which is the second derivative of the estimated body position. This processing is executed in block 301 of FIG. The processing for obtaining the geometrically estimated body position is executed in block 300 in FIG. Supplementally, if the body representative point and the position of the acceleration sensor coincide, the geometrically estimated body acceleration (strictly speaking, the acceleration of the acceleration sensor position in body 3 that is geometrically estimated) Estimation of body posture is not necessary for calculating.
  • the acceleration sensor detection value (body acceleration detection value) is converted into a global coordinate system using the estimated body posture, and a global coordinate system converted value is obtained.
  • This processing is executed in block 302 of FIG.
  • 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 geometrically estimated body acceleration is subtracted (vector subtraction is performed) from the acceleration sensor detected value global coordinate system converted value.
  • 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.
  • Fig. 18 (a) shows the estimated body posture when there is no error
  • Fig. 18 (b) shows the estimated body posture error (hereinafter referred to as the estimated body posture error or the estimated body posture error). (Referred to as 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 user exercises so as to follow the desired gait on the estimated global coordinate system.
  • the global coordinate system estimated based on the estimated body position and orientation is correct, and the actual movement of the At each moment, the robot 1 exercising according to the desired gait on the estimated support leg coordinate system, which is the local coordinate system set in the global coordinate system believed to be correct,
  • the amount of change in posture rotation deviation as the difference between the obtained (detected or estimated) body posture change speed and the desired gait body posture change speed, and the instantaneous amount determined by the posture rotation center determination means. It is considered to have rotated around the predetermined attitude rotation center together with the estimated supporting leg coordinate system.
  • 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 the 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. When expressing the relationship between the horizontal component (Y component) of the gravitational acceleration estimation error and the component of the estimated body posture error angle around the X axis, the minus sign on the right side may be deleted. Here, the gravitational acceleration is positive.
  • 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 estimated upper body is calculated from the angle between the assumed gravitational acceleration and the estimated gravitational acceleration at the current moment (strictly, the moment before one control cycle). Calculate the attitude error angle.
  • the estimated body posture error angle may be calculated from the horizontal component of the gravitational 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. 17. Next, the estimated body posture error angle is calculated by the sensor coordinate system (coordinate axis) in block 304 of FIG. 17.
  • the value obtained by multiplying the converted value by the integration gain Ka is integrated to obtain the estimated gyro sensor drift (gyro port drift). (Estimated value of sensor drift).
  • the estimated gyro sensor drift is subtracted from the gyro sensor detection value co in (detection value of the body angular velocity) to obtain an angular velocity in which the drift has been corrected.
  • the drift of the halo rate is also appropriately subtracted, which will be described later.
  • the angular velocity corrected for this drift is converted into a global coordinate system using the estimated body posture in block 350, thereby obtaining a global body angular velocity co gl.
  • the value obtained by multiplying the estimated body posture error angle by the gain Kb in block 309 in FIG. 17 is subtracted from the global body angle velocity o gl in block 308, and the value after subtraction (
  • the new estimated body posture 6> es tm is obtained by integrating the output of block 3 08) with the block 310 (integrator).
  • the estimated body posture 0 estm and angular velocities are quaternion , Rotation matrix, or Euler angles.
  • 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 sensor local estimated body posture error angle is affected only by the drift of the gyro sensor corresponding to that element.
  • Gyro sensor A prerequisite is that the lift is unaffected or hardly affected.
  • 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 Is a precondition for not being affected by
  • 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, as a result, the component of the estimated body posture error angle around the sensor mouth X-axis becomes the sensor local Y axis of the estimated body posture error angle. Move to surrounding components. 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 detected value of the angular velocity of the gyro sensor is expressed in the global coordinate system.
  • the global body angle velocity c glz converted to is close to the value of the angular velocity detection value of the Z-axis gyro sensor.
  • 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 mouth port 1 is determined to be correct on the estimated global coordinate system based on the assumption that the global coordinate system estimated based on the estimated body position and orientation is correct. She is exercising to follow her gait. Therefore, in the state where the supporting leg is 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. It almost matches the estimated body acceleration on the 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 is significantly different from the estimated body acceleration. Fig. 18 (b) The engagement is not established.
  • 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 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 timing (phase) of the desired gait, the desired ZMP, and the detected floor reaction force.
  • the above state is determined based on the detection values of the distributed pressure sensor and the contact sensor. You may use it.
  • 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 absolute value of the acceleration sensor detection value, 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, the air period, or
  • 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.
  • an auto-rate correction (drift correction in one direction) is also performed depending on the situation as described below.
  • 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 Joule correction is performed.
  • Yoret correction is to be performed in the 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).
  • At block 312 when it is determined that the rate correction is to be performed, as shown in FIG. 17, at block 312, at least the target gait, the target body posture, the target joint displacement, or the detected joint displacement value is determined. Either one of them and the estimated support leg coordinate system memorized at the time of the latest landing (hereinafter referred to as the estimated support leg coordinate system at the time of landing), and slip between the foot 22 corresponding to the estimated support leg coordinate system and the floor Calculate the body posture assuming that no slippage has occurred (hereinafter referred to as the estimated body posture without slip). Then, a difference between the estimated body posture and the estimated body posture without slip is obtained in block 313, and the difference obtained by converting the difference into a sensor coordinate system in block 314 is defined by a feedback control law.
  • the input to the block 3 15 of the feedback control law is shut off (switch 3 16 in FIG. 17 is opened), and the immediately preceding The rate drift value is held, and the value is subtracted from the angular velocity sensor detection value o in.
  • the floor reaction force detection value and the Z or Z were calculated in the same way as when estimating the free leg foot position and posture at landing in S2110 in Fig. 12. Based on the floor reaction force of the desired gait, the deformation mechanism of the foot 22 (the elastic member 106 shown in FIGS.
  • an estimated slip-free estimated body posture may be obtained. Also, using a disturbance observer based on the motor current command or the detected value, the load acting on the speed reducer and the link is estimated, and the deformation of the speed reducer / link is estimated based on the estimated load.
  • the slipless estimation body posture may be obtained including (considering) the deformation of the speed reducer and the link.
  • the kinematics calculation is used to calculate the estimated free leg foot position / posture at landing. You may ask.
  • the process proceeds to S2302, and S2202 of FIG. 14 of the third embodiment described above.
  • S 2 214 is executed to determine the position and orientation of the estimated supporting leg coordinate system and the geometrically estimated body position.
  • the processes of S2110 to S2114 in the second embodiment are executed instead of S2210 of FIG.
  • the estimated body position / posture may be obtained by kinematics calculation based on at least the detected joint displacement value as described above.
  • an estimated landing free leg foot position / posture is determined based on the amount of deformation of the foot 22, and this is used. It is more preferable to determine the coordinate system of the next time's gait estimation support leg.
  • the inertial navigation estimated body position and orientation are obtained by inertial navigation based on the acceleration sensor and the gyro sensor, and the geometric estimated body position and the inertial navigation estimated body position are obtained. Correct the inertial navigational body position so that the difference of converges to zero.
  • the difference between the previous value of the inertial navigational estimated body position Xinertestm and the geometrically estimated body position is obtained in block 317, and the time derivative of this difference ( Or the sum of the value obtained by multiplying the amount of change of the difference during the control cycle by the gain Kc and the value obtained by multiplying the difference by the gain Kd is obtained in block 318. That is, the above sum is obtained from the above difference by the PD control law as a feedback control law. Further, a difference between the acceleration sensor detected value global coordinate system converted value output from the block 302 and the assumed gravity acceleration G is obtained by a block 319.
  • 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.
  • Support leg When the contact area between the bottom surface of the foot 22 and the floor is small, the error of the geometrically estimated body position increases. Therefore, when the contact area between the bottom surface of the foot 22 of the supporting leg and the floor is small, the gains Kc and Kd are preferably set small or set to zero. Particularly, when the feet 22 are in solid contact with the floor (so-called solid feet), 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. Note that 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. In FIG. 8 (c), the correction gain K is normalized so that the maximum value is 1. 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 the gravitational acceleration estimation error one estimated body posture error angle * gravity addition formula 4 4
  • the entirety of the robot 1 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.
  • condition A 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. Strictly speaking, 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 body posture error at that moment is almost 0, and the estimated body posture error can be obtained without setting the gain Ka small. Is multiplied by the gain Ka, the correction amount is almost zero, and it is unlikely that the estimated body posture will have a large adverse effect.
  • FIG. 20 is a flowchart of the self-position estimation process of SO 16 in FIG. 9 in the fifth embodiment
  • FIG. 21 is a flowchart of the self-position estimation process of S 0 16 in the fifth embodiment.
  • FIG. 4 is a block diagram showing a means for estimating the position of the total body weight.
  • an inertial navigation estimated overall center of gravity position XGinertestm described later is determined for each control cycle.
  • FIG. 21 the same components as those in FIG. 17 are denoted by the same reference numerals as those in FIG. 17.
  • the process proceeds to S 2404, and based on the position and orientation of the estimated supporting leg coordinate system, the target body position and orientation (or the geometrically estimated body position) and the joint displacement detection value (or the target value), As in the third embodiment, the total body weight position is calculated by kinematics calculation in consideration of the actual behavior (posture rotation) of the robot. This processing is executed in block 330 of FIG. 21.
  • the overall barycentric position calculated in this way is called a geometrically estimated global barycentric position.
  • the process proceeds to S 246, where the joint angle detection value (or target value), the estimated body posture (or target body posture), and the acceleration sensor detection value Based on the bal coordinate system conversion value, the acceleration of all the centers of gravity is calculated by kinematics calculation. This process is performed in block 33 of FIG.
  • the acceleration of the overall center of gravity obtained in this manner is referred to as an inertial navigation estimated overall center of gravity acceleration.
  • the process proceeds to S 2 408, and the inertial navigation estimated overall center of gravity position XGinertestm is obtained by inertial navigation based on the inertial navigation estimated overall center of gravity acceleration. Correct the inertial navigation estimated overall center of gravity so that the difference between the two converges to zero. More specifically, as shown in Fig. 21, the difference between the inertial navigation estimated overall center of gravity position XGinertestm determined in the previous control cycle (previous control cycle before) and the geometrically estimated body position is blocked. The sum of the value obtained by multiplying the time derivative of this difference (or the amount of change in the difference during the control cycle) by a gain Kc and the value obtained by multiplying the difference by a gain Kd is obtained as a block 3 3 Ask in 3.
  • the above sum is obtained from the above difference by the PD control law as a feedback control law. Then, the value obtained by subtracting the above sum (the output of the block 3 33) from the block 3 3 1 from the inertial navigation estimated total center of gravity acceleration output from the block 3 3 1 in the block 3 3 4 Determine the new inertial navigational estimate overall center of gravity position XGinertestm.
  • the inertial navigation estimated overall center of gravity acceleration may be determined.
  • lopot 1 does not receive any external force from the environment, in the aerial period, the entire center of gravity performs a parabolic exercise, so that the position of the overall center of gravity can be more accurately estimated. .
  • whether or not the aerial period is attained may be determined by using at least one of a target gait timing (phase), a floor reaction force of the target gait, and a floor reaction force detection value.
  • the airborne period is based on whether or not the floor floor detection value is equal to or less than a predetermined value.
  • the fifth embodiment described above corresponds to the first to sixth inventions and the eighth to 22nd inventions of the present invention.
  • FIG. 22 is a block diagram showing a means for estimating the overall center-of-gravity position in the self-position estimation process of S 0 16 in FIG. 9 in the sixth embodiment.
  • the floor reaction force detection of the six-axis sensor (floor reaction sensor) 50 is performed.
  • the position of the dynamically estimated center of gravity was calculated based on the values. Except for this, it is the same as the fifth embodiment. Further, in FIG. 22, the same reference numerals as those in FIG. 21 are used for the same components as those in FIG. 21.
  • the detection value of the floor reaction force sensor (6-axis force sensor 50) is calculated using the joint angle detection value (or target value) and the estimation value.
  • the value is converted into a value in the global coordinate system in block 340.
  • the converted floor reaction force sensor detected value is called the floor reaction force sensor detected value global coordinate system converted value.
  • the overall center-of-gravity acceleration obtained in this manner is referred to as a dynamically estimated overall center-of-gravity acceleration.
  • the dynamic estimated overall center of gravity position is obtained by integrating the dynamic estimated overall center of gravity acceleration by the second order, and the difference between the geometric estimated overall center of gravity position and orientation and the inertial navigation estimated overall center of gravity position is 0.
  • the dynamic total body weight position is corrected so as to converge.
  • the difference between the dynamic estimated total gravity center position and the geometric estimated total weight center position determined in the previous control cycle is blocked.
  • the sum of the value obtained by multiplying the time differential value of this difference (or the amount of change in the difference during the control cycle) by a gain Kc and the value obtained by multiplying the difference by a gain Kd is obtained as a block 3 4 3 Ask in 4. That is, the above sum is obtained from the above difference by the PD control law as a feedback control law.
  • a value obtained by subtracting the above sum (the output of the block 344) from the dynamic estimated overall gravity center acceleration, which is the output of the block 342, in the block 345 is second-order integrated in the block 346.
  • a new dynamic estimated overall center of gravity position XGinertestm is determined.
  • the block Estimate body position based on the above-mentioned dynamic estimated overall center-of-gravity position, joint angle detection value (or target value), and estimated body posture (or target body posture).
  • the means for estimating the total body weight position and the body position in the self-position estimation processing of S 0 16 in the sixth embodiment has been described above.
  • the dynamic estimation overall center of gravity acceleration may be determined.
  • the entire center of gravity performs a parabolic exercise, so that it is possible to more accurately estimate the position of the entire center of gravity. .
  • whether or not the aerial period is attained may be determined by using at least one of a target gait timing (phase), a floor reaction force of the target gait, and a floor reaction force detection value.
  • the airborne period is based on whether or not the floor floor detection value is equal to or less than a predetermined value.
  • the sixth embodiment described above corresponds to the first to sixth inventions, the eighth and ninth inventions, and the 23rd to 30th inventions of the present invention.
  • the center of rotation of the posture determined in each of the above embodiments will be supplemented below.
  • a so-called supporting polygon minimum convex polygon including the ground contact surface, ZMP possible range or center of total floor reaction force
  • any contact points other than the posture rotation center point will slip, but the actual bottom of the foot 22 is made of an elastic body such as rubber. It is considered that no slippage occurs near the rotation center of the posture.
  • 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 attitude rotation center determined in S2204 (see FIG. 14) executed in the third and subsequent embodiments is generally one of the following.
  • 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. .
  • attitude rotation center point on or inside the smallest convex body including the area where the entire mouth port 1 is swept by the motion during the latest one step.
  • attitude rotation center point on or within the surface of the smallest convex body including the entire mouth port 1 at a certain moment, for example, at the moment of landing.
  • an integrator for calculating the inertial navigational estimated body position (block 3 2 in FIG. 17) is used.
  • a correction input (output of block 3 18 in FIG. 17) was additionally added to 0). Therefore, the inertial navigational estimated body position was corrected for each control cycle.
  • the inertial navigation estimated body position is determined without correction for a certain period, and the inertial navigation estimated body position and the geometric estimated body position are calculated by the following Equation 45.
  • An internal estimated body position, which is the interpolated estimated body position, may be obtained and output as the finally determined estimated body position. Interpolative estimated body position
  • Equation 45 where hi is the weight of the weighted average, and gradually changes from 1 to 0 during the predetermined period.
  • the predetermined period is set to a period other than the aerial period.
  • the interpolation is the estimated overall center of gravity obtained by interpolating the inertial navigational or dynamic estimated overall center of gravity and the geometrically estimated overall center of gravity.
  • the position of the overall gravity center may be determined.
  • the estimated inertial navigational body position to be corrected or the inertial navigational estimated center of gravity position or the dynamic estimated center of gravity position is only the vertical position component (relative to the floor surface). good. Alternatively, only the horizontal component may be corrected.
  • the value of the correction gain Ka, Kb, Kc or Kd may be determined using the stationary Kalman filter or the non-stationary Kalman filter method.
  • the characteristics of the system noise (disturbance) and the observation noise do not sufficiently satisfy the preconditions of the Kalman filter, so that It doesn't always produce the effect.
  • the acceleration sensor and / or the gyro sensor may be mounted (built-in) on a part other than the upper body 3, for example, on the head 4.
  • kinematics calculation is performed on the detected values of the acceleration sensor and / or gyro sensor based on the displacement command (target displacement) or the detected displacement value of the neck joint. If the acceleration is converted into the acceleration of the body representative point and the angular acceleration, the remaining position may be estimated in the same manner as in the above-described embodiments.
  • the components of the estimated position and orientation (position vertical component, position horizontal component Depending on the direction component and the tilt component around the vertical axis, different processes among the self-position estimation processes from the first embodiment to the sixth embodiment may be selected.
  • the horizontal position of the body 3 is estimated geometrically according to the self-position estimation processing of the third embodiment, and the vertical position is calculated by inertial navigation estimation according to the self-position estimation processing of the fourth embodiment.
  • Body vertical position geometrically estimated to body vertical position More correction may be made.
  • the joint displacement is defined as the joint displacement of the target gait or the detected value of the joint displacement.
  • Weighted average. The weight at this time may have a frequency characteristic.
  • the estimated position and orientation such as the estimated support 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 above embodiments, it is expressed by perturbation from the target position and orientation. You may.
  • the estimated body posture error angle in the global coordinate system is determined based on the estimated gravitational acceleration in the global coordinate system, as shown in FIG.
  • the estimated body posture was corrected by additionally inputting the value obtained by multiplying the error angle by the gain Kb into the integrator (block 3110 in Fig. 17) that integrates the global body angular velocity co gl . That is, although the estimated body posture is corrected in the global coordinate system, it 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) for subtracting the output from the global upper 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.
  • a posture rotation around the center of posture rotation occurs in the mouth port that is trying to exercise according to the desired gait, and the body rotation deviates from the desired gait due to the posture rotation.
  • the posture inclination of the posture rotation is 0 on average even if it vibrates back and forth and right and left.
  • 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 detection drift of the gyro sensor is obtained by using the motion acceleration calculated from the geometrically estimated body position and posture motion and the detection value of the acceleration sensor. May be corrected. Also, in the first to third embodiments, as in the fourth embodiment, the drift of the tilt component of the estimated body posture may be corrected. In the first to third embodiments, however, as in the fourth embodiment, the rate correction may be performed.
  • FIG. 23 and 24 show the internal structure of the head 4 of the mouth pot 1 in the seventh embodiment.
  • FIG. 23 is a front view
  • FIG. 24 is a side view.
  • the head 4 is connected to the upper part of the upper body 3 via the neck joint 120 rotating in the pan and tilt directions. Touched.
  • the neck joint 120 is equipped with motors 121, 122 with encoders (joint displacement detectors) and reduction gears 123, 124, as shown in the figure. It is controlled so as to follow the joint displacement command from the control unit 60 via the motor control device which is omitted.
  • the head 4 is provided with two left and right video cameras 1 25 and 1 25 as environment recognition means so that an object can be stereoscopically viewed.
  • the outputs (imaging information) of the video cameras 125 and 125 are input to the control unit 60, and the control unit 60 determines the distance to the object in the imaging information. Be recognized.
  • the following environment recognition means may be provided.
  • Non-contact multi-point distance measuring devices such as range finder and scanning laser distance meter
  • the seventh embodiment is different from the fourth embodiment in the self-position estimation processing of S 016 in FIG. 9 in addition to the configuration of the head 4 described above.
  • Other configurations and processes are the same as in the fourth embodiment. Note that other configurations and processes may be the same as those of the fifth or sixth embodiment, for example, instead of the fourth embodiment.
  • FIG. 25 is a flowchart showing the self-position estimating process in S 0 16 of FIG. 9 in the seventh embodiment.
  • an object is positioned at the center or an appropriate position of the images of the video cameras 125 and 125 (hereinafter, simply referred to as camera images) using the estimated self-position and orientation in the fourth embodiment.
  • Control the neck joint 120 so that the video camera 1 2 5, 1 Gaze control for controlling the direction of 25 is performed.
  • the video camera 125, 125 (or range finder, etc.) recognizes the landmark, etc., which stores the exact position in the global coordinate system in advance, and corrects the estimated self-position / posture. I do.
  • a certain object is recognized by the video cameras 125 and 125, and the information obtained by the video cameras 125 and 125 and the estimated self-position and orientation are converted to the global coordinate system of the object. Recognize the position and orientation or shape of the object.
  • processing from S2500 to S2504 is the same as that of S2300 to S2304 in the fourth embodiment.
  • the object In order to determine which object to look at, specifically, in the map information, for each object, the object can be observed, and the relative positional relationship between mouth port 1 and the object The area where can be measured (hereinafter referred to as the observable area) is described. Then, based on the current estimated body posture and the inertial navigation body position and the future target route, it is predicted whether the vehicle is in any observable area for the current and future specified periods, and for a while If it is expected to be in the observable area, it is determined that gaze control should be performed.
  • the target object to be watched is specified in advance in the action planning section (Fig. 6) of the mouth port 1 located on the upper layer of the movement control section (portion shown in Fig. 6) of the mouth port 1. (Not shown), but may be determined according to the travel route, or may be specified by the operator via a man-machine interface.
  • the map information is information on landmarks, obstacles, departure points, destinations, movable areas, roads, etc., such as position, shape characteristics, and observable area, and is stored in memory before moving. It is assumed that Then, the process proceeds to S2508, in which a relative relationship between the position of the target object to be watched on the map and the estimated body position / posture is obtained.
  • the control unit 60 outputs the target neck joint displacement to the motor control device (motor driver) of the neck joint motors 122 and 122.
  • the motor control device (motor driver) of the neck joint motors 1 2 1 and 1 2 1 2 1 1 2 1 , 122 are controlled.
  • the process proceeds to S2514, and it is determined whether or not the object is a landmark. Specifically, it is determined whether or not the object is a landmark based on the attribute information of the searched object.
  • the process proceeds to S2516, and the current actual robot is obtained from the camera image, the map information, and the estimated body position / posture and neck joint displacement by geometric calculation.
  • Estimate the position and orientation in the global coordinate system of the support leg coordinate system (hereinafter referred to as the visual estimation support leg coordinate system) corresponding to the support leg foot position and orientation in Step 1.
  • a difference between the position and orientation of the visual estimation support leg coordinate system and the position and orientation of the estimated support leg coordinate system is determined.
  • a product of this difference and a predetermined gain Ke is obtained, and the position and orientation obtained by adding the product to the position and orientation of the estimated support leg coordinate system are used as a new position and orientation of the estimated support leg coordinate system.
  • a new estimated supporting leg coordinate system is determined by the following equation 46.
  • the position and orientation of the visual estimation support leg coordinate system and the position and orientation of the estimated support leg coordinate system are determined by interpolation (that is, internal division or weighted average).
  • the position and orientation of the new estimated support leg coordinate system are determined. .
  • the gain Ke may be determined based on the certainty of each estimated value so that the new estimated supporting leg coordinate system to be determined is a value having the highest probability as a true value.
  • the process proceeds to S2250, and the shape and position of the target object are calculated from the camera image, the map information, the estimated body position / posture, and the neck joint displacement.
  • the calculated object shape / position is referred to as a visual estimation object shape / position.
  • the process proceeds to S2522, and the shape and position of the map information are corrected based on the shape and position of the visual estimation target.
  • the visual estimation Elephant shape ⁇ Modify the object shape and position of map information so that the difference between the position and the object shape of map information ⁇ position converges to zero.
  • a difference between the shape / position of the visual estimation target object and the target object shape / position of the map information is obtained.
  • a product of the difference and a predetermined gain Kf is obtained, and the shape and position obtained by adding the product to the object shape and position of the map information are set as the object shape and position of the new map information.
  • the object shape and position of the new map information are determined by the following Expression 47.
  • the shape and position of the new map information are determined by interpolation of the shape of the visual estimation target object and the position and the object shape of the map information and position (that is, internal division or weighted average). .
  • the position of the visual estimation support leg coordinate system is estimated based on the inertial navigation estimated body position, and the inertial navigation estimated body position is calculated based on the estimated support leg coordinate system. Since it is determined to converge to the estimated body position / posture, if the position / posture of the estimated support leg coordinate system is changed by the processing of S 2 5 18, the position of the visual estimation support leg coordinate system also changes with a delay Is done. Therefore, in the processing of S 2 518, oscillation may occur if the gain Ke is too large in an attempt to speed up convergence.
  • the inertial navigation estimated body position is also directly corrected to change the position of the visual estimated supporting leg coordinate system. What is necessary is just to shorten the delay.
  • the seventh embodiment described above is the third embodiment of the present invention. This corresponds to the first to thirty-seventh inventions.
  • the actual movement of the mouth port 1 is made according to the desired gait on the estimated supporting leg coordinate system, which is a local coordinate system describing the movement of the mouth port 1.
  • the mouth port 1 that is exercising is determined by the difference between the posture detected or estimated by the posture detecting means and the target posture (or the vertical component of the difference) during one step.
  • the position and orientation of the new estimated support leg coordinate system corresponding to the swing leg position and orientation at the time of landing That is, since the position and direction of the landing point are estimated for each step (for each landing), the position and direction of the landing point can be accurately estimated.
  • the acceleration when the acceleration is fluctuating violently in the horizontal or vertical direction, when all legs 2, 2 are off the floor, as in the aerial period during running, or when the feet 22 and the floor
  • the position and orientation of the landing point can be estimated accurately even in a state in which the posture rotation (or spin) occurs in the entire robot 1 due to rotational slip during the rotation.
  • the actual behavior of the mouth pot 1 is maintained on the estimated supporting leg coordinate system, which is a mouth-to-cal coordinate system that describes the motion of the robot 1, while maintaining the body posture as the desired gait. While moving at least according to the detected joint displacement value
  • the posture of the mouth pot is determined by the posture rotation center determining means by the difference between the posture detected or estimated by the posture detecting means and the target posture during one step.
  • the position and orientation of the new estimated supporting leg coordinate system corresponding to the swing position and orientation at the time of landing, i.e., the position of the landing point, assuming that the object is rotated together with the estimated supporting leg coordinate system Since the direction is estimated for each step (for each landing), the position and orientation of the landing point can be estimated with higher accuracy.
  • the actual behavior of the robot 1 is represented by a mouth port 1 that is moving along a target gait on an estimated supporting leg coordinate system that is a local coordinate system that describes the motion of the robot 1.
  • the change rate of the difference in the body posture change rate which is considered to have rotated together with the estimated supporting leg coordinate system around the predetermined posture rotation center at that moment determined by the posture rotation center determination means. Then, a new estimated support leg coordinate system and estimated body position / posture are determined (updated) at each moment (for each control cycle).
  • the position and orientation of the new estimated supporting leg coordinate system according to the swing position and orientation that is, the position and orientation of the new landing point, were estimated for each step (for each landing). Therefore, the position and orientation of the landing point can be more accurately estimated, and the position and orientation of the mouth port 1 can be continuously and accurately estimated.
  • the estimated body position (inertial navigation estimated body position) and the estimated body posture are obtained by inertial navigation, and the geometric body, which is the estimated body position determined by the third embodiment, is obtained.
  • Inertial navigation body estimated body position and estimated body posture are corrected by using the estimated body position, so that the self-position and orientation of the mouth port 1 and the landing position and orientation (of the estimated supporting leg coordinate system) Position 'orientation) can be more accurately estimated.
  • the estimated overall center of gravity position by the inertial navigation is determined for each control cycle. The self-position and orientation of the robot 1 and the landing position and orientation (the position and orientation of the estimated supporting leg coordinate system) can be accurately estimated as in the fourth embodiment.
  • the dynamic estimated overall center of gravity position is calculated based on the floor reaction force sensor detected value.
  • the self-position and orientation of the mouth port 1 and the landing position and orientation the position and orientation of the estimated supporting leg coordinate system
  • the estimation is performed continuously (for each control cycle) by using the geometric self-position estimation operation or by using the geometric self-position estimation operation and the inertial navigation operation in combination.
  • the video camera mounted on the mouth port 1 based on the self-position / posture and the position in the global coordinate system of the object such as the floor or obstacle on the map, which is stored in advance. Since the environment recognizing means such as, 125 determines the direction to be watched, the object can be continuously captured at the center or an appropriate position of the image of the environment recognizing means.
  • the environment recognizing means recognizes the object
  • the position and orientation or shape of the object in a global coordinate system can be accurately recognized from the information obtained by the environment recognizing means and the estimated self-position and posture.
  • the environment recognizing means may provide an accurate position information such as a landmark in advance.
  • Self-position and posture estimated by using a geometric self-position estimation operation based on the position information of the object storing the information and the relative position information of the robot 1 with respect to the object obtained by the environment recognition means.
  • the estimated self-position / posture can be corrected by using the geometric self-position estimation calculation and the inertial navigation calculation in combination, and the accuracy of the self-position / posture estimation can be improved.
  • the self-position and orientation are corrected based on a plurality of continuous images, it is less susceptible to noise and erroneous recognition.
  • the posture inclination of the mouth port 1 can be accurately estimated without being affected by the motion acceleration. This can also be applied to other embodiments.
  • the rate is corrected, and the posture (particularly the direction of the horizontal component) and the position of the robot 1 can be more accurately estimated. This can also be applied to other embodiments. Industrial applicability
  • the present invention is useful as providing a technique capable of accurately estimating the position of a leg-type moving port such as a bipedal moving port.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Description

明 細 書 脚式移動ロポッ 卜の自己位置推定装置 技術分野
本発明は、 脚式移動ロポッ 卜の自己位置を推定する装置に関する。 背景技術
脚式移動ロボッ トでは、 移動中に脚体を振ることによる反力によって 足平 (脚体先端部) と床の間の摩擦力が限界となって、 足平と床の間で 回転滑り (スピン) が生じ、 口ポッ ト全体が鉛直軸まわりに姿勢回転し て、 目標歩容の向きからずれるという問題が従来よりあった。
補足すると、 上体が常に鉛直 (直立) を維持して、 直線歩行する目標 歩容だけが生成されるとは限らない。 目標歩容においても、 口ポッ ト全 体または上体は旋回したり、 前後左右に傾いたりする。 すなわち、 目標 歩容においても、 全体の姿勢回転 (または上体等の代表部位の姿勢回 転) が存在する。 そこで、 本明細書では、 目標歩容における姿勢回転を 目標姿勢回転と呼ぶ。 本明細書で主に問題とする現象は、 実際のロポッ トの全体の姿勢回転 (または上体等の代表部位の姿勢回転) が、 前記目 標姿勢回転からずれることである。 この現象を、 厳密に表現するならば.
「目標姿勢回転からの摂動」 あるいは 「姿勢回転摂動」 と呼ぶべきであ るが、 目標姿勢回転と混同する恐れがない場合には、 以降、 これを 「姿 勢回転」 と省略する。
なお、 以降、 特に、 口ポッ ト全体が鉛直軸まわりに姿勢回転して、 目 標歩容の向きからずれる現象をスピンと呼ぶ。
また、 口ポッ トの走行を行う場合には、 全脚体が床から離れて空中に 存在する時期 (空中期) において、 ロボッ トの鉛直方向の位置も目標歩 容からずれ易かつた。
ロボッ 卜の目標歩容の軌道、 すなわち目標経路からロポッ トがずれな いようにするためには、 自己位置 ·姿勢を精度良く推定することが必要 である。
また、 ビデオカメラ等の環境認識装置を搭載していても、 地図情報に あらかじめ登録してあるランドマ一ク等の注視すべき対象物を画像のあ る所定の位置 (画像の中央等) に捉えるためには、 自己位置 ·姿勢を精 度良く推定することが必要である。
また、 ビデオカメラ等の環境認識装置によって、 環境に設定されたグ 口一バル座標系 (口ポッ トの移動環境の床に対して固定された座標系) における対象物の位置を計測するためには、 グローバル座標系における 自己位置 ·姿勢を精度良く推定することが必要である。
ビデオ力メラ等の環境認識装置を用いないで、 自己位置,姿勢を推定 する方法としては、 ロケッ トなどの誘導に用いられている慣性航法装置 が知られている。
しかし、 慣性航法装置においては、 加速度センサの検出値を 2階積分 することにより位置が推定されるので、 積分誤差の蓄積が大きくなりや すい。 そのため、 加速度センサに極めて高い検出精度が要求される。 ま た、 慣性航法装置を用いるためには、 初期状態において口ポッ トを静的 に床 (地面) に固定することによって、 口ポッ トの位置、 速度の初期値 を 0 としてから、 移動を開始する必要がある。 しかし、 脚式移動ロポッ 卜においては、 直立静止時でも、 姿勢を安定化するために、 常に各関節 が微小ながら動き続けなければならないので、 完全静止状態にすること が困難であった。 したがって、 位置、 速度の初期値が完全には 0になら ない状態から慣性航法演算を開始することとなり、 推定誤差が大きくな りがちであった。
また、 ロケッ トや航空機においては、 衛星、 地上のレーダーやビーコ ンなど、 外部装置との相対位置関係から自己位置姿勢を修正するグロ一 バル ' ポジショニング ' システム (G P S ) が用いられている。 ロボッ トにおいて、 同様のシステムを導入することも可能ではあろうが、 ロボ ッ トの足平 (脚先端部) の床からの高さ等をミリメートルやセンチメ一 トルのオーダーで測定する程の精度を低コス 卜で実現することは困難で ある。
本発明は、 かかる背景に鑑みてなされたものであり、 ロボッ トの自己 位置を精度良く推定することができる自己位置推定装置を提供すること を目的とする。 特に、 口ポッ トの運動加速度が水平方向や鉛直方向に激 しく変動している状態、 走行時などのように全脚体が床から離れている 状態、 または足底と床の間の回転滑りなどによってロポッ ト全体に姿勢 回転 (またはスピン) が生じている状態においても、 自己位置姿勢を精 度良く推定することができる自己位置推定装置を提供することを目的と する。
また、 口ポッ トの自己位置を精度よく推定した上で、 その推定自己位 置を利用して、 ロポッ トに搭載されたビデオカメラ等の環境認識装置に より対象物を環境認識装置の画像の適切な位置に捉えるように該環境認 識装置の方向を制御する注視制御を適切に行うことをも可能とした自己 位置推定装置を提供することを目的とする。
また、 ランドマーク等あらかじめ正確な位置情報を有する対象物をビ デォカメラ等の環境認識手段によって認識しつつ、 それによつて得た情 報を基にロボッ 卜の推定自己位置の精度を高めることができる自己位置 推定装置を提供することを目的とする。
さらに、 推定した自己位置姿勢を利用することで、 ビデオカメラ等の 環境認識手段により、 床面や障害物などの位置姿勢あるいは形状を精度 良く認識することができる自己位置推定装置を提供することを目的とす る。 発明の開示
本発明の脚式移動ロポッ 卜の自己位置推定装置の第 1発明は、 前記の 目的を達成するために、 決定された目標歩容に追従するように制御され る脚式移動ロポッ トにおいて、 前記ロポッ トの所定の部位の実姿勢の検 出値又は推定値と前記目標歩容における前記所定の部位の目標姿勢との 差である姿勢回転偏差の時間的変化量を姿勢回転偏差変化量として求め る姿勢回転偏差算出手段と、 前記姿勢回転偏差の変化の回転中心を決定 する回転中心決定手段と、 前記口ポッ トが、 前記回転中心まわりに前記 姿勢回転偏差変化量で回転したと想定して、 前記ロポッ トの位置の推定 値たる推定位置を決定する位置推定手段とを備えることを特徴とするも のである。
この第 1発明では、 前記ロボッ 卜の所定の部位の実姿勢の検出値又は 推定値と前記目標歩容における前記所定の部位の目標姿勢との差である 姿勢回転偏差の変化は、 ある回転中心の回りにロポッ トの全体が前記姿 勢回転偏差変化量で回転したことと同等であると想定される。 実際、 例 えば口ポッ トの足平 (脚体先端部) と床との間で回転すベり (スピン) が発生した場合には、 それが、 上記姿勢回転偏差の変化となって現れる, そして、 本発明では、 上記想定の基で、 口ポッ トの推定位置を決定する ので、 上記回転すベり等によるロポッ トの実際の位置の変化を定量的に 把握して、 その実際の位置の推定値たる推定位置を決定できる。 その結 果、 精度のよい口ポッ トの自己位置推定が可能となる。
なお、 前記所定の部位の実姿勢の検出値又は推定値は、 例えば傾斜計. ジャィ口センサ等のセンサを用いて検出もしくは推定したものでよいが 本発明で求めるロポッ トの推定位置、 加速度センサの加速度検出値等を 補助的に用いて適宜、 補正したものであってもよい。 所定の部位の実姿 勢の検出値又は推定値は、 それを得る手段を問わず、 基本的には所定の 部位の実姿勢を比較的精度よく表すものであればよい。 このことは、 第 1発明以外の本発明においても同様である。
前記第 1発明では、 より具体的には、 前記位置推定手段は、 前記目標 歩容を記述する座標系である第 1の座標系を前記姿勢回転偏差変化量だ け前記回転中心回りに回転させてなる第 2の座標系を求める手段を備え. 前記目標歩容の目標運動と前記ロポッ トの関節の変位検出値と該関節の 変位目標値とのうちの少なくともいずれかから把握される、 前記第 1座 標系から見たロボッ ト位置と前記第 2座標系から見たロポッ 卜の推定位 置とが同一になるようにグロ一バル座標系から見たロポットの推定位置 を決定することが好ましい (第 2発明)。 なお、 グロ一バル座標系は口 ポッ トが移動する環境の床 (地面) に対して固定された座標系である。 かかる第 2発明によれば、 前記第 1座標系から見た口ポッ ト位置、 す なわち、 第 1座標系上で、 口ポッ トが回転すベり等を生じることなく、 目標歩容の目標運動もしくは関節変位検出値もしくは関節変位目標値の 通りに運動しているとした場合に該目標運動と関節変位検出値と関節変 位目標値とのうちの少なくともいずれかから把握されるロポッ トの位置 (第 1座標系から見た口ポッ トの位置) と、 該第 1座標系を前記回転中 心回りに前記姿勢回転偏差変化量で回転させてなる第 2座標系から見た ロポッ トの推定位置とが同一になる (各座標系上での位置の各座標成分 が両座標系で同じになる) ように、 グローバル座標系から見たロボッ ト の推定位置が決定される。 その結果、 姿勢回転偏差の変化を適切に反映 させてロボッ トの推定位置を決定でき、 精度のよい推定位置を得ること ができる。 補足すると、 前記第 1座標系は、 例えばロボッ トの着地動作 により着地する脚体の足平の接地面近傍等に該ロポッ トの着地毎に設定 される座標系 (後述の実施形態で説明する支持脚座標系) でもよいが、 前記グローバル座標系と同じ座標系でもよい。
上記第 1又は第 2発明では、 前記所定の部位は、 口ポッ トの上体 (脚 体が延設される基体) であることが好適である (第 3発明)。 これは、 ロポッ トの回転すベり等による影響は、 ロポッ 卜の上体の姿勢の変化と して現れやすいからである。
また、 第 1〜第 3発明では、 前記姿勢回転偏差は、 少なく とも前記所 定の部位のョ一方向の姿勢回転偏差成分を含むことが好適である (第 4 発明)。 これは、 口ポッ トの位置は、 ョー方向の姿勢回転偏差の変化の 影響を受け易いからである。
また、 前記第 1〜第 4発明で、 前記口ポッ トの目標歩容が、 走行等の ように、 ロポッ トの全脚体を空中に浮かせる空中期を有する歩容である ときには、 前記回転中心決定手段は、 前記空中期では、 前記口ポッ トの 重心に前記回転中心を決定し、 該空中期以外の時期では実床反力中心点 および目標歩容の目標 Z M Pのいずれかの点又はその近傍に前記回転中 心を決定することが好ましい (第 5発明)。 すなわち、 空中期では、 前 記姿勢回転偏差の変化は、 概ねロポッ トの重心を中心とする回転となる, 空中期以外の時期、 すなわち、 いずれかの脚体が接地している時期では. 前記姿勢回転偏差の変化の回転中心は、 概ね実床反力中心点 (口ポッ ト に実際に作用する全床反力の中心点) および目標 Z M Pのいずれかの点 の付近に存在する。 従って、 上記のように回転中心を決定することで、 その回転中心が実状に合った適切なものとなり、 ひいては、 口ポッ トの 推定位置の精度を適切に確保することができる。
なお、 目標歩容が、 口ポッ トの歩行等のように空中期を持たない歩容 (常時、 いずれかの脚体が接地する歩容) であるときには、 前記回転中 心は、 例えば実床反力中心点および目標 Z M Pのいずれかの点又はその 近傍に決定すればよい。
第 1〜第 5発明の一つの形態では、 例えば前記姿勢回転偏差算出手段 は、 各瞬間の前記姿勢回転偏差変化量を逐次求める手段であり、 前記位 置推定手段は、 その各瞬間の姿勢回転偏差変化量を用いて前記ロポッ ト の各瞬間の推定位置を逐次決定する (第 6発明)。 これによれば、 各瞬 間の推定位置を逐次決定するので、 ロポッ トの自己位置をほぼ連続的に 把握することができる。 なお、 この第 6発明では、 姿勢回転偏差変化量 は、 姿勢回転偏差の変化速度に相当するものとなる。
あるいは、 他の一つの形態では、 前記姿勢回転偏差算出手段は、 前記 ロポッ トの着地動作により該ロボッ 卜の脚体が着地する毎に、 前回の脚 体の着地から今回の脚体の着地までの期間における姿勢回転偏差変化量 である着地間姿勢回転偏差変化量を求める手段であり、 前記位置推定手 段は、 該着地間姿勢回転偏差変化量を用いて各着地毎に前記口ポッ トの 推定位置を決定する (第 7発明)。
これによれば、 ロポッ トの位置の安定性が高いものとなるロポッ トの 着地毎にロポッ トの推定位置を決定するので、 その推定位置の信頼性を 高めることできる。
また、 第 1〜第 7発明では、 前記位置推定手段が推定する口ポッ トの 位置は、 該ロポッ 卜の着地動作により着地した脚体の接地位置であるこ とが好適である (第 8発明)。 口ポッ トの脚体の接地位置は、 口ポッ ト の上体等の部位に比べて微小変動を生じたりし難いため、 安定性が高い ( 従って、 その接地位置を口ポッ トの位置として推定することで、 信頼性 の高い推定位置を得ることができる。
さらに、 前記第 1〜第 8発明では、 前記口ポッ トに作用する床反力を 検出する床反力検出手段を備え、 前記位置推定手段は、 前記検出された 床反力を基に前記口ポッ トの変形量を推定し、 少なくともその推定され た変形量を用いて前記ロボッ トの推定位置を決定することが好適である (第 9発明)。 これによれば、 口ポッ トに作用する床反力によるロポッ トの足平等の変形量を考慮して口ポッ トの推定位置を決定するので、 該 推定位置の精度を高めることができる。
次に、 本発明の自己位置推定装置の第 1 0発明は、 決定された目標歩 容に追従するように制御される脚式移動ロポッ トにおいて、 前記ロポッ トに搭載された、 並進加速度を検出する加速度センサと、 前記ロボッ ト に搭載された、 慣性空間に対する角速度を検出する角速度センサと、 前 記目標歩容の目標運動と前記ロポッ トの関節の変位検出値と該関節の変 位目標値とのうちの少なくともいずれかを基に前記ロボッ トの所定の部 位又は前記ロポッ 卜の重心の鉛直位置の幾何学的推定値としての第 1の 推定位置を決定する幾何学的位置推定手段と、 少なくとも前記加速度セ ンサの検出値と前記角速度センサの検出値とを基に慣性航法によって前 記所定の部位又は前記ロボッ 卜の全体重心の鉛直位置の慣性航法的推定 値としての第 2の推定位置を決定すると共に、 少なくとも前記第 1の推 定位置と第 2の推定位置との差を基に第 2の推定位置を補正する慣性航 法的位置推定手段とを備えることを特徴とするものである。
この第 1 0発明では、 少なくとも前記目標歩容の目標運動と前記ロボ ッ 卜の関節の変位検出値と該関節の変位目標値とを基に前記所定の部位 又は前記ロポッ トの重心の鉛直位置の幾何学的推定値 (キネマテイクス 演算等によって求められる鉛直位置) としての第 1の推定位置が決定さ れる。 さらに、 少なくとも加速度センサの検出値と角速度センサの検出 値とを基に慣性航法によって前記所定の部位又は前記ロポッ 卜の全体重 心の鉛直位置の慣性航法的推定値としての第 2の推定位置が決定される : そして、 このとき、 第 2の推定位置は、 第 1の推定位置との差を基に補 正される。 つまり、 慣性航法とは異なる幾何学的な手法によって決定さ れる第 1の推定位置を用いて、 慣性航法を基礎とする第 2の推定位置が 補正される。 これにより、 前記第 2の推定位置に含まれやすいドリフト (積分誤差の蓄積) を防止しつつ、 第 2の推定位置の精度を高めること ができる。 すなわち、 前記所定の部位又は全体重心の鉛直位置の推定精 度を高めることができる。
かかる第 1 0発明では、 前記第 3発明と同様、 前記所定の部位は、 前 記ロポッ 卜の上体であることが好ましい (第 1 1発明)。
また、 第 1 0又は第 1 1発明では、 前記口ポッ トに作用する床反力を 検出する床反力検出手段を備え、 前記幾何学的位置推定手段は、 前記検 出された床反力を基に前記ロポッ トの変形量を推定し、 その推定した変 形量を用いて前記第 1の推定位置を決定することが好ましい (第 1 2発 明)。 これによれば、 前記第 9発明と同様に床反力による口ポッ トの変 形量を考慮して第 1の推定位置を決定するので、 該第 1の推定位置の精 度を高めることができる。 その結果、 前記第 2の推定位置のより適切な 補正が可能となり、 該第 2の推定位置の精度も高めることができる。
また、 第 1 0〜第 1 2発明では、 前記慣性航法的位置推定手段は、 前 記第 1の推定位置と第 2の推定位置との差を 0に近づけるように前記第 2の推定位置を補正することが好ましい (第 1 3発明)。 これにより、 第 2推定位置の補正を、 該第 2推定位置の精度が高まる (誤差を小さく する) ように適切に行うことができる。
さらに、 第 1 0〜第 1 3発明では、 前記ロポッ トの目標歩容が、 ロボ ッ トの全脚体を空中に浮かせる空中期を有する歩容であるときには、 前 記慣性航法的位置推定手段は、 前記空中期では、 前記第 2の推定位置の 補正量を略 0にすることが好ましい (第 1 4発明)。 すなわち、 空中期 では、 口ポッ トが非接地となるので、 口ポッ トの所定の部位又は全体重 心の鉛直位置の幾何学的推定位置たる前記第 1の推定位置の精度が低下 しゃすい。 そこで、 第 1 4発明では、 空中期では、 第 2の推定位置の補 正量を 0にする。 これにより、 空中期で第 2の推定位置が、 信頼性の低 い第 1の推定位置を用いて不適切に補正されてしまうのを防止して、 該 第 2の推定位置の長期的な精度を安定して確保することができる。
次に、 本発明の自己位置推定装置の第 1 5発明は、 決定された目標歩 容に追従するように制御される脚式移動ロポッ トにおいて、 前記ロボッ トに搭載された、 並進加速度を検出する加速度センサと、 前記口ポッ ト の所定の部位の実姿勢の検出値又は推定値と前記目標歩容における前記 所定の部位の目標姿勢との差である姿勢回転偏差の時間的変化量を姿勢 回転偏差変化量として求める姿勢回転偏差算出手段と、 前記姿勢回転偏 差の変化の回転中心を決定する回転中心決定手段と、 前記ロポッ トが、 前記回転中心まわりに前記姿勢回転偏差変化量で回転したと想定して、 前記所定の部位又は前記ロポッ 卜の全体重心の位置の推定値たる第 1の 推定位置を決定する幾何学的位置推定手段と、 少なくとも前記加速度セ ンサの検出値と前記所定の部位の実姿勢の検出値又は推定値とを基に、 慣性航法によって該所定の部位又は前記ロポッ トの全体重心の位置の推 定値としての第 2の推定位置を算出すると共に、 少なくとも第 1の推定 位置と第 2の推定位置との差を基に第 2の推定位置を補正する慣性航法 的位置推定手段とを備えることを特徴とするものである。
この第 1 5発明では、 前記第 1発明で説明した手法を用いて、 ロポッ トの所定の部位又は全体重心の位置の推定値たる第 1の推定位置が決定 される。 なお、 このとき、 より具体的には、 口ポッ トの着地動作により 着地した脚体の接地位置を前記第 8発明で説明した如く求めた上で、 そ の接地位置を基準として、 目標歩容の目標運動、 口ポッ トの関節の変位 検出値、 及び該関節の変位目標値のうちの少なく ともいずれかを基に前 記第 1の推定位置を決定することが好適である。 そして、 第 1 5発明で は、 少なくとも前記加速度センサの検出値と前記所定の部位の実姿勢の 検出値又は推定値とを基に、 慣性航法によって該所定の部位又は全体重 心の位置の推定値としての第 2の推定位置が算出され、 この第 2の推定 位置が、 第 1の推定位置との差を基に補正される。 つまり、 慣性航法を 基礎とする第 2の推定位置が、 ロポッ トの回転すベり等によるロポッ ト の位置変動を考慮して幾何学的に決定される第 1の推定位置を用いて補 正される。 これにより、 前記第 2の推定位置に含まれやすいドリフ ト (積分誤差の蓄積) を防止しつつ、 第 2の推定位置の精度を高めること ができる。 すなわち、 前記所定の部位又は全体重心の位置の推定精度を 高めることができる。
かかる第 1 5発明では、 より具体的には、 前記幾何学的位置推定手段 は、 前記目標歩容を記述する座標系である第 1の座標系を前記姿勢回転 偏差変化量だけ前記回転中心回りに回転させてなる第 2の座標系を求め る手段を備え、 前記目標歩容の目標運動と前記ロボッ トの関節の変位検 出値と該関節の変位目標値とのうちの少なくともいずれかから把握され る、 前記第 1座標系から見た前記所定の部位又は全体重心の位置と前記 第 2座標系から見た前記所定の部位又は全体重心の第 1の推定位置とが 同一になるようにグロ一バル座標系から見た前記所定の部位又は全体重 心の第 1の推定位置を決定することが好ましい (第 1 6発明)。 これに より、 第 1の推定位置を決定することに関して、 前記第 2発明と同様の 作用効果を奏することができる。
また、 第 1 5又は第 1 6発明では、 前記第 3発明と同様に、 前記所定 の部位は、 前記口ポッ トの上体であることが好ましい (第 1 7発明)。 さらに、 第 1 5〜第 1 7発明では、 前記第 4発明と同様に、 前記姿勢 回転偏差は、 少なく とも前記所定の部位のョー方向の姿勢回転偏差成分 を含むことが好ましい (第 1 8発明)。
また、 第 1 5〜第 1 8発明では、 前記口ポッ トに作用する床反カを検 出する床反力検出手段を備え、 前記幾何学的位置推定手段は、 前記検出 された床反力を基に前記ロボッ トの変形量を推定し、 その推定された変 形量を用いて前記第 1の推定位置を決定することが好ましい (第 1 9発 明)。 これによれば、 前記第 9発明と同様に床反力による口ポッ トの変 形量を考慮して第 1の推定位置を決定するので、 該第 1の推定位置の精 度を高めることができる。 その結果、 前記第 2の推定位置のより適切な 補正が可能となり、 該第 2の推定位置の精度も高めることができる。
また、 第 1 5〜第 1 9発明では、 前記ロポッ トの目標歩容が、 ロポッ トの全脚体を空中に浮かせる空中期を有する歩容であるときには、 前記 回転中心決定手段は、 前記空中期では、 前記口ポッ トの重心に前記回転 中心を決定し、 該空中期以外の時期では実床反力中心点および目標歩容 の目標 Z M Pのいずれかの点又はその近傍に前記回転中心を決定するこ とが好ましい (第 2 0発明)。 これによれば、 前記第 5発明と同様、 前 記回転中心を実状に合った適切なものとして、 前記第 1の推定位置の精 度を適切に確保することができる。
さらに、 第 1 5〜第 2 0発明では、 前記慣性航法的位置推定手段は、 前記第 1の推定位置と第 2の推定位置との差を 0に近づけるように前記 第 2.の推定位置を補正することが好ましい (第 2 1発明)。 これにより . 前記第 1 3発明と同様、 第 2推定位置の補正を、 該第 2推定位置の精度 が高まる (誤差を小さくする) ように適切に行うことができる。
また、 第 1 5〜第 2 1発明では、 前記ロボッ トの目標歩容は、 ロポッ トの全脚体を空中に浮かせる空中期を有する歩容であり、 前記慣性航法 的位置推定手段は、 前記空中期では、 前記第 2の推定位置の補正量を略 0にすることが好ましい (第 2 2発明)。
これによれば、 前記第 1 4発明と同様、 空中期では、 第 2の推定位置 の補正量を 0にするので、 空中期で第 2の推定位置が、 信頼性の低い第 1の推定位置を用いて不適切に補正されてしまうのを防止して、 該第 2 の推定位置の長期的な精度を安定して確保することができる。
次に本発明の自己位置推定装置の第 2 3発明は、 決定された目標歩容 に追従するように制御される脚式移動ロポッ 卜において、 前記ロボッ ト に作用する床反力を検出する床反力検出手段と、 前記ロポッ トの所定の 部位の実姿勢の検出値又は推定値と前記目標歩容における前記所定の部 位の姿勢との差である姿勢回転偏差の時間的変化量を姿勢回転偏差変化 量として求める姿勢回転偏差算出手段と、 前記姿勢回転偏差の変化の回 転中心を決定する回転中心決定手段、 前記口ポッ トが、 前記回転中心ま わりに前記姿勢回転偏差変化量で回転したと想定して、 前記所定の部位 又は前記ロポッ トの全体重心の推定位置としての第 1の推定位置を決定 する幾何学的位置推定手段、 少なくとも前記床反力検出手段の検出値と 前記実姿勢の検出値又は推定値とを基に、 動力学演算によって前記所定 の部位又は前記ロボッ トの全体重心の推定位置としての第 2の推定位置 を算出すると共に、 少なくとも第 1の推定位置と第 2の推定位置との差 を基に第 2の推定位置を補正する動力学的位置推定手段とを備えること を特徴とするものである。
この第 2 3発明では、 前記第 1 の推定位置は、 前記第 1 5発明と全く 同様に決定される。 一方、 第 2の推定位置は、 少なくとも前記床反カ検 出手段の検出値と前記所定の部位の実姿勢の検出値又は推定値とを基に, 動力学演算によって前記所定の部位又は前記ロポッ トの全体重心の推定 位置としての第 2の推定位置が算出され、 この第 2の推定位置が第 1の 推定位置との差を基に補正される。 ここで、 床反力を口ポッ トの全体質 量で割った値から、 重力加速度を減算したものの符号を反転させたもの が、 前記第 1 5発明でいうところの加速度検出値に相当するものとなる ので、 結果的には、 第 1 5発明と同様に第 2の推定位置が決定 ·補正さ れることとなる。 従って、 第 2 3発明によれば、 第 1 5発明と同様に、 前記第 2の推定位置に含まれやすいドリフト (積分誤差の蓄積) を防止 しつつ、 第 2の推定位置の精度を高めることができる。 すなわち、 前記 所定の部位又は全体重心の位置の推定精度を高めることができる。
かかる第 2 3発明では、 より具体的には、 前記幾何学的位置推定手段 は、 前記目標歩容を記述する座標系である第 1の座標系を前記姿勢回転 偏差変化量だけ前記回転中心回りに回転させてなる第 2の座標系を求め る手段を備え、 前記目標歩容の目標運動と前記ロポッ 卜の関節の変位検 出値と該関節の変位目標値とのうちの少なくともいずれかから把握され る、 前記第 1座標系から見た前記所定の部位又は全体重心の位置と前記 第 2座標系から見た前記所定の部位又は全体重心の第 1の推定位置とが 同一になるようにグロ一バル座標系から見た前記所定の部位又は全体重 心の第 1の推定位置を決定することが好ましい (第 2 4発明)。 これに より、 第 1の推定位置を決定することに関して、 前記第 2発明と同様の 作用効果を奏することができる。
また、 第 2 3又は第 2 4発明では、 前記第 3発明と同様に、 前記所定 の部位は、 前記口ポッ トの上体であることが好ましい (第 2 5発明)。
さらに、 第 2 3〜第 2 5発明では、 前記第 4発明と同様に、 前記姿勢 回転偏差は、 少なくとも前記所定の部位のョー方向の姿勢回転偏差成分 を含むことが好ましい (第 2 6発明)。
また、 第 2 3〜第 2 6発明では、 前記幾何学的位置推定手段は、 前記 検出された床反力を基に前記口ポッ トの変形量を推定し、 その推定され た変形量を用いて前記第 1の推定位置を決定することが好ましい (第 2 7発明)。 これによれば、 前記第 9発明と同様に床反力による口ポッ ト の変形量を考慮して第 1の推定位置を決定するので、 該第 1の推定位置 の精度を高めることができる。 その結果、 前記第 2の推定位置のより適 切な補正が可能となり、 該第 2の推定位置の精度も高めることができる < また、 第 2 3〜第 2 7発明では、 前記ロポッ トの目標歩容が、 ロポッ トの全脚体を空中に浮かせる空中期を有する歩容であるときには、 前記 回転中心決定手段は、 前記空中期では、 前記口ポッ トの重心に前記回転 中心を決定し、 該空中期以外の時期では実床反力中心点および目標歩容 の目標 Z M Pのいずれかの点又はその近傍に前記回転中心を決定するこ とが好ましい (第 2 8発明)。 これによれば、 前記第 5発明と同様、 前 記回転中心を実状に合った適切なものとして、 前記第 1の推定位置の精 度を適切に確保することができる。
さらに、 第 2 3〜第 2 8発明では、 前記動力学的位置推定手段は、 前 記第 1の推定位置と第 2の推定位置との差を 0に近づけるように前記第 2の推定位置を補正することが好ましい (第 2 9発明)。 これにより、 前記第 1 3発明と同様、 第 2推定位置の補正を、 該第 2推定位置の精度 が高まる (誤差を小さくする) ように適切に行うことができる。
また、 第 2 3〜第 2 9発明では、 前記ロポッ トの目標歩容が、 ロポッ トの全脚体を空中に浮かせる空中期を有する歩容であるときには、 前記 動力学的位置推定手段は、 前記空中期では、 前記第 2の推定位置の補正 量を略 0にすることが好ましい (第 3 0発明)。
これによれば、 前記第 1 4発明と同様、 空中期では、 第 2の推定位置 の補正量を 0にするので、 空中期で第 2の推定位置が、 信頼性の低い第 1の推定位置を用いて不適切に補正されてしまうのを防止して、 該第 2 の推定位置の長期的な精度を安定して確保することができる。
さらに、 前述した第 1〜第 9発明では、 少なくとも、 あらかじめ記憶 しておいた地図上の床面や障害物などの対象物の位置情報と、 前記ロボ ッ トに搭載された撮像装置等の環境認識手段によって認識された前記対 象物に対するロポッ トの相対位置関係情報を基に、 前記所定の部位の実 姿勢の検出値又は推定値と、 前記ロポッ トの推定位置とのうちの少なく ともいずれかを補正することが好ましい (第 3 1発明)。
同様に、 前記第 1 0〜第 1 4発明では、 少なくとも、 あらかじめ記憶 しておいた地図上の床面や障害物などの対象物の位置情報と、 前記ロボ ッ トに搭載された撮像装置等の環境認識手段によって認識された前記対 象物とロポッ 卜との相対位置関係情報を基に、 前記第 1の推定位置と第 2の推定位置とのうちの少なくともいずれかを補正する手段を備えるこ とが好ましい (第 3 2発明)。
同様に、 前記第 1 5〜第 2 9発明では、 少なく とも、 あらかじめ記憶 しておいた地図上の床面や障害物などの対象物の位置情報と、 前記ロボ ッ トに搭載された撮像装置等の環境認識手段によって認識された前記対 象物と口ポッ トとの相対位置関係情報を基に、 前記第 1の推定位置と第 2の推定位置と前記所定の部位の実姿勢の検出値又は推定値とのうちの 少なく ともいずれかを補正する手段を備えることが好ましい (第 3 3発 明)。
これらの第 3 1〜第 3 3発明によれば、 地図上で、 位置情報が明確に 確定しているランドマーク等の対象物を環境認識手段によって認識し、 その対象物と口ポッ トとの相対位置関係情報を基に、 前記推定位置 (第 1 0〜第 3 0発明では第 1 もしくは第 2の推定位置)、 あるいは該推定 位置を決定するために必要な前記所定の部位の実姿勢の検出値又は推定 値 (第 1〜第 9発明、 又は第 1 5〜第 3 0発明の場合) が、 対象物を認 識したときに補正されるので、 推定位置 (第 1 0〜第 3 0発明では第 2 の推定位置) の精度を高めることができる。 また、 前記第 1〜第 9発明では、 少なく とも、 前記位置推定手段によ り推定された前記ロポッ トの位置と、 前記ロポッ トに搭載された撮像装 置等の環境認識手段によって認識された対象物に対する前記ロボッ トの 相対位置関係情報を基に、 対象物の位置を推定する手段を備えることが 好ましい (第 3 4発明)。
同様に、 前記第 1 0〜第 3 0発明では、 少なくとも、 前記第 2の推定 位置と、 前記ロポッ トに搭載された撮像装置等の環境認識手段によって 認識された対象物に対する前記ロポッ トの相対位置関係情報を基に、 対 象物の位置を推定する手段を備えることが好ましい (第 3 5発明)。
これらの第 3 4、 第 3 5発明によれば、 前述の如く決定した口ポッ ト の自己位置たる推定位置 (第 1 0〜第 3 0発明では、 第 2の推定位置) を用いることで、 対象物の位置を精度よく推定することができる。
また、 第 1〜第 9発明では、 少なくとも前記口ポッ トの推定位置と、 あらかじめ記憶しておいた地図上の床面や障害物などの対象物の位置と を基に、 前記口ポッ トに搭載された撮像装置等の環境認識手段が注視す べき方向を決定する手段を備えることが好ましい (第 3 6発明)。
同様に、 第 1 0〜第 3 0発明では、 少なく とも前記第 2の推定位置と. あらかじめ記憶しておいた地図上の床面や障害物などの対象物の位置と を基に、 前記ロポッ トに搭載された撮像装置等の環境認識手段が注視す べき方向を決定する手段を備えることが好ましい (第 3 7発明)。
これらの第 3 6、 第 3 7発明によれば、 前述の如く決定したロボッ ト の自己位置たる推定位置 (第 1 0〜第 3 0発明では、 第 2の推定位置) を用いるので、 対象物とロボッ 卜との位置関係を精度よく認識すること ができる。 その結果、 環境認識手段の注視方向を注視すべき方向 (例え ば環境認識手段を構成する撮像装置の画像の中央等の所定位置に対象物 が存在するような方向) に精度よく制御することができる。 図面の簡単な説明
図 1は、 本発明の実施形態における脚式移動ロポッ トとしての 2足移 動ロポッ トの全体的構成の概略を示す概略図、 図 2は図 1の各脚体の足 平部分の構成を概略的に示す概略図、 図 3及び図 4はそれぞれ各脚体の 足平部分の詳細構成を示す側面視の断面図及び底面図、 図 5は図 1の口 ポッ トに備えた制御ュニッ トの構成を示すプロック図、 図 6は図 5の制 御ュニッ トの機能的構成を示すブロック図である。 図 7はロポッ トの走 行歩容を示す説明図、 図 8 ( a ) , ( b ) , ( c ) はそれぞれ目標歩容の床 反力鉛直成分、 目標 Z M P、 自己位置姿勢推定用のゲインの設定例を示 すグラフ、 図 9は第 1実施形態における制御ュニッ トの要部の処理を示 すフローチャート、 図 1 0は図 9のフローチャートの自己位置姿勢推定 処理を示すフローチヤ一ト、 図 1 1は図 9のフローチャートの自己位置 姿勢推定処理を説明するための図である。 図 1 2は第 2実施形態の自己 位置姿勢推定処理を示すフローチャート、 図 1 3は第 2実施形態の自己 位置姿勢推定処理を説明するための図である。 図 1 4は第 3実施形態の 自己位置姿勢推定処理を示すフローチャート、 図 1 5は第 3実施形態の 自己位置姿勢推定処理を説明するための図である。 図 1 6は第 4実施形 態の自己位置姿勢推定処理を示すフローチヤ一ト、 図 1 7は第 4実施形 態の自己位置姿勢推定処理の要部の処理を示すブロック図、 図 1 8 ( a ) , ( b ) は第 4実施形態の自己位置姿勢推定処理を説明するための 図、 図 1 9は第 4実施形態で用いるゲインの設定例を示すグラフである 図 2 0は第 5実施形態の自己位置姿勢推定処理を示すフローチヤ一ト、 図 2 1は第 5実施形態の自己位置姿勢推定処理の要部の処理を示すプロ ック図である。 図 2 2は第 6実施形態の自己位置姿勢推定処理の要部の 処理を示すブロク図である。 図 2 3及び図 2 4は第 7実施形態における ロボッ トの頭部の内部構造をそれぞれ正面視、 側面視で示す図、 図 2 5 は第 7実施形態の自己位置姿勢推定処理を示すフローチャートである。 発明を実施するための最良の形態
以下、 添付図面を参照してこの発明の実施形態に係る脚式移動ロポッ 卜の自己位置推定装置を説明する。 尚、 脚式移動口ポッ トとしては 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 0 R (L), 1 2 R (L), 1 4 R (L) を介して前記上体 3が取り付けられ ている。 上体 3の内部には、 詳細を後述する制御ユニッ ト 6 0などが格 納される。 なお、 図 1では図示の便宜上、 制御ユニッ ト 6 0を上体 3の 外部に記載している。
上記構成の各脚体 2においては、 股関節 (あるいは腰関節) は関節 1 O R (L), 1 2 R (L), 1 4 R (L) から構成され、 膝関節は関節 1 6 R (L) から構成され、 足首関節は関節 1 8 R (L), 2 0 R (L) から構成される。 また股関節と膝関節とは大腿リンク 2 4 R (L) で連 結され、 膝関節と足首関節とは下腿リンク 2 6 R (L) で連結される。
尚、 上体 3の上部の両側部には左右一対の腕体 5, 5が取り付けられ ると共に、 上体 3の上端部には頭部 4が配置される。 これらの腕体 5 , 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方向成分 Mx, My, 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 PUからな る第 1の演算装置 9 0及び第 2の演算装置 9 2、 AZD変換器 8 0、 力 ゥン夕 8 6、 DZA変換器 9 6、 RAM 8 4 , ROM 9 4、 並びにこれ らの間のデータ授受を行うバスライン 8 2を備えている。 この制御ュニ ッ ト 6 0では、 各脚体 2の 6軸力センサ 5 0、 傾斜センサ 5 4 (加速度 センサおよびレートジャイロセンサ)、 ジョイスティ ック 7 3等の出力 信号は A/D変換器 8 0でデジタル値に変換された後、 バスライン 8 2 を介して RAM 8 4に送られる。 またロボッ ト 1の各関節のエンコーダ 6 5 (ロータリ一エンコーダ) の出力は、 カウンタ 8 6を介して RAM 84に入力される。
前記第 1の演算装置 9 0は後述の如く目標歩容を生成すると共に、 関 節角変位指令 (各関節の変位角もしくは各電動モータ 6 4の回転角の指 令値) を算出し、 RAM 8 4に送出する。 また第 2の演算装置 9 2は R AM 8 4から関節角変位指令と、 前記エンコーダ 6 5の出力信号とに基 づいて検出された関節角の実測値とを読み出し、 各関節の駆動に必要な 操作量を算出して DZ A変換器 9 6とサーボアンプ 6 4 aとを介して各 関節を駆動する電動モ一夕 64に出力する。
図 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 になる点) と目標全床反力中心点は一致することから、 目標全床反力中 心点軌道の代わりに目標 ZMP軌道を与えると言っても同じことである (詳細は、 例えば本出願人による P C T公開公報 WO/02/40224を参 照)。
このような背景から、 P C T公開公報 WOZ02Z40224の明細書では 目標歩容を次のように定義していた。
a) 広義の目標歩容とは、 1歩ないしは複数歩の期間の目標運動軌道と その目標床反力軌道との組である。
b) 狭義の目標歩容とは、 1歩の期間の目標運動軌道とその Z MP軌道 との組である。
c)一連の歩容は、 いくつかの歩容がつながったものとする。
口ポッ ト 1の歩行を行う場合においては、 本出願人が先に特開平 10- 86080号公報で提案した上体高さ決定手法によって上体鉛直位置 (上体 高さ) が決定されると、 床反力の並進力成分は従属的に決定されるので. 目標歩容の床反力に関して明示的に設定すべき物理量としては、 Z MP だけで十分であった。 したがって、 P C T公開公報 WO/02Z40224の 明細書では、 狭義の目標歩容としては、 上記の b) で十分であった。 そ れに対し、 口ポッ ト 1の走行を行う場合には、 床反力鉛直成分も制御上 重要であるので、 該床反力鉛直成分を明示的に設定することが好ましい, そこで、 本願出願人が先に提案した P C T出願 ( PCT / 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公開公報 WOZ 02Z 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の走行を行う場合には、 例えば目標床反力鉛直成分軌道および目標 ZMP軌道 (詳しくは支持脚座標系の X軸方向 (支持脚足平 2 2の前後 方向) での目標 ZMP軌道) は、 それぞれ図 8 ( a)、 図 8 (b) に実 線で示すようなパターンで設定される。 なお、 図 7の第 1番目〜第 3番 目の図は、 それぞれ片脚支持期の開始時、 中間時点、 終了時における口 ポッ ト 1の両脚体 2, 2の運動状態を模式的に示し、 第 4番目及び第 5 番目の図は、 それぞれ空中期の中間時点、 空中期の終了時 (次の片脚支 持期の開始時) における口ポッ ト 1の両脚体 2, 2の運動状態を模式的 に示している。
口ポッ ト 1の走行を行う場合には、 目標床反力鉛直成分軌道は、 基本 的には、 片脚支持期では上に凸のパターンとなり、 空中期では 0に維持 される。 また、 ロボッ ト 1の歩行を行う場合には、 目標床反力鉛直成分 軌道は、 例えば図 8 ( a) に二点鎖線で示すように設定される。 この場 合、 二点鎖線のうちの上に凸の部分が両脚支持期に対応し、 下に凸の部 分が片脚支持期に対応する。 また、 目標 ZMPは走行、 歩行のいずれで あっても、 基本的には、 口ポッ ト 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 0 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出願 PCT/JP02Z 13596 に詳細に説明されているので、 本明 細書では簡略的な説明に留める。
S 0 2 0に進むときは時刻 tを 0に初期化する。 次いで S 0 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の運動状態に不連続が生じないような周期的歩容 を意味する (以降、 「定常旋回歩容」 を 「定常歩容」 と略す場合もある) t 定常旋回歩容の 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 2 4の詳細は、 本出願人が提 案した前記 P C T公開公報 WOZ 02Z 40224、 あるいは PCT/ JP02/ 13596に説明されているので、 これ以上の説明を省略する。
S 0 1 0から S 0 2 4までに示す処理を行って後、 S 0 2 6に進み、 定常旋回歩容の初期状態 (初期上体水平位置速度成分、 初期上体鉛直位 置速度、 初期発散成分、 初期上体姿勢角および角速度) を決定する。 S 0 2 6の詳細は、 P C T公開公報 WOZ 02Z 40224、 あるいは PCTZ JP02Z 13596 に説明しているので、 ここでは、 これ以上の説明を省略 する。
次いで、 S 0 2 8に進み、 今回歩容の歩容パラメータを決定 (一部仮 決定) する。 この場合、 決定される今回歩容の歩容パラメ一夕は、 定常 旋回歩容の歩容パラメ一夕と同様、 主に、 足平軌道パラメ一夕、 基準上 体姿勢軌道パラメ一夕、 腕姿勢軌道パラメ一夕、 目標 Z M P軌道パラメ 一夕、 目標床反力鉛直成分軌道パラメ一夕であり、 それぞれのパラメ一 夕により規定される軌道が、 定常旋回歩容の軌道に連続するように決定 される。 ただし、 これらのパラメータのうち、 目標 Z M P軌道パラメ一 夕は暫定的なものである。 この S 0 2 8の処理の詳細は、 前記 P C T公 開公報 WOZ 02Z 40224、 あるいは PCT/JP02Z 13596 号等に説明さ れているので、 ここではこれ以上の説明を省略する。
次いで S 0 3 0に進み、 今回歩容の終端発散成分が定常歩容の初期発 散成分に一致するように、 今回歩容の歩容パラメータを修正する。 ここ で修正される歩容パラメ一夕は、 目標 Z M P軌道パラメータである。
S 0 3 0において今回歩容パラメ一タを修正した後、 あるいは S 0 1 8の判断結果が N〇である場合には、 S 0 3 2に進み、 今回歩容瞬時値 を決定する。 この処理の詳細は、 前記 P C T公開公報 WO/ 02Z 40224, あるいは PCT/JP02/ 13596 号等に説明しているので、 ここでは、 こ れ以上の説明を省略する。
次いで S 0 3 4に進み、 P C T出願 PCTZ JP02Z 13596 号の実施形 態の S O 3 2の処理と同様、 スピン力をキャンセルするための腕振り動 作を決定する。
次いで S O 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 0 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が生成した目標上体姿勢 との差のうちの傾き成分、 すなわち実上体姿勢角偏差 0 errx , Θ erry が姿勢安定化制御演算部 2 1 2に送られる。 なお、 0 e rrx はロール方 向 (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によって修正された床反力の目標 値を発生させるために必要な足平の変形機構 (円柱状ゴム、 足底スポン ジおよび衝撃吸収用の袋状のエアダンパー) の変形量を変形機構の力学 モデル (ばねダンパーモデル等) を用いて求めて、 その変形量が発生す るように修正した、 目標足平位置姿勢 (軌道) である。
以下に、 第 1実施形態における S 0 1 6の自己位置姿勢推定処理につ いて、 そのフローチャートである図 1 0を用いて詳説する。 なお、 以下 に説明する第 1実施形態の自己位置姿勢推定処理は、 口ポッ ト 1の歩行 を行っている場合の処理である。
まず S 2 0 0 0において、 上体 3の傾斜センサ 5 4に備えたジャイロ センサの検出値、 すなわち上体 3の角速度 ( 3軸方向の角速度) の検出 値を積分器により積分して推定上体姿勢を求める。 この推定上体姿勢は グローバル座標系で記述される。 なお、 推定上体姿勢のうちの傾き成分 に関しては、 ジャイロセンサの検出値の積分誤差の蓄積 (ドリフト) を 抑制するために、 傾斜センサ 5 4に備えた加速度センサによつて検出さ れる重力方向を用いてドリフト補正が行われる。 具体的には、 加速度セ ンサの検出値から求められる重力方向に対する上体 3の相対角度と、 上 記推定上体姿勢のうちの傾きとの差を求め、 この差が 0に収束するよう に、 該差から P I制御則等のフィ一ドバック制御則により求めた値を、 ジャィ口センサ検出値を積分するための積分器に追加的に入力すること により、 補正が行われる。 この補正手法は公知であるので、 これ以上の 説明は省略する。
次いで S 2 0 0 2に進み、 ロボッ ト 1の着地が確定したか否かを判定 する。 この判定においては、 以下に列挙したいずれかの方法のように、 目標歩容の時期から判定しても良いし、 あるいは、 6軸力センサ 5 0 (床反力センサ) や加速度センサの検出値を基に判定しても良い。 ある いは、 それらの検出値や目標歩容の時期から総合的に判断しても良い。 a)片脚支持期が開始してから所定時間後の時点か否か。
b) 6軸力センサ 5 0 (床反力センサ) の検出値がある所定の値となつ てから所定時間が経過した時点か否か。
c)加速度センサの検出値がある所定の値となつてから所定時間が経過 した時点か否か。
ただし、 S 2 0 0 2の判定結果が Y E Sになった直後に、 極力、 着地 した足平 2 2が滑ったり、 再び床から離れることがないように、 着地瞬 間から適度な時間が経過した時点を着地が確定した時点とすることが好 ましい。 従って、 上記 a)〜c)の所定時間は、 このような条件を満たすよ うに設定することが好ましい。
S 2 0 0 2の判定結果が N Oである場合には、 以上をもって S 0 1 6 の自己位置推定処理を終了し、 前述のごとく図 9の S O 1 8に進む。
S 2 0 0 2の判定結果が Y E Sである場合には、 以下の処理を行う。 すなわち、 まず S 2 0 0 4に進み、 グロ一バル座標系から見た推定上体 姿勢と、 グローバル座標系から見た目標歩容の上体姿勢 (目標上体姿 勢) との差を姿勢回転偏差変化量として算出する。 なお、 グローバル座 標系から見た目標歩容の上体姿勢とは、 現在の推定支持脚座標系上で、 1歩の間、 上体 3の姿勢傾きやスピン (目標上体姿勢からのずれ) がな く口ポッ ト 1が目標歩容通りに運動したと仮定した場合のグローバル座 標系から見た上体姿勢のことである。 ただし、 推定支持脚座標系とは、 実際の口ポッ ト 1の支持脚足平 2 2の推定位置姿勢に対応した支持脚座 標系である。 すなわち、 推定支持脚座標系は、 前記した支持脚座標系の 定義によって、 より具体的には、 実際の口ポッ ト 1の支持脚足平 2 2を. その推定位置姿勢から、 接地面との間で滑らさないで水平まで回転させ た時の、 該支持脚の足首中心から接地面への垂直投影点を原点とし、 該 支持脚足平 2 2のつま先に向かう水平軸を X軸にとり、 鉛直軸を Z軸、 これらに直交する座標軸を Y軸にとった座標系である。 第 1実施形態に おいては、 後述するごとく推定支持脚座標系は、 着地が確定した時にの み更新されるので、 着地時の実際のロポッ トの支持脚足平 2 2の推定位 置姿勢に対応する支持脚座標系となる。 結局、 第 1実施形態においては 口ポッ ト 1の自己位置の推定値として推定支持脚座標系の位置姿勢が推 定される。
なお、 S 2 0 0 4において、 着地確定時における推定上体姿勢と目標 歩容の上体姿勢との差を姿勢回転偏差変化量として算出するようにした が、 厳密には、 1歩の間の期間における推定上体姿勢の変化量と目標歩 容の上体姿勢の変化量との差を姿勢回転偏差変化量として算出するのが 良い。 ただし、 第 1実施形態においては、 以下のアルゴリズムを実行す ることによって、 自動的に、 1歩の初めにおいて推定上体姿勢と目標歩 容の上体姿勢とは一致するので、 推定上体姿勢と目標歩容の上体姿勢と の差と、 1歩の間の期間における推定上体姿勢の変化量と目標歩容の上 体姿勢の変化量との差は同一となるので、 いずれの差を用いても構わな い。
次いで S 2 0 0 6に進み、 姿勢回転中心を決定する。 具体的には、 前 回歩容の目標 Z M Pのうち、 例えば前回歩容の後側の支持脚足平 2 2が つま先接地になった状態での目標 Z M Pを姿勢回転中心として決定する 次いで S 2 0 0 8に進み、 現在の推定支持脚座標系 (詳しくは前回歩 容の支持脚足平 2 2の着地確定時に決定された推定支持脚座標系で、 図 1 1 に示す滑りが発生する前の推定支持脚座標系) を、 前記姿勢回転偏 差変化量だけ、 S 2 0 0 6で決定した姿勢回転中心まわりに回転させた 位置 ·姿勢を改めて現在の推定支持脚座標系 (図 1 1に例示する滑りが 発生した後の推定支持脚座標系) と決定する。
なお、 推定支持脚座標系の原点および座標軸の向きは、 グローバル座 標系によって表されるものとする。
また、 S 0 1 0の初期化処理において、 推定支持脚座標系の初期値
(グロ一バル座標系での初期位置姿勢) がセッ トされているものとする ( 次いで S 2 0 1 0に進み、 現在の推定支持脚座標系に対する次回歩容 推定支持脚座標系の相対位置姿勢関係が目標歩容 (前回歩容) における 玄持脚座標系に対する次回歩容支持脚座標系の相対位置姿勢関係と同一 関係になるように、 次回歩容推定支持脚座標系 (図 1 1 に例示する次回 歩容推定支持脚座標系) を決定する。 なお、 ここで言う次回歩容支持脚 座標系は、 これから生成しょうとしている今回歩容に対する次回歩容支 持脚座標系ではなく、 前回歩容の次の歩容 (つまり今回歩容) の支持脚 座標系のことである。
次いで S 2 0 1 2に進み、 S 2 0 1 0で決定した次回歩容推定支持脚 座標系の位置姿勢 (原点の位置及び座標軸の向き) を現在の推定支持脚 座標系の位置姿勢に代入する。 以上をもって S 0 1 6の自己位置推定処 理を終了し、 前述のごとく S 0 1 8に進む。
以上が、 第 1実施形態における S 0 1 6の自己位置推定処理である。 推定支持脚座標系の回転中心は、 空中期のない通常の歩行においては. 支持脚足平 2 2の滑り回転の回転中心を意味する。 なお、 走りなど、 1 歩の途中に支持脚も床から離れている空中期においては、 狭義の意味で は支持脚足平 2 2の滑りが存在するわけではないので、 空中での姿勢回 転 (あるいはスピン) は、 推定支持脚座標系の回転中心まわりの回転で 表現するのが望ましい。 しかし、 広義の意味で 「支持脚足平の滑り」 を 推定支持脚座標系の回転中心まわりの姿勢回転と定義しても良いことで ある。
補足すると、 支持脚座標系は、 支持脚足平 2 2の接地面に対して設定 するもので、 その原点は、 前述のように支持脚の足首中心から接地面へ の垂直投影点にしなくても良い。 すなわち、 支持脚座標系は、 ロボッ ト の運動を記述するための支持脚足平 2 2の近傍の仮想の床に設定された ローカル座標系である。 結局、 口ポッ ト 1 の姿勢回転 (あるいはスピ ン) 現象は、 口ポッ ト 1が前記仮想の床上で相対的には姿勢回転 (ある いはスピン) しないで運動している状態を保ったまま、 口ポッ ト 1 ごと 前記仮想の床を、 グローバル座標系のなかである所定の点を回転中心と して姿勢回転 (あるいはスピン) させた現象とみなされる。 さらに言い替えると、 口ポッ ト 1の運動は、 ローカル座標系において 目標歩容あるいは関節変位検出値に従って運動しているロボッ ト 1の全 体が、 ローカル座標系ごと、 グロ一バル座標系に対して、 ある所定の点 (姿勢回転中心) を回転中心として摂動回転をしているとみなすことが できる。
したがって、 姿勢回転中心は、 推定支持脚座標系の回転中心であり、 また、 前記摂動回転の回転中心であるとも言える。
第 1実施形態の S 2 0 0 8において、 上体 3の姿勢の傾斜成分の差も 含めて、 現在推定支持脚座標系を前記姿勢回転偏差変化量だけ回転させ ると、 一般的には、 現在推定支持脚座標系の Z軸は鉛直方向を向かなく なる。
本実施形態では、 現在推定支持脚座標系は、 着地毎にしか更新されな いので、 着地瞬間の上体姿勢によって現在推定支持脚座標系が傾いたま まであることは、 好ましいことではない。 したがって、 現在推定支持脚 座標系は、 Z軸の向きが鉛直方向になるように決定されるべきである。 そこで、 第 1実施形態では、 S 2 0 0 8において、 現在の推定支持脚座 標系を回転させた後に、 その回転後の現在の推定支持脚座標系の Z軸の 向きを鉛直方向に戻す。 具体的には、 回転後の現在の推定支持脚座標系 を、 その Z軸の鉛直方向に対する傾斜角度分だけ、 該推定支持脚座標系 の原点回りに回転させることで、 該推定支持脚座標系の Z軸の向きを鉛 直方向に戻す。 あるいは、 S 2 0 0 8において、 現在の推定支持脚座標 系を、 前記姿勢回転偏差変化量だけ回転させる代わりに、 この姿勢回転 偏差変化量のうちの鉛直軸まわり成分 (スピン成分) だけ回転させても 良い。 または、 S 2 0 1 0において、 次回歩容推定支持脚座標系の Z軸 の向きを鉛直方向に戻しても良い。
以降、 第 2実施形態までは、 同様に、 現在推定支持脚座標系は、 Z軸 の向きが鉛直方向になるように決定するのが良い。 第 3実施形態以降に おいても、 スピンによる自己位置ずれを重視するならば、 同様にしても 良い。
上記のごとく、 第 1実施形態においては、 実際の口ポッ ト 1の挙動を. 口ポッ ト 1の運動を記述するローカル座標系である推定支持脚座標系上 で目標歩容通りに運動しているロポッ ト 1が、 姿勢検出手段 (S 2 0 0 0の処理) によって得られた上体 3の姿勢 (実姿勢の推定値) と上体 3 の目標姿勢との差の 1歩の間の変化量としての前記姿勢回転偏差変化量 (あるいは該姿勢回転偏差変化量の鉛直軸回り成分) の分だけ、 姿勢回 転中心決定手段 ( S 2 0 0 6の処理) によって決定された所定の姿勢回 転中心まわりに、 前記推定支持脚座標系と共に、 回転したものであると みなして、 着地時の遊脚足平 2 2の位置姿勢に応じた新たな推定支持脚 座標系の位置姿勢、 すなわち足平 2 2の着地点の位置及び向き、 さらに 言い換えると足跡 (foot print) が、 1歩毎 (着地毎) に推定される。
なお、 以上説明した第 1実施形態は、 本発明の第 1発明〜第 5発明、 並びに、 第 7、 第 8発明に対応するものである。
次に、 本発明の第 2実施形態を図 1 2及び図 1 3を参照して説明する, なお、 第 2実施形態は、 前記図 9の S 0 1 6の自己位置姿勢推定処理の みが第 1実施形態と相違し、 これ以外の構成及び制御ュニッ ト 6 0の処 理は、 第 1実施形態と同じである。
図 1 2は第 2実施形態での自己位置姿勢推定処理を示すフローチヤ一 トである。 なお、 以下に説明する第 2実施形態の自己位置推定処理は、 ロボッ ト 1の歩行を行っている場合の処理である。
以下説明すると、 まず S 2 1 0 0において、 第 1実施形態と同様、 上 体 3の傾斜センサ 5 4に備えたジャイロセンサの検出値 (角速度検出 値) を積分器により積分して推定上体姿勢を求める。 次いで S 2 1 0 2 に進み、 第 1実施形態と同様、 着地が確定したか否かを判定する。
S 2 1 0 2の判定結果が N 0である場合には、 以上をもって図 9の S
0 1 6の自己位置推定処理を終了し、 前述のごとく S 0 1 8に進む。
S 2 1 0 2の判定結果が Y E Sである場合には、 以下の処理を行う。 すなわち、 まず S 2 1 0 4に進み、 第 1実施形態と同様、 グローバル座 標系から見た推定上体姿勢とグロ一バル座標系から見た目標歩容の上体 姿勢との差を姿勢回転偏差変化量として算出する。
次いで S 2 1 0 6に進み、 第 1実施形態と同様、 姿勢回転中心を決定 する。
次いで S 2 1 0 8に進み、 第 1実施形態と同様、 現在の推定支持脚座 標系を、 前記姿勢回転偏差変化量だけ、 前記姿勢回転中心まわりに回転 させた位置 · 姿勢を改めて現在の推定支持脚座標系と決定する。 図 1 3 に、 回転させる前の現在推定支持脚座標系と回転させた後の現在推定支 持脚座標系とを例示する。
次いで S 2 1 1 0に進み、 少なくとも関節変位検出値を基にキネマテ イクス演算によって、 現在の推定支持脚座標系における着地時の実遊脚 足平位置 ·姿勢 (図 1 3の例ではロポッ ト 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 3に示すロボ ッ ト 1の姿のように、 現在の推定支持脚座標系において上体姿勢を目標 上体姿勢とし、 関節変位を関節変位検出値 (第 j 関節変位検出値 0 j 、 j = l , 2 、 とし、 変形機構の変形量を床反力検出値を基に推定した 変形量とした場合の全体姿 (その瞬間の口ポッ ト 1の全体の姿) を求め, この全体姿における支持脚 (図 1 3ではロポッ ト 1の後ろ側の脚体 2 ) に対する遊脚足平位置姿勢を求め、 これをもって推定着地時遊脚足平位 置姿勢とするようにしても良い。 また、 モー夕電流指令あるいは検出値 を基に外乱オブザーバを用いて、 減速機ゃリンクに作用する負荷を推定 し、 推定した負荷を基に前記減速機やリンクの変形を推定して、 前記減 速機やリンクの変形を含めて (考慮して)、 推定着地時遊脚足平位置姿 勢を求めるようにしても良い。
または、 少なく とも目標歩容の関節変位とコンプライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参照のこと) を基に キネマティクス演算によって推定着地時遊脚足平位置姿勢を求めるよう にしても良い。
これらにより、 より一層精度良く推定着地時遊脚足平位置姿勢を求め ることができる。
次いで S 2 1 1 2に進み、 前記推定着地時遊脚足平位置姿勢を基に、 図 1 3に示すように、 現在推定支持脚座標系に対する次回歩容推定支持 脚座標系の相対位置 ·姿勢を求める。 なお、 推定着地時遊脚足平位置姿 勢、 すなわち次回歩容の支持脚足平 2 2の位置姿勢と、 次回歩容推定支 持脚座標系の位置姿勢の対応関係は、 前述のごとく支持脚足平 2 2と支 持脚座標系との対応関係と同一にする。
次いで S 2 1 1 4に進み、 図 1 3に示すように、 回転させた後の現在 推定支持脚座標系に対する次回歩容推定支持脚座標系の相対位置 ·姿勢 と、 グローバル座標系から見た、 回転させた後の現在推定支持脚座標系 の位置姿勢とを基に、 グローバル座標系から見た次回歩容推定支持脚座 標系の位置姿勢を求める。
次いで S 2 1 1 6に進み、 上記の如く求めた次回歩容推定支持脚座標 系の位置姿勢を現在の推定支持脚座標系の位置姿勢に代入する。 以上を もって図 9の S O 1 6の自己位置推定処理を終了し、 前述のごとく S 0 1 8に進む。
上記のごとく、 第 2実施形態においては、 実際の口ポッ ト 1の挙動を 口ポッ ト 1の運動を記述するローカル座標系である推定支持脚座標系上 で、 目標歩容通りの上体姿勢を維持しつつ、 少なくとも関節変位検出値 の通りに運動しているロボッ ト 1が、 1歩の間に、 姿勢検出手段 (S 2 1 0 0の処理) によって得られた上体 3の姿勢 (実姿勢の推定値) と上 体 3の目標姿勢との差の 1歩の間の変化量としての前記姿勢回転偏差変 化量だけ、 姿勢回転中心決定手段 (S 2 1 0 6の処理) によって決定さ れた所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共に、 回転 したものであるとみなして、 着地時の遊脚位置姿勢に応じた新たな推定 支持脚座標系の位置姿勢、 すなわち足平 2 2の着地点の位置及び向き、 さらに言い換えると足跡 (foot print) が、 1歩毎 (着地毎) に推定さ れる。
なお、 以上説明した第 2実施形態は、 本発明の第 1〜第 5発明及び第
7〜第 9発明に対応するものである。
次に本発明の第 3実施形態を図 1 4及び図 1 5を参照して説明する。 なお、 第 3実施形態は、 前記図 9の S 0 1 6の自己位置姿勢推定処理の みが第 1実施形態と相違し、 これ以外の構成及び制御ュニット 6 0の処 理は、 第 1実施形態と同じである。
図 1 4は、 第 3実施形態における図 9の S 0 1 6の自己位置推定処理 のフローチヤ一卜である。
第 3実施形態においては、 第 1、 第 2実施形態と異なり、 制御周期毎 に、 推定支持脚座標系の姿勢回転 (またはスピン) を推定し、 推定支持 脚座標系を更新するようにした。 また、 制御周期毎の各瞬間における上 体姿勢を推定すると共に、 さらに上体位置 (厳密には上体の代表点の位 置) も推定するようにした。
詳細を説明すると、 まず、 S 2 2 0 0において、 第 1実施形態と同様. 推定上体姿勢を求める。
次いで S 2 2 0 2に進み、 制御周期の間におけるグロ一バル座標系か ら見た推定上体姿勢の変化量と、 該制御周期の間におけるグローバル座 標系から見た目標歩容の上体姿勢の変化量との差を姿勢回転偏差変化量 としてを算出する。 すなわち、 前記第 1、 第 2実施形態では、 1歩の期 間における推定上体姿勢の変化量と目標歩容の上体姿勢の変化量との差 を姿勢回転偏差変化量として求めたが、 第 3実施形態では、 制御周期毎 の両変化量の差を姿勢回転偏差変化量として求める。
次いで S 2 2 0 4に進み、 第 1実施形態と同様、 姿勢回転中心を決定 する。 具体的には、 その瞬間の目標 Z M P (目標 Z M Pの現在値) を姿 勢回転中心とする。
次いで S 2 2 0 6に進み、 現在の推定支持脚座標系 (前回の制御周期 で決定された推定支持脚座標系で、 図 1 5に示す時刻 t 一 Δ tにおける 推定支持脚座標系) を、 前記姿勢回転偏差変化量だけ、 前記姿勢回転中 心まわりに回転させた位置 ·姿勢を改めて現在の推定支持脚座標系 (図 1 5に示す時刻 t における推定支持脚座標系) と決定する。 回転のさせ 方は第 1実施形態と同様である。
次いで S 2 2 0 8に進み、 着地時刻であるか否か、 すなわち歩容の切 り替わり目であるか否かを判定する。
S 2 2 0 8の判定結果が Y E Sである場合には、 以下の処理を行う。 すなわち、 まず S 2 2 1 0に進み、 第 1実施形態と同様、 現在の推定支 持脚座標系に対する次回歩容推定支持脚座標系の相対位置姿勢関係が、 目標歩容 (前回歩容) における支持脚座標系に対する次回歩容支持脚座 標系の相対位置姿勢関係と同一関係になるように、 次回歩容推定支持脚 座標系を決定する。
次いで S 2 2 1 2に進み、 第 1実施形態と同様、 次回歩容推定支持脚 座標系の位置姿勢を現在の推定支持脚座標系の位置姿勢に代入する。
S 2 2 1 2の後、 あるいは S 2 2 0 8において否定された場合には、 S 2 2 1 4に進み、 現在の推定支持脚座標系の位置姿勢に対応して推定 上体位置を決定する。 ただし、 現在の推定支持脚座標系に対する推定上 体位置の関係は、 目標歩容 (前回の制御周期で決定された目標歩容) の 支持脚座標系に対する上体位置の関係に一致させる。 以上をもって S 0 1 6の自己位置推定処理を終了し、 前述のごとく S 0 1 8に進む。
上記のごとく、 第 3実施形態においては、 実際のロボッ トの挙動を、 ロボッ トの運動を記述する口一カル座標系である推定支持脚座標系上で 目標歩容通りに運動している口ポッ ト 1が、 各瞬間に、 姿勢検出手段 ( S 2 2 0 0の処理) によって得られた上体姿勢の変化量 (変化速度) と目標歩容の上体姿勢の変化量 (変化速度) との差としての姿勢回転偏 差変化量で、 姿勢回転中心決定手段 (S 2 2 0 4の処理) によって決定 されたその瞬間の所定の姿勢回転中心まわりに、 前記推定支持脚座標系 と共に、 回転したものであるとみなす。 そして、 その上で、 新たな推定 支持脚座標系と推定上体位置とが各瞬間 (制御周期毎) に決定 (更新) されるとともに、 着地時には、 遊脚位置姿勢に応じた新たな推定支持脚 座標系の位置姿勢、 すなわち新たな着地点の位置と向き、 さらに言い換 えると新たな足跡 (foot print) が、 1歩毎 (着地毎) に推定される。 なお、 本実施形態は、 口ポッ ト 1の歩行を行う場合だけでなく、 ロボ ッ ト 1の走行を行う場合でもよい。 但し、 走行を行う場合に S 2 2 0 4 で姿勢回転中心を決定するときには、 片脚支持期では、 姿勢回転中心を 各瞬間 (現在) の目標 Z M Pとすればよいが、 ロボッ ト 1の両脚体 2 , 2が空中に浮く空中期では、 姿勢回転中心を、 各瞬間 (現在) の目標歩 容における口ポッ ト 1の重心の位置に決定する。
また、 口ポッ ト 1の歩行を行なう場合には、 S 2 2 1 4においては、 少なくとも現在の推定支持脚座標系と関節変位検出値とを基に、 S 2 1 1 0において推定着地時遊脚足平位置姿勢を求めた手法と同様の手法で 支持脚座標系に対する上体位置を求め、 この位置関係に、 推定支持脚座 標系に対する推定上体位置が一致するように、 推定上体位置を求めても 良い。 この場合、 推定上体位置、 推定支持脚座標系および関節変位検出 値の関係は、 図 1 3に示すようになる。
または、 少なく とも目標歩容の関節変位とコンプライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参照のこと) を基に. キネマティクス演算によって支持脚座標系に対する上体位置 ·姿勢を求 め、 これに推定支持脚座標系に対する推定上体位置姿勢の関係を一致さ せても良い。
これらにより、 より一層精度良く推定上体位置姿勢を決定することが できる。
また、 口ポッ ト 1の歩行を行なう場合には、 S 2 2 1 0の代わりに、 第 2実施形態における図 1 2の S 2 1 1 0から S 2 1 1 4の処理を実行 しても良い。 これにより、 より一層精度良く、 着地時の推定支持脚座標 系を決定することができる。
またさらに、 S 2 2 1 0の代わりに、 第 2実施形態における S 2 1 1 0から S 2 1 1 4の処理を実行すると共に、 S 2 2 1 4において、 上記 のごとく少なく とも関節変位検出値を基にキネマティクス演算によって 推定上体位置 · 姿勢を求めても良い。 このとき、 前記第 2実施形態で説 明した如く、 床反力検出値を基に、 足平 2 2の変形量を考慮して、 推定 着地時遊脚足平位置姿勢を求め、 これを用いて次回歩容推定支持脚座標 系を決定するようにすることがより好ましい。
言い換えると、 実際の口ポッ トの挙動を、 口ポッ トの運動を記述する ローカル座標系である推定支持脚座標系上で、 目標歩容通りの上体姿勢 を維持しつつ、 少なく とも関節変位検出値の通りに運動しているロボッ トが、 各瞬間 (各制御周期) に、 姿勢検出手段 (S 2 2 0 0の処理) に よって得られた上体姿勢の変化量 (制御周期当たりの変化量でこれは変 化速度に相当する) と目標歩容の上体姿勢の変化量 (制御周期当たりの 変化量でこれは変化速度に相当する) との差としての姿勢回転偏差変化 量で、 姿勢回転中心決定手段 (S 2 2 0 4の処理) によって決定された その瞬間の所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共に- 回転したものであるとみなす。 そして、 その上で各瞬間に (制御周期毎 に) 新たな推定支持脚座標系と推定上体位置を決定 (更新) するととも に、 着地時には、 遊脚位置姿勢に応じた新たな推定支持脚座標系の位置 姿勢、 すなわち新たな着地点の位置と向き、 さらに言い換えると新たな 足跡 (foot print) が、 1歩毎 (着地毎) に推定されるようにしても良 い。
これにより、 より一層精度良く、 着地時の推定支持脚座標系を決定す ることができるとともに、 推定上体位置姿勢が不連続になることを防止 することができる。
なお、 以上説明した第 3実施形態は、 本発明の第 1〜第 6発明、 並び に、 第 8、 第 9発明に対応するものである。
次に本発明の第 4実施形態を図 1 6〜図 1 9を参照して説明する。 な お、 図 9の S 0 1 6の自己位置姿勢推定処理のみが前記第 1実施形態と 相違し、 これ以外の構成及び制御ユニッ ト 6 0の処理は、 第 1実施形態 と同じである。
前記第 3実施形態の如く決定された推定上体位置を、 以降、 「幾何学 的推定上体位置」 という。 幾何学的推定上体位置は、 グロ一バル座標系 から見た位置である。
一方、 加速度センサとジャイロセンサの検出値を基に、 公知の技術で ある慣性航法によって推定されるグロ一バル座標系から見た上体の位 置 · 姿勢を慣性航法的推定上体位置姿勢と呼ぶ。 なお、 第 3実施形態の S 2 2 0 0で求められる推定上体姿勢は、 慣性航法的推定上体姿勢であ る。
幾何学的推定上体位置は、 前記第 3実施形態で説明した如く、 床を基 準にして幾何学的に推定される上体位置であるので、 走行などの空中期 においては、 推定精度が低下し易い。
一方、 慣性航法的推定上体位置姿勢は、 歩行、 走行を問わず、 片脚支 持脚期、 両脚支持期および空中期のいずれの時期においても、 推定原理 が同一であるので、 いかなる時期においても短期的な精度が低下するこ とはないが、 積分が用いられるため、 長期的なドリフトが発生しやすい, これらの特性を考慮し、 第 4実施形態は、 慣性航法的推定上体位置姿 勢を幾何学的推定上体位置で補正するようにした。
また、 幾何学的推定上体位置及び推定上体姿勢の運動から算出される 口ポッ ト 1の運動加速度と、 加速度センサの検出値とを用いて、 ジャィ 口センサの検出ドリフトを補正すると共に、 推定上体姿勢のうちの傾き 成分のドリフトを補正するようにした。 さらに、 状況によって、 ジャィ 口センサの検出値のョー方向のドリフト補正も行うようにした。
図 1 6は、 第 4実施形態における図 9の S 0 1 6の自己位置推定処理 のフローチャート、 図 1 7は、 同推定処理のブロック図である。
図 1 6および図 1 7を用いて、 第 4実施形態における図 9の S 0 1 6 の自己位置推定処理を説明すると、 まず図 1 6の S 2 3 0 0において、 ジャイロセンサの検出値を積分して推定上体姿勢を求める。 ただし、 前 制御周期 (前回以前の制御周期) に求めた幾何学的推定上体位置の運動 から算出される運動加速度と、 加速度センサの検出値を用いて、 ジャィ 口センサの検出ドリフトを補正することで、 推定上体姿勢のうちの傾き 成分のドリフ卜を補正する。
S 2 3 0 0の処理を詳説すると、 まず、 前回の制御周期およびそれ以 前に、 後述する S 2 3 0 2において決定した幾何学的推定上体位置の運 動を基に、 幾何学的推定上体位置の 2階微分である幾何学的推定上体加 速度を算出する。 この処理は、 図 1 7のブロック 3 0 1で実行される。 なお、 幾何学的推定上体位置を求める処理は、 図 1 7のブロック 3 0 0 で実行される。 補足すると、 上体代表点と加速度センサの位置が一致し ていれば、 幾何学的推定上体加速度 (厳密には、 幾何学的に推定される 上体 3の中の加速度センサ位置の加速度) を算出する上で、 推定上体姿 勢は必要ない。
次いで、 加速度センサ検出値 (上体加速度検出値) を、 推定上体姿勢 を用いてグロ一バル座標系に変換してなる加速度センサ検出値グロ一バ ル座標系換算値を求める。 この処理は、 図 1 7のブロック 3 0 2で実行 される。 なお、 説明を簡単にするために、 ここでは、 加速度センサの位 置と上体代表点の位置は一致しているものとする。 異なる場合には、 キ ネマティクス演算によって、 加速度センサ検出値およびジャィ口センサ 検出値を上体代表点における加速度 · 角速度に変換するか、 あるいは、 上体代表点における加速度 · 角速度を加速度センサの位置における加速 度、 ジャィ口センサの位置における角速度に変換すれば良い。
次いで、 図 1 8 ( a ) および図 1 8 ( b ) に示すように、 加速度セン サ検出値グローバル座標系換算値から幾何学的推定上体加速度を減じる (ベク トルの減算を行う) ことにより、 推定重力加速度を求める。 加速 度センサ検出値グローバル座標系換算値には、 加速度センサに作用する 重力による加速度成分が含まれるが、 幾何学的推定上体加速度には、 重 力による加速度成分が含まれない。 従って、 加速度センサ検出値グロ一 バル座標系換算値から幾何学的推定上体加速度を減じることで、 推定重 力加速度が求められる。 この処理は、 図 1 7のブロック 3 0 3で実行さ れる。 なお、 図 1 8 ( a ) は、 推定上体姿勢に誤差がない場合、 図 1 8 ( b ) は、 推定上体姿勢に誤差 (以降、 これを推定上体姿勢誤差、 ある いは推定上体姿勢誤差角度と呼ぶ) がある場合を示す。
一方、 図 1 8 ( a ) および図 1 8 ( b ) に示すように、 推定上体姿勢 を基に口ポッ ト 1が推定したグローバル座標系の鉛直方向 (Z軸方向) に発生すると想定される重力加速度を想定重力加速度と呼ぶ。
前述したように、 幾何学的推定上体加速度はグローバル座標系で記述 される。 また、 実際の口ポッ ト 1は、 推定上体姿勢が実際の上体姿勢を 正しく推定しているとみなした上で、 目標歩容に追従するように運動し ている。 言い換えると、 推定上体位置姿勢を基に推定されるグローバル 座標系が正しいとみなした上で、 前記推定されたグローバル座標系上で 目標歩容に追従するように運動している。 より厳密に表現するならば、 口ポッ ト 1の自己位置姿勢推定処理においては、 推定上体位置姿勢を基 に推定されるグロ一バル座標系が正しいと信じ、 実際のロポッ ト 1の挙 動を、 正しいと信じているグローバル座標系に設定されるロー力ル座標 系である推定支持脚座標系上で目標歩容通りに運動しているロポッ ト 1 が、 各瞬間に、 姿勢検出手段によって得られた (検出あるいは推定され た) 上体姿勢の変化速度と目標歩容の上体姿勢変化速度の差としての姿 勢回転偏差変化量で、 姿勢回転中心決定手段によって決定されたその瞬 間の所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共に、 回転 したものであるとみなしている。
したがって、 推定上体姿勢が正しく、 かつ加速度センサの検出値に誤 差がなければ、 図 1 8 ( a ) に示すように、 前記想定重力加速度と前記 推定重力加速度とは一致する。
これに対し、 加速度センサの検出値に誤差がなくても、 推定上体姿勢 に誤差があれば、 図 1 8 ( b ) に示すように、 前記想定重力加速度の向 きと前記推定重力加速度の向きとには、 推定上体姿勢誤差角度だけずれ が生じる。 すなわち、 式 4 2が成立する。 推定上体姿勢誤差角度 = 想定重力加速度と推定重力加速度との間 の角度
…式 4 2 図 1 8 ( a ) および図 1 8 ( b ) に示すように、 推定重力加速度と想 定重力加速度との差を重力加速度推定誤差と呼ぶと、 上記の関係から、 重力加速度推定誤差は、 加速度センサの検出値に誤差がなければ、 推定 上体姿勢の誤差によって発生し、 推定上体姿勢を基にロポッ ト 1が推定 したグローバル座標系から見た重力加速度推定誤差の水平成分 (推定重 力加速度の想定重力加速度に直交する成分) と推定上体姿勢誤差角度と には、 式 4 3の関係があることがわかる。 ただし、 式 4 3は、 重力加速 度推定誤差の前後方向成分 (X成分) と推定上体姿勢誤差角度 Y軸まわ り成分との関係を表す。 重力加速度推定誤差の左右方向成分 (Y成分) と推定上体姿勢誤差角度 X軸まわり成分の関係を表す場合においては、 右辺のマイナス記号を削除すれば良い。 ここで、 重力加速度は、 正であ る。
重力加速度推定誤差の水平成分
= - tan( 推定上体姿勢誤差角度 )*重力加速度
…式 4 3 本実施形態においては、 式 4 2あるいは式 4 3から算出される推定上 体姿勢誤差角度を用いて、 推定上体姿勢誤差が 0に収束するように推定 上体姿勢を補正するようにした。
S 2 3 0 0の説明に戻ると、 式 4 2を用いて、 現在の瞬間 (厳密には. 1制御周期前の瞬間) における想定重力加速度と推定重力加速度との間 の角度から推定上体姿勢誤差角度を算出する。 あるいは、 式 4 3を用い て、 現在の瞬間 (厳密には、 1制御周期前の瞬間) における重力加速度 推定誤差の水平成分から推定上体姿勢誤差角度を算出しても良い。 推定 上体姿勢誤差角度の算出処理は、 図 1 7のブロック 3 0 4で実行される, 次いで、 前記推定上体姿勢誤差角度を、 図 1 7のブロック 3 0 5にて センサ座標系 (座標軸をジャイロセンサの検出軸に合わせた座標系) に 変換した後、 ブロック 3 0 6にて、 その変換後の値に積分ゲイン Ka を 乗じた値を積分することにより、 推定ジャイロセンサドリフト (ジャィ 口センサのドリフ トの推定値) を求める。 さらに、 この推定ジャイロセ ンサドリフトを、 ブロック 3 0 7にて、 ジャィ口センサ検出値 co in (上 体角速度検出値) から減じることにより、 ドリフトを補正した角速度を 求める。 なお、 ブロック 3 0 7では、 ョーレートのドリフトも適宜減算 されるが、 これについては後述する。 さらに、 このドリフトを補正した 角速度を、 ブロック 3 5 0にて、 推定上体姿勢を用いてグローバル座標 系に変換することにより、 グローバル上体角速度 co glを求める。
次いで、 前記推定上体姿勢誤差角度にゲイン Kb を図 1 7のブロック 3 0 9で乗じた値をブロック 3 0 8にてグロ一バル上体角速度 o gl か ら減じ、 その減算後の値 (ブロック 3 0 8の出力) をブロック 3 1 0 (積分器) で積分することにより新たな推定上体姿勢 6> e stm を求める, なお、 推定上体姿勢 0 estm や角速度などは、 クォータ二オン、 回転 行列、 あるいはオイラー角などで表現される。
ジャイロセンサのドリフト (推定ジャイロセンサドリフト) を上記の ごとき構成により推定する場合、 推定が効果的に働くためには、 推定上 体姿勢誤差角度のセンサ座標系への変換値 (ベク トル) のそれぞれの要 素 (それぞれのセンサ検出軸まわりの推定上体姿勢誤差角度、 言い換え るとセンサローカル推定上体姿勢誤差角度) が、 その要素に対応するジ ャイロセンサのドリフ 卜の影響のみを受けて、 他のジャイロセンサのド リフ トの影響を受けない、 あるいは、 ほとんど受けないことが前提条件 となる。
言い換えると、 推定上体姿勢誤差角度の X ( Y ) 軸まわり成分の誤差 は、 X ( Y ) 軸用ジャイ ロセンサの ドリ フ トの影響を受けるが、 Y ( X ) 軸用ジャイロセンサのドリフ トの影響を受けないことが前提条件 となる。
もし、 X軸用ジャイロセンサのドリフ トの影響により、 推定上体姿勢 誤差角度の X軸まわり成分が発生した後、 上体をセンサ座標系の Z軸ま わりに急に 9 0度回転させると、 推定上体姿勢誤差角度は、 グローバル 座標系において蓄積されたままであるので、 結果的に推定上体姿勢誤差 角度のセンサ口一カル X軸まわり成分が、 推定上体姿勢誤差角度のセン サローカル Y軸まわり成分に移る。 したがって、 前記前提条件が成立す るためには、 センサ座標系 Z軸まわりの回転速度の絶対値が十分に小さ いことが必要条件となる。
よって、 Z軸 (上体の上下方向軸) 用ジャイロセンサ検出値の絶対値 が大きい時には、 積分ゲイン Ka を小さくするか、 あるいは 0にする (すなわちジャィ口センサのドリフト補正を行わない) ようにするのが 望ましい。
また、 通常、 口ポッ ト 1の移動時や作業時には、 上体 3の上下軸 (体 幹軸) は鉛直姿勢あるいはその近傍の姿勢になっているので、 ジャイロ センサの角速度検出値をグローバル座標系に変換したグローバル上体角 速度 c glz は、 Z軸用ジャイロセンサの角速度検出値の値に近い値とな る。
よって、 図 1 9に示すように、 ジャイロセンサの角速度検出値をグロ —バル座標系に変換したグローバル上体角速度の鉛直軸まわり角速度 ω glz の絶対値が大きい時には、 積分ゲイン Ka を小さくするか、 あるい は 0にする (すなわちジャイロセンサのドリフ ト補正を行わない) よう にしても良い。
また、 ジャイロセンサの角速度検出値の代わりに、 上体 3の目標歩容 の上体回転速度の鉛直軸まわり成分あるいは上体 3の上下方向軸まわり 成分の絶対値が大きい時には、 積分ゲイン Ka を小さくするか、 あるい は 0にする (すなわちジャイロセンサのドリフト補正を行わない) よう にしても良い。
以上をまとめて言い換えると、 ジャィ口センサの角速度検出値および 目標歩容の少なく ともいずれかを基に求められる上体回転速度の鉛直軸 まわり成分あるいは上体 3の上下方向軸まわり成分の絶対値が大きい時 には、 積分ゲイン Ka を小さくするか、 あるいは 0にする (すなわちジ ャイロセンサのドリフト補正を行わない) と良い。
また、 加速度センサ検出値グロ一バル座標系換算値から想定重力加速 度を減じた値の絶対値あるいは、 幾何学的推定上体加速度の絶対値が大 きい場合には、 センサの検出誤差や口ポッ ト 1本体の剛性不足などによ り、 推定重力加速度の誤差が大きくなる傾向があるので、 上記ゲイン
Kaを小さく、 あるいは 0に設定するのが良い。
また、 前述したごとく、 実際の口ポッ ト 1は、 推定上体位置姿勢を基 に推定されるグロ一バル座標系が正しいとみなした上で、 前記推定され たグロ一バル座標系上で目標歩容に追従するように運動している。 した がって、 支持脚が接地している状態においては、 推定上体姿勢に大きな 誤差があっても、 実際の上体加速度は、 実際の重力加速度に支配されず. 前記推定されたグローバル座標系上での幾何学的推定上体加速度に、 ほ ぼ一致する。 一方、 空中期においては、 実際の上体加速度は、 実際の重 力加速度に支配されて加速するので、 前記推定されたグローバル座標系 上での幾何学的推定上体加速度の方向と大きくずれ、 図 1 8 ( b ) の関 係が成立しなくなる。 したがって、 空中期においては、 幾何学的推定上 体位置の精度は、 比較的高精度の加速度センサとジャィ口センサを基に 慣性航法によって求めた上体位置の精度よりも低下しがちとなる。 した がって、 空中期においても、 上記ゲイン Ka を小さく、 あるいは 0に設 定するのが良い。
また、 前述のように足平 2 2の変形を考慮して上体位置を推定する場 合には、 空中期でなくとも、 脚体先端部の足平 2 2が床と良好に接触し ていない状態では、 足底付近の変形量推定の誤差が大きくなる傾向があ るので、 幾何学的推定上体加速度の精度は低下する。 したがって、 支持 脚の足平 2 2と床との間の接触面積が小さい場合にも、 上記ゲイン Ka を小さく、 あるいは 0に設定するのが良い。
なお、 脚体 2の足平 2 2が床と良好に接触している状態とは、 具体的 には、 以下のような状態の少なくともいずれかが満足する状態、 あるい は以下のうちの複数が同時に満足する状態を指す。
a)足平 2 2の底面と床との間の接触面積が大きい状態、 例えば、 足平 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 と同様に設定する ことが好ましい。
本実施形態での S 2 3 0 0においては、 以上の処理の他に、 以下のよ うに、 状況によりョ一レート補正 (ョ一方向のドリフト補正) も行われ る。
すなわち、 まず、 ョ一レート補正を行うか否かを、 図 1 7のブロック 3 1 1で判定する。
具体的には、 以下の条件の少なくともいずれかひとつあるいは複数を 判断条件として用意し、 この判断条件を満足している場合には、 ョーレ 一卜補正を行うと判断する。
a)検出された床反力の鉛直軸まわりモーメント (あるいはその微分値) の絶対値がある所定の値以内である状況
b)目標動作がほぼ静止である状況 c)足底と床の間の接触状況が良好で滑りが生じていないと考えられる状 況
d)目標歩容の姿勢角速度とジャイロ検出値 (姿勢角速度検出値) の差の 絶対値がある所定の値以内である状況
e)目標歩容の姿勢角速度の絶対値がある所定の値以内である状況 f)ジャイロ検出値 (姿勢角速度検出値) の絶対値がある所定の値以内で ある状況
基本的には、 支持脚足平 2 2と床との接地面で滑り (回転滑り) が生 じないかもしくは生じ難いという状況で、 ョーレ一ト補正を行うと判断 する。
なお、 d ) および f ) におけるジャイロ検出値は、 ジャイロセンサの 検出値そのもの (ジャィ口センサの生の出力そのものが表す姿勢角速度 検出値) をョ一レート補正した値であることが望ましい。
次いで、 ョ一レート補正を行うと判定された場合には、 図 1 7に示す ように、 ブロック 3 1 2にて、 目標歩容、 目標上体姿勢、 目標関節変位 あるいは関節変位検出値の少なくともいずれかと最新の着地時に記憶し た推定支持脚座標系 (以降、 着地時推定支持脚座標系と呼ぶ) を基に、 推定支持脚座標系に対応する足平 2 2と床との間に滑りが生じていない と想定した場合の上体姿勢 (以降、 滑りなし推定上体姿勢と呼ぶ) を算 出する。 そして、 前記推定上体姿勢と前記滑りなし推定上体姿勢との差 をブロック 3 1 3で求め、 この差をブロック 3 1 4でセンサ座標系に変 換したものを、 フィ一ドバック制御則のプロック 3 1 5に入力すること で、 ョーレート ドリフトを求める。 ブロック 3 1 5のフィードバック制 御則としては、 例えば P I D制御則が用いられ、 前記差 (ブロック 3 1 4の出力) の時間微分値 (または制御周期の間の前記差の変化量) にゲ イン Ke を乗じた値と、 前記差 (ブロック 3 1 4の出力) にゲイン Kf を乗じた値と、 前記差 (ブロック 3 1 4の出力) の積分値にゲイン Kg を乗じた値との和を求めることによりョ一レート ドリフ 卜が求められる そして、 この求めたョ一レート ドリフ トを、 前記ブロック 3 0 7で前記 角速度センサ検出値 co in から減じる。 また、 ョーレ一ト補正を行わな いと判定された場合には、 フィードバック制御則のブロック 3 1 5への 入力を遮断して (図 1 7のスィッチ 3 1 6を開成する)、 直前のョ一レ ート ドリフト値を保持し、 その値を前記角速度センサ検出値 o in から 減じるようにする。 なお、 滑りなし推定上体姿勢を求める際には、 図 1 2の S 2 1 1 0において着地時の遊脚足平位置 ·姿勢を推定する際と同 様、 床反力検出値および Zまたは目標歩容の床反力を基に、 足平 2 2の 変形機構 (前記図 3及び図 4に示した弹性部材 1 0 6、 接地部材 (足底 弾性体) 7 1、 袋状部材 1 0 9等) の変形量を変形機構の力学モデル (ばねダンパ一モデル等) を用いて求め、 前記変形量を含めて (考慮し て)、 滑りなし推定上体姿勢を求めても良い。 また、 モータ電流指令あ るいは検出値を基に外乱オブザーバを用いて、 減速機やリンクに作用す る負荷を推定し、 推定した負荷を基に前記減速機ゃリンクの変形を推定 して、 前記減速機やリンクの変形を含めて (考慮して)、 滑りなし推定 上体姿勢を求めるようにしても良い。
または、 少なく とも目標歩容の関節変位とコンプライアンス補償量 (本出願人が先に提案した特開平 10-277969 号を参照) を基に、 キネ マティクス演算によって推定着地時遊脚足平位置姿勢を求めるようにし ても良い。
これらにより、 より一層精度良く推定着地時遊脚足平位置姿勢を求め ることができる。
図 1 6の説明に戻ると、 以上のごとく S 2 3 0 0の処理を完了した後, 次いで、 S 2 3 0 2に進み、 前述の第 3実施形態の図 1 4の S 2 2 0 2 から S 2 2 1 4を実行して、 推定支持脚座標系の位置姿勢および幾何学 的推定上体位置を決定する。 なお、 このとき、 第 3実施形態に関して補 足した如く、 図 1 4の S 2 2 1 0の代わりに、 第 2実施形態における S 2 1 1 0から S 2 1 1 4の処理を実行すると共に、 S 2 2 1 4において、 上記のごとく少なくとも関節変位検出値を基にキネマティクス演算によ つて推定上体位置 ·姿勢を求めても良い。 このとき、 前記第 2実施形態 で説明した如く、 床反力検出値を基に、 足平 2 2の変形量を考慮して、 推定着地時遊脚足平位置姿勢を求め、 これを用いて次回歩容推定支持脚 座標系を決定するようにすることがより好ましい。
次いで、 S 2 3 0 4に進み、 加速度センサとジャイロセンサを基に慣 性航法により慣性航法的推定上体位置姿勢を求めつつ、 幾何学的推定上 体位置と慣性航法的推定上体位置との差が 0に収束するように慣性航法 的上体位置を修正する。
具体的には、 図 1 7 に示す ごと く 慣性航法的推定上体位置 Xinertestm の前回値と前記幾何学的推定上体位置との差をブロック 3 1 7で求め、 この差の時間微分値 (または制御周期の間の前記差の変化 量) にゲイン Kc を乗じた値と、 該差にゲイン Kd を乗じた値との和を ブロック 3 1 8で求める。 つまり、 上記差からフィ一ドバック制御則と しての P D制御則より、 上記和を求める。 また、 前記ブロック 3 0 2の 出力である前記加速度センサ検出値グロ一バル座標系換算値と想定重力 加速度 G の差をプロック 3 1 9で求める。 そして、 この差 (ブロック 3 1 9の出力) から上記和 (ブロック 3 1 8の出力) をブロック 3 6 0 にて減じた値を、 ブロック 3 2 0にて 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を設定する方が望ましい。
なお、 以上説明した第 4実施形態は、 本発明の第 1〜第 6発明、 第 8 〜第 2 2発明に対応するものである。 次に本発明の第 5実施形態を説明する。 図 2 0及び図 2 1を参照して 説明する。 図 2 0は、 第 5実施形態における図 9の S O 1 6の自己位置 推定処理のフ口一チャート、 図 2 1は、 第 5実施形態における S 0 1 6 の自己位置推定処理のうちの、 全体重心位置を推定する手段を示すプロ ック図である。 なお、 第 5実施形態は、 第 4実施形態において慣性航法 的推定上体位置 Xinertestm を決定する代わりに、 後述する慣性航法的 推定全体重心位置 XGinertestm を、 制御周期毎に決定するようにした, これ以外は、 第 4実施形態と同じである。 また、 図 2 1では、 図 1 7と 同一構成部分については、 図 1 7と同一の参照符号を用いている。
図 2 0および図 2 1を参照して、 第 5実施形態における S 0 1 6の自 己位置推定処理を説明すると、 まず、 図 2 0の S 2 4 0 0において、 第 4実施例の図 1 6の S 2 3 0 0と同様に、 ジャイロセンサの検出値を積 分して推定上体姿勢を求めつつ、 ジャイロセンサの検出ドリフトと推定 上体姿勢のうちの傾き成分のドリフ卜を補正する。
次いで S 2 40 2に進み、 前述の図 1 4の S 2 2 0 2から S 2 2 1 4 を実行して、 推定支持脚座標系の位置姿勢および幾何学的推定上体位置 を決定する。
次いで S 2 40 4に進み、 前記推定支持脚座標系の位置姿勢、 目標上 体位置姿勢 (あるいは前記幾何学的推定上体位置) および関節変位検出 値 (あるいは目標値) を基に、 前記第 3実施形態のごとく実際のロポッ トの挙動 (姿勢回転) を考慮して、 全体重心位置をキネマテイクス演算 によって算出する。 この処理は、 図 2 1のブロック 3 3 0で実行される, このようにして算出された全体重心位置を幾何学的推定全体重心位置と 呼ぶ。
次いで S 2 4 0 6に進み、 関節角検出値 (あるいは目標値)、 推定上 体姿勢 (あるいは目標上体姿勢) および前記加速度センサ検出値グロ一 バル座標系換算値を基に、 全体重心の加速度をキネマティクス演算によ つて算出する。 この処理は、 図 2 1のブロック 3 3 1で実行される。 以 降、 このようにして求められた全体重心の加速度を慣性航法的推定全体 重心加速度と呼ぶ。
次いで S 2 4 0 8に進み、 前記慣性航法的推定全体重心加速度を基に 慣性航法により慣性航法的推定全体重心位置 XGinertestm を求めつつ, 幾何学的推定全体重心位置と慣性航法的推定全体重心位置の差が 0に収 束するように慣性航法的推定全体重心位置を修正する。 より具体的には、 図 2 1に示すように、 前制御周期 (前回以前の制御周期) に決定した慣 性航法的推定全体重心位置 XGinertestm と前記幾何学的推定上体位置 との差をブロック 3 3 2で求め、 この差の時間微分値 (または制御周期 の間の前記差の変化量) にゲイン Kc を乗じた値と、 該差にゲイン Kd を乗じた値との和をブロック 3 3 3で求める。 つまり、 上記差からフィ —ドバック制御則としての P D制御則より、 上記和を求める。 そして、 ブロック 3 3 1の出力である慣性航法的推定全体重心加速度から上記和 (ブロック 3 3 3の出力) をブロック 3 3 4で減じた値をブロック 3 3 5 にて 2階積分することにより、 新たな慣性航法的推定全体重心位置 XGinertestmを決定する。
最後に S 2 4 1 0に進み、 前記慣性航法的推定全体重心位置、 関節変 位検出値 (あるいは目標値)、 推定上体姿勢 (あるいは目標上体姿勢) を基に、 グローバル座標系における推定上体位置を求める。 この処理は、 図 2 1のブロック 3 3 6で実行される。
以上が、 第 5実施形態における図 9の S 0 1 6の自己位置推定処理で め
第 5実施形態においては、 空中期であるか否かを判定して、 空中期で ある場合には、 加速度センサを用いずに、 全体重心は放物運動を行うと いう想定のもとで、 前記慣性航法的推定全体重心加速度を決定しても良 い。
ロポッ ト 1が環境から外力を受けないことが明白な場合には、 空中期 においては、 全体重心は放物運動を行うので、 これにより、 より一層精 度良く全体重心位置を推定することができる。
なお、 空中期であるか否かは、 目標歩容の時期 (フェーズ)、 目標歩 容の床反力あるいは、 床反力検出値の少なくともいずれかを用いて判定 すれば良い。
特に、 全体重心位置の推定精度を極力高くしたい場合には、 床反カ検 出値が所定の値以下であるか否かによって空中期であるか否かを判定す れば良い。
なお、 以上説明した第 5実施形態は、 本発明の第 1〜第 6発明、 第 8 〜第 2 2発明に対応するものである。
次に本発明の第 6実施形態を図 2 2を参照して説明する。 図 2 2は、 第 6実施例における図 9の S 0 1 6の自己位置推定処理のうちの、 全体 重心位置を推定する手段を示すブロック図である。
第 6実施形態においては、 第 5実施形態において加速度センサ検出値 を基に慣性航法的推定全体重心位置を算出する代わりに、 前記 6軸カセ ンサ (床反力センサ) 5 0の床反力検出値を基に動力学的推定全体重心 位置を算出するようにした。 これ以外は、 第 5実施例と同じである。 ま た、 図 2 2では、 図 2 1 と同一構成部分については、 図 2 1 と同一の参 照符号を用いている。
図 2 2を用いて、 制御周期毎の全体重心位置の推定処理を説明すると まず、 床反力センサ ( 6軸力センサ 5 0 ) の検出値を、 関節角検出値 (あるいは目標値) および推定上体姿勢 (あるいは目標上体姿勢) を用 いて、 ブロック 3 4 0にてグロ一バル座標系の値に換算する。 以降、 こ の換算された床反力センサ検出値を、 床反力センサ検出値グローバル座 標系換算値と呼ぶ。
次いで、 前記床反力センサ検出値グローバル座標系換算値をブロック 3 4 1 にて口ポッ ト 1の全体質量で割った値から、 ブロック 3 4 2にて 重力加速度を減じることにより、 全体重心加速度の推定値を求める。 以 降、 このようにして求めた全体重心加速度を動力学的推定全体重心加速 度と呼ぶ。
次いで、 第 5実施形態と同様、 ブロック 3 3 0にて幾何学的推定全体 重心位置を求める。
次いで、 前記動力学的推定全体重心加速度を 2階積分することで動力 学的推定全体重心位置を求めつつ、 幾何学的推定全体重心位置姿勢と慣 性航法的推定全体重心位置との差が 0に収束するように前記動力学的全 体重心位置を修正する。
より具体的には、 図 2 2に示すように、 前制御周期 (前回以前の制御 周期) に決定した前記動力学的推定全体重心位置と前記幾何学的推定全 体重心位置との差をブロック 3 4 3で求め、 この差の時間微分値 (また は制御周期の間の前記差の変化量) にゲイン Kc を乗じた値と、 該差に ゲイン Kd を乗じた値の和をブロック 3 4 4で求める。 つまり、 上記差 からフィードバック制御則としての P D制御則より、 上記和を求める。 そして、 ブロック 3 4 2の出力である前記動力学的推定全体重心加速度 から上記和 (ブロック 3 4 4の出力) をブロック 3 4 5で減じた値をブ ロック 3 4 6にて 2階積分することにより、 新たな動力学的推定全体重 心位置 XGinertestmを決定する。
最後に、 前記動力学的推定全体重心位置、 関節角検出値 (あるいは目 標値)、 推定上体姿勢 (あるいは目標上体姿勢) を基に、 ブロック 3 4 7にて、 グローバル座標系における上体位置を推定する。 以上が、 第 6実施形態における S 0 1 6の自己位置推定処理のうちの. 全体重心位置および上体位置を推定する手段である。
第 6実施形態においても、 空中期であるか否かを判定して、 空中期で ある場合には、 床反力センサ検出値を用いずに、 全体重心は放物運動を 行うという想定のもとで、 前記動力学的推定全体重心加速度を決定して も良い。
ロポッ 卜が環境から外力を受けないことが明白な場合には、 空中期に おいては、 全体重心は放物運動を行うので、 これにより、 より一層精度 良く全体重心位置を推定することができる。
なお、 空中期であるか否かは、 目標歩容の時期 (フェーズ)、 目標歩 容の床反力あるいは、 床反力検出値の少なくともいずれかを用いて判定 すれば良い。
特に、 全体重心位置の推定精度を極力高くしたい場合には、 床反カ検 出値が所定の値以下であるか否かによって空中期であるか否かを判定す れば良い。
なお、 以上説明した第 6実施形態は、 本発明の第 1〜第 6発明、 第 8 . 第 9発明、 並びに、 第 2 3〜第 3 0発明に対応するものである。
前記各実施形態で決定した姿勢回転中心について、 以下に補足する。 いずれかの脚体 2が接地し、 十分大きい床反力が発生している時期にお いては、 いわゆる支持多角形 (接地面を含む最小凸多角形、 Z M P存在 可能範囲あるいは全床反力中心点存在可能範囲) の中に、 姿勢回転中心 があると考えられる。
この理由を以下に述べると、 姿勢回転中心が支持多角形の外にあると 足平 2 2の底面のあらゆる点が床に対して相対移動していることになる ので、 足平 2 2の底面と床との間のあらゆる接触点には、 動摩擦が働く , 動摩擦は、 口ポッ ト 1が床反力を制御しょうとして、 脚体 2を動かして も、 一定値のままで、 任意の値に制御することはできない。 すなわち、 氷の上でつるつる滑ってうまく歩けない状態と同じである。 したがって. 口ポッ ト 1が床反力を制御しつつ安定に移動している場合には、 足平 2 2の底面と床との間のある領域においては、 滑りが生じないで静摩擦が 作用していると考えれる。 すなわち、 支持多角形の中に、 姿勢回転中心 があると考えられる。 補足すると、 ロボッ ト 1の足平 2 2が完全剛体で あるならば、 姿勢回転中心点以外のあらゆる接触点は滑りが生じるが、 実際の足平 2 2の底面は、 ゴムなどの弾性体でできているので、 姿勢回 転中心の近傍でも滑りは生じないと考えれる。
また、 空中期においては、 口ポッ トは、 重心を中心として摂動運動を すると考えられる。
また、 上記以外の時期、 すなわちいずれかの脚体 2が接地しているが. 床反力が十分に発生していない時期においては、 運動の連続性を考慮す ると、 姿勢回転中心は、 支持多角形と全体重心位置 (あるいは上体代表 点位置) との間に存在すると考えられる。
以上の考察から、 第 3実施形態以降で実行される S 2 2 0 4 (図 1 4 参照) において決定する姿勢回転中心としては、 より一般的には、 以下 のいずれかであることが望ましい。
現在時刻 t における
a)目標 Z M P、
b)実 Z M P (すなわち、 実床反力中心点、 あるいは床反力の圧力中心 点)、
c)支持脚座標系の所定の点、 例えば原点
d)全体重心点、
e)上体代表点
f)上記のいずれかの複数の点の内分点 いずれかの脚が接地し、 十分大きい床反力が発生している時期におい ては、 姿勢回転中心は、 支持多角形の中に設定するのが良い。 具体的に は、 上記 a)および b)に設定すれば良い。 あるいは、 姿勢回転中心が支 持多角形の中に含まれるように、 上記 c)における所定の点を設定すれ ば良い。 例えば支持脚座標系の原点 (通常、 足首関節の下) に設定すれ ば良い。
空中期においては、 姿勢回転中心は、 上記 d)のように設定するのが 良いが、 全体重心位置は上体代表点位置の近くに存在するので、 上記 e)のように設定しても良い。
上記以外の時期、 すなわちいずれかの脚体 2が接地しているが、 床反 力が十分に発生していない時期においては、 上記 f)のように設定するの が良い。
さらに、 全期間での運動の連続性を考慮すると、 姿勢回転中心点は、 連続的に変化するように設定するのが望ましい。
いずれにしても、 概ねすベての各瞬間において、 口ポッ ト 1の全体を 含む最小凸面体の面上あるいは内部に姿勢回転中心点を設定するのが望 ましい。
同様に、 第 1実施形態の図 1 0の S 2 0 0 6および第 2実施例の図 1 2の S 2 1 0 6において決定する姿勢回転中心としては、 より一般的に は、 以下のいずれかであることが望ましい。
a)遊脚着地時刻 nの、 あるいは 1歩の間の平均の目標 Z M P位置
b)遊脚着地時刻 nの、 あるいは 1歩の間の平均の実 Z M P (すなわち、 実床反力中心点、 あるいは床反力の圧力中心点) 位置
c)支持脚座標系の所定の点、 例えば原点
d)遊脚着地時刻 nの、 あるいは 1歩の間の平均の全体重心点位置
e)遊脚着地時刻 nの、 あるいは 1歩の間の平均の上体代表点位置 f)上記のいずれかの複数の点の内分点
いずれにしても、 口ポッ ト 1の全体が最新の 1歩の間の運動によって 掃引した領域を含む最小凸面体の面上あるいは内部に姿勢回転中心点を 設定するのが望ましい。
または、 ある瞬間における、 例えば着地瞬間における、 口ポッ ト 1の 全体を含む最小凸面体の面上あるいは内部に姿勢回転中心点を設定する のが望ましい。
第 4実施形態においては、 慣性航法的推定上体位置を幾何学的推定上 体位置で補正する際に、 慣性航法的推定上体位置を算出するための積分 器 (図 1 7のブロック 3 2 0 ) に補正入力 (図 1 7のブロック 3 1 8の 出力) を付加的に加えていた。 したがって、 慣性航法的推定上体位置は. 制御周期毎に修正された。 これに対し、 ある所定の期間、 補正を加えず に慣性航法的推定上体位置を決定し、 次の式 4 5により、 慣性航法的推 定上体位置と幾何学的推定上体位置とを内挿した推定上体位置である内 揷的推定上体位置を求めて、 これを最終的に決定した推定上体位置とし て出力するようにしても良い。 内挿的推定上体位置
= ひ *慣性航法的推定上体位置 + ( 1 — α ) *幾何学的推定上体 位置
…式 4 5 ただし、 ひは加重平均の重みであり、 前記所定の期間の間に 1から 徐々に 0に変化する。
αが 0になったときに、 幾何学的推定上体位置を慣性航法的推定上体 位置に代入 (上書き) し、 ひを 1に戻す。 5448
7 4 また、 所定の期間は、 空中期以外の期間に設定する。
第 5および 6実施形態においても、 第 4実施形態と同様にして、 慣性 航法的あるいは動力学的推定全体重心位置と幾何学的推定全体重心位置 とを内挿した推定全体重心位置である内挿的推定全体重心位置を決定す るようにしても良い。
第 4〜第 6実施形態において、 補正される慣性航法的推定上体位置も いくは慣性航法的推定重心位置もしくは動力学的推定重心位置は鉛直位 置成分 (離床面に対する) のみであっても良い。 あるいは水平成分のみ 補正しても良い。
補正ゲイン Ka, Kb, Kc もしくは Kd の値を、 定常カルマンフィル タあるいは非定常カルマンフィル夕の手法を用いて決定しても良い。 た だし、 本実施形態の口ポッ ト 1においては、 特に移動中においては、 シ ステム雑音 (外乱) と観測雑音の性質が、 カルマンフィル夕の前提条件 を十分に満足してはいないので、 十分な効果を生むとは限らない。
加速度センサおよびまたはジャイロセンサは、 上体 3以外の部位、 例 えば頭部 4に搭載 (内蔵) されていても良い。 さらに頭部 4と上体 3と の間に首関節がある場合、 首関節の変位指令 (目標変位) または変位検 出値を基に、 加速度センサおよびまたはジャィ口センサの検出値をキネ マティクス演算によって、 上体代表点の加速度と角加速度とに変換しさ えすれば、 残りは、 前記各実施形態と同様に自己位置推定を行えば良い, 推定位置姿勢の成分 (位置鉛直成分、 位置水平成分、 鉛直軸まわりの 向き成分、 傾き成分) によって、 第 1実施形態から第 6実施形態までの 自己位置推定処理のうちの異なる処理を選択しても良い。 例えば、 上体 3の水平位置に関しては、 第 3実施形態の自己位置推定処理に従って幾 何学的に推定し、 鉛直位置に関しては、 第 4実施形態の自己位置推定処 理に従って慣性航法的推定上体鉛直位置を幾何学的推定上体鉛直位置に より補正しても良い。
推定支持脚座標系および幾何学的推定上体位置を決定する際に関節変 位を用いる実施形態においては、 その関節変位を、 目標歩容の関節変位 または、 関節変位検出値としたが、 これらの重み付き平均でも良い。 ま た、 このときの重みは周波数特性を持たせても良い。
推定支持脚座標系や推定上体位置姿勢など、 推定される位置姿勢を表 現する時には、 前記各実施形態のごとくグローバル座標系を基準として 表現する代わりに、 目標位置姿勢からの摂動分で表現しても良い。
第 4実施形態以降においては、 前記図 1 7に示すごとく、 グロ一バル 座標系における推定重力加速度を基に、 グローバル座標系における推定 上体姿勢誤差角度を求め、 グローバル座標系における推定上体姿勢誤差 角度にゲイン Kbを乗じた値を、 グローバル上体角速度 co glを積分する 積分器 (図 1 7のブロック 3 1 0 ) に付加的に入力することによって、 推定上体姿勢を補正していた。 すなわち、 グローバル座標系において、 推定上体姿勢を補正していたが、 この代わりに、 ジャイロセンサのロー カル座標系 (上体 3に固定された座標系) 上で補正しても良い。 具体的 には、 図 1 7において、 ゲイン Kb のブロック 3 0 9と、 その出力をグ 口一バル上体角速度 c gl から減じる加算器 (ブロック 3 0 8 ) を削除 し、 積分器 KaZ S (ブロック 3 0 6 ) を、 Ka/S + Kb、 すなわち、 P I 制御則のブロックに変更しても良い。
原理上、 このようにローカル座標系で補正しても、 ョ一レートが高い 旋回 (その場旋回含む) 時に、 Kb によって傾斜ドリフトの収束が悪く なることはない。
推定上体姿勢の補正において、 加速度センサ検出値グロ一バル座標系 換算値から幾何学的推定上体加速度を減じることにより推定重力加速度 を求める代わりに、 加速度センサ検出値グローバル座標系換算値から目 標歩容の上体加速度を減じることにより推定重力加速度を求めるように しても良い。
実際には、 目標歩容通りに運動しょうとしている口ポッ トには、 姿勢 回転中心まわりの姿勢回転が発生しているので、 姿勢回転によって、 上 体加速度は、 目標歩容からずれる。 しかし、 姿勢回転の内の姿勢傾斜は, 前後左右に振動しても平均的には、 0である。 また、 通常、 姿勢回転の 内のスピンに関しては、 1歩毎にスピンの向きが逆に切り替わるので、 平均的には 0に近い。 したがって、 遠心力など、 姿勢回転の回転方向に よらずほぼ同一方向に作用する力を除けば、 姿勢回転による上体加速度 への影響は、 正の影響と負の影響とが相殺し、 長期的には、 ほぼ 0にな る。 なお、 ここで、 「長期」 とは、 推定上体姿勢の補正の整定時間以上 の時間を指す。
よって、 推定上体姿勢の補正のために、 幾何学的推定上体加速度を用 いる代わりに、 目標歩容の上体加速度を用いても、 補正の効果が大きく 低下することはない。
第 1から第 3実施形態においても、 第 4実施形態のように、 幾何学的 推定上体位置姿勢運動から算出される運動加速度と、 加速度センサの検 出値を用いて、 ジャイロセンサの検出ドリフ トを補正するようにしても 良い。 また、 第 1から第 3実施形態においても、 第 4実施形態のように. 推定上体姿勢のうちの傾き成分のドリフトを補正するようにしても良い, また、 第 1から第 3実施形態においても、 第 4実施形態のように、 ョー レート補正を行っても良い。
次に本発明の第 7実施形態を図 2 3〜図 2 5を参照して説明する。 図
2 3および図 2 4は、 第 7実施形態における口ポッ ト 1の頭部 4の内部 構造を表す。 図 2 3は正面視、 図 2 4は側面視の図である。 頭部 4は、 パン · チルト方向に回転する首関節 1 2 0を介して、 上体 3の上部に連 接されている。
首関節 1 2 0 にも、 他の関節と同じく、 エンコーダ (関節変位検出 器) 付きのモ一夕 1 2 1, 1 2 2と減速機 1 2 3 , 1 2 4とを備え、 図 示を省略するモータ制御装置を介して前記制御ュニッ 卜 6 0からの関節 変位指令に追従するように制御される。
頭部 4には、 環境認識手段としての左右 2台のビデオカメラ 1 2 5, 1 2 5が備えられ、 対象物を立体視することができるようになつている, 前記図 5では図示を省略しているが、 ビデオカメラ 1 2 5 , 1 2 5の出 力 (撮像情報) は、 制御ユニッ ト 6 0に入力され、 該制御ユニッ ト 6 0 で撮像情報内の対象物までの距離等が認識される。
左右 2台のビデオカメラ 1 2 5 , 1 2 5の代わりに、 以下のような環 境認識手段を備えても良い。
a) 3台以上のカメラによる立体視
b) 1台カメラで対象物の多点を認識し、 三角測量の原理で距離を推定す る手段
c)レンジファインダ、 スキャン式レーザー距離計等の非接触多点距離計 測装置
第 7実施形態は、 上記した頭部 4の構成の他、 図 9の S 0 1 6の自己 位置推定処理が第 4実施形態と相違している。 その他の構成及び処理は. 第 4実施形態と同じである。 なお、 その他の構成及び処理は、 第 4実施 形態の代わりに、 例えば第 5または第 6実施形態と同じにしても良い。
図 2 5は第 7実施形態における図 9の S 0 1 6の自己位置推定処理を 示すフローチャートである。 第 7実施形態においては、 第 4実施形態に おける推定自己位置姿勢を用いて、 対象物を前記ビデオカメラ 1 2 5 , 1 2 5の画像 (以下、 単にカメラ画像という) の中央あるいは適切な位 置に捉えるように、 首関節 1 2 0を制御して、 ビデオカメラ 1 2 5 , 1 2 5の方向を制御する注視制御を行う。 また、 ビデオカメラ 1 2 5 , 1 2 5 (あるいはレンジファインダ等) により、 あらかじめグローバル座 標系における正確な位置を記憶しているランドマ一ク等を認識して、 前 記推定自己位置姿勢を補正する。 また、 ビデオカメラ 1 2 5, 1 2 5に より、 ある対象物を認識して、 ビデオカメラ 1 2 5 , 1 2 5によって得 た情報と前記推定自己位置姿勢から、 対象物のグローバル座標系におけ る位置姿勢または形状を認識する。
なお、 第 4実施形態における推定自己位置姿勢に代わりに、 第 3、 第 5および第 6のいずれかの実施形態の推定自己位置姿勢を用いても良い, 以下に、 図 2 5を用いて、 第 7実施形態のその動作の詳細を説明する, まず、 S 2 5 0 0力 ら S 2 5 0 4まで、 第 4実施形態の S 2 3 0 0か ら S 2 3 0 4と同様の処理を行い、 推定上体姿勢、 推定支持脚座標系の 位置姿勢、 幾何学的推定上体位置および慣性航法的上体位置を決定する, 次いで S 2 5 0 6に進み、 注視制御をすべきか否かを判断する。 具体 的には、 現在の推定上体姿勢及び慣性航法的上体位置、 並びに口ポッ ト 1の目標経路および地図情報を基に、 注視制御をすべきか否かを判断し また、 注視制御する場合には、 いずれの対象物を注視するかを決定する, 具体的には、 地図情報に、 各対象物に対して、 その対象物を観測でき、 かつ口ポッ ト 1 と対象物の相対位置関係が測定できる領域 (以降、 観 測可能領域と呼ぶ) が記述してある。 そして、 現在の推定上体姿勢及び 慣性航法的上体位置と今後の目標経路とに基づき、 現在および今後の所 定の期間、 いずれかの観測可能領域にいるか否かを予想し、 しばらくの 間、 観測可能領域にい.ると予想される場合には、 注視制御をすべきと判 断する。
注視すべき対象物の指定を、 あらかじめ、 口ポッ ト 1の移動制御部 (図 6に示した部分) の上階層に位置する口ポッ ト 1 の行動計画部 (図 示しない) が、 移動経路に応じて決定するか、 あるいは、 オペレータが マンマシンインターフエ一スを介して指定しておいても良い。
なお、 地図情報は、 ランドマーク、 障害物、 出発地、 目的地、 移動可 能領域、 道などに関する、 位置、 形状特徴および観測可能領域などの情 報であり、 移動前に、 あらかじめメモリに記憶されているものとする。 次いで S 2 5 0 8に進み、 前記注視すべき対象物の地図上の位置と前 記推定上体位置姿勢との相対関係を求める。
次いで S 2 5 1 0に進み、 前記相対関係から、 カメラ画像の中央に対 象物が映るように目標首関節変位をキネマティクス演算により決定する, 次いで S 2 5 1 2に進み、 目標首関節変位に追従するように、 首関節 モ一夕 1 2 1 , 1 2 2を制御する。 具体的には、 首関節モータ 1 2 1, 1 2 2のモ一夕制御装置 (モ一夕ドライバ) に対して目標首関節変位を 制御ュニッ ト 6 0から出力する。 そして、 このとき首関節モータ 1 2 1 , 1 2 2のモータ制御装置 (モ一夕ドライバ) が、 目標首関節変位に首関 節変位検出値を追従させるように首関節モ一夕 1 2 1, 1 2 2の電流を 制御する。
次いで S 2 5 1 4に進み、 対象物がランドマークであるか否かを判定 する。 具体的には、 検索した対象物の属性の情報からランドマークであ るか否かを判定する。
S 2 5 1 4において肯定される場合には、 S 2 5 1 6に進み、 カメラ 画像、 地図情報、 および推定上体位置姿勢、 首関節変位から、 幾何学演 算によって、 現在の実際のロボッ ト 1の支持脚足平位置姿勢に対応する 支持脚座標系 (以降、 視覚推定支持脚座標系と呼ぶ) のグローバル座標 系のおける位置姿勢を推定する。
S 2 5 1 6の後、 さらに S 2 5 1 8に進み、 前記視覚推定支持脚座標 系の位置姿勢と推定支持脚座標系の位置姿勢との差が 0に収束するよう に、 推定支持脚座標系の位置姿勢を修正する。
S 2 5 1 8の処理をより詳細に説明すると、 まず前記視覚推定支持脚 座標系の位置姿勢と推定支持脚座標系の位置姿勢との差を求める。 次い で、 この差と、 ある所定のゲイン Ke との積を求め、 該積を推定支持脚 座標系の位置姿勢に加えた位置姿勢を新たな推定支持脚座標系の位置姿 勢とする。
すなわち、 次の式 4 6によって新たな推定支持脚座標系を決定する。 言い換えると、 前記視覚推定支持脚座標系の位置姿勢と推定支持脚座標 系の位置姿勢との内挿 (すなわち内分あるいは重み付き平均) によって. 新たな推定支持脚座標系の位置姿勢を決定する。 新たな推定支持脚座標系
= 推定支持脚座標系の位置姿勢
+ Ke * (視覚推定支持脚座標系の位置姿勢一推定支持脚座標系の位置 姿勢)
…式 4 6 ゲイン K e は、 各推定値の確からしさを基に、 決定される新たな推定 支持脚座標系が、 真値として最も確率が高くなる値になるように決定し ても良い。
S 2 5 1 4において否定される場合には、 S 2 5 2 0に進み、 カメラ 画像、 地図情報、 および推定上体位置姿勢、 首関節変位から対象物形 状 · 位置を算出する。 以降、 前記算出された対象物形状 ·位置を視覚推 定対象物形状 ·位置と呼ぶ。
S 2 5 2 0の後、 S 2 5 2 2に進み、 視覚推定対象物形状 ·位置によ り、 地図情報の対象物形状 ·位置を修正する。 具体的には、 視覚推定対 象物形状 · 位置と地図情報の対象物形状 ·位置との差が 0に収束するよ うに地図情報の対象物形状 · 位置を修正する。
より具体的には、 まず前記視覚推定対象物形状 ·位置と地図情報の対 象物形状 · 位置との差を求める。 次いで、 その差と、 ある所定のゲイン Kf との積を求め、 この積を地図情報の対象物形状 · 位置に加えた形 状 ·位置を新たな地図情報の対象物形状 ·位置とする。
すなわち、 次の式 4 7によって新たな地図情報の対象物形状 ·位置を 決定する。 言い換えると、 前記視覚推定対象物形状 · 位置と地図情報の 対象物形状 · 位置の内挿 (すなわち内分あるいは重み付き平均) によつ て、 新たな地図情報の対象物形状 ·位置を決定する。 新たな地図情報の対象物形状 ·位置
= 地図情報の対象物形状 · 位置
+ Kf * (視覚推定対象物形状 ·位置一地図情報の対象物形状 ·位置) …式 4 7
S 2 5 1 8または S 2 5 2 2の処理の完了をもって、 S O 1 6の自己 位置推定処理の完了とする。
視覚推定支持脚座標系の位置は、 慣性航法的推定上体位置を基に推定 されており、 さらに、 慣性航法的推定上体位置は、 推定支持脚座標系を 基に算出される幾何学的推定上体位置姿勢に収束するように決定される ので、 S 2 5 1 8の処理により、 推定支持脚座標系の位置姿勢を変更す ると、 視覚推定支持脚座標系の位置も遅れて変更される。 したがって、 S 2 5 1 8の処理においては、 収束を速めようとしてゲイン Ke を大き く し過ぎると発振する恐れがある。 ゲイン Ke を大きくしても、 発振し にく くするためには、 視覚推定支持脚座標系の位置姿勢と推定支持脚座 標系の位置姿勢との差に応じて推定支持脚座標系の位置姿勢を修正する と共に、 直接的に慣性航法的推定上体位置も修正して、 視覚推定支持脚 座標系の位置の変更の遅れを短くすれば良い。
推定上体位置姿勢と視覚推定上体位置姿勢の差、 または、 視覚推定対 象物形状 ·位置と地図情報の対象物形状 ·位置の差がある所定の許容値 を越えているならば、 誤認識と判断して、 その値による推定上体位置姿 勢または地図情報の対象物形状 ·位置の修正をしないようにしても良い, なお、 以上説明した第 7実施形態は、 本発明の第 3 1〜第 3 7発明に 対応するものである。
以上説明した如く、 第 1実施形態においては、 実際の口ポッ ト 1の挙 動を、 口ポッ ト 1の運動を記述するローカル座標系である推定支持脚座 標系上で目標歩容通りに運動している口ポッ ト 1が、 1歩の間に、 姿勢 検出手段によって検出あるいは推定された姿勢と目標姿勢の差 (あるい は前記差の鉛直成分) の分だけ、 姿勢回転中心決定手段によって決定さ れた所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共に、 回転 したものであるとみなして、 着地時の遊脚位置姿勢に応じた新たな推定 支持脚座標系の位置姿勢、 すなわち着地点の位置と向きとを、 1歩毎 (着地毎) に推定するようにしたので、 着地点の位置と向きを精度良く 推定することができる。 特に、 加速度が水平方向や鉛直方向に激しく変 動している状態、 走行時の空中期などのように全脚体 2, 2が床から離 れている状態、 または足平 2 2と床との間の回転滑りなどによってロボ ッ ト 1の全体に姿勢回転 (またはスピン) が生じている状態においても. 着地点の位置と向きを精度良く推定することができる。
第 2実施形態においては、 実際の口ポッ ト 1の挙動を、 ロボッ ト 1の 運動を記述する口一カル座標系である推定支持脚座標系上で、 目標歩容 通りの上体姿勢を維持しつつ、 少なくとも関節変位検出値の通りに運動 している口ポッ トが、 1歩の間に、 姿勢検出手段によって検出あるいは 推定された姿勢と目標姿勢の差の分だけ、 姿勢回転中心決定手段によつ て決定された所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共 に、 回転したものであるとみなして、 着地時の遊脚位置姿勢に応じた新 たな推定支持脚座標系の位置姿勢、 すなわち着地点の位置と向きを、 1 歩毎 (着地毎) に推定するようにしたので、 着地点の位置と向きをより 一層精度良く推定することができる。
第 3実施形態においては、 実際のロボッ ト 1の挙動を、 ロボッ ト 1の 運動を記述するローカル座標系である推定支持脚座標系上で目標歩容通 りに運動している口ポッ ト 1が、 各瞬間に、 姿勢検出手段によって検出 あるいは推定された上体姿勢の変化速度と目標歩容の上体姿勢変化速度 の差の変化速度で、 すなわち推定上体姿勢変化速度と目標歩容の上体姿 勢変化速度の差の変化速度で、 姿勢回転中心決定手段によって決定され たその瞬間の所定の姿勢回転中心まわりに、 前記推定支持脚座標系と共 に、 回転したものであるとみなして、 新たな推定支持脚座標系と推定上 体位置姿勢を各瞬間 (制御周期毎) に決定 (更新) する。 また、 着地時 には、 遊脚位置姿勢に応じた新たな推定支持脚座標系の位置姿勢、 すな わち新たな着地点の位置と向きを、 1歩毎 (着地毎) に推定したように したので、 着地点の位置と向きをより一層精度良く推定すると共に、 口 ポッ ト 1の自己位置姿勢を連続的に精度良く推定することができる。 第 4実施形態においては、 慣性航法によって推定上体位置 (慣性航法 的推定上体位置) と推定上体姿勢とを求めると共に、 第 3実施形態によ つて決定される推定上体位置である幾何学的推定上体位置を用いて慣性 航法的な推定上体位置及び推定上体姿勢を補正するようにしたので、 口 ポッ ト 1の自己位置姿勢ならびに着地位置 · 向き (推定支持脚座標系の 位置 ' 向き) をより一層精度良く推定することができる。 第 5実施形態においては、 第 4実施形態において慣性航法的推定上体 位置 Xinertestm を決定する代わりに、 慣性航法による推定全体重心位 置を、 制御周期毎に決定するようにしたのようにしたので、 ロボッ ト 1 の自己位置姿勢ならびに着地位置 · 向き (推定支持脚座標系の位置 · 向 き) を第 4実施形態と同様に、 精度良く推定することができる。
第 6実施形態においては、 第 5実施形態において加速度センサ検出値 を基に慣性航法的推定全体重心位置を算出する代わりに、 床反力センサ 検出値を基に動力学的推定全体重心位置を算出するようにしたのように したので、 口ポッ ト 1の自己位置姿勢ならびに着地位置 · 向き (推定支 持脚座標系の位置 · 向き) を第 5実施形態と同様に、 精度良く推定する ことができる。
第 7実施形態においては、 幾何学自己位置推定演算を用いることによ つて、 あるいは幾何学自己位置推定演算と慣性航法演算を複合的に用い ることによって、 連続的に (制御周期毎に) 推定される自己位置姿勢と. あらかじめ記憶しておいた地図上の床面や障害物などの対象物のグロ一 バル座標系における位置を基に、 口ポッ ト 1に搭載されたビデオカメラ 1 2 5 , 1 2 5等の環境認識手段が注視すべき方向を決定しているので. 前記対象物を、 連続的に前記環境認識手段の画像の中央あるいは適切 な位置に捉えることができる。
また、 前記環境認識手段が前記対象物を認識する時に、 前記環境認識 手段によって得た情報と前記推定した自己位置姿勢から、 グローバル座 標系における対象物の位置姿勢または形状を精度良く認識することがで さる。
また、 さらに、 前記対象物の地図上の位置 · 形状を連続する複数の画 像を基に補正するので、 ノイズや誤認識の影響を受けにくい。
また、 前記環境認識手段が、 ランドマーク等あらかじめ正確な位置情 報を記憶している対象物の位置情報と、 前記環境認識手段によって得た 前記対象物に対するロポッ ト 1の相対位置情報に基づき、 幾何学自己位 置推定演算を用いることによって推定した自己位置姿勢、 あるいは幾何 学自己位置推定演算と慣性航法演算を複合的に用いることによって推定 した自己位置姿勢を補正し、 前記自己位置姿勢の推定の精度を高めるこ とができる。
また、 さらに、 前記自己位置姿勢を連続する複数の画像を基に補正す るので、 ノイズや誤認識の影響を受けにくい。
また、 第 4実施形態においては、 運動加速度の影響を受けにく く、 精 度良く口ポッ ト 1の姿勢傾斜を推定することができる。 また、 これは他 の実施形態にも適用できる。
また、 第 4実施形態においては、 ョーレートが補正され、 より一層精 度良くロボッ ト 1の姿勢 (特に水平方向成分の向き) 並びに位置を推定 することができる。 また、 これは他の実施形態にも適用できる。 産業上の利用可能性
以上の如く、 本発明は、 2足移動口ポッ ト等の脚式移動口ポッ トの位 置を精度よく推定することができる技術を提供するものとして有用であ る。

Claims

BH 求 の 範 囲
1 . 決定された目標歩容に追従するように制御される脚式移動ロポッ 卜 において、
前記ロポッ トの所定の部位の実姿勢の検出値又は推定値と前記目標歩 容における前記所定の部位の目標姿勢との差である姿勢回転偏差の時間 的変化量を姿勢回転偏差変化量として求める姿勢回転偏差算出手段と、 前記姿勢回転偏差の変化の回転中心を決定する回転中心決定手段と、 前記ロポッ トが、 前記回転中心まわりに前記姿勢回転偏差変化量で回 転したと想定して、 前記ロポッ トの位置の推定値たる推定位置を決定す る位置推定手段とを備えることを特徴とする脚式移動ロポッ トの自己位
2 . 前記位置推定手段は、 前記目標歩容を記述する座標系である第 1の 座標系を前記姿勢回転偏差変化量だけ前記回転中心回りに回転させてな る第 2の座標系を求める手段を備え、 前記目標歩容の目標運動と前記口 ポッ トの関節の変位検出値と該関節の変位目標値とのうちの少なく とも いずれかから把握される、 前記第 1座標系から見たロポッ ト位置と前記 第 2座標系から見たロポッ トの推定位置とが同一になるようにグロ一バ ル座標系から見たロボッ トの推定位置を決定することを特徴とする請求 の範囲第 1項に記載の脚式移動ロポッ トの自己位置推定装置。
3 . 前記所定の部位は、 前記口ポッ トの上体であることを特徴とする請 求の範囲第 1項又は第 2項に記載の脚式移動ロポッ トの自己位置推定装 置。 '
4 . 前記姿勢回転偏差は、 少なくとも前記所定の部位のョ一方向の姿勢 回転偏差成分を含むことを特徴とする請求の範囲第 1項又は第 2項に記 載の脚式移動ロポッ 卜の自己位置推定装置。
5 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる空 中期を有する歩容であり、 前記回転中心決定手段は、 前記空中期では、 前記ロボッ 卜の重心に前記回転中心を決定し、 該空中期以外の時期では 実床反力中心点および目標歩容の目標 Z M Pのいずれかの点又はその近 傍に前記回転中心を決定することを特徴とする請求の範囲第 1項又は第 2項に記載の脚式移動ロポッ トの自己位置推定装置。
6 . 前記姿勢回転偏差算出手段は、 各瞬間の前記姿勢回転偏差変化量を 逐次求める手段であり、 前記位置推定手段は、 その各瞬間の姿勢回転偏 差変化量を用いて前記ロポッ トの各瞬間の推定位置を逐次決定すること を特徴とする請求の範囲第 1項又は第 2項に記載の脚式移動ロボッ トの 自己位置推定装置。
7 . 前記姿勢回転偏差算出手段は、 前記口ポッ トの着地動作により該ロ ポッ トの脚体が着地する毎に、 前回の脚体の着地から今回の脚体の着地 までの期間における姿勢回転偏差変化量である着地間姿勢回転偏差変化 量を求める手段であり、 前記位置推定手段は、 該着地間姿勢回転偏差変 化量を用いて各着地毎に前記ロボッ トの推定位置を決定することを特徴 とする請求の範囲第 1項又は第 2項に記載の脚式移動ロポットの自己位
8 . 前記位置推定手段が推定する口ポッ トの位置は、 該ロポッ トの着地 動作により着地した脚体の接地位置であることを特徴とする請求の範囲 第 1項又は第 2項に記載の脚式移動ロポッ トの自己位置推定装置。
9 . 前記ロボッ 卜に作用する床反力を検出する床反力検出手段を備え、 前記位置推定手段は、 前記検出された床反力を基に前記ロポッ トの変形 量を推定し、 少なくともその推定された変形量を用いて前記ロポッ トの 推定位置を決定することを特徴とする請求の範囲第 1項又は第 2項に記 載の脚式移動ロポッ トの自己位置推定装置。
1 0 . 決定された目標歩容に追従するように制御される脚式移動ロポッ トにおいて、
前記ロボッ トに搭載された、 並進加速度を検出する加速度センサと、 前記ロボッ トに搭載された、 慣性空間に対する角速度を検出する角速 度センサと、
前記目標歩容の目標運動と前記ロポッ 卜の関節の変位検出値と該関節 の変位目標値とのうちの少なくともいずれかを基に前記ロポッ トの所定 の部位又は前記ロポッ トの重心の鉛直位置の幾何学的推定値としての第 1の推定位置を決定する幾何学的位置推定手段と、
少なくとも前記加速度センサの検出値と前記角速度センサの検出値と を基に慣性航法によって前記所定の部位又は前記ロポッ トの全体重心の 鉛直位置の慣性航法的推定値としての第 2の推定位置を決定すると共に, 少なくとも前記第 1の推定位置と第 2の推定位置との差を基に第 2の推 定位置を補正する慣性航法的位置推定手段とを備えることを特徴とする 脚式移動ロポッ 卜の自己位置推定装置。
1 1 . 前記所定の部位は、 前記口ポッ トの上体であることを特徴とする 請求の範囲第 1 0項に記載の脚式移動ロポッ トの自己位置推定装置。
1 2 . 前記ロボッ トに作用する床反力を検出する床反力検出手段を備え. 前記幾何学的位置推定手段は、 前記検出された床反力を基に前記ロポッ トの変形量を推定し、 その推定した変形量を用いて前記第 1の推定位置 を決定することを特徴とする請求の範囲第 1 0項に記載の脚式移動ロボ ッ 卜の自己位置推定装置。
1 3 . 前記慣性航法的位置推定手段は、 前記第 1の推定位置と第 2の推 定位置との差を 0に近づけるように前記第 2の推定位置を補正すること を特徴とする請求の範囲第 1 0項に記載の脚式移動ロボッ トの自己位置 推定装置。
1 4 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる 空中期を有する歩容であり、 前記慣性航法的位置推定手段は、 前記空中 期では、 前記第 2の推定位置の補正量を略 0にすることを特徴とする請 求の範囲第 1 0項に記載の脚式移動ロボッ 卜の自己位置推定装置。
1 5 . 決定された目標歩容に追従するように制御される脚式移動ロポッ 卜において、
前記ロポッ 卜に搭載された、 並進加速度を検出する加速度センサと、 前記ロポッ トの所定の部位の実姿勢の検出値又は推定値と前記目標歩 容における前記所定の部位の目標姿勢との差である姿勢回転偏差の時間 的変化量を姿勢回転偏差変化量として求める姿勢回転偏差算出手段と、 前記姿勢回転偏差の変化の回転中心を決定する回転中心決定手段と、 前記ロボッ トが、 前記回転中心まわりに前記姿勢回転偏差変化量で回 転したと想定して、 前記所定の部位又は前記ロポッ 卜の全体重心の位置 の推定値たる第 1の推定位置を決定する幾何学的位置推定手段と、 少なくとも前記加速度センサの検出値と前記所定の部位の実姿勢の検 出値又は推定値とを基に、 慣性航法によって該所定の部位又は前記ロボ ッ トの全体重心の位置の推定値としての第 2の推定位置を算出すると共 に、 少なくとも第 1の推定位置と第 2の推定位置との差を基に第 2の推 定位置を補正する慣性航法的位置推定手段とを備えることを特徴とする 脚式移動ロポッ 卜の自己位置推定装置。
1 6 . 前記幾何学的位置推定手段は、 前記目標歩容を記述する座標系で ある第 1の座標系を前記姿勢回転偏差変化量だけ前記回転中心回りに回 転させてなる第 2の座標系を求める手段を備え、 前記目標歩容の目標運 動と前記ロポッ トの関節の変位検出値と該関節の変位目標値とのうちの の少なくともいずれかから把握される、 前記第 1座標系から見た前記所 定の部位又は全体重心の位置と前記第 2座標系から見た前記所定の部位 又は全体重心の第 1の推定位置とが同一になるようにグロ一バル座標系 から見た前記所定の部位又は全体重心の第 1の推定位置を決定すること を特徴とする請求の範囲第 1 5項に記載の脚式移動ロポッ 卜の自己位置 推定装置。
1 7 . 前記所定の部位は、 前記口ポッ トの上体であることを特徴とする 請求の範囲第 1 5項又は第 1 6項に記載の脚式移動ロポッ トの自己位置 推定装置。
1 8 . 前記姿勢回転偏差は、 少なくとも前記所定の部位のョー方向の姿 勢回転偏差成分を含むことを特徴とする請求の範囲第 1 5項又は第 1 6 項に記載の脚式移動ロポッ 卜の自己位置推定装置。
1 9 . 前記口ポットに作用する床反力を検出する床反力検出手段を備え, 前記幾何学的位置推定手段は、 前記検出された床反力を基に前記ロボッ トの変形量を推定し、 その推定された変形量を用いて前記第 1の推定位 置を決定することを特徴とする請求の範囲第 1 5項又は第 1 6項に記載 の脚式移動ロポッ トの自己位置推定装置。
2 0 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる 空中期を有する歩容であり、 前記回転中心決定手段は、 前記空中期では. 前記ロポッ 卜の重心に前記回転中心を決定し、 該空中期以外の時期では 実床反力中心点および目標歩容の目標 Z M Pのいずれかの点又はその近 傍に前記回転中心を決定することを特徴とする請求の範囲第 1 5項又は 第 1 6項に記載の脚式移動ロボッ 卜の自己位置推定装置。
2 1 . 前記慣性航法的位置推定手段は、 前記第 1の推定位置と第 2の推 定位置との差を 0に近づけるように前記第 2の推定位置を補正すること を特徴とする請求の範囲第 1 5項又は第 1 6項に記載の脚式移動ロボッ 卜の自己位置推定装置。
2 2 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる 空中期を有する歩容であり、 前記慣性航法的位置推定手段は、 前記空中 期では、 前記第 2の推定位置の補正量を略 0にすることを特徴とする請 求の範囲第 1 5項又は第 1 6項に記載の脚式移動ロポッ トの自己位置推
2 3 . 決定された目標歩容に追従するように制御される脚式移動ロポッ トにおいて、
前記ロボッ トに作用する床反力を検出する床反力検出手段と、 前記ロポッ トの所定の部位の実姿勢の検出値又は推定値と前記目標歩 容における前記所定の部位の姿勢との差である姿勢回転偏差の時間的変 化量を姿勢回転偏差変化量として求める姿勢回転偏差算出手段と、 前記姿勢回転偏差の変化の回転中心を決定する回転中心決定手段と、 前記ロポッ 卜が、 前記回転中心まわりに前記姿勢回転偏差変化量で回 転したと想定して、 前記所定の部位又は前記ロボッ トの全体重心の推定 位置としての第 1の推定位置を決定する幾何学的位置推定手段と、 少なくとも前記床反力検出手段の検出値と前記実姿勢の検出値又は推 定値とを基に、 動力学演算によって前記所定の部位又は前記口ポッ トの 全体重心の推定位置としての第 2の推定位置を算出すると共に、 少なく とも第 1の推定位置と第 2の推定位置との差を基に第 2の推定位置を補 正する動力学的位置推定手段とを備えることを特徴とする脚式移動ロボ ッ 卜の自己位置推定装置。
2 4 . 前記幾何学的位置推定手段は、 前記目標歩容を記述する座標系で ある第 1の座標系を前記姿勢回転偏差変化量だけ前記回転中心回りに回 転させてなる第 2の座標系を求める手段を備え、 前記目標歩容の目標運 動と前記ロボッ 卜の関節の変位検出値と該関節の変位目標値とのうちの 少なく ともいずれかから把握される、 前記第 1座標系から見た前記所定 の部位又は全体重心の位置と前記第 2座標系から見た前記所定の部位又 は全体重心の第 1の推定位置とが同一になるようにグローバル座標系か ら見た前記所定の部位又は全体重心の第 1の推定位置を決定することを 特徴とする請求の範囲第 2 3項に記載の脚式移動ロポッ トの自己位置推
2 5 . 前記所定の部位は、 前記口ポッ トの上体であることを特徴とする 請求の範囲第 2 3項又は第 2 4項に記載の脚式移動ロポッ 卜の自己位置 推定装置。
2 6 . 前記姿勢回転偏差は、 少なくとも前記所定の部位のョー方向の姿 勢回転偏差成分を含むことを特徴とする請求の範囲第 2 3項又は第 2 4 項に記載の脚式移動ロポッ トの自己位置推定装置。
2 7 . 前記幾何学的位置推定手段は、 前記検出された床反力を基に前記 ロポッ トの変形量を推定し、 その推定された変形量を用いて前記第 1の 推定位置を決定することを特徴とする請求の範囲第 2 3項又は第 2 4項 に記載の脚式移動ロポッ トの自己位置推定装置。
2 8 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる 空中期を有する歩容であり、 前記回転中心決定手段は、 前記空中期では 前記ロポッ トの重心に前記回転中心を決定し、 該空中期以外の時期では 実床反力中心点および目標歩容の目標 Z M Fのいずれかの点又はその近 傍に前記回転中心を決定することを特徴とする請求の範囲第 2 3項又は 第 2 4項に記載の脚式移動ロボッ トの自己位置推定装置。
2 9 . 前記動力学的位置推定手段は、 前記第 1の推定位置と第 2の推定 位置との差を 0に近づけるように前記第 2の推定位置を補正することを 特徴とする請求の範囲第 2 3項又は第 2 4項に記載の脚式移動ロポッ ト の自己位置推定装置。
3 0 . 前記口ポッ トの目標歩容は、 口ポッ トの全脚体を空中に浮かせる 空中期を有する歩容であり、 前記動力学的位置推定手段は、 前記空中期 では、 前記第 2の推定位置の補正量を略 0にすることを特徴とする請求 の範囲第 2 3項又は第 2 4項に記載の脚式移動ロボッ トの自己位置推定
3 1 . 少なく とも、 あらかじめ記憶しておいた地図上の床面や障害物な どの対象物の位置情報と、 前記ロポッ トに搭載された撮像装置等の環境 認識手段によって認識された前記対象物に対するロボッ トの相対位置関 係情報を基に、 前記所定の部位の実姿勢の検出値又は推定値と、 前記口 ポッ トの推定位置とのうちの少なくともいずれかを補正する手段を備え たことを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ トの自己 位置推定装置。
3 2 . 少なく とも、 あらかじめ記憶しておいた地図上の床面や障害物な どの対象物の位置情報と、 前記ロボッ トに搭載された撮像装置等の環境 認識手段によつて認識された前記対象物と口ポッ トとの相対位置関係情 報を基に、 前記第 1の推定位置と第 2の推定位置とのうちの少なくとも いずれかを補正する手段を備えたことを特徵とする請求の範囲第 1 0項 に記載の脚式移動ロボッ トの自己位置推定装置。
3 3 . 少なく とも、 あらかじめ記憶しておいた地図上の床面や障害物な どの対象物の位置情報と、 前記ロポッ トに搭載された撮像装置等の環境 認識手段によつて認識された前記対象物とロボッ トとの相対位置関係情 報を基に、 前記第 1の推定位置と第 2の推定位置と前記所定の部位の実 姿勢の検出値又は推定値とのうちの少なくともいずれかを補正する手段 を備えたことを特徴とする請求の範囲第 1 5項又は第 2 3項に記載の脚 式移動ロボッ 卜の自己位置推定装置。
3 4 . 少なく とも、 前記位置推定手段により推定された前記ロボッ トの 位置と、 前記ロボッ トに搭載された撮像装置等の環境認識手段によって 認識された対象物に対する前記口ポッ トの相対位置関係情報を基に、 対 象物の位置を推定する手段を備えたことを特徴とする請求の範囲第 1項 に記載の脚式移動ロボッ 卜の自己位置推定装置。
3 5 . 少なく とも、 前記第 2の推定位置と、 前記口ポッ トに搭載された 撮像装置等の環境認識手段によって認識された対象物に対する前記ロボ ッ トの相対位置関係情報を基に、 対象物の位置を推定する手段を備えた ことを特徴とする請求の範囲第 1 0項、 第 1 5項および第 2 3項のいず れか 1項に記載の脚式移動ロポッ トの自己位置推定装置。
3 6 . 少なく とも前記口ポッ トの推定位置と、 あらかじめ記憶しておい た地図上の床面や障害物などの対象物の位置とを基に、 前記ロポッ トに 搭載された撮像装置等の環境認識手段が注視すべき方向を決定する手段 を備えたことを特徴とする請求の範囲第 1項に記載の脚式移動ロボッ ト の自己位置推定装置。
3 7 . 少なく とも前記第 2の推定位置と、 あらかじめ記憶しておいた地 図上の床面や障害物などの対象物の位置とを基に、 前記ロポッ 卜に搭載 された撮像装置等の環境認識手段が注視すべき方向を決定する手段を備 えたことを特徴とする請求の範囲第 1 0項、 第 1 5項および第 2 3項の いずれか 1項に記載の脚式移動ロポッ トの自己位置推定装置。
PCT/JP2003/005448 2002-04-26 2003-04-28 Dispositif d'estimation automatique de position pour robots mobiles montes sur des jambes WO2003090980A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/512,263 US7337040B2 (en) 2002-04-26 2003-04-28 Self-position estimating device for leg type movable robots
KR1020047017293A KR100956520B1 (ko) 2002-04-26 2003-04-28 다리식 이동 로봇의 자기위치 추정 장치
DE60332224T DE60332224D1 (de) 2002-04-26 2003-04-28 Selbstpositionsabschätzvorrichtung für mobile roboter mit beinen
EP03725698A EP1502712B1 (en) 2002-04-26 2003-04-28 Self-position estimating device for leg type movable robots
JP2004501989A JP4246696B2 (ja) 2002-04-26 2003-04-28 脚式移動ロボットの自己位置推定装置

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
WO2003090980A1 true WO2003090980A1 (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/005448 WO2003090980A1 (fr) 2002-04-26 2003-04-28 Dispositif d'estimation automatique de position pour robots mobiles montes 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

Family Applications Before (1)

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

Family Applications After (1)

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

Country Status (6)

Country Link
US (3) US6963185B2 (ja)
EP (5) EP1502712B1 (ja)
JP (3) JP4181113B2 (ja)
KR (3) KR100956520B1 (ja)
DE (5) DE60332224D1 (ja)
WO (3) WO2003090981A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008284690A (ja) * 2003-03-27 2008-11-27 Sony Corp ロボット装置及びロボット装置の制御方法
JP2008309781A (ja) * 2007-05-11 2008-12-25 Commiss Energ Atom 連接構造の動作をキャプチャするための処理方法
US7541764B2 (en) 2003-11-27 2009-06-02 Honda Motor Co., Ltd. Control system for mobile body
JP2011230213A (ja) * 2010-04-26 2011-11-17 Honda Motor Co Ltd ロボット、制御システムおよび制御プログラム

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3726058B2 (ja) * 2001-12-28 2005-12-14 本田技研工業株式会社 脚式移動ロボットおよびその床反力検出装置
WO2003057423A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de production de demarche pour robot se deplaçant sur des jambes
JP3726057B2 (ja) * 2001-12-28 2005-12-14 本田技研工業株式会社 脚式移動ロボットおよびその床反力検出装置
WO2003057427A1 (fr) * 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot mobile sur jambes
WO2003064116A2 (en) * 2002-01-31 2003-08-07 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
US6963185B2 (en) * 2002-04-26 2005-11-08 Honda Giken Kogyo Kabushiki Kaisha System for estimating attitude of leg type moving robot itself
EP1504858B1 (en) * 2002-04-26 2014-06-04 Honda Giken Kogyo Kabushiki Kaisha Control device and footstep determination device for legged mobile robot
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
EP1642689B1 (en) * 2003-06-27 2011-02-16 Honda Motor Co., Ltd. Controller of legged mobile robot
US8075633B2 (en) 2003-09-25 2011-12-13 Massachusetts Institute Of Technology Active ankle foot orthosis
KR100620118B1 (ko) * 2004-03-31 2006-09-13 학교법인 대양학원 관성센서를 이용한 보행패턴 분석장치 및 그 방법
KR100571839B1 (ko) * 2004-03-31 2006-04-17 삼성전자주식회사 인간형 로봇
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 トヨタ自動車株式会社 歩行ロボット
US7313463B2 (en) * 2005-03-31 2007-12-25 Massachusetts Institute Of Technology Biomimetic motion and balance controllers for use in prosthetics, orthotics and robotics
US8864846B2 (en) 2005-03-31 2014-10-21 Massachusetts Institute Of Technology Model-based neuromechanical controller for a robotic leg
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
US20070123997A1 (en) 2005-03-31 2007-05-31 Massachusetts Institute Of Technology Exoskeletons for running and walking
US8512415B2 (en) 2005-03-31 2013-08-20 Massachusetts Institute Of Technology Powered ankle-foot prothesis
US10080672B2 (en) 2005-03-31 2018-09-25 Bionx Medical Technologies, Inc. Hybrid terrain-adaptive lower-extremity systems
US20060249315A1 (en) 2005-03-31 2006-11-09 Massachusetts Institute Of Technology Artificial human limbs and joints employing actuators, springs, and variable-damper elements
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
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
JP2007007796A (ja) * 2005-07-01 2007-01-18 Toyota Motor Corp 歩行ロボット
JP2007041733A (ja) * 2005-08-01 2007-02-15 Toyota Motor Corp 運動体の姿勢角検出装置
JP2009509779A (ja) * 2005-09-23 2009-03-12 ブレインテック カナダ インコーポレイテッド 視覚追跡のシステム及び方法
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 ヤマザキマザック株式会社 機器移設有無検知装置及びその機器移設有無検知装置を備えた機器
US8437535B2 (en) 2006-09-19 2013-05-07 Roboticvisiontech Llc 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
JP4365402B2 (ja) * 2006-12-20 2009-11-18 本田技研工業株式会社 移動体の移動角度検出装置
JP4143103B2 (ja) 2006-12-20 2008-09-03 本田技研工業株式会社 移動装置、ならびにその制御システム、制御プログラムおよび監督システム
JP4171510B2 (ja) 2006-12-20 2008-10-22 本田技研工業株式会社 移動装置、ならびにその制御システム、制御プログラムおよび監督システム
KR100864607B1 (ko) * 2007-05-31 2008-10-22 한국과학기술원 휴머노이드 이족 보행 로봇을 위한 기울기 센서와 각속도센서를 이용한 관성 측정 장치 및 방법
JP5161498B2 (ja) * 2007-06-18 2013-03-13 株式会社豊田中央研究所 姿勢信号演算装置
KR100922494B1 (ko) * 2007-07-19 2009-10-20 삼성전자주식회사 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
WO2009040885A1 (ja) * 2007-09-25 2009-04-02 Fujitsu Limited ロボット制御装置、ロボット制御方法およびロボット制御プログラム
US20100250177A1 (en) * 2007-11-13 2010-09-30 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 (주)마이크로인피니티 이동 로봇에서의 자이로 센서 오차를 교정하는 장치 및방법
US20110082566A1 (en) 2008-09-04 2011-04-07 Herr Hugh M Implementing a stand-up sequence using a lower-extremity prosthesis or orthosis
US9554922B2 (en) 2008-09-04 2017-01-31 Bionx Medical Technologies, Inc. Hybrid terrain-adaptive lower-extremity systems
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 本田技研工業株式会社 移動体の制御装置
EP2555716A2 (en) 2010-04-05 2013-02-13 Iwalk, Inc. Controlling torque in a prosthesis or orthosis
JP5652042B2 (ja) * 2010-08-06 2015-01-14 セイコーエプソン株式会社 ロボット装置、ロボット装置の制御方法およびプログラム
EP2663267B1 (en) 2011-01-10 2019-07-31 Iwalk, Inc. Powered joint orthosis
US20120259430A1 (en) 2011-01-12 2012-10-11 Zhixiu Han Controlling powered human augmentation devices
US9687377B2 (en) 2011-01-21 2017-06-27 Bionx Medical Technologies, Inc. Terrain adaptive powered joint orthosis
WO2012125562A1 (en) 2011-03-11 2012-09-20 Iwalk, Inc. Biomimetic joint actuators
JP5930892B2 (ja) * 2011-09-07 2016-06-08 本田技研工業株式会社 接触状態推定装置及び軌道生成装置
WO2013067407A1 (en) 2011-11-02 2013-05-10 Iwalk, 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
JP6081081B2 (ja) 2012-05-14 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP5916520B2 (ja) 2012-05-14 2016-05-11 本田技研工業株式会社 倒立振子型車両
JP5959927B2 (ja) 2012-05-14 2016-08-02 本田技研工業株式会社 倒立振子型車両
JP5959928B2 (ja) 2012-05-14 2016-08-02 本田技研工業株式会社 倒立振子型車両
JP5808289B2 (ja) 2012-05-14 2015-11-10 本田技研工業株式会社 倒立振子型車両
JP5921950B2 (ja) 2012-05-14 2016-05-24 本田技研工業株式会社 倒立振子型車両
JP5927032B2 (ja) 2012-05-14 2016-05-25 本田技研工業株式会社 倒立振子型車両
CA2876187C (en) 2012-06-12 2021-01-26 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 本田技研工業株式会社 倒立振子型車両
JP6081271B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6081270B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6111119B2 (ja) 2013-03-29 2017-04-05 本田技研工業株式会社 倒立振子型車両
JP6062784B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
JP6062785B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
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
WO2016142794A1 (en) 2015-03-06 2016-09-15 Wal-Mart Stores, Inc Item monitoring system and method
US20180099846A1 (en) 2015-03-06 2018-04-12 Wal-Mart Stores, Inc. Method and apparatus for transporting a plurality of stacked motorized transport units
US9801517B2 (en) 2015-03-06 2017-10-31 Wal-Mart Stores, Inc. Shopping facility assistance object detection systems, devices and methods
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 北京钢铁侠科技有限公司 具有零点位置检测功能的仿人机器人关节机构
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
US10821614B2 (en) 2016-11-11 2020-11-03 Sarcos Corp. Clutched joint modules having a quasi-passive elastic actuator for a robotic assembly
CN110831725A (zh) * 2017-06-29 2020-02-21 索尼互动娱乐股份有限公司 机器人控制装置、控制方法及控制程序
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
EP3812729A4 (en) 2018-06-22 2021-08-25 Sony Group Corporation SLIP DETECTION DEVICE
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
JP7088318B2 (ja) * 2019-01-11 2022-06-21 オムロン株式会社 制御装置
KR102658278B1 (ko) * 2019-02-20 2024-04-18 삼성전자주식회사 이동형 로봇 및 그것의 로봇 암 정렬 방법
KR20210000095A (ko) * 2019-06-24 2021-01-04 삼성전자주식회사 자세 추정 방법 및 장치
WO2021049227A1 (ja) * 2019-09-13 2021-03-18 ソニー株式会社 情報処理システム、情報処理装置及び情報処理プログラム
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 燕山大学 一种足式机器人腿部一维力传感器标定方法及系统
CN114794953A (zh) * 2022-04-19 2022-07-29 净豹智能机器人(台州)有限公司 基于深度学习的智能清洁机器人贴边清洁系统及方法
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272983A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd 経路計画装置,到着時間予測装置,走行記録保存装置および経路計画/到着時間予測システム
JP2000153476A (ja) * 1998-09-14 2000-06-06 Honda Motor Co Ltd 脚式移動ロボット
EP1120203A1 (en) 1998-04-20 2001-08-01 Honda Giken Kogyo Kabushiki Kaisha Controller for legged mobile robot
WO2002040224A1 (fr) 2000-11-17 2002-05-23 Honda Giken Kogyo Kabushiki Kaisha Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes

Family Cites Families (30)

* 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 本田技研工業株式会社 脚式歩行ロボットの関節構造
DE69124486T2 (de) * 1990-11-30 1997-05-15 Honda Motor Co Ltd System zur Steuerung der Fortbewegung eines Schreitroboters mit Beinen
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
JP3273443B2 (ja) 1992-05-22 2002-04-08 本田技研工業株式会社 ロボットのリンクなどの軌道生成方法及び装置
JP3233450B2 (ja) 1992-05-22 2001-11-26 本田技研工業株式会社 指定時刻到達関数発生器
JP3132156B2 (ja) * 1992-05-22 2001-02-05 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
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
JPH09272083A (ja) * 1996-04-08 1997-10-21 Mitsubishi Electric Corp 2足歩行ロボット
JP3663034B2 (ja) 1996-07-25 2005-06-22 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3672406B2 (ja) * 1997-01-31 2005-07-20 本田技研工業株式会社 脚式移動ロボットの歩容生成装置
JP3629133B2 (ja) 1997-01-31 2005-03-16 本田技研工業株式会社 脚式移動ロボットの制御装置
JP3655056B2 (ja) 1997-08-04 2005-06-02 本田技研工業株式会社 脚式移動ロボットの制御装置
US6260862B1 (en) * 1998-02-11 2001-07-17 Joseph C. Klann Walking device
JP4213310B2 (ja) * 1999-08-30 2009-01-21 本田技研工業株式会社 2足歩行脚式移動ロボット
JP4475708B2 (ja) 1999-11-12 2010-06-09 ソニー株式会社 脚式移動ロボット及びその動作制御方法
JP4480843B2 (ja) * 2000-04-03 2010-06-16 ソニー株式会社 脚式移動ロボット及びその制御方法、並びに、脚式移動ロボット用相対移動測定センサ
JP2002144260A (ja) 2000-11-13 2002-05-21 Sony Corp 脚式移動ロボット及びその制御方法
DE60142850D1 (de) * 2000-11-17 2010-09-30 Honda Motor Co Ltd Fernsteuerung von zweifüssigem roboter
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
JP3726032B2 (ja) * 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
JP4188607B2 (ja) * 2001-06-27 2008-11-26 本田技研工業株式会社 二足歩行移動体の床反力推定方法及び二足歩行移動体の関節モーメント推定方法
WO2003057423A1 (fr) 2001-12-28 2003-07-17 Honda Giken Kogyo Kabushiki Kaisha Dispositif de production de demarche pour robot se deplaçant sur des jambes
WO2003061917A1 (fr) * 2002-01-18 2003-07-31 Honda Giken Kogyo Kabushiki Kaisha Dispositif de commande pour robot bipede
US6963185B2 (en) * 2002-04-26 2005-11-08 Honda Giken Kogyo Kabushiki Kaisha System for estimating attitude of leg type moving robot itself
KR101121020B1 (ko) * 2004-01-13 2012-03-15 혼다 기켄 고교 가부시키가이샤 이동 로봇의 보용생성 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272983A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd 経路計画装置,到着時間予測装置,走行記録保存装置および経路計画/到着時間予測システム
EP1120203A1 (en) 1998-04-20 2001-08-01 Honda Giken Kogyo Kabushiki Kaisha Controller for legged mobile robot
JP2000153476A (ja) * 1998-09-14 2000-06-06 Honda Motor Co Ltd 脚式移動ロボット
WO2002040224A1 (fr) 2000-11-17 2002-05-23 Honda Giken Kogyo Kabushiki Kaisha Dispositif generateur d'un modele de demarche pour robot mobile pourvu de jambes

Non-Patent Citations (1)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008284690A (ja) * 2003-03-27 2008-11-27 Sony Corp ロボット装置及びロボット装置の制御方法
US7541764B2 (en) 2003-11-27 2009-06-02 Honda Motor Co., Ltd. Control system for mobile body
US7603199B2 (en) 2003-11-27 2009-10-13 Honda Motor Co., Ltd. Control device for mobile body
US7606634B2 (en) 2003-11-27 2009-10-20 Honda Motor Co., Ltd. Control device for mobile body
JP2008309781A (ja) * 2007-05-11 2008-12-25 Commiss Energ Atom 連接構造の動作をキャプチャするための処理方法
JP2011230213A (ja) * 2010-04-26 2011-11-17 Honda Motor Co Ltd ロボット、制御システムおよび制御プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2003090980A1 (fr) Dispositif d&#39;estimation automatique de position pour robots mobiles montes sur des jambes
US7664572B2 (en) Control device of legged mobile robot
US8204625B2 (en) Gait creation device of leg-type mobile robot
KR100685339B1 (ko) 이동 로봇
US9120512B2 (en) Control device and gait generating device for bipedal mobile robot
JP4800037B2 (ja) 移動ロボットの歩容生成装置
WO2003090982A1 (fr) Dispositif de commande et dispositif de determination de pas pour robot mobile sur jambes
JP3901694B2 (ja) 歩行式ロボット及びその位置移動方法
JPWO2005068136A1 (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: 2004501989

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10512263

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020047017293

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003725698

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020047017293

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003725698

Country of ref document: EP