A computer-implemented method of operating an autonomous vehicle, comprising: determining a first state of the autonomous vehicle from among a number of states based on current information of the autonomous vehicle and historical information of the autonomous vehicle, wherein the number of states includes an initial state, a stop state, a normal state, an abnormal state and/or an end state, wherein the autonomous vehicle is configured to be in an autonomous driving mode, wherein the historical information includes a previous trajectory of the autonomous vehicle, a previous speed of the autonomous vehicle, information indicating whether the autonomous vehicle was previously accelerating, information indicating whether the autonomous vehicle was previously decelerating, a previous state of the autonomous vehicle, and previous conditions satisfied by the autonomous vehicle; determining whether one or more conditions have been satisfied based on the current information and the historical information; determining, based on the one or more conditions that are determined to have been satisfied, a next state of the autonomous vehicle from among the number of states and a transition of the autonomous vehicle from the first state to the next state; the method being characterized by further comprising: selecting, based on the transition of the autonomous vehicle from the first state to the next state, one of a plurality of motion plans, wherein said motion plan is selected from said plurality of motions plans using a lookup table storing a correspondence between the transition of the autonomous vehicle and the motion plan, wherein the selected motion plan is utilized to control the autonomous vehicle subsequently. determining a first state of the autonomous vehicle from among a number of states based on current information of the autonomous vehicle and historical information of the autonomous vehicle, wherein the number of states includes an initial state, a stop state, a normal state, an abnormal state and/or an end state, wherein the autonomous vehicle is configured to be in an autonomous driving mode, wherein the historical information includes a previous trajectory of the autonomous vehicle, a previous speed of the autonomous vehicle, information indicating whether the autonomous vehicle was previously accelerating, information indicating whether the autonomous vehicle was previously decelerating, a previous state of the autonomous vehicle, and previous conditions satisfied by the autonomous vehicle; determining whether one or more conditions have been satisfied based on the current information and the historical information; determining, based on the one or more conditions that are determined to have been satisfied, a next state of the autonomous vehicle from among the number of states and a transition of the autonomous vehicle from the first state to the next state; the method being characterized by further comprising: selecting, based on the transition of the autonomous vehicle from the first state to the next state, one of a plurality of motion plans, wherein said motion plan is selected from said plurality of motions plans using a lookup table storing a correspondence between the transition of the autonomous vehicle and the motion plan, wherein the selected motion plan is utilized to control the autonomous vehicle subsequently.