![]() ![]() Initially, the MATLAB C++ encoder was used but led to multiple problems. ![]() The flight control system developed in MATLAB Simulink was converted to C++ code manually. This allowed for straightforward application and rapid prototyping of the control algorithm. Since the designed flight controller was custom built, a programmable Arduino Uno microcontroller was chosen. It takes in all the sensor reading and commands from the ground control station and processes these to allow the drone to perform various manoeuvres. The flight controller unit of this design is the most important aspect. The components selected can be seen in the bill of materials. The rotor system, including the motor and propeller, were chosen first based on lift ability and the rest of the components were chosen for compatibility with other chosen components. It was a quadcopter with 4 BLDC motors that controlled attitude, position and altitude. The design of the quadcopter was based on the modelling approach and can be seen in figure 4. Due to time constraints, only the pitch, roll and altitude controller were tested. The controller was then tuned to the physical design on the model, and the tuned controller was implemented using a customisable microcontroller. Therefore, a quadcopter was designed and the parameters from this prototype were fed back into the Simulink model. To validate the model, a physical implementation of the control system was required. The control system layout is shown in Figure 3.įigure 3 - Control system flow diagram Physical Design Implementation It takes in the next and position and the desired course and outputs the actuator motor command as a PWM signal. The control design chosen utilises PID controllers. Control of the drone is critical due to the non-linear and underactuated characteristics of the system. The resultant model now allows for the development and tuning of a flight control system of a quadcopter. The model can be seen in Figure 2.įigure 2 - Full system Model Control System The results visualisation sub system was used for debugging and testing. There are three main aspects of the model, Guidance, Control, and the plant (dynamic) model. Now that the dynamics and kinematics are defined the method was applied to a mathematical model via MATLAB Simulink. It incorporates a built-in ordinary differential equation (ODE) solver, based on Runge-Kutta 4 (RK4) with a set time step of 0.01 seconds. This model basically allowed the quadcopter to fly in a simulated world, taking into account several forces and moments such as aerodynamic drag, thrust, gravity and gyroscopic moment.įigure 1 - Drone Reference Frame and Layout Mathematical Modelling The dynamic model developed was a 6 degree of freedom (DOF) simulation of a quadcopter powered by 4 brushless direct current motors (BLDC) based on the Newton-Euler method (Figure 1). In order to tune the flight control system for the drone, a high fidelity mathematical model was developed on MATLAB Simulink. Therefore in this project, the focus was to develop a method for allowing rapid prototyping and retuning of flight control system for drones. Currently, the majority of flight control systems are designed for a set range of payloads or the controller is re-tuned to new layouts. With drones currently being utilised in such wide areas, there is a desire to change payloads, such as monitoring equipment, readily. However, these are time consuming and often require experiments to tune the controller, as the controllers are sensitive to the layout of the drone. Proportional, integral and derivative (PID) controllers are the most widely used control method in the case of quadcopters. ![]() Therefore, they are a challenge to control especially when the quadcopter operates outwith normal conditions. Quadcopters are inherently non-linear systems with a smaller number of control inputs than degrees of freedom (DOF), resulting in an underactuated system. The research for quadcopters with regards to control and autonomy encounters multiple challenges. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |