-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Wild Thumper ROS Roboter

  1. #1
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    80

    Wild Thumper ROS Roboter

    Anzeige

    Hier mein Roboter in dritter Generation. Es ist mein erster, der von Anfang an auf ROS ausgerichtet ist.

    Daten:
    • Basis Chassis: Wild Thumper 4wd, aufgerüstet mit Encodern für die Motoren
    • Spannungsversorgung: 2x 7.2V NiMh über LM5050-2 active ORing angebunden. Die ORing Schaltung ist skalierbar und ermöglicht damit auch die Parallelschaltung einer Docking Station zur stationären Versorgung.
    • 5V via Spannungsregler LM2576 (3A)
    • Hauptcomputer: Solid Run Hummingboard (i.MX6 ARM Cortex-A9 Dual Core 1GHz, 2GB RAM)
    • Peripherie am Hummingboard: GPS (uart), IMU (USB), Tiefenkamera (USB), restliche Peripherie über I2C
    • I2C-Peripherie: AVR Atmega32 (Steuerung Motoren), AVR Atmega328 (Arduino Nano, restliche I/O: Abfrage Ultraschall- (US) und Infrarot- (IR) Sensoren, Messung Akkuspannung)
    • Anbindung des 5V I2C Bus an die 3.3V des ARM µC über einen PCA9517 "Level translating I2C-bus repeater"
    • Motorsteuerung: 4x VNH2SP30 per PWM 20kHz an Atmega32. Der Atmega32 übernimmt die Geschwindigkeitsregelung (PID) und Odometrie
    • IMU zur Korrektur der Odometrie über 4 Räder: Tinkerforge IMU Brick 2.0 (In den Bildern noch Razor IMU). Die Tinkerforge IMU hat den Vorteil, dass sie nahezu immun gegen magnetische Störungen von außen ist.
    • Distanzsensoren: Xtion Pro Live 3D-Kamera, 2x IR 2D120X (links/rechts), 3x US SRF05 (2x vorne, 1x hinten). Die beiden US-Sensoren sind aufgrund der toten Zone der 3D-Kamera bis ca. 0.5m erforderlich.
    • Software: Debian Jessie + Robot Operating System (ROS) Indigo, ROS Navigationstack läuft auf einem PC über W-Lan.
    • Mehr auf Hackaday.io


    Die Bilder zeigen u.a. die mehrstufige Odometrie Auswertung und Sensorabdeckung.

    Autonome Navigation mit GPS: https://vimeo.com/247624371. Dort fährt der Roboter auf einem Parkplatz autonom ein Viereck über GPS Koordinaten. Front Kamera ist unten links, die Kartenansicht (rviz) ist oben links zu sehen.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken wild_thumper_overview.jpg   wt_odometrie.jpg   wt_sensors.jpg   wild_thumper_front.jpg   wt_rviz.jpg  

    Geändert von Defiant (02.02.2018 um 17:41 Uhr)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.518
    schaut prächtig aus!
    was meinst du mit "Tinkerforge IMU hat den Vorteil, dass sie nahezu immun gegen magnetische Störungen von außen ist." ?
    wenn das Erdmagnetfeld durch magnetische Störfelder / magnetische Metallteile gestört ist (Stahlbeton, Eisenerzadern, Eisen auf dem Bot, vorbeifahrender LKW oder ein davorgehaltener Stabmagnet): wie kann es dagegen "immun" sein?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  3. #3
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    80
    Keine Ahnung wie, vermutlich werden die Magnetometer mit den Gyros verglichen und entsprechend nachkalibriert o.ä. Es funktioniert! Hier das Video des Herstellers: https://www.youtube.com/watch?v=Aq3SqVen5AQ&t=55

    Als Test ob das wirklich funktioniert habe ich die Tinkerforge IMU zusammen mit der Razor IMU im Abstand von ca. 10 cm auf den Roboter montiert und bin mit einem Magneten darüber gefahren. Das Ergebnis anhand der Yaw-Achse hängt als Bild an.

    Nachteilig der Tinkerforge IMU ist der gegenüber der Razor IMU etwas größere Stromverbrauch (70mA Tinkerforge, 40mA Razor) und man ist auf die Tinkerforge Bibliothek zum Auslesen angewiesen. Das aufleuchten der IMU wie ein Weihnachtsbaum nervt auch etwas, lässt sich aber abschalten.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken razor_imu_vs_tinkerforge_brick2_magnetic_distortion.jpg  
    Geändert von Defiant (05.06.2017 um 15:31 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.518
    wirklich enorm !
    Kennst du persönlich libs für Arduino Wire() oder Raspbian mit wiringPi für den Tinkerforge ?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  5. #5
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    80
    Nein, ich habe auch sonst nichts mit den Tinkerforge Bricks gemacht, die vordefinierten Anbindungen sind hier beschrieben: https://www.tinkerforge.com/de/doc/H...rschnittstelle. Der IMU Brick v2 wird auch über ein proprietäres USB-Protokoll angesteuert. Mit GPIO ist da nicht viel.


    Ich habe einfach mit der Python API den ROS-Knoten implementiert

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.518
    Python kapiere und nutze ich nicht, aber die C/C++ Schnittstelle ist auch reichlich überkompliziert. Ich für meine Zwecke bräuchte ja nur die horizontale Ausrichting (Heading), aber selbst dafür ist das ein Buch mit sieben Siegeln für mich.
    Super, dass du das hingekriegt hast!
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  7. #7
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    80
    Bei Interesse kann ich auch bei der C++ Nutzung helfen. Ich hab die eine oder andere IMU getestet und die Tinkerforge hat bisher den besten Sensor-Fusionsalgorithmus. Klare Empfehlung.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.518
    danke für dein Angebot! Was man letztlich bräuchte wäre eine einfache lib zum Einbinden
    Code:
    #include <tfIMUbrick2.h>
    und build flags (für Geany, ohne make oder makefile oder cmake) schlicht und ergreifend etwas in der Art
    -ltfIMUbrick2

    und wenn es dann nicht einfache Register-Lesezugriffe wie bei I2C sind (ist ja USB), dann in der Art, wie man es auch für den DHT22 oder tinygps macht, also in der Art
    Code:
    tfimubrick  imu;
    
    imu.init();
    float h= imu.yaw;
    float p= imu.pitch;
    float r= imu.roll;
    über all das, was in der Lib passiert, muss ich ja gar nichts genaues wissen, das kann eine komplette black-box bleiben. Wenn es also so einfach ginge, das wäre absolut genial!
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  9. #9
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    80
    Im Grunde ist die Tinkerforge API jetzt nicht soweit davon weg, die Bibliothek unterstützt aber z.B. noch mehrere IMUs und Callbacks weswegen sie ein wenig aufgeblasener wird. Sollte man diese Diskussion in einem separaten Thread fortführen?

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    4.518
    Zitat Zitat von Defiant Beitrag anzeigen
    Im Grunde ist die Tinkerforge API jetzt nicht soweit davon weg, die Bibliothek unterstützt aber z.B. noch mehrere IMUs und Callbacks weswegen sie ein wenig aufgeblasener wird. Sollte man diese Diskussion in einem separaten Thread fortführen?
    ja, gerne!

    zu deinem Bot:
    wie fusionierst du Odometrie mit dem IMU?
    ich selber habe wegen viel Schlupf immer den IMU für die Ausrichtung und das arithmet. Mittel aus beiden Radencodern für die Strecke verwendet. Die Drehung, die unterschiedliche Raddrehungen verursachen, fällt damit komplett weg, was grundsätzlich kein Nachteil ist/war, denn es handelt sich um Gleisketten.
    Aber auch der Vortrieb ist ungenau, weil die Ketten auf glattem Parkett oft durchdrehen oder beim Stoppen nachrutschen.
    Hast du eine bessere Lösung?
    Kann man die Vortriebswerte mit deinen IMU Brick Accelerometern auf brauchbare Weise glätten (s = 1/2*dt*a²) ? Meine Accelerometerdaten sind zu sehr verrauscht, das wird dann höchstens noch schlimmer. Kriegst du das mit deinem IMU brick exakter hin?
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. RN-Wissen Artikel zum Wild Thumper Roboter und dessen Controller WTR-CK1
    Von Dirk im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 27
    Letzter Beitrag: 05.07.2017, 18:44
  2. Wer hat einen Wild Thumper & Arexx WTR-CK1 ???
    Von huck1510 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 11.12.2014, 19:55
  3. Verkaufe Tamiya Wild Willy M38
    Von o.g.1985 im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 3
    Letzter Beitrag: 04.12.2014, 06:49
  4. Wild Thumper - Allrad Roboterplattform
    Von oratus sum im Forum Mechanik
    Antworten: 47
    Letzter Beitrag: 03.01.2011, 16:31
  5. Status-LED flackert wild --> IC1 defekt?
    Von Asuroboter im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 10.06.2008, 00:00

Stichworte

Berechtigungen

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