Advanced Robotics : Quadrotor Path and Trajectory Optimization
This project was the final phase of a graduate-level robotics course and focused on building a complete autonomous quadrotor control pipeline in simulation. The goal was to generate smooth, dynamically feasible trajectories through a 3D obstacle-filled environment and successfully control a quadrotor to follow those trajectories without collisions. The project integrated components from several concepts in taught in the class—3D path planning and low-level SE(3) control—with a new trajectory generation system that produces minimum-snap polynomial paths suitable for flight.
The system was tested on multiple simulated maps and on a hardware UAV in with complex obstacle layouts and was evaluated on both safety (no collisions) and performance (flight time). This project was successfully implemented and demonstrated on all provided environments.

Project Work Breakdown
Key Components of the Project
1. Environment and Platform
Simulated Quadrotor: Modeled as a sphere of radius 0.25 m.
Hardware Quadrotor : Crazyflie
3D Occupancy Maps: Provided in voxel grid format, including complex obstacle courses to navigate.
2. Path Planning
Graph-Based Search:
Implemented A* and Dijkstra to compute collision-free paths through the voxel map. These paths formed the initial input for trajectory smoothing.Post-Processing:
Raw waypoints from the planner were preprocessed to remove unnecessary sharp turns and simplify the overall route for feasibility.
3. Trajectory Generation
Minimum Snap Polynomials:
Smooth, 7th-order polynomials were used to connect waypoints, minimizing the snap (4th derivative of position) for dynamic feasibility.Segment Timing:
Travel time for each segment was allocated based on distance and curvature, tuned to avoid instability and overshoot.Boundary Conditions:
Continuity in position, velocity, and acceleration was enforced to ensure smooth motion throughout the entire path.
4. Quadrotor Control
SE(3) Controller:
Designed and Implemented a full 6-DOF geometric controller for the UAV using Dynamics in order to track position and orientation targets. Implemented feedback terms for tracking errors in position, velocity, attitude, and angular velocity.Integration:
The controller received desired position and velocity inputs from the trajectory generator and computed thrust and orientation commands accordingly.