Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Irma Haupt Geändert vor über 7 Jahren
1
PDV-Vertiefung 2007 Projekt: Linienverfolgung mit dem ASURO Alexander Oberle Karl Gabel Björn Saull
2
Gliederung ➢ Aufgabenstellung ➢ Einleitung ➢ Hardware ➢ Programmierung ➢ Linienverfolgung ➢ Streckenaufzeichnung ➢ Fragen
3
Aufgabenstellung ➢ Zusammenbau ➢ Linienverfolgung ➢ Analysetool (Streckenauswertung)
4
Einleitung ➢ Entwickler des ASURO: DLR ➢ Another Small and Unique Robot from Oberpfaffenhofen ➢ Programmiersprache: C ➢ Ausstattung: ➢ 2 Räder ➢ 2 Motoren ➢ 3. Standbein ➢ 6 Tastsensoren ➢ 2 Liniensensoren +2 Odometriesensoren
5
Merkmale des Asuros ➢ Prozessor: AMTEL ATMEGA8L ➢ Linienverfolgungssensoren ➢ Odometrie -> Reflextionsschranken ➢ Motoren H-Bruecke ➢ 6 Taster “programmbierbar” ➢ Serielle Schnittstelle | USB Transceiver ➢ Status LED's
6
ATMEGA8L ➢ RISC - CPU 8 MHZ => 8 MIPS ➢ Harvard Architektur ➢ Speicher 8 KB Flash, 512 Byte EEPROM, 1 KB SRAM ➢ 2x 8 Bit Counter, 1x 16 Bit Counter ➢ 6 ADC's Analog-to-Digital-Converter ➢ 32x 8 Bit Register
7
ATMEGA8L
8
Harvard Architektur Quelle: Amtel doc2486.pdf
9
Linienverfolgung Fototransistor Umgebungslicht reduzieren Lichtquelle
10
Odometrie Sensoren Infrarot-Sendediode (950 nm Wellenlänge) Fototransistor Kollektorspannung liefert Werte von 0...1023 (hell -> dunkel) Lichtschranke -> Reflexkoppler
11
Taster Interrupt Pollswitch Funktion liefert ein Byte, dieses kann ausgewertet werden
12
Software ➢ Betriebssystem: Linux ➢ Gentoo, Ubuntu, SUSE ➢ Tools: ➢ AVR-GCC (Cross-Toolchain) ➢ VIM 7.0 ➢ asurocon, asuroflash-qt ➢ Minicom ➢ ASURO-Bibliothek (gna.org/ sourceforge)
13
Aufbau eines ASURO-Programms Initialisieren ASURO-Verhalten Hauptprogram m Endlosschleife 0xAE ➢ Initialisierung ➢ Timer 2 = 36/72kHz ➢ Infrarotkonfiguration ➢ LEDs ➢ Motoren ➢ ASURO-Verhalten ➢ Endlosschleife ➢ Restspeicher
14
ASURO-Linienprogramm Init(): Taster: Ausgabe Vorder-/Hintergrund Start Run: Timer->IR Odometrie Liniensensoren Linienwert->Motorsteuerung Zu Beachten: Flags: möglichst wenig Instruktionen, IR) (Endlosschleife nicht nötig)
15
Streckenaufzeichnung ➢ Positionsbestimmung mathematische Herleitung nur eine Grundlage, Ungenauigkeiten der Sensoren! Fehleranfälligkeit durch: Untergrund (unebener Boden) Schlupf der Räder (rutschige Oberfläche ) schlecht zentrierte Räder Musterscheiben wackeln ( ! ) Interrupts und Messfehler (EncoderInit) Ungenauigkeiten durch „einfache“ Schwarz-Weiß Übergänge äussere Einflüsse (Lichtquellen ) vieles mehr
16
Streckenaufzeichnung ➢ Reifendrehung je Schwarz-Weiß-Übergang Reifenumfang von 120 mm Reifen- vs Musterscheibendrehung 1 : 5 120 / 5 = 24 mm je Musterscheibe verschiedene Musterscheiben hier 4 Hell + 4 Dunkel-Übergänge 24 / 8 = 3 mm pro Übergang Die Strecke UL / UR der beiden Räder UL = Odometrie[Links] ● 3mm UR = Odometrie[Rechts] ● 3mm
17
Streckenaufzeichnung Herleitung der Position x, y Die Strecke des Asuros ist: ∆U = (U R + U L ) /2 Die Änderung der Orientierung θ t ist abhängig vom Radabstand b ∆ θ = (U R - U L ) / b Die neue (realtive) Orientierung und Position wird nach einer Kreisbewegung durch folgende Formeln berechnet: X t +1 = X t + ∆U t cos( θ t ) Y t+1 = Y t + ∆U t sin( θ t ) θ t+1 = θ t + ∆ θ
18
Streckenaufzeichnung ➢ Strecke zeichnen Messfehler Odometriedaten korrigieren Analyse von Strecken M essfehler wirken sich unterschiedlich aus: Geraden sind meist leichte Kurven glätten leichte Kurven müssen meistens verstärkt werden enger starke Kurven teilweise korrigieren kurz: Korrektur soll sich auf die Stärke der Kurve beziehen
19
Streckenaufzeichnung ➢ Gründe für die Odometrie Benutzen von “vorhandenen Mitteln” Gültigkeit auch für verschiedene Asuros Herrausforderung ➢ Grund für eine manuelle Anpassung Interesse, wo liegen die Fehler? Durch manuelle Anpassung könne die fehlerhaften Werte lokalisiert und eingegrenzt werden.
20
DEMO Vorführung & Testfahrt des Asuros!
21
Strecke 1
22
Stecke 2
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.