Quadcopters


This post describes the entire working of Quadcopters in a nutshell. The steps which my team followed during the entire process are shown below in a general format. It only describes the pre-requisites of each phase.
As a final year project or any engineering project, "Autonomous control of an Aerial platform" has taken heights, right after the advent of Drones. However it is really difficult to realize such controls. Moreover few people like Jeff Rowberg, Oscar Liang have worked on it and that too on Arduino Platform. Before going into the complicacies associated with the research here is a brief description of the objective.
The aim is to construct an aerial platform and embed certain algorithms which can autonomously control the platform when on flight. Here the platform is selected as a Quadcopter. After construction of frame and mounting of parts like Electronic Speed Controllers, Brushless DC Motors, it is required to get the sensors and controls ready. Sensors are selected as MEMS sensors, capable of providing angular measurements in a closed system. MPU-6050, being the world's first integrated gyroscope-accelerometer chip comes in handy to get the angular data. For controls we can have a good flight controller board capable of high-processing eventually a higher bit microcontroller is acceptable.
Now when all things are on board, it is time to integrate their functions through a control-algorithm. There are various algorithms involved in the process, from sensing to control inclusive of setting the throttle values of the motors. These are as follows:
Setting of Throttle values of Motors: Brushless DC Motors work the same way as servo motors . Servomotors work on PWM signals. So an algorithm has to be formulated to program the Brushless DC Motors. Perhaps this is the easiest of all the algorithms.
Kalman Filter Algorithm and Complimentary Filter Algorithm: Gyroscope cannot give accurate data due to drifts and Accelerometer cannot give accurate due to vibrations. So both the readings are fused into one to give correct value of angle orientation. For this Kalman Filter technique is used. This requires a good idea of quaternions. This is the most complex algorithm. Moreover it does not work efficiently in 8-bit microcontrollers. Higher order microcontrollers are required. To get things working in a simpler way most people try Complimentary Filter technique. It is a combination of a low pass filter for accelerometer (bad for fast changes) and high pass filter for gyroscope (bad for slow changes) summed up together. Being a software realization, the filter coefficients are given in terms of contributions in percentage. This algorithm helps to get an accurate sensed data.
Control-Algorithm: Use of PID or Fuzzy logic algorithms can help to achieve such control. Well it is tough to integrate all these algorithms in one single code. There are lots of trial and error procedures in testing of such code. Jeff Rowberg and Oscar Liang are two such who have tried to make the code open source, but the code is specific to Arduino Platform. So trying another platform makes it a fresh start.
After implementing all of these functionalities, it is time to kick-start the copter. Trust me this may shell out time and money, as the first test is always a disaster. Furthermore the controller tuning parameters vary abruptly, so they have to be checked in each test.

Comments

Popular posts from this blog

"A Strange" goodbye to Jorhat

The 'LionHearts' : Colours of Change

En route to the ruins of Hampi