webcam-ballverfolgung und umsetzung eines pong-torwarts mit lego mindstorms
Post on 03-Mar-2017
129 Views
Preview:
TRANSCRIPT
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Webcam-Ballverfolgung und Umsetzung einesPong-Torwarts mit LEGO Mindstorms®
Mathias MagdowskiLehrstuhl für Elektromagnetische Verträglichkeit
Institut für MedizintechnikOtto-von-Guericke-Universität, Magdeburg
23. Februar 2017
Lizenz: cba CC BY-SA 3.0 (Namensnennung, Weitergabe unter gleichen Bedingungen)
Lego-Torwart 1
Motivation
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Motivation
„Pong game on TV“ von Marcin Wichary via Flickr, CC BY 2.0,https://commons.wikimedia.org/w/index.php?curid=48423746
Lego-Torwart 3
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Umsetzung
Vereinfachungen:
I einseitigI nur „Halten“,
kein „Zurück-spielen“
I Kreisbahnstatt Linie
I BallverfolgungdurchWebcam
Lego-Torwart 4
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Gliederung
Motivation
Aufbau und Ansteuerung
Probleme
Demo
Zusammenfassung
Lego-Torwart 5
Aufbau und Ansteuerung
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Aufbau
Motor
Sichtfeldder Kamera
Lego-Torwart 7
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung der Kamera
Anlegen der Kamera als Objekt:camera=videoinput(’winvideo’)
Übertragen eines Bildes:frame=getsnapshot(camera)
Anzeigen des Bildes:image(frame) oder imagesc(frame)
Lego-Torwart 8
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung der Kamera
Anlegen der Kamera als Objekt:camera=videoinput(’winvideo’)
Übertragen eines Bildes:frame=getsnapshot(camera)
Anzeigen des Bildes:image(frame) oder imagesc(frame)
Lego-Torwart 8
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung der Kamera
Anlegen der Kamera als Objekt:camera=videoinput(’winvideo’)
Übertragen eines Bildes:frame=getsnapshot(camera)
Anzeigen des Bildes:image(frame) oder imagesc(frame)
Lego-Torwart 8
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus zur Ballerkennung
Farbbild:
Lego-Torwart 9
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus zur Ballerkennung
Graustufenbild:set(camera,’ReturnedColorSpace’,’grayscale’)
Lego-Torwart 10
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus zur Ballerkennung
Schwarz-Weiß-Bild:framebw=frame<borderspy(framebw)
Lego-Torwart 11
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus zur Ballerkennung
Erkennung des Balls:frameblackx=any(framebw,1)frameblacky=any(framebw,2)posx=(find(frameblackx,1,’first’)+find(frameblackx,1,’last’))/2posy=(find(frameblacky,1,’first’)+find(frameblacky,1,’last’))/2
Lego-Torwart 12
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus zur Ballerkennung
Verfolgung der Trajektorie:fehlersumme=@(parameter) sum(((posy-modell(posx,parameter)).ˆ2))
parameter=fminsearch(fehlersumme,parameter)
Lego-Torwart 13
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung des Motors
Absolute Positionierung bei position_soll:position_ist=motor.ReadFromNXT().Position
motor.TachoLimit=abs(position_soll-position_ist)
if position_soll-position_ist>0motor.Power=power
elsemotor.Power=-power
end
if position_soll-position_ist˜=0motor.SendToNXT()
end
Lego-Torwart 14
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung des Motors
Absolute Positionierung bei position_soll:position_ist=motor.ReadFromNXT().Position
motor.TachoLimit=abs(position_soll-position_ist)
if position_soll-position_ist>0motor.Power=power
elsemotor.Power=-power
end
if position_soll-position_ist˜=0motor.SendToNXT()
end
Lego-Torwart 14
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung des Motors
Absolute Positionierung bei position_soll:position_ist=motor.ReadFromNXT().Position
motor.TachoLimit=abs(position_soll-position_ist)
if position_soll-position_ist>0motor.Power=power
elsemotor.Power=-power
end
if position_soll-position_ist˜=0motor.SendToNXT()
end
Lego-Torwart 14
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ansteuerung des Motors
Absolute Positionierung bei position_soll:position_ist=motor.ReadFromNXT().Position
motor.TachoLimit=abs(position_soll-position_ist)
if position_soll-position_ist>0motor.Power=power
elsemotor.Power=-power
end
if position_soll-position_ist˜=0motor.SendToNXT()
end
Lego-Torwart 14
Probleme
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Elastischer vs. unelastischer Stoß
Elastischer Stoß an der Bande:
x
y
Lego-Torwart 16
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Elastischer vs. unelastischer Stoß
Unelastischer Stoß an der Bande:
x
y
Lego-Torwart 17
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Probleme mit der Framerate
Lego-Torwart 18
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus mit einer Schleife
Start
Frame
Ballver-folgung
Abbruch StopJaNein
Lego-Torwart 19
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Algorithmus mit einer Callback-Funktion
Start Stop
Kamera Frame
Ballver-folgung
Callback
Lego-Torwart 20
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Ergebnis −→ gleichmäßigere Framerate
Lego-Torwart 21
Demo
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Grafische Benutzeroberfläche
Lego-Torwart 23
Zusammenfassung
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Zusammenfassung
„Oliver Kahn Fussballer Torhüter“von Memorex (CC0 Public Domain,https://pixabay.com/de/oliver-kahn-fussballer-torh%C3%BCter-749853/
Lego-Torwart 25
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Zusammenfassung
„Oliver Kahn Fussballer Torhüter“von Memorex (CC0 Public Domain,https://pixabay.com/de/oliver-kahn-fussballer-torh%C3%BCter-749853/
„WRE footballer tim wiesesdebut match“ von Nitu Ku-mari (CC BY-SA, https://youtu.be/YAP_33k-XKs
Lego-Torwart 25
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Zusammenfassung
„Oliver Kahn Fussballer Torhüter“von Memorex (CC0 Public Domain,https://pixabay.com/de/oliver-kahn-fussballer-torh%C3%BCter-749853/
„WRE footballer tim wiesesdebut match“ von Nitu Ku-mari (CC BY-SA, https://youtu.be/YAP_33k-XKs
Lego-Torwart 25
Motivation Aufbau und Ansteuerung Probleme Demo Zusammenfassung
Vielen Dank für Ihre Aufmerksamkeit!
Gibt es Fragen?
Lego-Torwart 26
top related