+49 6221 672 19-00 info@hdvisionsystems.com

Fehlerfreie Software? Mit Continuous Delivery kein Problem!

Wer kennt es nicht? Eine Ihrer Softwares bietet ein Update an, Sie laden die neue Version herunter – und nichts geht mehr. Ein Anruf beim Support bestätigt: Ein unerkannter Softwarefehler hat die neue Version zum Erliegen gebracht. Das Entwicklerteam arbeite bereits unter Hochdruck an der Fehlerbehebung (Bugfix).  

Gerade in der automatisierten Produktion eine ärgerliche und teure Angelegenheit. Denn bis die Software erneut aktualisiert wurde, steht nicht selten die entsprechende Anlage komplett. Dass im zuständigen Software-Unternehmen derweil die Hölle los ist, um diesen kritischen Fehler schnellstmöglich zu beheben, hilft wenig. Der Frust ist hoch.

Mit Continuous Delivery wäre das nicht passiert!

 

Stabiler und schneller entwickeln mit Continuous Delivery

Entwickeln Anbieter ihre Software mittels Continuous Delivery, erhalten Anwender regelmäßig zuverlässig stabile Softwareversionen. Das Konzept entstammt der agilen Entwicklung und vereint Techniken, Werkzeuge und Automatisierungen, um die Softwareauslieferung (Deployment) dauerhaft zu verbessern. Richtig eingesetzt, ermöglicht dieser Prozess Kunden einen reibungsfreien Betrieb – während sich auf der anderen Seite der Entwicklungsaufwand gleichzeitig verringert.

Zentraler Bestandteil von Continuous Delivery sind einerseits eine häufigere Versionierung mit kleineren Entwicklungsschritten sowie andererseits die kontinuierliche und automatisierte Prüfung dieser Entwicklungen. Beide Schritte sind eng miteinander verknüpft, weshalb Continuous Delivery fast immer in DevOps-Teams eingesetzt wird. 

Gibt es mehr Updates mit dafür geringeren Neuerungen, sinkt das Risiko für inkompatible Änderungen. Gleichzeitig helfen die automatisierten Tests, jeden Kleinstschritt genauestens auf Funktion zu prüfen – und das Risiko weiter zu minimieren. Kunden erhalten damit eine einsatzsichere Software. Diese können sie je nach eigenem Bedarf jederzeit updaten.

Auf der Entwicklerseite profitiert das Team vor allem von der kontinuierlichen Versionierung: Continuous Delivery reduziert Inkompatibiltäten aufgrund unterschiedlicher Software-Bibliotheken, da es ein zentrales Repository (häufig GitHub) verwendet. Dafür ist lediglich ein Automation Server wie z.B. Jenkins notwendig. Er verwaltet die automatischen Tests sowie die Erstellung neuer Release-Versionen und steuert deren automatisierte Ausspielung. Je nach Konfiguration übernimmt der Automation Server das für alle Umgebungen:

  • Entwicklung,
  • Testen,
  • Integration,
  • Kundenanwendung.

Einmal aufgesetzt, testet das System Änderungen in der Applikation eigenständig und lädt diese bei Bestehen ebenfalls in das Repository. Falls nicht, geben die Tests Hinweise und Ursachen etwaiger Fehler für ein schnelleres Bugfixing an. Die eigentliche Entwicklung kann derweil weitergehen – zeitfressende Entwicklungspausen für Tests sind damit obsolet.

 

Ein Dreiklang kontinuierlicher Softwareentwicklung

process stages of continuous delivery

Entsprechend der Konfiguration des Automation Servers sind heute unterschiedliche Begriffe für Continuous Delivery gebräuchlich:

  1. Continuous Integration, wenn die serverseitige Automatisierung lediglich das Zusammenfügen verschiedener Applikationsbestandteile umfasst. CI hilft insbesondere, wenn mehrere Branches (Entwicklungszweige) gleichzeitig entwickelt werden.
  2. Continuous Delivery, wenn die Automatisierung bis zur internen Versionierung reicht. Das Operations-Team kann diese dann in einer Live-Produktivumgebung bereitstellen.
  3. Continuous Deployment, wenn der Automation Server auch die Ausspielung beim Kunden übernehmen kann. Dieser muss das überprüfte Update dann nur noch per Klick starten.

Nicht selten werden diese Begriffe auch synonym verwendet – wie viel Automatisierung in einer entsprechenden Entwicklungs-Pipeline steckt, ist daher häufig Definitionssache.

 

Nie wieder fehlerhafte Software

Continuous Delivery leistet einen wertvollen Beitrag zur Automatisierung der Softwareentwicklung. Richtig eingesetzt, entlastet das Konzept Entwickler sowohl bei der Vereinheitlichung unterschiedlicher Branches als auch im Testing und Bugfixing. Softwareanwender hingegen profitieren von einer schnelleren und zuverlässigeren Update-Politik. Totalausfälle in der Produktion aufgrund einer Softwareaktualisierung gehören damit der Vergangenheit an. Stattdessen haben Sie es selbst in der Hand, wann Sie die neueste – stabile! – Version Ihrer Software erhalten.

In der sich rasant entwickelnden Welt der industriellen Automatisierung ist eine zuverlässige und flexible Objekterkennung ein Grundpfeiler für Vision-Guided Robotics (VGR) und Qualitätssicherung. Bei HD Vision Systems ist es unsere Mission, die Grenzen des Möglichen in der Automatisierung neu zu definieren. Als Vision-Partner auf der Bosch Rexroth CtrlX-Plattform bringen wir modernste Bildverarbeitungstechnologie durch leistungsstarke Apps auf den Fabrikboden, die Konnektivität vereinfachen und die Leistung verbessern.

Pattern Matching: Ein traditioneller Ansatz

Eine der häufigsten Fragen beim Entwurf von Automatisierungslösungen ist, ob traditionelle Pattern-Matching-Techniken oder moderne KI-basierte Objekterkennung verwendet werden sollen. Pattern Matching ist regelbasiert und nutzt manuell definierte Vorlagen oder geometrische Formen zur Objekterkennung. Obwohl es lange ein fester Bestandteil klassischer Bildverarbeitung war, stößt es unter realen Bedingungen oft an seine Grenzen. Änderungen in Beleuchtung, Ausrichtung, Maßstab oder selbst kleine Verdeckungen können zu Erkennungsfehlern führen. Zudem ist die Einrichtung aufwändig, erfordert Expertenwissen und lässt sich nur schwer an Veränderungen in der Produktionslinie anpassen.

Deep Learning: Intelligent und anpassungsfähig

Im Gegensatz dazu nutzt die KI-basierte Objekterkennung datengetriebene Modelle, die auf großen und vielfältigen Datensätzen trainiert wurden. Diese Modelle erkennen Objekte anhand abstrakter Muster und sind dadurch wesentlich robuster und flexibler. Sie kommen mit unterschiedlichsten Abweichungen und Unregelmäßigkeiten in industriellen Umgebungen zurecht. Mithilfe von Transfer Learning und Datenaugmentation lassen sich Modelle zudem schnell auf neue Objekte oder Bedingungen anpassen – ganz ohne komplexes Regelwerk.

Integrierte KI auf CtrlX

Wir bei HD Vision Systems setzen konsequent auf diesen modernen Ansatz und haben ihn direkt in die Bosch Rexroth CtrlX-Plattform integriert. Unsere Apps ermöglichen den Anschluss von Standard-Industriekameras gemäß dem GenICam-Standard via Ethernet. Die aufgenommenen Bilder werden von KI-Modellen direkt im CtrlX-Ökosystem verarbeitet. Die Ergebnisse sind nicht nur präzise, sondern werden auch automatisch aus 2D-Bildkoordinaten in 3D-Weltkoordinaten überführt – entscheidend für präzise Roboterführung und Qualitätssicherung.

Vor-Ort-Training und Individualisierung

Neben vortrainierten Modellen bieten wir Frameworks an, mit denen Nutzer eigene Bilddaten annotieren und individuelle Objekterkennungsnetzwerke trainieren können – komplett vor Ort, ohne Daten in die Cloud zu senden. So behalten Sie die volle Kontrolle über Datenschutz und Datensicherheit. Integratoren und Endanwender können so hochspezialisierte Erkennungslösungen entwickeln – exakt zugeschnitten auf ihre Anwendung.

Zukunftsausblick: KI für moderne Fertigung

Pattern Matching hatte seine Zeit, aber die zunehmende Komplexität moderner Fertigungsprozesse verlangt intelligentere, flexiblere Systeme. Deep Learning liefert genau das. Mit den fortschrittlichen Vision-Tools von HD Vision Systems und der Modularität der Bosch Rexroth CtrlX-Plattform stehen Herstellern leistungsstarke Objekterkennungslösungen zur Verfügung, die mit ihren Anforderungen wachsen.

Egal ob Nachrüstung bestehender Anlagen oder Neuplanung – jetzt ist der richtige Zeitpunkt, die Kraft KI-gesteuerter Bildverarbeitung zu nutzen. Wir freuen uns, Sie dabei zu begleiten.

Continue reading:

Share This