Custom Flight Controller Part 1: A Simple Revision on Quadcopter Flying Principle

My approach to designing a custom flight controller is to split the task into two parts: the hardware and the software. Since software is easier to debug and change, I jumped into software first. This might not be the best decision as other people say it is better to design hardware first. I hope I would not face serious problems by choosing to design software first. 

For software, I further split it into two major tasks: getting the orientation and controlling the actuators(motors), the reason being that orientation/attitude of the quadcopter is the core in quadcopter's movement and therefore controller design. I feel that getting a good orientation is extremely crucial and therefore I decide to make it an independent task instead of a part of controller design. 

Everything starts with the basic quadcopter flying principle. 

Quadrotor yaw torque.png

Quadcopter has four propellers, one pair spinning clockwise and the other spinning counter-clockwise. Each propeller, when spinning, will exert a lift force as well as a torque with respect to the center of the quadcopter. The lift force lifts the quadcopter while the torque will rotate the quadcopter. Under normal conditions the torque are balanced so that the copter does not rotate around its z-axis. 

There are three basic rotations that a quadcopter can perform, namely roll pitch yaw. And a quadcopter performs each rotation by changing the speed of four motors correspondingly. These following pictures from Wikipedia illustrate these movements clearly.
Note that when a quadcopter pitches or rolls, linear movement is introduced as the lift force s produced by the propellers now have horizontal components. Therefore, raw pitch yaw are the most fundamental movements of a quadcopter. The ultimate aim of the flight controller is to control these movements accurately so as to make the quadcopter fly according to the command sent by user. 

In order to achieve good control, accurate feedback is essential, meaning that the flight controller board has to be able to calculate the current orientation aka roll pitch yaw angles from whatever sensors available available. For this project, classic approach of obtaining orientation from a 9-degree-of-freedom Intertial Measurement Unit(IMU) is used. And this is the first task that I aim to complete.


Popular posts from this blog

Custom Flight Controller Part 2.2: Getting the Orientation --- The Quaternion Kalman Filter

Custom Flight Controller Part 2.4: Getting the Orientation --- Migrate to STM32

LunchBox ESkateboard Part 0: Introduction