jkk-research / pointcloud_to_grid

ROS 1 and ROS 2 node that converts sensor_msgs/PointCloud2 LIDAR data to nav_msgs/OccupancyGrid 2D map data based on intensity and / or height. 🤖

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pointcloud_to_grid ROS 2 package

This package converts sensor_msgs/PointCloud2 LIDAR data to nav_msgs/OccupancyGrid 2D map data based on intensity and / or height.

Static Badge

If you would like to use ROS 1 version (melodic, noetic), please go to ROS1 branch.

Build

cd ~/ros2_ws/src 
git clone https://github.com/jkk-research/pointcloud_to_grid -b ros2
cd ~/ros2_ws/ 
colcon build --packages-select pointcloud_to_grid --symlink-install

Don't foget to source ~/ros2_ws/install/setup.bash.

Features

  • Few dependencies (ROS 2 and PCL mainly) ROS installation
  • Simple as possible
  • Fast

Conventions & definitions

Getting started

In a new terminal go to your bag folder (e.g. ~/Downloads):

cd ~/Downloads

Download a sample rosbag (~3,3 GB) (TODO: update to ROS 2 `mcap``):

wget https://laesze-my.sharepoint.com/:u:/g/personal/herno_o365_sze_hu/EYl_ahy5pgBBhNHt5ZkiBikBoy_j_x95E96rDtTsxueB_A?download=1 -O leaf-2021-04-23-campus.bag

Play rosbag:

ros2 bag play -l ~/Downloads/leaf-2021-04-23-campus.bag

Start the algorithm in a new terminal :

ros2 launch pointcloud_to_grid demo.launch.py

Alternatively, start with subscribing to /my_custom_cloud_topic:

ros2 launch pointcloud_to_grid demo.launch.py topic:=my_custom_cloud_topic

Start the visualization in a new terminal :

ros2 launch pointcloud_to_grid rviz.launch.py

Related solutions

Remarks

In VS code it is advised to add the following to include path:

${workspaceFolder}/**
/opt/ros/humble/include/**
/usr/include/pcl-1.12/**
/usr/include/eigen3/**

If you are not sure where your header files are use e.g.:

find /usr/include -name point_cloud.h
find /usr/include -name crop_box.h

Cite & paper

If you use any of this code please consider citing TODO:

About

ROS 1 and ROS 2 node that converts sensor_msgs/PointCloud2 LIDAR data to nav_msgs/OccupancyGrid 2D map data based on intensity and / or height. 🤖

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C++ 83.7%Language:Python 8.7%Language:CMake 7.6%