Sinusoidal Steering

A Sinusoidal steering event simulates a vehicle driving at a constant speed while a sin wave input is applied to the steering wheel. The event is used to simulate the On-center steering test described in SAE paper 840069. Standard vehicle outputs are included in the event. Body state variable output requests (displacement, velocity, acceleration) are included in the body system and tire output is included in the tire system. A plot template is available to plot the results.

The Sinusoidal Steering event is conducted to determine the vehicle response to the steering wheel input from a low frequency sin wave. The event simulates the performance of the vehicle in the under a 0.2G lateral event and is used to characterize the steering feel for driving events where the vehicle needs to be precisely controlled. The event should predict steering feel for the vehicle in normal highway events at moderate lateral acceleration (under 0.3G).



Figure 1. Sinusoidal Steering Event


Figure 2. Top View of a Sinusoidal Steering (Vehicle is Extremely Small)

The values for the initial vehicle velocity, steering input magnitude, and steering input frequency can be modified via the event form.

Attachments

The event uses the standard event attachment. The attachments resolve automatically if the model is built through the Model Wizard. The attachments contain the minimum data the event needs to run the analysis. The attachments are standard for most events.

References

SAE 840069 – Objective Evaluation of On-Center Handling Performance.

Creating a Sinusoidal Steering

  1. Click the Task Wizard and select the Sinusoidal steering analysis option.
  2. Click Next.
  3. Click Finish.
    The Project Browser populates with the new data, and the Car/Small truck - Full vehicle tasks dialog opens.
  4. Review the data in the dialog and click Next.
    Car/Small truck - Full vehicle tasks dialog displays the sinusoidal steer data.
  5. Review the data and click Next.
    Car/Small truck - Full vehicle tasks dialog displays the drive torque controller data.
  6. Click Finish.
  7. In the Project Browser, under sinusoidal steering analysis, expand Curves and click on Lane path.
    A single curve is included in the Sinusoidal Steering event. The curve is not used by the event but is included in case you want to switch to an event that is driven on a path.
  8. In the Project Browser, under sinusoidal steering analysis, expand Data Sets and click on Full Vehicle Data.
    One dataset is used in the system, which contains the data used to describe the Sinusoidal Steering event. The event allows you to set the initial vehicle velocity, lane width, steering input magnitude and steering input frequency. The wheel rotational velocities and ground height (shown with a blue background) are calculated values and should not be changed.
  9. In the Project Browser, expand Forms and click on Sinusoidal steer data.
    The form is the only place that you should change the Sinusoidal Steering event. Vehicle velocity, steering input magnitude and steering input frequency are the parameters that can be modified. You can edit the event template if you want to make the event run longer.
  10. In the Project Browser, expand Graphics.
    Seven graphics are defined in the event. The graphics define the cones and the straight road graphics and should not require any user input.
    The straight road graphics are included to illustrate the path being driven and are defined parametrically using the data in the Sinusoidal steering form. Straight road graphics should never require editing unless the event is being fundamentally changed.


    Figure 3. Cone Graphics


    Figure 4. Straight Road Graphics
  11. In the Project Browser, expand Joints and click on Rack Dummy Ball.
    A ball joint is included in the Sinusoidal Steering event. The joint attaches a dummy body to the steering rack. The joint is included to make certain events work in ADAMS.
  12. If building a model manually, attach the dummy body to the steering rack using the panel.
  13. In the Project Browser, expand Markers.
    Five markers are included in the Sinusoidal Steering event. The path origin is the origin of all graphics and is parametrically defined to be the CG of the vehicle body. The markers refer to points and the points contain the parametric logic.

    The path outline markers point to the path outline points for their XYZ location. The markers are used to define the road graphics. None of the markers should require any user input.

    None of the markers should require any user input.

  14. In the Project Browser, expand Motions.
    Three motions are included in the event. The steering motion is used to steer the vehicle and acts on a revolute joint that connects the steering column to the vehicle body. If a steering column is not included in the model, the motion acts on a joint between the steering rack input shaft and the vehicle body.

    The front and rear wheel motions act on the wheel spindle revolute joints connecting the wheel hub to the knuckle. The motion is initially zero (fixing the wheels to the knuckle) so the model converges statically. After static analysis, the wheel locking motions are deactivated to allow the tires to rotate during the dynamic analysis.

  15. In the Project Browser, expand Points.
    Fifteen points are defined in the event. All points are used to create the lane graphics and cones graphics used to illustrate the lanes. The points contain parametric logic to define their X, Y, and Z locations. You should not need to modify any points.
  16. In the Project Browser, expand Templates and click on Sinusoidal steer.
    The template is solver specific and only the MotionSolve template is documented. The template is inserted in the solver deck after the </Model> command and controls the execution of the event.

    The steering wheel motion is modified in the template to use the values found in the dataset. The event end time (default is 6 seconds) is set in the template and should be modified to simulate a complete on-center steering test.

    The template for this event is shown below.
    <ResOutput
         angle_type          = "YPR"
      />
      <ResOutput
         mrf_file            = "TRUE"
      />
      <ResOutput
         plt_file            = "TRUE"
      />
      <H3DOutput
         switch_on           = "TRUE"
         increment           = "1"
      />                    
    {if (tire_dataset.opt_omega.ival ==1)}
    <!--Initial static analysis -->
    
    <Simulate
    	analysis_type = "Static"
    	end_time      = "0.0"
    />	
    {endif}
     <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_frnt_wheel.l.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_frnt_wheel.r.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_rear_wheel.l.idstring}"
    />
    <Deactivate
    	element_type = "MOTION"
    	element_id = "{mot_rear_wheel.r.idstring}"
    />
    {if (tire_dataset.opt_omega.ival ==2)}
    <!--Initial static analysis -->
    
    <Simulate
    	analysis_type = "Static"
    	end_time      = "0.0"
    />	
    {endif}
    <Deactivate
    	element_type = "JPRIM"
    	element_id = "{j_clamp_1_body.idstring}"
    />
    <Deactivate
    	element_type = "JPRIM"
    	element_id = "{j_clamp_2_body.idstring}"
    />    
      <Motion_Joint
         id                  = "{wh_motion.idstring}"
         expr                = "-{ds.str_mag.value}D*SIN(2*PI*{ds.str_freq.value}*TIME)"
      />                                
                                     
     <Simulate
          analysis_type       = "Transient"
          end_time            = "6"
          print_interval      = "0.05"
      />
     
     <Stop/>