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