Multiple objects detection, tracking and classification from LIDAR scans/point-clouds
PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.
- K-D tree based point cloud processing for object feature detection from point clouds
- Unsupervised k-means clustering based on detected features and refinement using RANSAC
- Stable tracking (object ID & data association) with an ensemble of Kalman Filters
- Robust compared to k-means clustering with mean-flow tracking
Follow the steps below to use this (
- Create a catkin workspace (if you do not have one setup already).
- Navigate to the
srcfolder in your catkin workspace:
- Clone this repository:
git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
- Compile and build the package:
cd ~/catkin_ws && catkin_make
- Add the catkin workspace to your ROS environment:
- Run the
kf_trackerROS node in this package:
rosrun multi_object_tracking_lidar kf_tracker
If all went well, the ROS node should be up and running! As long as you have the point clouds (from LIDAR or other pointcloud generator) published on to the
filtered_cloud rostopic, you should see outputs from this node published onto the
cluster_5 topics along with the markers on
viz topic which you can visualize using RViz.