Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track object with radar postprocess input test #311

Open
wants to merge 21 commits into
base: develop
Choose a base branch
from

Conversation

nebraszka
Copy link
Collaborator

Added tests to verify that RadarTrackObjectsNode works correctly with input from RadarPostprocessPointsNode.

In addition, a radarHelpers.hpp file was created to include helper functions and structures. The corrected function for generating radar rays, previously located in radarTest.cpp, was also moved to this file.

prybicki and others added 21 commits April 24, 2024 11:07
* Implement sub-sampling in raytracing code

* Review fixes
* Add radar object tracking node and test placeholders.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add test for basic node run.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add first implementation for detections clusterization.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add working detections clusterization.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add complete debug test. Make minor cleanup in node implementation.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add milliseconds cast to helper Time structure.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add disabling Vector initializer list constructor, when there is only one dimension.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add RunningStats helper structer for running mean and standard deviation.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add basic object state handling to RadarTrackObjectsNode.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Add fixed objects count test. Make some cleanup in object tracking tests.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Fix ROS 2 for radar track objects test.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Update local constants to be node parameters. Add API call documentation for object tracking.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Update object tracking node documentation with parameter units.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

* Make changes according to review for #280.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>

---------

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
* Fix compilation error

* Store last sample value in RunningStats

* Micro optimization

* Add missing class

* Rename RuningStats -> RunningStats

* Change target branch for udp extension to run CI properly
* Add API call to configure beam divergence

* Review fixes
* Add more details in documentation for object tracking node.

* Remove not necessary overload.

* Update type traits on RunningStats to be more precise.

* Add covariance calculation.  Add RunningStats specialization for Vector types.

* Change function signature in RunningStats specialization.

* Add prototype implementation of object tracking.

* Add minor comments to RunningStats.

* Move object position prediction to node. Fix predicted position calculation. Update prediction to include acceleration if available. Add getter for samples count to RunningStats.

* Update velocity calculation. Add assert on delta time and object ID.

* Fix object acceleration calculation.

* Add object orientation and orientation rate calculation.

* Make minor fixes to types in track objects node.

* Fix typos and add missing include in RunningStats header.

* Add axis-aligned bounding box implementation.

* Add aliases and staic asserts for aabb.

* Add max prediction time frame - how long object can be predicted until declared lost.

* Add option to reset aabb.

* Add keeping orientation from previous frame, when object did not move.

* Add operator overloads to Aabb. Fix field names mistake.

* Fix Aabb members naming.

* Update RadarPostprocessPointsNode to provide cluster (detection) aabbs.

* Add handling detection (and object) aabbs to RadarTrackObjectsNode.

* Rename predictionSensitivity parameter to maxMatchingDistance.

* Add remaining tracking parameters to API.

* Add kinematic object tracking test. Make object tracking tests more clear.

* Add runtime object tracking test for rviz2 preview, skipped by default.

* Add linear and angular velocity getters to IPointsNode. Add relative velocity and relative acceleration calculation to RadarTrackObjectsNode.

* Make changes according to review for #288.

---------

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
* Architectural changes to support multi-return feature
* Add RGL_RETURN_TYPE_NOT_DIVERGENT

* Compute XYZ based on raydir and distance

* Fix XYZ computation, run beam sample processing conditionally
Co-authored-by: Piotr Rybicki <piotr.rybicki@robotec.ai>
Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Add handling nan radial speeds in radar postprocess and object tracking nodes.

Signed-off-by: Paweł Liberadzki <pawel.liberadzki@robotec.ai>
Base automatically changed from feature/radar-object-classification to feature/q2-features June 20, 2024 13:53
@msz-rai msz-rai force-pushed the feature/q2-features branch from 5941780 to 86ab331 Compare July 13, 2024 15:16
Base automatically changed from feature/q2-features to develop July 15, 2024 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants