A self-learning vehicle control system, the control system comprising: a processor, executing a first neural network and a second neural network and the first neural network is a vehicle model neural network, wherein the vehicle model neural network is a recurrent neural network, and the second neural network is a speed control neural network, and the processor is configured to receive one or more of the following inputs: one or more vehicle control commands; and one or more vehicle status attributes, the one or more vehicle status attributes comprising one or more sequences of states of a vehicle; one or more vehicle status sensors communicably connected with the processor; characterized in that the control system further comprising: an output device communicably connected with the processor and for providing a requested speed profile to a driver or a control system of the vehicle in order to follow the requested speed profile by input of commands to the vehicle, wherein said requested speed profile is defined to enable the self-learning system to cover the entire dynamic range of the vehicle control; wherein the self-learning vehicle control system is configured to first train the vehicle model neural network and then the speed control neural network; wherein during the training of the vehicle model neural network, information including the one or more vehicle control commands and the one or more vehicle status attributes captured by vehicles status sensors connected to a vehicle is supplied to the vehicle model neural network, and an objective calculator determines a difference between an actual velocity and an estimated velocity of the vehicle model neural network and feeds back training update information to update the vehicle model neural network and improves the accuracy; and wherein, after the vehicle model neural network is trained, the speed control neural network is trained using the vehicle model neural network. a processor, executing a first neural network and a second neural network and the first neural network is a vehicle model neural network, wherein the vehicle model neural network is a recurrent neural network, and the second neural network is a speed control neural network, and the processor is configured to receive one or more of the following inputs: one or more vehicle control commands; and one or more vehicle status attributes, the one or more vehicle status attributes comprising one or more sequences of states of a vehicle; one or more vehicle control commands; and one or more vehicle status attributes, the one or more vehicle status attributes comprising one or more sequences of states of a vehicle; one or more vehicle status sensors communicably connected with the processor; characterized in that the control system further comprising: an output device communicably connected with the processor and for providing a requested speed profile to a driver or a control system of the vehicle in order to follow the requested speed profile by input of commands to the vehicle, wherein said requested speed profile is defined to enable the self-learning system to cover the entire dynamic range of the vehicle control; wherein the self-learning vehicle control system is configured to first train the vehicle model neural network and then the speed control neural network; wherein during the training of the vehicle model neural network, information including the one or more vehicle control commands and the one or more vehicle status attributes captured by vehicles status sensors connected to a vehicle is supplied to the vehicle model neural network, and an objective calculator determines a difference between an actual velocity and an estimated velocity of the vehicle model neural network and feeds back training update information to update the vehicle model neural network and improves the accuracy; and wherein, after the vehicle model neural network is trained, the speed control neural network is trained using the vehicle model neural network. an output device communicably connected with the processor and for providing a requested speed profile to a driver or a control system of the vehicle in order to follow the requested speed profile by input of commands to the vehicle, wherein said requested speed profile is defined to enable the self-learning system to cover the entire dynamic range of the vehicle control; wherein the self-learning vehicle control system is configured to first train the vehicle model neural network and then the speed control neural network; wherein during the training of the vehicle model neural network, information including the one or more vehicle control commands and the one or more vehicle status attributes captured by vehicles status sensors connected to a vehicle is supplied to the vehicle model neural network, and an objective calculator determines a difference between an actual velocity and an estimated velocity of the vehicle model neural network and feeds back training update information to update the vehicle model neural network and improves the accuracy; and wherein, after the vehicle model neural network is trained, the speed control neural network is trained using the vehicle model neural network.