This document is the master's thesis of Yiting Wu titled "Development and Implementation of a Control System for a quadrotor UAV". The thesis describes the development and testing of control systems for a quadrotor drone. It includes the construction of a test platform with an inertial measurement unit and microcontroller. Three control algorithms - nonlinear feedback linearization, simple PD control, and PD control with partial differentiation - are designed, simulated, implemented on the test platform, and evaluated. The best performing control algorithm is determined based on simulation and implementation results.
Dynamics, Modelling & Design of a Quadcopter Stephen Ahiante
This document describes a project by Ahiante Stephen Oriasotie on the dynamics, modelling and design of a quadcopter. It presents the quadcopter system as a rigid body and derives its equations of motion using Lagrange's formulations. It then details the design of a small quadcopter model constructed with coreless DC motors, propellers, an Arduino microcontroller, Bluetooth module and lithium polymer battery. The quadcopter is designed to hover, land and be controlled via a mobile application interfaced through Bluetooth technology.
The document describes the modeling and control of a quadrotor unmanned aerial vehicle (UAV). It first outlines various modeling assumptions. It then derives the nonlinear model, including kinematic and dynamic equations, by defining reference frames, rotational matrices, forces and moments. Linear models are developed by linearizing the nonlinear model. Finally, it discusses control design, analysis and simulation for the quadrotor.
The document discusses the key components and systems of a helicopter, including the fuselage, main rotor system, swash plate assembly, freewheeling unit, antitorque system, engines, and transmission system. It explains that understanding how these systems work enables pilots to more easily recognize issues and take appropriate action if problems arise.
Towards An Open Instrumentation Platform: Getting The Most From MAVLink, Ardu...Steve Arnold
What is a drone? What is an autopilot, and just what is an IMU and a Kalman filter? This presentation describes an open source hardware and software architecture defined by the Ardupilot firmware, the MAVLink message protocol, several layers of user-space software, and various supported hardware devices and peripherals. It will also cover the current capabilities and components of the core software stacks, as well as extended support for different hardware platforms and sensors, computer vision processing, cameras and image tags, as well as specific science applications and related FOSS projects currently underway. The two highlighted projects both suggest more non-traditional (and less mobile) data acquisition applications using these tools; for more typical UAV applications, airframe options and alternative firmware will also be discussed.
Automatic control of aircraft and missiles 2nd ed john h. blakelockMaRwa Hamed
This document is the preface to the second edition of the book "Automatic Control of Aircraft and Missiles" by John H. Blakelock. The preface outlines the changes and additions made to the material in the second edition, including expanded coverage of topics like missile guidance systems, multivariable control systems, and modeling of human pilots. It also thanks those who provided assistance in preparing the second edition.
This document describes the design process of a spheroid VTOL UAV. It outlines the objectives, which include designing a strong but lightweight structure within a budget of Rs 50,000. It also describes the flowchart process of designing, prototyping, testing, redesigning, manufacturing the final product, and final testing. The goals are to size the motor and propeller, integrate the flight control electronics, test and tune the flight control surfaces, and verify all objectives are met including withstanding impacts during landing.
Dynamics, Modelling & Design of a Quadcopter Stephen Ahiante
This document describes a project by Ahiante Stephen Oriasotie on the dynamics, modelling and design of a quadcopter. It presents the quadcopter system as a rigid body and derives its equations of motion using Lagrange's formulations. It then details the design of a small quadcopter model constructed with coreless DC motors, propellers, an Arduino microcontroller, Bluetooth module and lithium polymer battery. The quadcopter is designed to hover, land and be controlled via a mobile application interfaced through Bluetooth technology.
The document describes the modeling and control of a quadrotor unmanned aerial vehicle (UAV). It first outlines various modeling assumptions. It then derives the nonlinear model, including kinematic and dynamic equations, by defining reference frames, rotational matrices, forces and moments. Linear models are developed by linearizing the nonlinear model. Finally, it discusses control design, analysis and simulation for the quadrotor.
The document discusses the key components and systems of a helicopter, including the fuselage, main rotor system, swash plate assembly, freewheeling unit, antitorque system, engines, and transmission system. It explains that understanding how these systems work enables pilots to more easily recognize issues and take appropriate action if problems arise.
Towards An Open Instrumentation Platform: Getting The Most From MAVLink, Ardu...Steve Arnold
What is a drone? What is an autopilot, and just what is an IMU and a Kalman filter? This presentation describes an open source hardware and software architecture defined by the Ardupilot firmware, the MAVLink message protocol, several layers of user-space software, and various supported hardware devices and peripherals. It will also cover the current capabilities and components of the core software stacks, as well as extended support for different hardware platforms and sensors, computer vision processing, cameras and image tags, as well as specific science applications and related FOSS projects currently underway. The two highlighted projects both suggest more non-traditional (and less mobile) data acquisition applications using these tools; for more typical UAV applications, airframe options and alternative firmware will also be discussed.
Automatic control of aircraft and missiles 2nd ed john h. blakelockMaRwa Hamed
This document is the preface to the second edition of the book "Automatic Control of Aircraft and Missiles" by John H. Blakelock. The preface outlines the changes and additions made to the material in the second edition, including expanded coverage of topics like missile guidance systems, multivariable control systems, and modeling of human pilots. It also thanks those who provided assistance in preparing the second edition.
This document describes the design process of a spheroid VTOL UAV. It outlines the objectives, which include designing a strong but lightweight structure within a budget of Rs 50,000. It also describes the flowchart process of designing, prototyping, testing, redesigning, manufacturing the final product, and final testing. The goals are to size the motor and propeller, integrate the flight control electronics, test and tune the flight control surfaces, and verify all objectives are met including withstanding impacts during landing.
Drone (Quadcopter) full project report by Er. ASHWANI DIXITAshwani Dixit
This is a Fully completed Mechanical Engineering Final Year Project Report of Drone ( Quadcopter ) by Ashwani Dixit from MITM, Ujjain .
for word file of that report you can contact me - ashwanidixit49@gmail.com
Thankyou !!!!!!!!!
This document is a project report on the design and fabrication of a quadcopter. It was submitted by two students in partial fulfillment of their Bachelor of Technology degree in Mechanical Engineering. The report covers modeling the quadcopter in Pro-E software, selecting hardware components, developing control software, assembly, and flight testing. While hardware issues prevented full testing, the students were able to complete a hands-free hover demonstration and other tests showing the quadcopter's stability and potential 6-8 minute flight time.
Sonar based obstacle avoidance for UAVsgaurav dhir
Basic Obstacle Avoidance Capability using SONAR sensor was incorporated within an Unmanned Aerial Vehicle. The SONAR sensor was mounted on Raspberry Pi and the system was interfaced with the Pixhawk Flight Controller. MAVLINK protocol was used to ensure communication between Pixhawk and RPI allowing Pixhawk to take necessary control action.
This power point presentation summarizes the key components and functioning of a quadcopter drone. It describes the main parts which include four brushless motors, electronic speed controllers, a CC3D flight controller, Li-Po battery, power distribution board, and transmitter and receiver. The presentation discusses the advantages of quadcopters like stability, flexibility for indoor use, and ability to enter any environment without a pilot. Applications mentioned include use in agriculture, delivery services, military, videography, and civil purposes. Disadvantages include hardware complexity, short flight duration, and need for frequent battery replacement.
A quadcopter is a multirotor helicopter that is lifted and propelled by four rotors. It uses two pairs of counter-rotating propellers to generate lift and control movement. The key components of a quadcopter include the frame, four propellers, four electric motors, an electronic speed controller, batteries, a flight controller, and a radio transmitter and receiver. Quadcopters have applications in areas like 3D mapping, search and rescue operations, farming, environmental monitoring, and event photography. Their advantages include smaller rotors, reduced damage risk, easier construction, and lower costs compared to helicopters. However, their limitations include restricted battery life and potential vulnerability if hacked or taken over.
This document provides an overview of a quadcopter project. It introduces the project supervisor and describes the structure, design, control theory, and sensors of a quadcopter. It explains that quadcopters use four motors and propellers for lift and are controlled electronically rather than with complex mechanical systems like helicopters. It also discusses the PID control algorithm used to stabilize the quadcopter based on sensor feedback and error calculations. Sensor fusion is described as important for combining gyroscope and accelerometer readings to reduce noise and drift in the orientation estimates.
This document describes a mini project on a flying wing mechanism conducted by students at Vishwakarma Institute of Technology in Pune, India. It provides an introduction to ornithopters, which are aircraft that fly by flapping wings in imitation of birds. The project involved designing a mechanism to power flapping wings based on research into wing design principles and prior ornithopter projects from around the world. The goal was to apply knowledge gained from studying flapping flight aerodynamics and biomimicry of bird wing motions.
This document provides information about reusable launch vehicles, specifically SpaceX's Falcon 9 Reusable (F9R) launch vehicle. It discusses SpaceX's goals of making spaceflight routine and affordable. The document describes the Falcon 9 family of launch vehicles and provides details on the technical specifications and design of the Falcon 9R first and second stages. It also discusses the payload fairing and Dragon spacecraft. Applications and advantages of reusable launch vehicles are presented.
Kinematic analysis of aerodynamics modelpavan chauda
The document discusses kinematics analysis of an aerodynamic model for a quadcopter UAV. It introduces the increasing importance of UAVs and the need to research their kinematic characteristics. The analysis includes simulating flight tracks, developing guidelines and validation techniques through simulation. The aerodynamic module calculates thrust and torque from propeller deflection and feeds results into the flight dynamics equation module to model the quadcopter's kinematics.
1) The document discusses the fabrication of a drone, or quadcopter, which uses four rotors - two rotating clockwise and two counter-clockwise - to provide lift and propulsion. Control is achieved by varying the RPM of the rotors using a microcontroller.
2) A quadcopter operates on the principle of aviation, with electronics and mechanics allowing the four motors to change speed and direction to move the device forward, backward, left, right, up, and down based on transmitted signals from a remote controller.
3) The group fabricated a basic quadcopter with a metal frame, 6V battery, range of 50 feet, and weight of 1kg to gain experience with soldering,
This document describes the design and development of a hybrid UAV conducted by students at Brunel University. It discusses the various design stages undertaken, from conceptual design to testing of the final aircraft. Key aspects covered include preliminary sizing, aerodynamic analysis, structural design, propulsion selection, and avionics integration. Component testing such as of motors and structural elements was performed. The aircraft was then built and underwent ground and flight testing. Lessons learned are discussed to improve future hybrid UAV designs.
Inspection requirements for helicopter after incidents 1Bai Haqi
The document discusses inspection requirements for helicopters after various incidents such as hard landings, main and tail rotor strikes, transmission over-torque, and sudden main rotor stoppage. It provides details on specific areas to inspect, such as the landing gear, fuselage, engine, rotor blades, and transmission. Inspections include checking for cracks, distortions, leaks, and security of components. The level of inspection varies depending on the severity of the incident and component damage.
The document discusses reusable launch vehicles (RLVs) which aim to reduce the high costs of space launches by recovering and reusing rocket components. Currently, 40% of launch costs come from building non-reusable rockets. RLVs could reduce costs by a factor of 100 by recovering first stage boosters, similar to how SpaceX has landed its Falcon 9 rocket boosters. The document outlines the history of rockets, compares conventional expendable launch vehicles to reusable ones, and describes the key components and launch process of an RLV. It discusses challenges of RLVs like heat stresses during flight and challenges of vertical landing, but notes the technology is feasible and could make space travel more routine and affordable.
The document describes a project to design and fabricate a micro air vehicle (MAV) under the guidance of Prof. Syed Basith Muzammil. A group of 4 students - Shazaan Sayeed, Suman Mandal, Sushil Kumar, and Md Idris - are working on the project at HKBK College of Engineering. The MAV will have the ability to hover and be equipped with a camera and sensors to detect leaked gas and explosives. It will use basic materials like a frame, motors, propellers, microcontroller, battery, and transmitter/receiver. The working principle involves the microcontroller receiving signals from the transmitter to control the electronic speed controllers and motor speeds to adjust the altitude
This document describes the design and components of a quadcopter built by students for their diploma in mechatronics. The quadcopter uses four brushless DC motors powered by Lithium Polymer batteries to generate lift through four propellers. Key components include an electronic speed controller to control each motor, a flight control board that processes signals from the transmitter to stabilize and maneuver the quadcopter, and a transmitter-receiver system to send pilot commands. The document outlines the working principle, block diagram, function of each module, advantages, limitations, and applications of the quadcopter.
In aviation sector, organisations which want to produce product, part or appliances related to the aircraft such as engine or tail must have this approval. In this document, requirements for applicant and responsibilities for authorities have explained in details.
This document provides information about a quadcopter drone project completed by four students. It includes a certificate of completion, table of contents, and chapters covering the quadcopter materials and design. The main components discussed are the frame, KK2.1.5 circuit board, DC brushless motors, electronic speed controls, Li-Po battery, remote control, and receiver. The document provides details on the purpose and functioning of these various components that make up the quadcopter.
Thrust vector controlled (tcv) rocket modelling using lqr controllerMrinal Harsh
Design and state space modelling of a TCV Rocket using Simulink and Matlab with Gimbal Angle, Angular Velocity and Drift experienced as our control parameters.
- Using LQR control to stabilize the model.
- Support why LQR is used over PID control for TCV Modelling.
this is about quad-copter component and how we select best for us in this did not analysis about aerodynamics theory and momentum equation. but all basic things are completely explain about quad-copter. circuit diagram also clearly present in this slide. expect all this things applications are describe here
Dr George Grozev presented a seminar titled "Potential use of drones for infrastructure inspection and survey: as part of the SMART Seminar Series on 27th March 2018.
More information: http://www.uoweis.co/event/potential-use-of-drones-for-infrastructure-inspection-and-survey/
Keep updated with future events: http://www.uoweis.co/events/category/smart-infrastructure-facility/
This document presents a summary of control techniques for quadrotors, including dynamic inversion, backstepping, and sliding mode control. It provides the dynamic model and state space model of a quadrotor. It discusses challenges in controlling quadrotors due to underactuation, nonlinearity, and coupling. It then describes how dynamic inversion, backstepping, and sliding mode control can address these challenges. Finally, it provides simulation results comparing the position and attitude responses of the quadrotor and control inputs with and without disturbances using these control techniques.
How does a Quadrotor fly? A journey from physics, mathematics, control system...Corrado Santoro
The document discusses how a quadrotor flies through physics, mathematics, control systems, and computer science. It explains that a quadrotor uses four propellers to generate thrust forces for lift and control. The speeds of the four propellers can be varied independently to control the quadrotor's roll, pitch, yaw rates and total thrust based on equations. However, real quadrotors face challenges due to differences in hardware. Control systems using feedback from sensors are needed to achieve reliable control despite uncertainties.
Drone (Quadcopter) full project report by Er. ASHWANI DIXITAshwani Dixit
This is a Fully completed Mechanical Engineering Final Year Project Report of Drone ( Quadcopter ) by Ashwani Dixit from MITM, Ujjain .
for word file of that report you can contact me - ashwanidixit49@gmail.com
Thankyou !!!!!!!!!
This document is a project report on the design and fabrication of a quadcopter. It was submitted by two students in partial fulfillment of their Bachelor of Technology degree in Mechanical Engineering. The report covers modeling the quadcopter in Pro-E software, selecting hardware components, developing control software, assembly, and flight testing. While hardware issues prevented full testing, the students were able to complete a hands-free hover demonstration and other tests showing the quadcopter's stability and potential 6-8 minute flight time.
Sonar based obstacle avoidance for UAVsgaurav dhir
Basic Obstacle Avoidance Capability using SONAR sensor was incorporated within an Unmanned Aerial Vehicle. The SONAR sensor was mounted on Raspberry Pi and the system was interfaced with the Pixhawk Flight Controller. MAVLINK protocol was used to ensure communication between Pixhawk and RPI allowing Pixhawk to take necessary control action.
This power point presentation summarizes the key components and functioning of a quadcopter drone. It describes the main parts which include four brushless motors, electronic speed controllers, a CC3D flight controller, Li-Po battery, power distribution board, and transmitter and receiver. The presentation discusses the advantages of quadcopters like stability, flexibility for indoor use, and ability to enter any environment without a pilot. Applications mentioned include use in agriculture, delivery services, military, videography, and civil purposes. Disadvantages include hardware complexity, short flight duration, and need for frequent battery replacement.
A quadcopter is a multirotor helicopter that is lifted and propelled by four rotors. It uses two pairs of counter-rotating propellers to generate lift and control movement. The key components of a quadcopter include the frame, four propellers, four electric motors, an electronic speed controller, batteries, a flight controller, and a radio transmitter and receiver. Quadcopters have applications in areas like 3D mapping, search and rescue operations, farming, environmental monitoring, and event photography. Their advantages include smaller rotors, reduced damage risk, easier construction, and lower costs compared to helicopters. However, their limitations include restricted battery life and potential vulnerability if hacked or taken over.
This document provides an overview of a quadcopter project. It introduces the project supervisor and describes the structure, design, control theory, and sensors of a quadcopter. It explains that quadcopters use four motors and propellers for lift and are controlled electronically rather than with complex mechanical systems like helicopters. It also discusses the PID control algorithm used to stabilize the quadcopter based on sensor feedback and error calculations. Sensor fusion is described as important for combining gyroscope and accelerometer readings to reduce noise and drift in the orientation estimates.
This document describes a mini project on a flying wing mechanism conducted by students at Vishwakarma Institute of Technology in Pune, India. It provides an introduction to ornithopters, which are aircraft that fly by flapping wings in imitation of birds. The project involved designing a mechanism to power flapping wings based on research into wing design principles and prior ornithopter projects from around the world. The goal was to apply knowledge gained from studying flapping flight aerodynamics and biomimicry of bird wing motions.
This document provides information about reusable launch vehicles, specifically SpaceX's Falcon 9 Reusable (F9R) launch vehicle. It discusses SpaceX's goals of making spaceflight routine and affordable. The document describes the Falcon 9 family of launch vehicles and provides details on the technical specifications and design of the Falcon 9R first and second stages. It also discusses the payload fairing and Dragon spacecraft. Applications and advantages of reusable launch vehicles are presented.
Kinematic analysis of aerodynamics modelpavan chauda
The document discusses kinematics analysis of an aerodynamic model for a quadcopter UAV. It introduces the increasing importance of UAVs and the need to research their kinematic characteristics. The analysis includes simulating flight tracks, developing guidelines and validation techniques through simulation. The aerodynamic module calculates thrust and torque from propeller deflection and feeds results into the flight dynamics equation module to model the quadcopter's kinematics.
1) The document discusses the fabrication of a drone, or quadcopter, which uses four rotors - two rotating clockwise and two counter-clockwise - to provide lift and propulsion. Control is achieved by varying the RPM of the rotors using a microcontroller.
2) A quadcopter operates on the principle of aviation, with electronics and mechanics allowing the four motors to change speed and direction to move the device forward, backward, left, right, up, and down based on transmitted signals from a remote controller.
3) The group fabricated a basic quadcopter with a metal frame, 6V battery, range of 50 feet, and weight of 1kg to gain experience with soldering,
This document describes the design and development of a hybrid UAV conducted by students at Brunel University. It discusses the various design stages undertaken, from conceptual design to testing of the final aircraft. Key aspects covered include preliminary sizing, aerodynamic analysis, structural design, propulsion selection, and avionics integration. Component testing such as of motors and structural elements was performed. The aircraft was then built and underwent ground and flight testing. Lessons learned are discussed to improve future hybrid UAV designs.
Inspection requirements for helicopter after incidents 1Bai Haqi
The document discusses inspection requirements for helicopters after various incidents such as hard landings, main and tail rotor strikes, transmission over-torque, and sudden main rotor stoppage. It provides details on specific areas to inspect, such as the landing gear, fuselage, engine, rotor blades, and transmission. Inspections include checking for cracks, distortions, leaks, and security of components. The level of inspection varies depending on the severity of the incident and component damage.
The document discusses reusable launch vehicles (RLVs) which aim to reduce the high costs of space launches by recovering and reusing rocket components. Currently, 40% of launch costs come from building non-reusable rockets. RLVs could reduce costs by a factor of 100 by recovering first stage boosters, similar to how SpaceX has landed its Falcon 9 rocket boosters. The document outlines the history of rockets, compares conventional expendable launch vehicles to reusable ones, and describes the key components and launch process of an RLV. It discusses challenges of RLVs like heat stresses during flight and challenges of vertical landing, but notes the technology is feasible and could make space travel more routine and affordable.
The document describes a project to design and fabricate a micro air vehicle (MAV) under the guidance of Prof. Syed Basith Muzammil. A group of 4 students - Shazaan Sayeed, Suman Mandal, Sushil Kumar, and Md Idris - are working on the project at HKBK College of Engineering. The MAV will have the ability to hover and be equipped with a camera and sensors to detect leaked gas and explosives. It will use basic materials like a frame, motors, propellers, microcontroller, battery, and transmitter/receiver. The working principle involves the microcontroller receiving signals from the transmitter to control the electronic speed controllers and motor speeds to adjust the altitude
This document describes the design and components of a quadcopter built by students for their diploma in mechatronics. The quadcopter uses four brushless DC motors powered by Lithium Polymer batteries to generate lift through four propellers. Key components include an electronic speed controller to control each motor, a flight control board that processes signals from the transmitter to stabilize and maneuver the quadcopter, and a transmitter-receiver system to send pilot commands. The document outlines the working principle, block diagram, function of each module, advantages, limitations, and applications of the quadcopter.
In aviation sector, organisations which want to produce product, part or appliances related to the aircraft such as engine or tail must have this approval. In this document, requirements for applicant and responsibilities for authorities have explained in details.
This document provides information about a quadcopter drone project completed by four students. It includes a certificate of completion, table of contents, and chapters covering the quadcopter materials and design. The main components discussed are the frame, KK2.1.5 circuit board, DC brushless motors, electronic speed controls, Li-Po battery, remote control, and receiver. The document provides details on the purpose and functioning of these various components that make up the quadcopter.
Thrust vector controlled (tcv) rocket modelling using lqr controllerMrinal Harsh
Design and state space modelling of a TCV Rocket using Simulink and Matlab with Gimbal Angle, Angular Velocity and Drift experienced as our control parameters.
- Using LQR control to stabilize the model.
- Support why LQR is used over PID control for TCV Modelling.
this is about quad-copter component and how we select best for us in this did not analysis about aerodynamics theory and momentum equation. but all basic things are completely explain about quad-copter. circuit diagram also clearly present in this slide. expect all this things applications are describe here
Dr George Grozev presented a seminar titled "Potential use of drones for infrastructure inspection and survey: as part of the SMART Seminar Series on 27th March 2018.
More information: http://www.uoweis.co/event/potential-use-of-drones-for-infrastructure-inspection-and-survey/
Keep updated with future events: http://www.uoweis.co/events/category/smart-infrastructure-facility/
This document presents a summary of control techniques for quadrotors, including dynamic inversion, backstepping, and sliding mode control. It provides the dynamic model and state space model of a quadrotor. It discusses challenges in controlling quadrotors due to underactuation, nonlinearity, and coupling. It then describes how dynamic inversion, backstepping, and sliding mode control can address these challenges. Finally, it provides simulation results comparing the position and attitude responses of the quadrotor and control inputs with and without disturbances using these control techniques.
How does a Quadrotor fly? A journey from physics, mathematics, control system...Corrado Santoro
The document discusses how a quadrotor flies through physics, mathematics, control systems, and computer science. It explains that a quadrotor uses four propellers to generate thrust forces for lift and control. The speeds of the four propellers can be varied independently to control the quadrotor's roll, pitch, yaw rates and total thrust based on equations. However, real quadrotors face challenges due to differences in hardware. Control systems using feedback from sensors are needed to achieve reliable control despite uncertainties.
Design and Implementation of a Quadrotor HelicopterHicham Berkouk
This is a project on building a quadrotor from scratch. From the history; physics and modeling to system hardware and software. The control algorithm is built arround a PID loop. For more details, please feel free to comment or send me an email to: hicham.berkouk@outlook.com
Synthesis of position control of quadrotorRadoslav Bukov
This document summarizes the position control system of a quadrotor drone. It describes the dynamic and kinematic models used as well as the structural block diagram of the control system. The control system generates desired angles to balance position errors and achieves three-axis movement control through linearization feedback. Simulation experiments showed the quadrotor could accurately position itself at different points in space and land with smooth, high quality transitions while keeping currents and voltages within safe levels.
This document provides an overview of embedded systems with the following key points:
1. Embedded systems are computer systems that are part of larger machines or devices to control or monitor them. They are designed to perform specific tasks, often in real-time.
2. Examples of embedded systems include network printers, mobile phones, satellites, washing machines, and more.
3. Embedded system design involves selecting hardware components like the CPU and memory, designing the hardware and software, testing and debugging, and loading the software onto the system. Real-time operating systems are often used to facilitate software development.
The document is about quadrotors and their history and uses. It provides an introduction and table of contents before sections on quadrotors, their history dating back to the 1920s, and their various uses today such as for hobbies, law enforcement, aerial photography, and industrial/inspection purposes. The document concludes by comparing quadrotors to RC helicopters.
Quadrotor, as the name suggests has four propellers attached. This takes care of the counter rotation effect that helicopters have to deal with. This Quadrotor was designed as part of my second year summer project.
The document summarizes several smart home and consumer electronic products:
- VOCCA is a voice-activated light bulb adapter that does not require WiFi, setup, or installation. Users can simply screw in a bulb and control lights with voice commands.
- Lightors are rechargeable batteries that can be reused over 500 times using micro-USB charging. They were recently launched in two sizes.
- Flic is a small wireless button that users can stick anywhere to control devices like lights, music playback, cameras, and apps from their phone with clicks or presses.
- Aviador Tracking is a water resistant silicon wallet with 8GB storage and tracking technology using NFC chips.
- The Touch Board allows
This document is the M.Sc. thesis of Abdulkerim Fatih Şenkul from Istanbul Technical University submitted in January 2015. The thesis proposes adaptive control of a novel tilt-roll rotor quadrotor UAV. Chapter 1 introduces the purpose and provides a literature review on previous tilt-rotor aircraft designs. Chapter 2 models the dynamics of a regular quadrotor, tilt-roll rotor quadrotor, and an adaptive version. Chapter 3 discusses control approaches for the different quadrotor configurations. Chapter 4 presents simulation results comparing the models. The thesis also includes chapters on the system design, experiments conducted, and conclusions.
QUADCOPTER
The goal of presentation was to acquaint you to a semi-autonomous quadcopter capable of self-sustained flight via wireless communications while utilizing a microcontroller. The quadcopter was designed to be small enough so that costs would be minimized. which is why small motors and propellers are being used. While a PIC microcontroller, accelerometer, and gyroscope are communicating between each other to maintain control.
The scheduler program arranges the following tasks: controller input, sensor data received from the accelerometer, Gyroscope, and Magnetometer. The wireless transceivers use SPI to send control signals to the microcontroller on the quadcopter from the handheld controller unit. The accelerometer/gyroscope and magnetometer both use I2C to send the amount of acceleration, stabilization, and the direction vector. The motors are being controlled by the PWM ports on the PIC microcontroller. To achieve flight, two of the motors must apply downward force and the other two motors have to apply an upward force. To turn, one pair (left or right side) of motors slows down to turn the copter. To ascend, all motors will increase in speed, and will all decrease in order to descend. To move forward, the front two motors will decrease while the back two motors will increase. And vice versa in order to move in a backwards direction. We are also working on integrating our own Graphical User Interface (GUI) which will allow us to have direct control over all systems.
The document describes the anatomy and dynamics of a quadrotor unmanned aerial vehicle (UAV). It discusses the first manned quadrotor flight in 1907 and advantages of quadrotors such as vertical take-off and landing. Key components of quadrotor structure and motion including motors, frames of reference, state variables, and kinematic and dynamic equations are presented. Thrust forces from each motor and gravity are expressed as components of the total force acting on the quadrotor.
The document describes the I2C (Inter-Integrated Circuit) bus interface. I2C is a digital communication protocol used to connect integrated circuits on the same circuit board. It uses just two bidirectional open-drain lines - serial data (SDA) and serial clock (SCL). Devices on the I2C bus can operate as either a master or slave. The master device initiates and controls data transfers. Slave devices respond to the master's commands. The document outlines the electrical considerations, addressing schemes, data transfer protocols, and how to implement I2C on a PIC18F25K22 microcontroller.
The document discusses the benefits of exercise for both physical and mental health. Regular exercise can improve cardiovascular health, reduce symptoms of depression and anxiety, enhance mood, and reduce stress levels. Staying physically active is an important part of an overall healthy lifestyle.
The document discusses how Internet of Things (IoT) technologies can help address challenges from rapid urbanization and the growth of smart cities. It outlines an IEEE Smart Cities Initiative to [1] create a global network of cities to share knowledge on managing urbanization, [2] assist municipalities in using technology appropriately, and [3] develop standards to support areas like intelligent transportation, smart grid, eHealth, and augmented reality. The initiative aims to build collaborations and provide resources like workshops, whitepapers, and online communities to guide cities developing smart infrastructure.
Modeling and Roll, Pitch and Yaw Simulation of Quadrotor.Oka Danil
In this paper, we developed a prototype of a quadrotor and proposes how to model and conduct simulations to investigate the effect of roll, pitch and yaw as the inputs to the outputs of φ, θ and ψ angle in quadrotor. The Euler-Newton formalism is used to model the dynamic system. The simulation results show that, the majority of φ angle is
determined by the roll, most of the θ angle is determined by the pitch, and the ψ angle is determined by the yaw.
Unmanned air vehicles (UAVs), commonly known as drones, can be fixed wing, helicopter-style, or quadrotor helicopters lifted and propelled by four rotors. Quadrotors have benefits like reliability, compactness, and low maintenance, but limited payload and flight time. They require less design complexity than fixed wing vehicles and do not need mechanical linkages like helicopters. Quadrotors can be controlled individually by varying each rotor's speed to control roll, pitch, lift, and yaw. They have many applications including military, disaster response, science, and commercial uses such as agriculture and cargo transport.
Internet of Things (IoT) & Industrial Internet of Things (I²oT) is bringing changes to the value chain and impacting Industrial Automation organizations to make a smart and sustainable world which is connected using technologies like IPv6, Cloud Computing, Fog Computing, Big Data and Big Data Analytics. The main focus is how these responsible organizations are making their business plan for IoT for saving time, money and supporting business intelligence efforts to have quality control, sustainable and green practices, supply chain traceability and overall supply chain efficiency.
The Internet of Things (IOT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.
This IOT makes a new environment for living people. Using this IOT we can manage huge amount of electricity and using this IOT we can secure our home and environment without any authorized users. I hope that this IOT is boon for all over the world.The Internet of Things also includes people – this is particularly important in areas such as home automation, where humans can control the environment via mobile applications. Through services, such as cloud services, massive volumes of data (“big data”) are being processed and turned into valuable information.
Internet of Things (IoT) has a great potential for diverse applications. IoT applications can provide interesting and useful applications in various fields such as agriculture, aviation, education and more
The document describes an Echo State Fitted-Q Iteration (ESFQ) algorithm to learn control systems with delays. ESFQ is a batch reinforcement learning method that uses echo state networks for function approximation to estimate Q-values while preserving the Markov property by holding state histories. Experimental results on simulated benchmarks show ESFQ improves performance over standard tapped delay-line algorithms and that nonlinear readout layers help learn complex dynamics better than linear layers. The goal is to develop an effective and efficient reinforcement learning approach for learning delayed control systems without knowing their dynamics.
This pracitice-based education is designed for participants, who are involved in engineering, commissioning or optimization of process technology plants.
The understanding of regulation (cybernetics) applies to all areas of our society. Analytical thinking is encouraged by working at individually adaptable conrol loops. Therefore this workshop is also recommendable for non-technical areas.
With the help of sample exercises, participants learn to understand the dynamics of simple control loops and to solve simple control tasks without using higher mathematics.
This thesis presents an approach for modeling, synthesizing controllers for, and implementing control of hybrid systems. The key contributions are:
1) A switched continuous model (SCM) framework that models hybrid systems as a discrete switching between continuous system models, enabling discrete abstraction of continuous dynamics.
2) A method for synthesizing controllers for SCMs based on safety and performance specifications, using techniques from discrete event system supervisory control.
3) An algorithm and software for online, model-based control of hybrid systems within finite horizons to manage complexity.
Innovative Payloads for Small Unmanned Aerial System-Based PersonAustin Jensen
This document describes Austin Jensen's doctoral dissertation titled "Innovative Payloads for Small Unmanned Aerial System-Based Personal Remote Sensing and Applications". The dissertation focuses on using small unmanned aerial systems (UAS) as remote sensing platforms to collect aerial imagery and track radio-tagged fish. It presents novel methods for calibrating imagery from commercial cameras on UAS and estimating the location of radio-tagged fish using multiple UAS. The calibration methods allow imagery to be orthorectified and used to deliver actionable information to end users. Simulations evaluate the fish tracking methods and predict their real-world performance. The dissertation contributes to advancing UAS-based remote sensing for applications such as precision agriculture, vegetation mapping,
Real-time and high-speed vibrissae monitoring with dynamic vision sensors and...Aryan Esfandiari
This thesis shows that spiked-based neuromorphic sensors, such as dynamic vision sensors, open new possibilities for neuroscience instrumentation. Under specific circumstances, this can be an outstanding competitor to conventional technologies, making up for their disadvantages and rectifying current challenges during physical experiments. Such technology is more convenient while maintaining a desired level of accuracy and reliability.
This thesis discusses and considers algorithms through which multiple approaches to noise reduction are represented. Moreover, an Artificial Neural Network, as a classificatory, and the Kalman filter, as an estimator, are compared to determine the best options for a whisker movement monitoring and tracking algorithm. In this case, a modular weighted prediction-correction algorithm is generated with a noticeable level of accuracy and the ability to retain its reliability in noisy and unsuitable
experimental conditions.
This thesis discusses several conventional embedded system platforms for further implementations. All Programmable System-On-Chip is concluded as the most optimal solution for further research in this field. The platform shows noticeable capabilities for more complex dynamic vision sensors expected in the future, along with comprehensive algorithms. This thesis contributes necessary implementations for embedded system platforms with state-of-the-art technologies, such as System-On-Chip components including field-programmable gate array and microcontrollers. These can be used for further research and developments on asynchronous spiked-based neuromorphic sensors.
This document describes the design of a real-time standalone system for controlling load resonant inverters using a TMS320F28335 digital signal processor (DSP). It discusses implementing a digital control algorithm optimized in embedded C language. The algorithm is experimentally evaluated on a load resonant inverter prototype for an induction heating system. Sections cover literature review on induction heating and switched mode power supplies, the control algorithm mathematical model and software model, implementation details including hardware/software components and experimental setups, simulation and real-time results, and conclusions.
This document is a dissertation submitted by Spiros N. Agathos to the University of Ioannina in partial fulfillment of the requirements for a Doctor of Philosophy degree. The dissertation describes work on efficient OpenMP runtime support for general-purpose and embedded multi-core platforms. It includes contributions related to OpenMP tasking, transforming nested workshares into tasks, and runtime support for multicore embedded accelerators.
This document is a dissertation submitted by Spiros N. Agathos to the University of Ioannina in partial fulfillment of the requirements for a Doctor of Philosophy degree. The dissertation describes work on efficient OpenMP runtime support for general-purpose and embedded multi-core platforms. It presents contributions in the areas of OpenMP tasking, transforming nested workshares into tasks, runtime support for multicore embedded accelerators, OpenMP 4 support for multiple devices, and a compiler-assisted runtime. Evaluation results demonstrating performance improvements are also discussed.
This document describes a master's thesis that presents a control method for a teleoperating robotic arm subject to time delays. The thesis:
1) Models a master-slave robotic system for telesurgery, with the robotic arm as the slave and a haptic device as the master.
2) Proposes a neural network-based adaptive backstepping controller to minimize the effects of communication time delays.
3) Performs simulations of the controller on 1-DOF and 2-DOF robotic manipulators, showing improved performance over direct force control.
This thesis proposes a novel way to introduce self-configuration and self-optimization autonomic characteristics to algorithmic skeletons using event-driven programming techniques. By leveraging event-driven programming, the approach is not tied to a specific application architecture and allows for structural changes at runtime. It also enables estimates of future work to be calculated on-the-fly rather than relying on pre-calculated estimates. The thesis focuses on guaranteeing a given execution time for a skeleton by optimizing the number of threads. It contributes a novel event-based separation of concerns for skeletons and evaluates strategies for estimating execution times and parallelism levels.
This thesis proposes a novel way to introduce self-configuration and self-optimization autonomic characteristics to algorithmic skeletons using event-driven programming techniques. By leveraging events, the approach is not tied to a specific application architecture and allows for structural changes at runtime. It focuses on guaranteeing execution time for skeletons by optimizing thread allocation. Other contributions include a novel separation of concerns for skeletons using events, and evaluating estimation strategies for predicting future work.
This document presents a thesis for developing an electrophysiological experiment control system using an Arduino microcontroller. The thesis covers the background needed to understand electrophysiological techniques like voltage clamp and current clamp. It also discusses commercially available experiment control systems and introduces the Arduino platform. The objectives are to create a flexible, affordable alternative for experiment control. The system implementation is divided into a PC application, Arduino program, and electrical components. The thesis aims to provide an overall understanding of the project.
This thesis presents methods to extend the operational lifetime of inflatable soft robots when leaks occur in either the structural chambers or actuation chambers. For structural leaks, a control algorithm is developed to detect the leak and then lower the target pressures as needed to slow the leak rate while maintaining a specified level of accuracy. Testing on an inflatable robot arm showed the algorithm could decrease long-term error by 50% compared to no control and prolong operation. For actuator leaks, lowering the target pressure for the leaking joint is shown to trade off leak rate and performance. Tests on inflatable robots demonstrated the potential for up to a 300% increase in operation time with minimal increased error. The work aims to preserve limited compressed air resources and extend operation
Condition monitoring for track circuits: A multiple-model approach (MSc. Thesis)Wouter Verbeek
This thesis presents a condition monitoring approach for track circuits using a multiple-model framework. Track circuits are devices that detect train presence on sections of track. The approach classifies faults in track circuits and predicts their remaining useful life.
A multiple-model approach is used that treats the track circuit as a hybrid system that can be in different operating modes. Models are developed for each fault based on system knowledge and data. An interacting multiple-model algorithm performs state estimation to classify faults.
A case study on a small railway network shows the approach classifies faults with 99% accuracy, outperforming a neural network. It also predicts remaining useful life with an average accuracy of 81% while quantifying prediction uncertainty. The approach
This document is a thesis submitted for a Master of Science degree in aerospace engineering. It addresses the problem of autonomous landing of an unmanned aerial vehicle named AE-2. The thesis includes mathematical modeling of AE-2 dynamics, control design using nonlinear dynamic inversion, path planning consisting of approach, glideslope and flare phases, and state estimation using an extended Kalman filter. Simulation results demonstrate the designed guidance and control achieving a successful autonomous landing in the presence of wind disturbances.
This master's thesis examines dynamic programming control for energy management in smart homes with photovoltaic systems and battery storage. It first provides background on photovoltaic generation and feed-in tariffs in Germany. It then formulates the energy management problem as a Markov decision process and explores various control approaches including rule-based control, linear programming, dynamic programming, and approximate dynamic programming. The thesis evaluates these methods using real solar generation and electricity price data. The goal is to optimize battery charging and discharging to minimize energy costs while satisfying household demand.
This document describes a thesis submitted by Vishal K Gawade and Aayush Garg for their Bachelor's degree. The thesis focuses on modeling and simulation of induction motors and wind turbines. It provides background on vector control of induction motors and describes the mathematical modeling of induction motors. It also covers topics related to wind turbine design such as blade element momentum theory and pitch control. The document includes MATLAB code examples and Simulink models developed as part of the thesis work.
This thesis derives the dynamic model of an industrial robot manipulator using the Newton-Euler formulation. The manipulator studied is an ABB IRB 140 with 6 degrees of freedom recently acquired by NTNU. The objectives are to research the Newton-Euler method, derive the dynamic model of the IRB 140 in an automated way, simulate the model in open and closed loop, and compare results to a model derived using Euler-Lagrange formulation. The thesis contributes an automated framework for applying Newton-Euler formulation to any serial manipulator. Simulations show the open loop system is unstable but achieves stability with PD control and gravity compensation. Computation time is significantly less for Newton-Euler compared to treating the full system with Euler-
This document is a thesis submitted by Sahar Alinia in partial fulfillment of the requirements for a Master of Mechanical Engineering degree from Concordia University in April 2016. The thesis focuses on real time pose control of a 6-RSS parallel robot. It presents the kinematic modeling of the parallel robot, including inverse and forward kinematics. It also derives linear and nonlinear dynamic models of the DC motors actuating the robot. The motor parameters are identified using genetic algorithm and multi-objective optimization. Finally, it discusses using PID control to control the pose of the end effector based on feedback from a photogrammetry sensor, and presents experimental results validating the controller.
Similar to 2009 development and implementation of a control system for a quadrotor uav (20)
DynamoDB to ScyllaDB: Technical Comparison and the Path to SuccessScyllaDB
What can you expect when migrating from DynamoDB to ScyllaDB? This session provides a jumpstart based on what we’ve learned from working with your peers across hundreds of use cases. Discover how ScyllaDB’s architecture, capabilities, and performance compares to DynamoDB’s. Then, hear about your DynamoDB to ScyllaDB migration options and practical strategies for success, including our top do’s and don’ts.
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
The Strategy Behind ReversingLabs’ Massive Key-Value MigrationScyllaDB
ReversingLabs recently completed the largest migration in their history: migrating more than 300 TB of data, more than 400 services, and data models from their internally-developed key-value database to ScyllaDB seamlessly, and with ZERO downtime. Services using multiple tables — reading, writing, and deleting data, and even using transactions — needed to go through a fast and seamless switch. So how did they pull it off? Martina shares their strategy, including service migration, data modeling changes, the actual data migration, and how they addressed distributed locking.
Test Management as Chapter 5 of ISTQB Foundation. Topics covered are Test Organization, Test Planning and Estimation, Test Monitoring and Control, Test Execution Schedule, Test Strategy, Risk Management, Defect Management
Enterprise Knowledge’s Joe Hilger, COO, and Sara Nash, Principal Consultant, presented “Building a Semantic Layer of your Data Platform” at Data Summit Workshop on May 7th, 2024 in Boston, Massachusetts.
This presentation delved into the importance of the semantic layer and detailed four real-world applications. Hilger and Nash explored how a robust semantic layer architecture optimizes user journeys across diverse organizational needs, including data consistency and usability, search and discovery, reporting and insights, and data modernization. Practical use cases explore a variety of industries such as biotechnology, financial services, and global retail.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
EverHost AI Review: Empowering Websites with Limitless Possibilities through ...SOFTTECHHUB
The success of an online business hinges on the performance and reliability of its website. As more and more entrepreneurs and small businesses venture into the virtual realm, the need for a robust and cost-effective hosting solution has become paramount. Enter EverHost AI, a revolutionary hosting platform that harnesses the power of "AMD EPYC™ CPUs" technology to provide a seamless and unparalleled web hosting experience.
The document discusses fundamentals of software testing including definitions of testing, why testing is necessary, seven testing principles, and the test process. It describes the test process as consisting of test planning, monitoring and control, analysis, design, implementation, execution, and completion. It also outlines the typical work products created during each phase of the test process.
Database Management Myths for DevelopersJohn Sterrett
Myths, Mistakes, and Lessons learned about Managing SQL Server databases. We also focus on automating and validating your critical database management tasks.
Communications Mining Series - Zero to Hero - Session 2DianaGray10
This session is focused on setting up Project, Train Model and Refine Model in Communication Mining platform. We will understand data ingestion, various phases of Model training and best practices.
• Administration
• Manage Sources and Dataset
• Taxonomy
• Model Training
• Refining Models and using Validation
• Best practices
• Q/A
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfleebarnesutopia
So… you want to become a Test Automation Engineer (or hire and develop one)? While there’s quite a bit of information available about important technical and tool skills to master, there’s not enough discussion around the path to becoming an effective Test Automation Engineer that knows how to add VALUE. In my experience this had led to a proliferation of engineers who are proficient with tools and building frameworks but have skill and knowledge gaps, especially in software testing, that reduce the value they deliver with test automation.
In this talk, Lee will share his lessons learned from over 30 years of working with, and mentoring, hundreds of Test Automation Engineers. Whether you’re looking to get started in test automation or just want to improve your trade, this talk will give you a solid foundation and roadmap for ensuring your test automation efforts continuously add value. This talk is equally valuable for both aspiring Test Automation Engineers and those managing them! All attendees will take away a set of key foundational knowledge and a high-level learning path for leveling up test automation skills and ensuring they add value to their organizations.
CTO Insights: Steering a High-Stakes Database MigrationScyllaDB
In migrating a massive, business-critical database, the Chief Technology Officer's (CTO) perspective is crucial. This endeavor requires meticulous planning, risk assessment, and a structured approach to ensure minimal disruption and maximum data integrity during the transition. The CTO's role involves overseeing technical strategies, evaluating the impact on operations, ensuring data security, and coordinating with relevant teams to execute a seamless migration while mitigating potential risks. The focus is on maintaining continuity, optimising performance, and safeguarding the business's essential data throughout the migration process
CTO Insights: Steering a High-Stakes Database Migration
2009 development and implementation of a control system for a quadrotor uav
1. M.Sc. Mechatronics
Master Thesis
Development and Implementation of a
Control System for a quadrotor UAV
by
Yiting Wu
March 2009
1. Supervisor: Prof. Dr. –Ing Holger Voos
2. Supervisor: Prof. Dr. –Ing Konrad Wöllhaf
2.
3. Acknowledgments
I would like to thank my thesis supervisor, Prof. Dr. Voos, for his guidance and
support throughout the duration of this thesis.
Thank you to Achim Feucht for his active support in the lab and his experiences
of electrical engineering always helps me a lot to solve the problems.
Thank you to Martin Binswager for his help on explanation of his bachelor thesis
which made the work on electrical board and IMU sensor much easier.
Many thanks to my family and my girlfriend for their patience and understanding,
no matter where they were. In particular, my girlfriend who studied industrial
design for her bachelor helped me to design the figure of "course of events".
Last but not least, I would also like to thank my friends and fellow students for
the great time spent together in the lab. These experiences in the duration of my
thesis will be a great treasure for my memory of the study in University of
Applied Science Ravensburg-Weingarten in Germany.
4.
5. Declaration
Hereby I declare that this report has never been accepted in substance of any
degree. I have composed it myself as a result of my own investigations, except where
otherwise stated.
Weingarten, Germany, 31st March 2009 _______________________
Yiting Wu
6.
7. ABSTRACT
Development and Implementation
of a Control System for a quadrotor UAV
Yiting Wu
Master of Science
Department of Electrical and Computer Engineering
University of Applied Science Ravensburg-Weingarten
Small quadrotor UAVs are considered as one important type of vehicle for future
unmanned aerial missions. In spite of the four actuators of the system, the quadrotor
is a dynamically unstable system that has to be stabilized by a suitable control system.
During control systems design however, the nonlinear dynamics of the system has to
be taken into account. Based on an already existing simulation model in
Matlab/Simulink and already derived control concepts, a control system for a
quadrotor UAV has to be developed in this Master thesis and implemented in a test
bed. The test bed is a quadrotor vehicle which will be fixed on a spherical bearing in
order to allow test flights.
8. The first task herein comprises the final construction of the test platform and
the implementation of an inertial measurement unit (IMU, from Xsense) in the
vehicle. Furthermore, the quadrotor vehicle with implemented IMU is connected
with an ATMega2560™ microcontroller board. The microcontroller is able to
command the rotational speed of the rotors and to get the measurements of the
IMU as input signals. In the first step, the microcontroller board is placed outside of
the vehicle. With the help of the test platform, the main parameters of the quadrotor
vehicle are identified via some suitable experiments.
In a second step, three control algorithms are developed based upon the
Matlab™/Simulink™ simulation model and the already available control concepts.
The control algorithms then are optimized for implementation in the microcontroller
through C/C++ language, taking the limitations of the hardware into account. The
control algorithms are implemented in the test platform, evaluated and compared
against each other. Finally, the best control algorithm is determined.
9. Table of Contents
ABSTRACT ............................................................................................................................. Ⅳ
1 Introduction ............................................................................................. 1
1.1 Motivation .................................................................................................... 2
1.2 Course of events ........................................................................................... 3
1.3 Outline of Thesis ........................................................................................... 5
2 Hardware Design and Specification ............................................. 7
2.1 Hardware Architecture ................................................................................. 7
2.1.1 Real-Time Implementation .................................................................... 8
2.1.2 Microcontroller-on-Board Implementation ........................................ 11
2.1.3 Results ................................................................................................. 12
2.2 Quadrotor Structure ................................................................................... 14
2.3 Test Platform .............................................................................................. 15
2.4 IMU ............................................................................................................. 16
2.4.1 Sensor Communication Features ........................................................ 16
2.4.2 Co-ordinate systems ............................................................................ 17
2.4.3 Output Modes ..................................................................................... 18
2.5 Microcontroller Board ................................................................................ 19
2.6 Motor Controller ........................................................................................ 20
2.7 Motor and Propeller ................................................................................... 21
2.8 Identification of the constants ................................................................... 24
3 Software Preparation and Specification .................................. 25
3.1 IMU Initialization and Configuration .......................................................... 25
3.1.1 Message Structure ............................................................................... 25
3.1.2 Message usage in “imu_init()” ............................................................ 28
3.2 Pulse-Width Modulation (PWM) ................................................................ 29
3.3 USART Interrupt Routine ............................................................................ 31
4 Quadrotor Kinematics and Dynamics ............................................... 35
4.1 Quadrotor Kinematics ................................................................................ 35
4.2 Quadrotor Dynamics .................................................................................. 37
10. 5 Attitude Control Algorithm Design .................................................... 41
5.1 Nonlinear Control using Feedback-Linearization[1] .................................... 43
5.1.1 Control Algorithm Design .................................................................... 43
5.1.2 Control Algorithm Implementation ..................................................... 46
5.2 Simple PD Controller .................................................................................. 47
5.2.1 Controller Algorithm Design ................................................................ 47
5.2.2 Controller Algorithm Implementation ................................................ 49
5.3 PD controller Design with Partial Differential ............................................ 50
5.3.1 Controller Algorithm Implementation ................................................ 50
5.3.2 Controller Algorithm Implementation ................................................ 52
5.4 Motor Torque Design ................................................................................. 53
6 Simulation and Implementation Results .......................................... 55
6.1 Nonlinear Feedback Control....................................................................... 56
6.2 Simple PD Controller .................................................................................. 60
6.3 PD Controller with partial differential ........................................................ 63
7 Conclusion .................................................................................................. 67
7.1 Comparison of the control algorithms ....................................................... 67
7.2 Project Contributions ................................................................................. 69
7.3 Future Work................................................................................................ 70
List of Figures ....................................................................................................... 73
List of Diagrams.................................................................................................... 75
List of Tables ........................................................................................................ 76
Appendix .............................................................................................................. 76
Bibliography ......................................................................................................... 77
11. Chapter 1
Introduction
This thesis work focuses on the attitude control of a Vertical Take-Off and
Landing (VTOL) Unmanned Aerial Vehicle (UAV). The proposed structure is four-rotor
micro aerial robot, so called quadrotor.
The UAVs has seen a growing interest over the past decade because of the wide
area of applications, e.g. near-area surveillance, crop dusting, fire fighting and
exploration both in military and commercial in- and outdoor applications etc. The
quadrotor is one of the most preferred types of UAV which can apply in above
mentioned fields. The reason is the very easy construction and steering principle
using four rotors in a cross configuration against the traditional helicopter
construction using one main rotor and one tail rotor.
The first question one is asked about the quadrotor is how it stands out from
the traditional one. Hence a short introduction about the quadrotor construction and
steering principle is necessary. The quadrotor is a mechatronic system with four
rotors that provide the lift and control. With respect to hover, the main difference is
best explained by considering how the helicopters compensate from gyroscopic
torques. Traditional helicopters basically compensate from the torque generated by
the main rotor through the tail rotor. However the tail rotor compensation conducts
a sideways displacement of the helicopter, thus counter steering by tilting the main
rotor blades is necessary. In this way hover is an ongoing and complex process.
12. -2- 1. Introduction
The quadrotor has four propellers driven by four motors in a cross configuration.
While the front and the rear motor rotate counter-clockwise, the left and the right
motor rotate clockwise, as long as the rotors rotate at the same speed the gyroscopic
effects are nearly eliminated and the quadrotor essentially hovers. One additional
advantage of the quadrotor compared to a traditional helicopter is the simplified
rotor mechanics. By varying the speed of the single motors, the lift force can be
changed and vertical and/or lateral motion can be created, see 4.1 Quadrotor
Kinematics.
1.1 Motivation
Although the quadrotor has the advantages in easy mechanical construction
against the traditional helicopter, but there are still issues that prevent it from being
widely used in many of the suggested fields and application. First, the stabilizing
control and guidance of the quadrotor is a difficult task because of the nonlinear
dynamic behavior. Second, the small payload and the reduced processing power of
the onboard electronics are further limitations for any control system
implementation. This means, in order to implement more complex control task such
as landing and target tracking, more adequate sensors might be equipped on the
quadrotor which needs a fixed ground station for processing of all sensors related to
control of the micro-UAV.
Since the attitude stabilization could be considered the single most important
component of flight control for the quadrotor and this is also a precondition for
further implementation of other functionalities in the vehicle, the main goal of this
paper is to realize the attitude stabilization by using the Inertia Measurement Unit
13. 1. Introduction -3-
(IMU) sensor equipped on quadrotor. There are some contributions in the literature
that are concerned with control system design for quadrotor vehicles. Many of the
proposed control systems are based on a linearized model and conventional PID- or
state space control [5], [11], [15]while the other approaches apply SDRE or Nonlinear
Feedback control [1] , [18]. In this paper the Nonlinear Feedback control [18] is studied
and chosen to implement on the real quadrotor. In order to compare Nonlinear
Feedback control with the conventional PID control technique, a PID controller is
designed and implemented on the quadrotor. Finally according to the simulation and
test results, the features of these two kinds of control techniques are summarized.
1.2 Course of events
This section will briefly give insight into the intermediate goals and objectives on
the way towards achieving autonomous hovering flight. Figure 1.1 provides an
overview of the course of events during the whole thesis period.
At the beginning of September work started from reading the corresponding
literatures to provide a basic understanding of how the quadrotor operates, what
kind of physics are involved and essentially how to combine this knowledge into a
useful model for control purpose. The bold goal at that time was to be able to hover
at the end of the thesis. After that, a lot of time and efforts were put on get related
electronic unit ready to work, including the IMU configuration, motor controller
design, USART interrupt routine design and so on. At the end, two controllers were
implemented on the quadrotor and could control the attitude with small tolerances.
14. -4- 1. Introduction
Sep. 08 Oct. 08 Nov. 08 Dec. 08 Jan. 09 Feb. 09 Mar. 09 Apr. 09
Understanding the quadrotor project
Hardware architecture design
Get familiar with microcontroller programming
Oder the test platform
Work on LCD
Oder motor controller
IMU sensor configuration
Derived test platform and assembling
Motor controller design (PWM)
Christmas
Restructure the quardrotor
USART interrupt routine design
Control algorithm design &
implementation
Documentation
Prepare for
presentation
Figure 1.1 Timeline illustrating Course of Events
15. 1. Introduction -5-
1.3 Outline of Thesis
Chapter 2 deals with the hardware design for the quadrotor and hardware
specifications, which includes the following aspects, such as: mechanical structure
design of the quadrotor, test platform, electronic units, sensors and actuators.
Chapter 3 gives the information about software preparation and specification in
order to make the electronic board and IMU sensor ready to be used for later on the
control algorithm implementation. This chapter is mainly about the microcontroller
programming.
Chapter 4 provides the overall quadrotor model of kinematics and dynamics.
Chapter 5 focuses on the control algorithms design which are needed to
stabilize the quadrotor. The nonlinear control using feedback-linearization and PID
techniques are adopted in this work. Besides the design of the control algorithm, the
implementation of the different controller in C language is also explained in this
chapter.
Chapter 6 presents the simulation and experimental test results of the
controllers designed in chapter 5.
Chapter 7 summarizes the control effect of the controllers based on the test
results and also proposes solutions to improve performance of the attitude control.
16.
17. Chapter 2
Hardware Design and Specification
Introduction
This chapter is mainly about hardware design for the quadrotor and hardware
specifications, which includes the following aspects, such as: mechanical structure
design of the quadrotor, test platform, electronic units, sensors and actuators. At the
first beginning, the hardware architecture should be decided. Then according to the
selected hardware architecture, the necessary components should be selected and
prepared so the hardware architecture can be built. In order to make all the
components are ready to work, the specification must be done for all the
components which includes both the hardware and software sides.
2.1 Hardware Architecture
The hardware architecture shows the develop concept and describes the whole
project. Many different hardware architectures have been used for developing the
autonomous quadrotor, like real-time implementation includes hardware in the loop
or microcontroller-on-board solution which is not real time. The first task of the
project is that, based on the available electronic units and components and also the
develop software, one proper develop concept should be chosen which is possible to
be realized and implemented under the condition of the university lab.
18. -8- 2. Hardware Design and Specification
2.1.1 Real-Time Implementation
A system is a real-time system when it can support the execution of applications
with time constraints on that execution. Real-time control is a popular term for a
certain class of digital controllers. For effective digital control, it is critical that sample
time be constant. Real-time control achieves nearly constant sample time. The most
used real time application tools are Matlab Real-Time Workshop™ or xPC Target™. By
using these tools you can create a real-time application to let the system run while
synchronized to a real-time clock. This allows the system to control or interact with
an external system. Figure 2.1 shows the hardware architecture for the real-time
control concept which is developed by student group from AALBORG University as
their master thesis.[5]
As the Figure 2.1 shows it has been chosen to equip the quadrotor with sensors
as GPS for absolute position estimate, Magnetometer for information about heading
range finder to aid the GPS in getting an altitude estimate, IMU for the possibility to
propagate position and attitude. Besides all these sensors there are a number of
components related to manual flight and other safety feature. All together these
transducers are connected to the main CPU, some via a slave processor, the Robostix
board, which is built up around a 16 MHz Atemega128 processor. The Gumstix
features a 400 MHz Intel XScale processor of the type PXA255. It has 16 MB flash
memory and 64 MB of SDRAM. The embedded Linux system is running on this
Gumstix. Wifistix is a fully configurable wireless board, following the 802.11(g)
standard, which means that the bandwidth can be up to 54 Mb/s.
20. - 10 - 2. Hardware Design and Specification
First the Robostix is treated which has the main task of forwarding sensor data
to the Gumstix. The low level code is written in C and cross compiled to generate a
hex file which is loaded onto the Atmega128. Second the Gumstix software is treated
which is written in high level C code. This software is also cross compiled to fit the
system specific architecture of the Gumstix, namely the Intel Xscale PXA255
processor. Next the Development Host Machine software is described which is
basically defined by a Linux Soft Real Time Target application in Matlab™/Simlink™. It
is in this environment the controller will be derived and also implemented.[5] The
interaction between the components and the main process is illustrated in Figure
2.5.
Figure 2.5 The main process interacting with peripheral components [5]
21. 2. Hardware Design and Specification - 11 -
2.1.2 Microcontroller-on-Board Implementation
Microcontroller-on-Board implementation means that, the quadrotor is
equipped with all the necessary sensors and electronic control board which is built
with certain type of microcontroller, the task of the microcontroller is not only
receiving the data from the sensor and sending the signal to the actuator, but also
responsible for processing the sensor data and computing the needed value which
can achieve the desired control task. The control algorithm is first developed based
on the modeling and simulation of the physical system by using the simulation
software like Matlab™/Simulink™. Then the designed algorithm should be translated
into low level communication language like C/C++, which later can be built in HEX file
format and flashed on the microcontroller. Compare to the real time implementation
described above, this development can’t allow the quadrotor be controlled in real
time, which also means, during the flying of the quadrotor, there is no interaction
between the quadrotor system and the external system like pc.
This approach is most used on the model building. One we have in the lab is
named DraganFlyer, which is also commercially available, see www.rctoys.com.
Figure 2.6 DraganFlyer
22. - 12 - 2. Hardware Design and Specification
2.1.3 Results
As two kinds of developing concept described above, finally the microcontroller-
on-board implementation has been chosen.
The real time implementation described in 2.1.1 has the big advantage in rapid
prototyping, which means using the Real Time Workshop™ or xPC target™ of
Matlab™ to design the control algorithm on the host PC and then the c code is
automatic generated and programmed on the quadrotor microcontroller. It saves
developing time and makes the hardware in the loop test possible, in the other
words; the tuning of the controller parameters during the test of quadrotor can be
realized.
Although there are many advantages of real time implementation, but take into
the hardware aspect into account, it needs the interface board which is supported by
Matlab Real Time Workshop™ or xPC Target™ to communicate between
microcontroller and Host PC, this increases the cost of whole project and since we
don’t have these kind of Hardware, for ordering it takes also the time.
Considering the main goal of this thesis is only stabilize the quadrotor in order
to realize that the quadrotor can hovering in the air without any remote control, the
IMU sensor MTi from Xsens and the RN-Control Board 2560 have been selected for
the project, these hardware are available in our lab. Figure 2.7 shows the hardware
architecture used for this project, quadrotor attitude control.
23. 2. Hardware Design and Specification - 13 -
AVR ISP Programmer Normal PC
.HEX File Matlab™
AVR Simulation
Studio
Terminal
Gear Driven
DC Motor
ISP
ISP
Electric Atmega2560
Power
Control Board
LCD
PWM
Signal
Motor
Controller RS232-USB
Board USART3
RS232
USART0 USART3
RS232
USART1
USART1
IMU Hex Inverting
Schmitt Trigger
Figure 2.7 Hardware Architecture for Microcontroller-on-Board Implementation
24. - 14 - 2. Hardware Design and Specification
2.2 Quadrotor Structure
In this project the Draganflyer V Ti Pro has been chosen as the basic structure of
the quadrotor, since this quadrotor is available in the lab and there are many studies
and researches based on this Draganflyer. One of the original vertical risers of the
quadrotor was broken during the several test flies, in order to fix the quadrotor on
the test platform, the new structure is demanded.
Figure 2.8 (a) shows the original structure of the Draganflyer and Figure 2.8 (b)
is the new structure designed by myself. It’s heavier than the original one and it
needs the maximal rotational speed of the rotor to lift up. But for testing on the
platform the lower parts can be removed. For attitude control testing, only the row,
pitch and yaw angle of the quadrotor need to be controlled and to lift up the
quadrotor quickly is not so important, so this structure can fulfill the requirement.
(a) (b)
Figure 2.8 Mechanical Structure of Quadrotor
25. 2. Hardware Design and Specification - 15 -
2.3 Test Platform
The test platform is ordered from www.kdg-produkte.de. With this test platform
it is possible to fly and test the quadrotor inside the lab without any dangerousness
to people. The motion of the quadrotor is limited inside the test platform with the
range of 100 mm in X and Y and 11 mm in Z. The freedom of the roll and pitch angel
of the quadrotor is limited inside ±20 degrees through the sphere joint. Figure 2.9
shows the test platform and quadrotor fixed on the platform.
Figure 2.9 Test Platform
26. - 16 - 2. Hardware Design and Specification
2.4 IMU
IMU stands for inertial measurement unit. The IMU sensor MTi which is used in
this project is produced by Xsens™, more detailed product information can be found
on www.xsens.com. The MTi is a miniature, gyro-enhanced Attitude and Heading
Reference System (AHRS). Its internal low-power signal processor provides drift-free
3D orientation as well as calibrated 3D acceleration, 3D rate of turn (rate gyro) and
3D earth-magnetic field data. The MTi is an excellent measurement unit for
stabilization and control of cameras, robots, vehicles and other equipment. Figure
2.10 shows the overview of the MTi sensor.
Figure 2.10 MTi Overview
2.4.1 Sensor Communication Features
Interface through COM-object API, capable to access the MTi directly in
application software such as MATLAB™, LabVIEW™, Excel (Visual Basic).
→Please refer to the MT Software Development Kit Documentation[6] for
more information on this topic.
27. 2. Hardware Design and Specification - 17 -
Direct low-level communication with MTi (RS-232/422).
→Please refer to the MTi and MTx Low-level communication protocol
Documentation[6] for more information on this topic.
2.4.2 Co-ordinate systems
All calibrated sensor readings (accelerations, rate of turn, earth magnetic field)
are in the right handed Cartesian co-ordinate system as defined in Figure 2.11 (a).
This co-ordinate system is body-fixed to the quadrotor and is defined as the sensor
co-ordinate system.
(a) (b)
Figure 2.11 MTi with sensor-fixed co-ordinate system overlaid
A positive rotation is always „right-handed“, i.e. defined according to the right
hand rule (corkscrew rule). This means a positive rotation is defined as clockwise in
the direction of the axis of rotation, Figure 2.11 (b).
28. - 18 - 2. Hardware Design and Specification
2.4.3 Output Modes
Quaternion orientation output mode
Euler angles orientation output mode
Rotation Matrix orientation output mode
Calibrated data output mode
→Please refer to the MTi and MTx User Manual[6] for more information on
this topic.
29. 2. Hardware Design and Specification - 19 -
2.5 Microcontroller Board
The original electronic circuit board (Figure 2.12 (a)) of the commercial
DraganFlyer is equipped with Radio Frequency (RF) control module, three Piezo
electric gyro sensors in X, Y and Z direction which are used for stabilization, four
infrared sensors which are used for thermal intelligence to maintain the altitude.
→Please refer to the df5ti-manual[6] for more information on this topic.
(a) (b)
Figure 2.12 Electronic circuit board
Since there is no interface between the microcontroller and PC, the
microcontroller cannot be programmed by ourselves. So it is necessary to remove
the original board and develop our own one. Thanks to Martin Binswanger who has
developed one board for his bachelor project, this board is also competent for my
quadrotor project. Thus my quadrotor project is based on Martin’s electronic board.
The board is shown in Figure 2.12 (b).
30. - 20 - 2. Hardware Design and Specification
2.6 Motor Controller
The functions of the motor controller are that, a). give the power supply to the
motors; b). amplify the motor speed control signal, here is PWM signal. Since the
motor controller give the power supply to the motor, so the maximal load current
should be taken into account. As from the measurement result, when the rotor
rotates on full speed, the current in the wire is 2.5 A, so the maximal load current of
the motor controller for each motor should bigger than 2.5 A. After searching on the
market, finally the motor controller BTS 621 L1 from Siemens[10] has been chosen,
whose maximal Load current (each) is 4.4 A. Then the motor controller board has
been made with four motor controllers, where one controller controls only one
motor. Figure 2.13 shows the motor controller board.
Figure 2.13 Motor controller Board
31. 2. Hardware Design and Specification - 21 -
2.7 Motor and Propeller
The quadrotor is equipped with four DC motors RC-280SA-2865 produced by
MABUCHI™ and four nylon propellers driven by the motors via pinion gear. For
controlling the rotational speed of the propellers to stabilize the quadrotor, we need
to know the relationship between the rotational speed of the propeller and the lift
force generated by the propeller. Thus an experiment is designed for measuring the
generated lift force by the propeller on certain rotational speed. Figure 2.14 shows
the experiment structure.
(a) (b)
Figure 2.14 Motor Force Experiment
32. - 22 - 2. Hardware Design and Specification
The experiment is divided into two parts. First, as Figure 2.14 (a) shows, the
motor set is fixed on the assistant bracket which is pasted on the test platform of the
balance by the adhesive tape. Then I give the motor PWM signal from 0 to 250 with
incensement by 10 which corresponding to 0% and 100% of the maximal rotational
speed of the propeller, at the same time, the balance measures the weight generated
by the propeller (M1: gram) where negative value stands for the lift direction. Second,
as Figure 2.14 (b) shows, the assistant bracket is attached to the desk but not
directly on the test platform of the balance where there is a small gap between two
parts, so we can measure only the weight (M2: gram) of the blowing down air flow
generated by the propeller. Finally, the lift force (Fl: Newton) generated by the
propeller on certain rotational speed is:
������������ = ������2 − ������1 × ������ ÷ 1000 (2.1)
Where g=9.8 N/Kg, is the gravity of the earth. The diagram 2.1 shows the experiment
results in graphic and table 2.1 shows the values of the experiment results.
Motor lift Force Measurement
Lift Force (N)
2
1,8
1,6
1,4
1,2
1
0,8
0,6
0,4
0,2
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
0
Motor speed PWM
Front Motor 1 Back Motor 2 Left Motor 3 Right Motor 4
Diagram 2.1 Motor Lift Force Measurement
33. 2. Hardware Design and Specification - 23 -
Table 2.1 Motor Lift Force Measurement
Motor Speed Front Motor 1 Back Motor 2 Left Motor 3 Right Motor 4
PWM Lift Force (N) Lift Force (N) Lift Force (N) Lift Force (N)
0 0 0 0 0
10 0,015484 0,01078 0,006174 0,004606
20 0,11417 0,099862 0,106428 0,088592
30 0,223636 0,212856 0,220108 0,200018
40 0,33271 0,30527 0,323106 0,295372
50 0,43855 0,409934 0,426692 0,38612
60 0,52724 0,490588 0,512246 0,481376
70 0,61103 0,58604 0,610834 0,556248
80 0,706678 0,67228 0,681786 0,6468
90 0,801444 0,75166 0,762146 0,734314
100 0,872102 0,81634 0,829766 0,790566
110 0,968828 0,875826 0,897974 0,846132
120 1,041348 0,958244 0,943348 0,91728
130 1,108968 1,02312 1,034782 0,979706
140 1,175804 1,08976 1,087506 1,040368
150 1,241366 1,14366 1,145522 1,088976
160 1,322412 1,21324 1,2103 1,13631
170 1,382878 1,25734 1,263514 1,189818
180 1,442364 1,29262 1,3279 1,264102
190 1,5288 1,35632 1,366512 1,31908
200 1,580446 1,40532 1,438934 1,363278
210 1,62533 1,4455 1,49352 1,405712
220 1,689226 1,51018 1,524782 1,4553
230 1,742734 1,55036 1,573488 1,50528
240 1,808394 1,61014 1,626114 1,568
250 1,8571 1,67286 1,67286 1,618176
From the experiment results as showed in Diagram 2.1, we take the range of the
motor speed PWM signal from 100 to 250 and linearize this section, and then we can
get the equation of thrust force ������������ generated by rotor ������, ������ =1, 2, 3, 4:
������������ = ������������ + ������������ × ������������������������ ������������������������ ∈ (100,250) (2.2)
where ������������ and ������������ are the thrust force factors.
34. - 24 - 2. Hardware Design and Specification
2.8 Identification of the constants
To identify the constants of the quadrotor, there are different approaches to
estimate a constant. The experiments to determine the constants are described in
[11]. Since we use the same quadrotor mode (Figure 2.6) with the mode used in
paper [11], so the parameters determined in [11] can be used here too. Table 2.2
gives the quadrotor constants.
Table 2.2 quadrotor constants
Parameter Value Unit Remark
������ 9.81 ������/������ 2 gravity
������ 0.55 ������������ Mass of the quadrotor
������ 0.21 ������ Length of the lever
������������ = ������������ 3 2 Inertias around ������ and ������ axis
4.85 ∙ 10 ������������ ∙ ������
������������ 8.81 ∙ 103 ������������ ∙ ������2 Inertia around ������ axis
������������ 4.85 ∙ 103 ������������ ∙ ������2 Rotor Inertia
������ −6 2
2.92 ∙ 10 ������������ ∙ ������ Thrust factor
−7 2
������ 1.12 ∙ 10 ������������ ∙ ������ Drag factor
������1 0.309 N Thrust factor, Front Motor 1
������1 0.345 N Thrust factor, Back Motor 2
������1 0.25 N Thrust factor Left Motor 3
������1 0.34 N Thrust factor, Right Motor 4
������1 0.0063 N Thrust factor, Front Motor 1
������2 0.0053 N Thrust factor, Back Motor 2
������3 0.006 N Thrust factor, Left Motor 3
������4 0.005 N Thrust factor, Right Motor 4
35. Chapter 3
Software Preparation and Specification
3.1 IMU Initialization and Configuration
3.1.1 Message Structure
The communication protocol of the IMU with microcontroller, which is message
based, enables the user to change the configuration of the Mti and to retrieve the
data from the device. The used message has the form:
Figure 3.1 IMU Message Structure
Table 3.1 IMU Message Structure
Every message will be closed with one CHECHSUM data field. This field is used
for communication error-detection. If all message bytes excluding the preamble are
summed and the lower byte value of the result equals zero, the message is valid and
it may be processed.
36. - 26 - 3. Software Preparation and Specification
The checksum value of the message can be calculated by the following
equation.
������������������������������������������ = ������������������������������������������������������������(������������������ + ������������������ + ������������������ + ������������������������) + 1 (3.1)
For example, we have the message of set output mode:
PREAMBLE BID MID LEN DATA1 DATA2 CHECKSUM
0xFA 0xFF 0xD0 0x02 0x00 0x06 0x29
For example:
SUM=0xFF+0xD0+0x02+0x00+0x06=0x1D7=111010111(binary)
complement (SUM)=000101000
CHECKSUM=complement+1=101001(binary)=0x29
First of all, the initialization of the IMU was executed with a power-cycle or reset
of the microcontroller. Through the initialization of the IMU (subprogram:
imu_init(…)[12]) the properties of the data output are configured.
Baudrate 115k2
Sampling Rate 100Hz
Output Rate 100Hz
Output Mode Calibrated data--rate of turn and Euler angles
Table 3.2 The used configuration of IMU
After the initialization the IMU goes from Configuration State to the
Measurement State. The IMU sends 100 data packets pro second through RS232
interface to the microcontroller. Every data packet has the size of 29 Bytes.
37. 3. Software Preparation and Specification - 27 -
The measured data of rate of turn and Euler angles are coded in float number
which is 4 Bytes long. The received Bytes are checked first and then stored in one
Bufferarray(MH_rx_buffer[32])[12]. In Bufferarry the data are found again under
following index n:
n Data
0 Preamble
1 BID
2 MID
3 Length
4 to 7 4 Byte Float Number = Rate of turn around X-Axis
8 to 11 4 Byte Float Number = Rate of turn around Y-Axis
12 to 15 4 Byte Float Number = Rate of turn around Z-Axis
16 to 19 4 Byte Float Number = Euler Angle around X-Axis
20 to 23 4 Byte Float Number = Euler Angle around Y-Axis
24 to 27 4 Byte Float Number = Euler Angle around Z-Axis
Table 3.3 The Bufferarray for the IMU Data
In order to make the four single elements(each one is 1 byte) of the Bufferarrays
as one float number for the software which is 4 bytes, the subprogram “float
make_float(…)”[12] must be used.
38. - 28 - 3. Software Preparation and Specification
3.1.2 Message usage in “imu_init()”
IMU-Reset:
{0xfa, 0xff, 0x40, 0x00, 0xC1};
IMU-WakeUp:
{0xfa, 0xff, 0x3f, 0x00, 0xC2};
SetBaudrate: 115k2
{0xfa,0xff,0x18,0x01,0x02,0xE6 };
ReqBaudrate:
{0xfa,0xff,0x18,0x00,0xE9};
SetPeriod: sets 10 ms to the sampling period of the device used in Measurement
State
{0xfa,0xff,0x04,0x02,0x04,0x80,0x77};
SetSkipFactor: every MTData message is sent
{0xfa,0xff,0xD4,0x02,0x00,0x00,0x2B};
SetOutputMode: calibrated data output
{0xfa,0xff,0xD0,0x02,0x00,0x06,0x29};
SetOutputsettings: rate of turn and Euler angle enable, acceleration and
magnetometer disable
{0xfa,0xff,0xD2,0x04,0x00,0x00,0x00,0x54,0xD7};
SetExtOutputMode: Analog Output Mode disable
{0xfa,0xff,0x86,0x02,0x00,0x00,0x79};
GotoMeasurement: enter the Measurement State
{0xfa,0xff,0x10,0x00,0xF1};
→ Please refer to the MTi and MTx Low-level Communication[6] for more
information on this topic.
39. 3. Software Preparation and Specification - 29 -
3.2 Pulse-Width Modulation (PWM)
Pulse-width modulation (PWM) uses a square wave whose pulse width is
modulated resulting in the variation of the average value of the waveform. PWM is
often used to control the supply of the electrical power to the another device such as
speed control of electric motors. The microcontroller Atmega2560 we used for the
project can support 8-bit Timer/Counter0 with different kinds of PWM operation
modes. In my code I use 8 bit counter with Fast PWM mode. The PWM signal has the
changing range between 0 and 255 because of the 8 bit counter0.
The fast Pulse Width Modulation or fast PWM mode provides a high frequency
PWM waveform generation option. The fast PWM differs from the other PWM
option by its single-slope operation. The counter counts from BOTTOM to TOP then
restarts from BOTTOM. In fast PWM mode, the counter is incremented until the
counter value matches the TOP value. The counter is then cleared at the following
timer clock cycle. The timing diagram for the fast PWM mode is shown in Figure 3.2.
Figure 3.2 Fast PWM Mode, Timing Diagram
40. - 30 - 3. Software Preparation and Specification
The PWM frequency for the output can be calculated by the following equation:
������������������������ _������/������
������������������������������������������������ = (3.2)
������ ∙ (1 + 255)
������������������������ _������/������ represents clock frequency and the ������ variable represents the prescale
factor (1, 8, 32, 64,128, 256, or 1024). Our microcontroller equipped with a 16 MHz
crystal so ������������������������ _������/������ = 16,000,000 ������������ and the sampling frequency of IMU sensor is
100 Hz (Table 3.2), so the frequency of the control loop is also 100 Hz, then the PWM
frequency ������������������������������������������������ should be higher than 100 Hz so that each pulse can be fully
send inside one control loop. To fulfill this requirement the value of prescale ������ has
been chosen equal to 256. Now the PWM frequency is calculated using (3.2) :
16,000,000 ������������
������������������������������������������������ = = 244 ������������ (3.3)
256 ∙ (1 + 255)
The period of PWM signal is:
1
������������������������ = = 4.096 ������������ (3.4)
������������������������������������������������
→Please refer to the ATmega2560 datasheet[6] for more information on this topic.
The code can be found in “motor_init()” and “run_motor(motor,speed)”.
The function “run_motor(char motor,char speed)” send the PWM signals speed from
0 to 255 to the corresponding motor, the numbers of motor are: 1 to front rotor, 2 to
back rotor, 3 to left rotor and 4 to back rotor; speed=0 means motor stops and
speed=255 means the maximal rotational speed.
For example:
runmotor(1,255); //the front rotor rotates at maximal speed
41. 3. Software Preparation and Specification - 31 -
3.3 USART Interrupt Routine
The Universal Synchronous and Asynchronous serial Receiver and Transmitter
(USART) is a highly flexible serial communication device. The ATmega2560 has four
USART’s, USART0, USART1, USART2, USART3. On the controller board RN-MEGA 2560
Model V1.0 (see www.robotikhardware.de) the USART3 is changed into the normal
[14]
USB interface to the PC . By using this interface we can send the data from
microcontroller to the software “terminal” installed on the PC and capture the data
into TXT file, and then these data can be plot by Matlab in order to compare the
experiment results with the simulation results.
The USART Transmitter has two flags that indicate its state: USART Data Register
Empty (UDREn) and Transmit Complete (TXCn). Both flags can be used for generating
interrupts. Here the UDRE3 is used for generating the data transmit flag. The UDRE3
Flag indicates whether the transmit buffer is ready to receive new data. When the
transmit buffer is full, the UDR3 interrupt is enabled and start to transmit the data,
after all the data in transmit buffer are sent, the transmit buffer is empty and the
UDR3 interrupt is disabled.
The advantage of using the interrupt routine is that the main program and the
data transmitting through serial are running in parallel, the data transmitting will not
stop the main program. Otherwise, without interrupt routine, while the transmitting
of the data, the main program will wait there until all the data has been transmitted,
which will slow down the whole program.
42. - 32 - 3. Software Preparation and Specification
According to the Table 3.4, double the USART Transmission Speed disabled
(U2X=0), the baud rate of 76800 has been chosen which has small error value
between an actual baud rate and target baud rate. With higher error the Receiver
will have less noise resistance, especially for large serial frames.
Table 3.4 Examples of UBRRn Settings for Commonly Used Oscillator
Frequencies
→Please refer to the ATmega2560 datasheet[6] for more information on this topic.
The Figure 3.3 show the data transmitting time measured by oscilloscope. From
the figures we can see the sampling time of the IMU sensor and the control loop
time are 10 ms. The data transmitting time is about 6 ms, that means every IMU data
packet is possible to be sent to PC. The code can be found in “usart3.c”.
43. 3. Software Preparation and Specification - 33 -
Channel 1: control loop
Channel 2: data transmitting USART3
Channel 1: IMU USART0
Channel 2: data transmitting USART3
Figure 3.3 Data Transmitting Measurement
44.
45. Chapter 4
Quadrotor Kinematics and Dynamics
There are lots of studies and papers have described how to model the
quadrotor and since the modeling of the quadrotor is emphasis of this paper, so this
chapter will give only give the overall model of the quadrotor dynamics used for
simulation in [1]. More detailed information about modeling can be found in
[5],[11],[15],[16].
4.1 Quadrotor Kinematics
Generally, the quadrotor can be modeled with a four rotors in cross
configuration. The whole model can be considered as a rigid body. Figure 4.1
illustrates the basic motion control of the quadrotor.
Front Right
Left
Back
Figure 4.1 Quadrotor control mechanism [17]
46. - 36 - 4. Quadrotor Kinematics and Dynamics
Throttle (������1 [������])
The throttle movement is provided by increasing (or decreasing) all the
rotor speeds by the same amount. It leads a vertical force ������1 [������] with
respect to body-fixed frame which raises or lowers the quadrotor.
Roll (������2 [������ ∙ ������])
The roll movement is provided by increasing (or decreasing) the left rotors’
speed and at the same time decreasing (or increasing) the right rotors’
speed. It leads to a torque with respect to the green axis showed in Figure
4.1 which makes the quadrotor roll. The overall vertical thrust is the same
as in hovering.
Pitch (������3 [������ ∙ ������])
The pitch movement is provided by increasing (or decreasing) the front
rotors’ speed and at the same time decreasing (or increasing) the back
rotors’ speed. It leads to a torque with respect to the yellow axis showed in
Figure 4.1 which makes the quadrotor go forward or backward. The overall
vertical thrust is the same as in hovering.
Yaw (������3 [������ ∙ ������])
The yaw movement is provided by increasing (or decreasing) the front-rear
rotors’ speed and at the same time decreasing (or increasing) the left-right
couple. It leads to a torque with respect to the red axis showed in Figure 4.1
which makes the quadrotor turn in horizon level. The overall vertical thrust
is the same as in hovering.
47. 4. Quadrotor Kinematics and Dynamics - 37 -
4.2 Quadrotor Dynamics
In order to model the quadrotor dynamics, two frames have to be defined, as
showed in Figure 4.2:
The earth inertial frame (������������ frame)
The body-fixed frame (������������ frame)
F3 F1
F2 F4
Figure 4.2 Configuration, inertial and body fixed frame of the quadrotor[1]
48. - 38 - 4. Quadrotor Kinematics and Dynamics
There are different ways to describe the dynamics of the quadrotor, such as
Euler angle, quaternion and rotational matrix. In this work the orientation of the
quadrotor is given by the three Euler angles, as mentioned in 14.1 Quadrotor
kinematics, who are roll angle ������, pitch angle ������ and yaw angle ������, the units are
[������������������]. These three Euler angles form the vector ������������ = (������, ������, ������). The position of the
vehicle in the inertial frame is given by the vector ������������ = ������, ������, ������ . The transformation
of vectors from the body fixed frame to the inertial frame is given by the rotation
matrix ������ where ������������ for example denotes cos ������ and ������������ denotes sin ������:
������������ ������������ ������������ ������������ ������������ −������������ ������������ ������������ ������������ ������������ + ������������ ������������
������ = ������������ ������������ ������������ ������������ ������������ +������������ ������������ ������������ ������������ ������������ − ������������ ������������ (4.1)
−������������ ������������ ������������ ������������ ������������
The thrust force generated by rotor ������, ������=1, 2, 3, 4 is:
2
������������ = ������ ∙ ������������ (4.2)
where b is the thrust factor and ������������ [������������������/������] is the rotational speed of rotor ������. Then
the thrust force applied to the airframe from the four rotors is given by
4 4
2
������ = ������������ = ������ ������������ (4.3)
������=1 ������=1
Now the first set of differential equation that describes the acceleration of the
quadrotor can be written as:
������ 0 ������ 0
������ = ������ = ������ ∙ 0 − ������ ∙ ∙ 0 (4.4)
������ ������
1 1
With the inertia matrix ������ (which is a diagonal matrix with the inertias ������������ , ������������ and ������������
on the main diagonal), the rotor inertia ������������ , the vector ������ that describes the torque
applied to the vehicle’s body and the vector ������������ of the gyroscopic torques we
obtain a second set of differential equations:
������ ∙ ������ = − ������ × ������ ∙ ������ − ������������ + ������ (4.5)
49. 4. Quadrotor Kinematics and Dynamics - 39 -
The vector ������ is defined as (see Figure 4.2):
2 2
������������(������3 − ������4 )
2 2
������ = ������������(������1 − ������2 ) (4.6)
2 2 2 2
������(������1 + ������2 − ������3 − ������4 )
with the drag factor ������ and the length ������ of the lever. The gyroscopic torques caused
by rotations of the vehicle with rotating rotors are:
0
������������ = ������������ ∙ ������ × 0 ∙ (������1 + ������2 − ������3 − ������4 ) (4.7)
1
The four rotational velocities ������������ of the rotors are the input variables of the real
vehicle, but with regard to the obtained model a transformation of the inputs is
suitable. Therefore, the artificial input variables can be defined as follows:
2 2 2 2
������1 = ������(������1 + ������2 + ������3 + ������4 )
2 2
������2 = ������(������3 − ������4 )
2 2
������3 = ������(������1 − ������2 )
2 2 2 2
������4 = ������(������1 + ������2 − ������3 − ������4 ) (4.8)
where ������1 = ������ (4.3) denotes the thrust force applied to the quadrotor airframe; ������2
denotes the force which leads to the roll torque; ������3 denotes the force which leads
to the pitch torque and ������4 denotes the force which leads to the yaw torque.
However, also the gyroscopic torques depend on the rotational velocities of the
rotors and hence on the vector ������������ = (������1 , ������2 , ������3 , ������4 ) of the transformed input
variables. We assume that:
������ ������ = ������1 + ������2 − ������3 − ������4 (4.9)
and then evaluation of (4.4) and (4.5) yields the overall dynamic model in the
following form:
50. - 40 - 4. Quadrotor Kinematics and Dynamics
������1
������ = −(cos ������ sin ������ cos ������ + sin ������ sin ������) ∙
������
������1
������ = −(cos ������ sin ������ sin ������ − sin ������ cos ������) ∙
������
������1
������ = ������ − (cos ������ cos ������) ∙
������
������������ − ������������ ������������ ������
������ = ������ ������ − ������������ ������ + ������2
������������ ������������ ������������
������������ − ������������ ������������ ������
������ = ������������ + ������������ ������ + ������3
������������ ������������ ������������
������������ − ������������ 1
������ = ������������ + ������4 (4.10)
������������ ������������
The entire dynamical model can be rewritten in state variable form ������ = ������(������, ������)
where ������ ∈ ℝ������ is the vector of state variables.
������������ = (������, ������, ������, ������, ������, ������, ������, ������, ������) (4.11)
Using (4.9) and (4.10) we obtain
−(cos ������4 sin ������5 cos ������6 + sin ������4 sin ������6 ) ∙ ������1 /������
−(cos ������4 sin ������5 sin ������6 − sin ������4 cos ������6 ) ∙ ������1 /������
������ − (cos ������4 cos ������5 ) ∙ ������1 /������
������7
������8
������9
������ = ������������ ������ (4.12)
������8 ������9 ������1 − ������8 ������ ������ + ������2
������������ ������������
������������ ������
������7 ������9 ������2 + ������7 ������ ������ + ������3
������������ ������������
1
������7 ������8 ������3 + ������4
������������
with ������1 = (������������ − ������������ )/������������ , ������2 = (������������ − ������������ )/������������ and ������3 = (������������ − ������������ )/������������ . Here it has also
been taken into account that reference variable of the quadrotor is a desired velocity
vector and not a position vector. The system (4.12) will be simplified and widely used
in the control algorithms design.
51. Chapter 5
Attitude Control Algorithm Design
The attitude control loop is responsible for the generation and stabilization of a
currently required movement of the quadrotor, so that the quadrotor can also hover
in the air. Later on, other control task might be developed for the quadrotor, such as
altitude control, velocity of the quadrotor control, or the target tracking control and
landing. All those control tasks are based on the attitude stabilization of the
quadrotor. So we can consider the attitude control loop as a inner control loop which
is more faster than the others. From a control engineering point of view, this means,
the controller used for attitude control should be very fast to achieve the steady
state and also has the ability to compensate against any disturbances.
With regard to control engineering, there are many different control concepts
has been developed and studied for autonomous control of a quadrotor UAV, such
as:
Nonlinear control using feedback-linearization[1]
Nonlinear State-Dependent Riccati Equation Control[18]
Nonlinear and Neural Network-based Control[19]
PD/PD2 Controller Design[11]
Enhanced PID Controller Design[15]
and so on. In this chapter, the “Nonlinear control using feedback-linearization”
control theory has been chosen and implemented on the quadrotor to test the
results. Furthermore, the new controllers have been designed using PID control.
52. - 42 - 5. Attitude Control Algorithm Design
The kinematics and dynamics of the quadrotor are well described in the
previous chapter. However the most important concepts can be summarized in the
set of equations (4.8) and (4.12). The state space model of the quadrotor (4.12) can
be decomposed into one subset of differential equations that describes the dynamics
of the attitude (i.e. the angles), which will be used later in this chapter for attitude
control design, and one subset that describes the translation of the UAV[1]. From
(4.12) we obtain the one subset of differential equations that describes the
quadrotor’s angular rate as:
������������ ������
������8 ������9 ������1 − ������ ������ ������ + ������2
������������ 8 ������������
������7 ������������ ������
������8 = ������7 ������9 ������2 + ������7 ������ ������ + ������3 (5.1)
������������ ������������
������9
1
������7 ������8 ������3 + ������4
������������
where we have the state variables ������������ = (������, ������, ������, ������, ������, ������, ������, ������ , ������).
The artificial input variables which related the basic movement to the propellers’
squared speed are:
2 2 2 2
������1 = ������(������1 + ������2 + ������3 + ������4 )
2 2
������2 = ������(������3 − ������4 )
2 2
������3 = ������(������1 − ������2 )
2 2 2 2
������4 = ������(������1 + ������2 − ������3 − ������4 ) (5.2)
With the help of (5.1) and (5.2), we are able to design the attitude control for
the quadrotor. In the following section, different approaches of the quadrotor
attitude control design are explained and the corresponding controllers are
translated from the form in simulation software Matlab™ into implementation form
in C language. All control effect results of different controllers will be discussed in
Chapter 6.
53. 5. Attitude Control Algorithm Design - 43 -
5.1 Nonlinear Control using Feedback-Linearization[1]
5.1.1 Control Algorithm Design
For design the attitude controller ������������ the influence of the gyroscopic terms is
neglected, which are comparatively small because of the small rotor inertias of the
quadrotor. Then the simplified sub model can be obtained as:
������
������8 ������9 ������1 + ������
������������ 2
������7 ������
������8 = ������7 ������9 ������2 + ������3 (5.3)
������������
������9
1
������7 ������8 ������3 + ������4
������������
Now we apply a feedback linearization in order to obtain a linear system:
∗
������2 = ������2 ������7 , ������8 , ������9 + ������2
∗
������3 = ������3 ������7 , ������8 , ������9 + ������3
∗
������4 = ������4 ������7 , ������8 , ������9 + ������4 (5.4)
∗ ∗ ∗
with the new input variables ������2 , ������3 , ������4 . In order to obtain a linear system, the
following conditions must be fulfilled:
������
������8 ������9 ������1 + ������ ������ , ������ , ������ = ������2 ∙ ������7
������������ 2 7 8 9
������
������7 ������9 ������2 + ������ ������ , ������ , ������ = ������3 ∙ ������8
������������ 3 7 8 9
1
������7 ������8 ������3 + ������ ������ , ������ , ������ = ������4 ∙ ������9 (5.5)
������������ 4 7 8 9
with the so far undetermined constant parameters ������2 , ������3 , ������4 . Evaluation of (5.5)
yields the nonlinear feedback for linearization:
54. - 44 - 5. Attitude Control Algorithm Design
������������
������2 ������7 , ������8 , ������9 = (������ ∙ ������ − ������8 ������9 ������1 )
������ 2 7
������������
������3 ������7 , ������8 , ������9 = (������ ∙ ������ − ������7 ������9 ������2 ) (5.6)
������ 3 8
������4 ������7 , ������8 , ������9 = ������������ (������4 ∙ ������9 − ������7 ������8 ������3 )
Using this feedback (5.3) turns into the linear and decoupled system:
������ ∗
������2 ������7 + ������
������������ 2
������7 ������ ∗
������8 = ������3 ������8 + ������3 (5.7)
������������
������9
1 ∗
������4 ������9 + ������4
������������
It can be shown that the resulting linearized closed-loop system is stable even if
∗ ∗
we consider the gyroscopic terms in (5.1). For that purpose we consider ������2 = ������3 =
∗
������4 = 0 and the operating point ������7 = ������8 = ������9 = 0. We define the Lyapunov function
������(������7 , ������8 , ������9 ) which is attitude controller ������������ and positive defined around the
operating point:
2 2 2
������ ������7 , ������8 , ������9 = 0.5 ∙ (������7 + ������8 + ������9 ) (5.8)
Now we calculate the first derivative of ������ using the model (5.1) also including
gyroscopic terms and the derived feedback (5.4), (5.6). In addition we assume a
perfect cross configuration of the quadrotor with ������������ = ������������ which results in ������1 = −������2
and ������3 = 0. The derivative of the Lyapunov function then finally can be calculated as:
������ = ������7 ������7 + ������8 ������8 + ������9 ������9
(5.9)
2 2 2
= ������2 ∙ ������7 + ������3 ∙ ������8 + ������4 ∙ ������9
which is also independent from the gyroscopic terms. This derivative is negative
defined if ������2 , ������3 , ������4 < 0 and this guarantees that the operating point of the
feedback linearized system is asymptotically stable.
55. 5. Attitude Control Algorithm Design - 45 -
Taking into account that ������4 = ������7 , ������5 = ������8 , ������6 = ������9 (see (4.12)) it becomes
obvious that the dynamics of the angles using the linearized dynamics and neglecting
the gyroscopic terms are described by linear decoupled differential equations of
second-order, respectively.
Submit ������4 = ������7 , ������5 = ������8 , ������6 = ������9 into (5.7) we obtain:
������ ∗
������2 ������4 + ������
������������ 2
������4 ������ ∗
������5 = ������3 ������5 + ������3 (5.10)
������������
������6
1 ∗
������4 ������6 + ������4
������������
If ������4������ , ������5������ , ������6������ are the desired angles, application of the linear controller:
∗
������2 = ������2 ∙ ������4������ − ������4
∗
������3 = ������3 ∙ ������5������ − ������5 (5.11)
∗
������4 = ������4 ∙ ������6������ − ������6
with constant parameters ������2 , ������3 , ������4 . Submit (5.11) into (5.10) and we apply Laplace
transformation on (5.10) in order to transform the system (5.10) from time domain
to ������ domain. This will lead to a closed-loop system of second order with the transfer
functions:
������4 (������) ������2
������4 ������ = = 2 − ������ ������ ������ ∙ ������ + ������
������4������ (������) ������������ ������ ∙ ������ 2 ������ 2
������5 (������) ������3
������5 ������ = = 2 − ������ ������ ������ ∙ ������ + ������ (5.12)
������5������ (������) ������������ ������ ∙ ������ 3 ������ 3
������6 (������) ������4
������6 ������ = = 2 − ������ ������ ∙ ������ + ������
������6������ (������) ������������ ∙ ������ 4 ������ 4
The dynamics of these closed-loop systems (5.12) can now be easily defined by
adjustment of the pairs of parameters ������2 , ������2 , ������3 , ������3 , (������4 , ������4 ), respectively, with
the limitation that the parameter ������2 , ������3 , ������4 must be negative. The limitation from
the hardware aspects (see 5.4 Motor Torque Design) should also be considered.
56. - 46 - 5. Attitude Control Algorithm Design
5.1.2 Control Algorithm Implementation
Submit (5.6) and (5.11) into (5.4) we can finally obtain the controller equations
(5.13) which can be easily implemented in C language.
������������
������2 = (������ ∙ ������ − ������8 ������9 ������1 ) + ������2 ∙ ������4������ − ������4
������ 2 7
������������
������3 = (������ ∙ ������ − ������7 ������9 ������2 ) + ������3 ∙ ������5������ − ������5
������ 3 8
������4 = ������������ (������4 ∙ ������9 − ������7 ������8 ������3 ) + ������4 ∙ ������6������ − ������6 (5.13)
Where ������7 = ������, ������8 = ������ , ������9 = ������ , and ������4������ , ������5������ , ������6������ are the desired angles. For
hovering ������4������ = ������5������ = ������6������ = 0.
The modeling of the quadrotor system (4.12) is done by using the S-Function of
Matlab. In a first simulation, we assume an initial deviation of the angles ������ = (������ =
20°, ������ = −10°, ������ = 10°) where the control goal is to stabilize a hovering position.
Figure 5.1 shows the control block diagram, the inverted movement matrix computes
the PWM signals sent to rotors from the four artificial input variables (see 5.4).
������������������ ∈ (100,250)
������������ , ������������ , ������������ ������������������������������
Inverted
Nonlinear ������ ������������������ Hardware
Task Movement
Controller Limitation
Matrix
������, ������, ������ Quadrotor ������������������
IMU
Model
Figure 5.1 Nonlinear Control Block Diagram
57. 5. Attitude Control Algorithm Design - 47 -
5.2 Simple PD Controller
5.2.1 Controller Algorithm Design
In order to provide an easy inverse model which can be implemented in the
control algorithms, the quadrotor dynamics must be simplified a lot. Equation (5.1)
can be rearranged according following considerations:
The gyroscopic terms can be neglected because the rotor inertias are small.
The Coriolis-centripetal terms can also be neglected since the motion of the
quadrotor can be assumed close to the hovering condition; the angular
changes which come from cross coupling of angular speeds are smaller than
the main.
Now the simplified linear model is showed in (5.14).
������
������
������������ 2
������4 ������ ������
������5 = ������ = ������ (5.14)
������������ 3
������6 ������
1
������
������������ 4
Apply Laplace transform on (5.14) we obtain the set of transfer function for roll, pitch
and yaw separately.
������4 (������) ������
=
������2 (������) ������������ ������ 2
������5 (������) ������
= (5.15)
������3 (������) ������������ ������ 2
������6 (������) 1
=
������4 (������) ������������ ������ 2
58. - 48 - 5. Attitude Control Algorithm Design
It is obvious that each transfer function in (5.15) has two poles at the origin.
Using the Root Locus Method to design the controller, we can place a zero using a
PD-controller to improve the dynamic behaviour of the closed loop. The is used to
obtain vertical lines as asymptotes for that branches of the root locus that converge
to infinity and to obtain two dominate stable poles. With at least one pole in the
origin the closed control loop of the system has no steady-state error. [20] The root
locus graph is shown in following figure.
Figure 5.2 Root Locus using simple PD Controller
Now we have the simple PD controller for roll, pitch and yaw control with the form:
������ ������ = ������������ + ������������ ∙ ������ ������(������) (5.16)
with ������������ is the parameter of the proportional part and ������������ is the parameter of the
differential part. Since the real control loop is not a time continuous system but with
the sampling time ������ of 0.01 ������. Thus in Matlab simulation we use discrete PID
control for continuous plant [21].
59. 5. Attitude Control Algorithm Design - 49 -
5.2.2 Controller Algorithm Implementation
According to the real control loop implemented on the microcontroller, we take
a series of sampling time points ������������������ instead of continuous time ������, take numerical
integration using rectangular method instead of integration approximately and take
difference quotient with respect to time instead of differential, which are:
������ ≈ ������������������ (������ = 0, 1, 2, ⋯ )
������ ������
������������������������������ ������ ������������ ≈ ������������ ������������������������������(������)
0 ������ =0
(5.17)
������������������������������������(������) ������������������������������ ������ − ������������������������������ ������ − 1
≈
������������ ������������
then we can obtain the controller (5.16) in time discrete expression as:
������������������������������ ������ − ������������������������������ ������ − 1
������(������) = ������������ ������������������������������(������) + ������������ (5.18)
������������
The expression (5.18) can be directly implemented in C language.
Instead of the nonlinear controller in Figure 5.1 the controller block diagram is
illuminated in Figure 5.3.
error u
1 Kp 1
Constant Gain Gain 2
Kd du /dt
Derivative
Gain 1
Figure 5.3 PD Controller Block Diagram
60. - 50 - 5. Attitude Control Algorithm Design
5.3 PD controller Design with Partial Differential
Instead of the simple PD controller, the PD controller with Partial differential is
more widely used in industry area because of its better performance. Hence here we
also design a new PD controller with partial differential based on the simplified
system (5.15).
5.3.1 Controller Algorithm Design
In PID control theory, the introduce of the differential part can improve the
dynamic characteristic of the system, but also make the system easily be disturbed by
the high frequency signal, the drawback of the differential part is especially obvious
when the error signal has a big disturbance. However, the system performance can
be improved by adding a low pass filter to the control algorithm.
To overcome the drawback described above, one way is that adding a first order
inertial element (low pass filter) ������������ ������ = 1 (1 + ������������ ������) , which can improve the
system performance. The structure of the PD controller with partial differential is
shown in Figure 5.4, the low pass filter is added after the PD controller.[21]
������(������) 1 ������(������)
������������ +
+ 1 + ������������ ∙ ������
������������ ∙ ������
Figure 5.4 Block Diagram of PD Controller with Partial Differential
61. 5. Attitude Control Algorithm Design - 51 -
If we rearrange the PD controller shown in Figure 5.4 we can obtain the PD
controller in the form:
������(������) 1 + ������������ ������
������������ ������ = = ������������ (5.19)
������(������) 1 + ������������ ������
with ������������ = ������������ ������������ and ������������ ≪ ������������ . The controller (5.19) is so called real
PD-controller[20] and using the Root Locus method this controller is simply placing
one real zero near to the origin as a dominate pole and placing one real pole far away
from the added zero on the negative real axis of the Root Locus graph. Now we
obtain the Root Locus diagram as shown in Figure 5.5.
������
− ������
������������ −
������������
Figure 5.5 Root Locus using PD Controller with Partial Differential
62. - 52 - 5. Attitude Control Algorithm Design
5.3.2 Controller Algorithm Implementation
To implement the controller (5.19) on the microcontroller with the sampling
time ������������ = 0.01 ������, we need to transfer the controller into time discrete expression.
The controller equation (5.19) can be rewritten as:
������ ������ + ������������ ������ ∙ ������ ������ = ������������ ������ ������ + ������������ ������ ∙ ������ ������ (5.20)
by applying reverse Laplace transform on (5.19) we can transform the controller from
s domain to t domain, which results:
������������(������) ������������(������)
������ ������ + ������������ = ������������ ������ ������ + ������������ (5.21)
������������ ������������
the differential parts in (5.21) can be approximately replaced by difference quotient
with respect to time (5.17), which results:
������ ������ − ������(������ − 1) ������ ������ − ������(������ − 1)
������ ������ + ������������ = ������������ ������ ������ + ������������ (5.22)
������������ ������������
After the rearrangement of (5.22) it becomes:
������ ������ = ������1 ������ ������ − 1 + ������2 ������ ������ − ������3 ������(������ − 1) (5.23)
������������ ������������ +������������ ������������
with ������1 = , ������2 = ������������ , ������3 = ������������ .
������������ +������������ ������������ +������������ ������������ +������������
Now the controller can be easily implemented in C language.
63. 5. Attitude Control Algorithm Design - 53 -
5.4 Motor Torque Design
The task of motor torque design is to relate the controller output variables ������������
to the desired rotor velocity ������������,������ , but in this work the PWM signal is used to control
the motor rotational speed. Therefore, with the help of motor force experiment done
in section 2.7 and the linearized motor force characteristic with regard to the PWM
signals, the controller output variables ������������ are directly related to the PWM signals.
The output variables of the above mentioned controller are artificial input
variables ������������ = ������1 , ������2 , ������3 , ������4 which are defined in (4.8), with (4.2) we can rewrite
the ������������ as:
������1 = ������1 + ������2 + ������3 + ������4
������2 = ������3 − ������4
������3 = ������1 − ������2
������
������4 = (������ + ������2 − ������3 − ������4 ) (5.24)
������ 1
The (5.24) can be represented with the matrix format:
������ = ������ ∙ ������ (5.25)
where ������ ������ = ������1 , ������2 , ������3 , ������4 and
1 1 1 1
0 0 1 −1
������ = 1 −1 0 0
������ ������ ������ ������
− −
������ ������ ������ ������
According to (2.2) and Table 2.2 quadrotor constants we have
������ = ������ + ������ ∙ ������������������ (5.26)
with ������������������������ = (������������������1 , ������������������2 , ������������������3 , ������������������4 ) which are the PWM signals sending
to the corresponding motors and
64. - 54 - 5. Attitude Control Algorithm Design
������1 ������1 0 0 0
������2 0 ������2 0 0
������ = ������ ������ =
3 0 0 ������3 0
������4 0 0 0 ������4
From (5.25) and (5.26) we can get
������������������ = ������−1 ∙ ������ −1 ∙ ������ − ������ (5.27)
The (5.27) can be rewritten as:
1 1 1 ������
������������������1 = ������1 + ������3 + ������ − ������1
������1 4 2 4������ 4
1 1 1 ������
������������������2 = ������1 − ������3 + ������ − ������2
������2 4 2 4������ 4
1 1 1 ������
������������������3 = ������1 + ������2 − ������ − ������3
������3 4 2 4������ 4
1 1 1 ������ (5.28)
������������������4 = ������ − ������ − ������ − ������4
������4 4 1 2 2 4������ 4
The set of equations (5.28) can be easily implemented in C language to calculate
the desired PWM signals. Take into account that the operating range of the motor
speed ������������������ ∈ (100, 250) for attitude control, it’s necessary to limit the value of
controller output variable with ������2 ∈ −0.8, 0.8 ������ , ������3 ∈ −0.8, 0.8 [������] and
������4 ∈ −0.3, 0.3 [������]. This hardware limitation is always added to the controller in the
implementation test. The operating range of PWM signals for each are not the same
because there are big difference between the performances of the motors, see Table
2.1 Motor Lift Force Measurement.
65. Chapter 6
Simulation and Implementation Results
In this chapter, the plot diagrams of the simulation results using Matlab™ and
the results of controller implementation on the quadrotor will be shown. According
to the comparison between the simulation results and test results on real system,
the effect of the controller should be described and discussed. After the analysis the
test results, the existing problem and the corresponding reasons and the solutions
will be explained in the conclusion. In order to understand the relationship between
the PWM signals sent to the motor and the resulted quadrotor movement, the
configuration of the quadrotor Euler angles will be restated in Figure 6.1.
Figure 6.1 Configuration, inertial and body fixed frame of the quadrotor
66. - 56 - 6. Simulation and Implementation Results
6.1 Nonlinear Feedback Control
The nonlinear feedback controller has the form shown in (5.13), considering the
hardware limitation with ������������������1 ∈ 100,200 , ������������������2 ∈ 130,220 , ������������������3 ∈
110,210 , ������������������4 ∈ 150,250 the controller parameters has been chosen as:
������2 = −30, ������3 = −30, ������4 = −15
������2 = 0.7������2 2 ������������ ������
������3 = 0.7������3 2 ������������ ������
������4 = (0.5������4 )2 ������������
The simulation results are shown in Diagram 6.1 and Diagram 6.2. The test
results are shown in Diagram 6.3 and Diagram 6.4 with only the roll and pitch
controlled simultaneity, Diagram 6.5 and Diagram 6.6 with roll, pitch and yaw
controlled simultaneity. The PWM signals are shown in the way of differences
between each pair of the rotors which provide the corresponding roll, pitch and yaw
movement. Because of the limitation of the test platform, the freedom of roll and
pitch angle are restricted between -20 and 20 degree, the freedom of the yaw angle
is only restricted by the power supply cable which is between -360 and 360 degree.
From the test results we can see that the nonlinear feedback controller can
stabilize the roll and pitch angles at the same time with only small error and also can
compensate the disturbances quickly, see Diagram 6.3. However when the controller
is applied to roll, pitch and yaw control at the same time, there is a big error with roll
control which can't make the roll angle be stabilized to zero, see Diagram 6.5.
70. - 60 - 6. Simulation and Implementation Results
6.2 Simple PD Controller
According to the simulation and experiment, the parameter of simple PD
controller (see (5.18)) has been chosen as:
Kp_roll=20; Kd_roll=0.85;
Kp_pitch=20; Kd_pitch=0.85;
Kp_yaw=10; Kd_yaw=0.65;
The simulation results are shown in Diagram 6.7. Diagram 6.8 shows the test
results with that each time only one Euler angle is controlled. Diagram 6.9 shows the
test results that roll and pitch angle were controlled simultaneity. Finally, Diagram
6.10 shows the test results that roll, pitch and yaw angle were controlled
simultaneity with simple PD Controller.
Diagram 6.7 Simulation results of Simple PD controller
71. 6. Simulation and Implementation Results - 61 -
Diagram 6.8 Test results, simple PD, φ, θ, ψ are controlled separately
Diagram 6.9 Test results, simple PD, φ, θ are controlled synchronously