-
Notifications
You must be signed in to change notification settings - Fork 14
Home
| 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 ROS-Hydro and its catkin build system. |
|
- Developed and Tested under [Ubuntu 12.04 LTS] (http://www.ubuntu.com)
- [ROS-Hydro] (http://www.ros.org)
- OpenCV. (Already included with ROS)
- [Eigen3] (http://eigen.tuxfamily.org). Linear algebra. Header-only library. (Already included with ROS)
- [pal_vision_msgs] (https://github.com/pal-robotics/pal_msgs/tree/hydro-devel/pal_vision_msgs). ROS messages from [PAL robotics] (http://www.pal-robotics.com/).
Before going to building process, it is a good idea to check if dependencies are ok, and set an environment variable to find Eigen3 headers.
$ 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/eigen3You 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] >> ~/.bashrcMove to your ROS CATKIN Workspace. From there, execute:
$ source devel/setup.bash
$ cd 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[MarkerArray.msg] (http://wiki.ros.org/rviz/DisplayTypes/Marker)
A set of markers very useful for debugging purposes, such as particles, leg and body detections, and targets coloured according their status.
[personArray.msg] (https://github.com/beta-robots/pipol_tracker/blob/master/msg/personArray.msg)
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.
Click [here] (http://www.beta-robots.com/reemATiri.html) to learn more about how the tracker works.
You can report bugs or pose questions by mailing to devel [AT] beta-robots.com