Vision-based obstacle avoidance in autonomous mode

Hi @Alex001, welcome to the forum :slight_smile:

To follow waypoints the vehicle needs a position estimate, which requires some form of positioning sensor.

You’ll likely need to use a stereo camera for this, and get the depth from the stereo difference. The camera itself can be inside an enclosure, so doesn’t necessarily need to have its own waterproofing.

There’s a thread here about OAK cameras, which may be of interest.

That depends what approach you’re taking. A stereo camera has (at least) two cameras. If you’re doing your own stereo differencing then that could be two separate cameras, or you could have a package that includes the cameras and does the differencing for you.

Object detection requires some form of classification model. It may be possible to run that on the Raspberry Pi at low framerates and resolutions, but that kind of functionality is also possible on an OAK camera. I’d recommend avoiding excessive processing on the Raspberry Pi, because it could overheat and end up throttling the performance of the vehicle operation components.

ArduPilot has support for this kind of thing, although I don’t believe it has been transferred to ArduSub yet.