Skip to content

381. Curvature Watcher

The curvature watcher provides valuable context for interval-based analysis by detecting and recording instances when the Ego drives on a road with a curvature radius less than or equal to max_radius_large_threshold. It uses the vehicle.get_road_radius() function to get the radius of each map segment. A curve begins when a segment's radius is less than or equal to the max_radius_large_threshold threshold. Subsequent segments are considered part of the same curve as long as their radii do not exceed this threshold. The curve is then categorized based on the minimum radius found within these segments. The minimum radius is used for categorization because curves typically start and end with a large radius, which does not represent their sharpest point. Users can customize categories by setting the maximum radius for each one; the minimum radius of the next category is then automatically adjusted to be greater than the previous category's minimum.

381.0.1 Start condition

The curvature watcher samples the road radius on each top.w_clk. If the absolute radius is within the range (0..max_radius_large_threshold] meters and the vehicle remains in its lane, a new watcher interval starts and stays active as long as the radius within this range.

381.0.2 End condition

An active curvature interval ends when the absolute radius leaves the range (0..max_radius_large_threshold] meters or when the vehicle leaves its lane. A new interval is emitted whenever the radius re-enters the specified range.

381.1 Plot

Curvature plot representation

381.2 Configuration parameters

The following parameters can be configured to customize the evaluator's behavior.

Parameter Type Description Default Value
max_radius_sharp_threshold length Maximum radius threshold for sharp curves 150m
max_radius_medium_threshold length Maximum radius threshold for medium curves 500m
max_radius_large_threshold length Maximum radius threshold for large curves 2000m
debounce_time_last_curve time Debounce time to delay the interval when the segment road radius is outside the maximum radius threshold No default

381.3 Metrics

The following metrics are recorded and tracked by the evaluator.

Metric item Unit / Type Description
avg_velocity kph Speed of vehicle while navigating the curve
max_lat_acceleration mpsps Maximum lateral acceleration of the vehicle while navigating the curve
min_curve_radius m Minimum interval curve_radius of the curve
avg_curve_radius m Average radius of the curve
curve_category enum (sharp, medium, large) Category of the curve (sharp, medium, large)
curve_side enum (left, right) Side to which the curve turns (left, right)

381.4 Log and Error Messages

No error messages found.