ParameterEstimation#
This parameter estimation node estimates a default parameters from inputs for steer offset,wheel base and gear ratio.
I/O#
input#
The following topics are used to estimate the parameters.
/sensing/imu/imu_data
: used as vehicle angular velocity/vehicle/status/twist
: used as vehicle velocity/vehicle/status/steering
: used as vehicle steering angle (Only used in Steer Offset Estimator & Wheel Base Estimator)/calibration/vehicle/handle_status
: used as vehicle handle angle (Only used in Gear Estimator)/vehicle/engage
: used to check the driving operation status
output#
The following topics are the output
/vehicle/status/gear_ratio
/vehicle/status/steering_offset
/vehicle/status/wheel_base
For users, the EstimationResult.msg
output contains the following items:
- result: Estimated result.
- result_mean: Average value of result.
- result_stddev: Standard deviation value of the estimated parameter
- absolute_error: Absolute error of the estimated parameters
- mean_absolute_error: Mean absolute error of the estimated parameters
- stddev_absolute_error: Standard Deviation of absolute error of the estimated parameters
These values can be confirmed in plot_juggler#
- To display in the plot juggler, you need to drag the result into the table, currently plot juggler cannot auto display the value
How to Run Parameter Estimator#
Note: You need to build the Autoware beforehand.
The following command will start the parameter estimation node.
ros2 launch parameter_estimator parameter_estimator.launch.xml vehicle_model:=lexus
- The following arguments are using to select the estimator, default is true
- select_gear_ratio_estimator
- select_steer_offset_estimator
- select_wheel_base_estimator
- To deselect the specific estimator, you need to set estimator to false
- Example, the following command will only launch gear ratio estimator
ros2 launch parameter_estimator parameter_estimator.launch.xml vehicle_model:=lexus select_steer_offset_estimator:=false select_wheel_base_estimator:=false
If you want to launch with Rviz, use the following launch file. Currently unavailable
# Launch parameter Estimator with the Autoware
$ ros2 launch parameter_estimator parameter_estimator_with_simulation.launch.xml map_path:=.../kashiwanoha2/ vehicle_model:=jpntaxi sensor_model:=aip_xx1 rviz:=true
How to check the estimated parameters#
The necessary information is plotted in the plot_juggler, which displays the following information from top to bottom.
- First row: Estimation results confirmation
- Second row: error for estimation
You need to adjust the value of (valid_min_)
or (valid_max_)
. according to the standard deviation to determine the validity of the data.
Estimation results confirmation#
Check the estimation results.
- result : parameter estimated at each step
- result_mean : Average of the parameters
- result_stddev : Standard deviation of the estimated parameters
It is preferable to use the _mean for the calibration results.
The parameters estimation starts when enough data is stored. The output value is zero until it is ready.
Error for parameters estimation#
Check the statistics of the errors in the input/output data after the parameter estimation.
- absolute_error : absolute error of measured and estimated of the parameters estimation
- mean_absolute_error : Mean of the absolute error calculated in each estimation step
- stddev_absolute_error : Standard deviation of the absolute error calculated in each estimation step
If these values are large, the model needs to be reconsidered.
Data preprocessing#
Examine the results of processing the input data#
Data that do not satisfy the following conditions are considered invalid and will not be used for estimation.
- Data variation (evaluated by standard deviation) is smaller than the threshold
- The car is not in automatic operation mode (judged from Autoware's Engage, Vehicle's Engage, etc.)