1 / 14

Dave Lattanzi’s Laplace Planner

Dave Lattanzi’s Laplace Planner. Laplace Solution. Store node charges as a dictionary Originally used state variables and nodeList Find Laplace solution and store in new dictionary Not a continuously updated field. Path Finding. Search for neighbor with minimum charge difference

borka
Download Presentation

Dave Lattanzi’s Laplace Planner

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dave Lattanzi’s Laplace Planner

  2. Laplace Solution • Store node charges as a dictionary • Originally used state variables and nodeList • Find Laplace solution and store in new dictionary • Not a continuously updated field

  3. Path Finding • Search for neighbor with minimum charge difference • Store as a dictionary of previous nodes

  4. Results • Numerical issues • What’s a good initial charge value? • What’s a good tolerance • Gets stuck at local minima (shouldn’t happen) • Can find path if initialized properly

  5. LaPlace Implementation Ryan Keedy 5/4/2012

  6. Algorithm • Average surrounding nodes • If using 4 nodes, measure distance, and only average adjacent node values one unit away • Average in 1.0 for each node short of expected • Store values in “state” variable • Color code the map according to values • Continue until the start node has been assigned a new value (non-initialized) • Create the path without complicated math • Simply work from the start, progressing along neighbors with the smallest calculated values

  7. Decisions to be Made • How to initialize nodes • Any value below 1.0 will promote local minima • “Convergence” takes longer • 4 vs. 8 nodes • 8 nodes can propagate calculations faster along diagonals • By picking an arbitrary cutoff value, there are two possible bad outcomes • Everything was initialized at 1.0, and the averaging process hasn’t propagated to the start node • Other initialization value may result in local minima • One problem with stopping when the start node is reached is that path may not be as smooth or “optimized”

  8. Liang-Ting Jiang

  9. Liang-TIng Jiang Laplace Path Planner # Update value: mean of 8 neighbors def computeLaplacian(self): # Identify boundary and free nodes def FindBoundary(self): Initial value: Boundary: 1.0 Free: 0.5 Goal: 0.0 # Greedily follow the lowest value def FollowGradient(self, start, goal): # Visualize the Laplacian values as a grey map def GreyMap(self, drawList):

  10. Laplace Planner – A Lewis • Assumes nodes neighboring walls are walls themselves • 500+ iterations of non-parallel computing • Walls – 10000 • Empty - 5000

  11. Issues/Solutions? • Occasionally gets stuck • Try to minimize data thrown around • Change area of interest – grow from goal?

  12. MatLab Solution a=imread('LittleMap.jpg','jpg');%Imports Image imshow(a) %Displaces map to be processed figure(1) map=rgb2gray(a); %Creates Matrix Map to be manipulated figure(2) Simple image to start with, Black=Wall White=Goal Gray= Area for paths

  13. imshow(map) i=2; j=2; [I,J]=size(map) %% DIFFERENTIATION 1 while (i<I) while (j<J); Mapnew(i,j)=(map(i-1,j)+map(i+1,j)+map(i,j-1)+map(i,j+1))/4; j=j+1; end i=i+1; j=2; end i=2; j=2; %%DIFFERENTIATION 2 while (i<I-1) while (j<J-1); Mapnew1(i,j)=(Mapnew(i-1,j)+Mapnew(i+1,j)+Mapnew(i,j-1)+Mapnew(i,j+1))/4; j=j+1; end i=i+1; j=2; end

  14. Current Results Contours plot shows great results around edges. Needs to continue to slop toward goal!!!

More Related