MILP-basierte Optimalsteuerung kooperativer Multi-Vehikel
Transcription
MILP-basierte Optimalsteuerung kooperativer Multi-Vehikel
MILP-basierte Optimalsteuerung kooperativer Multi-Vehikel-Systeme GMA-Fachausschuss 1.40 „Theoretische Verfahren der Regelungstechnik“ Salzburg, 22.09.2009 y 111 000 000 111 ? x . ? ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 1 Examples of cooperative multi-robots / multivehicle systems cooperative fire surveillance mobile assistance in wireless sensor networks source: www.aware-project.net cooperative robot games source: www.robocup.org warehouse automation www.kivasystems.com ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 2 Cooperating mobile robots / vehicles: discrete decisions and trajectory planning Robot team competition: Tight coupling of I robots’ motion dynamics and I role distribution, I task assignment. source: www.robocup.org ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 3 Cooperating mobile robots / vehicles: discrete decisions and trajectory planning Robot team competition: Tight coupling of I robots’ motion dynamics and I role distribution, I task assignment. source: www.robocup.org Monitoring with unmanned aerial vehicles: Tight coupling of I vehicle specific dynamics and I target assignment, I waypoint sequencing. source: www.comets-uavs.org ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 3 Current research topics I appropriate modeling of the multi-vehicle system I model reduction and abstraction I system analysis and optimization I planing and control methods for cooperative multi-vehicle-systems I application to heterogeneous hardware and various scenarios ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 4 Current research topics I appropriate modeling of the multi-vehicle system I model reduction and abstraction I system analysis and optimization I planing and control methods for cooperative multi-vehicle-systems I application to heterogeneous hardware and various scenarios ⇒ optimal control of cooperation ⇒ consistent bridging of the gap between ”exact“ methods and heuristic approaches ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 4 Modeling Cooperative Multi-Vehicle Systems MILP-based Optimal Control of Cooperating Multi-Vehicle Systems Towards On-line MPC Summary and Outlook ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 5 Problem formulation single vehicle i: I locomotion ẋi = fiqi (xi (t), ui (t)) I constraints giqi (xi (t), ui (t)) ≤ 0 I allowable sequences of tasks/roles: r i (bqi i (ts − 0), bqi i (ts + 0)) ≤ 0 bqi i (t) ∈ {0, 1}, qi ∈ {1, ..., Li } ts ∈ {tk |k = 1, ..., ns }: switching time v x ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 6 Problem formulation cooperative system (i1 , i2 ∈ {1, ..., nv }): single vehicle i: I locomotion ẋi = fiqi (xi (t), ui (t)) I collision avoidance gcoll (xi1 (t), xi2 (t)) ≤ 0 I constraints giqi (xi (t), ui (t)) ≤ 0 I I allowable sequences of tasks/roles: underlying geometrical structure binary variables: bq (t) ∈ {0, 1} mixed constraints [bq (t) = 1 ⇒ Cq (xi1 (t), xi2 (t)) ≤ 0] I optimal cooperation Φ(x(t), u(t), b(t)) → min r i (bqi i (ts − 0), bqi i (ts + 0)) ≤ 0 bqi i (t) ∈ {0, 1}, qi ∈ {1, ..., Li } ts ∈ {tk |k = 1, ..., ns }: switching time v x ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 6 Hybrid automata H = (V , E , X, U, ini, f, j, i, e) I Basic components [Henzinger, 2000]: finite directed multigraph with knots in V (states) and edges in E (switches) X: set of continuous state variables U: set of continuous control variables ini: map which assigns an initial condition to each edge i: assigns feasible region of state variables to each knot (inequality, equality constraints) f: flow equation or state dynamics for each state j: jump conditions at edges e: events at edges that occurring at switching times I Advantages and extensions: (V , E ): I I I formal semantics Extension by hierarchies Extension by concurrency abstraction on different levels modeling of multiple vehicles ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 7 Hybrid Automaton: resulting trajectories (q1 , q1 ) ∈ E (q2 , q1 ) ∈ E q1 q2 f: ẋ = fq2 (x, u, t) i: gq2 (x, u, t) ≤ 0 f: ẋ = fq1 (x, u, t) i: gq1 (x, u, t) ≤ 0 (q1 , q2 ) ∈ E jump conditions and events x(t) flow condition final condition x(tf ) ẋ = fq1 () ẋ = fqns −1 () initial x(t0 ) condition ẋ = fqns () t t0 ts,1 ts,2 ts,ns −2 switching times I rules defining feasible sequences of switches ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 8 ts,ns −1 tf Example 1: robot soccer y 111 000 000 111 x I two controllable attackers (discrete tasks) I one indirect controllable ball (switched motion dynamics) I one reactive defender ⇒ dynamically changing environment Open issues: I optimize attackers chances for a considered time horizon I simultaneous task allocation and trajectory planning ⇒ long term goal: model predictive control ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 9 Example 1: basic hybrid automaton Game is running Player 1 dribbles ball i: dist1,B ≤ εdribble j: dist1,B ≤ εdribble e: catch(1) e: kick(1) Ball free j: |xB | ≥ xfield j: |yB | ≤ ygoal e: goal Ball in goal . Player 2 dribbles ball i: dist1,B > εdribble i: dist2,B > εdribble e: kick(2) i: dist2,B ≤ εdribble i: dist1,D ≥ γ1,D i: dist2,D ≥ γ2,D . j: dist2,B ≤ εdribble e: catch(2) i: dist1,2 ≥ γ1,2 i: distD,B ≥ γD,B i: xB ∈ field ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 10 i: xB ∈ goal Example 1: basic hybrid automaton Game is running Player 1 dribbles ball f: ẍ1 = f1,B (x1 , ẋ1 , u1 ) f: ẍ2 = f2 (x2 , ẋ2 , u2 ) f: ẍB = f1,B (x1 , ẋ1 , u1 ) i: dist1,B ≤ εdribble i: g1,B (ẋ1 , u1 ) ≤ 0 i: g2 (ẋ2 , u2 ) ≤ 0 . Player 2 dribbles ball f: ẍ1 = f1 (x1 , ẋ1 , u1 ) f: ẍ2 = f2,B (x2 , ẋ2 , u2 ) f: ẍB = f2,B (x2 , ẋ2 , u2 ) i: dist2,B ≤ εdribble i: g1 (ẋ1 , u1 ) ≤ 0 i: g2,B (ẋ2 , u2 ) ≤ 0 f: ẋD = fD (x1 , x2 , xB ) i: dist1,D ≥ γ1,D i: dist2,D ≥ γ2,D j: dist1,B ≤ εdribble e: catch(1) e: kick(1) Ball free f: ẍ1 = f1 (x1 , ẋ1 , u1 ) f: ẍ2 = f2 (x2 , ẋ2 , u2 ) f: ẋB = fB (xb ) i: dist1,B > εdribble i: dist2,B > εdribble i: g1 (ẋ1 , u1 ) ≤ 0 i: g2 (ẋ2 , u2 ) ≤ 0 e: kick(2) j: dist2,B ≤ εdribble e: catch(2) i: dist1,2 ≥ γ1,2 i: distD,B ≥ γD,B i: xB ∈ field ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 10 j: |xB | ≥ xfield j: |yB | ≤ ygoal e: goal Ball in goal f: f: f: f: ẋ1 = 0 ẋ2 = 0 ẋB = 0 ẋD = 0 . i: g1 (ẋ1 , u1 ) ≤ 0 i: g2 (ẋ2 , u2 ) ≤ 0 i: xB ∈ goal Modeling Cooperative Multi-Vehicle Systems MILP-based Optimal Control of Cooperating Multi-Vehicle Systems Towards On-line MPC Summary and Outlook ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 11 Control of multi-vehicle / multi-robot systems non-linear hybrid optimal control: [Glocker; Barton & Lee, Rantzer... ] I transformation into finite MINLP I needs initial guesses and bounds I maximum principle I disjunctive programming [Sussmann ’99] [Oldenburg & Marquardt ’06] in practice: I heuristic approaches to cover all expected situations (e.g. state machines [RoboCup]) I very task specific solutions I assumptions are just roughly inspired by physics high-dimensional mixed-integer NLP ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 12 no optimality Control of multi-vehicle / multi-robot systems in practice: non-linear hybrid optimal control: [Glocker; Barton & Lee, Rantzer... ] I transformation into finite MINLP I needs initial guesses and bounds I maximum principle I disjunctive programming [Sussmann ’99] I heuristic approaches to cover all expected situations (e.g. state machines [RoboCup]) I very task specific solutions I assumptions are just roughly inspired by physics [Oldenburg & Marquardt ’06] high-dimensional mixed-integer NLP m MILP-based optimal control no optimality m [How ’02, D’Andrea ’05; Bemporad, Stursberg, Engell ...] I physics-based approximation I numerical robustness and efficiency of MILP-solvers I extension mpMILP for stable MPC I globally optimal without need of guesses ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 12 From HOCP to MILP-based optimal control: linearization and hybridization minimize Zts ns Φ= L(x(t), u(t)) dt) ∑ (ϕs (x(ts ), u(ts ), ts ) + s=1 ts−1 subject to (∀ i, j, q :) (dynamics) ẋi = fiq (xi (t), ui (t)) 0 ≤ giq (xi (t), ui (t)) 0 ≤ hiq (xi (t)) (mixed constr.) bq,i,j (t) = 1 ⇒ Cq (xi (t), xj (t)) ≤ 0 ns nv (logical constraints) Lq ≤ ∑ ∑ ∑ ±bi,q (ts ) q s=1 i=1 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 13 From HOCP to MILP-based optimal control: linearization and hybridization minimize Φ= minimize Zts ns ∑ ψk · (x(k), u(k))T L(x(t), u(t)) dt) ∑ (ϕs (x(ts ), u(ts ), ts ) + s=1 k ts−1 subject to (∀ i, j, q, k :) subject to (∀ i, j, q :) (dynamics) ẋi = fiq (xi (t), ui (t)) 0 ≤ giq (xi (t), ui (t)) 0 ≤ hiq (xi (t)) (mixed constr.) bq,i,j (t) = 1 ⇒ Cq (xi (t), xj (t)) ≤ 0 ns nv (logical constraints) Lq ≤ ∑ ∑ ∑ ±bi,q (ts ) q s=1 i=1 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 13 From HOCP to MILP-based optimal control: linearization and hybridization minimize Φ= minimize Zts ns ∑ ψk · (x(k), u(k))T L(x(t), u(t)) dt) ∑ (ϕs (x(ts ), u(ts ), ts ) + s=1 k ts−1 subject to (∀ i, j, q, k :) subject to (∀ i, j, q :) (dynamics) ẋi = fiq (xi (t), ui (t)) xi (k + 1) − xi (k) =∆t (Aiq xi (k) + Bqi ui (k)) Cig ,q ≤Gig ,q · (xi (k), ui (k))T 0 ≤ giq (xi (t), ui (t)) Cih,q ≤Gih,q · (xi (k))T 0 ≤ hiq (xi (t)) (mixed constr.) bq,i,j (t) = 1 ⇒ Cq (xi (t), xj (t)) ≤ 0 ns nv (logical constraints) Lq ≤ ∑ ∑ ∑ ±bi,q (ts ) q s=1 i=1 I linearized difference equation I fixed sampling time ∆t I polygonal approximation I hybridization [e.g. Girard ’07] ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 13 From HOCP to MILP-based optimal control: linearization and hybridization minimize Φ= minimize Zts ns ∑ ψk · (x(k), u(k))T L(x(t), u(t)) dt) ∑ (ϕs (x(ts ), u(ts ), ts ) + s=1 k ts−1 subject to (∀ i, j, q, k :) subject to (∀ i, j, q :) (dynamics) ẋi = fiq (xi (t), ui (t)) xi (k + 1) − xi (k) =∆t (Aiq xi (k) + Bqi ui (k)) Cig ,q ≤Gig ,q · (xi (k), ui (k))T 0 ≤ giq (xi (t), ui (t)) 0 ≤ hiq (xi (t)) (mixed constr.) bq,i,j (t) = 1 ⇒ Cq (xi (t), xj (t)) ≤ 0 Cih,q ≤Gih,q · (xi (k))T eq (xi (k), xj (k))T bq,i,j (k) · M ≥C ns nv (logical constraints) Lq ≤ ∑ ∑ ∑ ±bi,q (ts ) q s=1 i=1 I big-M formulation ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 13 From HOCP to MILP-based optimal control: linearization and hybridization minimize Φ= minimize Zts ns ∑ ψk · (x(k), u(k))T L(x(t), u(t)) dt) ∑ (ϕs (x(ts ), u(ts ), ts ) + s=1 k ts−1 subject to (∀ i, j, q, k :) subject to (∀ i, j, q :) (dynamics) xi (k + 1) − xi (k) =∆t (Aiq xi (k) + Bqi ui (k)) ẋi = fiq (xi (t), ui (t)) Cig ,q ≤Gig ,q · (xi (k), ui (k))T 0 ≤ giq (xi (t), ui (t)) Cih,q ≤Gih,q · (xi (k))T 0 ≤ hiq (xi (t)) (mixed constr.) bq,i,j (t) = 1 ⇒ Cq (xi (t), xj (t)) ≤ 0 eq (xi (k), xj (k))T bq,i,j (k) · M ≥C ns nv (logical constraints) Lq ≤ ∑ ∑ nk nv eq ≤ ∑ L ∑ ±bi,q (ts ) q k=1 i=1 q s=1 i=1 non-linearity ∑ ∑ ±bi,q (k) discrete structure ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 13 Objective function Φ(x(t), u(t), b(t)) y (x2, y2) For fixed [t0 , tf ] regarding I state variables x(k) (e.g. positions, distances), I incidence of discrete states b(k) (e.g. goal, ...), I control variables u(k) (e.g. energy input, acceleration). (xB , yB ) 11 00 00(x 11 (x1, y1) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 14 x D , yD ) Objective function Φ(x(t), u(t), b(t)) y (x2, y2) For fixed [t0 , tf ] regarding (xB , yB ) I state variables x(k) (e.g. positions, distances), I incidence of discrete states b(k) (e.g. goal, ...), I control variables u(k) (e.g. energy input, acceleration). 11 00 00(x 11 x D , yD ) (x1, y1) I minimization of energy or “control efforts” for visiting all waypoints Z tf min ? 0 . ? ux (t)2 + uy (t)2 dt min ∑k rk · ∆t (lin. approx.) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 14 (HOCP) Numerical results: robot soccer 200 100 100 x(t) yi(t) optimal trajectories (x- and y-positions): 200 200 150 0 100 0 50 −100 0 2 4 time [s] 6 8 −100 0 2 4 time [s] 6 8 0 −50 respective optimal control: 40 20 20 −20 −20 ux(t) 0 uy(t) 40 −40 0 −100 −150 0 2 4 time [s] 6 8 −400 −200 −300 2 4 6 8 12 timesteps: 1135 var., 1692 constr. I linearized dynamics: xk+1 = xk + ∆t vk , vk+1 = vk + ∆t uk −100 0 100 200 300 solved with CPLEX in 9 sec. I computing time strongly depends on initial setting time [s] I −200 I PC with Intel Pentium M processor (1.86 GHz); 1GB RAM ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 15 Example vehicles 2: Monitoring ? with cooperating I vehicle-specific motion dynamics (constraints on maximum velocities, controls...) I certain areas have to be visited during the mission Extensions: . ? I structured environment, obstacles I required connectivity I dense spatial distribution of many overlapping areas I ... ⇒ (non-linear) optimal control subject to motion dynamics and heterogeneous, switched constraints ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 16 Numerical results: cooperative monitoring optimal trajectories (x- and y-positions): 500 400 300 200 100 respective optimal control: 0 −100 −100 0 100 200 300 400 500 linearized dynamics: xk+1 = xk + ∆t vk , vk+1 = vk + ∆t uk I I simultaneous waypoint sequencing and trajectory optimization I solved with CPLEX in 70.2 sec. PC with Intel Pentium M processor (1.86 GHz); 1GB RAM ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 17 Modeling Cooperative Multi-Vehicle Systems MILP-based Optimal Control of Cooperating Multi-Vehicle Systems Towards On-line MPC Summary and Outlook ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 18 Model predictive control for discrete time linear systems I I studied well for MLD and PWA systems [Bemporad, Morari, ...] sophisticated implementation: Multi-Parametric Toolbox for Matlab [Kvasnica, Grieder, Baotić; ETHZ] ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 19 Model predictive control for discrete time linear systems I I studied well for MLD and PWA systems [Bemporad, Morari, ...] sophisticated implementation: Multi-Parametric Toolbox for Matlab [Kvasnica, Grieder, Baotić; ETHZ] Example 3: Observing multiple targets with cooperating vehicles: I multiple cooperating robots I multiple (moving) targets I a target is observed, if its position is within the robots observation radius R maximize amount and duration of observations ⇒ Discrete-valued optimal control problem subject to motion dynamics and switched constraints I ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 19 Results: MILP-model - MPC with online optimization Example: 5 robots, 8 targets, 15 timesteps 300 300 200 200 T3 T3 T2 100 100 T1 T1 0 −100 T8 0 −100 T6 −300 −300 −200 T6 T4 −200 −100 0 x −200 100 200 300 MILP (k) (k) ∑ ∑ |ur ,x | + |ur ,y | = 703.46 k T5 T7 T8 y y T2 T5 T7 r −300 −300 −200 −100 T4 0 x 100 200 300 model predictive control (k) (k) ∑ ∑ |ur ,x | + |ur ,y | = 744.02 k ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 20 r Comparison MILP-model - Online-MPC-controller (thanks to J. Kuhn) Example: 5 robots, 8 targets, 15 timesteps solving MILP-model: MPC with online optimization:1 I full optimal control problem with 15 timesteps I 15 MPC calls with prediction horizon of 5 timesteps I 10366 constraints I 3060 inequality constraints 1936 variables I 706 Variables computing time: 2.39h (!) (suboptimal solution after 60 s) I computing time: 15 · 0.128 s = 1.92 s I I open-loop closed-loop 1 Matlab MPT-toolbox using CPLEX; running on a PC ( Intel Pentium 4 (3.00GHz), 1GB RAM) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 21 Modeling Cooperative Multi-Vehicle Systems MILP-based Optimal Control of Cooperating Multi-Vehicle Systems Towards On-line MPC Summary and Outlook ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 22 Summary and outlook Summary: I physics-motivated modeling, analysis and optimization takes account for tight coupling of discrete states and continuous vehicle trajectories, I MILP enables an efficient simultaneous optimization of cooperation and mobility, I appropriate for motion dynamics with moderate non-linearity, I first promissing results with MPC-approaches, ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 23 Summary and outlook Summary: I physics-motivated modeling, analysis and optimization takes account for tight coupling of discrete states and continuous vehicle trajectories, I MILP enables an efficient simultaneous optimization of cooperation and mobility, I appropriate for motion dynamics with moderate non-linearity, I first promissing results with MPC-approaches, Ongoing and related work: I manage diskrete structure in multi-parametric computation, I extension to more realistic models (e.g. considering uncertainties), I beneficial combinations with nonlinear approaches and CLP, ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 23 Vielen Dank für Ihre Aufmerksamkeit! [email protected] http://www.sim.tu-darmstadt.de http://www.gkmm.tu-darmstadt.de Zugehörige Veröffentlichungen: I Optimalsteuerung kooperierender Mehrfahrzeugsysteme Reinl, Glocker, von Stryk; In: at-Automatisierungstechnik, 2009 I Optimal Control of Multi-Vehicle Systems Under Communication Constraints Using Mixed-Integer Linear Programming Reinl, von Stryk; In: Proc. 1st Int. Conf. on Robot Communication and Coordination, 2007 I Optimal Control of Cooperative Multi-Robot Systems Using Mixed-Integer Linear Programming Reinl, von Stryk; In: Proc. RoboMat, 2007 Nonlinear hybrid optimal control I various motion dynamics given by non-linear ODE I modeling with hybrid automata I transformation to finite NLP with direct collocation and binary variables I solved with large-scale SQP-method SNOPT I Branch-and-bound-techniques I benchmark with multiple motorized traveling salesmen: non-convex, some N P -hard, sparse, mixed-integer nonlinear problem jump conditions and events x(t) flow condition final condition x(tf ) ẋ = fq1 () ẋ = fqns −1 () initial x(t0 ) condition ẋ = fqns () t t0 ts,1 ts,2 ts,ns −2 ts,ns −1 tf switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 25 Model of Physical Methodologies Properties and different hybrid automata to model the physics of MRS low structured highly structured simple flow conditions ?? ? ? constraint logic programming non−linear physics mixed−integer linear optimal control non−linear hybrid optimal control jump conditions and events x (t) flow condition final condition x (tf ) ẋ = fq1 () ẋ = fqns −1 () initial x (t0 ) condition ẋ = fqns () t t0 ts,1 ts,2 ts,ns −2 ts,ns −1 tf switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 26 (q1 , q1 ) ∈ E q1 f: ẋ = fq1 (x, u, t) i: gq1 (x, u, t) ≤ 0 (q2 , q1 ) ∈ E q2 f: ẋ = fq2 (x, u, t) i: gq2 (x, u, t) ≤ 0 (q1 , q2 ) ∈ E Modeling: hybrid automata I transitions: bs (t + ε) ≤ ∑ bp (t) p∈S ∗ state p1 state s state p2 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 27 Modeling: hybrid automata I transitions: bs (t + ε) ≤ ∑ bp (t) p∈S ∗ state s state p1 state p3 state p2 I hierarchies: bs (t) = ∑ bp (t) p∈S ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 27 Modeling: hybrid automata I transitions: bs (t + ε) ≤ ∑ bp (t) p∈S ∗ state s state p1 state p3 state p2 I hierarchies: bs (t) = ∑ bp (t) p∈S I transformation of associated constraints using ’big-M’-method e.g.: [bq (t) = 1] ⇔ [c(x(t)) ≥ C ] [Williams ’96] is equivalent to bq (t) · m < C − c(x(t)) ≤ (1 − bq (t))M [bq ∈ {0, 1}; m ≤ min{c(x) − C }; M ≥ max{c(x) − C } (const.)] ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 27 Example: Farthest Shoot on Goal “What is the longest possible distance that a ball may roll towards the goal if at least one pass is required?” y (x2, y2) (xB , yB ) 11 00 00(x 11 x D , yD ) (x1, y1) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 28 Example: Farthest Shoot on Goal “What is the longest possible distance that a ball may roll towards the goal if at least one pass is required?” additional constraint: N+1 ∑ b(2) (k) ≥ 1, k=1 y (x2, y2) (xB , yB ) 11 00 00(x 11 x D , yD ) (x1, y1) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 28 N+1 ∑ b(4) (k) ≥ 1 k=1 Example: Farthest Shoot on Goal “What is the longest possible distance that a ball may roll towards the goal if at least one pass is required?” additional constraint: N+1 N+1 ∑ b(2) (k) ≥ 1, k=1 ∑ b(4) (k) ≥ 1 k=1 For a fixed time-horizon [t0 , tf ] minimize y min{distance + ε · (general requirements)} (x2, y2) u N (xB , yB ) e.g . = min{−|xB (tf )| + |yB (tf )| + ε · 11 00 00(x 11 x D , yD ) u [0 < ε 1 constant] ∑ | (x1, y1) ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 28 |ux,i | + |uy ,i |} k=1 i∈{1, 2} {z guarantees a unique solution } Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 Laplacian matrix: A = (bi1 ,i2 ) I A is constant between usually unknown switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I properties of the Laplacian: I Eigenvalues : 0 = λ1 ≤ λ2 ≤ ... ≤ λn nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 Laplacian matrix: A = (bi1 ,i2 ) I A is constant between usually unknown switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 properties of the Laplacian: I Eigenvalues : 0 = λ1 ≤ λ2 ≤ ... ≤ λn I The number of times λi = 0 appears is the number of connected components in the graph. Laplacian matrix: A = (bi1 ,i2 ) I A is constant between usually unknown switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 Laplacian matrix: A = (bi1 ,i2 ) I A is constant between usually properties of the Laplacian: I Eigenvalues : 0 = λ1 ≤ λ2 ≤ ... ≤ λn I The number of times λi = 0 appears is the number of connected components in the graph. Thus...: λ2 6= 0 ⇔ Graph connected unknown switching times ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Underlying graph structure (Communication constraints / Formation control) I adjacency funtion Ci , primarily depending on distance variables bi1 ,i2 ∈ {0, −1} Ci1 (xi1 , xi2 ) ≤ 0 [bi1 ,i2 = −1] :⇔ ∨ Ci2 (xi2 , xi1 ) ≤ 0 I properties of the Laplacian: I Eigenvalues : 0 = λ1 ≤ λ2 ≤ ... ≤ λn I The number of times λi = 0 appears is the number of connected components in the graph. nv bi1 ,i1 := − ∑ bi ,i . 1 2 i2 =1 i2 6=i1 Thus...: Laplacian matrix: A = (bi1 ,i2 ) I λ2 6= 0 ⇔ Graph connected A is constant between usually unknown switching times I λ2 is called “Fiedler value” or “algebraic connectivity” ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 29 Monitoring with 4 different vehicles in structured environment I 2 ground vehicles, 1 ship, 1 aerial vehicle I 13 timesteps 000000 111111 111111 000000 000000 111111 water 000000 111111 000000 111111 000000 111111 000000 111111 00 111111 11 000000 00 111111 11 000000 000000 111111 000000 111111 1 0 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 building 000000 111111 000000 111111 000000 111111 000000 111111 solid floor 000000 111111 00 11 000000 111111 00 11 000000 111111 00 11 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 30 Monitoring with 4 different vehicles in structured environment I 2 ground vehicles, 1 ship, 1 aerial vehicle positions and optimal controls: 200 2 100 13 timesteps 0 ux x −100 −1 −200 −300 0 −2 20 40 60 0 80 20 time [s] 400 40 time [s] 60 80 40 60 80 2 300 1 200 uy 000000 111111 111111 000000 000000 111111 water 000000 111111 000000 111111 000000 111111 000000 111111 00 111111 11 000000 00 111111 11 000000 000000 111111 000000 111111 1 0 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 building 000000 111111 000000 111111 000000 111111 000000 111111 solid floor 000000 111111 00 11 000000 111111 00 11 000000 111111 00 11 1 0 100 0 −1 y I 0 −2 −100 0 I 20 40 time [s] 60 80 0 20 time [s] solved with CPLEX in 79 min ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 30 Mixed Logical Dynamical (MLD) model of the Target Observation Problem Mixed Logical Dynamical (MLD) Framework: x(k + 1) = Ax(k) + B1 u(k) + B2 δ(k) + B3 z(k) y (k) = Cx(k) + D1 u(k) + D2 δ(k) + D3 z(k) E2 δ(k) + E3 z(k) ≤ E1 u(k) + E4 x(k) + E5 x ∈ Rnc × {0, 1}nb , u ∈ Rmc × {0, 1}mb , y ∈ Rpc × {0, 1}pb , δ ∈ {0, 1}rb , z ∈ Rrc T −1 Objective function: min u(0),...,u(T −1) |PT x(T )| + ∑ |Ru(k)| + |Qx(k)| k=0 ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 31 Ongoing work: MPC - off-line computation and on-line contol I I I solving a multi-parametric problem offline piecewise affine state feedback law u(x0 ) defined on a polyhedral partition on-line implementation uses a look-up table ©22.09.09 Christian Reinl | TU Darmstadt | Simulation, Systems Optimization, and Robotics | 32