MotionView User's Guide

Step Steer

Step Steer

Previous topic Next topic Expand/collapse all hidden text  

Step Steer

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

Introduction

A Step steer event simulates vehicle response to a sudden step input to the steering wheel.  The steering input is a rotational motion or torque at the steering wheel or the input shaft to the steering gear.  The standard output requests are included to measure vehicle response.  Tire requests are included to understand tire forces during the event.  A Drive torque controller is added to maintain constant speed during the event to drive the vehicle forward.  A plot template is available to plot the results.

A series of step steer tests (in both the left and right turn direction) at increasing steer angles can be used to characterize the vehicle understeer and lateral response.

step_steer_event_example_mv

Step Steer Event

step_steer_event_example_top_view_mv

Top View of a Step Steer Event

step_steer_vehicle_model_with_body_graphics_mv

Vehicle Model with Body Graphics

Detailed Description

The sequence of steps in the event is shown in the table.  Times shown in the table refer to the default values.

Time

Description

0-2 second
(0->Steering Input start time)

Vehicle settles into steady state at the initial velocity entered on the event Form (default is 55 mph).

2-4 seconds
(Steering Input Start time-> Steering Input
End time)

Steering angle is rapidly increased from 0 to the Max Steering value (default 60 degrees) using the prescribed function (sine, step or ramp).

4-8 seconds

(Steering Input End time-> Steering Input End Time + 4 seconds)

Steering is held at the max steering value while the vehicle responds.  The end time can be changed in the event template if required.

Event parameters are entered on the event Form shown below:

task_wzd_dialog_step_steer_event_mv

Step Steer Data Dialog

The Step steer event is designed to work with a full vehicle model that has been built through the MotionView Assembly Wizard.  The event should attach to the model automatically when added through the Task Wizard.  The event can be used with models built manually, as long as the attachment scheme in the event is strictly followed.

In this event, the vehicle is driven straight at an initial velocity of 55 mph for 2 seconds to reach steady state.  From 2 to 4 seconds, the vehicle is steered from zero to the prescribed value (default is 60 degrees) using the function selected in the event Form (sine, step or ramp).  After 4 seconds, the steering wheel is held fixed at the same angle or torque until the end of the simulation.

The initial Vehicle velocity, Steering input start and end time, and maximum steering angle can be modified via the event Form (shown below).  The type of steering input can be Input type angle or torque.  There is a choice of three function types: Sine, Step, and Ramp, which describe the ramp from zero to the “stepped” input.

The default step input time is 2 seconds.  Most steering tests are run with a faster input.  The ISO 7401:2003 specification recommends the time between 10% and 90% of the steering wheel input be no more than 0.15 seconds.  A steering event with a step time of 0.1 seconds (2.1-2.0) will meet these requirements.  Extremely quick step inputs (under 0.02 seconds) may result in absurdly high forces in the steering system.

The entities in the event are displayed in the MotionView Project Browser as shown in the image below:

step_steer_browser_mv

Browser View - Forms - Step Steer Analysis

The nominal Steering Wheel Angle vs. Time plot is shown below:

step_steer_event_graph_example_mv

Steering Wheel Angle vs. Time

Six types of modeling element containers are used to define the event (see below).  Two sub-systems (Output Requests and a Drive torque controller) are also included in the event.

hmtoggle_plus1Attachments

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.

events_attachment_list_mv

Step Steer Event – Attachments

hmtoggle_plus1Datasets

One dataset is used in the system and it contains the data used to describe the Step steer event.  The event allows you to set the initial Vehicle velocity, Steering Input type (angle or torque), Steering input start time and end time, Maximum Steering Value and Function type (sine, step or ramp).  The wheel rotational velocities and Ground z Coordinate are calculated values.  You can edit the dataset values in the Form.

step_steer_browser_data_sets_mv

Project Browser View - Datasets - Step Steer Analysis

step_steer_data_sets_panel_dialog_mv

Dataset Property Data Dialog - Step Steer Analysis

hmtoggle_plus1Forces

The Step steer consists of only one force, the steering torque.  This force is used as input for the steering.  If the Steering input type selected is torque, then the motion is deactivated and force is used to turn the steering wheel.  The browser view of the force is shown below:

step_steer_browser_forces_mv

Project Browser View - Force - Step Steer Analysis

hmtoggle_plus1Forms

The Form is the only place that you should change the pulse steer event.  Initial vehicle velocity, steering input start time and end time, and maximum steering value are the parameters that can be changed.  The steering input can be either angle or torque as per the user requirement.  The function type used for the step event can also be set and can be sine, step or ramp.

step_steer_browser_forms_mv

Project Browser View - Forms - Step Steer Analysis

step_steer_forms_panel_dialog_mv

Step Steer Data - Form Dialog

hmtoggle_plus1Joints

A ball joint is included in the Step steer event.  The joint attaches a dummy body to the steering rack.  The joint is included to make certain events work in ADAMS.  Attach the dummy body to the steering rack if building a model manually.

step_steer_browser_joints_mv

Project Browser View - Joints - Step Steer Analysis

events_joints_ball_joint_panel_example_mv

Joints Panel - Step Steer Analysis

hmtoggle_plus1Motions

Three motions are included in the event.  The steering motion is used in the event to steer the vehicle and acts on a revolute joint that connects the steering wheel to the vehicle body.  If a steering column is not included in the model, the joint acts between the steering rack input shaft and the vehicle body.  The motion is modified in the event template to steer the vehicle.

The Front and Rear Wheel Motions act on the wheel spindle revolute joints that connect the wheel hub to the knuckle.  The motion is initially zero (fixing the wheels to the knuckle) so the model converges statically.  The locking motions on the wheels are deactivated after convergence of the static analysis to allow the tires to rotate during the dynamic simulation.

step_steer_browser_motions_mv

Project Browser View - Motions - Step Steer Analysis

hmtoggle_plus1Templates

A template is included in the Step steer event task.  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.

step_steer_browser_templates_mv

Project Browser View - Templates - Step Steer Analysis

The template for this event is shown below:

<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}"

/>  

 

{if ds.inp_type.value == "Angle"}

 <Deactivate

 element_type = "FORCE"

 element_id = "{tor_str.idstring}"

 />

{if ds.func_type.value == "Sine"}

<Motion_Joint

    id                  = "{wh_motion.idstring}"

    expr                = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/2}D-({-ds.str_value.value/2}D)*COS(2*PI*{0.5/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value})),{-ds.str_value.value}D,{-ds.str_value.value}D))"

/>

{elseif ds.func_type.value == "Step"}

<Motion_Joint

    id                  = "{wh_motion.idstring}"

    expr                = "STEP(TIME,{ds.str_time.value},0.0,{ds.end_time.value},{-ds.str_value.value}D)"

/>

{else}

<Motion_Joint

    id                  = "{wh_motion.idstring}"

    expr                = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/(ds.end_time.value-ds.str_time.value)}D*(TIME-{ds.str_time.value}),{-ds.str_value.value}D,{-ds.str_value.value}D))"

/>

{endif}

 

{else}

<Deactivate

       element_type = "MOTION"

       element_id = "{wh_motion.idstring}"

/>

{if ds.func_type.value == "Sine"}

<Force_Scalar_TwoBody

    id                  = "{tor_str.idstring}"

    type                 = "Torque"

    val_expression      = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/2}-({-ds.str_value.value/2})*COS(2*PI*{0.5/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value})),{-ds.str_value.value},{-ds.str_value.value}))"

/>

{elseif ds.func_type.value == "Step"}

<Force_Scalar_TwoBody

    id                  = "{tor_str.idstring}"

    type                 = "Torque"

    val_expression      = "STEP(TIME,{ds.str_time.value},0.0,{ds.end_time.value},{-ds.str_value.value})"

/>

{else}

<Force_Scalar_TwoBody

    id                  = "{tor_str.idstring}"

    type                 = "Torque"

    val_expression      = "IF(TIME-{ds.str_time.value}:0,0,IF(TIME-{ds.end_time.value}:{-ds.str_value.value/(ds.end_time.value-ds.str_time.value)}*(TIME-{ds.str_time.value}),{-ds.str_value.value},{-ds.str_value.value}))"

/>

{endif}

{endif}

 

<Simulate

       analysis_type       = "Transient"

       end_time            = "{ds.end_time.value+4.0}"

       num_steps      = "{(ds.end_time.value+4.0)*100}"

/>      

<Stop/>

References:

ISO +7401-2003 - Road vehicles - Lateral transient response test methods - Open-loop test methods.