Matlab zu C++: Echtzeit-Algorithmen für Roboterarme

Zwei Entwickler besprechen Code und ein Sequenzdiagramm an einem Bildschirm
  • #Software Engineering
  • #Embedded Systeme

Hexagon modelliert Kinematik, Dynamik und Deformation seiner Roboterarme in Matlab. TEQABLE portierte die Algorithmen nach C++ und steigerte die Performance um Faktor 80, genug für eine Echtzeit-Regelung auf der Zielplattform.

Ausgangslage

Hexagon ist ein weltweit führender Hersteller hochpräziser Roboterarme und optimiert sie laufend. Neue Kompensationsstrategien entstehen als Modelle in Matlab. Für die Regelung auf der Zielplattform müssen die Algorithmen aber deutlich schneller laufen als im Modell.

Ziel

Die Matlab-Berechnungen der verschiedenen Roboterarm-Modelle nach C++ portieren, genau auf zehn Nachkommastellen und schnell genug für die Echtzeitanforderungen der Regelung, und so die Machbarkeit auf der Zielplattform beweisen.

Lösung

TEQABLE übertrug die Software-Klassen 1:1 und streng objektorientiert nach C++, auf Basis der Eigen-Library. Die Verifikation beruht auf den samplebasierten, mehrfach iterativen Berechnungen des Matlab-Modells: Regressionstests vergleichen in einer Co-Simulation die Matlab- mit der C++-Implementierung.

Weil der C++-Code der Struktur des Matlab-Modells folgt, lassen sich spätere Anpassungen am originalen Algorithmus einfach an der entsprechenden Stelle nachziehen.

Ergebnis

  • Algorithmen gegenüber Matlab um Faktor 80 beschleunigt
  • Machbarkeit der Echtzeit-Regelung auf der Zielplattform bewiesen
  • Genauigkeit auf zehn Nachkommastellen, per Co-Simulation gegen das Matlab-Modell geprüft
  • C++-Klassen 1:1 zum Matlab-Modell, sodass Anpassungen am Algorithmus einfach nachzuziehen sind
Cornel Studach
Cornel Studach

Partner

Fragen zu diesem Projekt?

Rufen Sie uns jetzt unverbindlich an:

+41 43 537 73 69

Oder schreiben Sie uns eine Mail an:

electronics@teqable.com

← Alle Referenzen