Zum Hauptinhalt springen

Entwicklung mit Inverse3

Dieser Artikel baut auf der Schnellstart-Anleitung auf und dient als Einführung in Inverse3 als haptisches Entwicklungswerkzeug. Zu diesem Zweck werden verschiedene Hardwarekonfigurationen, Steuerungsmethoden und wichtige Funktionen behandelt, die das Verhalten des Geräts verändern.

Händigkeit des Geräts und Koordinatensystem​

Das Inverse3 verfügt über zwei Hardwarekonfigurationen, die für unterschiedliche Szenarien optimiert sind.

Jedes Gerät kann von Links- oder Rechtshändern verwendet werden. Rechtshänder finden rechtshändig konfigurierte Geräte in manchen Situationen jedoch möglicherweise einfacher zu bedienen.

Bei der gemeinsamen Verwendung zweier Geräte in einem bimanuellen Szenario sollte das linkshändig konfigurierte Gerät auf der linken Seite und das rechtshändig konfigurierte Gerät auf der rechten Seite platziert werden, um Kollisionen und Störungen zu minimieren.

Beide Geräte folgen einem rechtshändigen Koordinatensystem, das auf den Typenschildern auf der Armseite von Inverse3 dargestellt ist. Der Ursprung des Koordinatensystems befindet sich auf der flachen Seite der Montageplatte des Geräts, nahe der Mitte.

Prüfen Sie die InverseSDK-Dokumentation für die Sprache oder das Plugin, das Sie verwenden möchten, da das in den SDKs bereitgestellte Koordinatensystem möglicherweise bereits dem Koordinatensystem der jeweiligen Game-Engine folgt.

Steuerung von Inverse3​

Die Steuerung von Inverse3 beschränkt sich nicht auf die Kraftsteuerung; es ist auch möglich, seine Gelenkdrehmomente und Gelenkwinkel zu steuern. Dieser Abschnitt beschreibt die verschiedenen Steuerungsmodi sowie die jeweils relevanten Ein- und Ausgaben mit ihren Einheiten.

Die Verwendung eines dieser beiden Modi birgt inhärente Risiken für Benutzer und Gerät. Sicherheitsinformationen finden Sie unter Inverse3 – Sichere Verwendung.

Kartesische Steuerung​

Die Kraftsteuerung ist die bevorzugte Methode für die Verwendung von Inverse3, da sie die Kraft in Newton (N), entgegennimmt und die Position in Metern (m) sowie die Geschwindigkeit in Metern pro Sekunde (m/s) zurückgibt. Im Positionssteuerungsmodus fährt Inverse3 eine festgelegte Position an und hält sie. Der Wechsel zwischen den beiden Modi erfolgt nahtlos, sodass sie gemeinsam eingesetzt werden können, um ein besseres Nutzungserlebnis zu bieten. Beispielsweise kann das Gerät zu Beginn einer Simulation von interaktiven Objekten wegbewegt werden oder, bei Verwendung eines getrackten VerseGrip, kann der Positionssteuerungsmodus die Cursorposition beim Wechsel des Werkzeugs halten.

Gelenksteuerung​

Analog dazu lassen sich die Gelenkdrehmomente und Gelenkwinkel von Inverse3 direkt steuern. Im Drehmomentsteuerungsmodus erzeugt das Gerät ein Drehmoment in Newton pro Millimeter (N·mm), und bei der Gelenkwinkelsteuerung fährt es zu einem in Grad angegebenen Winkel (°). In beiden Fällen gibt das Gerät seine Position in ° und seine Geschwindigkeit in Grad pro Sekunde (°/s) zurück.

Farbcodes​

Die Statusleuchte am Logo von Haply ändert ihre Farbe je nach Betriebsmodus des Geräts. Die Tabelle zeigt die Statusleuchtenfarben für die neueste Firmware (Farben früherer Firmware-Versionen finden Sie im Abschnitt Legacy-Statusleuchtenfarben weiter unten)

FarbeLeuchtsequenzZustandBeschreibung
AusAusNicht angeschlossenDas Kabel von USB-C ist getrennt
RotBlinkenKein HandshakeKeine Verbindung zum Dienst hergestellt
SOS-BlinkenZeitüberschreitungKommunikations-Timeout erkannt, keine Befehle vom Dienst empfangen
GelbBlinkenNicht kalibriert und ohne StromversorgungNetzteil getrennt und Kalibrierung erforderlich
Ein-/AusblendenNicht kalibriertGerätekalibrierung erforderlich
WeißDauerleuchtenLeerlaufKein Steuerungsmodus aktiv
BlinkenLeerlauf und ohne StromversorgungNetzteil getrennt und kein Steuerungsmodus aktiv
GrünDauerleuchtenKraftsteuerungGerät im Kraftsteuerungsmodus aktiv
BlinkenKraftsteuerung und ohne StromversorgungNetzteil getrennt und Gerät im Kraftsteuerungsmodus
CyanDauerleuchtenPositionssteuerungGerät im Positionssteuerungsmodus aktiv
BlinkenPositionssteuerung und ohne StromversorgungNetzteil getrennt und Gerät im Positionssteuerungsmodus
OrangeDauerleuchtenSicherheitsauslösungInstabilität erkannt, der Sicherheitsauslöser wurde aktiviert

Hinweis: Wenn die Statusleuchte rot bleibt, überträgt Ihr USB-Kabel möglicherweise keine Daten. Stellen Sie sicher, dass die Verbindungen fest sitzen, oder tauschen Sie Ihr Kabel aus. Falls die Statusleuchte keinem der erwarteten Muster entspricht, reichen Sie bitte eine Support-Anfrage ein.

Optionale Funktionen zur Leistungsverbesserung​

Inverse3 verfügt über mehrere Funktionen, mit denen Leistung und Bedienempfinden gesteuert werden können. Dieser Abschnitt bietet einen kurzen Überblick über diese Funktionen und ihre Verwendung.

Geschwindigkeitsschätzung​

Die Geschwindigkeit wird nicht direkt gemessen, sondern aus Positionsdaten abgeleitet. Dies kann zu verrauschten und ungenauen Signalen führen, die gefiltert werden müssen. Inverse3 verfügt über einen integrierten Algorithmus zur Geschwindigkeitsschätzung, der die eingebaute Hardware nutzt, um ein Geschwindigkeitssignal zu erzeugen, das keine zusätzliche Filterung erfordert.

Bitte beachten Sie, dass die Geschwindigkeitsschätzung nur näherungsweise ist und möglicherweise nicht vollständig genau. Leistung und Genauigkeit können mit fortlaufenden Verbesserungen weiter verfeinert werden.

Schwerkraftkompensation​

Die Schwerkraftkompensation eliminiert die Kräfte, die sich aus der Masse der Komponenten von Inverse3 ergeben, und sorgt so dafür, dass sich das Gerät unabhängig von der Montageausrichtung schwerelos anfühlt. Zu Beginn einer Simulation kalibriert das Gerät den Algorithmus mithilfe eines integrierten Sensors; eine Änderung der Geräteausrichtung während des Betriebs führt zu unregelmäßigem Verhalten.

Die Schwerkraftkompensation funktioniert nur im Kraftsteuerungsmodus.

Die Stärke der Schwerkraftkompensation lässt sich über einen Schwerkraft-Skalierungsfaktor anpassen (standardmäßig auf 0.75 eingestellt). Sie kann außerdem mit SDK-spezifischen Befehlen vollständig deaktiviert werden (Einzelheiten finden Sie in der SDK-Referenz) .

Kraftskalierung​

Inverse3 erzeugt in verschiedenen Richtungen unterschiedlich starke Kräfte. Daher kann der Versuch, eine Kraft zu erzeugen, die die Leistungsgrenzen von Inverse3 übersteigt, zu einer Kraft mit einer anderen Richtung als der gewünschten führen. Die Aktivierung der Kraftskalierung bewahrt die Richtung der Kraft, verringert jedoch ihre Stärke. Diese Funktion ist standardmäßig aktiviert, kann aber über die SDK-spezifischen Befehle deaktiviert werden.

Orientierungsverfolgung für VerseGrip​

Die Verfolgung der Werkzeugorientierung mit Inverse3 erfordert einen VerseGrip.

Weitere Informationen zu den VerseGrips finden Sie im Artikel Erste Schritte: VerseGrip.

Legacy-Statusleuchten​

Firmware 7.4.x und älter​

FarbeLichtsequenzZustandBeschreibung
AusAusGetrenntDas Kabel von USB-C ist abgezogen
RotBlinkenKein HandshakeEs besteht keine Verbindung zum Dienst
LilaDauerhaft anNicht kalibriertGerätekalibrierung erforderlich
BlinkenNicht kalibriert & ohne StromversorgungNetzteil getrennt und Kalibrierung erforderlich
WeißDauerhaft anLeerlaufKein Steuerungsmodus aktiv
BlinkenLeerlauf & ohne StromversorgungNetzteil getrennt und kein Steuerungsmodus aktiv
GrünDauerhaft anKraftregelungGerät im Kraftregelungsmodus aktiv
BlinkenKraftregelung & ohne StromversorgungNetzteil getrennt und Gerät im Kraftregelungsmodus
KönigsblauDauerhaft anPositionsregelungGerät im Positionsregelungsmodus aktiv
BlinkenPositionsregelung & ohne StromversorgungNetzteil getrennt und Gerät im Positionsregelungsmodus
CyanDauerhaft anDämpfungssicherheitGeschwindigkeits-/Kraftdämpfung: Sicherheitsfunktion ausgelöst
PinkDauerhaft anStabilitätsobergrenzeWiederholte Instabilitäten, die Kraftgrenze wurde reduziert
ViolettDauerhaft anStabilitätsunterstützung ausgelöstInstabilität erkannt, Kraft wird automatisch reduziert
OrangeDauerhaft anNotbremseSofortiger Stopp, Notbremse ist aktiv
GelbSchnell blinkendZeitüberschreitungKommunikations-Zeitüberschreitung erkannt