Skip to content

1.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Mar 09:07
· 3413 commits to master since this release

Description

Abstract

Added customization point CustomNoiseApplicator for Autoware developers to implement a method for calculating the positional noise that simple_sensor_simulator's DetectionSensor applies to detected_objects.

This pull request also includes the following three bug fixes found in its implementation.

  • A bug that makes the actual recognition distance 300 m when DetectionSensor is set to 300 m or more
  • A bug that causes invalid (empty) detected_objects to be published from the start of the simulation until the number of seconds set for the sensor's recognition delay time has elapsed
  • A bug that causes invalid (empty) ground truth objects to be published from the start of the simulation until the number of seconds set for the sensor's recognition delay time has elapsed

In addition, the process by which DetectionSensor lists entities that are within the sensor's range was extremely inefficient and was refactored.

Background

The developer of Autoware asked us to try an arbitrary method of applying position noise for planner development, such as "increasing the position noise according to the distance between Autoware and the recognition target". In order to make it easy for them to do this, it became necessary to provide a customization point that would allow them to easily replace the existing default noise application functionality while keeping it in place.

Details

DefaultNoiseApplicator and CustomNoiseApplicator

The DefaultNoiseApplicator implements conventional noise handling and the CustomNoiseApplicator inherits it. DetectionSensor<>::update uses CustomNoiseApplicator, but Custom only inherits from DefaultNoiseApplicator and does not define any member functions, so the actual work is done by DefaultNoiseApplicator.

And (as the comments in the code indicate) the contents of the CustomNoiseApplicator are intended to be implemented by Autoware developers as needed.

Refactoring

The process by which DetectionSensor lists entities that are within range of the sensor originally looked like this:

  1. List the names of entities that are within 300 m (this is a fixed value, one of the bugs fixed) of the sensor.
  2. List the names of the entities listed in 1 that are within X m (this is an externally given parameter) of the sensor.
  3. Copy the data of the entities whose names match the names listed in 2 to a new vector.

The above has been changed by this pull request to "iterate (not copy) on non-Ego entities that are within a distance of X meters".

Related Issues