Vision Subsystem - sdp2012-group8/robot GitHub Wiki

This page describes the robot's vision subsystem.

Using the Vision System

A working example of how to use the vision system can be found here.

Recommendations to AI Team

The simplest solution would be to have a class with a constructor that takes an instance of sdp.common.WorldStateObserver and uses that object to access world state. The classes should have any more knowledge of the vision system to keep everything nice and decoupled. This will also make it easy to connect the AI code to the simulator.

Recommendations to Simulator Team

Have a class that extends sdp.common.WorldStateProvider that maintains the field's current state. This way you can create several WorldStateObserver that observe it and use them to pass state updates to the two AIs.

Thoughts

  • An application that could calibrate the vision system (i.e. the thresholds and other relevant parameters) would be really nice to have.

  • It might be worth playing around with camera settings. My laptop's webcam has a sharpness setting, for instance. Setting it to lowest value gives a smoothed image at no extra computational cost, not to mention all brightness, contrast and hue settings.