project poster

Werbung
Android App und Hexapod
Ziele:
Ziele:
●
Programmieren einer App
●
Programmieren einer App
zu Steuerung des Hexapod
zu Steuerung des Hexapod
●
Implementierung aller
●
Implementierung aller
vorhandenen Funktionen
vorhandenen Funktionen
●
Verwendung
der Android●
Verwendung der AndroidGyrosensoren
Gyrosensoren
●
Einsetzen eine Microcontroller
●
Einsetzen eine Microcontroller
zur Vermittlung zwischen
zur Vermittlung zwischen
BT-Adapter und Hexapod
BT-Adapter und Hexapod
Die Android App:
Die Android App:
Microcontroller
Microcontroller
Aufgaben:
Aufgaben:
●
Emfpang des BT-Signals
●
Emfpang des BT-Signals
●
Interpretation des Signals
●
Interpretation des Signals
●
Senden der Befehle an
●
Senden der Befehle an
den Hexapod
den Hexapod
Entwicklung:
Entwicklung:
Die Programmierung der Aufgaben
Die Programmierung der Aufgaben
erfolgte in C.
erfolgte in C.
Für die Kommunikation mit dem BT
Für die Kommunikation mit dem BT
und dem Hexapod wurden zwei
und dem Hexapod wurden zwei
Serielle Schnittstellen implementiert.
Serielle Schnittstellen implementiert.
Entwicklung:
LEDs als Zustandsanzeige
Entwicklung:
LEDs als Zustandsanzeige
Für die Entwicklung der App
Für die Entwicklung der App
fehlerhafter Befehl: AN
haben wir eine Eclipseversion
fehlerhafter Befehl: AN
haben wir eine Eclipseversion
verwendet, die mit dem
gültiger Befehl: TOGGLE
verwendet, die mit dem
gültiger Befehl: TOGGLE
offiziellen SDK von Android
offiziellen SDK von Android
bereit
zur Verbindung: AN
erweitert wurde.
bereit zur Verbindung: AN
erweitert wurde.
verbunden: BLINKEN
Die App wurde fast ausschließlich
verbunden: BLINKEN
Die App wurde fast ausschließlich
in Java geschrieben.
in Java geschrieben.
BeispielCode: Ansteuerung des Hexapod bei Betätigung der Joysticks
BeispielCode: Ansteuerung des Hexapod bei Betätigung der Joysticks
UART
MC
SUART
joystick = (Joystick) findViewById(R.id.crabLeftJoy);
joystick = (Joystick) findViewById(R.id.crabLeftJoy);
onJoystickChange = new OnJoystickChangeListener() {
onJoystickChange
@Override = new OnJoystickChangeListener() {
@Override
public
void onJoystickChangeListener(
public void onJoystickChangeListener(
View view,
View view,
double
angle,
doubleradius)
angle, {
double
double
{
forward = (byte) radius)
(Math.cos(angle)
* 1.27 * radius);
forward
= (byte)
(Math.cos(angle)
* 1.27
* radius);
turn
= (byte)
(Math.sin(angle)
* 1.27
* radius);
turn
=
(byte)
(Math.sin(angle)
*
Hexapod.move(forward, crab, turn); 1.27 * radius);
Hexapod.move(forward, crab, turn);
}
}
};
};
joystick.setOnJoystickChangeListener(onJoystickChange);
joystick.setOnJoystickChangeListener(onJoystickChange);
Ergebnis:
Notabschaltung:
Ergebnis:
Notabschaltung:
Alle Bewegungsmuster wurden implementiert
Problem:
Alle Bewegungsmuster wurden implementiert
Problem:
und können von der App aus benutzt werden.
Verbindungsabbruch wird nicht erkannt.
und können von der App aus benutzt werden.
Verbindungsabbruch wird nicht erkannt.
Die Gyrosensoren können die Rotation und die
Lösung:
Die Gyrosensoren können die Rotation und die
Lösung:
Geschwindigkeit des hexapod steuern.
Alle 200ms „Poke“ von der App.
Geschwindigkeit des hexapod steuern.
Alle 200ms „Poke“ von der App.
Wir haben verschiedene Steuerungsmodi
Bei Ausbleiben des Signals: Stoppe Hexapod
Wir haben verschiedene Steuerungsmodi
Bei Ausbleiben des Signals: Stoppe Hexapod
realisiert:
realisiert:
Steuerungsmodi
Steuerungsmodi
●
Ausblick: Verbesserung der App
Standard: Pfeiltasten
●
Ausblick: Verbesserung der App
Standard: Pfeiltasten
●
●
Anpassung des Layouts für verschiedene Endgeräte
Joystick:
Touchscreen
●
●
Anpassung des Layouts für verschiedene Endgeräte
Joystick: Touchscreen
●
●
Automatische Reaktion auf Verbindungsabbrüche
Helicopter:
Gyrosensoren
●
●
Automatische Reaktion auf Verbindungsabbrüche
Helicopter: Gyrosensoren
●
●
Portierung der App auf iOS und Windows
Rotation/Translation:
●
●
Portierung der App auf iOS und Windows
Rotation/Translation:
Gyrosensoren
Gyrosensoren
Team:
• David Sprengel (Informatik 7. Semester) • Niels Buwen (Informatik 5. Semester)
Betreuung: • Felix Aller • Katja Mombauer
Herunterladen