← Back to Projects

Quadcopter Design

Drone Design Dynamics Python
Quadcopter Design

Category

Drone Design

Tools

Python, Latex

Status

Completed

Overview

This project uses the popular method of digital twins to model dynamics for a quadcopter drone. A dynamical model was developed for the drone that can be built using off-the-shelf (OTS) components. Results for drone performance were collected based on the following manuevers: hovering for 2 minutes 1 meter above the ground, flying in a 2m radius circle at 1m altitude and at 0.5m/s speed for at least 1 minute, and performing a horizontal square pattern with a 90-degree turn. Our results numerically and graphically displayed position and angles (roll, pitch, yaw) throughout these maneuvers, and the program used to generate these results can be modified for different motor speeds.

View Project Code on GitHub

Objectives

  • Model quadcopter behavior through a digital twin
  • Meet pre-determined performance goals
  • Analyze aerodynamic performance and stability characteristics
  • Ensure quadcopter can be built using off-the-shelf components

Approach

The design approach began with identifying the rotational and translational dynamics associated with a quadcopter. Using Newtonian Mechanics, and accounting for the Coriolis effect, we obtained the first set of equations of motion (EOMs) for rotational dynamics. The translational dynamics of the quadcopter were determined by rotating the body to inertial frames and relating it to the total thrust force. Finally, the thrust vector was related to the acceleration of the quadcopter in the x, y, and z axes.

Performance Goal 1

Performance goal 1 states that the quadcopter must "Hover 1m above ground for 2 minutes." Therefore the quadcopter must stay at coordinate \( \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} \) for the duration. If we assume that the rotor blades are spinning at the same speed, we can relate all of the z-components to each other and isolate for the speed. Therefore, the rotational speeds required for hover are: $$ \omega_{1,2,3,4} = \sqrt{\frac{mg}{4k_T}} $$ Figure 1 shows the drone's position and attitude throughout the hover.

Quadcopter Position and Attitude
Figure 1: Quadcopter Position and Attitude

Performance Goal 2

The objective in this section is to simulate the motion of the quadcopter flying a circular trajectory with a constant altitude of one meter maintaining a radius of two meters at 0.5 m/s. For this goal, key performance indicators included position accuracy in the x-y plane, altitude maintenance at z = 1 meter, and stability and smoothness of the trajectory. To measure these, we plotted the position and cosine angles of the quadcopter versus time as well as the three-dimensional trajectory of the drone. Figure 2 shows the quadcopter's position and attitude throughout the circular trajectory. Figure 3 shows the circular trajectory that the quadcopter flies in with a constant altitude.

Quadcopter Position and Attitude
Figure 2: Quadcopter Position and Attitude
Quadcopter 3D Circular Trajectory
Figure 3: Quadcopter 3D Circular Trajectory

Performance Goal 3

For performance goal 3, the objective was to have the quadcopter follow a very specific trajectory through a series of relatively simple movements. The quadcopter was to ascend vertically, move in a straight line, hover, yaw 90 degrees to the left, move in another straight line, hover, and descend vertically. The key performance indicators for this goal mainly included ensuring no change in position or angle for the degrees of freedom that were not directly affected by each individual move, but also included following strict values for altitude, distance, and velocity, most notably a descent velocity of no more than 1 cm/s. Figure 4 shows the position and attitude of the drone during this flight path with yaw, pitch, and roll being seperated for easier reading. Figure 5 shows the path the drone takes.

Quadcopter Position and Attitude
Figure 4: Quadcopter Position and Attitude
Quadcopter 3D Square Trajectory
Figure 5: Quadcopter 3D Square Trajectory

The 3-D trajectory plot of this maneuver clearly marks the start and end points of the trajectory described in performance goal 3. The plot shows that the drone ascended vertically to an altitude of 1 meter, moved horizontally along the y-axis at constant altitude, turned and moved horizontally to the left along the x-axis at a constant altitude, and finally descended back to an altitude of 0 meters. The total flight time is approximately 2.25 minutes, so the predicted 4-minute battery life will meet the required maneuver time.

Off-the-Shelf Components

Choosing off-the-shelf (OTS) components involved choosing the drone frame and propeller first followed by the power components needed for the system's predicted mass. The table below shows the components chosen for the drone.

Name Cost Weight (g)
Tarot IRON MAN 650 Folding Carbon Fiber Frame $119 476
APC 11x4 Propellers $4.44 39.12
MN3510 KV 700 Motor $79.90 117
22.2V 4000mAh 6S 50C Smart LiPo Battery $119.99 625
XRotor 40A ESC COB $17.99 26
Pixhawk 4 Flight Controller $141.99 33.3
Matek Systems PDB XT-60 $4.49 11
Net Weight and Cost $740.82 1873.78 g

Results

The final design achieved all performance targets, demonstrating stable flight characteristics and meeting the requirements set out in the design goals.