Download as pdf or txt
Download as pdf or txt
You are on page 1of 226

Aerial & Underwater Robots

Diving underwater

Olivier Kermorgant
Introductionyi −1

• History

• Applications

• Technology

• Modeling

• Control
A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


A short history of manned submarinesyi −1

Before 1648: Manual or no propulsion

1690 – 1850: Research for military applications (Fr, En, Ru, USA)

1863: Mechanical powered submarine (Fr), then air independant (Sp)

1880’s: Battery-powered (Poland/Russia, then England)

1896: Hybrid power (combustion + battery) (UK)

WW1: 74 submarines for UK, 20 for Germany, diesel propulsion

1955: Nuclear powered (USN Nautilus), then UK, France, Russia

1964-1965: Tourism submarine (Mésoscaphe, Switzerland)

Since 1985: Passenger submarine company (Atlantis Submarines)


Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Unmanned underwater vehicles: ROV’s and AUV’syi −1

Remotely Operated Vehicles


• Tethered vehicle, not automated
• Since 1970’s

Autonomous Underwater Vehicles


• Even before! SPURV (US) in 1957
• Mainly used for remote sensing (no action on the environment)

Battery or external power


Similar technologies
Civil applications
Research in sensors and control
Applications of ROV’syi −1

Energy (renewable, oil & gas)


• Main application of ROV
• Structure inspection and maintenance

Military (again)
• Mine hunting and mine neutralization
• Search and rescue
• Recovery

Science (at last)


• Study of underwater environment
• Underwater archeology

Other
• Object recovery
• And even leisure
Applications of ROV’syi −1

Energy (renewable, oil & gas)


• Main application of ROV
• Structure inspection and maintenance

Military (again)
• Mine hunting and mine neutralization
• Search and rescue
• Recovery

Science (at last)


• Study of underwater environment
• Underwater archeology

Other
• Object recovery
• And even leisure
Applications of ROV’syi −1

Energy (renewable, oil & gas)


• Main application of ROV
• Structure inspection and maintenance

Military (again)
• Mine hunting and mine neutralization
• Search and rescue
• Recovery

Science (at last)


• Study of underwater environment
• Underwater archeology

Other
• Object recovery
• And even leisure
Applications of ROV’syi −1

Energy (renewable, oil & gas)


• Main application of ROV
• Structure inspection and maintenance

Military (again)
• Mine hunting and mine neutralization
• Search and rescue
• Recovery

Science (at last)


• Study of underwater environment
• Underwater archeology

Other
• Object recovery
• And even leisure
Applications of AUV’syi −1

Seafloor mapping and survey


• Energy industry
• Oceanography
• Military

Structure inspection
• Offshore structures
• Underwater cables

Object detection
• Military (mines)
• Air crash investigations
• Archeology

Object delivery
• Military
• Drug traffic (!)
Applications of AUV’syi −1

Seafloor mapping and survey


• Energy industry
• Oceanography
• Military

Structure inspection
• Offshore structures
• Underwater cables

Object detection
• Military (mines)
• Air crash investigations
• Archeology

Object delivery
• Military
• Drug traffic (!)
Applications of AUV’syi −1

Seafloor mapping and survey


• Energy industry
• Oceanography
• Military

Structure inspection
• Offshore structures
• Underwater cables

Object detection
• Military (mines)
• Air crash investigations
• Archeology

Object delivery
• Military
• Drug traffic (!)
Applications of AUV’syi −1

Seafloor mapping and survey


• Energy industry
• Oceanography
• Military

Structure inspection
• Offshore structures
• Underwater cables

Object detection
• Military (mines)
• Air crash investigations
• Archeology

Object delivery
• Military
• Drug traffic (!)
Companies and laboratoriesyi −1

Underwater robotics labs


• US: Woods Hole Oceanic Institution, MBARI
• Europe: Ensta Bretagne, LIRMM, Ocean Systems Lab, Univ. Girona,
Univ. Genova, NTNU
• Asia: Univ. Tokyo, NTU Singapore

Companies
• Ifremer, Seebyte, ECA Robotics, WHOI
Companies and laboratoriesyi −1

Underwater robotics labs


• US: Woods Hole Oceanic Institution, MBARI
• Europe: Ensta Bretagne, LIRMM, Ocean Systems Lab, Univ. Girona,
Univ. Genova, NTNU
• Asia: Univ. Tokyo, NTU Singapore

Companies
• Ifremer, Seebyte, ECA Robotics, WHOI
Application vs robot typeyi −1

ROV’s pros and cons


• + External energy: unlimited diving time
• + Human in the loop for control
• + Allow complex tasks in various environments
• – Need a surface vehicle with human operators

AUV’s pros and cons


• + Autonomous in decision making
• + Can travel long distances (221 days transatlantic in 2009)
• – Positionning is very difficult
• – Energy
Application vs robot typeyi −1

ROV’s pros and cons


• + External energy: unlimited diving time
• + Human in the loop for control
• + Allow complex tasks in various environments
• – Need a surface vehicle with human operators

AUV’s pros and cons


• + Autonomous in decision making
• + Can travel long distances (221 days transatlantic in 2009)
• – Positionning is very difficult
• – Energy
Robot designyi −1

Box
• No privileged direction
• Easy to add sensors / actuators
• Very bad hydrodynamic properties
• Used for static tasks
• May be a bit more than a box

Torpedo shaped
• Optimized hydrodynamics in a given direction
• Used for survey or mapping on large distances
• May use thrusters, fins or other technology

Bio-inspired
• Study of swimming animals
• No thrusters...
Robot designyi −1

Box
• No privileged direction
• Easy to add sensors / actuators
• Very bad hydrodynamic properties
• Used for static tasks
• May be a bit more than a box

Torpedo shaped
• Optimized hydrodynamics in a given direction
• Used for survey or mapping on large distances
• May use thrusters, fins or other technology

Bio-inspired
• Study of swimming animals
• No thrusters...
Robot designyi −1

Box
• No privileged direction
• Easy to add sensors / actuators
• Very bad hydrodynamic properties
• Used for static tasks
• May be a bit more than a box

Torpedo shaped
• Optimized hydrodynamics in a given direction
• Used for survey or mapping on large distances
• May use thrusters, fins or other technology

Bio-inspired
• Study of swimming animals
• No thrusters...
Robot designyi −1

Box
• No privileged direction
• Easy to add sensors / actuators
• Very bad hydrodynamic properties
• Used for static tasks
• May be a bit more than a box

Torpedo shaped
• Optimized hydrodynamics in a given direction
• Used for survey or mapping on large distances
• May use thrusters, fins or other technology

Bio-inspired
• Study of swimming animals
• No thrusters...
Sometimes just a ground robot put underwateryi −1
IRCCyN RAAMO eel-like robotyi −1
Tallin University of Technology turtle robotyi −1
Overview of AUV technologyyi −1

ethernet & power connectors

GPS

2 lateral thusters (surge and yaw)

wifi
2 PC104 (nav / sensor processing)
2 vertical thrusters (heave and pitch)

2 horizontal thrusters (sway and yaw)


Fiber-optic gyro (FOG) and compass

up camera

{Doppler velocity log (DVL)


down camera

pressure sensor
forward sonar 2 front cameras
Actuatorsyi −1

Most used: thrusters / propellers


• Induces a force in the thruster direction
• Still not perfectly modeled Seabotix thruster($ 800)

Control surface (fins / rudders)


• Induces normal force
• Induces torque when moved

BlueRobotics T100 ($ 100)

Glider design
• Moving masses to change pitch and buoyancy
• Low energy consumption
Actuatorsyi −1

Most used: thrusters / propellers


• Induces a force in the thruster direction
• Still not perfectly modeled Seabotix thruster($ 800)

Control surface (fins / rudders)


• Induces normal force
• Induces torque when moved

BlueRobotics T100 ($ 100)

Glider design
• Moving masses to change pitch and buoyancy
• Low energy consumption
Actuatorsyi −1

Most used: thrusters / propellers


• Induces a force in the thruster direction
• Still not perfectly modeled Seabotix thruster($ 800)

Control surface (fins / rudders)


• Induces normal force
• Induces torque when moved

BlueRobotics T100 ($ 100)

Glider design
• Moving masses to change pitch and buoyancy
• Low energy consumption
Exteroceptive Sensorsyi −1

Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera

Underwater cameras
Exteroceptive Sensorsyi −1

Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera

Underwater cameras
Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Sensorsyi −1

Proprioceptive
• Depth sensor
• Inertial measurement unit (gyro)
• Doppler Velocity Log (DVL)
• Class of sonar
• Linear velocity by sonar variation
• GPS (when surfacing)
• Compass

Exteroceptive
• Sonars
• Single beam
• Multi-beam sonar
• Acoustic camera
• Underwater cameras

Positionning still difficult


Other underwater technologiesyi −1

Main difficulty: water!


• Waterproof connectors
• Waterproof box with electronics

Communication
• No GPS, no wifi
• Acoustic modem
• Water depth and composition
• Vehicle velocity...
• (Very) low bandwidth
Other underwater technologiesyi −1

Main difficulty: water!


• Waterproof connectors
• Waterproof box with electronics

Communication
• No GPS, no wifi
• Acoustic modem
• Water depth and composition
• Vehicle velocity...
• (Very) low bandwidth
Other underwater technologiesyi −1

Main difficulty: water!


• Waterproof connectors
• Waterproof box with electronics

Communication
• No GPS, no wifi
• Acoustic modem
• Water depth and composition
• Vehicle velocity...
• (Very) low bandwidth
And alsoyi −1

Buoyancy pieces, frame, and lots of wires


Experimental facilities: water tanksyi −1
Outdoor facilities: nature!yi −1
Outdoor facilities: nature!yi −1
Outdoor facilities: nature!yi −1
Referencesyi −1

G Antonelli (2013). Modeling of underwater robots, Underwater


Robots, 3rd edn., edited by B. Siciliano and O. Khatib.

T. I. Fossen (2011). Handbook of marine craft hydrodynamics and


motion control.

Y. Petillot, I. T. Ruiz, and D. M. Lane (2001). “Underwater vehicle


obstacle avoidance and path planning using a multi-beam forward
looking sonar”. In: IEEE Journal of Oceanic Engineering
Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - dynamicsyi −1

Dynamic state-space modeling



Mv̇ + C(v)v + τg = τe
ṗ = Rv

• p absolute position, v velocity screw in robot frame

• R frame transformation matrix

• M = inertia matrix

• C(v) = Coriolis matrix

• τg gravity

• τe external forces

Ok for a rigid body in the air...


Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Modeling and assumptions - hydrodynamicsyi −1

With hydrodynamics effects [Fossen1994]


(
Mv̇ + M v̇ + C(v)v + C
::a r a (vr )vr + d(v
:: r )vr + τg = τu + τe
:::::

ṗ = Rv

T
• vr = v − R vc relative velocity between body and fluid

• Ma added mass
::

• Ca added Coriolis
::

• d(vr ): hydrodynamic damping

• External forces
• τg : gravity and buoyancy (keel effect)
• τu : added forces (ie thrusters)
• τe : other forces (collisions / link interactions)
Added matricesyi −1

Usually difficult to estimate, depends on fluid density and body shape


Typical structure for a symmetrical body:

Ma = −Diag(X , Y , Z , K , M, N)
 
03×3 − [p1 ]×
Ca =
− [p1 ]× − [p2 ]×
with (p1 , p2 ) = Ma vr

Ok for simple shapes like cylinders:


X = −0.1m Y = Z = −πρr 2 L
1
K = 0 M = N = − 12 πρr 2 L3
Added matricesyi −1

Usually difficult to estimate, depends on fluid density and body shape


Typical structure for a symmetrical body:

Ma = −Diag(X , Y , Z , K , M, N)
 
03×3 − [p1 ]×
Ca =
− [p1 ]× − [p2 ]×
with (p1 , p2 ) = Ma vr

Ok for simple shapes like cylinders:


X = −0.1m Y = Z = −πρr 2 L
1
K = 0 M = N = − 12 πρr 2 L3
Added matricesyi −1

Usually difficult to estimate, depends on fluid density and body shape


Typical structure for a symmetrical body:

Ma = −Diag(X , Y , Z , K , M, N)
 
03×3 − [p1 ]×
Ca =
− [p1 ]× − [p2 ]×
with (p1 , p2 ) = Ma vr

Ok for simple shapes like cylinders:


X = −0.1m Y = Z = −πρr 2 L
1
K = 0 M = N = − 12 πρr 2 L3
Case of water currentyi −1

Channel current, highest is at Raz Blanchard (up to 6 m/s)


Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Water current modelingyi −1

T
Hydrodynamics with relative velocities vr = v − R vc
• v link velocity in its own frame
• vc water velocity in earth frame

Linear and quadratic drags: d(vr ) = k> >


l + kq |vr |

Common assumptions on water current


• Only linear velocity
• Constant in earth fixed frame
• Constant in time
Linearity on hydrodynamic parametersyi −1

Initial equation
Mv̇ + Ma v̇r + C(v)v + Ca (vr )vr + d(vr )vr + τg = τu + τe

Can be written with all still forces in a separate term


Mv v̇ + Cv (v)v + d(vr )v + φc (R, v, v̇)θc = τu
• φc (R, v, v̇) independent from hydro parameters
• θc regroups parameters involved in static behavior

Same with all hydrodynamic parameters


φ(R, v, v̇)θ = τu
• φ(R, v, v̇) independent from hydro parameters
• θ regroups all hydrodynamic parameters
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Hydrodynamic drag modelingyi −1

Form or surface drag

General formulation: k = 21 ρCd S in each direction


• ρ: fluid density
• Cd : drag coefficient
• S: object exposed surface

Cd depends on laminar or turbulent flow:


• Laminar gives linear drag
• Turbulent gives quadratic drag (high velocities)

In practice
• Identification of kl and kq
• Computation from CFD (Computational Fluid Dynamics)
• Speed tests in pool
• And a robust controller
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster modelingyi −1

Relation between thruster input u (V / A) and resulting force f (N)?


• Highly non-linear
• Depends on water density, vehicle velocity...
• Depends on tunnel section and length, propeller diameter...
• Look-up table from identification or thruster supplier
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Thruster control matrix from poseyi −1

AUV wrench control with Thruster Control Matrix


• T such that τ = T.f
• τ : body wrench, f: thruster forces
• dimension of T: 6 × nthr
• Considered constant

Convention: thruster frame is along its z-axis

We denote (ti , Ri ) the pose of the thruster in the vehicle frame

Then:  
  0
Ri
Ti =  0 
[ti ]× Ri
−1

And τi = (fx , fy , fz , γx , γy , γz ) = Ti fi
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Fin modelingyi −1

Induces two forces: lift and drag


• Both forces depend on relative velocity
• Also greatly depend on angle of attack α
• Again, experiments to identify

No lift above a given αlim


• Stall phenomenon
• To be considered in control laws
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Control architecturesyi −1

Trajectory/path planning & Tracking


• 3D or 2D+depth
• Area / structure survey

Reactive control
• Manual control (position / velocity / force)
• Waypoint tracking
• Velocity tracking

⇒ In all cases, output is the desired wrench τu∗ to apply to the AUV

Main difference with UAV: slow motion = enough time to do adaptive


control
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Trajectory trackingyi −1

General assumptions
• Current p and desired p∗ pose in world frame
• Current v and desired v∗ velocity in world frame

Control frame
• Fixed frame: easier to express disturbances (current)
• Vehicle-frame: easier for almost everything else

Use of hydrodynamic model


• Model-based: adapt the model parameters
• Model-free: integral terms
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-free, fixed-frame trajectory trackingyi −1

With position error only: PID + static compensation


• ep = p∗ − p
Z
• Rτu∗ = τg + Kp ep + Kd ėp + Ki ep (t)dt
• Integrator compensates for constant current

Adaptive control with position + velocity error


X
• Rτu∗ = K1 v̇∗ + K2 v + K3 + K4 ev + K5 ep = Ki φi
• Hybrid position/velocity error: eh = ev + σep , σ > 0
γ e φT
• Ki = i h i
keh kkφi k
• γi are adaptive and updated through γ̇i = fi keh kkφi k, fi > 0
• With all gains = 0 at start, K3 converges to static compensation
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Model-based, vehicle-frame trajectory trackingyi −1

From G. Antonelli et al. (2003). “A novel adaptive control law for underwater
vehicles”. In: IEEE Trans. on Control Systems Technology

Using hybrid error eh = ev + Λep


• Λ = Diag(λt I3 , λr I3 )

PD control with model-based feedforward


• τu∗ = Kd eh + Kp ep + φθ
• Kd , Kp gain matrices

Update on hydrodynamic parameters estimate:


• θ̇ = K−1 T
θ φ eh
• Kθ update gain matrix
Reactive control (no trajectory)yi −1

From position to force control


• Position setpoint (world frame)
• Velocity setpoint (vehicle frame)
• Wrench setpoint

Feedback for each control space


Reactive control (no trajectory)yi −1

Mission waypoint + - position


Hover mode estim.
Manual setpoint

PID's
From position to force control
• Position setpoint (world frame) +
- velocity
• Velocity setpoint (vehicle frame) estim.
• Wrench setpoint
PID's

Feedback for each control space Thruster allocator

thrusters
intensities
PID's
Reactive control (no trajectory)yi −1

Mission waypoint + - position


Hover mode estim.
Manual setpoint

PID's
From position to force control
• Position setpoint (world frame) Mission navigation +
Sensor-based control
- velocity
• Velocity setpoint (vehicle frame) Manual setpoint estim.
• Wrench setpoint
PID's

Feedback for each control space Thruster allocator

thrusters
intensities
PID's
Reactive control (no trajectory)yi −1

Mission waypoint + - position


Hover mode estim.
Manual setpoint

PID's
From position to force control
• Position setpoint (world frame) Mission navigation +
Sensor-based control
- velocity
• Velocity setpoint (vehicle frame) Manual setpoint estim.
• Wrench setpoint
PID's

direct force control


Feedback for each control space Thruster allocator

thrusters
intensities
PID's
Reactive control (no trajectory)yi −1

Mission waypoint + - position


Hover mode estim.
Manual setpoint

PID's
From position to force control
• Position setpoint (world frame) Mission navigation +
Sensor-based control
- velocity
• Velocity setpoint (vehicle frame) Manual setpoint estim.
• Wrench setpoint
PID's

direct force control


Feedback for each control space Thruster allocator

thrusters
intensities
PID's
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
AUV controlyi −1

From state estimation


• Usually position control through waypoints
• May involve trajectory planning

From sensor feedback


• Velocity control to cancel sensor error
• Disturbances can be estimated from the sensor data
Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Feedback: depends on the environmentyi −1

Absolute feedback in unstructured environment


• Based on pre-dive GPS
• Then sensor fusion (IMU, gyro, compass, DVL) to estimate velocity
• Bad accuracy but usually no obstacles

Relative feedback in known environment


• All of the above + sonar
• Sometimes also transmitters / receivers on known locations
• Sensor fusion to get best estimation of AUV state

Relative to a specific object


• Rely on exteroceptive sensors (sonar / camera)
• Velocity control to get to the desired relative position

Extended Kalman Filter widely used in all situations


Side-scan sonaryi −1

Seabed mapping
Now AUV localization
Sonar odometry
Pose registration
USBL / LBL underwater positioning systemsyi −1

Long baseline Short baseline Ultra-short baseline


LBL / SBL USBL
• Range measurements • Range+bearing measurements
• Beacons fixed or on boats • Usually few beacons on a boat
• Relies on trilateration • Relies on signal phase

In both cases: (x, y ) can be estimated

Image courtesy of [Xiang 2009]


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk −1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ H T
k −1 k kR
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P−k = (I − KHk )Pk−1
+

• Updated state from measurement error: x̂− + +



k = x̂k−1 + K zk − h(x̂k−1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k −1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


Extended Kalman Filteryi −1

Works of Rudolf Kalman in 1961


EKF starts from an estimate of the state x̂0
Estimates the current state from model and measurement z
• Prediction from model
• Predicted state: x̂+ −
k −1 = f (x̂k−1 , uk −1 )
• Predicted covariance: P+ − T
k−1 = Fk−1 Pk−1 Fk −1 + Qk−1
• Where Q is the model variance matrix (to be tuned)

• Update from measurement


• Actual vs model measurements: zk − h(x̂+ k −1 )
• Residual covariance: S = Hk P+ HT
R
k −1 k k
• T −1
Feedback gain: K = P+k −1 Hk Sk
• Updated covariance: P− +
k = (I − KHk )Pk −1
• Updated state from measurement error: x̂− + +

k = x̂k−1 + K zk − h(x̂k −1 )
• Here R is the measurement variance matrix (to be tuned)

• Choice of state and measurement depend on the modeling and sensors


EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF for AUVyi −1

State: x = (x, y, z, R, P, Y , v, ω)
• Sometimes also accelerations
• State evolution ẋ = f̃ (x, u) ⇔ xk−1 = f (xk−1 , uk−1 )
• Uncertainties in thruster modeling u ≈ 0

Measurements
• Depth: h(xk ) = zsurf − zk
• USBL / LBL: h(xk ) = (xk , yk )
• IMU: h(xk ) = (v̇k , ωk , (Rk , Pk , Yk ))
• Visual Odometry (DVL): h(xk ) = (vk , ωk )
• Pre-dive GPS gives initial (x, y, z)
EKF with disturbancesyi −1

Gaussian disturbances are considered as noise


• Ok for modeling errors, small waves

Larger disturbances must be modeled and estimated as state


variables
• Constant disturbances (water current)
• Slow varying (periodic waves)
• Can then feed the controller
EKF with disturbancesyi −1

Gaussian disturbances are considered as noise


• Ok for modeling errors, small waves

Larger disturbances must be modeled and estimated as state


variables
• Constant disturbances (water current)
• Slow varying (periodic waves)
• Can then feed the controller

You might also like