Systems and methods for providing autonomous train driving strategy
Systems and method for operating a train are described herein. The train may include a plurality of nodes configured to detect a plurality of train variables and a train controller. The train controller including a memory storing computer-executable instructions; and a processor. The processor may be configured to receive a train model which may be configured to be used by a computation engine of the train controller to generate an output. The output may be displayed on an output device on the train controller. A human-user may input an indication into the train controller indicating that the generated output may be insufficient. The node data may be collected at a result of the input and transmitted to a train model generator.
1 . A train system, comprising:
a plurality of nodes configured to detect a plurality of train variables using at least one sensor, wherein the plurality of nodes generates node data associated with at least a dynamic environment around the train during movement of the train along tracks; and
a train controller, the train controller comprising:
an input device;
an output device;
a memory storing computer-executable instructions; and
a processor in communication with the memory, the computer-executable instructions causing the processor to perform acts comprising:
receiving a train model from a train model generator;
executing, by a computation engine of the train controller, the train model to control the train;
receiving the node data from the plurality of nodes during the movement of the train along the tracks;
displaying an output of the train model on the output device;
receiving user-conflict data inputted into the input device by a human-user during the movement of the train along the tracks, the user-conflict data indicating a disagreement by the human-user with the output of the train model relating to driving the train; and
transmitting the user-conflict data collected node data to the train model generator.
2 . The train system of claim 1 , wherein the user-conflict data includes feedback from the human-user on the nature of the disagreement.
3 . The train system of claim 1 , further comprising the train model generator, the train model generator configured to perform acts comprising adjusting the train model based on the user-conflict data received from the processor.
4 . The train system of claim 3 , wherein adjusting the train model further comprises:
setting a reward structure based on the node data associated with the received user-conflict data; and
generating an updated version of the train model based on the reward structure.
5 . The train system of claim 4 , wherein generating an updated version of the train model further comprises:
inputting the node data into the train model;
generating a second output based on the node data using the train model;
determining that the second output of the train model exceeds a reward threshold of the reward structure; and
at least in part in response to the second output of the train model exceeding the reward threshold, outputting an updated train model.
6 . The train system of claim 5 , wherein generating an updated version of the train model further includes:
receiving second user-conflict data, the second user-conflict data indicating a second disagreement by the human-user with the output of the updated train model;
based at least in part on the second user-conflict data, adjusting the reward structure; and
outputting a second updated train model.
7 . The train system of claim 1 , wherein the node data comprises information relating to the environment, the train, the track, signals, or positions of other trains.
8 . A computer-implemented method of operating a train, the method comprising:
executing a train model to obtain movement of the train along tracks;
obtaining run data associated with at least a dynamic environment around the train during the movement of the train along the tracks;
inputting the run data into the train model;
generating, by the train model, an output based on the run data;
displaying the output of the train model for review by a human-user during the movement of the train along the tracks;
receiving user-conflict data from the human-user during the movement of the train along the tracks, the user-conflict data indicating a disagreement by the human-user with the output of the train model relating to driving the train;
adjusting a reward structure into an updated reward structure for training the train model based, at least in part, on the user-conflict data; and
generating an updated train model based on the updated reward structure.
9 . The method of claim 8 , wherein the run data includes:
data related to one or more of a speed of the train, a position of the train, an acceleration of the train, or rail data; and
control parameters related to one or more of a throttle of the train or a brake of the train.
10 . The method of claim 9 , wherein the user-conflict data includes feedback from the human-user on the nature of the disagreement.
11 . The method of claim 8 , wherein generating an updated train model based on the updated reward structure comprises:
receiving simulated route data;
inputting the simulated route data into the updated train model;
calculating a second output based on the simulated route data;
determining that the second output of the updated train model exceeds a reward threshold of the updated reward structure; and
at least in part in response to the second output of the updated train model exceeding the reward threshold, outputting a second updated train model.
12 . The method of claim 8 , wherein displaying the output of the train model for review comprises providing a plurality of potential outputs of the train model for selection by the human-user during the movement of the train along the tracks.
13 . The method of claim 11 , wherein the simulated route data includes a type of track, a length of track, and a position of signaling.
14 . A method of operating a train, the method comprising:
receiving, by a train controller on-board the train, a train model from a train model generator, wherein the train model is used by the train controller to generate an output using node data of a plurality of nodes;
executing the train model to obtain movement of the train along tracks;
receiving node data from the plurality of nodes during movement of the train along tracks, wherein the node data includes information related to at least a dynamic environment around the train;
causing, by the train controller, an output of the train model to be provided via an operator interface operably connected to the train controller;
receiving user-conflict data inputted into an input device of the train controller by a human-user during the movement of the train along the tracks, the user-conflict data indicating a disagreement by the human-user with the output of the train model relating to driving the train; and
transmitting the user-conflict data to the train model generator.
15 . The method of claim 14 , wherein the user-conflict data includes feedback from the human-user on the nature of the disagreement.
16 . The method of claim 14 , further comprising adjusting, by the train model generator, the train model based on the user-conflict data.
17 . The method of claim 16 , wherein adjusting the train model further comprises:
setting a reward structure based on the node data associated with the received user-conflict data; and
adjusting the train model using the reward structure.
18 . The method of claim 17 , wherein adjusting the model further comprises:
inputting the node data into the train model;
generating a second output based on the node data using the train model;
determining that the second output of the train model exceeds a reward threshold of the reward structure; and
at least in part in response to the second output of the train model exceeding the reward threshold, outputting an updated train model.
19 . The method of claim 18 , wherein adjusting the train model further includes:
receiving second user-conflict data, the second user-conflict data indicating a second disagreement by the human-user with the output of the updated train model;
based at least in part on the second user-conflict data, adjusting the reward structure; and
outputting a second updated train model.
20 . The method of claim 14 , wherein the node data comprises information relating to the environment, the train, the track, signals, or positions of other trains.