• Stars
    star
    250
  • Rank 162,397 (Top 4 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

3D LiDAR Object Detection & Tracking using Euclidean Clustering, RANSAC, & Hungarian Algorithm

lidar_obstacle_detector

3D LiDAR Object Detection & Tracking using Euclidean Clustering & Hungarian algorithm

CodeFactor Code Grade Code Quality Score GitHub Repo stars GitHub Repo forks

Ubuntu ROS C++

demo_1

demo_2

Features

  • Segmentation of ground plane and obstacle point clouds
  • Customizable Region of Interest (ROI) for obstacle detection
  • Customizable region for removing ego vehicle points from the point cloud
  • Tracking of obstacles between frames using IOU gauge and Hungarian algorithm
  • In order to help you tune the parameters to suit your own applications better, all the key parameters of the algorithm are controllable in live action using the ros param dynamic reconfigure feature

TODOs

  • LiDAR pointcloud motion undistortion
  • Drive Space/Kurb Segmentation
  • Refine PCA Bounding Boxes by L-Shape fitting
  • Add trackers such as UKF

Known Issues

  • PCA Bounding Boxes might not be accurate in certain situations

Dependencies

  • autoware-msgs
  • jsk-recognition-msgs

Installation

# clone the repo
cd catkin_ws/src
git clone https://github.com/SS47816/lidar_obstacle_detector.git

# install dependencies & build 
cd ..
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash

Usage

1. (Easy) Use this pkg with ROS Bags (mai_city dataset as an example here)

demo_mai_city

Step 1: Download the mai_city dataset from their Official Website

Step 2: Launch the nodes using the mai_city.launch launch file

# this will launch the obstacle_detector node, rviz, and rqt_reconfigure GUI together
roslaunch lidar_obstacle_detector mai_city.launch

Step 3: Run any of the bags from the dataset

# go to the folder where the dataset is located
cd mai_city/bags
# play the rosbag
rosbag play 00.bag

2. Use this pkg with LGSVL Simulator (with the help of the lgsvl_utils pkg)

demo_lgsvl

Step 1: Launch the LGSVL simulator and lgsvl_utils nodes

Please refer this step to the README Usage Section of the lgsvl_utils pkg

Step 2: Launch the nodes using the launch/lgsvl.launch launch file

# launch node
roslaunch lidar_obstacle_detector lgsvl.launch 

Contribution

You are welcome contributing to the package by opening a pull-request

We are following: Google C++ Style Guide, C++ Core Guidelines, and ROS C++ Style Guide

License

MIT License

More Repositories

1

fiss_planner

[RA-L 2022] FISS: A Trajectory Planning Framework using Fast Iterative Search and Sampling Strategy for Autonomous Driving
C++
155
star
2

frenet_optimal_planner

Implementation of the Frenet Optimal Planning Algorithm (with modifications) in ROS.
C++
77
star
3

fiss_plus_planner

[IROS 2023] FISS+: Efficient and Focused Trajectory Generation and Refinement using Fast Iterative Search and Sampling Strategy
Python
39
star
4

DriveSceneGen

[RA-L 2024] DriveSceneGen: Generating Diverse and Realistic Driving Scenarios from Scratch
Python
24
star
5

lgsvl_utils

ROS Helper Nodes for visualizing and utilizing LGSVL Simulator
C++
12
star
6

junior_local_planner

This local planner implements the local planning method used in Tier IV's Autoware OpenPlanner (Local Planner), with modifications to suit our application.
C++
7
star
7

3D-PointCloud

DeepBlue 3D-PointCloud Course Notes and Practices
Python
4
star
8

Lidar-SLAM

DeepBlue Lidar SLAM Course Notes and Homeworks
Makefile
3
star
9

fiss

[RA-L 2022] FISS: A Trajectory Planning Framework using Fast Iterative Search and Sampling Strategy for Autonomous Driving
3
star
10

Cpp-Notes

Notes for C++ Course
Jupyter Notebook
2
star
11

visual-computing

NUS EE5731 Visual Computing Projects
Jupyter Notebook
2
star
12

SFND-Notes

Study Notes for Sensor Fusion Engineer Nanodegree
Jupyter Notebook
2
star
13

carla_utils

C++
1
star
14

SFND_Radar_Target_Generation_and_Detection

MATLAB
1
star
15

face-recognition

EE5907/EE5027 Pattern Recognition Programming Assignment CA2
Python
1
star
16

ARC-Starter-Cookbook

Cookbook for new Robotics students
1
star