A self-location calculating device comprising: a light projector installed in a vehicle, and configured to project a patterned light onto a road surface around the vehicle; an image capturing unit installed in the vehicle, and configured to capture and obtain an image of the road surface around the vehicle including an area onto which the patterned light is projected; an attitude angle calculation unit configured to calculate a distance and an attitude angle of the vehicle relative to the road surface from a position of the patterned light on the image obtained by the image capturing unit; an attitude change amount calculation unit configured to calculate an amount of change in the attitude of the vehicle, which includes an amount of change in the distance and attitude angle of the vehicle relative to the road surface and an amount of movement of the vehicle on the road surface based on temporal changes in a plurality of feature points on the road surface on the image obtained by the image capturing unit; a self-location calculation unit configured to calculate a current position and a current attitude angle of the vehicle by setting the position of the vehicle, which is obtained when the attitude angle calculation unit calculates the distance and the attitude angle, as an initial position of the vehicle and adding the amount of change in the attitude to the initial position and the attitude angle of the vehicle; and a road surface condition determination unit configured to determine whether or not a condition of the road surface around the vehicle changes as much as or more than a threshold value by detecting a change in the condition of the road surface, the road surface condition determination unit being further configured to estimate the change in the condition of the road surface from an amount of change in a height of the road surface, wherein when the road surface condition determination unit determines that the condition of the road surface changes as much as or more than the threshold value, the self-location calculation unit is configured to calculate the current position and the current distance and attitude angle of the vehicle relative to the road surface by adding the amount of change in the attitude to the current position and the current attitude angle of the vehicle which are calculated in a previous information process cycle, instead of using the distance and attitude angle of the vehicle calculated by the attitude angle calculation unit in a current information process cycle. a light projector installed in a vehicle, and configured to project a patterned light onto a road surface around the vehicle; an image capturing unit installed in the vehicle, and configured to capture and obtain an image of the road surface around the vehicle including an area onto which the patterned light is projected; an attitude angle calculation unit configured to calculate a distance and an attitude angle of the vehicle relative to the road surface from a position of the patterned light on the image obtained by the image capturing unit; an attitude change amount calculation unit configured to calculate an amount of change in the attitude of the vehicle, which includes an amount of change in the distance and attitude angle of the vehicle relative to the road surface and an amount of movement of the vehicle on the road surface based on temporal changes in a plurality of feature points on the road surface on the image obtained by the image capturing unit; a self-location calculation unit configured to calculate a current position and a current attitude angle of the vehicle by setting the position of the vehicle, which is obtained when the attitude angle calculation unit calculates the distance and the attitude angle, as an initial position of the vehicle and adding the amount of change in the attitude to the initial position and the attitude angle of the vehicle; and a road surface condition determination unit configured to determine whether or not a condition of the road surface around the vehicle changes as much as or more than a threshold value by detecting a change in the condition of the road surface, the road surface condition determination unit being further configured to estimate the change in the condition of the road surface from an amount of change in a height of the road surface, wherein when the road surface condition determination unit determines that the condition of the road surface changes as much as or more than the threshold value, the self-location calculation unit is configured to calculate the current position and the current distance and attitude angle of the vehicle relative to the road surface by adding the amount of change in the attitude to the current position and the current attitude angle of the vehicle which are calculated in a previous information process cycle, instead of using the distance and attitude angle of the vehicle calculated by the attitude angle calculation unit in a current information process cycle.