RoboSoccer Gruppe A6 - WS 18/19: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(69 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Autoren:''' [[Benutzer:Jan_Schuhmacher|Jan Schuhmacher]], [[Benutzer:Sven_Posner|Sven Posner]] und [[Benutzer:Philip_Terhorst|Philip Terhorst]]  
'''Autoren:''' [[Benutzer:Jan_Schuhmacher|Jan Schuhmacher]], [[Benutzer:Sven_Posner|Sven Posner]], [[Benutzer:Philip_Terhorst|Philip Terhorst]]  


== Einleitung ==
== Einleitung ==
In dem Submodul Informatikpraktikum I (WS 18/19) bestand die Aufgabe darin, in Kleingruppen von bis zu drei Leuten einen Roboter zu programmieren, welcher in der Lage ist Fußball spielen zu können. Der begleitende Professor dieses Praktikums war [[Benutzer:Ulrich Schneider|Prof. Schneider]]. Der Abschluss des Praktikums war es am Ende des Semesters am [[RoboSoccer WS 18/19|RoboSoccer]]-Turnier mit einem vorgegebenen [[Regelwerk_RoboSoccer_2018|Regelwerk]] erfolgreich teilzunehmen. Der begleitende Professor war
In dem Submodul Informatikpraktikum I (WS 18/19) bestand die Aufgabe darin, in Kleingruppen von bis zu drei Leuten einen Roboter zu programmieren, welcher in der Lage ist Fußball spielen zu können. Der begleitende Professor dieses Praktikums war [[Benutzer:Ulrich Schneider|Prof. Schneider]]. Der Abschluss des Praktikums war es am Ende des Semesters am [[RoboSoccer WS 18/19|RoboSoccer]]-Turnier mit einem vorgegebenen [[Regelwerk_RoboSoccer_2018|Regelwerk]] erfolgreich teilzunehmen.


== Gruppenmitglieder ==
== Gruppenmitglieder ==


=== [[Benutzer:Jan_Schuhmacher|Jan Schuhmacher]] ===
=== [[Benutzer:Jan_Schuhmacher|Jan Schuhmacher]] ===
# Nutzen Sie Aufzählungen
* Programmierung
#* mit verschiedenen Schachtelungen
* Wettkampf-Programmablaufplan
#* und so weiter
* Technisches Design
# zweite Ebene
* Plakaterstellung
#* mit erneuter Unterebene
* Wiki-Artikel


=== [[Benutzer:Sven_Posner|Sven Posner]] ===
=== [[Benutzer:Sven_Posner|Sven Posner]] ===
noch zu füllen
* Programmierung
* Technisches Design
* Wettkampfprogrammierung
* Wiki-Artikel


=== [[Benutzer:Philip_Terhorst|Philip Terhorst]] ===
* Programmierung
* Technisches Design
* Kameramann
* Wiki-Artikel


== Prototypen ==
===Roboter mit Kettenantrieb und Getriebe===
Der Kettenantrieb sollte für eine optimale Bodenhaftung und Wendigkeit sorgen. Allerdings wurde dadurch die Konstruktion extrem breit und instabil,[[Datei:RoboterMitKetten.jpg|mini|rechts|Roboter mit Ketten und Getriebe <ref> Eigenes Foto </ref>]] <br/> deshalb wurde dieser Prototyp verworfen.
<br/><br/><br/><br/><br/><br/><br/><br/>


=== [[Benutzer:Philip_Terhorst|Philip Terhorst]] ===
===Roboter mit großen Reifen===
noch zu füllen
Die großen Reifen sollten aufgrund ihrer höheren Umfangsgeschwindigkeit dem Roboter einen Zeitvorteil bringen. Darunter litt jedoch die Präzision und Stabilität.
[[Datei:RoboterMitGrReifen.jpg|mini|links|Roboter mit großen Reifen <ref> Eigenes Foto </ref>]]<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>


===Die Schussvorrichtung mit Kette===
Früheres Konzept zum Fangen und Schießen des Balles. Idee wurde verworfen da die Vorrichtung nicht effizienter schien als die Aktuelle.
[[Datei:SchussMitKette.jpg|mini|links|Schussvorrichtung mit Kette <ref> Eigenes Foto </ref>]]<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>


== Spartacus ==


=== Design ===


[[Datei:Spartacus.jpg|mini|links|Werbeplakat von Spartacus <ref> Eigenes Foto </ref>]] <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/>


=== Video ===
https://www.youtube.com/watch?v=2kTvAKZUCig
=== Hardware ===


* LEGO MINDSTORMS NXT Education (Set 9797)<ref> http://robotsquare.com/2012/02/18/understanding-nxt-versions/</ref>
* LEGO Education Resource Set (Set 9695)<ref> http://www.nxtprograms.com/help/parts/9797.html</ref>
* [http://modernroboticsinc.com/hitechnic-nxt-compass-sensor HiTechnic NXT Compass Sensor<ref> HiTechnic NXT Compass Sensor - http://modernroboticsinc.com/hitechnic-nxt-compass-sensor/</ref>]
* [http://modernroboticsinc.com/hitechnic-nxt-compass-sensor HiTechnic NXT IRSeeker<ref> HiTechnic NXT IRSeeker - http://modernroboticsinc.com/hitechnic-nxt-compass-sensor/</ref>]
* [http://modernroboticsinc.com/infrared-electronic-ball HiTechnic Infrared Electronic Ball<ref> Infrared Electronic Ball  - http://modernroboticsinc.com/infrared-electronic-ball/</ref>]


=== Bilder ===
'''Maße:'''
Bauen Sie Bilder ein, am besten mit darin gekennzeichneten Stellen, die Sie dann im Text erklären.
[[Datei:RetroGameStation_HSHL_Messe.jpg|rechts|mini|Beispielbild mit Quelle <ref> Eigenes Foto </ref>]]
 
=== Tabellen ===
Eine tolle Tabelle ist hier dargestellt.
{| class="mw-datatable"
{| class="mw-datatable"
! style="font-weight: bold;" | Spalte 1
! style="font-weight: bold;" |  
! style="font-weight: bold;" | Spalte 2
! style="font-weight: bold;" | Abmaße [in mm]
! style="font-weight: bold;" | Spalte 3
|-
|-
| blabla
| Höhe
| sowieso
|   310
| sowieso
|-
| Länge
|    255
|-
| Breite
|    180
|-
| Radstand
|    170
|-
|-
| test
| sowieso
| test1
|}
|}


=== Formatierung ===
Nutzen Sie zur Formatierung Beispiele, z. B. aus dem weltbekannten Wikipedia selbst (das ist die gleiche Syntax!) oder anderer Hilfeseiten wie z. B. <ref> [http://meta.wikimedia.org/wiki/Help:Editing/de Hilfeseite des Wikimedia-Projekts] </ref>.


=== Quelltext ===
==== Die Sensoren ====
Details siehe: [[Quelltext_einbinden]].
 
* '''Tastsensor:''' Der Tastsensor dient zur Bestätigung, ob der Ball gefangen wurde.
 
* '''Infrarotsensor:''' Der Infrarotsensor dient zur Ballsuche und zum Messen der Distanz zum Ball.
 
* '''Kompasssensor:''' Der Kompasssensor dient zur Torausrichtung.
 


==== Die Aktoren ====
In Spartacus wurden drei Servomotoren verbaut. Zwei davon dienen zur Fortbewegung und Lenkung, der dritte steuert den Fang- und Schussarm.


Bei lang= muss die richtige Sprache eingetragen werden (matlab, c,...).


<source line lang="matlab" style="font-size:small">
==== Der Brick ====
for i=1:10
Der verwendete NXT ist die zweite Generation von Legos 'intelligenten Steinen'. Er wurde Mitte 2009 veröffentlicht und hat die eigenschaft mittels diverser Softwaretools programmierbar zu sein. Er besitzt insgesamt vier Anschlüsse für Sensoren und drei für Aktoren, sowie eine USB- und Bluetooth-Schnittstelle. <ref> https://de.wikipedia.org/wiki/Lego_Mindstorms_NXT </ref>
%    try
%        image = CAMERA_DumpFrame(s);     
%    catch err
%        error('MATLAB:RWTHMindstormsNXT:Sensor:unknown', 'An unknown Error occured while fetching the image. Please check that the Camera is connected and try again');
%    end
    image = CAMERA_GetImage(com);
    handle = imshow(image);
    %pause(0.1)
    currTime(i) = toc(startTime);
    disp(['Aktuelle Zeit: ',num2str(currTime(i))])
    %imwrite(image,sprintf('NXTCamImage%03d.png',i));
    %imwrite(img,fullfile(workingDir,sprintf('HexBug%03d.png',n)));
    % ca. alle 4.8 Sekunden ein Bild
end;
</source>


== Zusammenfassung ==
== Spielstrategie ==
Was ist das Ergbnis?
Das Ergebnis dieses Artikels ist eine Vorlage, mit der Nutzer des Wikis schnell und leicht eigene Artikel verwirklichen können. Diese Vorlage ist Bestandteil der Anleitungen aus [http://193.175.248.171/wiki/index.php/Kategorie:HowTo den How-To's].


=== Programmablaufplan ===
Zu sehen ist der vorläufige PAP der zur Umsetzung der Spielstrategie in NXC gedient hat.
[[Datei:main_pap.png|mini|links|Main-Funktion <ref> Eigenes Foto </ref>]] <br/>
[[Datei:gegnertor.png|mini|center|Ausrichtung zum gegnerischem Tor <ref> Eigenes Foto </ref>]] <br/>
[[Datei:ballsuche_pap.png|mini|links|Ballsuche <ref> Eigenes Foto </ref>]] <br/>
[[Datei:ballaufnahme_pap.png|mini|center|Ballaufnahme <ref> Eigenes Foto </ref>]] <br/>
[[Datei:zielen.png|mini|center|Zielen <ref> Eigenes Foto </ref>]] <br/>
[[Datei:schuss.png|mini|center|Schuss <ref> Eigenes Foto </ref>]] <br/>




→ zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]]
 
 
 
 
 
 
 
=== Umsetzung in NXC ===
Beispiel zur Umsetzung der Spielstrategie in NXC.
[[Datei:main_nxc.png|mini|links|Main-Funktion <ref> Eigenes Foto </ref>]] <br/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==Zusammenfassung ==
===Lerneffekt===
Das Praktikum gab einem die Möglichkeit praxisnah das selbstständige Programmieren zu üben und zu vertiefen. Es gab einem Einblicke in das Zusammenspiel zwischen einem selbst geschriebenen Quellcode und zum Beispiel einem Sensor/Aktor. Sowohl die Teamfähigkeit als auch das fristgerechte Bearbeiten von Aufgaben wurden gefördert. Da freigestellt war, wie der endgültige Roboter auszusehen hat, gab es vielseitige Möglichkeiten ihn zu konstruieren. Somit wurden erste Erfahrungen mit Aspekten wie Schwerpunkt oder auch Leistungsgewicht gesammelt.
 
==Ausblick==
'''Verbesserungsmöglichkeiten:'''
* Crashsensor, um ein Festfahren oder auch Zusammenstoßen mit der Konkurrenz zu verhindern
* Feineres Ansteuern der Sensoren, um ein präziseres Zusammenspiel zwischen Aktoren und Sensoren zu erreichen.


== Literaturverzeichnis ==
== Literaturverzeichnis ==
<references />
<references />
Alle verwendeten Bildmaterialien auf dieser Seite wurden eigenständig erstellt.
== ==
→ zurück zum Hauptartikel: [[RoboSoccer_WS_18/19|Informatikpraktikum WS 18/19]]

Aktuelle Version vom 4. Februar 2019, 10:35 Uhr

Autoren: Jan Schuhmacher, Sven Posner, Philip Terhorst

Einleitung

In dem Submodul Informatikpraktikum I (WS 18/19) bestand die Aufgabe darin, in Kleingruppen von bis zu drei Leuten einen Roboter zu programmieren, welcher in der Lage ist Fußball spielen zu können. Der begleitende Professor dieses Praktikums war Prof. Schneider. Der Abschluss des Praktikums war es am Ende des Semesters am RoboSoccer-Turnier mit einem vorgegebenen Regelwerk erfolgreich teilzunehmen.

Gruppenmitglieder

Jan Schuhmacher

  • Programmierung
  • Wettkampf-Programmablaufplan
  • Technisches Design
  • Plakaterstellung
  • Wiki-Artikel

Sven Posner

  • Programmierung
  • Technisches Design
  • Wettkampfprogrammierung
  • Wiki-Artikel

Philip Terhorst

  • Programmierung
  • Technisches Design
  • Kameramann
  • Wiki-Artikel

Prototypen

Roboter mit Kettenantrieb und Getriebe

Der Kettenantrieb sollte für eine optimale Bodenhaftung und Wendigkeit sorgen. Allerdings wurde dadurch die Konstruktion extrem breit und instabil,

Roboter mit Ketten und Getriebe [1]


deshalb wurde dieser Prototyp verworfen.









Roboter mit großen Reifen

Die großen Reifen sollten aufgrund ihrer höheren Umfangsgeschwindigkeit dem Roboter einen Zeitvorteil bringen. Darunter litt jedoch die Präzision und Stabilität.

Roboter mit großen Reifen [2]











Die Schussvorrichtung mit Kette

Früheres Konzept zum Fangen und Schießen des Balles. Idee wurde verworfen da die Vorrichtung nicht effizienter schien als die Aktuelle.

Schussvorrichtung mit Kette [3]


















Spartacus

Design

Werbeplakat von Spartacus [4]



















Video

https://www.youtube.com/watch?v=2kTvAKZUCig

Hardware

Maße:

Abmaße [in mm]
Höhe 310
Länge 255
Breite 180
Radstand 170


Die Sensoren

  • Tastsensor: Der Tastsensor dient zur Bestätigung, ob der Ball gefangen wurde.
  • Infrarotsensor: Der Infrarotsensor dient zur Ballsuche und zum Messen der Distanz zum Ball.
  • Kompasssensor: Der Kompasssensor dient zur Torausrichtung.


Die Aktoren

In Spartacus wurden drei Servomotoren verbaut. Zwei davon dienen zur Fortbewegung und Lenkung, der dritte steuert den Fang- und Schussarm.


Der Brick

Der verwendete NXT ist die zweite Generation von Legos 'intelligenten Steinen'. Er wurde Mitte 2009 veröffentlicht und hat die eigenschaft mittels diverser Softwaretools programmierbar zu sein. Er besitzt insgesamt vier Anschlüsse für Sensoren und drei für Aktoren, sowie eine USB- und Bluetooth-Schnittstelle. [10]

Spielstrategie

Programmablaufplan

Zu sehen ist der vorläufige PAP der zur Umsetzung der Spielstrategie in NXC gedient hat.

Main-Funktion [11]


Ausrichtung zum gegnerischem Tor [12]


Ballsuche [13]


Ballaufnahme [14]


Zielen [15]


Schuss [16]






Umsetzung in NXC

Beispiel zur Umsetzung der Spielstrategie in NXC.

Main-Funktion [17]









Zusammenfassung

Lerneffekt

Das Praktikum gab einem die Möglichkeit praxisnah das selbstständige Programmieren zu üben und zu vertiefen. Es gab einem Einblicke in das Zusammenspiel zwischen einem selbst geschriebenen Quellcode und zum Beispiel einem Sensor/Aktor. Sowohl die Teamfähigkeit als auch das fristgerechte Bearbeiten von Aufgaben wurden gefördert. Da freigestellt war, wie der endgültige Roboter auszusehen hat, gab es vielseitige Möglichkeiten ihn zu konstruieren. Somit wurden erste Erfahrungen mit Aspekten wie Schwerpunkt oder auch Leistungsgewicht gesammelt.

Ausblick

Verbesserungsmöglichkeiten:

  • Crashsensor, um ein Festfahren oder auch Zusammenstoßen mit der Konkurrenz zu verhindern
  • Feineres Ansteuern der Sensoren, um ein präziseres Zusammenspiel zwischen Aktoren und Sensoren zu erreichen.

Literaturverzeichnis

Alle verwendeten Bildmaterialien auf dieser Seite wurden eigenständig erstellt.

→ zurück zum Hauptartikel: Informatikpraktikum WS 18/19