Back to Home

Learning-Based Quadcopter Obstacle Avoidance (In Progress)

Motivation

As a continuation to the Isaac Lab projects, this project investigates the performance of neural networks for obstacle avoidance. In literature, researchers have used both imitation and reinforcement learning to train a quadcopter control policy on performing obstacle avoidance.
This project will have a neural network imitate a standard motion planner for obstacle avoidance. Then, this neural network policy will be further fine-tuned with reinforcement learning to learn behaviors that a motion planner isn't capable of, which is where Isaac Lab comes into play.
A key goal of this project is to learn how to deploy neural networks onto physical drone hardware, rather than just staying in simulation.

RRT Drone Motion Planner

Explanation: This RRT motion planner was developed using ROS2 Humble's MoveIt! framework. Given an 3D map of obstacles and the drone's start + end configurations, the planner generates a collision-free trajectory.

Supervised Learning of a LSTM

To start off, the motion planner is used to generate a labeled dataset, where the labels are the 3D map of obstacle combined with the start and goal configurations, and the output data will be the corresponding trajectory.
I am training an LSTM Encoder-Decoder network on this dataset. The idea is that given the same inputs, the LSTM should be able to produce a similiar collision-free trajectory. A recurrent neural network like the LSTM is necessary because given different scenarios, the amount of timesteps (and thus the length) of the output trajectory will vary, so a standard NN will not work.