massively-parallel stochastic control and automation: a ... · – design of novel autonomous...
TRANSCRIPT
Massively-Parallel
Stochastic Control and
Automation: A New
Paradigm in Robotics
GPU Technology Conference
26 March 2014
Dr. Jonathan Rogers
Assistant Professor George W. Woodruff School of Mechanical Engineering
404-385-1600
2
GT’s Intelligent Robotics and Emergent
Automation Lab (iREAL)
• Research at the intersection of dynamics, control and
estimation, and vehicle design.
• Robot Vehicle Design and Flight Dynamics – Design of novel autonomous vehicle concepts
– Analysis and tradeoffs of various vehicle designs
– Ex: Morphing autonomous tail sitter aircraft
• Control and Estimation for Complex Systems – Energy-harvesting flight control laws
– Low-cost state estimation solutions
– Ex: Expert system controller for helicopter autorotation
– Ex: Orientation estimation using IR thermal sensors
• GN&C Through Emerging Computational Architectures – Novel stochastic control schemes with GPU-based uncertainty propagation
– Ex: Stochastic GPU-based control for parafoil terminal guidance
3
Motivation
• Decision-Making Under Uncertainty: Critical
difficulty in robotics
– Uncertainty invariably is critical limit to performance
• Example: Power usage for Mars rover
• Example: Voice recognition
• Example: Flying/landing with obstacles and winds
Goal
Forest
Desert Terrain
Grassland and Prairie
Motivation
• Decision-Making Under Uncertainty: Mars rover
power management Anticipated battery remaining at t = 1 hour?
• Rover explores unknown terrain,
energy per distance not precisely
known
• Must predict most likely
remaining battery life in presence
of this uncertainty
5
Motivation
• Decision-Making Under Uncertainty: Speech
recognition
– Robot correlates sounds with known library of words
or phrases
– Uncertainty regarding:
• Words human is speaking
• Human intent
– Robot must take some action anyway!
6
Motivation
• Decision-Making Under Uncertainty: Aerial vehicle
obstacle avoidance
1 2
• Should vehicle fly path 1
or path 2?
• Which is more robust to
wind disturbances?
• Which has less likelihood
of hitting buildings or
lake?
• Must predict effects of
unknown disturbances!
7
Motivation
• Nearly every robotic system must be able to make
decisions in presence of uncertainty
• Uncertainty takes form of:
– Random future disturbances
• Wind gusts
– Uncertain robot dynamics
• How fast will I really go with a given
speed command?
– State estimation error
• Am I really where I think I am?
8
Presentation Overview
• Deterministic Control vs Stochastic Control
– GPU-based uncertainty propagation
• Stochastic Control: Mathematical Formulation
• Example: GPU-Based Autonomous Parafoil
Control
– Simulation
– Experimental results
5110 5120 5130 5140 5150 5160
-20
-15
-10
-5
0
5
10
15
20
25
1
0
min min ,T
t t t T T
t
J E g x u g x
1 , 0,..., 1t t t tx f x u w t T
9
“Classical” Deterministic Control
• Standard paradigm in autonomous systems control:
– Use a motion model to predict future behavior
– Make control decision based on model prediction
Target
Give control based on miss distance and
direction of predicted impact location.
10
“Classical” Deterministic Control
• Given “obstacle” near target, what is likelihood that I
will hit it given uncertainty?
– Uncertainty due to disturbances, model error, sensor error
– Cannot quantify this risk with a single prediction!
Target
11
• Predict hundreds or thousands of trajectories
– Randomize disturbances in each one (Monte Carlo
method)
– Leverage GPU’s to perform in real-time
– Base control inputs off probability density of impacts!
New Stochastic Control Paradigm
Target
Range (m)
Deflection (
m)
5080 5100 5120 5140 5160 5180 5200
-40
-30
-20
-10
0
10
20
30
40
50
Target
12
• Can predict likelihood that we hit obstacle near
target – Can find a trajectory shape that minimizes this risk
– Only possible if we can simulate 1000’s of trajectories
extremely quickly
New Stochastic Control Paradigm
Target
5110 5120 5130 5140 5150 5160
-20
-15
-10
-5
0
5
10
15
20
25
GPU’s for Real-Time Monte Carlo
• GPU’s are ideal tool for uncertainty propagation
– Assign single trajectory per GPU kernel
– Allows us to perform thousands of predictions on board
vehicle, in real-time
80 90 100 110 120 130 140 150 160-30
-20
-10
0
10
20
30
Range (m)
Cro
ss R
ange (
m)
GPU’s for Real-Time Monte Carlo
• Massively-parallel Monte Carlo on GPU’s provides 1-2
order of magnitude runtime reduction over same code
on CPU
– We can run Monte Carlo’s in real-time
M. Ilg., J. Rogers, M. Costello, “Projectile Monte Carlo Analysis Using A Graphics Processing
Unit,” 2011 AIAA Atmospheric Flight Mechanics Conference, Portland, OR, 2011
Runtime
comparison for
six-degree-of-
freedom flight
simulation code
15
GPU Co-Processor for Robot Control
• Current paradigm:
– Sensors feed microprocessor
– Microprocessor computes control (autopilot)
Sensors
Micro-
processor
Control Inputs
GPU Co-Processor for Robot Control
• New paradigm:
– Sensors feed microprocessor
– Microprocessor sends current state information to GPU co-
processor
– GPU propagates uncertainty and refines guidance solution
Sensors
Micro-
processor
Control Inputs
GPU Co-processor State
Uncertainty
Estimate
• Real-time Monte
Carlo Simulation
• Quantify uncertainty
Mathematical Foundation
• “Stochastic finite horizon optimal control”
• Dynamic model with stochastic forcing:
• Find control inputs that maximize cost function
– Cost computed as function of PDF over finite horizon
1 , 0,..., 1t t t tx f x u w t T
Stochastic forcing Robot dynamics
1
0
min min ,T
t t t T Tu U
t
J E g x u g x
Terminal cost Stage cost
functions
Mathematical Foundation
• Solving optimization problem requires knowledge of
state PDF over finite horizon
– State PDF is provided by GPU Monte Carlo trajectory
predictions!
– Optimization problem then solved using standard
methods
1
0
min min ,T
t t Tu U
t
t TJ E x u xg g
80 90 100 110 120 130 140 150 160-30
-20
-10
0
10
20
30
Range (m)
Cro
ss R
ange (
m)
Range (m)
Deflection (
m)
5080 5100 5120 5140 5160 5180 5200
-40
-30
-20
-10
0
10
20
30
40
50
Target
Functions of state PDF
Example: Autonomous Parafoils
• Autonomous parafoils widely in use to delivery
supplies – cheap and portable
• Automation & Control is challenging:
– Underactuation (can only bank right and left)
– Stochastic forcing: wind gusts!
– Model error: flexible body, dynamics vary flight-to-flight
– Sensing error: Emphasis on low-cost sensors
Strongly stochastic system!
Current systems can land only
within 100 m of target.
20
Challenging Dropzones
• Need control systems that get close to target
– But more importantly do not miss in wrong direction!
Notional desired
landing location
Martian Grand Canyon (Melas Chasma) Banda Aceh, Indonesia following
2004 tsunami
Parafoil Terminal Guidance
• Standard approach geometry
• Approach target downwind
• Turn at proper time with turn
rate 𝜓 (𝑡)
• Land heading into the wind
• Current systems plan final
turn assuming perfect
knowledge of winds
• If winds change during turn,
parafoil misses target
GPU-Based Parafoil Terminal Guidance
• Through massively-parallel Monte Carlo’s, GPU selects
approach path most robust to wind disturbances
F
( )t
3 example trajectory paths:
• Sharp right turn
• Shallow right turn
• Medium left turn
Candidate Trajectories
Constructed by:
• Discretizing turn rates
into N possible values
• Discretizing turn times
into M possible values
23
GPU-Based Parafoil Terminal Guidance
• GPU-Based Guidance Workflow
• Monte Carlo’s performed for each trajectory shape
– Optimal shape selected that is most robust to disturbances
Simulation Results
• Example simulation – Wind shift during final turn
• Baseline trajectory (black) lands
far from target due to change in
wind
• Trajectory penalizing error only
performs hard left turn to
dissipate altitude, lands with
almost no error but with
crosswind
• Trajectory penalizing error and
velocity trades impact error to
land into wind
Target
Wind
Wind
mJ d
mJ d kv
GPU
Updates
Simulation Results
• Example Results: Autonomous Parafoils
-300 -200 -100 0 100 200 300-300
-200
-100
0
100
200
300
Cross Range (ft)
Range (
ft)
-300 -200 -100 0 100 200 300-300
-200
-100
0
100
200
300
Cross Range (ft)
Range (
ft)
Standard Parafoil Guidance GPU-Based Optimal Guidance
J. Rogers, N. Slegers, “Robust Parafoil Terminal Guidance Using Massively Parallel Processing,” Journal
of Guidance, Control, and Dynamics (AIAA), In Press, 2014.
20% 2%
Simulation Results
• Through simple modification to cost function, terrain
awareness incorporated
J. Rogers, N. Slegers, “Terminal Guidance for Complex Drop Zones Using Massively Parallel Processing,”
2013 AIAA Aerodynamic Decelerator Systems Conference, Daytona Beach, FL, 25-28 March, 2013.
Standard GPU-Based Standard GPU-Based
Experimental Tests
• Powered parafoil constructed to verify simulation results
Canopy Span 6.8 ft
Weight 6 lbs
Forward Speed 14.7 kts
Descent Rate 13.5 ft/s
Max Turn Rate 30 deg/s
Endurance (while
powered)
~15 minutes
Flight Control Architecture Design
• Flight system hardware
Autopilot
Serial Connector
Cable
GPU-ARM
Board (SECO)
GPU Battery (4 cell LiPo) Autopilot Battery
Flight Control Architecture Design
• Guidance system workflow:
– Autopilot controls vehicle
– GPU provides autopilot with optimal path to fly
Autopilot
• GPS
• Baro altimeter
• Gyros
• Accelerometers
• Magnetic
compass
• Wireless comms
• Servo drivers
GPU
NVIDIA Quadro
1000 M (96 cores)
ARM
NVIDIA Tegra 3
ARM Quad-Core
Mobile Processor
SECO CUDA-On-ARM Dev. Board
Parafoil
State • Position
• Velocity
• etc.
Optimal
Trajectory • Turn rate
• Appr. angle
• Turn time
Optimization
Problem Brake
Commands
Example Flights
• GPU-guided case successfully avoids constraint,
standard guidance case does not
-150 -100 -50 0 50 100 150-250
-200
-150
-100
-50
0
Dow
nra
nge (
m)
Crossrange (m)
Parafoil Position
Projected Impact Point
Target
GPU Updates
Standard Guidance GPU-Based Stochastic Guidance
-150 -100 -50 0 50 100 150
-250
-200
-150
-100
-50
0
Dow
nra
nge (
m)
Crossrange (m)
Parafoil Position
Projected Impact Point
Target
31
Example Flight
• GPU Optimal Trajectory Outputs
0 5 10 15 20 25 30 35-50
0
50
time (s)
Turn
Rate
(deg/s)
0 5 10 15 20 25 30 35-200
0
200
time (s)
F (
deg)
0 5 10 15 20 25 30 350
10
20
time (s)
Turn
Tim
e (
s)
0 5 10 15 20 25 30 35-10
-5
0
5
10
Time (s)
Bra
ke (
in)
GPU Trajectory solutions
• Four GPU solutions show commands
to initiate left turn to create space
from constraint, then final right turn
to approach target.
Dispersion Comparisons
• 11 standard flights, 12 GPU-based flights
-200 -150 -100 -50 0 50 100 150 200-200
-150
-100
-50
0
50
100
Crossrange (m)
Dow
nra
nge (
m)
-200 -150 -100 -50 0 50 100 150 200-200
-150
-100
-50
0
50
100
Crossrange (m)
Dow
nra
nge (
m)
Standard Guidance GPU-Based Stochastic Guidance
• GPU impacts “hug constraint” as seen in simulation
• Missing constraint comes at penalty of somewhat larger miss distance
72% 17%
33
Video of GPU-Guided Flight Trajectory
34
Conclusion and Final Remarks
• Stochastic guidance and control will become
increasingly important for robotic systems
– GPU enables real-time uncertainty propagation
– Have shown its utility in variety of control tasks
– Extensions underway to many other applications
UAV’s HEV’s Ground
Robots
35
Conclusion and Final Remarks
• Stochastic guidance and control will become
increasingly important for robotic systems
– GPU enables real-time uncertainty propagation
– Have shown its utility in variety of control tasks
– Extensions underway to many other applications
• Research represents first time GPU has been flown
on aerial robotic system for control purposes.
UAV’s HEV’s Ground
Robots
36
Questions
• Thanks for attending!