Skip to content

Simple Planning Simulator#

This node simulates the vehicle motion for a vehicle command in 2D using a simple vehicle model.

Interface#

input#

  • /control/vehicle_cmd [autoware_vehicle_msgs/VehicleCommand] : target command to drive a vehicle.
  • /initialpose [geometry_msgs/PoseWithCovarianceStamped] : for initial pose
  • /initialtwist [geometry_msgs/TwistStamped] : for initial velocity
  • /planning/scenario_planning/trajectory [autoware_planning_msgs/Trajectory]: for z position
  • /vehicle/engage : if true, the vehicle starts to move. if false, stops.

output#

  • /tf [tf2_msgs/TFMessage] : simulated vehicle pose (base_link)
  • /vehicle/status/control_mode [autoware_vehicle_msgs/ControlMode] : current control mode (Auto/Manual).
  • /vehicle/status/shift [autoware_vehicle_msgs/ShiftStamped] : current shift (Fwd/Rev)
  • /vehicle/status/steering [autoware_vehicle_msgs/Steering] : Simulated steering angle
  • /vehicle/status/turn_signal [autoware_vehicle_msgs/TurnSignal] : current turn signal (just published with NONE status.)
  • /vehicle/status/twist [geometry_msgs/TwistStamped] : simulated velocity

Parameter Description#

Common Parameters#

Name Type Description Default value
add_measurement_noise bool If true, the Gaussian noise is added to the simulated results. true
pos_noise_stddev double Standard deviation for position noise 0.01
rpy_noise_stddev double Standard deviation for Euler angle noise 0.0001
vel_noise_stddev double Standard deviation for longitudinal velocity noise 0.0
angvel_noise_stddev double Standard deviation for angular velocity noise 0.0
steer_noise_stddev double Standard deviation for steering angle noise 0.0001
initial_engage_state double If false, the engage command is needed to move the vehicle. true

Vehicle Model Parameters#

vehicle_model_type options#

  • IDEAL_STEER: uses velocity command. The steering and velocity varies ideally as commanded. The pose is calculated by a bicycle kinematics model.
  • DELAY_STEER : uses velocity command. The steering and velocity varies following a 1st-order delay model. The pose is calculated by a bicycle kinematics model.
  • DELAY_STEER_ACC : uses acceleration command. The steering and acceleration varies following a 1st-order delay model. The pose is calculated by a bicycle kinematics model.
Name Type Description IDEAL STEER DELAY STEER DELAY STEER   ACC Default value unit
vel_time_delay double dead time for the velocity input x o x 0.25 [s]
acc_time_delay double dead time for the acceleration input x x o 0.1 [s]
steer_time_delay double dead time for the steering input x o o 0.24 [s]
vel_time_constant double time constant of the 1st-order velocity dynamics x o x 0.61 [s]
acc_time_constant double time constant of the 1st-order acceleration dynamics x x o 0.1 [s]
steer_time_constant double time constant of the 1st-order steering dynamics x o o 0.27 [s]
vel_lim double limit of velocity x o o 50.0 [m/s]
accel_rate double limit of acceleration x o o 7.0 [m/ss]
steer_lim double limit of steering angle x o o 1.0 [rad]
steer_rate_lim double limit of steering angle change rate x o o 5.0 [rad/s]
deadzone_delta_steer double dead zone for the steering dynamics 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.