Question about stereo obstacle avoidance

Hi guys,

I just wanted to ask (and sorry if there is a better area to place this, please let me know if so and I will move it to the correct category)

I saw that PX4 now supports stereo vision obstacle avoidance, I don’t know a whole lot about it to be honest, but is this something that APM will be working towards supporting more in the future?
And also, is there a benefit to using stereo cameras over different sensors such as a range finder or sonar?
In the px4 video I watched, their intel drone could navigate around a tree and continue on its flight path, I am not sure if that is available with the sonar or lidar sensors currently, but it would be a great feature if it could be done.

Hello Nik,

Obstacle avoidance is available for ArduPilot since 2 years already, you can look at a project I made using different models of rangefinder here: Avoidance Experiments with the POC and Benewake TFMINI

This is basically a 2D avoidance system because it is reading from an horizontal field of view , that we split the horizon in 45 degrees sectors . The vertical FoV may vary depending on the sensor (it is about 16 degrees for the TFMINI) , is is less for a scanning lidar.

More advanced systems may use camera systems like : monocular, stereoscopic camera system or RGDB as on the Intel Realsense camera systems. These devices are generally using the stereoscopic camera images matching ASIC chip to generate a pointcloud datastream that can be analysed by different onboard computer systems to create local or global map (as with SLAM systems). This requires a lot of processing power like Intel I5-I7 or Nvidia Tegra TX1-TX2 class systems.

Finally at the top of the ‘‘foodchain’’ you have advanced system like the SKYDIO

that are merging 6 sets of stereoscopic systems (12 cameras + 1 Hires) to create a full 360 sphere around the vehicle and use AI to follow a target in cluttered environment.


I knew that AdruPilot had some sort of obstacle avoidance but I did not know if APM was smart enough to go around obstacles during a pre planned flight if it senses an obstacle between the bird and it’s flight path.

A couple of things are being confused here.
The PX4 avoidance is just a companion computer with ROS generating waypoints, and only works for multicopter.
This has been done many times with ArduPilot, not just via ROS, and not just for copter, but with DroneKit, OpenKai and MAVProxy, Rover and Plane.
My favourite Plane example is here:
Like the PX4 example, none have been generalised - they require specific cameras or data sources to work, and all the path planning occurs offboard.
There is a current effort to implement a more flexible approach, demonstrated here: which does the path planning onboard, based on the mission waypoints and any static or dynamic obstructions. It’s not in master yet though.

1 Like