iOS, Android 2018–2019

Škoda Load-In

Tetris mit Gepäck – das können die Lenker uns überlassen

1 Jahr, 1 000+ Stunden

01 Einführung

Eine Anzahl an Gepäckstücken im Kofferraum eines Autos unterzubringen, macht Körper und Geist zu schaffen. Besitzer von Škoda-Fahrzeugen können wir aber zumindest hinsichtlich der erforderlichen Denkarbeit entlasten. Wir kalkulieren und zeigen ihnen die ideale Vorgangsweise beim Beladen des Kofferraums.

Klient:

Škoda Auto

System:

iOS & Android

Jahr:

2018–2019

Schwierigkeitsgrad

+ 1 000 Stunden

Expert modeBasic mode

02 Aufgabenstellung

Von grund auf neu

Im Sinne der User legten wir Wert auf so wenig Aufwand wie möglich. Die Arbeit mit der App sollte nicht mehr Zeit in Anspruch nehmen als die auf eigene Faust angewandte Methode von Versuch und Irrtum.

Der User wählt demnach sein Wagenmodell, fotografiert es oder gibt die Maße des Ladegutes ein – und lässt sich dann nur mehr zeigen, wie alles am besten zu verladen ist.

Design

UX

Backend

Entwicklung

Ausgabe

Service

Die Aufgabe bestand darin, ein unabhängiges Modul einer mobilen App für Android und iOS zu kreieren, das dem User innerhalb von 60 Sekunden sagen kann, ob die eingegebene Fracht in sein Auto passt, und falls ja, einen sicheren Weg der Beladung aufzuzeigen.

Design

UX

Backend

Entwicklung

Ausgabe

Service

Einführung
Wagenauswahl
Anzahl der Fahrgäste
Gepäckeingabe
Alles im Kofferraum verstaut

03 Wie funktioniert das?

Klingt das für Sie allzu einfach?

  • 01
  • 02
  • 03

Škoda Auto stellte uns zwar 3D-Kofferraum-Modelle für alle unterstützten Fahrzeugmodelle bereit – jedoch nicht in einheitlicher Form. Die erste Herausforderung war es, die Unterlagen in einem Format zu vereinheitlichen, mit dem man Berechnungen durchführen konnte.Die Kalkulation mittels App sollte nicht länger dauern als das Rechnen im Kopf. Wir mussten daher unsere Algorithmen optimieren und ein Gleichgewicht zwischen Genauigkeit und Schnelligkeit finden.Die Eingabe der Maße der einzelnen Posten soll nicht in Langeweile ausarten. Wir haben deshalb über verschiedene Wege nachgedacht, wie man die zugehörige Routinearbeit vereinfachen und erleichtern kann.

010203

04 Highlights

Wie wir an die Sache herangegangen sind

01

Rucksackproblem

Wir haben den Kofferraum des Autos in virtuelle kleine Würfel mit einer Kantenlänge von 5 cm unterteilt – nach ein paar Tests empfanden wir diese Größenordnung als ideal. In dieses Netz laden wir den Großteil der Gepäckstücke, und die Berechnung ist schneller fertig als wenn Sie selbst etwas im Kofferraum verstauen würden. Informatiker und Mathematiker vergegenwärtigen sich dies in Form des sog. Rucksackproblems.

02

Vier Arten der Berechnung

Die Ladung im Kofferraum berechnen wir auf vier Arten. Die effektivste Vorgehensweise beim Beladen stellen wir dann mit Hife von Vektormasken direkt im mobilen Gerät dar.

03

Ganz einfach

Selbstverständlich können User die Gepäckmaße sowie etwaige Angaben zu Zerbrechlichkeit bzw. Weichheit der Ladung selbst in die App eingeben. Bei manchen Verpackungen – etwa solchen für Möbelbausätze – sind die Maße auch schon angegeben. In diesem Fall reicht es, die Kamera zu zücken und die Eingabe der Maße der intelligenten Texterkennung zu überlassen.

01

Eigene Berechnung

Für die Darstellung der Objekte im Laderaum des Autos mussten wir von bloßem 2D Rendering des betreffenden Ladebereichs mit offenem Kofferraum ausgehen. Wir haben eine eigene Art der Perspektivenberechnung und der Projizierung der Objekte in den 2D-Raum entwickelt. Und das einschließlich von Masken für die Darstellung der verdeckten Teile.

02

Für die Berechnung geignetes Format

Die Modelle des Inneren des Laderaums werden im Standard-Dreiecksformat bereitgestellt. Wir mussten ein diskretes, für die Berechnungen geeignetes Format inklusive einer für Darstellung und Berechnung geeigneten Transformation des Koordinatensystems ersinnen.

03

Vermessung mit AR

Eine bloße manuelle numerische Eingabe der Größe der Objekte wäre unzureichend und nicht gerade benutzerfreundlich. Aus diesem Grund wird bei der Eingabe eines Objekts auf Visualisierung und Animation gesetzt, und es ist sogar ein Handling inklusive Größenanpassung des Objekts mittels Multi-Touchgest möglich. Doch das ist nicht alles. Mit Hilfe von OCR kann die App ein Objekt erkennen und dessen Größe umschreiben. Der User hat die Möglichkeit, das Objekt mit Hife von AR zu vermessen, sofern er gerade keinen Meterstab griffbereit hat oder die genaue Größe nicht weiß.

04

Ergebnisse in 3D

Zwecks Überprüfung der Funktionalität mussten wir iterieren und potentielle Szenarien unterscheiden. Die Ergebnisse der Berechnung können direkt in einer Matrix in 3D abgebildet werden, um im konkreten Ergebnis etwaige Mängel genau zu erkennen.

05

Wirksamste Strategie

Die Berechnung weist nicht eine bestimmte korrekte Lösung auf, sondern ist potentiell unendlich. Das heißt, wir mussten das Problem in einzelne mögliche Lösungen zerlegen und danach definieren, wie die ideale Lösung ausschauen könnte. Sukzessive haben wir mehrere unterschiedliche Strategien des Ladevorgangs implementiert, wobei man sich letztendlich für die effektivste entscheidet.

05 Ergebnis

Zufriedener Kunde

Erfolgreiche Zusammenarbeit von mehreren Algorithmen

Ein zufriedener Kunde. Nach gründlichem internen Testen und der bei einem großen Unternehmen unvermeidlichen internen Absegnung wurde die App Škoda Load-in allmählich in die Basis-App von Škoda für alle User integriert.

Die Version für Android basiert auf MVVM-Architektur. Das Coding haben wir in Kotlin gemacht. Die App für iOS ist in Swift in der Architektur MVVM-C gehalten. Da ja Load-in derzeit Teil der App MyŠkoda ist, haben wir zugunsten der Verwendung in anderen Apps auch alles mit Hilfe von gängigen Package Management-Systemen in eine Bibliothek verpackt.

Der am Backend laufende Algorithmus wurde in der Sprache Python entwickelt, die ein sehr gutes Set an Werkzeugen für die Arbeit mit wissenschaftlichen Berechnungen aufweist und in der rasches Iterieren möglich ist. Für die finale Lösung wird der Code überdies mit Hilfe des Werkzeugs Cython in C übersetzt, was die Berechnung noch um ein Mehrfaches schneller macht. Insgesamt läuft das auf Azure Cloud – mit intelligentem Skalieren bedienen wir eine beliebige Anzahl an Usern, gegebenenfalls auch während des Massenausverkaufs bei IKEA.

Für die Behandlung des Trunk Packing-Problems verwenden wir sukzessive mehrere Strategien – Residual Space und Minimal Space, beide in zwei Varianten: mager und brute-force.

Von einer genau so erfolgreichen App sind Sie
Nur eine E-Mail entfernt

Weitere Studie