spencer-project / spencer_people_tracking

Multi-modal ROS-based people detection and tracking framework for mobile robots developed within the context of the EU FP7 project SPENCER.
http://www.spencer.eu/
656 stars 326 forks source link

Are the detected & tracted pose values in Global frame or spencer's Local frame? #73

Closed AssassinCrow closed 3 years ago

AssassinCrow commented 4 years ago

I just want to get confirmation from you.

I've read almost all the source codes and never found the codes wrt conversion of coordinates between spencer's local coordinates and global world frame. So I think those are in the robot's local coordinate frame. I also think since spencer would never move in opened source on github, so it is not necessary to consider conversion.

Is it correct?

tlind commented 4 years ago

Detection occurs in sensor frame, but tracking happens in odom frame which is fixed relative to the world (up to odometry drift). The transformation occurs in srl_nearest_neighbor_tracker / ros_interface.cpp + geometry_utils.cpp using the TF library.

The framework, as available here on Github, therefore does support a moving robot. If you want to have coordinates in map frame, assuming you are running some form of localization (AMCL etc.), I suggest to add a separate node that converts the resulting TrackedPersons into a frame of your choice.