Dieses Dokument beinhaltet eine Bestandsaufnahme des Gesamtprojektes anhand der angelegten Userstories. Der Projektfortschritt bzw. der Teilprojektfortschritt wird entsprechend angegeben. Des Weiteren wird der Inhalt des Github-Repositories analysiert und die Zugehörigkeit der Module zu den jeweiligen Userstories angegeben.

Inhalt
0. Allgemeines
1. Userstories
1.1 Laborablauf zeitlich darstellen
1.2 Laborablauf geometrisch darstellen
1.3 Automatische Beschriftung Deckel durchführen
1.4 Automatisches Be- und Entladen Zentrifuge umsetzen
1.5 Entladestation Tubes umsetzen
1.6 Sliding Rail als Transportmittel realisieren
1.7 Sensorik bereitstellen
2 GIT-Analyse

0. Allgemeines

Ziel der Agile Roboticsystems Challenge ist primär Praxiserfahrung in der Projektarbeit eines interdisziplinären Umfelds zu sammeln. Alle Teilnehmer werden zu Beginn durch eine mehrwöchige Einarbeitungsphase auf den gleichen fachlichen Stand gebracht. Diese Einarbeitung umfassen Workshops und Schulungen zu relevanten Themen wie bspw. SCRUM, 3D-Druck, Robotik, Bilderkennung und Biochemie (Lifescience). Danach besteht die Aufgabe darin den Laborprozess der Plasmidisolation nach und nach zu automatisieren. Dazu wurden und werden zusammen mit den Professoren und dem betreuenden Personal Teilaufgaben (Userstories) definiert, welche in sogenannten Sprints bearbeitet werden sollen.

Um diesen Fortschritt der einzelnen Userstories und des Gesamtprojekts im Rahmen dieser Bestandsaufnahme verstehen zu können, wird dies anhand folgender Stufen eingeschätzt:

Abgeschlossen / Automatisiert

Prototypisch umgesetzt

In Entwicklung

Nicht umgesetzt

Trello-Link: https://trello.com/b/OMIEkbWQ/die-hei%C3%9Fen-k%C3%B6pfe

 

1. Userstories

Der Projektfortschritt und die Vollständigkeit wird geordnet anhand der in Trello angelegten Userstories des Productbacklogs betrachtet.

1.1 Laborablauf zeitlich darstellen

Der besprochene Ablauf von manuellen, automatischen und halb-automatischen soll sprachlich und/oder als Ablaufdiagramm (s. ablaufdiagramm.png (942×1084) (strippenstrolch.de), bzw. Zustandsdiagramm [AVR UML Tutorial] (avr-uml.de)

Module/Arbeitsschritte sind u.a.:

  • Laserdruck
  • Klebepunkte a) pritt b) lack
  • Halterung, Transport
  • Zentrifuge be/entladen
  • Entladestation

Fortschritt: Abgeschlossen, Verbesserungspotential

Das Ablaufdiagramm wurde mit draw.io erstellt und ist in github zu finden.

1.2 Laborablauf geometrisch darstellen

Module/Arbeitsschritte: s. Story 1

das bestehende System zur Reproduzierbarkeit muss um die neuen Module erweitert werden.

Weiterhin sind strukturelle Verbesserung zu vermessen und einzutragen

  • Haltepunkte des sliding rail kit, wo ist seine Null-Position
  • dito für die Roboterarme

Null-Punkte (home) sind auf der realen Laborstraße bspw. als rote Punkt Markierung anzubringen; dann können die Roboter vor dem Einschalten an dieser Position (manuell) platziert werden

Fortschritt: Abgeschlossen, Verbesserungspotential

Der Laborplan wurde mit Fusion 360 umgesetzt und ist auf github zu finden. Es sind weiterhin noch Bezeichnungen für die einzelnen Stationen und Roboter einzupflegen. Des Weiteren sind die Bewegungsradien an die tatsächlichen Reichweiten der Roboter anzupassen (im Plan ist dies nur schematisch dargestellt).

Ein Bild, das Screenshot, Farbigkeit, Kinderkunst, Design enthält. Automatisch generierte Beschreibung

Abbildung 1: Kurzer Auszug aus der geometrischen Laborplanung

1.3 Automatische Beschriftung Deckel durchführen

Der Lasercutter soll ausgedruckte Micro-QR-Codes ausschneiden, die dann der Dobot Light aufnehmen und auf der Unterseite mit Kleber versehen soll. Dann soll er diese auf die Tubes (auf der Sliding-Rail) drücken.

Fortschritt: Prototypisch umgesetzt

Innerhalb des Repositories sind zwei Ordner mit relevanten Daten zu finden. Diese enthalten einerseits eine strukturierte Druckvorlage mit Beispielcodes sowie den relevanten NC-Code des Lasercutters sowie Teach-In-Beispiele für den Dobot Lite. Eine vollwertige automatisierte Lösung an dieser Stelle fehlt jedoch. Eine Teach-In Sequenz für den Dobot Light ist vorhanden, diesbezüglich müsste jedoch eine automatische Ansteuerung seitens der Prozesssteuerung realisiert werden. Die Demo ist aber lediglich für einen einzigen QR-Code umgesetzt. Ebenfalls wichtig wäre die Anbindung an die vorliegende Datenbank der GUI-Prozesssteuerung (SQL-Lite Datenbank), da aktuell die Generierung microQR-Codes nicht gesteuert erfolgt.

1.4 Automatisches Be- und Entladen Zentrifuge umsetzen

Der Vorgang der Entnahme eines Tubes (von einer vordefinierten Stelle in der Zentrifuge) und Ablegen auf dem Rack auf dem sliding rail ist umzusetzen.

Physik:

  • Positionierung (s. Story 2)
  • fester Fuß
  • sucker pump Spitze ggfs. modifizieren

Software:

  • sucker pump ansteuern
  • Armsteuerung

Fortschritt: In Entwicklung

Es wurde die Entnahme eines Tubes aus der Zentrifuge prototypisch realisiert. Die praktische Umsetzung weist jedoch Mängel bezüglich der Entnahmegenauigkeit und des geplanten Standfußes auf – dies gilt es dringend zu bedenken und zu verbessern. Des Weiteren ist dieser Ansatz nur schwer auf weitere Tubes in der Zentrifuge erweiterbar. Das Repository enthält die entsprechenden Teach-In Dateien sowie die erstellten Programmdateien und Demonstrationsvideos. Die Readme-Dateien beschreiben den aktuellen Entwicklungsstand sowie den beschriebenen Sachverhalt äußerst detailliert.

Es soll zukünftig der Entnahmevorgang überarbeitet werden. Dazu gehören das Verbessern des Standfußes (um Toleranzen durch den Endeffektor zu reduzieren) und der Entnahmeposition. Die Entnahmekonfiguration der Tubes sowie die Stopp-Position der Zentrifuge ist dabei fest vorgegeben, die Anzahl der Tubes jedoch flexibel. Dazu soll eine geeignete Implementierung entworfen werden die mit Hilfe einfacher Teach-Ins diese Funktion realisiert. Die Ablage der Tubes soll in das Rack des Sliding Rails erfolgen (Ansteuerung erforderlich). Weitere Verbesserungen und Anpassungen diesbezüglich werden ggfs. iterativ in den Sprints besprochen und geplant.

Abbildung 2: Beispiel des Entladevorgangs

1.5 Entladestation Tubes umsetzen

Umsetzen der Tubes vom Rack des Slidingrail in eine geeignete Vorrichtung. Dort sollen die Deckel entfernt werden, um die Weiterverarbeitung zu ermöglichen. Die Deckel sollen entsorgt und die die offenen Tubes wieder auf das Rack aufgeladen werden.

Wichtig: Drehmoment durch Abdrehen der Deckel muss abgefangen werden

Existierende Single-Tube Klemme benutzen.

Iteratives Klemmen und Abdrehen der Deckel

Fortschritt: Abgeschlossen, Verbesserungspotential

Der physische Aufbau der Klemmvorrichtung ist vollständig abgeschlossen. Es wurde eine Platine entworfen, welche die Spannung und die Ansteuerung des magnetischen Aktors regelt. Es wurde außerdem eine ausführliche Dokumentation erstellt, welche die Verwendung dieser Vorrichtung beschreiben. Die Platine wurde mittels einer 3D-gedruckten Halterung und der entsprechenden Legoadapter auf der Grundplatte der Laborstraße befestigt. Diese Dateien samt Schaltplan und Dokumentation sind in dem Repository zu finden. Außerdem ist ein Beispielcode vorhanden, der die Ansteuerung über das GPIO des Dobot Magician auf dem SlidingRail demonstriert.

Ein Bild, das Elektronik, Kabel, Elektrische Leitungen, Plastik enthält. Automatisch generierte Beschreibung

Abbildung 3: Aufbau der Klemmvorrichtung

Ein Bild, das Text, Diagramm, Plan, technische Zeichnung enthält. Automatisch generierte Beschreibung

Abbildung 4: Schaltplan

1.6 Sliding Rail als Transportmittel realisieren

Abzudecken sind “Haltepunkte” s. Story 2,

Physik:

  • zusätzliche Legoplatten
  • Lego adapter
  • Halterung

Haltepunkte:

  • Laser Cutter/Dobot Lite
  • Saugschwein/Mülleimer
  • Elephant, Sensoren
  • Home Koordinaten s. Story 2

Akezpanzkrtiterien:

  • revisionierbar

Fortschritt: Abgeschlossen, Verbesserungspotential

Es wurden eine geeignete Haltevorrichtung für das SlidingRail entworfen, sodass es an der Grundplatte der Laborstraße befestigt werden konnte. Dies geschah mit den bereits bekannten Legoadaptern. Die Positionierungen der einzelnen Komponenten ist bereits durch den geometrischen Laborplan (siehe Punkt 1.2) realisiert. Auch die Ansteuerung sowie die Endlagenerkennung sind realisiert. Der Teach-In-Code ist in dem Repository zu finden.

1.7 Sensorik bereitstellen

Sensor, der die Ankung des sliding rail erkennt und an den Mini-PC und an den Elephant-Roboter meldet

a) Lichtschranken

b) Whisker

Fortschritt: Nicht umgesetzt

An dem Nullpunkt des SlidingRails ist bereits ein Endlagenschalter angebracht und elektrisch verschaltet. Mittels der geeigneten Adressierung kann man diesen auslesen und programmatisch verarbeiten. Die Meldung an den Mini-PC muss jedoch noch realisiert werden. Ein geeigneter Kommunikationsablauf muss folglich noch entwickelt werden.

2. GIT-Analyse

Repository: https://github.com/Prof-Adrian-Mueller/Agile_Roboticsystems_Laborstrasse.git
Branch: agile_roboticsystems_challenge_2024

Der aktuellste Branch des Projektrepositories wurde durch einen Merge von main (wo sich die neuesten Dokumentation und Projektdateien befanden) und von u_qt_gui (wo die neuste Version der grafischen Nutzeroberfläche der Laborautomation zu finden ist) erzeugt.

Die neuerstellten Projektdateien befinden sich in dem Ordner „ASS“. Alle weiteren Dateien und Ordner im Homeverzeichnis des Branches unterliegen der GUI-Software der Laborstraße.

In der folgenden Tabelle wird die Ordnerstruktur des „ASS“-Teils erläutert. Für eine detaillierte Beschreibung empfiehlt es sich die zugehörigen Readme-Dateien der entsprechenden Module zu lesen.

Ordner Beschreibung Zugehörige Userstory
Adjustable_QR_Reader-main Extrahierter Pythoncode aus der GUI-Software, erkennt und visualisiert microQR-Codes via Webcam -
Deckel_abschrauben Teilprojektordner, leer 6
Dokumentation Ablaufdiagramm, Laborlayout 1, 2
Klebepunkte Druckvorlage, Beispiel microQR-Codes 4
Klebepunkte_entnehmen&loesen Teach-In-Code für das Applizieren der microQR-Codes, NC-Code des Lasercutters 4
Klemmvorrichtung 3D-Dateien, Schaltplan und Installationshilfen, Dokumentation für die Klemmvorrichtung, Beispielcode für das Ansteuern der Klemmvorrichtung 6
LegoAdapter 3D-Dateien für die Legoadapter zur Fixierung der Komponenten an der Grundplatte der Laborstraße universell
Plattform auf Slidingrail Entwurf der Adapter-komponenten zur Fixierung des Dobots und des Tuberacks auf dem SlidingRail 7
SlidingRailAnsteuerung Teach-In-Code für das Bewegen des SlidingRails an die genannten Haltepunkte 7
ZentrifugeBe_Entladen Beispielcode zum Teach-In des 6-Achsen-Roboters für das Be- und Entladen der Zentrifuge, genaue Teilprojektbeschreibung in den Readme-Dateien (kein Dobot – anderes Robotersystem) 5

miniPC Softwarestand:

Home/Desktop/Dobot – Software und Dateien der Abschluss-Demo

Home/Desktop/CV Test – Testscript für Objekterkennung

Home/Desktop/AnweisungGUILaborstraße.txt – Anweisungen für das alte GUI-System

Home/Desktop/QR Reader – extrahierter microQR Reader

Home/Fujitsu/IdeaProjects/AgileRoboticSystemsLabortrasse – alter Projektordner

Alles python-Projekte lassen sich mit pycharm auf dem Labor-PC ausführen. Ein bestehendes Problem ist aber die Tatsache, dass die microQR-Verfolgung über die installierte Deckenkamera in der GUI-Software nicht funktioniert. Hier sind noch entsprechende Nacharbeiten nötig.