26
Implementation of a Real- Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio Nascimento Júnior (ITA-Brazil) Sidney Nascimento Givigi Júnior (RMC-Canada) Tiago Henrique Medeiros Mercante (ITA-Brazil) Neusa Maria Franco de Oliveira (ITA-Brazil)

Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

Embed Size (px)

Citation preview

Page 1: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

Implementation of a Real-Time Attitude System for the Stabilization

Control of a Quad-rotor RobotSérgio Ronaldo Barros dos Santos (ITA-Brazil)

Cairo Lúcio Nascimento Júnior (ITA-Brazil)Sidney Nascimento Givigi Júnior (RMC-Canada)Tiago Henrique Medeiros Mercante (ITA-Brazil)

Neusa Maria Franco de Oliveira (ITA-Brazil)

Page 2: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

Introduction The Attitude and Heading Reference System (AHRS) is a device used to determine a vehicle’s attitude and heading.

The AHRS consists of three-axes solid-state or MEMS gyroscopes, accelerometers and magnetometers and also an on-board processing system.

This device is designed to replace traditional mechanical gyroscopic and provide superior reliability and accuracy relative to the data measured.

2/26

Page 3: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

Introduction The key difference between an inertial measurement

unit (IMU) and an AHRS is the addition of an on-board processing system. In an AHRS the attitude and heading angles are directly provided, while an IMU just delivers sensor data to an additional device that computes the attitude angles.

The AHRS can be embedded on several types of autonomous vehicles, such as terrestrial, maritime or aerial, as the primary navigation system.

3/26

Page 4: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

4/26

Quad-rotor Robot Quad-rotor robots have become popular due to their relatively simple model and the low-cost involved in operating experimental platforms.

Page 5: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

5/26

Problem Statement In spite of the four actuators, the quad-rotor is a dynamically unstable system that has to be stabilized through a suitable attitude and heading measurements and also a control system.

Page 6: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

6/26

Problem Statement Our goal is to implement an AHRS using low-cost inertial and magnetic sensors that is able to provide accurate attitude information to stabilize the quad-rotor robot during flight.

The proposed method are computed through the angular rates obtained from the gyroscope.

Due to the fast update rate of the measured gyro data, drift and also integration errors are expected.

Then, the fusion with others sensors such as a magnetometer and an accelerometer is necessary.

Page 7: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

7/26

Rotation Matrix The rotation matrix is obtained using the rotation rate [p, q, r] measured around x, y and z axis, respectively.

The simplified Direction Cosine Matrix (DCM) can be rewrite as:

1

1

1

nbR

nb

where initially ф, Ѳ, ψ are equal to zero.

Page 8: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

8/26

Rotation Matrix In this approach the attitude is constantly updated through the body rotation rate [p, q, r]T. Using the DCM, these values can be expressed as:

0

0

0

pq

pr

qrnb

The rotation matrix is computed at discrete-time, every 20ms using :

)()1()( knbknbknbR

)()1()( knbRknbknb

Page 9: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

9/26

Orthogonality Procedure Numerical errors due to the integration process gradually reduce the orthogonality between the components of the rotation matrix around the x, y and z axes.

The correction of this error can be made through the process of enforcing the orthogonality conditions.

Consider the rotation matrix as:

zzRzyRzxRyzRyyRyxRxzRxyRxxR

k

Page 10: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

10/26

Orthogonality Procedure

T

yzRyyRyxR

xzRxyRxxRortE

][

T

yzRyyRyxR

ortE

T

xzRxyRxxR

T

ortxzRxyRxxR

2

T

xzRxyRxxR

ortE

T

yzRyyRyxR

T

ortyzRyyRyxR

2

T

ortyzRyyRyxR

T

ortxzRxyRxxR

T

ortzzRzyRzxR

The obtained orthogonality error among the x, y and z vectors of the rotation matrix can be corrected using:

Page 11: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

11/26

Orthogonality Procedure After the correction, it should be assured that the x, y and z vectors are of unitary magnitude.

T

ortxzRxyRxxR

T

ortxzRxyRxxR

T

ortxzRxyRxxR

T

ndxzRxyRxxR

32

1

T

ortyzRyyRyxR

T

ortyzRyyRyxR

T

ortyzRyyRyxR

T

ndyzRyyRyxR

32

1

T

ortzzRzyRzxR

T

ortzzRzyRzxR

T

ortzzRzyRzxR

T

ndzzRzyRzxR

32

1

Page 12: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

12/26

Orientation The Euler angles is estimated using the corrected rotation matrix.

The attitude of the quad-rotor robot is calculated every 20ms, using:

21arctan

zx

zx

R

R zzzy RR ,2arctan

xxyx RR ,2arctan

Page 13: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

13/26

The integrated signal from the gyroscope is combined with the measured magnetic force and acceleration through a fusion algorithm, to detect the gyro offset and provide a negative feedback signal.

Fusion Algorithm

Page 14: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

14/26

Fusion Algorithm Using the measured gravity vector, the components of rotation matrix related to roll and pitch angles are verified. The error vector, Ea is calculated by:

The yaw orientation can be computed from the measured magnetic force [mx my mz]T and also the roll and pitch angles obtained previously.

)()cos()()()cos(1 senmsensenmmM zyx

)()cos(2 senmmM zy 12 ,2arctan MMm

zayaxa

T

ndzzRzyRzxR

azEayEaxE

Page 15: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

15/26

Fusion Algorithm Using the computed yaw orientation and also the components of the rotation matrix related to roll, pitch and yaw angles, the error vector, Em is calculated.

yxRmxxRmsen

T

ndzzRzyRzxR

mzEmyEmxE

)cos()(

The estimate of the drift defined by a total error vector can be obtained using:

mzEmyEmxE

azEayEaxE

zEyExE

Page 16: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

16/26

Finally, the adjust vector applied for gyro drift correction is given by:

dt

zEyExE

Ki

zEyExE

Kpkc

02.0

0.)(

Although the gyros have a regular performance with an uncorrected offset of few degrees per second, the accuracy of the measured attitude can be improved through drift correction.

Fusion Algorithm

Page 17: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

17/26

Implementation Firstly, the microcontroller receives all of the sensors data. The three axis gyroscope sends its measurements in

analog format. The three axis accelerometer and magnetometer

send their measurements using I2C protocol.

Page 18: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

18/26

Implementation The accelerometers and gyros are sampled in 50Hz and filtered using IIR Butterworth 2 order low pass filter. The cut off frequency chosen is 5Hz. The magnetometer is read at a 10 Hz update rate.

The algorithm uses a defined execution rate of 50Hz.

Page 19: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

19/26

Implementation The computed attitude is sent to embedded controller board and also for a Ground Control Station (GCS) through the serial channel.

The attitude is used to feedback the control loops implemented in the embedded microcomputer board.

Page 20: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

20/26

Experimental Setup The experimental setup consists of a Hummingbird quad-rotor and a Ground Control Station (GCS).

The GCS allows the user to define the input command to the attitude control loop.

Page 21: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

21/26

Experimental Setup The reference signal can be generated by the standard RC Transmitter or through a position control loop implemented in Simulink.

In this work experiments have been conducted using the RC transmitter signal.

The RC transmitter is attached to the USB port of the laptop, used to transmit and to receive the command signal of the Ground Control Station.

The quad-rotor height is controlled manually from the RC transmitter.

Page 22: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

22/26

Experimental Setup

Page 23: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

23/26

Results The stabilization control of the quad-rotor during hovering is verified through the experimental results

Page 24: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

24/26

Results The experimental results show that the method used to obtain the attitude is effective for the stabilization control of a quad-rotor during hovering flight, even while executing high speed maneuvers.

See the validation movie.

Page 25: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

25/26

Conclusion The use of AHRS proved to be very valuable for the

stabilization control of a quad-rotor.

It enables the developer to evaluate many aspects of the aircraft autopilot hardware, to refine the control algorithm, to test and tune control parameters, and many others.

This platform can be easily adapted for the implementation of other control methods and also used in different types of unmanned aerial vehicles in several applications.

Page 26: Implementation of a Real-Time Attitude System for the Stabilization Control of a Quad-rotor Robot Sérgio Ronaldo Barros dos Santos (ITA-Brazil) Cairo Lúcio

26/26

Thank you

Questions?