# Patent

## Title
Perception model for trajectory following autonomous and human augmented steering control

## Abstract

A steering control method including the steps of obtaining a heading error, obtaining a velocity value, obtaining a distance error, applying the heading error and defuzzifying an output from a steering rule base. The velocity value and the distance error are applied along with the heading error to fuzzy logic membership functions to produce an output that is applied to a steering rule base. An output from the steering rule base is defuzzified to produce a steering signal.

## Background
CROSS-REFERENCE TO RELATED APPLICATION(S)
This application is a divisional of and claims the benefit of priority to U.S. patent application Ser. No. 11/673,659, filed on Feb. 12, 2007 and entitled “Perception Model for Trajectory Following Autonomous and Human Augmented Steering Control”, the contents of which are hereby incorporated by reference.


FIELD OF THE INVENTION
The present invention relates to a method of steering control, and, more particularly to an autonomous steering control of a vehicle.
BACKGROUND OF THE INVENTION
Automatic control of complex machinery, such as moving vehicles exists, for example, the control systems for aircraft autopilots. Just as a man-machine interface is required for the man to control the machinery, an automation of the control system is largely specific to the particular machinery that is to be controlled. For example, pilots, even after extensive training on a particular aircraft, do not qualify for piloting a similar aircraft, without extensive training on the alternate aircraft.
Agricultural machinery has become more expensive and complex to operate. Traditionally, human machine control has been limited to open-loop control design methods, where the human operator is assumed to receive appropriate feedback and perform adequate compensation to ensure that the machines function as required and to maintain stable operation. Design methods have included using an expert operator and fine-tuning the control with non-parametric feedback from the operator in terms of verbal cues. These approaches do not always translate to the best quantitative design or overall human-machine synergy.
Assuming that an individual expert operator is the only method of ensuring qualitative response presents several problems. One problem with this assumption is that humans are not the same, with varying perceptions, experience, reaction time, response characteristics and expectations from the machine. The result may be a perceived lack in the qualitative aspects of the human machine interface for some operators. The task of designing optimal human-machine system performance without a consistent operator becomes a daunting one, as there are no methods for setting appropriate constraints. Additionally, expert operators are themselves different in terms of level of efficiency, aggressiveness and sensitivity. Expert operators adapt very quickly to machine designs, including inadequate ones. The result is that qualitative design change effectiveness is not guaranteed since they are applied based on an operator's continuously adapting perception of the machine performance.
What is needed is an autonomous control system for a dynamic environment to address design issue variables including response fidelity, accuracy and noise from sensory information.
SUMMARY OF THE INVENTION
The present invention provides a trajectory following autonomous steering control system of a vehicle.
The invention comprises, in one form thereof, a steering control method including the steps of obtaining a heading error, obtaining a velocity value, obtaining a distance error, applying the heading error and defuzzifying an output from a steering rule base. The velocity value and the distance error are applied along with the heading error to fuzzy logic membership functions to produce an output that is applied to a steering rule base. An output from the steering rule base is defuzzified to produce a steering signal.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustration of the use of fuzzy logic in an embodiment of the method of the present invention;
FIG. 2 schematically illustrates an embodiment of a model for trajectory following autonomous speed control and human augmented steering control, of the present invention;
FIG. 3 illustrates a path of the vehicle of FIG. 2 along a preferred path;
FIG. 4 illustrates a front angle error of the vehicle of FIG. 2 relative to a preferred course;
FIG. 5 schematically illustrates a rule used by the performance model of the present invention;
FIG. 6 illustrates the application of several rules used by the performance model of the present invention;
FIG. 7 illustrates that even more certainty is obtained by the including of additional rules in the performance model of the present invention;
FIG. 8 is a schematic illustration of a human performance model of the present invention;
FIG. 9 schematically illustrates a vehicle utilizing the performance model of FIG. 8; and
FIG. 10A-C schematically illustrates another embodiment of a fuzzy control system of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
Referring now to the drawings, and more particularly to FIGS. 1 and 2, there are shown schematic illustrations of an approach used in an embodiment of a steering control system of a vehicle of the present invention. The goal is to provide for a trajectory following autonomous steering control and/or human augmented steering control system, which is undertaken by the use of a fuzzy logic controller structure. The autonomous steering control includes the fuzzification of the input variables, the application of the variables to a fuzzy inference and rule based construct, and the defuzzification of the output variables. The fuzzification step converts control inputs into a linguistic format using membership functions. The membership functions are based on the outputs from an error interpreter. The input variables to the model include several performance related measurable items. To reduce computational effort, linear approximations are implemented. The fuzzy membership functions for the various linguistic variables are chosen to be pi-type or trapezoidal in nature.
As illustrated in FIG. 1, measured variables having numeric values are fuzzified into a linguistic format. A fuzzy-inference of these fuzzified variables is made by the application of a rule base resulting in command variables having a fuzzy format. These command variables are then defuzzified by converting the command variables to a numeric value that is interfaced with the control system of the vehicle plant. The vehicle responds causing a change in the location of the vehicle, which creates new measured variables based on the new location, and the method continues.
Now, additionally referring to FIGS. 3 and 4, the approach used for the steering control system applies fuzzy logic to perception based modeling. This system is developed for the purpose of a steering control function. When provided a path or segment, such as segments BC and CD, as shown in FIG. 3, it can be modeled as linear segments, arcs or clothoids and provides illustrations of the errors related to the control objective of following the path parallel to the trajectory at a minimum distance. The steering problem becomes multi-objective when the vehicle:
(1) Has initial conditions where the vehicle is outside of a given distance from the road or its heading varies from the path heading by a large degree.
(2) Deviates from the path by a large amount and similar error conditions arise either from obstacles or high speeds with dynamic changes resulting from such things as lateral slip.
As a result four errors are used as input to the steering control system. The steering control system is dependent on the errors, but independent of the method used to detect the errors or any set points. The errors are selected based on driver aiming behavior and includes front angle error, distance from the path, heading and vehicle speed. For ease of reference herein, each of these may be referred to as errors, including the velocity and steering angle even though they may otherwise not be thought of as such.
When a vehicle is traveling from B′ to C′, the distance from C to C′ is larger than the distance from B to B′ indicating that the vehicle is departing from the desired path of ABODE. Further, the vehicle will depart farther at D-D′. This illustrates that the control system will implement a steering correction to reduce the deviation from the desired path ABCDE. It can be seen in FIG. 4 that the distance between the path of the vehicle, as represented by B′, C′, D′, and the required path A, B, C, D, E is measured by the distances between B-B′, C-C′ and D-D′, which is increasing. Further, the heading angle between the heading of the vehicle and the set point is illustrated as θD. The present invention uses the distance error, the heading error, the velocity and steering angle in determining the necessary steering corrections for the vehicle to direct the vehicle to the desired path.
Now, additionally referring to FIGS. 5-9, the control system of the present invention is dependent upon the errors, but independent of the method used to detect the errors or the set points. The errors are selected based on operator behavior such as aiming behavior, steering angle, distance from the path, heading and vehicle speed.
The first error, the front steering angle, can be thought of as the angle between a vector from the center of gravity to the front of the vehicle and the vector from the front of the vehicle to the end point of a current line segment such as B-C or of an arc therebetween. The distance error is the perpendicular distance from the vehicle to the path, and may have a sign value based on the vehicle location, such as right or left relative to the path. The heading error is the difference between the vehicle heading and the path segment/arc heading. Velocity is included to modulate the steering control to help reduce the effects of lateral slip and reduce the risk of roll over.
The controller is constructed as a rate controller, controlling the rate of steering correction given a particular error. The rules involved that are used by methods of the present invention may include the following rules:
If the error is large, increase the rate of correction.
If the error is small, reduce the rate of correction.
If the error is acceptable, take no corrective action.
Rate control has an advantage relative to human operator modeling and is very applicable for several reasons:
(1) It will work on a variety of platforms, independent of vehicle geometry, with little modification and will work independent of set points. It is dependent on a maximum rate of turn and sampling rates.
(2) It effectively models how most operator controls work, such as joysticks.
(3) It emulates how human operators control vehicle speed while maintaining a consistent steering control throughout a turn.
(4) The effects of discontinuities are reduced as each control action is discretely based on the current errors.
The control strategy for the system demonstrates the multi-objective nature of the controller. Like a human, certain errors can be disregarded depending on where the vehicle is located relative to where it has to go. For example, if the vehicle is far away from the path, the intent is to approach the path as soon as possible, so steering angle is used in the event that the distance is far away. This is logical for a human operator, for example, if an operator is far away from a road he wishes to travel along, he will not consider traveling parallel to the road, but seek to minimize the distance from it as soon as possible. This rule set governs any vehicle position or orientation when the vehicle is considered far from the path and only applies rules related to distance as “far”, relative to the front steering angle and speed. As the vehicle nears the road heading, it becomes important to again become parallel to the path and not overshoot the path. Vehicle speed is an important parameter here as it influences the rate of correction. Too fast of a rate of steering correction with too fast of a speed will result in unstable tracking as well as the possibility of roll over. Human operators slow down for turns for the same reason. Using a method known as fuzzy relation control strategy (FRCS) the rule base is minimized for control of the vehicle.
The steering control system addresses the fidelity of the response, accuracy and noise from sensory information, response time, control set points and mission requirements, output scaling can be done based on operator aggressiveness, and operator experience, perception and judgment. The steering control system addresses these elements through the use of applied gains and changes to the membership function linguistic variables.
The membership functions of the fuzzy system represent how the model interprets error information. Trapezoidal membership functions, such as those shown in FIGS. 5-7 represent regions where the operator is certain of an interpretation, or error classification. Trapezoids are used in FIGS. 5-7 to provide a visual illustration of the membership functions. For a human operator it is almost impossible to measure error exactly, even more so for an inexperienced operator. A regional approach to error classification is most applicable to the present invention. For example, a human operator cannot determine that he is exactly 5 meters from a wall unless he measures the distance with some measuring device. However, depending on the situation, he can determine he is far away from the wall. What is uncertain is where “far” changes to a “near” classification or where the transition region between error classifications occurs. These transitions are illustrated as angled portions of the trapezoids. A triangular, or a Gaussian distribution with a small standard deviation, membership function by itself is inappropriate in this approach. However, continuing with the regional approach, experience/judgment can be incorporated and represented in two ways. The first is an increase in the number of linguistic variables, or perception granularity, depending on the fidelity required for adequate control. The second aspect is that smaller transition regions between the linguistic variable error classifiers improve system performance. Inexperience and errors in interpreting the information are represented in this model by linguistic variables with extended transition regions such as that shown in FIGS. 5 and 6 and/or by shifting the regions covered by the linguistic variables. This model lends itself very well to interpreting the inexact common noisy data from sensors as well as describing how humans make control decisions with uncertain information. The control system uses a common sense rule base that remains unchanged, except in the event of improved perception granularity, where additional rules using the same control strategy would have to be applied. The response fidelity, perception, operator experience, accuracy, noise from sensory information and judgments are represented and are modifiable. Control set points can be changed without effecting the controller operations using gains based on the operator level of aggressiveness and mission requirements. An output can also be scaled based on operator aggressiveness as the current system provides a signal between one and minus one. The output component of the rules within the rule base can also be modified to provide a more aggressive output.
In FIGS. 5-7 the region of certainty under all situations is illustrated by the shaded box. As the situation changes it shifts away from the region of certainty there is a decreasing likelihood that the rule is going to be effective, as illustrated by the sloped lines. In FIG. 6 as more rules are introduced, as compared to FIG. 5, there is less possibility of an uncertain circumstance. Further, more experience and/or a larger knowledge base, there is more interpretation and response granularity, that yields smaller, less fuzzy transition regions between the rules, as illustrated in FIG. 7.
FIG. 8 schematically illustrates a performance model 10 including a planner portion 12, an error interpreter 14, and a human decision-making model 16. A reference signal 18, as well as set points from planner 12, are utilized by error interpreter 14 to generate errors such as distance error, velocity error and it also utilizes current steering angle information. Error interpreter 14 generates errors 20 that are used by human decision-making model 16 to produce a control signal 22. Control signal 22 in this instance relates to the steering of the vehicle.
In FIG. 9 performance model 10 feeds control system 24 a control signal 22. Control system 24 provides input into dynamic model 26. Dynamic model 26 may include other inputs 28 other than steering information, such as speed information that may be input on other inputs 28. An output signal from dynamic model 26 is generated and a feedback reference signal 30, which feeds back to reference signal 18, indicates the position, velocity, acceleration and orientation of the vehicle.
As illustrated in FIG. 2, a method 100 obtains information from an operator that includes a required path 102, which may include set points necessary to establish the desired path for a vehicle 126. An angle error 104, also known as a steering angle 104 along with distance error 106, heading error 108 and velocity 110 serve as inputs to fuzzification portion 116. Fuzzification portion 116, also known as steering membership functions 116, utilizes steering membership functions to interpret the inputs to generate output information for use in a steering rule base 120. Fuzzification portion 116 utilizes the steering membership functions to interpret the inputs to generate output information for use in steering rule base 120, the output thereof is provided to steering defuzzifier 122 that results in an input signal to a vehicle control unit 24. Vehicle control unit 24 also has a vehicle maximum turn rate 130, which is input in order to calculate the steering information that is passed onto vehicle 126 to control vehicle 126. Maximum turn rate 130 is used by vehicle control unit 24 to prevent turn-over and reduce or eliminate lateral slip of vehicle 126. Global coordinate positions, location, velocity, acceleration and orientation of vehicle 126 are sensed and fed back as a reference by way of feedback loop 128. The information returned in feedback loop 128 is utilized and compared to the required path 102 to generate steering angle 104, distance error 106, heading error 108, velocity 110 and velocity error 112.
The steering angle 104, distance error 106, heading error 108 and velocity 110 are utilized as inputs to fuzzifier portion 116, that corresponds to error interpreter 14 of FIG. 4. Steering angle 104 may be determined by steering sensors located on vehicle 126. Distance error 106, heading error 108, velocity 110 and velocity error 112 are determined from mathematical combinations of the information from feedback loop 128 and from required path 102 and may be done discretely by way of set points as illustrated herein.
Exact error measurements are not possible by a human; however, humans can readily determine if an error is acceptable, close or far away from an objective based upon experience. Boundaries between error classifications are where the uncertainty occurs. The trapezoidal representation incorporates the imprecise classification in their transitional sloped areas. The flat areas at the top of the trapezoids represent a region of certainty.
The membership functions used in block 116 are tuned to minimize the distance variation from a given trajectory at an optimal or near optimal speed. The tuned membership functions, for example, can have three linguistic variables in an attempt to minimize computational effort. When additional granularity in the membership functions is needed it can be introduced if necessary. To illustrate the three linguistic variables, the error can be described as “acceptable”, “close” or “far” from an objective based on experience. These terms are common to a human operator and are utilized by the fuzzy logic control system of method 100.
The rule base is derived based on heuristic knowledge. A hierarchical technique is used based on the importance of the inputs relative to their linguistic variable regions. The hierarchy is drawn from the controller objects. The object for the fuzzy logic controller is to provide a steering signal to bring the vehicle to a desired path. In order to incorporate the information, a fuzzy relations control strategy (FRCS) is utilized. The error values are the fuzzy relations control variables (FRCVs). The FRCS applies to an approach with a control strategy that is incorporated into the fuzzy relations between the controller input variables. The FRCS is developed because the problem is multi-objective, where the current object depends on the state of the system and it results in a different control strategy. The control strategy is to steer vehicle 126 to minimize the distance from a trajectory in as short a time as possible, to avoid lateral slip and to avoid roll over of the vehicle. The current steering angle of the vehicle incorporated as block 104 is input into fuzzification portion 116 to classify the steering angle. If the vehicle distance is far from a required path and the primary objective is to approach the required path as quickly as possible without spending excessive control energy, the vehicle steering may have an acceptable value that is higher than an acceptable value when the vehicle closely approaches the required path. As such, the definition of acceptable steering is different when the vehicle is a far distance from the required path than it is when the vehicle is a short distance from the path.
The FRCS employed in forming the rule base includes a complete set of control rules for all speed conditions. The size of the rule base is generally reduced by approximately 98% by ignoring the extra rules irrelevant to the control strategy.
Defuzzifying the output of rule base method 120 occurs at step 122 to derive a non-fuzzy or crisp value that best represents the fuzzy value of the linguistic output variable. One method that can be utilized is known as the center of area technique to result in a discrete numeric output.
Now, additionally referring to FIGS. 10A-C, there is illustrated another embodiment of the present invention including inputs to both steering and velocity fuzzy control rule bases that result in vehicle control signals that are interpreted and applied to each of four drive motors and a steering motor. The vehicle schematically illustrated has four drive wheels that are independently speed controlled and a steering motor that is used to guide the steering mechanism of the vehicle. Inputs, in addition to those discussed above, are used in this fuzzy rule base system, such as vibration amplitude, vibration frequency and the roll, pitch and yaw of the vehicle. Although shown in a schematic form apart from vehicle 126 it is to be understood that the elements depicted in FIGS. 10A and 10B are normally functionally located on vehicle 126. The model can also be used apart from a vehicle for simulation purposes.
The method for trajectory following autonomous speed control and/or human augmented speed control functions advantageously provide for autonomous or human augmented system for automatic steering and speed control can be trained or tuned for any platform/vehicle. A control can serve as a component in automated suspension, speed and traction control of the vehicle. The system is flexible in that it is oriented around any set points, which can be changed based on dynamic or mission based environmental factors at least partially in the deliberative layer. The system is also flexible in its use of sensor inputs that provide relevant information, since the calculations utilize errors and are independent of the sensor providing the interpreted information. The system is modular in that it allows additional errors of concern to be added and the original system can be expanded or augmented by the addition of these additional errors. The system is stable for dynamic environments. There is an acceptable region of performance where no control signal is provided and the fuzzy logic system removes chattering, such as bang-bang control effects. The multi-objective non-linear controller improves the response to dynamic changes in the environment. The incoming signals are filtered by way of the trapezoidal membership functions. Sensor information, which is generally noisy, is filtered by the very nature of the system and computation time is reduced allowing for smooth transitions between operating regions. The fuzzy relation control strategy reduces rule base size using error input as a classifier. This allows response granularity where needed and removes effects of non-applicable errors when unnecessary, while ensuring a stable control strategy. The rate of correction can be scaled and imprecise information can be used to determine a reaction, which is appropriate for real world sensors. If the method is used for human augmentation applications, the system can filter extraneous activities so that the human can focus on the task at hand.
Having described the preferred embodiment, it will become apparent that various modifications can be made without departing from the scope of the invention as defined in the accompanying claims.

## Claims

1. A vehicle, comprising:
a steering system;
a steering control system operatively connected to said steering system;
a steering angle sensor producing a steering angle signal; and
a reference system producing a heading signal and a distance signal, said steering control system applying said steering angle signal, said heading signal and said distance signal to fuzzy logic membership functions to produce an output that is applied to a steering rule base, said steering rule base producing an output that is defuzzified to produce a steering signal that is supplied to said steering control system to control said steering system, wherein a path is established which serves as a reference for determining said distance signal and said heading signal.

2. The vehicle of claim 1, wherein at least one of an orientation, a location and a velocity of the vehicle is input to said reference system to obtain said heading signal and said distance signal.