14.11.2012 Views

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

Submitted version of the thesis - Airlab, the Artificial Intelligence ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.1. Camera Calibration 57<br />

Later, in order to solve this problem, we came up increasing <strong>the</strong> size <strong>of</strong><br />

<strong>the</strong> ball. Again, this trial did not resulted as we expected, since when <strong>the</strong><br />

ball gets fur<strong>the</strong>r from <strong>the</strong> robot, <strong>the</strong> diameter information is not reliable.<br />

This results to calculate a wrong value <strong>of</strong> <strong>the</strong> ball position. In this trials, we<br />

realized also <strong>the</strong> effects <strong>of</strong> <strong>the</strong> white balance and exposure compensation for<br />

<strong>the</strong> color information. The camera tries to automatically adjust <strong>the</strong> color<br />

information as <strong>the</strong> ball gets fur<strong>the</strong>r from <strong>the</strong> light source. Since <strong>the</strong> blob<br />

elimination is dependent on both <strong>the</strong> shape <strong>of</strong> <strong>the</strong> ball and <strong>the</strong> color <strong>of</strong> <strong>the</strong><br />

blob, <strong>the</strong> information changed by <strong>the</strong> camera results to definition <strong>of</strong> wrong<br />

blob information. To clarify with an example, <strong>the</strong> ball shape is checked by<br />

<strong>the</strong> circularity information calculated by <strong>the</strong> camera, but <strong>the</strong> whole ball is<br />

not composed <strong>of</strong> <strong>the</strong> same color, since <strong>the</strong> light is affecting <strong>the</strong> color, so <strong>the</strong><br />

center can be more bright or <strong>the</strong> corner more dark etc. The camera with <strong>the</strong><br />

automatic setting <strong>of</strong> <strong>the</strong> white balance and exposure compensation tends to<br />

change <strong>the</strong> color in order to have a better picture, but by doing so <strong>the</strong> color<br />

temperature is changed. So <strong>the</strong> blob search eliminates <strong>the</strong> non-color points<br />

as well as <strong>the</strong> non-shape objects and detects <strong>the</strong> ball in ano<strong>the</strong>r shape, such<br />

as an open rectangle. This whole change also results to a change <strong>of</strong> <strong>the</strong><br />

diameter <strong>of</strong> <strong>the</strong> ball and <strong>the</strong> distance information is not calculated correctly.<br />

Thediameter <strong>of</strong> <strong>the</strong>ball is a problematic issuedueto <strong>the</strong> low-cost optics.<br />

Instead, we decided to change our ball into a cylindric shape and assume<br />

that <strong>the</strong> object will always be on <strong>the</strong> ground. This reduces <strong>the</strong> mapping to<br />

a 2 D to 2 D mapping problem, since Z (<strong>the</strong> height) will be always zero.<br />

Instead <strong>of</strong> calculating <strong>the</strong> diameter <strong>of</strong> <strong>the</strong>ball, we determine<strong>the</strong>distance between<br />

<strong>the</strong> end <strong>of</strong> <strong>the</strong> image and <strong>the</strong> intersection point <strong>of</strong> <strong>the</strong> object with <strong>the</strong><br />

ground. This distance is easier to measure, independently from <strong>the</strong> shape<br />

<strong>of</strong> <strong>the</strong> object, and will always change as <strong>the</strong> object’s position changes in <strong>the</strong><br />

world. The mentioned mapping also makes easier <strong>the</strong> blob search, since it<br />

is not very important to detect <strong>the</strong> object clearly as a cylindric. If we can<br />

recognize some part <strong>of</strong> <strong>the</strong> object we can ensure that <strong>the</strong> object is more or<br />

less close to <strong>the</strong> calculated point. This also gave us <strong>the</strong> flexibility for <strong>the</strong><br />

colorinformation, sincewedonothave<strong>the</strong>obligationtodetectall<strong>the</strong>object,<br />

we can defineamore generic color code that is working for most <strong>of</strong> <strong>the</strong> cases.<br />

We used <strong>the</strong> second configuration in both camera positions. Even <strong>the</strong><br />

internal camera parameters are always same in our camera, <strong>the</strong> external<br />

parameters are effected with a translation or rotation. Indeed, when <strong>the</strong><br />

camera head position is changed, it results with <strong>the</strong> usage <strong>of</strong> a H matrix for<br />

each transformation.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!