Setup a framework to create test cases for object tracking
Description
Purpose
To test object tracking we need an easy way of creating simple test cases
Desired Behavior
Framework enables the user to create test cases with easily definable specifications. The framework outputs the msg expected to serve as input to the tracker and can also verify the tracker output.
Definition of Done
Framework written and a couple of examples test cases defined.
Proposed Reference Design of framework
The framework is seen as generating dummy data (simulations) for unit testing object tracking algorithms:
-
As shown in the rough diagram above ,we can have public facing API called DataGenerator Interface which can request through the getObject API from the TrackedObjects classes to create a tracked object : Pedestrian, Car etc.
-
The TrackedObjects along with the SensorModality specified through the getTrackedData interface feed into the TrackedObjects Data Service which will return the intersection points(for LiDAR case) as in current implementation at every time step the TrackedObjects move in the world.
Work division in 3 parts:
-
Part 1 : -
a. Implement classes to define the 2D objects being tracked. For now we will assume we have cars represented as Rectangles and Circles as Pedestrians. -
b. Implement functions for getting intersection points of the 2D objects with lidar.
-
-
Part 2 : -
a. Implement functionality to setup a scene in which the 2D objects will move and intersection points with lidar scanner will be generated as the objects move -
Write APIs for usage in unit tests -
b. Populate https://gitlab.com/autowarefoundation/autoware.auto/autoware_auto_msgs/-/blob/master/autoware_auto_msgs/msg/DetectedObjects.idl message from the generated intersection points in Part 1
-
-
Part 3 : Todo @divya.aggarwal to check with Gowtham and spin off new issue : Update : Striking for now will be taken care of later : #1173
-
Write some test cases to test the framework
-