Skip to content

varadVaidya/Drone-Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Planar Quadcopter Control

Aim

Aim of this project was to develop an 1-D and 2-D quadcopter model and use the basic control law such as PID to control the quadcopter to reach a certian desired setpoint and/or follow a planned trajectory.

2D quadcopter simulation

Results

1D Quadcopter

The quadcopter was constrianed to move only along the z-axis of the world frame. The quadcopter had to reach a certain desired setpoint which changed w.r.t time. 1D Quadcopter Control Results

2D Quadcopter

The quadcopter was restriced to z-y plane. Such version of the quadcopter is called as a Planar Quadrotor. The dynamics of the system were found out by simple Newtonian-Mechanics and simulated using the odeint function from the scipy package. To further test the controller the initial roll angle is allowed to vary randomly between -2pi/3 to 2pi/3 with each run of the code.

Trajectory Planning

For the planar Quadrotor to reach the desired postion in a certain manner a trajectory planner was implemented. The following planners were implemented.

  • Minimum Velocity Trajectory
  • Minimum Acceleration Trajectory
  • Minimum Jerk Trajectory

Results

The simulation results are as follows:

  • For Minimum Velocity Trajectory:

    • Graph Graph for min. vel traj
    • GIF GIF for min. vel traj
  • For Minimum Acceleration Trajectory:

    • Graph Graph for min. accln traj
    • GIF GIF for min. vel traj
  • For Minimum Jerk Trajectory:

    • Graph Graph for min. jerk traj
    • GIF GIF for min. jerk traj

Future Work

Future work includes extending this project to 3 dimensions and using other control approaches such as Linear Quadratic Regulator (LQR) and Model Predictive Control(MPC).

About

This is a Project related to QuadCopter Control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages