When a robot navigates in an outdoor environment, a curb or a sidewalk separated from the road can be used as a robust feature. However, most algorithms could detect the curb only in the straight road, and could not detect highly curved corners, ramps, and so on. This paper proposes an algorithm which enables the robot to detect and follow the curbs in various types of roads. In the proposed method, the robot tilts a laser scanner and computes the error between the predicted and the measured distances to the road in front of the robot. Based on this error, the curbs at corners and curves can be classified. It is also difficult to detect a curb near a ramp because of its low height. In this case, the robot also tilts a laser scanner to detect the curb beyond the ramp. Once the robot classifies the road into the curve, corner, ramp, the robot selects the proper navigation strategies depending on the classified road types and is able to continue to detect and follow the curb. The results of a series of experiments show that the robot can stably detect and follows the curb in curves, corners and ramps as well as the straight road.