Simulation Events and Driver Messages in the Log File

Below are the series of steps taken by Altair Driver in the solver, which can be tracked with the help of Driver messages in the log file.

Understanding the driver statements in the log file can help in case you want to know whether driver is reading all the information you want it to.

MotionSolve Log File of a Multi Maneuver Event

  • MotionSolve loads the driver and powertrain DLL.
Attempting to load usersub dll in the following search order:
INFO: Usersub library [D:\Altair\2020.0.0.34\hwsolvers\motionsolve\bin\win64\msautoutils.dll] loaded
  • Driver checks out the license.
  • Driver uses the MotionSolve license and extra license is not required for driver to work.
Checking out license feature 16 ...
License OK.
  • Driver reads the file and initializes all the maneuvers and all the controllers.
  • Reads all the meta-character driven expressions.
  • Driver does not overload the expressions now, it does so right before the transient maneuver start.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Instantiating...
<< ALTAIR DRIVER :: Altair Driver File (ADF) read successfully.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Reading controllers for Maneuver 1, 'MANEUVER_1'...
<< ALTAIR DRIVER :: Param_Transient/0/h_max will be updated to:0.01 at the start of the maneuver.
<< ALTAIR DRIVER :: Maneuver 1 read.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Reading controllers for Maneuver 2, 'MANEUVER_2'...
<< ALTAIR DRIVER :: Param_Transient/0/h_max will be updated to:0.01 at the start of the maneuver.
<< ALTAIR DRIVER :: Maneuver 2 read.
<< ALTAIR DRIVER :: Maneuver data read successfully.
--------------------------------------------------------------------------
 
  • Deactivates the maneuver sensor and simulates a static analysis.
- Parsing CONSUB MODIFY command:
DEACTIVATE/SENSOR, ID=340001
 - Sending off commands...
 Deactivate SENSOR/340001
Execute analysis [Static]...
  • Sets up the initial velocity and angular velocity for the wheels.
  • Gather the tire info for all the Autotires present in the system.
----------------------------------------------------------------------------
<< ALTAIR DRIVER :: Setting up the initial velocity.
<< ALTAIR DRIVER :: Setting up the angular velocity of the wheels.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: TireInfo -> GFO_ID:32301, Radius: 0.304242, Position: (0.999801,-0.749788,0.983121)
<< ALTAIR DRIVER :: TireInfo -> GFO_ID:32601, Radius: 0.304269, Position: (0.999785,0.750332,0.983379)
<< ALTAIR DRIVER :: TireInfo -> GFO_ID:33001, Radius: 0.304244, Position: (3.69946,-0.749892,0.983136)
<< ALTAIR DRIVER :: TireInfo -> GFO_ID:33301, Radius: 0.304263, Position: (3.69944,0.750427,0.983325)
--------------------------------------------------------------------------
  • Driver starts the steer ratio calculation of the vehicle.
  • Rotate the steering wheel by 0.1 radians and execute static analyses.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Calculating Steer Ratio of the vehicle...

Execute MODSET Utility...
 ORIGINAL:
<Motion_Joint id="340001" expr="0"/>
 MODIFIED:
<Motion_Joint id="340001" expr="0.1"/>
Execute analysis [Static]…
--------------------------------------------------------------------------
  • Steer ratio is calculated by measuring the tire rotation of the steered tires.
  • Updates the steer ratio of the vehicle used in the Feedforward steering model.
  • Rotate the steering wheel back by 0.0 radians and execute static analyses.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Updating Steer Ratio to 16.5607...
--------------------------------------------------------------------------
Execute MODSET Utility...
 ORIGINAL:
<Motion_Joint id="340001" expr="0.1"/>
 MODIFIED:
<Motion_Joint id="340001" expr="0"/>
Execute analysis [Static]...
--------------------------------------------------------------------------
  • Activates the end condition sensor before the transient simulation.
- Parsing CONSUB MODIFY command:
ACTIVATE/SENSOR, ID=340001
 - Sending off commands...
 Activate SENSOR/340001
-----------------------------------------------------------------------------------
  • Driver overrides all the solver signals attached as driver outputs.
  • Deactivates all the locks from the static simulation - Vehicle yaw constraint, vehicle XY constraint and differential lock.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Setting driver outputs.
<< ALTAIR DRIVER :: Deactivating joints and lock motions.

 - Parsing CONSUB MODIFY command:
DEACTIVATE/MOTION, ID=1001
 - Sending off commands...
 Deactivate MOTION/1001

 - Parsing CONSUB MODIFY command:
DEACTIVATE/JPRIM, ID=303001
 - Sending off commands...
 Deactivate JPRIM/303001

 - Parsing CONSUB MODIFY command:
DEACTIVATE/JPRIM, ID=303002
 - Sending off commands...
 Deactivate JPRIM/303002

 - Parsing CONSUB MODIFY command:
DEACTIVATE/JOINT, ID=303001
 - Sending off commands...
 Deactivate JOINT/303001
WARNING: Element JOINT/303001 not found!
         DEACTIVATE command ignored.

 - Parsing CONSUB MODIFY command:
DEACTIVATE/JOINT, ID=303002
 - Sending off commands...
 Deactivate JOINT/303002
WARNING: Element JOINT/303002 not found!
         DEACTIVATE command ignored.
--------------------------------------------------------------------------------
  • Loads the 1st maneuver of the simulation.
  • Instantiates the controller of the maneuver currently loaded, and updates the end conditions.
  • Activates steer angle or steer torque based on the control selection in the ADF.
  • Execute MODSET Utility to change the solver parameters or solver expressions for the maneuver, if any.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Loading Maneuver 1...
<< ALTAIR DRIVER :: Adding maneuver end condition sensor::YAW_RATE
<< ALTAIR DRIVER :: Instantiating FeedForward Steering Controller, FF_STEER_CONTROLLER, for STEER...
<< ALTAIR DRIVER :: Look ahead time value fetched from ADF.

 - Parsing CONSUB MODIFY command:
DEACTIVATE/SFORCE, ID=34001
 - Sending off commands...
 Deactivate SFORCE/34001

 - Parsing CONSUB MODIFY command:
ACTIVATE/MOTION, ID=340001
 - Sending off commands...
 Activate MOTION/340001
<< ALTAIR DRIVER :: Dynamic bicycle control model instantiated.
<< ALTAIR DRIVER :: Instantiating Constant Radius Path.
<< ALTAIR DRIVER :: Constant Radius Path Instantiated.
<< ALTAIR DRIVER :: Path instantiated.
<< ALTAIR DRIVER :: FeedForward Steering Controller instantiated.

<< ALTAIR DRIVER :: Instantiating FeedForward Traction Controller/Velocity, FF_TRACTION_CONTROLLER, for THROTTLE...
<< ALTAIR DRIVER :: Setting up Signal Generator/Constant.
<< ALTAIR DRIVER :: Signal Generator instantiated.
<< ALTAIR DRIVER :: FeedForward Traction Controller/Velocity, FF_TRACTION_CONTROLLER, for THROTTLE instantiated.

<< ALTAIR DRIVER :: Giving BRAKE control to FF_TRACTION_CONTROLLER

<< ALTAIR DRIVER :: Instantiating Gear Shift Controller/Engine Speed, GEAR_CLUTCH_CONTROL, for GEAR...
<< ALTAIR DRIVER :: Reading Gear Shift Map.
<< ALTAIR DRIVER :: Gear Shift Map read.
<< ALTAIR DRIVER :: Gear Shift Controller/Engine Speed for CLUTCH instantiated.

<< ALTAIR DRIVER :: Giving CLUTCH control to GEAR_CLUTCH_CONTROL.

<< ALTAIR DRIVER :: Loading controllers for the maneuver.
<< ALTAIR DRIVER :: Updating parameters for the maneuver.
<< ALTAIR DRIVER :: Maneuver 1 loaded.
--------------------------------------------------------------------------
Execute MODSET Utility...
 ORIGINAL:
<Simulate id="0" print_interval="0.01"/>
 MODIFIED:
<Simulate id="0" print_interval="0.05"/>
Execute analysis [Transient Simulation for Maneuver 1]...
INFO: Starting SMP run with up to 8 threads.
--------------------------------------------------------------------------.
  • Runs transient, until the end condition sensor is triggered.
<< ALTAIR DRIVER :: Absolute value of  ( d/dt of (YAW_RATE , VARVAL/34000700) = 5.01673e-312) ==0.25 TOLERANCE:0.0125 for 0.1 seconds.
<< ALTAIR DRIVER :: End condition for the maneuver true...
<< ALTAIR DRIVER :: Triggering end conditions sensor... 
INFO: Invoking action [RETURN] triggered by sensor [id=340001]...
INFO: Time =    2.7547868E+00
INFO: Reference Value =    1.0000000E+00 Current Value =    2.0000000E+00
  • Activates the end condition sensor before the transient simulation.
<< ALTAIR DRIVER :: Activating end conditions sensor.
 Activate SENSOR/319001
Execute analysis [transient]...
  • Runs transient, until the end condition sensor is triggered.
<< ALTAIR DRIVER :: End time for the maneuver reached. Switching to next maneuver...
 
INFO: Invoking action [RETURN] triggered by sensor [id=319001]...
INFO: Time =   1.99915811E+00
INFO: Reference Value =   1.00000000E+00 Current Value =   2.00000000E+00
  • Loads the next maneuver of the simulation.
  • Instantiates the controller of the maneuver currently loaded, and updates end conditions.
  • Activates steer angle or steer torque based on the control selection in the ADF.
  • Execute MODSET Utility to change the solver parameters or solver expressions for the maneuver, if any.
  • Aborts the simulation if no more maneuvers are found.
--------------------------------------------------------------------------
<< ALTAIR DRIVER :: Loading Maneuver 2...
<< ALTAIR DRIVER :: Adding maneuver end condition sensor::LONG_VEL
<< ALTAIR DRIVER :: Instantiating FeedForward Steering Controller, FF_STEER_CONTROLLER, for STEER...
<< ALTAIR DRIVER :: Look ahead time value fetched from ADF.

 - Parsing CONSUB MODIFY command:
DEACTIVATE/SFORCE, ID=34001
 - Sending off commands...
 Deactivate SFORCE/34001

 - Parsing CONSUB MODIFY command:
ACTIVATE/MOTION, ID=340001
 - Sending off commands...
 Activate MOTION/340001
<< ALTAIR DRIVER :: Dynamic bicycle control model instantiated.
<< ALTAIR DRIVER :: Instantiating Constant Radius Path.
<< ALTAIR DRIVER :: Constant Radius Path Instantiated.
<< ALTAIR DRIVER :: Path instantiated.
<< ALTAIR DRIVER :: FeedForward Steering Controller instantiated.

<< ALTAIR DRIVER :: Instantiating Open Loop Controller, OL_THROTTLE, for THROTTLE...
<< ALTAIR DRIVER :: Setting up Signal Generator/Constant.
<< ALTAIR DRIVER :: Signal Generator instantiated.
<< ALTAIR DRIVER :: Open Loop Controller instantiated for THROTTLE.

<< ALTAIR DRIVER :: Instantiating FeedForward Traction Controller/Acceleration, FF_ACC_CONTROLLER, for BRAKE...
<< ALTAIR DRIVER :: Setting up Signal Generator/Expression.
<< ALTAIR DRIVER :: Using VARVAL/34002200 as signal.
<< ALTAIR DRIVER :: Reference_Variable/34002200/expr will be updated to:STEP({%TIME}, 0, {LONG_ACC_0},0.5,-981.0) at the start of the maneuver.
<< ALTAIR DRIVER :: Signal Generator instantiated.
<< ALTAIR DRIVER :: FeedForward Traction Controller/Acceleration, FF_ACC_CONTROLLER, for BRAKE instantiated.

<< ALTAIR DRIVER :: Instantiating Gear Shift Controller/Engine Speed, GEAR_CLUTCH_CONTROL, for GEAR...
<< ALTAIR DRIVER :: Reading Gear Shift Map.
<< ALTAIR DRIVER :: Gear Shift Map read.
<< ALTAIR DRIVER :: Gear Shift Controller/Engine Speed for CLUTCH instantiated.

<< ALTAIR DRIVER :: Giving CLUTCH control to GEAR_CLUTCH_CONTROL.

<< ALTAIR DRIVER :: Loading controllers for the maneuver.
<< ALTAIR DRIVER :: Updating parameters for the maneuver.
<< ALTAIR DRIVER :: Maneuver 2 loaded.
--------------------------------------------------------------------------.
Execute analysis [Transient Simulation for Maneuver 2]...

Error messages in between the transient simulation

Transient errors in the steering controller.
Steering is computationally most heavy, complex and most sophisticated block. Hence, understanding the steering controller messages are important.
  1. WARNING: Steering Controller: Could not Find Steering wheel angle in eatc iterations
    Newton Raphson convergence failure and error along tangent used for calculations is > 1 mm along lateral direction. This error is not fatal and driver drives the vehicle with best approximations.
  2. WARNING: Steering Controller: Suppressing warning messages from steering controller
    If driver repeatedly warns with the previous message. The driver suppresses the warnings.
  3. ABORT: Steering Controller: Could not Find Steering wheel angle in nrpec Iterations. Aborting simulation.
    This message means either the vehicle has slipped out of the driver has repeatedly failed to converge to a steering angle value that would take the vehicle on the path. However, when driving on close to limit maneuvers. This also happens when the vehicle is drifting. Many times this behavior is expected and the you can specify driver not to abort the simulation because of this error by writing AGGRESSIVE=’TRUE’ in steering controller block in the ADF.