TriTri…Trilateration

Wij willen de locatie van de persoon met de Beacon op ons grid bepalen. We maken dus eigenlijk een soort GPS.

We wisten dat het een spannende formule zou gaan worden, maar zo spannend hadden we niet verwacht.

Het oorspronkelijke plan was om vier Raspberry’s te gebruiken(op ieder hoek van het grid één). Zie de foto hieronder:IMG_2974Maar we moeten de locatie berekenen met behulp van driehoeken. En wel met de trilateration formule:500px-3spheres.svg

https://en.wikipedia.org/wiki/Trilateration

En ja, hiermee krijgen we uiteindelijk een x en een y positie.

Hier alvast een stukje code(er wordt nog aan gewerkt):

package beacon;
public class Grid {

Raspberry pi1;

Raspberry pi2;

Raspberry pi3;

public Grid() {}

public Grid(Raspberry pi1, Raspberry pi2, Raspberry pi3) {

this.pi1 = pi1;

this.pi2 = pi2;

this.pi3 = pi3;

}

Double xposition(Double m1, Double m2, Double m3) {

return ( sqr(m1) – sqr(m2) + sqr(pi2.x) ) / ( 2 * pi2.x );

}

Double ypositon(Double m1, Double m2, Double m3, Double xpos) {

return ( ( sqr(m1) – sqr(m3) + sqr(pi3.x) + sqr(pi3.y) ) / (2  pi3.y) ) – ((pi3.x / pi3.y)  xpos);

}

Double sqr(Double x) {

return  x * x;

}

private class Raspberry {

Double x;

Double y;

public Raspberry(Double x, Double y) {

this.x = x;

this.y = y;

}

}
}

Advertenties

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s