Based on a detected or estimated value of an actual posture of a
predetermined part, such as a body 3, of a robot 1 and a deviation the
actual posture from a posture of a desired gait, a posture rotational
deviation's variation is determined as the temporal variation of the
deviation, and the position of the robot 1 (for example, the position
where the robot comes into contact with a floor) is estimated on the
assumption that the robot 1 rotates about a rotation center by the
rotational deviation's variation. In addition, in accordance with the
difference between the estimated position and the estimated position of
the robot 1 determined by an inertial navigation method using an
accelerometer or the like, the estimated position of the robot 1
determined by the inertial navigation method is corrected, thereby
improving the precision of the estimated position.