Post on 19-Jun-2015
transcript
Ben Gardiner, Travis Cooper, Matthew Haveard, Waseem Ahmad
Everything You Need to Know aboutMixed Integer Linear Programming
Outline
I. Overview of MILP
II. Existing UAV path planning Implementations
III. Our Implementation
a. Common Constraints
b. Significant Variables
c. Improvements
IV. Results
V. Future Improvements
Mixed Integer Linear Programming
● Used to solve problems formulated as systems of linear constraints
● A solver, like Gurobi, can find the most optimal solution if given enough time
● Originally designed for offline problems, like crop planning
Prior Usages with UAVs
● Plan most effective concolliding paths for UAVs
● Computationally intensive
● More than a minute to find the best path
MILP Collision Avoidance
t=72.713 dt=2
Receding Horizon Control (RHC)
● Reduce computation time by having multiple smaller calculations
● Get a portion of a path solved
● Resolve new path by the time UAVs have reached end of previous path.
Connected Components
● Creates multiple problems that can be solved simultaneously
● Select a subset of UAVs that are close to each other
● Solve that subset as a component that has no relevance to other components
Commonly Used Constraints
● Dynamics Constraint – so UAVs conform to real world physics
● Maximum Speed and Force – physical constraints specific to UAVs
● Separation Distance – Distance that must be maintained between UAVs
Physical Dynamics Constraint
∀ p∈[1... N ]∀ i∈[0...T−1 ]si1 p=A p sipB p f ip
∀ p∈[1... N ]∀ i∈[0...T−1 ]si1 p=A p sipB p f ip
The next state must always be equal to force and velocity vectors added to current state
Maximum Speed and Force
The next state must always be inside of a polygon which represents maximum speed and force
Separation Distance
UAVs must always maintain a minimum distance from each other
New Constraint: Minimum Speed
statet1
statet
Significant Variables
●Standard Implementation
●RHC
●Connected Components
Variables from Prior Implementations
● Size of timesteps (dt)
● Number of timesteps (Nt)
● Separation Distance (d)
● Time to solve (T)
RHC/Connected Components Variables
● Horizon Length
● Component Threshold Distance
● Recalculation Point
● Number of waypoints given
Paths Planned Fully
Paths Planned Fully
Computation Time: 865.9s
Vehicle 1 Completion Time: 159
Vehicle 2 Completion Time: 138
Vehicle 3 Completion Time: 118
Paths Planned using RHC
Paths Planned using RHC
Vehicle 1 Completion Time: 160
Vehicle 2 Completion Time: 143
Vehicle 3 Completion Time: 125
Number of Infeasible Solutions Returned: 20
Number of Feasible Solutions Returned: 139
Mean Iteration Computation Time: 0.0676489431153
Net Computation Time: 10.7561819553
ComparisonPaths Planned Fully Paths Planned using RHC
Total Computation time: 865.9s
Total Computation time: 10.75618s
ResultsRealtime Flight Simulated using ROS
Number of UAVs: 3
Number of Waypoints per UAV: Unlimited Random (only achieved shown)
Field Size: 1000m x 1000m (Flight Map scaled to 10m/unit)
Flight Time: 300s
UAV Speed: 11.76 m/sMean Iteration Computation Time: 0.0573s
Distance actual/distance minimum: 1.046
Results
ResultsRealtime Flight Simulated using ROSNumber of UAVs: 6
Number of Waypoints per UAV:: Unlimited Random (only achieved shown)
Field Size: 1000m x 1000m (Flight Map scaled to 10m/unit)
Flight Time: 300s
UAV Speed: 11.76 m/sMean Iteration Computation Time: 0.107s
Distance actual/distance minimum: 1.063
Results
Results
Results
Conclusions● MILP implemented through RHC with
Connected Components works very well● The interactions between the ROS
framework and the MILP solver become unstable with large amounts of UAVs
● There is a lack of concurrency between the information from ROS and the found solutions
Possible Future Research
● Improve relations between MILP and ROS
● Dynamic RHC
● Smart Connected Components
The End