Gazebo Robot Maze - Lidar (C++, Gazebo) (Figures in process)

Overview:

This project consists of using a Gazebo tank bot (implemented with C++) equipped with a lidar sensor and simulated noise to map and continuously find the optimal path to the goal in parallel. The control designed uses the lidar inputs to fill an occupancy grid. The inputs lidar data is transformed from the robot's local coordinate frame to the world frame using a transformation matrix. The best path to take to the goal is determined with A-star path finding.

Purpose:

  • To independently design a controller to have a robot map and navigate a maze while dealing with noisy sensor data.

Challenges:

  • Implementation of a simulated lidar sensor and the handling of it's data.
  • Filter and work around noisy sensor data.
  • Implement A-star path finding to get to goal.

Outcome:

  • A navigation controller (C++) which takes lidar data and maps the area with sufficient accuracy to be able to determine an optimal path using the A-star algorithm.
  • occupancy grid representation displayed in real time in separate rviz window.

Skills Learned/Used:

  • Implementation of occupancy grids and their visual representation
  • Path planning (A-star)
  • Transformation of coordinates from local robot coordinate frame to world frame for mapping
  • Trajectory following
  • Gazebo simulation
  • C++ threads for simultaneous mapping and path finding.
  • C++ programming