System and method for Continuous Path Regulator (CPR)
20220128363 · 2022-04-28
Inventors
Cpc classification
G05B11/06
PHYSICS
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A solution to a system of simultaneous equations where an exact mathematical solution to a multivariate signal path or physical trajectory problem includes time and allows a control regulator to maintain high accuracy simultaneously over multiple variables such as but not limited to distance, velocity, and time. In a flight vehicle, for example, the regulator maintains with high accuracy the position of the vehicle in X, Y, and Z at exactly the time required over the entire trajectory making its position highly predictable at any time.
Claims
1. A solution to a system of simultaneous equations where an exact mathematical solution to a multivariate signal path or physical trajectory problem includes time and allows a control regulator to maintain high accuracy simultaneously over multiple variables such as but not limited to distance, velocity, and time.
2. The trajectory solution system of 1 where the trajectory problem consists of maintaining a specified and/or predictable distance along a path in multiple dimensions referencing a number of mathematically defined physical coordinates in a system such as but not limited to Cartesian, North East Down (NED), Global Positioning System, Inertial, Quasi-Inertial, Osculating-Conic, and/or Geodetic, while manipulating velocity as a polynomial equation within each sample time and said solution may vary sample time.
3. The trajectory solution system of 1 where the signal path problem consists of a time-varying electrical or other signal and accurately maintaining a particular value for that signal as a function of time manipulating the rate of change of that signal and/or sample time of the signal.
4. A control system or regulator implemented with the mathematical solution of 1 which receives time and a target trajectory in some number of axes or dimensions as input from which the starting value, starting rate of change of the value, target ending value, and target ending rate of change of the value for each sample time period may be calculated with which the regulator calculates a polynomial which manipulates the rate of change of a plant or system control signal output to some plant which uses the control signal for its internal operation and returns information including or related to the control signal as feedback to the controller such that the difference between the plant's actual state and the predicted state may be calculated and compensated such that the plant system's trajectory matches the defined target trajectory in value and time.
5. A control system or regulator where the polynomial of 1 is utilized as the desired profile of the entire solution, and a secondary regulator is utilized to maintain the control signal of the system as close to the desired profile as possible.
6. A control system or regulator where the polynomial of 1 other mathematical expression is utilized in a similar manner to simultaneously solve for the distance and velocity change over a variable of time. For example, without limitation, a sigmoid function for matching two disjoint control signals is calculated to provide a smooth transition.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The novel features believed characteristic of the illustrative embodiments are set forth in the appended claims. The illustrative embodiments, however, as well as a preferred mode of use, further objectives, and features thereof will best be understood by reference to the following detailed description of illustrative embodiments of the present disclosure when read in conjunction with the accompanying drawings, wherein:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
DETAILED DESCRIPTION OF THE INVENTION
[0051] Referring now to the invention in more detail, in
[0052] The number of physical and temporal dimensions are shown as 3 or more for illustrative purposes, however more or fewer physical and multiple temporal dimensions are possible without altering the intent of the invention. While the words “flight path” may be used for illustrative purposes, the physical and temporal dimensions of the resultant trajectory may be utilized in any environment with moving parts from flight vehicles to surface vehicles to self-adjusting shelving. One or more dimensions of control signals which do not relate to physical or Cartesian coordinates are also possible.
[0053]
[0054] In another embodiment the V1 values may be stored or otherwise calculated from data, data structures, or metadata embedded with the trajectory or available to the system in other ways. In another embodiment the temporal distance denoted by T1 and T0 may vary without changing the intent of the invention. Indeed the equations given above work independent of the magnitude of any of the variables with the exception the T1>T0 and Z1>Z0. As the velocity V is dependent of distance divided by time, V may be any magnitude or sign.
[0055] The purpose of the regulator then is to manage the transition from Z0 to Z1, in the exact time period of T1−T0, and to match the start and end velocities of V0 and V1 respectively. In this example, we pose the problem that the previous time step ended at a higher velocity than anticipated. The reason is immaterial. As such V0>V1 and Z0 is offset into this region such that the distance to be traveled in this step is now shorter than originally scheduled, while the time period for traversing that distance remains the same.
[0056] The ultimate goal of every calculation is to provide the exact requirements for Z to reach Z1 with velocity V1 at T1, regardless of the input conditions. As can be seen in
[0057] It is then evident that the velocity transfer function from V0 to V1 must be a curve 260, which must fall below V1 in order to bleed off the excess speed, and then rise again to make the required exit velocity of V1. This observation provides the first equation for the numerical solution, i.e. the path of the velocity transfer function must be a curve such as but not limited to
aZ{circumflex over ( )}2+bZ+c=0
[0058] The second equation is then that the total distance traveled in this time period is represented by the area under the curve 255 (hatched area) evaluated from T0 to T1, and this in turn is equal to Z1−Z0. That can be represented as the integral of the first equation evaluated between T0 and T1. As the lowest point of this line must fall below V1 in order to reduce the excess speed, this also shows that the area under the simple transition line 245 cannot equal the distance 250.
[0059] Calculating the simultaneous solution to these two equations yields the calculations represented by the first computation block, where X here represents the input value of any dimension and V represents the first derivative of that signal value as described above:
(a)=3*(2X0−2X1−T0V0−T0V1+T1V0+T2V1)/(T0−T1){circumflex over ( )}3
(b)=2*(3X0−3X1−2T0V0−T0V1+2T1V0+T1V1)/T0{circumflex over ( )}2−2T0T1+T1{circumflex over ( )}2
(c)=V0
[0060] This transfer function curve provides a mathematically exact solution to traversing the requisite space between Z0 and Z1 in time T1−T0, with the initial and final velocities required.
[0061]
[0062] In this embodiment, the T0 and T1 variables are always set to 0 and 1, respectively as the time is held constant to the sample time of the trajectory while other variables interact. This is not a necessary condition, in this embodiment it simplifies the controller design to some extent. The outputs of the first calculation block are the parameters (a) and (b) relating to the equation aZ{circumflex over ( )}2+bZ+c. C is known to be equal to V0, so V0 is presented directly to the second computation block 107. The second computation block is clocked at a higher rate than the first, in this embodiment 10×, but one familiar with the art would see that different sampling ratios would not alter the fundamental aspects of the invention.
[0063] The second computation blocks evaluates the velocity curve given by (a) and (b) output by the first computation block, and provides the values represented between T0 to T1 in 0.1 second intervals. Because of the decimation subsampling, each velocity output provided is multiplied 108 by 0.1 so that the total velocity imparted is the same as (Z1−Z0)/(T1−T0). This is not a gain per se, but a computation step exactly compensating for the decimation subsampling.
[0064] To correctly simulate the resultant movement given the velocity setting of the second computation block, an arbitrary drag coefficient 108 may be applied to the velocity setting. A drag coefficient of 1 would have no effect on the velocity target setting. The velocity is then summed with previous Z locations 109 and stored. This provides the system with the amount of Z distance covered by the velocity for each time step. In addition, a random simulation of wind velocity 111 with a wind drag coefficient 112 is added in the distance computation path.
[0065] The stored value of the Z location plus the velocity for each time tick is fed back into the controller as the next Z0 and as the basis of the next V0. This completes the computation and feedback loop of the controller. Any errors in position and/or velocity are compensated for in the next time period.
[0066] In this embodiment a second error term is shown as velocity summation cycle 113, 114. This is a computation of the expected distance that the original velocity setting would have achieved without external forces such as wind. The difference 115 between this calculation of the expected distance and the actual distance results in a velocity error term which is fed back into the system. The nature of this error term will be described more fully below.
[0067] To demonstrate how this works in a complete regulator,
[0068]
[0069]
[0070] In this embodiment and exemplar trajectory, the system functions as follows:
[0071] In the first second of operation, the values for Z0, Z1, V0, and V1 are determined and/or loaded from the trajectory information. T0 and T1 will always equal 0 and 1 in this implementation. From the Z trajectory given in
Z0=4 m (Initial altitude AGL)
Z1=4.09 m (the flight planning system starts off with slow takeoff)
V0=0 (vehicle at rest)
V1=0.0892 (the average velocity of the next section of the trajectory, (Z2−Z1)/t.
[0072] This yields the solution of (a)=−0.267 (b)=0.357 and (c)=0 as graphed in
[0073] In the second time period,
Z0=4.09 m
Z1=5.01 m
V0=0.0892 m/s
V1=0.919 m/s
[0074] Which yields the parameters (a)=−2.49 (b)=3.32 (c)=0.0892 as shown in
[0075] In the third time period, as shown in
[0076] A comparison of the source trajectory 900 and the actual path simulated 910 for the first five seconds is shown in
[0077]
[0078]
[0079]
[0080] The next step in the exemplar regulator and trajectory is to inject error in terms of overall drag and external applied wind forces.
[0081]
[0082]
[0083] This plateau effect is due to the fact that the control curve is derived as the exact fit of the requirements of a given one-second interval. Within that sample interval, transients in the location and velocity will be exactly countered in the next interval. Longer term disturbances, however, create this equilibrium effect as the first interval detects and corrects for the deviation in that interval. During this interval, however, the effect continues to exist, so it is also present in the next interval. For example, if a 5 m/s wind gust occurs and the drag coefficient is 0.1, the vehicle will drift off by 0.5 m. In the next time interval, an opposing force to compensate for the 0.5 m drift is added to the velocity, but at the same time the original 5 m/s wind still exists, so equilibrium is reached.
[0084] To counter this effect, a second error term is introduced. As shown previously in
[0085]
[0086]
[0087]
[0088] Similarly,
[0089] In another embodiment a polynomial or other mathematical expression is utilized in a similar manner to simultaneously solve for the distance and velocity change over time. For example without limitation, a sigmoid function for matching two disjoint control signals is calculated to provide a smooth transition. This could occur in a robotics application where the control trajectory is suddenly switched, and the sigmoid provides a smooth transition for the position and velocity and the time may be a variable.
[0090] While the foregoing written description of the invention enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention should therefore not be limited by the above described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the invention. Further, different illustrative embodiments may provide different benefits as compared to other illustrative embodiments. The embodiment or embodiments selected are chosen and described in order to best explain the principles of the embodiments, the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.
[0091] The flowcharts and block diagrams described herein illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various illustrative embodiments. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function or functions. It should also be noted that, in some alternative implementations, the functions noted in a block may occur out of the order noted in the figures. For example, the functions of two blocks shown in succession may be executed substantially concurrently, or the functions of the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
[0092] Implementation of the CPR may be performed in computer systems, hardware, or software, including but not limited to Von Neumann architecture machines, Field Programmable Gate Arrays, hardware accelerators, graphics accelerators, learning systems, AI processors and algorithms, optimization systems and architectures, custom or mass-produced silicon, simulators of any of the above, or cloud computing.