MotionView User's Guide

Altair Driver Mathematical Methods

Altair Driver Mathematical Methods

Previous topic Next topic No expanding text in this topic  

Altair Driver Mathematical Methods

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Altair Driver is a simple driver model.  This is used in all MotionView and MotionSolve vehicle events.  The controller can predict the future road path based on the current vehicle state, has knowledge of the vehicle dynamics, and has access to user-defined driver parameters.

Input driver parameters specify the control priorities of the driver.  Vehicle parameters are used to estimate the vehicle’s future states, based on a simple linear bicycle model.  The following paragraphs describe vehicle and driver parameters and their effects on the trajectory planning.

Usage

Altair Driver is implemented as a user-defined solver variable.  Its value is then used in the steering system motion statement.  When a vehicle event is selected from the Analysis Wizard in MotionView, the driver is automatically added to the multi-body model as are the required entities (arrays, solver variables, and so on).

Theory

The well-known bicycle model is used as a first approximation to represent a four-wheeled road vehicle.

driver_bicycle_model_diagram_mv

With some approximations, the equations on motion can be easily written in the form:

driver_eq_1

Where the state vector is:

driver_eq_2

The quantities are:

driver_eq_3 Vehicle Yaw angle
driver_eq_4 Lateral speed of the vehicle (side slip)
driver_eq_5 Yaw rate of the vehicle
y Lateral position of the vehicle CG on the global axes

and

driver_eq_6 Road wheel steer angle (directly proportional to the steering wheel angle by a rack/pinion reduction ration factor).

The A and B matrices can be calculated using Newton’s second law of motion and, with the assumption of small angles (sin driver_eq_7) they become:

driver_eq_8

driver_eq_9

driver_eq_10

Once the equations of motion have been written, the problem becomes that of classical control theory.  The goal is to calculate the steering wheel angle that would cause the vehicle to follow a prescribed path as closely as possible.

This can be achieved in many different ways.  One strategy could be to use optimal control theory and minimize a cost function measuring a series of weighted factors (including lateral position error, hand-wheel steering angle, and heading error) evaluated at different time steps.

With Altair Driver, MotionSolve computes the error between the predicted path and the desired path at some point in the future.  The controller has full knowledge of the vehicle dynamics equations as described above and is able to compute the predicted position based on those equations at some future time.

To compute the predicted path, the equations of motion are integrated at look-ahead times by using the Runge-Kutta integration scheme.  The path is obtained by spline interpolation using the GTCURV utility function in MotionSolve.

The difference between the predicted path and desired path at look-ahead is the error.

Thus:

driver_eq_11

The algorithm attempts to estimate the error by evaluating its sensitivity to the steering wheel angle.  Convergence is achieved when the error is less than a certain tolerance.

The final steering wheel angle is calculated by the iterative method described below:

1.Two appropriate steering wheel angle values are chosen and called swa and swab.
2.The corresponding errors err_a and err_b are calculated and a steering wheel angle, swa_test, is chosen by linear interpolation using the following formula:
driver_eq_12
3.If the error corresponding to the steering wheel angle swa_test is less than a certain tolerance, then it is used as the steering wheel angle at the next time step.
4.If the error corresponding to the steering wheel angle swa_test is more than the tolerance, then the swa or swab which resulted in more error is replaced by swa_test and Step 2 is performed again.

Note that for the first integration step, swa is chosen as the current steering angle and swab is the current steering angle plus 1 degree.  Finally, if the steering wheel angle does not converge after 20 iterations, an error is thrown and the simulation is stopped, signaling the fact that the vehicle cannot perform the path following maneuver.

The final steering wheel angle is essentially used as an increment to the current steering wheel angle as shown below.  When computing the new steering wheel angle value (at time t+1), the previous value of the steering wheel angle (at time t) is updated by the quantity:

driver_eq_13

Where:

h_equ_example_sd is the step size (the difference between the last successful integration time and the current time).
ff is the feedback frequency which captures the driver reaction times (should be less than the step frequency).

Limitations

Since the controller uses a simplified linear representation of the vehicle, its applicability is limited to the linear range.  Another simplification done to the equations is that of small angles (yaw angle).  This means that the stability and the accuracy of the controller decrease greatly for vehicles performing maneuvers outside of the linear range.

User Inputs

You can enter vehicle parameters and driver parameters by defining two arrays.  The vehicle parameter array contains quantities that are used in the definition of the bicycle model.

These include:

Rear WC to CG long distance (b)
Front WC to CG long distance (a)
Vehicle Mass
Vehicle Izz
Front tire cornering stiffness (cf)
Rear tire cornering stiffness (cr)
Steering ratio (hand-wheel to front-wheel angle gain, ksw)

The driver parameter array defines quantities that influence the driver behavior, as well as all the markers used to compute all the vehicle kinematic states.

These include:

Look ahead value [s]
Feed frequency value (ff) [-]
Maximum steering wheel angle [deg]
Body CM marker ID
Global frame marker ID
Path origin ID (usually a marker on the road coincident with the vehicle body CM)

The maximum steering wheel angle is ultimately used as cut-off value for the computed steering wheel angle.