System and method of estimating values for commands to cause vehicles to follow a trajectory in a complex track network
09731735 · 2017-08-15
Assignee
Inventors
- Eugene Iwao Nishinaga (San Rafael, CA, US)
- Kevin Kohei Nishinaga (San Rafael, CA, US)
- Mark Lee (San Rafael, CA, US)
Cpc classification
B61L25/025
PERFORMING OPERATIONS; TRANSPORTING
B61L15/0072
PERFORMING OPERATIONS; TRANSPORTING
B61L3/00
PERFORMING OPERATIONS; TRANSPORTING
B61L25/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
B61L25/00
PERFORMING OPERATIONS; TRANSPORTING
B60W50/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The invention relates to systems and methods that provide a higher degree of precision and a greater coordination of vehicle movement than is possible in conventional systems. A control system is designed to enforce vehicle movement along a route to a position versus time trajectory. The control system includes control equipment on the vehicle that reports its location on the track periodically. The controlling computer receives the report, and knowing where the vehicle should be and how fast it should be traveling at that point in time via a run definition table prepared for the route, calculates a position and velocity error, then calculates and sends a tractive effort adjustment command to the vehicle that attempts to reduce the position and velocity error. The invention includes a method for providing an estimated force command for a given target velocity and acceleration that can be used in the overall control methodology.
Claims
1. A method of controlling a vehicle in a transportation system, comprising: receiving a table that defines a trajectory for the vehicle; developing a target acceleration for the vehicle based on the trajectory; determining, for a motor of the vehicle, a first plurality of command estimates for a corresponding plurality of acceleration values; and using, by a computer associated with the vehicle, the target acceleration and the determined first plurality of command estimates to develop a particular command estimate to cause the vehicle to follow the defined trajectory.
2. The method according to claim 1, wherein the table comprises a plurality of jerk values for a corresponding plurality of times.
3. The method according to claim 1, wherein the determining step further includes determining a second plurality of command estimates for a corresponding plurality of velocity values, and wherein the using step includes: obtaining a current velocity for the vehicle; and developing the particular command estimate using the target acceleration and current velocity and the first and second pluralities of command estimates.
4. The method according to claim 1, wherein the command estimates comprise PWM command estimates that are used to control a motor of the vehicle.
5. The method according to claim 3, wherein developing the particular command estimate includes looking up PWM values associated with the target acceleration and current velocity in a predefined table.
6. The method according to claim 3, wherein determining the first and second pluralities of command estimates includes: collecting vehicle performance data; creating a mathematical representation of acceleration vs. velocity using the collected data; expressing coefficients as a function of PWM values from the mathematical representation; expressing acceleration as a function of PWM and velocity using the coefficients; solving for PWM given a selected acceleration and velocity; and populating a matrix of PWM values using the solution.
7. The method according to claim 6, wherein for certain command estimates, the determining further comprises: developing a polynomial expression for certain velocity and acceleration values; developing a continuous functions of PWM coefficients using the polynomial expression; and using the expressions for the PWM coefficients to create a function that yields PWM values for continuous values of velocity and acceleration.
8. A system for controlling a vehicle in a transportation system, comprising: a master computer, remote from the vehicle, that creates a table that defines a trajectory for the vehicle; and a computer remote from the master computer that: develops a target acceleration for the vehicle based on the trajectory; determines, for a motor of the vehicle, a first plurality of command estimates for a corresponding plurality of acceleration values; and uses the target acceleration and the determined first plurality of command estimates to develop a particular command estimate to cause the vehicle to follow the defined trajectory.
9. The system according to claim 8, wherein the table comprises a plurality of jerk values for a corresponding plurality of times.
10. The system according to claim 8, wherein the remote computer further determines a second plurality of command estimates for a corresponding plurality of velocity values, and wherein the remote computer develops the particular command estimate by: obtaining a current velocity for the vehicle; and developing the particular command estimate using the target acceleration and current velocity and the first and second pluralities of command estimates.
11. The system according to claim 8, wherein the command estimates comprise PWM command estimates that are used to control a motor of the vehicle.
12. The system according to claim 10, wherein developing the particular command estimate includes looking up PWM values associated with the target acceleration and current velocity in a predefined table.
13. The system according to claim 8, wherein the remote computer is entirely implemented in a system that is remote from the vehicle.
14. The system according to claim 8, wherein certain portions of the remote computer are implemented in a system that is remote from the vehicle, and certain other portions are implemented in the vehicle.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures, wherein:
(2)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(7) The present invention will now be described in detail with reference to the drawings, which are provided as illustrative examples of the invention so as to enable those skilled in the art to practice the invention. Notably, the figures and examples below are not meant to limit the scope of the present invention to a single embodiment, but other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the invention. Embodiments described as being implemented in software should not be limited thereto, but can include embodiments implemented in hardware, or combinations of software and hardware, and vice-versa, as will be apparent to those skilled in the art, unless otherwise specified herein. In the present specification, an embodiment showing a singular component should not be considered limiting; rather, the invention is intended to encompass other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present invention encompasses present and future known equivalents to the known components referred to herein by way of illustration.
(8) According to certain aspects, the invention of the co-pending application enables the construction of rail lines that: 1. achieve a superior amount of benefits per cost; 2. are lower in cost and thus more easily justified for lower density corridors; and 3. can provide passenger carrying capacities appropriate for higher density corridors serviced by mass rapid transit systems today.
(9) In certain embodiments, these objectives are met by utilizing smaller vehicles that can operate on a less expensive infrastructure. Using certain methods according to the co-pending application, the costs of fixed guideway mass rapid transit systems are reduced, allowing more destinations to be accessed. Also, with certain methods according to the co-pending application, the same structures appropriate for low ridership corridors and/or service hours can be used to achieve passenger carrying capacities needed for the high capacity corridors served today by modern mass rapid transit systems.
(10) According to further aspects, the invention of the co-pending application improves the amount of benefits per cost of rail transit by reducing the cost to levels more justifiable for low density corridors. To be meaningful, certain methods according to the co-pending application achieve improved benefits per cost in a holistic manner, in other words, by reducing the net cost of ownership which includes not only the cost of equipment but also the net cost of operating and maintaining the system.
(11) Although the principles of the inventions of the co-pending application and the present application will be explained in connection with applications to conventional diesel and/or electrified rail systems, the invention is not limited to these types of systems. For example, the principles of the invention can be extended to conventional and other vehicle technologies that do not rely on steel wheels rolling on steel rail.
(12) According to certain aspects, the present invention further improves upon the invention of co-pending application Ser. No. 13/218,429. In the system described in the co-pending application, the ability to control vehicles through complex track networks including frequent merging of vehicle traffic is required. This is illustrated in
(13) Certain aspects of the invention will now be explained in connection with
(14) The station computer 304 and the vehicle controller 306 can be implemented by system elements of a communication-based control system such as that described in co-pending application Ser. No. 13/218,429. Those skilled in the art will understand how to adapt the system described in the co-pending application, as well as alternative systems, with the functionality of the present application after being taught by the present disclosure. As mentioned above, it should be apparent that multiple station control computers 304 can be in communication with a given vehicle 306 at any time during its route, requiring hand-off procedures between such computers 304, perhaps in coordination with management computer. However, details thereof will be omitted here for sake of clarity of the invention. According to certain aspects, the present invention includes a method of controlling vehicles to track the trajectories defined by run definition tables. One example control system whereby the control needs set forth above are achieved implements the overall process steps described in more detail below. (Note: As described in co-pending application Ser. No. 13/218,434, additional safety is assured by a separate process referred to as the Collision Avoidance Function, which can be used in conjunction with the present invention.) a. Step 1: The management computer 302 uses information about the track and the location and behavior of other vehicles in the system to determine a desired movement trajectory for car n. The desired movement trajectory defines the desired vehicle location in the system for every instant in time. b. Step 2: The management computer 302 calculates and develops a table of values, referred to hereafter as a Run Definition Table (RDT), that uniquely represents the desired movement trajectory, but is not of itself a table of position and time values. c. Step 3: The management computer 302 sends the RDT for car n to the station control computer 304 where an algorithm is executed that calculates and re-creates the desired movement trajectory originally developed in the management computer 302. d. Step 4: The controller in vehicle 306 updates the station control computer 304 with a position report every t.sub.frame and the station control computer then compares the reported position with the desired movement trajectory and if the two are not aligned, calculates and sends the vehicle controller 306 a correction command to attempt to cause the vehicle to follow the desired movement trajectory.
(15) An example system and method for creating run definition tables that can be used in the present invention are described in more detail in co-pending application Ser. No. 13/323,768. According to certain aspects, the present invention is directed to controlling vehicles to follow the trajectory defined by such run definition tables, after further processing to develop force commands as described herein and in co-pending application Ser. No. 13/323,774.
(16) As described more fully in application Ser. No. 13/323,768, the run definition table is a table of times and jerk rate values that describes the desired longitudinal movement of the vehicle. It is created in the management computer to represent the desired trajectory and then sent to the station controller where it is used to recreate the desired trajectory. Since the closed loop control of the vehicle attempts to cause vehicle movement to follow the pre-defined location and velocity as a function of time, the station controller must determine from the jerk values contained in the RDT, the target location and velocity for the vehicle at each instant of time. Moreover, a correction factor must be calculated in the station and sent to the vehicle to control the vehicle motors to cause the vehicle to follow the desired trajectory.
(17) In embodiments, the target locations and velocities are needed by the station controller every 500 ms when new reports are received from the target vehicle and a new command must be developed to enforce vehicle movement. Thus, the calculation of location and velocity is performed only once every 500 ms. However, in the management computer where the RDT is created, the times at which jerk values change are not developed with any consideration for the times when the station controller will calculate the trajectory information. As a result, the times when the jerk value must change will not, in most cases, synchronize with the times when the trajectory calculation is made. This will introduce an error in the trajectory calculation that likely will be greater than what can be tolerated. It is therefore necessary to account for this lack of synchronization between the times when the RDT defines jerk rate changes and the times when the station controller calculates new position and velocity targets. The pseudo code developed below describes one example method of accounting for this lack of synchronization.
(18) In embodiments, the times in the RDT table are not absolute times but are relative times from the start of each program execution. Therefore, when the station controller is initiated with a given trajectory for a vehicle, the time reported by the system clock will be recorded and used as a reference point from which all relative times will be calculated. This relative time will be the time used when calculating trajectories from the RDT file.
(19) One example process for determining current vehicle state and trajectory using a run definition table according to embodiments of the invention is described in co-pending application Ser. No. 13/323,774. In embodiments, the control method described in the co-pending application determines how to control a vehicle based on the current trajectory in two steps. First, an open loop estimation of the motion command value is calculated based on the pre-calculated trajectory. In other words, a determination is made as to the likely motion command value that will cause the vehicle to follow the trajectory assuming a nominal vehicle. Second, a closed loop correction factor is calculated using actual feedback data from the actual vehicle movement. The open loop estimation value and the closed loop adjustment factor are then combined to form the controlling command to the vehicle. One example of performing the second of these two steps is described in more detail in co-pending application Ser. No. 13/323,774. The first step described above is the subject matter of the present application.
(20) The following describes an example methodology for creating a mathematical function that estimates a force command that will cause the vehicle to move as defined in a trajectory. An example system according to embodiments of the invention operates vehicles and adjusts motor force commands with a pulse width modulated (PWM) voltage, so the discussion in this section will reference this example. However, those skilled in the art will understand how to implement the principles of the invention in alternative types of systems.
(21) In general, the following describes a method of predicting a PWM command to the vehicle that will achieve a target rate of acceleration at the varying speeds achievable by the vehicle. The end result of this process will be an equation that computes PWM(v.sub.current, a.sub.target), i.e. PWM as a function of the target acceleration and the current speed of the vehicle. It is noted that the mathematical function developed by the methods described herein can be used to compute a PWM command for any achievable velocity and acceleration combination. As such, the function can use as its domain for example, V.sub.target in place of V.sub.current, or in the case of the acceleration a.sub.calculated optimal in place of a.sub.target. In the latter case, the “calculated optimal” acceleration would be an acceleration value that is calculated to cause the vehicle to achieve the target velocity and location in accordance with a selected performance criteria (e.g. as quickly as possible, as smoothly as possible, etc.)
(22) As shown in
(23) Communication from the LCS 408 to the VIC 406 is also possible via a separate radio link 410 that handles information flow from the LCS to the VIC. The LCS 408 can therefore send a Pulse Width Modulation command to the VIC 406 to cause the VIC 406 to drive the vehicle motor in accordance with this command. In embodiments of the invention, LCS 408 and VIC 406, as well as the infrastructure by which they communicate with each other can be implemented by a communication-based control system such as that described in co-pending application Ser. No. 13/218,429. Those skilled in the art will understand how to adapt the system described in the co-pending application, as well as alternative systems, with the functionality of the present application after being taught by the present disclosure.
(24) The following describes the steps to be taken to create the required function for estimating a force command in example embodiments of the invention.
(25) Step 1—Data Collection: The first step in the process is to collect vehicle performance data from which the estimation function can be created.
(26) For this, multiple vehicle runs are made with the LCS 408 commanding a different constant PWM level for each run. Tachometer reports are recorded in the LCS 408, which calculates the first and second derivatives of the pulse count (velocity and acceleration, respectively) and saves this for later analysis. To reduce the effects of random measurement error, multiple runs (e.g. at least five) at each PWM level should be made.
(27) Plotting this data for each distinct PWM level (with the higher subscripted PWM values being greater than the lower subscripted values) produces a family of curves as shown in
(28) A point to note here is that for the lower PWM values, the acceleration falls off rapidly at the higher velocities such that before the velocity reaches the higher speeds achieved with the higher PWM commands, the ability to accelerate reduces down to zero. This is as expected because with the lower PWM values, one would expect that the higher speeds cannot be attained. Also, it is likely that at the higher PWM values, acceleration data at the low velocities will not appear on the plot. This is because with the high PWM values, the speed increases so rapidly at the low speeds that there are not many measurements taken in the few 500 ms intervals that occur before the vehicle achieves the higher speeds.
(29) Step 2—Mathematical Representation of the Acceleration vs. Velocity Curves: Using a trendline function, second order polynomial equations to represent each of the lines plotted can be developed with the data collected. For each PWM.sub.X line, there is an equation of the form:
acc.sub.x[vel]=a.sub.x*vel.sup.2+b.sub.x*vel+c.sub.x
(30) Since for each PWM level, there have been multiple runs, a different set of coefficients for each run can be created, and then an average set coefficient values and standard deviations for each coefficient can be calculated for each PWM level.
(31) If the standard deviation is small, for example within +/−20% of the average value, it can be concluded the data taken was good and the average coefficient values can be used to represent the car behavior at each PWM level. Otherwise, the quality of the data collected may be suspect, and it may be desired to repeat the data collection.
(32) With the averages now calculated, the following expressions can be used:
acc.sub.x[vel]=a.sub.x avg*vel.sup.2+b.sub.x avg*vel+c.sub.x avg
(33) Step 3—Expressing a, b, c Coefficients as a Function of PWM Values: From Step 2, there are now values of a.sub.x avg, b.sub.x avg, and c.sub.x avg for each PWM level. Plotting these average values as a function of PWM then produces plots for each of a.sub.avg(PWM), b.sub.avg(PWM), and c.sub.avg(PWM) which can then again be captured by trendline equations, resulting in equations for a, b, and c as follows:
a.sub.avg(PWM)=A.sub.1*PWM.sup.2+A.sub.2*PWM+A.sub.3
b.sub.avg(PWM)=B.sub.1*PWM.sup.2+B.sub.2*PWM+B.sub.3
c.sub.avg(PWM)=C.sub.1*PWM.sup.2+C.sub.2*PWM+C.sub.3
(34) Step 4—Expressing Acceleration as a Function of PWM and Velocity: With expressions for each of a.sub.avg(PWM), b.sub.avg(PWM), and c.sub.avg(PWM), the process goes back to the representations of acceleration and substitutes back the a.sub.avg(PWM), b.sub.avg(PWM), and c.sub.avg(PWM) coefficients to get the following expression:
acc[PWM,vel]=a.sub.avg(PWM)*vel.sup.2+b.sub.avg(PWM)*vel+c.sub.avg(PWM)
(35) Which, fully expanded, becomes:
acc[PWM,vel]=(A.sub.1*PWM.sup.2+A.sub.2*PWM+A.sub.3)*vel.sup.2+(B.sub.1*PWM.sup.2+B.sub.2*PWM+B.sub.3)*vel+(C.sub.1*PWM.sup.2+C.sub.2*PWM+C.sub.3)
(36) Step 5—Solving for PWM Given a Selected acc and vel: Using the expression developed in Step 4 above, terms can be rearranged to get:
acc.sub.target=(A.sub.1v.sup.2+B.sub.1v+C.sub.1)PWM.sup.2+(A.sub.2v.sup.2+B.sub.2v+C.sub.2)PWM+(A.sub.3v.sup.2+B.sub.3v+C.sub.3)
(37) Subtracting acc.sub.target from both side of the above equation results in:
0=(A.sub.1v.sup.2+B.sub.1v+C.sub.1)PWM.sup.2+(A.sub.2v.sup.2+B.sub.2v+C.sub.2)PWM+(A.sub.3v.sup.2+B.sub.3v+C.sub.3)−acc.sub.target
(38) Which can now be solved using the Quadratic Equation:
(39)
(40) By setting:
α.sub.Q=A.sub.1v.sup.2+B.sub.1v+C.sub.1
β.sub.Q=A.sub.2v.sup.2+B.sub.2v+C.sub.2
γ.sub.Q=A.sub.3v.sup.2+B.sub.3v+C.sub.3−acc.sub.target
(41) Step 6—Populating a Matrix of PWM Values Using the Solution to the Quadratic: The solution for PWM developed in Step 5 above, allows calculating PWM values for a range of target accelerations and velocity values. Performing this calculation for acceleration and velocity values that start at low values and increase incrementally to higher and higher values should produce a matrix of PWM values that would allow selecting a PWM value for any target acceleration and target velocity that may be chosen (e.g. via a lookup table).
(42) However, upon performing this calculation it can be noted that, for some combinations of velocities and accelerations, the quadratic is unable to produce real solutions because the quantity under the radical becomes negative. To make the function more generally applicable to all combinations of velocities and accelerations, the following Step 7 is preferably taken.
(43) Step 7—Plotting and Developing Polynomial Expression for Step Velocities: To address the problem of not being able to calculate PWM values for some velocity and acceleration values, a family of curves can be plotted for PWM values for varying accelerations with each curve representing a constant velocity, as shown in
(44) To develop an equation for each line plotted, a trendline function is again used to develop n-th order polynomial expressions for each line as shown in
(45) Step 8—Developing Continuous Functions for the PWM Coefficients: Now if expressions for each of α.sub.vx,[vel], β.sub.vx[vel], and γ.sub.vx[vel] (assuming a 2nd order curve fit) can be developed, one can substitute back into the expressions for PWM[acc] and have equations that allow not only replicating the results already calculated with the quadratic, but also to extrapolate to velocities and accelerations that cannot be solved with the quadratic. As before, the expressions for α[vel], β[vel], and γ[vel] are developed by plotting each of α.sub.vx, β.sub.vx, and γ.sub.vx as a function of velocity and having a trendline function produce coefficients that replicate the plotted values. This then produces the second order polynomial equations:
α[vel]=α.sub.1*vel.sup.2+α.sub.2*vel+α.sub.3
β[vel]=β.sub.1*vel.sup.2+β.sub.2*vel+β.sub.3
γ[vel]=γ.sub.1*vel.sup.2+γ.sub.2*vel+γ.sub.3
(46) Step 9—Using the Expressions for the PWM Coefficients to Create the Function PWM[vel, acc]: Using the result of Step 8, all that it takes to estimate a PWM value for any target velocity and acceleration can be obtained. This is simply achieved by:
PWM[vel,acc]=α[vel]acc.sup.2+β[vel] acc+γ[vel]
or:
PWM[vel,acc]=(α.sub.1*vel.sup.2+α.sub.2*vel+α.sub.3)*acc.sup.2+(β.sub.1*vel.sup.2+β.sub.2*vel+β.sub.3)*acc+(γ.sub.1*vel.sup.2+γ.sub.2*vel+γ.sub.3)
(47) With this estimate of the PWM value for a given velocity and acceleration, co-pending Application Ser. No. 13/323,774 describes how it can be used to cause a vehicle to follow a desired trajectory.
(48) Although the present invention has been particularly described with reference to the preferred embodiments thereof, it should be readily apparent to those of ordinary skill in the art that changes and modifications in the form and details may be made without departing from the spirit and scope of the invention. It is intended that the appended claims encompass such changes and modifications.