Patent Description:
Control strategies often require large amounts of tuning and in-field testing to drive a vehicle at an acceptable performance. Field tuning requires highly skilled control engineers to tune the vehicle's propulsion and braking control systems to drive the vehicle while consistently respecting predetermined safety and performance constraints including accurate stopping at each destination.

To be able to carry out testing with a high level of reliability, works have been carried out. In particular, "<NPL>", "<NPL> and "<NPL>", which implement neural networks, can be cited. The first document presents a self-learning vehicle control system comprising a vehicle dynamic model based on a neural network and a driver model of autonomous vehicle's longitudinal speed control based on a neural network. The self-learning system presented in this document is aimed for controlling the longitudinal speed with precise accuracy. The second document also introduces a neural network automotive speed controller. This device is composed of a detailed nonlinear dynamical vehicle model and of a neural network speed controller where the neural network speed controller is trained on a detailed nonlinear dynamical vehicle model. The third document presents that adaptive neural networks can solve nonlinear adaptive control problems that are very difficult to solve with conventional methods. Although, the first and second documents present the application of neural networks to the driving of autonomous vehicles, the techniques presented in these documents do not make possible to achieve rapid implementation.

<FIG> is a schematic view of a system <NUM> for executing a self-learning vehicle control system in accordance with one or more embodiments. System <NUM> includes a hardware processor <NUM> and a non-transitory, computer readable storage medium <NUM> encoded with, i.e., storing, the computer program code <NUM>, i.e., a set of executable instructions. The processor <NUM> is electrically coupled to the computer readable storage medium <NUM> via a bus <NUM>. The processor <NUM> is also electrically coupled to an I/O interface <NUM> by bus <NUM>. A network interface <NUM> is also electrically connected to the processor <NUM> via bus <NUM>. Network interface <NUM> is connected to a network <NUM>, so that processor <NUM> and computer readable storage medium <NUM> are capable of connecting to external elements via network <NUM>. The processor <NUM> is configured to execute the computer program code <NUM> encoded in the computer readable storage medium <NUM> in order to cause system <NUM> to be usable for performing a portion or all of the operations as described.

In some embodiments, the processor <NUM> is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application specific integrated circuit (ASIC), and/or a suitable processing unit.

In some embodiments, the computer readable storage medium <NUM> is an electronic, magnetic, optical, electromagnetic, infrared, and/or a semiconductor system (or apparatus or device). For example, the computer readable storage medium <NUM> includes a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and/or an optical disk. In some embodiments using optical disks, the computer readable storage medium <NUM> includes a compact disk-read only memory (CD-ROM), a compact disk-read/write (CD-R/W), and/or a digital video disc (DVD).

In some embodiments, the storage medium <NUM> stores the computer program code <NUM> configured to cause system <NUM> to perform a method. In some embodiments, the storage medium <NUM> also stores information needed for performing the method as well as information generated during performing the method, such as data and/or parameters and/or information <NUM> and/or a set of executable instructions <NUM> to perform the operation of the method.

System <NUM> includes I/O interface <NUM>. I/O interface <NUM> is coupled to external circuitry. In some embodiments, I/O interface <NUM> includes a keyboard, keypad, mouse, trackball, trackpad, and/or cursor direction keys for communicating information and commands to processor <NUM>.

System <NUM> also includes network interface <NUM> coupled to the processor <NUM>. Network interface <NUM> allows system <NUM> to communicate with network <NUM>, to which one or more other computer systems are connected. Network interface <NUM> includes wireless network interfaces such as BLUETOOTH, WIFI, WIMAX, GPRS, or WCDMA; or wired network interface such as ETHERNET, USB, or IEEE-<NUM>. In some embodiments, the method is implemented in two or more systems <NUM>, and information is exchanged between different systems <NUM> via network <NUM>.

System <NUM> is configured to receive information through I/O interface <NUM>. The information is transferred to processor <NUM> via bus <NUM>.

In at least some embodiments, program code <NUM> comprises one or more neural networks. A neural network, or artificial neural network (ANN), includes one or more computing platforms performing machine learning to solve problems in a manner similar to a biological brain, e.g., a human brain. To do so, the neural network includes a plurality of nodes, or artificial neurons, connected together to simulate neurons in a biological brain. Nodes of a neural network are arranged in layers. A signal travels from an input layer through multiple layers of the neural network to an output layer. As the signal travels through the neural network, the signal is modified by weights of the nodes and/or weights of connections among the nodes. The weights are adjusted as learning or training proceeds in the neural network. Examples of neural networks include, but are not limited to, recurrent neural network, multilayer perceptron, convolutional neural network and similar.

In at least one embodiment, the ANN is a recurrent neural network trained based on a sequence of states of the vehicle. In at least one embodiment, the training of the neural network is not based on an immediate measured state of the vehicle. For example, as described herein, the training of the vehicle module is directed at a sequence of accelerations. In at least some embodiments, the sequence of accelerations includes historical sequences of accelerations over a given time period. In at least some embodiments, the training of the vehicle module neural network includes training for velocity in addition to acceleration. For example, in accordance with the description herein, the training of the vehicle module is directed at a sequence of velocities. In at least some embodiments, the sequence of velocities includes historical sequences of velocities over a given time period.

In at least one embodiment, the training of the neural networks is based on an overdetermination test in order to minimize the data input required to test and validate the vehicle module. This approach is in contrast to other approaches using arbitrary historic data.

An embodiment of the self learning vehicle control system is usable in conjunction with a rail vehicle operating on a guideway. The self learning vehicle control system is usable in conjunction with vehicles other than rail vehicles, e.g., automotive vehicles, watercraft, aerospace vehicles, rovers or drones or the like.

In at least one embodiment, the self learning process is performed automatically without manual tuning by field application engineers and without disruption to revenue service. In the given embodiment, the self learning process operates in a "shadow" mode of operation while the vehicle is manually operated by the driver or by another control system in an automatic train operation (ATO), driverless, or unattended mode of operation.

The self learning process is performed in <NUM> stages. In one stage, a vehicle model is characterized based on a vehicle operated on the guideway in real time. In another stage, a speed controller is built, either on-line or off-line, based on the vehicle model developed in the other stage in order to prepare the speed controller for in the field application. The foregoing self learning process is much faster, lower cost, more efficient, and adherent to trip constraints than other processes which require manual tuning of the speed controller and significant software development on a vehicle-by-vehicle basis.

One or more embodiments involve an on-board computer, such as system <NUM> having one or more interfaces, such as I/O interface <NUM>, to connect with position, speed, acceleration, and angular speed measurement sensors, along with two neural networks. As described, the neural networks are executed as part of program code <NUM>. In some embodiments, the neural networks are separate from system <NUM>. According to an embodiment, one neural network (a vehicle model neural network) learns to model the vehicle's dynamic behavior and the other neural network (an automatic speed control neural network) teaches itself to drive the vehicle with propulsion and braking control commands while respecting user's or system predefined constraints. In at least one embodiment, the vehicle includes a single neural network as part of the on-board computer during a training phase. In such an embodiment, the single neural network is a vehicle model neural network described below.

In at least one embodiment, a communication based train control (CBTC) system is able to operate in ATO, driverless or unattended modes of operation where the on-board computer, e.g., processor <NUM>, commands the requested propulsion and braking effort, along with coasting, to the vehicle's control systems. An embodiment of the program code <NUM> of the self learning vehicle control system comprises at least two modules: a vehicle model and an automatic speed controller. In at least one embodiment, the two modules each comprise a neural network, a vehicle model neural network and an automatic speed control neural network.

With respect to the vehicle model neural network module (also referred to as a vehicle module), the vehicle module characterizes the vehicle in terms of its kinematic properties (including, but not limited to, speed, acceleration, and angular speed in three dimensions (3D)) in response to vehicle control commands. Vehicle control commands include propulsion effort, braking effort, and coasting instructions input by a driver of the vehicle or a control system controlling the vehicle. The vehicle characterization is performed in consideration of the vehicle's geographic location on the guideway (including, but not limited to, grade, curvature, and superelevation) to determine the vehicle control loop properties. Vehicle control loop properties include, but are not limited to, response time, lag, frequency, and amplitude response to various control commands such as step commands in both steady-state and non-steady-state behavior. The vehicle module is executed while the vehicle is operated on the actual guideway controlled by the driver or by a control system. In at least one embodiment, the vehicle module takes into consideration environment factors impacting the vehicle kinematics, e.g., grade, curvature, and elevation.

During characterization, the self learning system requests a predefined speed profile for the vehicle which the driver or control system is expected to follow by input of commands to the vehicle. In at least some embodiments, the predefined speed profile comprises speed, acceleration, and braking parameters. The self learning system then monitors the propulsion, braking, or other input commands along with vehicle status attributes. The vehicle status attributes include the vehicle location on the guideway and the vehicle speed, acceleration, and angular velocity. The monitoring is performed in real time while the vehicle is controlled by the driver or the control system. Each of the monitored vehicle status attributes is sampled at a predefined sampling rate. In some embodiments, the predefined sampling rate is twice the input rate required by the vehicle control systems. In some embodiments, the predefined sampling rate is four times the input rate required by the vehicle control systems. In some embodiments, the predefined sampling rate is greater or lesser than twice the input rate required by the vehicle control systems. A larger predefined sampling rate incurs greater bandwidth, storage, and processing costs at the benefit of a higher theoretical modeling accuracy. A smaller predefined sampling rate incurs fewer bandwidth, storage, and processing costs.

In some embodiments, the vehicle control systems includes the vehicle propulsion and braking control systems. In some embodiments, the vehicle control systems includes the vehicle propulsion, steering, and braking control systems. In some embodiments, further control systems are included in the vehicle control systems.

In at least some embodiments, the monitored vehicle input commands, e.g., propulsion and braking effort commands, cover the entire dynamic range of the vehicle control in terms of speed range, acceleration/deceleration range, step (having various magnitudes and durations) commands, linear gradual commands having various slopes and durations and similar. The entire dynamic range is requested, in the form of the requested predefined speed profile to enable the self learning system to cover the dynamic range of the vehicle control.

At least one intent of covering the dynamic range of the vehicle control is to enable the self learning system to learn vehicle behavior in as many driving scenarios as possible while using the least amount of guideway time possible. In this manner, the risk of poor driving control when driving at non-standard extremes is mitigated. The requested predefined driving profile from the system is optimized to actuate as much of the model dynamics as possible while using the least amount of guideway driving time. In some embodiments, the requested predefined driving profile causes a driver or controller to execute a majority (i.e., <NUM>% or more) of a range of at least one of the vehicle control commands. For example, a predefined driving profile requests an actual propulsion effort command to drive the vehicle at different propulsion levels covering more than <NUM>% of the possible propulsion levels of the vehicle. In at least one embodiment, the requested predefined driving profile causes a driver or controller to execute at least <NUM>% of a range of at least one of the vehicle control commands. In some embodiments, the predefined driving profile reduces the number of switches from motoring to braking to also reduce a strain in drive relays on the vehicle. An ANN algorithm is used to process the commands issued by the driver or the control system in view of the predefined speed profile requested by the self learning system to monitor the measured vehicle status, e.g., 3D speed, 3D acceleration, and 3D angular velocity. The ANN algorithm, through the application of training techniques, determines the vehicle response properties with the goal of generating a model of the real vehicle, i.e., the vehicle model neural network. In at least some embodiments, the model is an optimal model or the real vehicle as a result of applying optimal training techniques to the ANN algorithm. The vehicle model is considered trained when the fit error on an independent validation dataset is less than a predefined tolerance. In effect, the error between predicted and real acceleration is within tolerance for the acceleration profile, in at least some embodiments.

In at least one embodiment, the vehicle module includes the capability to receive inputs corresponding to one or more of actual propulsion effort commands, actual braking effort commands, a requested speed, a change in the requested speed (including magnitude, and increase or decrease thereof), a requested acceleration/deceleration, a change in the requested acceleration (including magnitude, and increase or decrease thereof), a measured vehicle location, a measured vehicle speed, a measured vehicle acceleration, and a measured vehicle angular speed.

The vehicle being operated on the guideway by a driver or a control system includes one or more of position (location) sensor(s), speed sensor(s), acceleration sensor(s), angular speed sensor(s), and a display. In some embodiments, additional sensors are employed depending on the vehicle capabilities. In some embodiments, the position (location) sensor(s) include, but are not limited to, a GPS receiver, camera, ultra wide band (UWB) sensor, radar, LIDAR, and/or thermal camera. In some embodiments, the speed sensor(s) include, but are not limited to, a GPS receiver, camera, ultra wide band (UWB) sensor, radar, LIDAR, and/or thermal camera. In some embodiments, the acceleration sensor(s) include, but are not limited to, an inertial measurement unit (IMU). In some embodiments, the angular speed sensor(s) include, but are not limited to, an IMU. In some embodiments, the display is used to display the requested speed and acceleration commands. In some embodiments, the display is used to display steering commands.

<FIG> is a block diagram of a vehicle used in a training phase, in accordance with an embodiment. <FIG> depicts a vehicle <NUM> and a guideway <NUM> along which the vehicle will travel and be commanded. Vehicle <NUM> includes an on-board computer, e.g., system <NUM>, along with several sensors, e.g., an accelerometer, LIDAR, radar, and a camera, a display, and the vehicle control interface. The driver operates the vehicle <NUM> using one or more driving levers which are part of the vehicle control interface. In at least some embodiments, the camera monitors the position of the driving levers in order to capture the driver input commands, e.g., propulsion and/or braking commands. In at least some embodiments, the driving levers supply the information directly to the computer without the need for the camera. The guideway <NUM> includes a radar retroreflector for redirecting a radar signal from the radar to the vehicle. In some embodiments, the guideway <NUM> does not include the radar retroreflector. The display displays the predefined speed profile to the driver.

With respect to the automatic speed control neural network (also referred to as a speed control module), the speed control module defines a speed control law to drive the vehicle via the vehicle commands, e.g., propulsion and/or braking commands, subject to further operational constraints related to the required vehicle operation. In at least some embodiments, the speed control module defines an optimal speed control law for driving the vehicle.

In some embodiments, the further operational constraints include, but are not limited to, minimal platform-to-platform travel time, minimal line (start-to-end) travel time, energy consumed (platform-to-platform) is no greater than a specific energy threshold, energy consumed (start-to-end) is no greater than a specific energy threshold, final platform alignment displacement error, minimal relay switching between motoring and braking modes, minimal passenger discomfort from the driving strategy, and other similar constraints. The speed control module is executed on the ANN in simulation based on an already established vehicle module. In this manner, because the vehicle module is already established cost is lowered due to the reduced or eliminated need to employ expensive real guideway time for training of the speed control module.

By applying training techniques, the ANN algorithm for the speed control module determines the vehicle commands, e.g., propulsion and/or braking commands, while the operational constraints are met. In some embodiments, different operational constraints are applied depending on the particular system operational environment and configuration. For example, in some embodiments, minimum platform-to-platform travel time while respecting energy thresholds from a first threshold to a second threshold in energy threshold steps is applied in some embodiments. That is, particular constraints and/or combination of constraints are applied to the speed control module in order to teach the speed control module to handle particular scenarios.

After the speed control module is trained, the self learning vehicle control system is ready for operational deployment on a vehicle on a guideway. In some embodiments, the training for the speed control module is able to be executed in parallel with the training for the vehicle module, thus allowing for fast training and fast deployment. According to at least some embodiments, a full optimal ANN automatic speed controller is developed prior to the driver or control system has completed the requested speed profile. The speed controller is considered trained when it successfully completes a portfolio of validation scenarios to within a set tolerance (e.g., no overspeed and jerk, acceleration, braking, arrival time, energy usage and stopping errors are within predefined tolerances).

In at least one embodiment, the speed control module includes a simulator capable of simulating position (location), speed, acceleration, and angular speed of the vehicle. In at least one embodiment, the speed control module includes an interface for receiving the operational constraints, e.g., reading of constraints in the form of rules from a file or database. In at least one embodiment, the speed control module includes an interface for receiving drive criteria definitions. Drive criteria include constraints which define the limits on the control system's behavior (e.g., speed, jerk, acceleration, braking, arrival time, energy usage and stopping error limits).

<FIG> is a block diagram of a self learning vehicle control system, in accordance with some embodiments. As depicted in <FIG>, the upper portion of the diagram includes the vehicle module training phase for teaching the vehicle module the kinematics and operational profile of the vehicle. The vehicle module training phase includes operation of the vehicle on a guideway by a driver or control system responsive to a predefined speed profile. Information including driver commands and vehicle status is captured by sensors connected to the vehicle is supplied to the vehicle module, i.e., the neural network vehicle model, and an objective calculator determines a difference between the actual velocity and the estimated velocity of the module and feeds back training update information to update the vehicle module and improve the accuracy.

After the vehicle module is trained, the vehicle module is used in connection with the training of the speed control module in the lower portion of the diagram. Due to the use of the vehicle module, the speed control module is able to be trained on multiple varying scenarios without the need to drive a vehicle on a real guideway. The speed control module generates one or more vehicle control commands in response to receipt of one or more of a speed profile for the vehicle, a guideway attribute (e.g., a guideway inclination value), or a vehicle status attribute (e.g., one or more of a vehicle velocity, vehicle acceleration, or vehicle position). The vehicle module receives the generated one or more vehicle control commands and updates one or more of the vehicle velocity, vehicle acceleration, or vehicle position based on the learned vehicle kinematics as captured in the vehicle module. During execution, an objective calculator provides updates to train the speed control module based on the speed profile and the vehicle status attribute, e.g., vehicle position.

In at least some embodiments, there are several phases to operation of the self learning system.

<FIG> is a flow chart of a method <NUM> of operating a self learning vehicle control system. In some embodiments, method <NUM> is performed by an on-board computer, e.g., system <NUM>. In some embodiments, additional steps may be performed before, during, or after the steps depicted. In some embodiments, the steps may be performed in a different order to accomplish the same function.

Method <NUM> includes a step <NUM> in which the system generates driving patterns, e.g., predefined speed profile, for the driver or control system to follow. The profile is optimized to use a wide range of the vehicle capabilities in terms of propulsion, coasting, and/or braking efforts. The profile includes commands as described above including step (of various magnitudes and durations), linear change (of various slopes and durations), commands to characterize the vehicle dynamic response (time, lag, frequency, and amplitude) over the operating envelope of the vehicle and its possible driving/control states.

The flow proceeds to step <NUM> in which the system records the vehicle control positions and/or the vehicle input commands and records the vehicle status. As the driver or control system follows the predefined speed profile requested by the system while respecting safety constraints, a sensor (such as but not limited to a camera) records the position of the control levers set by the driver or control system. In an embodiment in which the driver lever position is difficult or impractical to capture through computer imaging, a direct hardware interface is used to read the control lever position(s). In at least some embodiments, a computer vision algorithm is used to decode the control lever position to determine the propulsion and/or braking effort commands sent to the vehicle control system. In an embodiment in which the vehicle is controlled by a control system, the driver lever position is recorded through the commands sent to the vehicle control systems by the control system.

The flow proceeds to step <NUM> in which the vehicle module is trained based on the input commands and vehicle status. In some embodiments, a speed sensor, such as but not limited to radar or LIDAR, records the speed of the vehicle and the range to retroreflecting elements along the track at defined intervals. As depicted in <FIG>, the retro-reflectors are mounted in the middle of the track and are small enough to allow the vehicle to pass over. In some embodiments, the retro-reflectors are arranged to display as large radar cross-section targets on a radar. In some embodiments, an IMU detects acceleration and angular speed observed due to the propulsion and/or braking efforts commanded by the driver or control system. In some embodiments, the IMU is mounted near the bogies on multiple portions of the vehicle in order to more accurately capture cross-vehicle forces and complex track grades. The readings from the sensors are sensor-fused to determine the 3D heading of the vehicle, in at least one embodiment. The sensor readings are synchronized and recorded with a timestamp.

The captured sensor data and input commands having been fed in training to the vehicle module ANN, the vehicle module learns the vehicle's dynamic model which maps propulsion and/or braking efforts to control commands with the vehicle response characteristics such as 3D acceleration, 3D speed, and/or 3D displacement. The self learning vehicle control system records the commands which result in the propulsion and/or braking efforts and the measured speed, acceleration, and angular speed as inputs and the speed, acceleration, and angular speed in the next cycle (next time-step) as a training target. Backpropagation is used to train the self learning vehicle control system, and in particular, the vehicle module, to minimize the objective and resultantly capture the vehicle's dynamic model along with the entire delay, frequency response, cross-car forces and disturbance models available.

As the driver or control system continues to follow the predefined speed profile, the vehicle module ANN improves its knowledge characterizing the vehicle's dynamics more precisely through on-line training. On-line training is intended to cover instances in which the vehicle is operating in the real world along a guideway. Off-line training is intended to cover instances in which a simulation of the vehicle and/or components are executed to move a simulated vehicle along a simulated guideway.

In some embodiments, the vehicle module is repeatedly tested in real-time to predict the response to requested driving commands, e.g., in the form of the predefined speed profile, while training.

The flow proceeds to step <NUM> in which the vehicle module performance is tested against real world information to determine whether the vehicle module achieves an expected accuracy threshold. The vehicle module is considered trained when the fit error on an independent validation dataset is less than a predefined tolerance. In effect, the error between predicted and real acceleration is within tolerance for the speed/acceleration profile, in at least some embodiments. If the accuracy threshold is not met, the flow returns to step <NUM> for additional training of the vehicle module.

After the vehicle module meets or exceeds the accuracy threshold, the vehicle module ANN stops learning and the speed control module starts learning how to control the vehicle in step <NUM>. In simulation, the speed control module drives the vehicle in the form of interacting, e.g., issuing control commands to the simulated vehicle, with the vehicle module. In some embodiments, the speed control module is executed through multiple randomized training scenarios for controlling the vehicle. In some embodiments, the speed control module is executed through millions of training scenarios. In some embodiments, the execution of the speed control module through training scenarios is performed in parallel, i.e., multiple training scenarios are executed in parallel.

In at least some embodiments, the speed control module is executed through scenarios having training objectives including, but not limited to, minimum driving time, minimum overspeed, minimum passenger discomfort, minimum stop overshoot, minimum energy, minimum switching from motoring to braking, and/or other similar objectives. Passenger discomfort can be quantified as high jerk motions, high motoring/braking effort or any oscillatory driving behavior (e.g. large amount of cycling from motoring to braking and vice versa). Passenger discomfort is caused by one or more of a longitudinal jerk, longitudinal acceleration, lateral acceleration, and/or vertical acceleration, in at least one embodiment. The passenger discomfort is possible in a positive or negative motion, e.g., forward or reverse acceleration. In at least one embodiment, a maximum longitudinal jerk value is <NUM> meter/second<NUM>. In at least one embodiment, a maximum discomfort in a direction of acceleration is ½ gravity. The training objectives are limited by constraints including, but not limited to, minimum and/or maximum speed limits, minimum and/or maximum arrival time limits, and/or minimum and/or maximum jerk limits.

The flow proceeds to step <NUM> in which the speed control module performance is tested against real world information to determine whether the vehicle module achieves an expected accuracy threshold. The speed control module is considered trained when the fit error on an independent validation dataset is less than a predefined tolerance. In effect, the error between predicted and real acceleration is within tolerance for the speed/acceleration profile, in at least some embodiments. If the accuracy threshold is not met, the flow returns to step <NUM> for additional training of the vehicle module.

The flow proceeds to step <NUM> in which the speed control module is deployed to a vehicle. The speed control module is activated and generates control commands to the vehicle control systems. In at least some embodiments, the control commands are presented to a driver of the vehicle. The control commands include propulsion, braking, and/or coasting commands to bring the vehicle to the next station while minimizing the objectives described above. During execution of the commands by the vehicle, the actual position of the vehicle on the guideway is fed back to the speed control module from sensors including, but not limited to, GPS, LIDAR, and/or radar. In at least some embodiments, retro-reflecting elements installed on the guideway are used to provide position of the vehicle. In some embodiments using retro-reflecting elements, the range measured to the retro-reflecting elements at the platform stopping locations provides a metric by which to assess the stopping accuracy achieved by the speed control module.

Successful completion of transiting to a next station subject to constraints, such as those described above, and performance with respect to the objectives, such as those described above, results in a determination that the speed control module can be deployed to a system in the field.

After deployment in the field and integration of vehicle control and sensor interfaces with the speed control module, the speed control module is able to train itself in real time to adapt to the changing real life vehicle model when the vehicle performance begins to deteriorate over its lifespan. For example, as the braking system degrades due to normal wear and tear and stopping distances increase, the speed control module is able to learn the new vehicle performance parameters and adjust the vehicle control commands issued to the driver and/or control system.

In some embodiments, a guideway is a track, rail, roadway, cable, series of reflectors, series of signs, a visible or invisible path, a projected path, a laser-guided path, a global positioning system (GPS)-directed path, an object-studded path or other suitable format of guide, path, track, road or the like on which, over which, below which, beside which, or along which a vehicle is caused to travel.

Claim 1:
A self-learning vehicle control system, the control system comprising:
a processor (<NUM>), 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 (<NUM>) 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 (<NUM>);
one or more vehicle status sensors communicably connected with the processor (<NUM>);
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.