multi_object_tracking_lidar package from multi_object_tracking_lidar repo

multi_object_tracking_lidar

Package Summary

Tags No category tags.
Version 1.0.4
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
VCS Type git
VCS Version master
Last Updated 2021-08-29
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS package for Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

Additional Links

No additional links.

Maintainers

  • Praveen Palanisamy

Authors

  • Praveen Palanisamy

Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

DOI

Sample demo of multiple object tracking using LIDAR scans

PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.

Features:

  • K-D tree based point cloud processing for object feature detection from point clouds
  • Unsupervised euclidean cluster extraction (3D) or k-means clustering based on detected features and refinement using RANSAC (2D)
  • Stable tracking (object ID & data association) with an ensemble of Kalman Filters
  • Robust compared to k-means clustering with mean-flow tracking

Usage:

Follow the steps below to use this (multi_object_tracking_lidar) package:

  1. Create a catkin workspace (if you do not have one setup already).
  2. Navigate to the src folder in your catkin workspace: cd ~/catkin_ws/src
  3. Clone this repository: git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
  4. Compile and build the package: cd ~/catkin_ws && catkin_make
  5. Add the catkin workspace to your ROS environment: source ~/catkin_ws/devel/setup.bash
  6. Run the kf_tracker ROS 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 published on to the filtered_cloud rostopic, you should see outputs from this node published onto the obj_id, cluster_0, cluster_1, …, cluster_5 topics along with the markers on viz topic which you can visualize using RViz.

Supported point-cloud streams/sources:

The input point-clouds can be from: 1. A real LiDAR or 2. A simulated LiDAR or 3. A point cloud dataset or 4. Any other data source that produces point clouds

Note: This package expects valid point cloud data as input. The point clouds you publish to the "filtered_cloud" is not expected to contain NaNs. The point cloud filtering is somewhat task and application dependent and therefore it is not done by this module. PCL library provides pcl::removeNaNFromPointCloud (...) method to filter out NaN points. You can refer to this example code snippet to easily filter out NaN points in your point cloud.

Citing

If you use the code or snippets from this repository in your work, please cite:

@software{praveen_palanisamy_2019_3559187,
  author       = {Praveen Palanisamy},
  title        = {{praveen-palanisamy/multiple-object-tracking-lidar: 
                   Multiple-Object-Tracking-from-Point-Clouds_v1.0.2}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0.2},
  doi          = {10.5281/zenodo.3559187},
  url          = {https://doi.org/10.5281/zenodo.3559186}
}

Wiki

Checkout the Wiki pages

  1. Multiple-object tracking from pointclouds using a Velodyne VLP-16
CHANGELOG

Changelog for package multi_object_tracking_lidar

1.0.4 (2021-08-29)

  • Merge pull request #46 from praveen-palanisamy/rm-topic-slash-prefix Remove topic slash prefix
  • Apply clang-format-10
  • Rm slash prefix (deprecated in TF2)
  • Add note to filter NaNs in input point clouds
  • Contributors: Praveen Palanisamy

1.0.3 (2020-06-27)

  • Merge pull request #26 from artursg/noetic-devel C++11 --> C++14 to allow compiling with later versions of PCL, ROS Neotic
  • Compiles under ROS Noetic
  • Merge pull request #25 from praveen-palanisamy/add-license-1 Add MIT LICENSE
  • Add LICENSE
  • Merge pull request #24 from mzahran001/patch-1 Fix broken hyperlink to wiki page in README
  • Fixing link error
  • Updated README to make clustering approach for 3D vs 2D clear #21
  • Added DOI and citing info
  • Contributors: Artur Sagitov, Mohamed Zahran, Praveen Palanisamy

1.0.2 (2019-12-01)

  • Added link to wiki pages
  • Updated readme with suuported pointcloud sources
  • Updated README to clarify real, sim, dataset LiDAR data
  • Contributors: Praveen Palanisamy

1.0.1 (2019-04-26)

  • Fixed cv_bridge build depend
  • Removed indirection op to be compatible with OpenCV 3+
  • Added visualization_msgs & cv_bridge build & run dependencies
  • Contributors: Praveen Palanisamy

1.0.0 (2019-04-13)

  • Updated README with usage instructions
  • Renamed node name to kf_tracker to match bin name
  • Changed package name to multi_object_tracking_lidar
  • Updated package info & version num
  • Updated with a short demo on sample AV LIDAR scans
  • Added README with a short summary of the code
  • Working state of Multiple object stable tracking using Lidar scans with an extended Kalman Filter (rosrun kf_tracker tracker). A naive tracker is implemented in main_naive.cpp for comparison (rosrun kf_tracker naive_tracker).
  • v2. Unsupervised clustering is incorporated into the same node (tracker).
  • v1. Object ID/data association works. In this version PCL based unsupervised clustering is done separately.
  • Contributors: Praveen Palanisamy

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged multi_object_tracking_lidar at Robotics Stack Exchange

multi_object_tracking_lidar package from multi_object_tracking_lidar repo

multi_object_tracking_lidar

Package Summary

Tags No category tags.
Version 1.0.4
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
VCS Type git
VCS Version master
Last Updated 2021-08-29
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS package for Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

Additional Links

No additional links.

Maintainers

  • Praveen Palanisamy

Authors

  • Praveen Palanisamy

Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

DOI

Sample demo of multiple object tracking using LIDAR scans

PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.

Features:

  • K-D tree based point cloud processing for object feature detection from point clouds
  • Unsupervised euclidean cluster extraction (3D) or k-means clustering based on detected features and refinement using RANSAC (2D)
  • Stable tracking (object ID & data association) with an ensemble of Kalman Filters
  • Robust compared to k-means clustering with mean-flow tracking

Usage:

Follow the steps below to use this (multi_object_tracking_lidar) package:

  1. Create a catkin workspace (if you do not have one setup already).
  2. Navigate to the src folder in your catkin workspace: cd ~/catkin_ws/src
  3. Clone this repository: git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
  4. Compile and build the package: cd ~/catkin_ws && catkin_make
  5. Add the catkin workspace to your ROS environment: source ~/catkin_ws/devel/setup.bash
  6. Run the kf_tracker ROS 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 published on to the filtered_cloud rostopic, you should see outputs from this node published onto the obj_id, cluster_0, cluster_1, …, cluster_5 topics along with the markers on viz topic which you can visualize using RViz.

Supported point-cloud streams/sources:

The input point-clouds can be from: 1. A real LiDAR or 2. A simulated LiDAR or 3. A point cloud dataset or 4. Any other data source that produces point clouds

Note: This package expects valid point cloud data as input. The point clouds you publish to the "filtered_cloud" is not expected to contain NaNs. The point cloud filtering is somewhat task and application dependent and therefore it is not done by this module. PCL library provides pcl::removeNaNFromPointCloud (...) method to filter out NaN points. You can refer to this example code snippet to easily filter out NaN points in your point cloud.

Citing

If you use the code or snippets from this repository in your work, please cite:

@software{praveen_palanisamy_2019_3559187,
  author       = {Praveen Palanisamy},
  title        = {{praveen-palanisamy/multiple-object-tracking-lidar: 
                   Multiple-Object-Tracking-from-Point-Clouds_v1.0.2}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0.2},
  doi          = {10.5281/zenodo.3559187},
  url          = {https://doi.org/10.5281/zenodo.3559186}
}

Wiki

Checkout the Wiki pages

  1. Multiple-object tracking from pointclouds using a Velodyne VLP-16
CHANGELOG

Changelog for package multi_object_tracking_lidar

1.0.4 (2021-08-29)

  • Merge pull request #46 from praveen-palanisamy/rm-topic-slash-prefix Remove topic slash prefix
  • Apply clang-format-10
  • Rm slash prefix (deprecated in TF2)
  • Add note to filter NaNs in input point clouds
  • Contributors: Praveen Palanisamy

1.0.3 (2020-06-27)

  • Merge pull request #26 from artursg/noetic-devel C++11 --> C++14 to allow compiling with later versions of PCL, ROS Neotic
  • Compiles under ROS Noetic
  • Merge pull request #25 from praveen-palanisamy/add-license-1 Add MIT LICENSE
  • Add LICENSE
  • Merge pull request #24 from mzahran001/patch-1 Fix broken hyperlink to wiki page in README
  • Fixing link error
  • Updated README to make clustering approach for 3D vs 2D clear #21
  • Added DOI and citing info
  • Contributors: Artur Sagitov, Mohamed Zahran, Praveen Palanisamy

1.0.2 (2019-12-01)

  • Added link to wiki pages
  • Updated readme with suuported pointcloud sources
  • Updated README to clarify real, sim, dataset LiDAR data
  • Contributors: Praveen Palanisamy

1.0.1 (2019-04-26)

  • Fixed cv_bridge build depend
  • Removed indirection op to be compatible with OpenCV 3+
  • Added visualization_msgs & cv_bridge build & run dependencies
  • Contributors: Praveen Palanisamy

1.0.0 (2019-04-13)

  • Updated README with usage instructions
  • Renamed node name to kf_tracker to match bin name
  • Changed package name to multi_object_tracking_lidar
  • Updated package info & version num
  • Updated with a short demo on sample AV LIDAR scans
  • Added README with a short summary of the code
  • Working state of Multiple object stable tracking using Lidar scans with an extended Kalman Filter (rosrun kf_tracker tracker). A naive tracker is implemented in main_naive.cpp for comparison (rosrun kf_tracker naive_tracker).
  • v2. Unsupervised clustering is incorporated into the same node (tracker).
  • v1. Object ID/data association works. In this version PCL based unsupervised clustering is done separately.
  • Contributors: Praveen Palanisamy

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged multi_object_tracking_lidar at Robotics Stack Exchange

multi_object_tracking_lidar package from multi_object_tracking_lidar repo

multi_object_tracking_lidar

Package Summary

Tags No category tags.
Version 1.0.4
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
VCS Type git
VCS Version master
Last Updated 2021-08-29
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS package for Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

Additional Links

No additional links.

Maintainers

  • Praveen Palanisamy

Authors

  • Praveen Palanisamy

Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

DOI

Sample demo of multiple object tracking using LIDAR scans

PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.

Features:

  • K-D tree based point cloud processing for object feature detection from point clouds
  • Unsupervised euclidean cluster extraction (3D) or k-means clustering based on detected features and refinement using RANSAC (2D)
  • Stable tracking (object ID & data association) with an ensemble of Kalman Filters
  • Robust compared to k-means clustering with mean-flow tracking

Usage:

Follow the steps below to use this (multi_object_tracking_lidar) package:

  1. Create a catkin workspace (if you do not have one setup already).
  2. Navigate to the src folder in your catkin workspace: cd ~/catkin_ws/src
  3. Clone this repository: git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
  4. Compile and build the package: cd ~/catkin_ws && catkin_make
  5. Add the catkin workspace to your ROS environment: source ~/catkin_ws/devel/setup.bash
  6. Run the kf_tracker ROS 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 published on to the filtered_cloud rostopic, you should see outputs from this node published onto the obj_id, cluster_0, cluster_1, …, cluster_5 topics along with the markers on viz topic which you can visualize using RViz.

Supported point-cloud streams/sources:

The input point-clouds can be from: 1. A real LiDAR or 2. A simulated LiDAR or 3. A point cloud dataset or 4. Any other data source that produces point clouds

Note: This package expects valid point cloud data as input. The point clouds you publish to the "filtered_cloud" is not expected to contain NaNs. The point cloud filtering is somewhat task and application dependent and therefore it is not done by this module. PCL library provides pcl::removeNaNFromPointCloud (...) method to filter out NaN points. You can refer to this example code snippet to easily filter out NaN points in your point cloud.

Citing

If you use the code or snippets from this repository in your work, please cite:

@software{praveen_palanisamy_2019_3559187,
  author       = {Praveen Palanisamy},
  title        = {{praveen-palanisamy/multiple-object-tracking-lidar: 
                   Multiple-Object-Tracking-from-Point-Clouds_v1.0.2}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0.2},
  doi          = {10.5281/zenodo.3559187},
  url          = {https://doi.org/10.5281/zenodo.3559186}
}

Wiki

Checkout the Wiki pages

  1. Multiple-object tracking from pointclouds using a Velodyne VLP-16
CHANGELOG

Changelog for package multi_object_tracking_lidar

1.0.4 (2021-08-29)

  • Merge pull request #46 from praveen-palanisamy/rm-topic-slash-prefix Remove topic slash prefix
  • Apply clang-format-10
  • Rm slash prefix (deprecated in TF2)
  • Add note to filter NaNs in input point clouds
  • Contributors: Praveen Palanisamy

1.0.3 (2020-06-27)

  • Merge pull request #26 from artursg/noetic-devel C++11 --> C++14 to allow compiling with later versions of PCL, ROS Neotic
  • Compiles under ROS Noetic
  • Merge pull request #25 from praveen-palanisamy/add-license-1 Add MIT LICENSE
  • Add LICENSE
  • Merge pull request #24 from mzahran001/patch-1 Fix broken hyperlink to wiki page in README
  • Fixing link error
  • Updated README to make clustering approach for 3D vs 2D clear #21
  • Added DOI and citing info
  • Contributors: Artur Sagitov, Mohamed Zahran, Praveen Palanisamy

1.0.2 (2019-12-01)

  • Added link to wiki pages
  • Updated readme with suuported pointcloud sources
  • Updated README to clarify real, sim, dataset LiDAR data
  • Contributors: Praveen Palanisamy

1.0.1 (2019-04-26)

  • Fixed cv_bridge build depend
  • Removed indirection op to be compatible with OpenCV 3+
  • Added visualization_msgs & cv_bridge build & run dependencies
  • Contributors: Praveen Palanisamy

1.0.0 (2019-04-13)

  • Updated README with usage instructions
  • Renamed node name to kf_tracker to match bin name
  • Changed package name to multi_object_tracking_lidar
  • Updated package info & version num
  • Updated with a short demo on sample AV LIDAR scans
  • Added README with a short summary of the code
  • Working state of Multiple object stable tracking using Lidar scans with an extended Kalman Filter (rosrun kf_tracker tracker). A naive tracker is implemented in main_naive.cpp for comparison (rosrun kf_tracker naive_tracker).
  • v2. Unsupervised clustering is incorporated into the same node (tracker).
  • v1. Object ID/data association works. In this version PCL based unsupervised clustering is done separately.
  • Contributors: Praveen Palanisamy

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged multi_object_tracking_lidar at Robotics Stack Exchange

multi_object_tracking_lidar package from multi_object_tracking_lidar repo

multi_object_tracking_lidar

Package Summary

Tags No category tags.
Version 1.0.4
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
VCS Type git
VCS Version master
Last Updated 2021-08-29
Dev Status MAINTAINED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS package for Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

Additional Links

No additional links.

Maintainers

  • Praveen Palanisamy

Authors

  • Praveen Palanisamy

Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

DOI

Sample demo of multiple object tracking using LIDAR scans

PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.

Features:

  • K-D tree based point cloud processing for object feature detection from point clouds
  • Unsupervised euclidean cluster extraction (3D) or k-means clustering based on detected features and refinement using RANSAC (2D)
  • Stable tracking (object ID & data association) with an ensemble of Kalman Filters
  • Robust compared to k-means clustering with mean-flow tracking

Usage:

Follow the steps below to use this (multi_object_tracking_lidar) package:

  1. Create a catkin workspace (if you do not have one setup already).
  2. Navigate to the src folder in your catkin workspace: cd ~/catkin_ws/src
  3. Clone this repository: git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
  4. Compile and build the package: cd ~/catkin_ws && catkin_make
  5. Add the catkin workspace to your ROS environment: source ~/catkin_ws/devel/setup.bash
  6. Run the kf_tracker ROS 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 published on to the filtered_cloud rostopic, you should see outputs from this node published onto the obj_id, cluster_0, cluster_1, …, cluster_5 topics along with the markers on viz topic which you can visualize using RViz.

Supported point-cloud streams/sources:

The input point-clouds can be from: 1. A real LiDAR or 2. A simulated LiDAR or 3. A point cloud dataset or 4. Any other data source that produces point clouds

Note: This package expects valid point cloud data as input. The point clouds you publish to the "filtered_cloud" is not expected to contain NaNs. The point cloud filtering is somewhat task and application dependent and therefore it is not done by this module. PCL library provides pcl::removeNaNFromPointCloud (...) method to filter out NaN points. You can refer to this example code snippet to easily filter out NaN points in your point cloud.

Citing

If you use the code or snippets from this repository in your work, please cite:

@software{praveen_palanisamy_2019_3559187,
  author       = {Praveen Palanisamy},
  title        = {{praveen-palanisamy/multiple-object-tracking-lidar: 
                   Multiple-Object-Tracking-from-Point-Clouds_v1.0.2}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0.2},
  doi          = {10.5281/zenodo.3559187},
  url          = {https://doi.org/10.5281/zenodo.3559186}
}

Wiki

Checkout the Wiki pages

  1. Multiple-object tracking from pointclouds using a Velodyne VLP-16
CHANGELOG

Changelog for package multi_object_tracking_lidar

1.0.4 (2021-08-29)

  • Merge pull request #46 from praveen-palanisamy/rm-topic-slash-prefix Remove topic slash prefix
  • Apply clang-format-10
  • Rm slash prefix (deprecated in TF2)
  • Add note to filter NaNs in input point clouds
  • Contributors: Praveen Palanisamy

1.0.3 (2020-06-27)

  • Merge pull request #26 from artursg/noetic-devel C++11 --> C++14 to allow compiling with later versions of PCL, ROS Neotic
  • Compiles under ROS Noetic
  • Merge pull request #25 from praveen-palanisamy/add-license-1 Add MIT LICENSE
  • Add LICENSE
  • Merge pull request #24 from mzahran001/patch-1 Fix broken hyperlink to wiki page in README
  • Fixing link error
  • Updated README to make clustering approach for 3D vs 2D clear #21
  • Added DOI and citing info
  • Contributors: Artur Sagitov, Mohamed Zahran, Praveen Palanisamy

1.0.2 (2019-12-01)

  • Added link to wiki pages
  • Updated readme with suuported pointcloud sources
  • Updated README to clarify real, sim, dataset LiDAR data
  • Contributors: Praveen Palanisamy

1.0.1 (2019-04-26)

  • Fixed cv_bridge build depend
  • Removed indirection op to be compatible with OpenCV 3+
  • Added visualization_msgs & cv_bridge build & run dependencies
  • Contributors: Praveen Palanisamy

1.0.0 (2019-04-13)

  • Updated README with usage instructions
  • Renamed node name to kf_tracker to match bin name
  • Changed package name to multi_object_tracking_lidar
  • Updated package info & version num
  • Updated with a short demo on sample AV LIDAR scans
  • Added README with a short summary of the code
  • Working state of Multiple object stable tracking using Lidar scans with an extended Kalman Filter (rosrun kf_tracker tracker). A naive tracker is implemented in main_naive.cpp for comparison (rosrun kf_tracker naive_tracker).
  • v2. Unsupervised clustering is incorporated into the same node (tracker).
  • v1. Object ID/data association works. In this version PCL based unsupervised clustering is done separately.
  • Contributors: Praveen Palanisamy

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged multi_object_tracking_lidar at Robotics Stack Exchange

multi_object_tracking_lidar package from multi_object_tracking_lidar repo

multi_object_tracking_lidar

Package Summary

Tags No category tags.
Version 1.0.4
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
VCS Type git
VCS Version master
Last Updated 2021-08-29
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

ROS package for Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

Additional Links

No additional links.

Maintainers

  • Praveen Palanisamy

Authors

  • Praveen Palanisamy

Multiple objects detection, tracking and classification from LIDAR scans/point-clouds

DOI

Sample demo of multiple object tracking using LIDAR scans

PCL based ROS package to Detect/Cluster --> Track --> Classify static and dynamic objects in real-time from LIDAR scans implemented in C++.

Features:

  • K-D tree based point cloud processing for object feature detection from point clouds
  • Unsupervised euclidean cluster extraction (3D) or k-means clustering based on detected features and refinement using RANSAC (2D)
  • Stable tracking (object ID & data association) with an ensemble of Kalman Filters
  • Robust compared to k-means clustering with mean-flow tracking

Usage:

Follow the steps below to use this (multi_object_tracking_lidar) package:

  1. Create a catkin workspace (if you do not have one setup already).
  2. Navigate to the src folder in your catkin workspace: cd ~/catkin_ws/src
  3. Clone this repository: git clone https://github.com/praveen-palanisamy/multiple-object-tracking-lidar.git
  4. Compile and build the package: cd ~/catkin_ws && catkin_make
  5. Add the catkin workspace to your ROS environment: source ~/catkin_ws/devel/setup.bash
  6. Run the kf_tracker ROS 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 published on to the filtered_cloud rostopic, you should see outputs from this node published onto the obj_id, cluster_0, cluster_1, …, cluster_5 topics along with the markers on viz topic which you can visualize using RViz.

Supported point-cloud streams/sources:

The input point-clouds can be from: 1. A real LiDAR or 2. A simulated LiDAR or 3. A point cloud dataset or 4. Any other data source that produces point clouds

Note: This package expects valid point cloud data as input. The point clouds you publish to the "filtered_cloud" is not expected to contain NaNs. The point cloud filtering is somewhat task and application dependent and therefore it is not done by this module. PCL library provides pcl::removeNaNFromPointCloud (...) method to filter out NaN points. You can refer to this example code snippet to easily filter out NaN points in your point cloud.

Citing

If you use the code or snippets from this repository in your work, please cite:

@software{praveen_palanisamy_2019_3559187,
  author       = {Praveen Palanisamy},
  title        = {{praveen-palanisamy/multiple-object-tracking-lidar: 
                   Multiple-Object-Tracking-from-Point-Clouds_v1.0.2}},
  month        = dec,
  year         = 2019,
  publisher    = {Zenodo},
  version      = {1.0.2},
  doi          = {10.5281/zenodo.3559187},
  url          = {https://doi.org/10.5281/zenodo.3559186}
}

Wiki

Checkout the Wiki pages

  1. Multiple-object tracking from pointclouds using a Velodyne VLP-16
CHANGELOG

Changelog for package multi_object_tracking_lidar

1.0.4 (2021-08-29)

  • Merge pull request #46 from praveen-palanisamy/rm-topic-slash-prefix Remove topic slash prefix
  • Apply clang-format-10
  • Rm slash prefix (deprecated in TF2)
  • Add note to filter NaNs in input point clouds
  • Contributors: Praveen Palanisamy

1.0.3 (2020-06-27)

  • Merge pull request #26 from artursg/noetic-devel C++11 --> C++14 to allow compiling with later versions of PCL, ROS Neotic
  • Compiles under ROS Noetic
  • Merge pull request #25 from praveen-palanisamy/add-license-1 Add MIT LICENSE
  • Add LICENSE
  • Merge pull request #24 from mzahran001/patch-1 Fix broken hyperlink to wiki page in README
  • Fixing link error
  • Updated README to make clustering approach for 3D vs 2D clear #21
  • Added DOI and citing info
  • Contributors: Artur Sagitov, Mohamed Zahran, Praveen Palanisamy

1.0.2 (2019-12-01)

  • Added link to wiki pages
  • Updated readme with suuported pointcloud sources
  • Updated README to clarify real, sim, dataset LiDAR data
  • Contributors: Praveen Palanisamy

1.0.1 (2019-04-26)

  • Fixed cv_bridge build depend
  • Removed indirection op to be compatible with OpenCV 3+
  • Added visualization_msgs & cv_bridge build & run dependencies
  • Contributors: Praveen Palanisamy

1.0.0 (2019-04-13)

  • Updated README with usage instructions
  • Renamed node name to kf_tracker to match bin name
  • Changed package name to multi_object_tracking_lidar
  • Updated package info & version num
  • Updated with a short demo on sample AV LIDAR scans
  • Added README with a short summary of the code
  • Working state of Multiple object stable tracking using Lidar scans with an extended Kalman Filter (rosrun kf_tracker tracker). A naive tracker is implemented in main_naive.cpp for comparison (rosrun kf_tracker naive_tracker).
  • v2. Unsupervised clustering is incorporated into the same node (tracker).
  • v1. Object ID/data association works. In this version PCL based unsupervised clustering is done separately.
  • Contributors: Praveen Palanisamy

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged multi_object_tracking_lidar at Robotics Stack Exchange