13.07.2015 Aufrufe

Für allen denen einer abgegangen ist bei unserem Vortrag in ...

Für allen denen einer abgegangen ist bei unserem Vortrag in ...

Für allen denen einer abgegangen ist bei unserem Vortrag in ...

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Softwaretechnik Sem<strong>in</strong>arGesamtvortrag der Gruppe 1 und 2Redesign und Homogenisierung derbisherigen Cobra-Projektemit Eclipseunter Java und ANSI-CMüller, Trill<strong>in</strong>g, Görsch, GSheldon, MoosmannErläuterung zum Cobra RoboterKurze BeschreibungFunktionsweise des Roboterarmsserielle SchnittstelleSchnittstellenmonitorKurze Beschreibung- Sekuria Cobra Hybrid 6 Roboter- Älteres Baujahr (1987)- Industrieroboter- Roboter werden <strong>in</strong> der Industrie zurAutomatisierung e<strong>in</strong>gesetzt.- Vorteil: Kostensenkung durch effizientere,schnellere Produktion.


Kurze BeschreibungGreiferSchnittstellenmonitorKurze BeschreibungFunktionsweise des Roboterarms1. Bewegung des gesamten Armes <strong>in</strong> z-zRichtung (hoch und runterfahren).2. Bewegung des Schultergelenkes um180° (-90° - +90° aus derAusgangsstellung).3. Bewegung des Ellbogengelenkes <strong>in</strong>negativer Richtung um 180°, , <strong>in</strong> positiverRichtung um 151°.


Funktionsweise des Roboterarms4. Handschwenkachse um 110° <strong>in</strong> <strong>bei</strong>deRichtungen drehbar. Bewegung <strong>ist</strong>abhängig von der Stellung desEllbogens.5. Handgelenkmotoren- 1 Motor für f r Hoch und Runter- 1Motor für f r l<strong>in</strong>ks und rechts kippen.6. Greifermotorserielle Schnittstelle- Roboter wird über die serielle Schnittstelleangesteuert.- Zwei Prozessoren, jeder bear<strong>bei</strong>tetbestimmte Gelenke.- Können vorgefertigte Befehlssätzeabar<strong>bei</strong>ten z.B. 8 Initialisierung.SchnittstellenmonitorKurze Beschreibung:- Der Schnittstellenmonitor <strong>ist</strong> parallel zur Datenübertragungsleitung geschaltet.- Zeigt die Kommunikation zwischen PC Cobra Roboter- Die Anzeigewerte s<strong>in</strong>d als Hexwerte dargestellt


Gesendete Daten PCGesendete Daten RoboterTeilvortrag Gruppe 2Gunnar Trill<strong>in</strong>gOliver GörschGMarkus MüllerMGliederung des <strong>Vortrag</strong>es1. Themenvorstellung2. Vorstellung der vorhan<strong>denen</strong> Projekte3. Vorstellung der verwendeten Software4. Projektverlauf5. Ergebnis6. Ausblick7. Fragen


1.3 Geänderte AufgabenstellungProblematik:Nur 2 aufe<strong>in</strong>ander aufbauende ProjekteHomogenisierung nicht notwendigNeue Aufgabenstellung:Redesign der Projekte (unter Eclipse)Erstellung <strong>e<strong>in</strong>er</strong> verwendbaren Dokumentation1.4 Entstandener ZeitplanE<strong>in</strong>ar<strong>bei</strong>tungbis KW 20 (15)RedesignKW 20- KW 26Dokumentation und PräsentationKW 26 – KW 30Benötigte Stunden pro Woche:1-30, je nach dem ob der Rechner lief…2. Vorstellung der vorhan<strong>denen</strong>Projekte2.1 Kurze Beschreibung2.2 vorhandene Dateien2.3 Versionsunterschiede


2.1 Kurze BeschreibungAnsteuerung des COBRA Roboters mitJAVA, Chr<strong>ist</strong>ian Bruder und MoritzHe<strong>in</strong>ze, WS 2003/2004Realisierung des Koord<strong>in</strong>atenbetriebs <strong>in</strong>JAVA, Daniel Budjarek und Chr<strong>ist</strong>ianGnädig, SS 20042.2 vorhandene DateienQuellcodedateien• WS 2003/2004• SS 2004Für r serielle Schnittstelle• Comm.jar• javax.comm.properties• w<strong>in</strong>32com.dll2.3 VersionsunterschiedeDoppelt vorkommende Quellcodedateien2 unterschiedliche comm.jarParameter.java und Roboter.javaenthielten fast gleichen InhaltParameter.java und Ma<strong>in</strong>GUI.java warennur <strong>in</strong> zweiten Projekt vorhanden.


3. Vorstellung der verwendetenSoftware3.1 Eclipse 3.03.1.1 über Eclipse3.1.2 Benutzung von Eclipse3.2 Altova UModel UML 2.03.1.1 Eclipse 3.0Kostenlose EnwicklungsumgebungOpen-SourceSource-ProjektAuf JavaplattformModular aufgebaut3.1.2 Benutzung von EclipseAufbau• Projektübersicht• Ar<strong>bei</strong>tsbereich• Konsole• Funktionsübersicht• Kann auch angepasstwerdenFunktionen• Quellcodeformatierung• E<strong>in</strong>fügen vonKommentaren• Suchen-Ersetzten• Usw…


3.2 Altova UModel UML 2.0Erstellen von UML-Diagrammen undUmwandeln <strong>in</strong> QuelltextReverse-Eng<strong>in</strong>eer<strong>in</strong>gEng<strong>in</strong>eer<strong>in</strong>g-Tollum aus vorhandenemQuelltext UML-Diagramme zu erstellenJede Art von UML-Diagramm möglich4. Projektverlauf4.1 Anfangsschwierigkeiten4.2 E<strong>in</strong>ar<strong>bei</strong>tung <strong>in</strong> Programme4.3 Vorgehensweise <strong>bei</strong>m Redesign4.1 AnfangsschwierigkeitenWelche Dateien werde benötigt, welches<strong>in</strong>d überflüssig?Installation von Programmen erforderlich(ke<strong>in</strong>e Adm<strong>in</strong><strong>ist</strong>rationsrechte)Speichertests (defekter Ar<strong>bei</strong>tsspeicher imPC)Ar<strong>bei</strong>ten mit EclipseAr<strong>bei</strong>ten mit Altova UModel


4.2 Inbetriebnahme des ProjektesException: NoSuchPortException, , da dieserielle Schnittstelle noch nichte<strong>in</strong>gebunden war!Ma<strong>in</strong>GUIwurde mit Visual Café erstellt. Klassen <strong>in</strong>Eclipse nicht mehr vorhanden. E<strong>in</strong>b<strong>in</strong>dennicht möglichmAnfänglich nglich mehrere Ma<strong>in</strong>funktionen <strong>in</strong>e<strong>in</strong>em Projekt, dadurch Schwierigkeiten<strong>bei</strong>m übersetzen4.3 E<strong>in</strong>b<strong>in</strong>den der seriellenSchnittstellew<strong>in</strong>32com.dll wird <strong>in</strong>s Verzeichnis < jdk>\jre\b<strong>in</strong>kopiertcomm.jar wird <strong>in</strong>s Verzeichnis < jdk>\jre\lib\extkopiertjavax.comm.properties wird <strong>in</strong>s Verzeichnis jdk>\jre\libkopiertDer CLASSPATH-E<strong>in</strong>tragwird nicht geändertDie comm.jar wird <strong>in</strong>s verwendete Projekte<strong>in</strong>gebunden.Erst nachdem dies alles durchgeführt hrt wurde,konnten wir die serielle Schnittstelleansprechen4.4 Vorgehensweise <strong>bei</strong>mRedesignMa<strong>in</strong>GUIAnalyse des Quelltextes/Erstellung vom UMLÜberlegungen (was bleibt dr<strong>in</strong>, was fliegt raus,was wird geändert?)Umstrukturierung der ProgrammstrukturAusgliederung vom HandbetriebRoboter wird HauptklasseKoord<strong>in</strong>atenbetrieb an Roboter anpassenFormatierung des QuelltextesNeues UMLJavaDoc


UML-Diagrammvor Redisgn5. ErgebnisUML-Diagrammnach Redisgn6. AusblickDurch neu entstan<strong>denen</strong>, modularenAufbau s<strong>in</strong>d Erweiterungen leichte<strong>in</strong>zub<strong>in</strong>denErstellen <strong>e<strong>in</strong>er</strong> Ma<strong>in</strong>GUIBildüberwachung des RobotersWebapplikation zur Steuerung desRoboters über das Netz7. Fragen???


Teilvortrag Gruppe 1Redesign der C – ProjekteKlaus MoosmannStephen SheldonGliederung1. Aufgabenstellung2. Vorhandene Projekte3. Def<strong>in</strong>itionen und Werkzeuge4. Projektdurchführung hrung (Inkremente)5. Tests6. Ergebnis und Ausblick7. Projektverlauf und Beurteilung1. Aufgabenstellung1. Redesign der vorhan<strong>denen</strong>Roboterprojekte:- s<strong>in</strong>nvolles Zusammenfügen dere<strong>in</strong>zelnen Projekte zu e<strong>in</strong>em gesamtenProjekt mit unterschiedlichen Modulen.- Homogenisierung des Quellcodes- Entfernen redundanter Funktionen


1. Aufgabenstellung2. Erweiterung der Roboterfunktionen- Realisierung der Kraftarmfunktion3. Dokumentation- Redesign der Dokumente2. Vorhandene Projekte1. Numerische Ansteuerung des Roboters2. Koord<strong>in</strong>atentransformation undWegplanung3. TeachIn Modus.4. HandbetriebNumerische Ansteuerung- Motoren bewegen sich <strong>in</strong> Schritten(Inkrementen).- Dadurch lässt lsich e<strong>in</strong>e ArtKoord<strong>in</strong>atensystem aufbauen.- Im Projekt „numerische Ansteuerung“ <strong>ist</strong>diese Ansteuerung realisiert.


Koord<strong>in</strong>atentrafo- Transformation von kartesischenKoord<strong>in</strong>aten <strong>in</strong> Roboterkoord<strong>in</strong>aten.- Rücktransformation derRoboterkoord<strong>in</strong>aten <strong>in</strong> kartesischeKoord<strong>in</strong>aten.- Suche nach dem kürzest kmöglichen mWeg- Umgehung e<strong>in</strong>es H<strong>in</strong>dernisses auf demWeg von A nach B.TeachInAufzeichnen der gesendetenRoboterbewegungenAufgezeichnete RoboterbewegungenwiederholenHandbetrieb- Explizites Steuern der e<strong>in</strong>zelnen Motoren.- E<strong>in</strong> spezifizierter Motor kann e<strong>in</strong>e gewisseZeit lang e<strong>in</strong>zeln bewegt werden.


Werkzeuge1. Betriebssystem: Debian L<strong>in</strong>ux2. IDE: Eclipse Version 3.03. CDT Version 1.5- PlugIn zur Erweiterung von Eclipse aufC/C++ Programmierung.4. Compiler: Gnu C – Compiler5. Debugger: Gnu – Gdb6. Dokumentation: Doxygen, , MS - Word XPDef<strong>in</strong>itionenFolgende Richtl<strong>in</strong>ien für f r die C –Programmierung.1. Funktionsaufrufe kle<strong>in</strong> schreiben.2. extern – Anweisungen nur <strong>in</strong> HeaderFiles3. Präprozessordirektivengroß schreiben.4. Kurze und aussagekräftigeBezeichnungen.5. Kommentare <strong>in</strong> Deutsch.Def<strong>in</strong>itionenFür r das Softwaresystem soll gelten:1. Date<strong>in</strong>amen von Modulen undHeaderdateien kle<strong>in</strong> schreiben.2. S<strong>in</strong>nvolle Gruppierung der e<strong>in</strong>zelnenFunktionen zu Modulen.3. Jedes Modul besitzt e<strong>in</strong>en Header mitglobalen Datenstrukturen undFunktionsprototypen.


ProjektdurchführunghrungInkrement 1: E<strong>in</strong>ar<strong>bei</strong>tungInkrement 2: ToolauswahlInkrement 3: neues Roboterprojekt mit denBasisfunktionenInkrement 4: Koord<strong>in</strong>atentransformation,Wegplanung, TeachInInkrement 5: Redesign der DokumenteInkrement 6: KraftarmInkr1: E<strong>in</strong>ar<strong>bei</strong>tung1. E<strong>in</strong>ar<strong>bei</strong>tung <strong>in</strong> den Roboter.2. Überblicküber die e<strong>in</strong>zelnen Projekte3. Auswahl der Komponenten, welcheübernommen werden sollten.1. Korrekte Funktion2. Funktionsumfang3. Wie e<strong>in</strong>fach <strong>ist</strong> die Implementierung zudurchschauen?Auswahl1. Serielle Schnittstelle.2. Numerischer Betrieb (nachRoboterkoord<strong>in</strong>aten).3. Koord<strong>in</strong>atentransformation4. Wegoptimierung5. Wegplanung


AuswahlNeu Implementiert:1. Handbetrieb, wegen geänderterFunktionalität.t.2. TeachIn Modus, wegen schwierigerPortierung auf die serielleSchnittstelle.=> Redesign der Idee.Inkr 2 Toolauswahl1. Suche nach geeigneten Tools2. E<strong>in</strong>ar<strong>bei</strong>tung <strong>in</strong> diese Tools.3. Auswahl:1. Eclipse2. CDT3. GNU gcc bzw. gdb4. Doxygen5. MS – Word XPInkr3: neues Projekt1. Implementierung e<strong>in</strong>es Ma<strong>in</strong> Moduls.1. Enthält die Ma<strong>in</strong> Methode desSoftwaresystems2. Enthält e<strong>in</strong>e Kommandozeilenoberfläche,aus welcher sich die Funktionen aufrufenlassen.3. Fehlerhafte E<strong>in</strong>gaben werden durchentsprechende Überwachungsmechanismenabgefangen.


Inkr 3: neues Projekt2. Serielle SchnittstelleFunktionen:1. Initialisieren der Schnittstelle2. Öffnen der Schnittstelle3. Senden4. Empfangen5. Schließen.en.Inkr 3: neues Projekt3. Numerische AnsteuerungFunktionen zur Ansteuerung des Roboters.1. Initialisierung2. Bewegung nach Roboterkoord<strong>in</strong>aten3. HandbetriebInkr 4: Koord<strong>in</strong>atentransformation1. Umrechnung von mathematischenKoord<strong>in</strong>aten (x,y,z(x,y,z) ) <strong>in</strong>Roboterkoord<strong>in</strong>aten.2. Richtet sich nach der Position desGreifers.3. Es müssen mnoch Koord<strong>in</strong>aten für f r dieW<strong>in</strong>kel des Handgelenks und dieÖffnung des Greifers mitgegebenwerden.


Inkr 4: Koord<strong>in</strong>atentrafoInkr 4: Koord<strong>in</strong>atentrafoInkr 4: WegoptimierungProblem:1. Koord<strong>in</strong>atentransformation kann zuverschie<strong>denen</strong> Lösungen Lfür f r dieRoboterkoord<strong>in</strong>aten führen. f2. Bei Bewegung von A nach B kann esmehrere Möglichkeiten Mgeben.


Inkr 4: Wegoptimierung1. Speicherung des gegebenen Zustandes.2. Prüfen welche Lösung Lam wenigsten Zeitkostet, d.h. welche wenigInkrementänderungnderung verlangt.Wegplanung1. Berechnet nach Angabe von Start, Zielund H<strong>in</strong>derniskoord<strong>in</strong>aten die optimaleStrecke um dieses H<strong>in</strong>dernis.2. H<strong>in</strong>dernis wird hier<strong>bei</strong> durch e<strong>in</strong>enhalbunendlichen Quader approximiert.3. Strecke wird entsprechend verändert,dass Bewegung nicht durch denH<strong>in</strong>dernisquader geht.Inkr 4: TeachInAufzeichnung: Gesendete Roboterbewegungenwerden <strong>in</strong> <strong>e<strong>in</strong>er</strong> Datei gespeichertWiederholung: Roboterbewegungen werden ausder Datei ausgelesen und dernumerischen AnsteuerungübergebenFeatures:- freies Filehandl<strong>in</strong>g (defaultDatei, eigeneDate<strong>in</strong>ame- Statusabfrage (Aufzeichnung aktive?)


Inkr 5: Redesign der DokumenteVere<strong>in</strong>heitlichung des Projektes bedeutetauch Vere<strong>in</strong>heitlichung der Dokumente.1. Zu jedem Modul e<strong>in</strong>eFunktionsdokumentation.2. Funktionsweise des Roboters wirdzentral dokumentiert.3. E<strong>in</strong>heitliche Sprache (deutsch).Inkr 6: Kraftarm- Steuerung der Greifermotoren.- Kontrollierte Steuerung, damit Gegenstandnicht zerdrückt wird.- Zur Realisierung blieb leider ke<strong>in</strong>e Zeitmehr.Tests- Bei vorhan<strong>denen</strong> Funktionen: Orientierungan den Tests der anderen Gruppen.- Neu implementierte Funktionen nach demBlack – Box Test.- Genauere Analysen des Quellcodes nur<strong>bei</strong> Fehlern.


Ergebnis und Ausblick- Software, welche die von unsbeschriebenen Module <strong>bei</strong>nhaltet.- Alle beschriebenen Features s<strong>in</strong>d über e<strong>in</strong>Kommandozeilenprogramm aufrufbar.- Quelltext <strong>ist</strong> homogenisiert.- Dokumentationen s<strong>in</strong>d e<strong>in</strong>heitlich undkompakt.- Erweiterbarkeit.Ergebnis und AusblickE<strong>in</strong>ige Fehler s<strong>in</strong>d noch vorhanden:1. In der numerischen Ansteuerung.2. Kraftarm <strong>ist</strong> nicht realisiert.Projektverlauf und Beurteilung- Trotz Startschwierigkeiten (E<strong>in</strong>ar<strong>bei</strong>tung <strong>in</strong>L<strong>in</strong>ux und die Entwicklungstools) undRechnerproblemen war e<strong>in</strong> zügiges zundproduktives Ar<strong>bei</strong>ten möglich. m- Aufteilung <strong>in</strong> E<strong>in</strong>zelar<strong>bei</strong>t und Teamar<strong>bei</strong>t.- Erfahrungsgew<strong>in</strong>n im Bereich C –Programmierung und Projektplanung


7. Fragen???Vielen Dank für f r eureAufmerksamkeit.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!