ros-navigation / navigation2_dynamic

Navigation2's dynamic obstacle detection, tracking, and processing pipelines.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Obstacle Message - Explanation

Scoeerg opened this issue · comments

Hi

Some questions about the obstacle message. For reference, here's what an obstacle message looks like:

unique_identifier_msgs/UUID uuid
float32 score # detection confidence
geometry_msgs/Point position # center
geometry_msgs/Vector3 velocity
geometry_msgs/Vector3 size
  1. which tells me an obstacle is a rectangle with size x_size,y_size,z_size a position x,y,z. Is size x_size,y_size,z_size a cube with volume 2x_size*2y_size*2z_size:
position_size

or with volume x_size*y_size*z_size?

  1. Now, most obstacles are not rectangle/cube-shaped. In standard navigation obstacles looks like a bunch of pixels (3D voxels). How does navigation_dynamic generate the rectangle (3D Cube)? E.g. human legs in a 2D-map (top-down-view) might look like (with resolution=0.10, i.e. 1px/0.1m) this:
top_down_rectangle_creation

Is this even how it works?

  1. Is the score (detection confidence) related to the covariance matrix from the Kalman filters used for obstacle position/velocity estimation or related to the Hungarian tracker (of which I know very little besides the Wiki linked in the README tbh)? And how?

Disclaimer: I will ask (and hopefully answer) some questions that I have in the issues, since not many people seem to be interested (yet). I am however very grateful navigation2_dynamic exists.