IP Library Granted Patent US 12703410
Granted Patent B2
US 12703410 · App. 18/784,649 · Granted Aug 11, 2026

Systems and methods for providing autonomous train driving strategy

Inventors: Marcos Blanco Fernandes (Trophy Club, TX); Sammy Akif (Northlake, TX); Robert T. Wright (Carrollton, TX); Evan Whinery (Flower Mound, TX); Suhani Chacha (Irving, TX)
Assignee: Progress Rail Locomotive Inc.
B61L27/04G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12703410
App. No.
18/784,649
Granted
Aug 11, 2026
Kind
B2
Abstract

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.

Claims (71)

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.