- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 76

Thema: Navigation mittels Triangulation

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Du kannst ja für erste tests mit einem Reflektor z.B.: von conrad beginnen.
    Artikel-Nr.: 185574 - 62
    10,21 EUR
    (B x H x T) 70 x 51 x 7 mm

    Zum Testen benötigst Du ja erst mal nur 2 Stück da du den Testaufbau so gestalten kannst, das die Reflektorseite immer zum Sensor zeigt.

  2. #2
    Neuer Benutzer
    Registriert seit
    07.07.2011
    Ort
    Köln
    Beiträge
    1
    Hi,

    ich weiß, der Beitrag hat schon ein paar Jährchen auf dem Buckel, aber ich möchte gerne anderen Suchenden meine Lösung vorstellen....

    Ich bin noch ganz frisch dabei und habe mich als Autodidakt durch die Beiträge gewühlt und nach Lösungen gesucht.
    Der Ansatz des Rückwärtsschnitts hat mir dabei sehr geholfen, mein aktuelles Projekt etwas voran zu bringen.

    Mit meinem ersten Beitrag hier möchte ich anderen Suchenden evtl. helfen.

    Leider haben mir die Zeichnungen hier nur bedingt weitergeholfen, da ich für ein Programm nun mal den Rechenweg benötige. Diesen konnte ich mir auch nicht selbst daraus ableiten, dafür liegt mein Mathematikunterricht wohl schon zu lange zurück...

    Hier ein paar Tipps/Links zum Thema, die mir sehr geholfen haben. Und anschließend ein kleines C-Programm mit dem Lösungsweg.


    http://www.geogebra.org/webstart/geogebra.html Java-Tool für Geometrie
    http://www.3eck.org/triangle/de/calculator_advanced.php online Dreiecksberechnung
    http://diegeodaeten.de/rueckwaertsschnitt.html Über das Thema Rückwärtsschnitt
    http://www.ottmarlabonde.de/L1/VermKunde/ruwesn2.html Rückwärtsschnitt im Detail
    Vermessungskunde, Teil 2 von Volker Matthews bei google-books

    und letztendlich die Seite, die mir die Lösung verständlich(im Quelltext) erklärt hat:
    http://mesamike.org/geocache/GC1B0Q9/tienstra/ ein schlanker Javascript Rückwärtsschnitt-rechner.

    Mit dessen Hilfe habe ich dann folgendes kleines C-Programm geschrieben/portiert.
    Die Positionsdaten der Baken werden nicht abgefragt, sondern müssen im oberen Abschnitt eingetragen werden.
    Winkel alpha ist der Winkel BC und Winkel gamma ist der Winkel AB.

    Code:
    #include <stdio.h>
    #include <math.h>
    
    
    void calculate(float ANG_ALPHA, float ANG_GAMMA, float* position)
    {
        float AX,BX,CX,AY,BY,CY,ANG_BETA,AB,AC,BC,ANG_A,ANG_B,ANG_C,COT_A,COT_B,COT_C,COT_ALPHA,COT_BETA,COT_GAMMA,KA,KB,KC,K,E,N;
    
       // Positionsdaten der BAKEN müssen hier festgelegt werden//
       AX=2.9;//a.x
       AY=4.18;//a.y
    
       BX=7.1;//b.x
       BY=4.58;//b.y
    
       CX=5.28;//c.x
       CY=0.56;//c.y
       ////////////////////////////////////////////////////////////////////
    
       ANG_ALPHA=ANG_ALPHA * M_PI / 180;
       ANG_GAMMA=ANG_GAMMA * M_PI / 180;
       ANG_BETA=2*M_PI - ANG_ALPHA - ANG_GAMMA;
    
       AB = sqrt( pow((AX-BX),2) + pow((AY-BY),2) );
       AC = sqrt( pow((AX-CX),2) + pow((AY-CY),2) );
       BC = sqrt( pow((BX-CX),2) + pow((BY-CY),2) );
    
       ANG_A = acos( (pow(AB, 2) + pow(AC,2) - pow(BC,2))/(2*AB*AC) );
       ANG_B = acos( (pow(AB, 2) + pow(BC,2) - pow(AC,2))/(2*AB*BC) );
       ANG_C = acos( (pow(AC, 2) + pow(BC,2) - pow(AB,2))/(2*AC*BC) );
    
       COT_A = 1/tan(ANG_A);
       COT_B = 1/tan(ANG_B);
       COT_C = 1/tan(ANG_C);
       COT_ALPHA = 1/tan(ANG_ALPHA);
       COT_BETA = 1/tan(ANG_BETA);
       COT_GAMMA = 1/tan(ANG_GAMMA);
    
       KA = 1/(COT_A - COT_ALPHA);
       KB = 1/(COT_B - COT_BETA);
       KC = 1/(COT_C - COT_GAMMA);
       K  = KA + KB + KC;
    
       E = (KA*AX + KB*BX + KC*CX)/K;
       N = (KA*AY + KB*BY + KC*CY)/K;
       position[0]= E;
       position[1]= N;
    }
    
    
    int main()
    {
        printf("Bitte Winkel alpha (Winkel BC) eingeben:\n");
        float alpha;
        scanf("%f",&alpha);
        printf("Bitte Winkel gamma (Winkel AB) eingeben:\n");
        float gamma;
        scanf("%f",&gamma);
        float position[1];
        calculate(alpha, gamma, position);
        printf("x: %f\n",position[0]);
        printf("y: %f\n",position[1]);
        system("PAUSE");
    }
    Vielleicht hilf das jemanden, würde mich freuen!


    Grüße

    Tobi

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    19.08.2010
    Beiträge
    5
    Danke Tobi!
    Vielleicht hilft jemanden noch folgende Überlegung:
    Ich möchte keine Baken im Haus, da das die Innenarchitektin nicht mag. Im Garten naja.
    Daher habe ich mich auf die Suche nach NIR-Absorbern bzw. NIR-Pigmenten gemacht.
    Es gibt wirklich was, wird als Wärmeschutz für Autoglas von BASF angeboten, hoffe ich. Mal sehen.
    Die Idee ist, dass ich die Baken mit Pinsel (oder für die Profis mit einem Wand-Tintenstrahler) auftrage.
    Jede morst durch Strichbreite und Abstand zwischen Strichen ihre ID.
    Das Pigment, das ich fand, ist von der Uni Mainz für BASF entwickelt worden, es ist ein 4-fach Naphtalin-Molekül und das Molekül heist Quaterrylen.
    Ein andere Hersteller ist LuminoChem, NuNIR5. Vielleicht gibt es jemand, der mal irgendwoher ein paar ml ergattert. Bitte Quelle melden

    Die Idee ist schon, einen Detektor zu bauen, der mit moduliertem Lichtstrahl die Wand abtastet. Passiv geht es auch, man sollte dann vielleicht vergleichen, welchen Helligkeitswert der Sensor sowohl im IR wie auch im Sichtbaren (z.B. bei blau) liefert. Durch das hoffentlich ungewöhnliche Verhältnis der gepinselten Stellen sollte sich ein ausreichender Kontrast ergeben.

    Ich habe schon so einen Sharp Detektor mit einegebauter modulierter Ansteuerung einer LED oder eines Laserpointers da, und werde demnächst mein Glück versuchen.
    Leider habe ich als "unsichtbare" Pigmente bisher nur UV-Lumineszenz-Pigmente bekommen können, und die verändern natürlich den optischen Eindruck einer Fläche schon, so dass ich nicht sicher bin, ob ich es damit überhaupt probieren will.

    Hat jemand schon mal farbneutrale Mikroprismen in Klarlack zum Aufpinseln gefunden?
    Das würde als Reflektor nur selten auffallen (etwa, wenn jemand mit dem direkten Blitz Fotos machte

    Ein selbstnivellierenden Laser gabs mal bei *ldi, gibt es bestimmt günstig überall sonst.
    Da muss man aber Pause machen für, bei Gewackel tut der nicht.
    Würde das jemandem helfen, der nicht sicher ist, wie schepps sein Bot steht?

    Ich finde, dass man schön in Bodennähe messen sollte und auch mal ein bisschen mitteln über 2-3 Messungen, dazwischen mit Odometrie überbrücken. Vielleicht gibt es demnächst (aus Schrott-Handies billigere 5DOF-Beschleunigungssensoren, die so präzise sind, dass sie mich zwischen zwei Baken-Peilungen die erlittenden Bewegung zum zurückgelegten Weg aufintegrieren (i.e. summieren) lassen.
    Maximale Erfolge!

    Andis.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen