Attention

You are viewing an older version of the documentation. The latest version is 2.2.

ADBSCAN Algorithm

ADBSCAN (Adaptive DBSCAN) is an Intel® patented algorithm. It is a highly adaptive and scalable clustering algorithm, tested successfully to detect objects at all ranges for 2D Lidar, 3D Lidar, and Intel® RealSense™ depth camera.

This method automatically computes clustering parameters (radius and minimum number of points that define a cluster) based on the distance from the sensor and the data density in its field of view, thus alleviating the guesswork from parameter selection and enabling efficient hierarchical clustering.

ADBSCAN increases detection range by 30%-40% and detects 20%-30% more objects, compared to state-of-the-art methods. It has been gainfully used in multiple applications such as 2D/3D Lidar or Intel® RealSense™ based object tracking, Multi-modal object classification (Camera + Lidar), Surface segmentation, Lidar based object classification, Occupancy grid generation etc. It is highly CPU friendly and compute efficient, executing at ~130 fps for a 2D Lidar, on a TGL CPU.

This tutorial describes how to run the ADBSCAN algorithm from Robotics SDK using 2D RPLIDAR and Intel® RealSense™ camera input.

It outputs to the obstacle_array topic of type nav2_dynamic_msgs/ObstacleArray.

Getting Started

Robotics SDK provides a ROS 2 Deb package for the application, supported by the following platform:

  • OS: Ubuntu 22.04 LTS

  • ROS version: humble

Install Deb package

Install ros-humble-adbscan-ros2 Deb package from Intel® Robotics SDK APT repository

sudo apt update
sudo apt install ros-humble-adbscan-ros2
Copy to clipboard

Install the following package with ROS 2 bag files in order to publish point cloud data from LIDAR or Intel® RealSense™ camera

sudo apt install ros-humble-bagfile-laser-pointcloud
Copy to clipboard

Run the ADBSCAN Algorithm with RPLIDAR Input

Run the following script to run the demo with 2D LIDAR

sudo chmod +x /opt/ros/humble/share/adbscan_ros2/scripts/demo_lidar.sh
/opt/ros/humble/share/adbscan_ros2/scripts/demo_lidar.sh
Copy to clipboard

Expected output: ADBSCAN prints logs of its interpretation of the LIDAR data coming from the ROS 2 bag.

../../../_images/adbscan_demo_lidar.jpg

One can view the list of running ROS 2 nodes by typing ros2 node list in a terminal.

../../../_images/adbscan_node_list.jpg

Run the ADBSCAN Algorithm with Intel® RealSense™ Camera Input

Run the following script to run the demo with 2D LIDAR

sudo chmod +x /opt/ros/humble/share/adbscan_ros2/scripts/demo_RS.sh
/opt/ros/humble/share/adbscan_ros2/scripts/demo_RS.sh
Copy to clipboard

Expected result: rviz2 starts, and you see how ADBSCAN interprets Intel® RealSense™ data coming from the ROS 2 bag:

Troubleshooting

  • Failed to install Deb package: Please make sure to run sudo apt update before installing the necessary Deb packages.

  • You can stop the demo anytime by pressing ctrl-C.

  • For general robot issues, go to: Troubleshooting for Robot Tutorials.