MotionView User's Guide

Double Lane Change

Double Lane Change

Previous topic Next topic Expand/collapse all hidden text  

Double Lane Change

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

Introduction

A Double lane change event drives the vehicle through a lane change and a return to lane maneuver, attempting to follow the centerline of the defined lane.  You can define the speed of the lane change, along with the lane dimensions.  A Steer controller is used to follow the path and a Drive torque controller is used to maintain speed throughout the event.  The event supports right and left lane changes.  A plot template is available to plot the results.

A Double lane change does not have specific metrics associated with it.  A lane change is typically used as a subjective evaluation test.  The Double lane change is similar to the ISO Obstacle Avoidance maneuver and the NATO Double Lane change, but does not exactly follow those standards.

Note - A Single Lane Change test is also available.

double_lane_change_event_example_mv

Double Lane Change Event

double_lane_change_event_example_top_view_mv

Top View of a Double Lane Change Path

vehicle_model_with_body_graphics_large_mv

Vehicle Model with Body Graphics

Detailed Description

The Double lane change 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.

The event is a designed to simulate a sudden turn in one direction, a short recovery period, and a return to the original lane of travel.  The event simulates obstacle avoidance transient vehicle dynamics.  The vehicle path is defined in the Full Vehicle Data dataset in the Double lane change analysis.  A driver model attempts to make the CG of the body follow the defined path, while a torque controller maintains the initial speed.

double_lane_change_path_diagram_mv

Double Lane Change Path Diagram

The Double lane change path is shown in the diagram above.  Lane dimensions are entered in meters and are translated to millimeters in the various locations they are used (point parametric definitions, solver arrays, and so on).  The lane graphics are defined from the path dimensions and are used to illustrate the path.  The road surface used by the tire is defined by the .rdf file in the tire system and is independent from the graphics.

The event is similar to the ISO event 3888-2 “Passenger cars-Test track for a severe lane change maneuver-Part 2: Obstacle avoidance”.  The ISO event defines a test track setup of lanes and cones.  The lane width is a function of the vehicle width and any path is permitted as long as the cones are not disturbed.  The ISO event path is shown below.

double_lane_change_placing_of_cones_diagram_mv

ISO Double Lane Change Diagram (from ISO 3888-2 Part 2 Obstacle Avoidance)

The Double lane change event is also similar to the NATO double lane change, as described in NATO Allied Vehicle Testing Publication AVTP: 03-160 Sep. 1991.  The NATO event lane widths and lengths are a function of the vehicle overall length and width and any path through the lane change is permitted.  The NATO double lane change path is described below.

double_lane_change_diagram_mv

NATO Double Lane Change AVTP 03-160

The initial speed can be modified via the event Form (shown below).  The Ground z Coordinate is a calculated value (the blue background designates a calculated value) and is calculated by subtracting the front left tire rolling radius from the front left tire CG Z location.

double_lane_change_iso_data_dialog_mv

Double Lane Change Data Dialog

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

double_lane_change_browser_mv

Project Browser View - Forms - Double Lane Change Analysis

Nine types of modeling element containers (Datasets > templates) are used to define the event (see below).  Two sub-systems (a Steer controller and a Drive torque controller) are 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

Double Lane Change Event – Attachments

hmtoggle_plus1Curves

A single curve is included in the event.  The curve is a user written CURSUB that defines the centerline of the path.  Path dimensions entered in the Full Vehicle Data Dataset are used to define the Lane Parameters solver array.  The ID of the solver array is passed to the CURSUB subroutine which generates the curve geometry.

double_lane_change_browser_curves_mv

Project Browser View - Curves - Double Lane Change Analysis

double_lane_change_curves_panel_mv

Lane Path Curve

double_lane_change_expr_builder_curves_mv

Lane Path Curve idstring

hmtoggle_plus1Datasets

One dataset is used in the system and it contains the data used to describe the Double lane change event.  The event allows you to set the vehicle control, the lane change dimensions, and a Cone - Base diameter.  The wheel rotational velocities, ground height, and final section length are calculated values and should not be changed.

double_lane_change_browser_data_sets_mv

Project Browser View - Datasets - Double Lane Change Analysis

double_lane_change_data_set_prop_data_dialog_mv

Dataset Property Data Dialog - Double Lane Change Analysis

hmtoggle_plus1Forms

The Form contains data to change the event inputs. Vehicle velocity is the only parameter (shown with a white background) that can be changed.  The Ground z Coordinate is a calculated value (designated by a blue background) and is calculated using the left front wheel CG Z location and the tire rolling radius from the Tire Data Form.

Lane dimensions are not included on the Form and are changed in the dataset.  The Double lane change event is setup differently from most events.  Future versions of the event will include the lane data on the Form.

double_lane_change_browser_forms_mv

Project Browser View - Forms - Double Lane Change Analysis

double_lane_change_forms_dialog_mv

Double Lane Change Data Analysis - Form Dialog

hmtoggle_plus1Graphics

Twenty seven graphics are defined in the event.  The graphics define the cones and the road surface graphics and should not require any user input.  A full description of the graphics can be found here.

The road graphics are included to illustrate the path being driven and are defined parametrically using the data in the Double lane change Form.  All road graphics are used to illustrate the lane dimensions, but are not of the actual road used for calculating tire forces.  Road graphics should never require editing unless the event is being fundamentally changed.

The road used to calculate the tire forces is at the same height as the road graphics and is defined by the road file (.rdf) in the tire system.  The default flat road file in the vehicle library is an infinitely large flat road with a coefficient of friction value of 1.0.  The road file is an ASCII file that can be edited.

double_lane_change_browser_graphics_mv

Project Browser View - Graphics - Double Lane Change Analysis

double_lane_change_cone_graphics_example_mv

Cone Graphics

double_lane_change_road_graphics_example_mv

Road Graphics

hmtoggle_plus1Joints

A ball joint is included in the Double lane change 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.

double_lane_change_browser_joints_mv

Project Browser View - Joints - Double Lane Change Analysis

events_joints_ball_joint_panel_example_mv

Joints Panel - Double Lane Change Analysis

hmtoggle_plus1Markers

Thirteen markers are included in the Double lane change event.  The path origin is the origin of all lane change 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 lane graphics.  None of the markers should require any user input.

double_lane_change_browser_markers_mv

Project Browser View - Markers - Double Lane Change Analysis

hmtoggle_plus1Motions

Three motions are included in the event.  The steering motion to the vehicle is provided by the steering controller 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 joint acts between the steering rack input shaft and the vehicle body on a rack and pinion steering system.

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 motions are deactivated after the static equilibrium analysis to allow the tires to rotate.

double_lane_change_browser_motions_mv

Project Browser View - Motions - Double Lane Change Analysis

hmtoggle_plus1Points

Thirty five points are defined in the event.  Points are used to create the lane graphics and graphics for the cones 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.

double_lane_change_browser_points_mv

Project Browser View - Points - Double Lane Change Analysis

hmtoggle_plus1Solver Arrays

The Double lane change event contains a Solver Array called Lane Parameters that defines the path that the vehicle has to travel.

double_lane_change_browser_solver_arrays_mv

Project Browser View - Solver Arrays - Double Lane Change Analysis

double_lane_change_solver_array_panel_mv

Panel – Solver Array - Lane Parameters

Parameter Number

Value

Description

0

1

Lane type (1=Double lane change).

1

1

Interpolation type (1=Cubic).

2

0

First lane change direction (Left=0, Right =1).

3

125000

Total length (mm).

4

15000

Distance to start of lane change (mm).

5

30000

First Lane Change: Longitudinal distance (mm).

6

3500

First Lane Change: Lateral distance (mm).

7

25000

Distance from end of the first lane change to the start of the second lane change (mm).

8

25000

Second lane change: Longitudinal distance (mm).

9

3500

Second lane change: Lateral distance (in opposite direction to first lane) (mm).

double_lane_change_solver_array_diagram_mv

Diagram of Double Lane Change Event

The data point values in the solver array are obtained from the Full Vehicle Data dataset.  Lane data is converted from meters to millimeters in the Data Point panel. The data is passed to the CURSUB subroutine using the idstring of this array.

hmtoggle_plus1Solver Variables

The Double lane change event consists of only one solver variable, the Steer Path Variable, which calls a user subroutine to apply an input at the steering wheel in order to follow a desired path.

double_lane_change_browser_solver_variables_mv

Project Browser View - Solver Variables - Double Lane Change Analysis

double_lane_change_solver_variables_panel_mv

Solver Variable Panel - Steer Path Variable

The numbers in the solver variable USER subroutine call are as follows:

Number

Description

5000

The Branching ID.  5000 is a Double lane change event.

70000000

The ID of a solver array containing Driver Model Controller data.  The array is in the Steer controller system.

70000100

The ID of a Vehicle Data Array containing vehicle information.  The array is in the Steer controller system.

317001

The ID of the curve used to define the lane path.

1

The scaling factor for the curve.

hmtoggle_plus1Templates

A template is included in the Double lane change 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.  The first four commands define different output datasets.  More information about these commands can be found in the MotionSolve Reference Guide.

The if (tire_dataset.opt_omega.ival) logic is included to handle legacy models which used the omega method of tire rotation.  This method is obsolete and the value will always be equal to 1.  The logic will be removed in a future release.

The first four deactivate commands deactivate the motion between the wheels and the knuckle, allowing them to rotate.  The final two deactivate commands turn off the body clamps.  Body clamps hold the body rigid during static analysis.

The Motion_Joint command reassigns the value of the steering wheel joint from zero to the value calculated by the steering controller, essentially turning on the steer controller.

The Simulate transient command starts the transient simulation and establishes the output timestep and end time of the simulation.  The data can be edited to change the event.  Additional XML commands can be added to enhance the solution.  The commands are described in the MotionSolve Reference Guide > Command Statements.

double_lane_change_browser_templates_mv

Project Browser View - Templates - Double Lane Change Analysis

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"

 />

 <ResOutput

    abf_file            = "TRUE"

 />

 

{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                = "VARVAL({sv_path.idstring})"

 />

<Simulate

 analysis_type  = "Transient"

 end_time       = "{350000.0/(ds.veh_vel.value*447.04)}"

 print_interval = "0.02"

/>

 

<Stop/>

References:

ISO 3888-2-2011 Passenger cars — Test track for a severe lane-change maneuver.

NATO Allied Vehicle Testing Publication AVTP: 03-160 Sep. 1991.