Skip to content

ROS 2 package for building occupancy grid maps from Dolly robot laser scan data using Bayesian updates and log-odds for reliable 2D environment representation.

License

Notifications You must be signed in to change notification settings

surendrakoganti/occupancy_grid_map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Occupancy Grid Mapping with Dolly Laser Scan

This project implements an Occupancy Grid Map using laser scan data from the Dolly robot.
An occupancy grid is a two-dimensional discretized representation of the environment, where each cell contains the posterior probability that the corresponding space is occupied by an obstacle.

laserscan_based_occupancy_grid_map_sample_image
Source: https://autowarefoundation.github.io/autoware_universe/main/perception/autoware_probabilistic_occupancy_grid_map/laserscan-based-occupancy-grid-map/

📖 Concept

  • Occupancy Grid

    • Discrete 2D grid of cells.
    • Each cell holds the probability of being occupied, free, or unknown.
    • Map is updated based on range sensor data (LaserScan).
  • Assumptions

    • Ego-position and heading are known exactly.
    • Environment is static (no moving obstacles).
  • Decision Approach

    • Bayesian update rule is used for occupancy estimation.
    • States are binary: Occupied or Free.
    • Probabilities are transformed into log-odds for stable numerical updates.

⚙️ Algorithm Overview

algorithm

🛠️ Installation

  1. Create workspace, src and go to src
mkdir temp_ws
cd temp_ws
mkdir src
cd src
  1. Clone repository
git clone https://github.com/surendrakoganti/occupancy_grid_map.git
  1. Return to workspace and build the package
cd ..
colcon build
  1. Source the setup files
source install/setup.bash

▶️ Usage

  1. Play ros bag file
ros2 bag play -l ./src/occupancy_grid_map/laser_scan_data/rosbag2_2021_05_09-18_39_42_0.db3 
  1. Run the node in new terminal (in same directory as previous terminal):
ros2 run occupancy_grid_map hsc_mapping_laser
  1. Launch Rviz2 in new terminal and add topic "hsc_map" to view the generated occupancy grid map.

🎯 Results

Input laser scan data Occupancy grid map
rqt rqt

About

ROS 2 package for building occupancy grid maps from Dolly robot laser scan data using Bayesian updates and log-odds for reliable 2D environment representation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages