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
Post a Comment