Robot Cell Simulator – Anonymisierte Studie für KI
« Fenster KI-Agent (Chat) | Inhalt | VeRa - KI-Agent und Sprachsteuerung »
Idee | Bedienung | Inhalt der Datei | Datenschutz | Mit Copilot | Import der KI-Vorschläge | Andere KI-Anbindungen | Beispiel | Befehls-API
Vollständige Kollisionsstudie mit einem Prompt – KI-Agent. Im Fenster KI-Agent (Reiter neben dem Meldungsfenster, Lizenz API / CLI) läuft die ganze Studie der in der Szene geöffneten Station selbst. Geben Sie zum Beispiel ein:
Finde alle möglichen Kollisionen der geöffneten Station: Basislauf, Arbeitsbereiche, Verriegelungen prüfen, dann einen Plan für den Robustheitstest mit Live 3D schreiben und ausführen. Gib mir den Bericht.
Das ersetzt die manuellen Schritte:
  1. alle Roboter in HOME fahren (Folge 125),
  2. Basislauf der Folge (Zeiten, Warten, Wettläufe),
  3. Arbeitsbereiche berechnen,
  4. Verriegelungen prüfen,
  5. die anonymisierte Studie exportieren, einem KI-Assistenten geben und seine Antwort übernehmen,
  6. den Plan des Robustheitstests schreiben oder importieren,
  7. den Robustheitstest mit Live 3D starten und abwarten,
  8. den Bericht öffnen und die Kollisionsfälle auswerten.
Der Agent schreibt den Testplan aus den Ergebnissen des Basislaufs – dieselbe Methode wie Plan des KI-Agenten im Vergleich der Testarten – und liefert dieselben Ergebnisse: alle bekannten Kollisionsstellen A–E, etwa 10 min bei 400 %. Die Antwort kommt im Chat (Taktzeiten, Kollisionsfälle, Wettläufe) und als Bericht des Robustheitstests.
Daten: im anonymen Modus (/anonymous on) sendet der Chat Kennungen (R1, R2 …, <file N>, <name>) statt der echten Namen an das Modell – wie die anonymisierte Studie – und die ganze Studie läuft trotzdem selbst. Ohne ihn fragt der Chat, bevor die ersten echten Daten gesendet werden.

Idee

Die Analyse der Verriegelungen und der Taktzeit einer Zelle (Engpass, fehlende Verriegelungen, wo ein Bereich früher oder später angefordert und freigegeben werden kann, Ketteneffekte auf andere Roboter) kann ein KI-Assistent unterstützen. Roboterprogramme, Namen und das Layout einer Anlage sind vertraulich und dürfen nicht an einen KI-Dienst gehen. Der Robot Cell Simulator macht deshalb alle Berechnungen lokal (Kinematik, Arbeitsbereiche von Arm und Werkzeug, gemeinsame Volumen, Simulation der Zelle mit der Stations-SPS) und speichert nur ihre Ergebnisse in abstrakter Form: Roboter R1…Rn, Programme F# (Folge) / U# (UP), Punkte P# – ohne Namen, Koordinaten, Kommentare und Programmtext.

Die KI schlägt nur Änderungen vor. Der Programmierer übernimmt sie lokal, der Robot Cell Simulator prüft sie mit einer neuen Simulation, die Entscheidung bleibt beim Menschen.

Bedienung

  1. Zelle und Programme laden (z. B. Simulation > Simulation laden...).
  2. Arbeitsbereiche: Programme der Roboter anhaken, Berechnen.
  3. Optional, aber empfohlen: Registerkarte Simulation, Auf allen Robotern starten (mehrere Zyklen) – die Studie enthält dann Taktzeiten, Wartezeiten und die Belegungsdauer der Bereiche.
  4. Arbeitsbereiche: Anonymisierte Studie für KI... – Datei wählen. Es werden zwei Dateien geschrieben:
    • <Name>.json – für den KI-Assistenten;
    • <Name>.key.json – der Schlüssel von den IDs zu den echten Namen. Er bleibt auf diesem Rechner – niemals versenden.
    Die Meldung zeigt den Inhalt (Roboter, Programme, Punkte, Verriegelungen prüfen, Simulation) und warnt rot, wenn noch Teile echter Namen in der Datei sind (dann nicht versenden).
  5. Die .json und das Briefing für den KI-Agenten an den KI-Assistenten geben (siehe Mit Copilot).
Registerkarte Arbeitsbereiche: Schaltfläche Anonymisierte Studie für KI...
Meldung nach dem Speichern
Das Briefing für den KI-Agenten (Aufgabe, Verriegelungsregeln des VW-Standards in eigenen Worten mit Verweis auf die KS-Version, Optimierungsmuster, Beschreibung der Datei) gibt es auf Deutsch und Englisch. Es geht zusammen mit den Daten an die KI und muss vom Kunden ebenfalls freigegeben werden.

Inhalt der Datei

TeilInhalt
robots, zoneCalculationR1…Rn; Raster und Radius der Arbeitsbereichsberechnung
sharedAreasRoboterpaar: gemeinsames Volumen (m³), ohne Verriegelung befahrener Teil, Verriegelungen des Paares, größte Einfahrt ohne Verriegelung
programs[].stepsjeder Punkt in Ausführungsreihenfolge mit aufgerufenen UPs: Punkt (F1/U2/P5), Bewegungsart, Genauhalt, Prozessbahn, angeforderte / freigegebene Bereiche, belegte Bereiche während der Bewegung und nach dem Punkt, Berührung mit Arbeitsbereichen anderer Roboter, Bewegung ohne Verriegelung
checkInterlocksBefunde von Verriegelungen prüfen, Namen ersetzt
simulationStationstakt, Takt und Wartezeit jedes Roboters, Warten auf Bereiche (wo, welcher Bereich, belegt von wem), Belegungsdauer der Bereiche, Warteketten, gleichzeitige Anforderungen
interlockTexts, commentTemplatesnur wenn Sie die Frage beim Speichern mit Ja beantworten (die Wahl wird gespeichert): die Verriegelungskommentare über den Punkten (nur Kommentare mit einem Verriegelungswort), die Verriegelungsbefehle der Punkte und die Langtexte von E41..E56 / A41..A56 / A81..A96 jedes Roboters, Roboter- und Programmnamen durch R# / F# / U# ersetzt; die Kommentarvorlagen aus Einstellungen > Verriegelungskommentare. Die KI prüft, ob Kommentare und Langtexte gut geschrieben sind und zu den Programmen passen (Regeln im Briefing, Abschnitt 6), und antwortet in "texts".

Datenschutz

Nicht in der Datei: Koordinaten, Namen von Robotern, Station, Linie oder Werk, Programmnamen, Programmtext, Kommentare (Text in Anführungszeichen wird zu "<text>"), Signaltexte, Dateipfade (<path>), Robotertyp, Kennungen aus Programmköpfen (<name>). In der Datei: IDs, Punktnummern, Bereichsnummern 1–16, Bewegungsarten, Volumen, Zeiten und die Standardsignale (E41, A81, SPSMAKRO20, Makro45) – sie tragen die Bedeutung und sind nicht vertraulich.

Vor dem Speichern prüft der Robot Cell Simulator die Datei auf Teile der echten Namen (alle bekannten Formen, kurze Roboternamen, lange Ziffernfolgen der Namen, Kennungen mit Unterstrich, Pfade). Das Ergebnis steht in der Meldung.

Anonymisierte Studie oder anonymer Modus des KI-Agenten? Die anonymisierte Studie ist eine Datei: Sie exportieren sie, geben sie selbst dem KI-Assistenten und importieren seine Antwort – ein manueller Weg; die Schlüsseldatei bleibt auf Ihrem Rechner. Der anonyme Modus des Fensters KI-Agent (/anonymous on) arbeitet automatisch: der Simulator ersetzt Roboternamen, Dateipfade und Kennungen der Anlage in jedem Text an das Modell durch R1, R2 …, <file N> und <name> und setzt in seinen Befehlen die echten Namen wieder ein; der Schlüssel bleibt nur im Speicher des Simulators. Die anonymisierte Studie entfernt mehr (auch Programmtext, Kommentare und Koordinaten); im anonymen Modus können freie Wörter in Kommentaren, die nicht wie Namen aussehen, trotzdem das Modell erreichen.

Ob solche Daten an einen KI-Dienst in der Cloud gehen dürfen, entscheidet der Kunde (Klassifizierung der Daten). Mit einem lokal installierten KI-Modell verlässt nichts den Rechner.

Mit Microsoft Copilot

Copilot greift nicht direkt auf den Robot Cell Simulator zu – der Austausch geht über Dateien, der Anwender sieht und kontrolliert alles, was übergeben wird:

  1. Im Copilot-Chat das Briefing (anon_agent_brief_de.md oder _en.md) und die anonymisierte .json hochladen.
  2. Eingabe zum Beispiel: "Lies das Briefing und analysiere die anonymisierte Roboterzelle in der JSON-Datei gemäß Abschnitt 1 des Briefings: Stationstakt, fehlende Verriegelungen, Vorschläge mit erwarteter Wirkung, Sicherheit. Gib die Änderungen am Ende auch im JSON-Format aus."
  3. Die ganze Antwort von Copilot kopieren und im Robot Cell Simulator importieren: Arbeitsbereiche > KI-Vorschläge importieren... (siehe Import der KI-Vorschläge). Die IDs (R5, U2 …) werden mit der lokalen Schlüsseldatei den echten Robotern und Programmen zugeordnet.

Import der KI-Vorschläge

Arbeitsbereiche > KI-Vorschläge importieren... liest die Antwort des KI-Assistenten und zeigt, was sie in den Programmen der Zelle bedeutet:

  1. Die Antwort Einfügen (die ganze Chat-Antwort – der Block {"changes": [...]} wird im Text gefunden) oder Datei öffnen...; die Schlüsseldatei des letzten Exports wird automatisch gewählt.
  2. Analysieren – Tabelle der vorgeschlagenen Änderungen: Roboter, Programm und Punkt (ID und echter Name), Aktion, die Änderungen im Programm (z. B. A81 = EIN, SPSMAKRO20 = EIN, E41 in FB PSPS), die Begründung der KI (so angezeigt, wie die KI sie geschrieben hat – in der Sprache des Briefings) und ein Hinweis. Nicht umsetzbare Änderungen (Punkt oder Programm nicht gefunden, Bereich außerhalb 1..16) sind rot; zu prüfende Änderungen (Bereich dort schon angefordert, Warten auf der Prozessbahn, Partner unbekannt) sind orange und nicht angehakt. Farben: in der Antwort der KI Befunde rot (MISSING, LOGIC, Engpass), Bedingungen und Warnungen orange (ONLY AFTER, prüfen), IDs violett, Zeiten und Prozente grün, der JSON-Block grau; in der Tabelle request grün, release blau, remove_* orange, eine von der KI als bedingt markierte Änderung (ONLY AFTER ...) gelb hinterlegt – vor der Übernahme entscheiden (abhaken, wenn die Bedingung nicht erfüllt ist).
  3. In aktuelle Simulation übernehmen – die Programme werden gesichert (RCS_AI_backup_<Datum> im Ordner der anonymisierten Studie), die angehakten Änderungen mit demselben Code wie Verriegelungen einfügen im Editor eingefügt (Kommentare mit dem Partnerroboter, A81..A96, SPSMAKRO20, E41..E56 in FB PSPS, A41..A56), die Programme gespeichert und die Simulation mit den Einstellungen der Registerkarte Simulation gestartet. Mit Nach dem Übernehmen mit den 3D-Modellen prüfen werden vorher die Arbeitsbereiche aus den Dreiecken der 3D-Modelle mit den geänderten Programmen berechnet: grün = keine Einfahrt in einen gemeinsamen Bereich ohne Verriegelung, rot = Liste der Einfahrten (Roboter, Punkt, Partner), die Zeilen dieses Roboters und Programms rot markiert – Originalprogramme wiederherstellen. Das bestätigt Änderungen, die die KI als bedingt markiert (only after 3D check), z. B. eine verschobene Anforderung, weil eine kleine Berührung im Würfelraster nicht real ist. Der Berechnungsmodus der Registerkarte Arbeitsbereiche wird danach wiederhergestellt.
  4. Vergleich – Stationstakt, Takt und Wartezeit jedes Roboters vor und nach den Änderungen, mit der Änderung in Sekunden und Prozent (kürzer grün, länger rot), und das von der KI erwartete Ergebnis. Der Roboter, der den Stationstakt bestimmt (Engpass), ist vorher und nachher rot markiert, Wartezeiten ab 5 s je Zyklus orange. Nach dem Ende der Simulation kommt das Fenster mit dem vollständigen Vergleich nach vorne. Das Fenster lässt sich maximieren; mit den Balken zwischen den drei Teilen werden Antwort, Tabelle oder Vergleich vergrößert.
  5. Originalprogramme wiederherstellen – die Programme werden aus der Sicherung zurückkopiert (die Editorfenster dieser Programme werden ohne Speichern geschlossen). Variante behalten: Programme im Editor prüfen und behalten.

Aktionen in der Antwort der KI: request (Bereiche im Punkt anfordern), release (Bereiche im Punkt freigeben), remove_release und remove_request (vorhandene Freigabe / Anforderung aus dem Punkt entfernen, z. B. wenn sie in einen anderen Punkt verschoben wird; remove_request entfernt auch den Eingang E41..E56 des Bereichs aus FB PSPS bis zur Freigabe und SPSMAKRO20, wenn im Punkt keine andere Anforderung bleibt). Optional: partner (Roboter des Kommentars), reason (Begründung) und expected mit dem erwarteten Stationstakt.

{"changes":[{"robot":"R5","program":"U2","point":"P1","action":"request","zones":[1,4],"reason":"..."},
            {"robot":"R5","program":"U2","point":"P44","action":"remove_release","zones":[1]},
            {"robot":"R5","program":"U2","point":"P68","action":"release","zones":[1]}],
 "expected":{"stationCycle":"52-56 s"}}
Analysieren: die Antwort der KI farbig, die vorgeschlagenen Änderungen mit den Zeilen, die sie in den Programmen erzeugen; bedingte Änderungen gelb hinterlegt

Die Schlüsseldatei

Jeder Export (Anonymisierte Studie für KI...) schreibt zwei Dateien: <Name>.json für die KI und <Name>.key.json – den Schlüssel von den IDs zu den echten Namen, z. B. R5 → Roboter der Zelle, U2 → UP42, F1 → folge81. Die KI sieht und antwortet nur in IDs (R5, U2, P44); der Import braucht den Schlüssel, um zu wissen, welcher Roboter, welches Programm und welcher Punkt gemeint ist. Der Schlüssel verlässt nie den Rechner.

Nächste Runde

Nach In aktuelle Simulation übernehmen zeigt der Vergleich das Ergebnis. Danach:

KI-Vorschläge importieren, Runde 2: Antwort der KI farbig (Befunde rot, Bedingungen orange, IDs violett, Zeiten grün), bedingte Änderungen gelb hinterlegt, Engpass rot – Stationstakt 61,9 s → 56,0 s wie von der KI erwartet – nur mit den zwei bedingten Änderungen, bestätigt durch die 3D-Prüfung (Arbeitsbereiche aus den Dreiecken der 3D-Modelle, Raster 50 mm), ohne sie 61,9 s (Runde 1: 72,3 s → 61,9 s)

Vor dem Speichern jedes Programms werden die VKRC-Steuerung und der VW Tech-User des Roboters eingestellt (wie beim Aktivieren des Roboterprojekts, Felder in der Symbolleiste): $config.dat des Roboters (KRC/R1/System), Version aus TPVW_VERSION bzw. am.ini, Tech-User aus KRC/R1/VW_User/vw_usr_s.src. Ist dieser Tech-User in DReS noch nicht vorhanden, wird er aus dem Archiv des Roboters hinzugefügt. Danach werden die vorherigen Einstellungen wiederhergestellt. Meldet der Editor beim Speichern vorhandene Syntaxwarnungen des Programms (z. B. Invalid default value for P2), wird nach dem Speichern gefragt; die Prüfung des Standardwerts kann in den VKRC-Einstellungen (VW User > Check default P value for invisible parameter) abgeschaltet werden.

Die KI schlägt nur vor – jede Änderung wird vor der Übernahme angezeigt, die Simulation prüft sie und der Programmierer entscheidet. Geändert werden nur VKRC-Programme (VW-Standard KUKA).

Kommentare und Langtexte (Antwortteil "texts"): eine Zeile comment schreibt den Verriegelungskommentar über dem Punkt aus den Vorlagen des Werks neu (Einstellungen > Verriegelungskommentare, bis zu drei Zeilen / Sprachen) - die KI gibt nur die Nummer der Verriegelung, Anforderung oder Freigabe und den Partnerroboter an, der Text folgt also immer den Vorlagen. Eine Zeile longtext wird nur gemeldet (die Langtexte werden in der Roboterkonfiguration geändert), eine Zeile text ist ein Hinweis. Die Langtexte gelten: ein Kommentar, der einen anderen Roboter als die Langtexte nennt, wird korrigiert, nicht der Langtext.

Andere KI-Anbindungen

Beispiel

Zelle mit 5 Robotern, Folge 81, Stationstakt 72,2 s. Ein KI-Agent bekam nur die anonymisierte Datei und wenige Sätze zu den Verriegelungsregeln – ohne Schlüssel, ohne Kenntnis einer früheren Studie – und kam zu denselben Ergebnissen wie der Programmierer auf den echten Programmen: taktbestimmender Roboter und Ursache (21,6 s Warten auf zwei Bereiche, die zwei Partner während ihrer Klebebahnen belegen), dieselben fehlenden Verriegelungen (gleiche Punktbereiche), dieselbe Lösung (frühere Anforderung, längere Belegung, erneute Anforderung) und der Ketteneffekt auf einen dritten Roboter; geschätzter Takt 52–56 s – die Simulation der besten Variante ergab 53,0 s.

{"at":"F1/U2/P5",  "motion":"PTP", "exact":true,  "request":[1,4], "zonesAfterPoint":[1,4]}
{"at":"F1/U2/P45", "motion":"PTP", "exact":false, "contact":["R3","R4"], "unprotected":["R3"], "zonesDuringMotion":[5]}
{"robot":"R5", "where":"U2/P5", "zones":"1 (E41) + 4 (E44)", "by":"R2 (4), R3 (1)", "perCycle":21.6}

Befehls-API

{"cmd":"anon_study", "file":"C:/temp/zelle.json", "check":true, "run":true}

Antwort: file, keyFile, stats (Roboter, Programme, Schritte) und leaks (muss leer sein). Siehe Befehls-API.



« Fenster KI-Agent (Chat) | Inhalt | VeRa - KI-Agent und Sprachsteuerung »