title: Java pathfinding in a real 2D area
body: <p>I'm making a research project on orientating an RC car using raspberry pi and a LIDAR 2D scanner. Basically a car will run through the place with scanner to get 2D representation of the place, and then it will return to the starting point. After that you will be able to select a point in place and it would find a path in it. Since I’m pretty much a starter in programming it will be probably almost impossible to do that in 1 month but I’ll try my best :) Well what I wanted to know for now is which algorithm for pathfinding should I use? Since the resolution of 2D place will be around 5000 x 5000 "pixels" that would represent the place in centimeters I believe that I’ll need quite an efficient one. Is there any specific algorithm that would work fast enough on a raspberry pi to do the job almost instantly? If there is, is there any efficient implementation?</p>
  
  <p>Some additional info: 
  I’m using a “Pixel” 2D array in which values mean this:</p>
  
  <pre><code>EMPTY_SPACE = 0
  FILLED_SPACE = 1
  START_POINT = 2
  END_POINT = 3
  PROCESSING = 4
  PROCESSED = 5
  VISUAL_ASSISTANCE_POINTS = 6
  </code></pre>
  
  <p>Also they have second, optional parameter which means distance to  the end point since I’ve found that necessary for the pathfinding.</p>
  
  <p>You might find this a dupe of this: <a href="https://stackoverflow.com/questions/3300827/pathfinding-in-2d-arrays">Pathfinding in 2D Arrays</a>, but I didn't really find a solution for all of my questions since I'm searching for more specific answer.</p>
  
  <p>EDIT:</p>
  
  <p>I found <a href="https://code.google.com/p/a-star-java/source/browse/AStar/src/aStar/?r=7" rel="nofollow noreferrer">this</a> code implementing A* algorithm, but i find it very slow... Is there any way of speeding it up? I used image related below to test it out and it took around 80 minutes to solve.</p>