I've currently built a quadrotor with standard PID controllers for attitude, angular rates, and position control. I now want to implement obstacle avoidance and path planning using A*. I have a stereo sensor that outputs depth maps, however I am not sure how to use depth maps to translate into the path planner.

Do I have to first use SLAM techniques to create a local map from the depth maps, and then use A* on that local map? Any relevant material is appreciated.


1 Answer 1


I would recommend using some sort of discretized local map. For 3D use octomap (https://octomap.github.io/) and 2D a grid map. But honestly, I would try the laziest option, putting each depth reading in octomap form and planning with it to see if a local map is really needed. Remember that you have to represent non-occupied space to use A*. The discretized representation of octomap is well suited for it.

Summing up,

Depth map reading -> To discretized octomap form -> Plan -> Repeat

  • $\begingroup$ Thank you very much. This helped a lot. Would you mind elaborating on "putting each depth reading in octomap form and planning with it to see if a local map is really needed"? I read the paper but don't quite fully grasp it. $\endgroup$
    – pterodon
    Feb 24, 2019 at 12:07
  • 1
    $\begingroup$ A local map, in general, is the mean of sensor readings (a LiDAR for instance), over a period of time to mitigate sensor noise. What I'm suggesting is to not use this approach and instead to transform every reading in an octomap. Because to build a local map would require the vehicle to remain stationary. If this approach does not work, then you would have to rely on a local map. $\endgroup$
    – Akindart
    Feb 24, 2019 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.