Patent ID: 8473208

Claim:
A velocity calculating device comprising: a processor; a vertical acceleration detector mounted on a moving body that travels on a predetermined travel surface, the vertical acceleration detector detecting an acceleration in a vertical direction, generated due to an undulation of the travel surface, based on detecting an acceleration on three different axes; a horizontal angular velocity detector mounted on the moving body, the horizontal angular velocity detector detecting an angular velocity around a horizontal axis that is perpendicular to a direction of travel of the moving body, the angular velocity being generated due to the undulation of the travel surface; a velocity calculator, implemented by the processor, that calculates a velocity of the moving body in the direction of travel of the moving body on the basis of the acceleration in the vertical direction and the angular velocity around the horizontal axis; and a velocity corrector that corrects the calculated velocity of the moving body, wherein the velocity corrector corrects the velocity by inputting the velocity to a function having the velocity as a variable and having a predetermined constant, the velocity calculating device further comprising: a velocity detector that detects the velocity of the moving body in the direction of travel of the moving body and sets the velocity as a reference velocity; and a constant updater that updates the constant on the basis of the reference velocity and the velocity when the reference velocity is detectable, wherein, when the reference velocity is not detectable, the velocity corrector corrects the velocity by inputting the velocity to the function having the constant that is updated by the constant updater, a velocity detector that detects the velocity of the moving body in the direction of travel of the moving body and sets the velocity as a reference velocity, wherein the velocity calculator extracts a maximum value and a minimum value of the acceleration in the vertical direction in a predetermined period respectively as a maximum acceleration and a minimum acceleration, extracts a maximum value and a minimum value of the angular velocity around the horizontal axis in the predetermined period respectively as a maximum angular velocity and a minimum angular velocity, and calculates the velocity by dividing a difference between the maximum acceleration and the minimum acceleration by a difference between the maximum angular velocity and the minimum angular velocity, and wherein the function is obtained by substituting the maximum acceleration, the minimum acceleration, the maximum angular velocity, and the minimum angular velocity with variables including the radius of curvature of the undulation of the travel surface and the reference velocity in an equation for calculating the velocity and by solving the equation with respect to the reference velocity.