26
CS491/691: Introduction to Aerial Robotics Dr. Kostas Alexis (CSE) Topic: Flight Controls Introduction

CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

  • Upload
    others

  • View
    18

  • Download
    2

Embed Size (px)

Citation preview

Page 1: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

CS491/691: Introduction to Aerial Robotics

Dr. Kostas Alexis (CSE)

Topic: Flight Controls Introduction

Page 2: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

The Aerial Robot Loop

How to design theflight control of anaerial robot andprogram its autopilot.

Section 3 of our course

Page 3: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

MAV Dynamics To append the forces and moments we need to

combine their formulation with

Next step: append the MAV forces

and moments

Page 4: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

MAV Dynamics

MAV forces in the body frame:

Moments in the body frame:

Page 5: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

MAV Dynamics

MAV forces in the body frame:

Moments in the body frame:

Page 6: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

MAV Dynamics

Exchangeable symbols:

M with τ for Moments

F with f for forces

x,y,z when used for body-axis with b1,b2,b3

Page 7: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Control System Block Diagram

There are simpler

Page 8: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Control System Block Diagram

Simplified loop

Page 9: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Attitude Control

Where the vee map : is the inverse of the hat map.

Page 10: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

The Hat Map and its Inverse

The hat map

Transforms a vector in to a 3x3 skew-symmetric matrix that

for any . The inverse of the hat map is denoted by the vee map:

Page 11: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Attitude Control

Linearize the nonlinear model around hover:

Rotation error metric:

After Linearization:

Page 12: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Attitude Control

PD Control Law:

Page 13: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Position Control

PD Control Law:

Linearize the nonlinear model around hover:

Nominal Input:

Page 14: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Position Control

PD Control Law:

Page 15: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Find out more

http://www.kostasalexis.com/pid-control.html

http://www.kostasalexis.com/lqr-control.html

http://www.kostasalexis.com/linear-model-predictive-control.html

http://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum

&section=ControlStateSpace

http://www.kostasalexis.com/literature-and-links.html

Page 16: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Find out more

http://www.kostasalexis.com/pid-control.html

http://www.kostasalexis.com/lqr-control.html

http://www.kostasalexis.com/linear-model-predictive-control.html

http://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum

&section=ControlStateSpace

http://www.kostasalexis.com/literature-and-links.html

Page 17: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

Control the decoupled roll dynamics of a multirotor aerial robot

Page 18: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

Similar transfer function example:

Page 19: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to fail terribly:

Page 20: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to think you did it OK before actually testing in practice:

Page 21: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to think you did it OK before actually testing in practice:

Page 22: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to think you did it OK before actually testing in practice:

Page 23: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to think you did it OK before actually testing in practice:

Page 24: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Very Simple Example

How to think you did it OK before actually testing in practice:

Page 25: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Find out more

http://www.kostasalexis.com/pid-control.html

http://www.kostasalexis.com/lqr-control.html

http://www.kostasalexis.com/linear-model-predictive-control.html

http://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum

&section=ControlStateSpace

http://www.kostasalexis.com/literature-and-links.html

Page 26: CS491/691: Introduction to Aerial Robotics › uploads › 5 › 8 › 4 › ... · The Aerial Robot Loop How to design the flight control of an aerial robot and program its autopilot

Thank you! Please ask your question!