What sensor and approach would give the best field of view for an AGV follower application?

Hello - I’m doing proof of concept development for a “following” application. So far, I’ve gotten April Tags to work much better than QR codes, and I’ve experimented with various angle lenses on the OV5640.

With the sensor positioned in a joystick enclosure (see video) the field of view is quite limited and the ambient lighting is a huge factor. (to make this work, i had to angle the sensor to the right and can only make right hand turns so its not going to work in real life)


Follow Dad wearing an April Tag

What sensor and approaches (IR beacon?) would you recommend trying to maximize the field of view and the ability to work in different (light to dark) situations?

Here’s the video of what I’m trying to achieve…

You want to add a baffle around the camera to remove stray light. Typically, an HDR camera is needed outdoors. We don’t have one so the camera will struggle when the sun enters it’s field of view.

A baffle is basically a long tunnel around the camera which removes stray light. This dramatically improves the contrast in the image.

As for a beacon. IR beacons are invisible in direct sunlight. However, they generally appear as an extremally bright white light to the camera so they are easy to track. AprilTags are better if you have decent contrast.

Anyway, this problem is most an optics and camera quality issue. If you can get a good image with a wide angle lens then the tracking side is generally not that hard.

Thanks for the tips - yes the tracking so far is the easy part (thanks to the way the openMV exposes all the geometry and your awesome find.this() and find.that() examples).

I’ll try a tube baffle with what I have now and then experiment with IR next. Great product - Cheers

I’m going for the widest angle FOV to be able to start following… so far the widest i’ve gotten is a 240 wide window - not enough memory for anything wider…

sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.HVGA)
sensor.set_windowing((240, 100))
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)

Yeah, I wish we could make the plus again.

Soon…