# Vehicle Dynamics#

In this section, we describe the vehicle model which is implemented in scenario_simulator_v2.

## Vehicle Model Types#

Pose is calculated by bicycle kinematics model.

Steering and velocity models are implemented 3 types of models.

### IDEAL_STEER#

Uses velocity command. The steering and velocity vary ideally as commanded.

### IDEAL_ACCEL#

Uses acceleration command. The steering and acceleration varies ideally as commanded.

### DELAY_STEER#

Uses velocity command. The steering and velocity vary following a first-order delay model.

### DELAY_STEER_ACC#

Uses acceleration command. The steering and acceleration vary following a first-order delay model.

## Vehicle Model Parameters#

Name | Type | Description | IDEAL_STEER | IDEAL_ACCEL | DELAY_STEER | DELAY_STEER_ACC | Default value | unit |
---|---|---|---|---|---|---|---|---|

vel_time_delay | double | dead time for the velocity input | x | x | o | x | 0.25 | [s] |

acc_time_delay | double | dead time for the acceleration input | x | x | x | o | 0.1 | [s] |

steer_time_delay | double | dead time for the steering input | x | x | o | o | 0.24 | [s] |

vel_time_constant | double | time constant of the 1st-order velocity dynamics | x | x | o | x | 0.61 | [s] |

acc_time_constant | double | time constant of the 1st-order acceleration dynamics | x | x | x | o | 0.1 | [s] |

steer_time_constant | double | time constant of the 1st-order steering dynamics | x | x | o | o | 0.27 | [s] |

vel_lim | double | limit of velocity | x | x | o | o | 50.0 | [m/s] |

accel_rate | double | limit of acceleration | x | x | o | o | 7.0 | [m/ss] |

steer_lim | double | limit of steering angle | x | x | o | o | 1.0 | [rad] |

steer_rate_lim | double | limit of steering angle change rate | x | x | o | o | 5.0 | [rad/s] |

deadzone_delta_steer | double | dead zone for the steering dynamics | x | x | o | o | 0.0 | [rad] |

*Note*: The steering/velocity/acceleration dynamics is modeled by a first-order system with a deadtime in a *delay* model. The definition of the *time constant* is the time it takes for the step response to rise up to 63% of its final value. The *deadtime* is a delay in the response to a control input.

## Example Definition#

```
acc_time_constant: 0.1
acc_time_delay: 0.1
accel_rate: 7.0
add_measurement_noise: true
angvel_lim: 3.0
angvel_noise_stddev: 0.0
angvel_rate: 1.0
angvel_time_constant: 0.5
angvel_time_delay: 0.2
initial_engage_state: true
pos_noise_stddev: 0.01
rpy_noise_stddev: 0.0001
sim_steering_gear_ratio: 15.0
steer_lim: 1.0
steer_noise_stddev: 0.0001
steer_rate_lim: 5.0
steer_time_constant: 0.27
steer_time_delay: 0.24
tread_length: 1.0
vehicle_model_type: DELAY_STEER_ACC
vel_lim: 50.0
vel_noise_stddev: 0.0
vel_time_constant: 0.61
vel_time_delay: 0.25
```

This example shows DELAY_STEER_ACC model. If you want to use another type, please set another variable.