24.11.2014 Views

Slides (pdf, 1.5MB) - Robotics Summer Schools at ETHZ

Slides (pdf, 1.5MB) - Robotics Summer Schools at ETHZ

Slides (pdf, 1.5MB) - Robotics Summer Schools at ETHZ

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UAVs Visual Servoing<br />

AIRobots: <strong>Summer</strong> school 2012 – Aerial Service <strong>Robotics</strong><br />

Vincenzo Lippiello<br />

Università di Napoli Federico II<br />

vincenzo lippiello – UAVs Visual Servoing<br />

vincenzo.lippiello@unina.it


Vision sensors<br />

Camera model<br />

Image point differential kinem<strong>at</strong>ics<br />

CAMERA MODEL<br />

vincenzo lippiello – UAVs Visual Servoing 2


Vision sensors<br />

• The task of a camera as a vision sensor is to<br />

measure the intensity of the light reflected by<br />

an object<br />

• A photosensitive element (pixel) is employed<br />

– CCD (Charge Coupled Device)<br />

– CMOS (Complementary Metal Oxide<br />

Semiconductor)<br />

vincenzo lippiello – UAVs Visual Servoing 3


Vision sensors<br />

• Camera is a complex system comprising several<br />

devices:<br />

– Photosensitive sensor<br />

– Lens (responsible for focusing the light onto the sensor<br />

plane, i.e. image plane)<br />

– Analog/Digital preprocessing electronics<br />

vincenzo lippiello – UAVs Visual Servoing 4


Camera model<br />

• Perspective transform<strong>at</strong>ion<br />

f is the focal length<br />

SENSOR PLANE<br />

LENSE CENTER<br />

The image of an object<br />

appears upside down on<br />

the image plane<br />

vincenzo lippiello – UAVs Visual Servoing 5


Camera model<br />

• Frontal perspective transform<strong>at</strong>ion<br />

LENSE CENTER<br />

IMAGE PLANE<br />

Simplified model: lens and mounting<br />

imperfections cause image distortions<br />

(e.g. aberr<strong>at</strong>ions and geometric distortion)<br />

vincenzo lippiello – UAVs Visual Servoing 6


Camera model<br />

• Digitaliz<strong>at</strong>ion of the measurement<br />

– Sp<strong>at</strong>ial sampling (CCD/CMOS sensor): pixels<br />

– Temporal sampling (shutter)<br />

• Pixel coordin<strong>at</strong>es of a point:<br />

λ > 0 is a scale factor (optical ray)<br />

vincenzo lippiello – UAVs Visual Servoing 7


Camera model<br />

• Normalized image coordin<strong>at</strong>es (f = 1m)<br />

• Fe<strong>at</strong>ure vector of an image point<br />

vincenzo lippiello – UAVs Visual Servoing 8


Image point differential kinem<strong>at</strong>ics<br />

• Coordin<strong>at</strong>es of a 3D point fixed in the world<br />

frame w.r.t. the camera reference frame<br />

• Fe<strong>at</strong>ure vector of the point<br />

• Time deriv<strong>at</strong>ive of s<br />

vincenzo lippiello – UAVs Visual Servoing 9


Image point differential kinem<strong>at</strong>ics<br />

• By observing th<strong>at</strong><br />

• The differential kinem<strong>at</strong>ics of an image point<br />

c<br />

s = Ls s, z c v c<br />

v c = [o c ! c ] T<br />

vincenzo lippiello – UAVs Visual Servoing 10


Image point differential kinem<strong>at</strong>ics<br />

• Interaction m<strong>at</strong>rix of an image fe<strong>at</strong>ure point<br />

vincenzo lippiello – UAVs Visual Servoing 11


Rotary wings vehicles<br />

Quadrotor actu<strong>at</strong>ion system<br />

Quadrotor dynamic model<br />

QUADROTOR DYNAMIC MODEL<br />

vincenzo lippiello – UAVs Visual Servoing 12


Rotary wing vehicles<br />

• Main fe<strong>at</strong>ures<br />

– High maneuverability<br />

– Vertical take off and landing (VTOL)<br />

– Able to perform st<strong>at</strong>ionary/slow flight<br />

– Can fly in small and cluttered environment<br />

vincenzo lippiello – UAVs Visual Servoing 13


Quadrotor actu<strong>at</strong>ion system<br />

• Four motor/propeller systems<br />

arranged in a cross-like shape<br />

• Each motor spins <strong>at</strong> a proper<br />

angular speed (control input)<br />

• Each propeller produces a<br />

force th<strong>at</strong> is proportional to<br />

the square of angular speed<br />

f i = α! i<br />

2<br />

• Two motors rot<strong>at</strong>e C.W. and<br />

two A.C.W.<br />

vincenzo lippiello – UAVs Visual Servoing 14


Quadrotor actu<strong>at</strong>ion system<br />

COLLECTIVE SPEED<br />

RELATIVE SPEED IN THE GROUP<br />

RELATIVE SPEED BETWEEN GROUPS<br />

TRUST FORCE<br />

TORQUE AROUND x AND y<br />

TORQUE AROUND z<br />

vincenzo lippiello – UAVs Visual Servoing 15


Quadrotor dynamic model<br />

• Motion is given by<br />

– Mechanical components (gravity, inertia, spinning propellers, …)<br />

– Aerodynamic effects (blade thrust/drag, blade flapping, …)<br />

• The complete model is r<strong>at</strong>her complex<br />

– Some components can be estim<strong>at</strong>ed by identifying<br />

inertial/aerodynamic coefficients<br />

– It is common to have low level control loops to stabilize propeller<br />

speed, altitude, <strong>at</strong>titude<br />

– A simplified model can be used to design control for high level tasks<br />

• We consider the following simplifying assumptions:<br />

– No wind<br />

– UAV is symmetrical (diagonal inertia m<strong>at</strong>rices)<br />

– Secondary inertial/aerodynamic effects are neglected<br />

– Self-inducted aerodynamic disturbances are not modeled<br />

vincenzo lippiello – UAVs Visual Servoing 16


Quadrotor dynamic model<br />

• Simplified dynamic model<br />

Trust T = α !<br />

2<br />

1 + !2<br />

2 + !3<br />

2 + !4<br />

2<br />

Roll torque μx = α !<br />

2<br />

4 − !2<br />

2<br />

Pitch torque μy = α !<br />

2<br />

3 − !1<br />

2<br />

Yaw torque μ z = α !<br />

2<br />

1 − !2<br />

2 − !3<br />

2 + !4<br />

2<br />

mx =<br />

cψs ϑ c ϕ + sψs ϕ T<br />

mp = −TR b z −mgz<br />

J ! = μ<br />

my = sψs ϑ c ϕ − cψs ϕ T<br />

mz = c ϑ c ϕ T − mg<br />

(ψ ϑ ϕ) : yaw(Z)–pitch(Y)–roll(X) angles<br />

g = 9.81<br />

vincenzo lippiello – UAVs Visual Servoing 17


Image-based visual servoing (IBVS)<br />

Case 1: hovering control with one image fe<strong>at</strong>ure point<br />

Case 2: hovering and landing control with four image fe<strong>at</strong>ure points<br />

VISUAL SERVOING<br />

vincenzo lippiello – UAVs Visual Servoing 18


Visual servoing<br />

• Vision allows a robotic system to obtain<br />

geometrical and quantit<strong>at</strong>ive inform<strong>at</strong>ion on<br />

the surrounding environment<br />

• Control based on feedback of visual<br />

measurements is termed visual servoing<br />

• Main approaches to visual servoing<br />

– Position-based visual servoing (PBVS)<br />

– Image-based visual servoing (IBVS)<br />

vincenzo lippiello – UAVs Visual Servoing 19


Image-based visual servoing (IBVS)<br />

• Control the UAV to ensure the convergence of the<br />

image fe<strong>at</strong>ures error in the image plane<br />

– Desired reference assigned in the image plane!<br />

– Image fe<strong>at</strong>ures differential kinem<strong>at</strong>ics has to be considered<br />

– For UAVs the image fe<strong>at</strong>ures resulting motion depends on<br />

the vehicle motion w.r.t. the fixed environment<br />

UAV<br />

vincenzo lippiello – UAVs Visual Servoing 20


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Hovering task: regul<strong>at</strong>e the<br />

position (x, y) of the UAV, while<br />

keeping the target in the center of<br />

image plane<br />

– Using a down-looking camera, fixed<br />

and centered in the UAV CoG (body<br />

and camera reference frame<br />

coincident)<br />

– Using a single point fe<strong>at</strong>ure<br />

• It is not sufficient to control all the<br />

degrees of freedom<br />

• Motion along and around the image<br />

fe<strong>at</strong>ure optical ray is unobservable<br />

Y<br />

s d<br />

IMAGE PLANE<br />

s<br />

X<br />

vincenzo lippiello – UAVs Visual Servoing 21


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Additional assumptions:<br />

– Attitude is stabilized by a high frequency low level<br />

controller (commonly available on most systems)<br />

– Altitude is separ<strong>at</strong>ely controlled (the control input<br />

T becomes an exogenous signal, i.e. the measured<br />

trust)<br />

– Yaw angle is known and separ<strong>at</strong>ely controlled<br />

vincenzo lippiello – UAVs Visual Servoing 22


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Image fe<strong>at</strong>ure differential kinem<strong>at</strong>ics<br />

s = Ls s, z c v c c = Lv s, z c<br />

p c c + L! s ! c<br />

c<br />

• Error in the image plane (e.g. s d = 0)<br />

es = s d − s<br />

• By setting a desired velocity as<br />

c<br />

p c,d = Lv # s, z c Kses − L! s !<br />

c c<br />

a decupled exponential convergence achieved<br />

es = −Lv s, z c<br />

pc<br />

c,d<br />

− L! s ! c c = −Kses<br />

vincenzo lippiello – UAVs Visual Servoing 23


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Dynamic model of the UAV w.r.t. a frame<br />

rot<strong>at</strong>ed around the z-axis of the yaw angle ψ<br />

mx = cψs ϑ c ϕ + sψs ϕ T<br />

my = sψs ϑ c ϕ − cψs ϕ T<br />

mz = c ϑ c ϕ T − mg<br />

xψ<br />

y ψ<br />

zψ<br />

=<br />

cψ sψ 0<br />

−sψ cψ 0<br />

0 0 1<br />

x<br />

y<br />

z<br />

• Roll (ϕ) and pitch (ϑ) angles as control input<br />

xψ = T m s ϑ c ϕ<br />

yψ = − T m s ϕ<br />

vincenzo lippiello – UAVs Visual Servoing 24


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Let consider a inner velocity control loop<br />

xψ = Kv x c,d − x c<br />

y ψ = Kv y<br />

c,d − y c<br />

• By inverting the model<br />

ϑ d = asin<br />

m<br />

T K v x c,d − x c<br />

c ϕ<br />

ϕ d = −asin<br />

m T K v y<br />

c,d − y c<br />

vincenzo lippiello – UAVs Visual Servoing 25


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Velocity estim<strong>at</strong>ion by inverting the image fe<strong>at</strong>ure<br />

point differential kinem<strong>at</strong>ics<br />

p c c = Lv # s, z c s − L! s ! c<br />

c<br />

• Advantages<br />

– only fe<strong>at</strong>ure coordin<strong>at</strong>es and the <strong>at</strong>titude required<br />

– easy implement<strong>at</strong>ion/low comput<strong>at</strong>ional cost<br />

• Disadvantages<br />

– not so accur<strong>at</strong>e (numerical deriv<strong>at</strong>ion of image fe<strong>at</strong>ure<br />

coordin<strong>at</strong>es s is required)<br />

vincenzo lippiello – UAVs Visual Servoing 26


Case 1 : hovering control with one image<br />

fe<strong>at</strong>ure point<br />

• Control scheme<br />

vincenzo lippiello – UAVs Visual Servoing 27


Case 2: hovering and landing control with<br />

four image fe<strong>at</strong>ure points<br />

• Hovering and landing task: regul<strong>at</strong>e<br />

the position (x, y, z) and the<br />

orient<strong>at</strong>ion (yaw angle) of the UAV<br />

w.r.t. an observed object<br />

– Using a down-looking camera, fixed<br />

and centered in the UAV CoG<br />

– Using four point fe<strong>at</strong>ures (three is the<br />

minimum needed number)<br />

– Attitude is stabilized by an high<br />

frequency low level controller<br />

s d<br />

X<br />

IMAGE PLANE<br />

s<br />

Y<br />

vincenzo lippiello – UAVs Visual Servoing 28


Case 2: hovering and landing control with<br />

four image fe<strong>at</strong>ure points<br />

• Interaction m<strong>at</strong>rix of a set of image points<br />

n = 4<br />

• Error in the image plane<br />

es = s d − s<br />

– s d constant (or slowly varying)<br />

vincenzo lippiello – UAVs Visual Servoing 29


Case 2: hovering and landing control with<br />

four image fe<strong>at</strong>ure points<br />

• Control problem<br />

mp = −u − mgz<br />

• Control input<br />

u = TRcz<br />

• Control input with a gravity compens<strong>at</strong>ion<br />

u′ = u + mgz<br />

• Inner velocity control loop<br />

c c<br />

u′ = KvRc p c,d − p c<br />

vincenzo lippiello – UAVs Visual Servoing 30


Case 2: hovering and landing control with<br />

four image fe<strong>at</strong>ure points<br />

• Desired linear velocity evalu<strong>at</strong>ed as<br />

c<br />

p<br />

c,d<br />

= Lv # s, z c Kses − L! s ! c<br />

c<br />

• Desired yaw velocity evalu<strong>at</strong>ed as<br />

ψ d = z T R c L! # s Kses − Lv s, z c p c<br />

c<br />

– Linear velocity p c c<br />

chosen equal to p c c<br />

c<br />

or p<br />

c,d<br />

– Yaw angle control loop: PI controller<br />

vincenzo lippiello – UAVs Visual Servoing 31


Case 2: hovering and landing control with<br />

four image fe<strong>at</strong>ure points<br />

• Control scheme<br />

vincenzo lippiello – UAVs Visual Servoing 32


REFERENCES:<br />

o B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, “<strong>Robotics</strong>: Modelling,<br />

Planning and Control”, 2nd Ed., 2009<br />

o L. Rosa, “Autonomous and Mobile <strong>Robotics</strong>: Visual Servoing for<br />

Unmanned Aerial Vehicles”<br />

THANK YOU FOR YOUR ATTENTION<br />

vincenzo lippiello – UAVs Visual Servoing 33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!