Skip to content
Beta Robots edited this page Apr 23, 2014 · 50 revisions
Pipol Tracker is a C++ multi-target and multi-detector people tracker for mobile robots. It is based on particle filtering, launching such a particle filter for each new target it tracks. As inputs, it requires an odometry source and at least a leg detector (usually come from laser scans). Currently, it also fuses detections from a visual body detector and a visual face detector. The package is fully integrated with new ROS-Hydro and its catkin build system. pipol tracker picture

Required library dependencies:

Checking dependencies and previous set-up
$ rosversion -d //Check your ROS version is "hydro"
$ locate signature_of_eigen3_matrix_library //finds where Eigen3 headers are. Usually at /usr/local/include/eigen3
$ export EIGEN3_INCLUDE_DIR=[my_path_to_eigen3] //usually [my_path_to_eigen3]=/usr/local/include/eigen3

You can add the last export command to the ~/.bashrc file to be valid for all bash sessions.

$ echo export EIGEN3_INCLUDE_DIR=[my_path_to_eigen3] >> ~/.bashrc

How to get and build the code

$ Move to your ROS-WS/src
$ git clone https://github.com/beta-robots/pipol_tracker.git
$ cd ..
$ catkin_make --only-pkg-with-deps pipol_tracker_pkg
$ roscd pipol_tracker_pkg/launch
$ roslauch LAUNCH_FILE_NAME.launch

Output Messages

A set of markers very useful for debugging purposes, such as particles, leg and body detections, and targets coloured according their status.

The set of targets/persons being tracked. It is a [Header] (http://docs.ros.org/hydro/api/std_msgs/html/msg/Header.html) with an array of [person] (https://github.com/beta-robots/pipol_tracker/blob/master/msg/person.msg)'s. Each person holds the following:

  • an ID, which should be the same for a given person (that is the main goal and difficulty!)
  • a status, which indicates a friendship degree between the target and the robot.
  • (x,y), a 2D position, expressed in robot-centered coordinates (base_link)
  • (vx,vy), a 2D velocity, expressed in robot-centered coordinates (base_link)
  • a 4x4 covariance matrix, expressing the uncertainty of the above 4 estimated values.

Learn More

Click [here] (http://www.beta-robots.com/reemATiri.html) to learn more about how the tracker works.

Clone this wiki locally