Zum Hauptinhalt springen

Entwickeln mit Inverse3

Dieser Artikel baut auf der Schnellstartanleitung auf und dient als Einführung in das Inverse3 als haptisches Entwicklungswerkzeug. Zu diesem Zweck werden verschiedene Hardwarekonfigurationen, Steuermethoden und wichtige Funktionen, die das Verhalten des Geräts verändern, erörtert.

Händigkeit des Geräts und Koordinatensystem

Die Inverse3 verfügt über zwei Hardware-Konfigurationen, die für unterschiedliche Szenarien optimiert sind.

Jedes Gerät kann sowohl von Links- als auch von Rechtshändern verwendet werden, wobei Rechtshänder in manchen Situationen die Geräte mit der rechten Hand leichter bedienen können.

Wenn zwei Geräte zusammen in einem bimanuellen Szenario verwendet werden, sollte das linkshändige Gerät auf der linken Seite und das rechtshändige 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 Geräteschildern auf der Armseite des Inverse3 angegeben ist. Der Ursprung des Koordinatensystems befindet sich auf der flachen Seite der Befestigungsplatte 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 spielenginespezifischen Koordinatensystem folgt.

Kontrolle der Inverse3

Die Steuerung der Inverse3 beschränkt sich nicht nur auf die Steuerung von Kräften, sondern es ist auch möglich, die Drehmomente und Winkel der Gelenke zu steuern. In diesem Abschnitt werden die verschiedenen Steuerungsmodi sowie die entsprechenden Ein- und Ausgänge mit ihren jeweiligen Einheiten beschrieben.

Die Verwendung beider Modi birgt sowohl für den Benutzer als auch für das Gerät Risiken. Informationen zur Sicherheit finden Sie unter Inverse3 Safe Use.

Kartesische Kontrolle

Die Kraftsteuerung ist die bevorzugte Methode zur Verwendung von Inverse3 , da sie die Kraft in Newton (N) aufnimmt und die Position in Metern(m) und die Geschwindigkeit in Metern pro Sekunde(m/s) zurückgibt. Im Positionskontrollmodus bewegt sich Inverse3 und behält eine bestimmte Position bei. Das Umschalten zwischen den beiden Modi ist nahtlos, was bedeutet, dass sie zusammen verwendet werden können, um eine bessere Benutzererfahrung zu bieten. Beispielsweise kann das Gerät zu Beginn einer Simulation von interaktionsfähigen Objekten wegbewegt werden, oder bei Verwendung eines nachgeführten VerseGrip kann der Positionskontrollmodus die Position des Cursors beim Wechseln von Werkzeugen halten.

Gemeinsame Kontrolle

Analog dazu können die Drehmomente und Winkel der Gelenke auf Inverse3 direkt gesteuert werden. Im Modus der Drehmomentsteuerung erzeugt das Gerät ein Drehmoment, das in Newton pro Millimeter(N-mm) angegeben wird, und bei der Steuerung des Gelenkwinkels bewegt es sich zu einem in Grad(°) angegebenen Winkel. In beiden Fällen gibt das Gerät seine Position in ° und die Geschwindigkeit in Grad pro Sekunde(°/s) an.

Farb-Codes

Die Statusleuchte mit dem Haply Logo ändert ihre Farbe je nach Betriebsmodus des Geräts:

Blinken (Sekunde an, Sekunde aus)Keine Leistung
Gleichmäßige FarbeAngetrieben
RotVerbunden mit dem Computer, kein Datenaustausch
Violett (Magenta)Ungeeicht, Handshake wurde mit dem Computer gemacht
Periodischer gelber BlitzMit dem haply verbunden oder von ihm beauftragt
WeißLeerlauf, kalibriert
GrünIm Einsatz: Kraft- und Drehmomentkontrolle
Echtes BlauIm Einsatz: Position, Winkelkontrolle
Hellblau (Cyan)Sicherheit
Intermittierend weiß, gelbZeitüberschreitung der Verbindung

Hinweis: Wenn die Statusleuchte rot leuchtet, kann es sein, dass Ihr USB-Kabel keine Daten überträgt. Stellen Sie sicher, dass die Verbindungen sicher sind, oder tauschen Sie Ihr Kabel aus. Wenn Ihre Statusleuchte nicht in das erwartete Muster fällt, senden Sie bitte eine Support-Anfrage über haply.odoo.com/support-request.

Optionale Funktionen zur Leistungsverbesserung

Inverse3 verfügt über eine Reihe von Funktionen, mit denen Sie die Leistung und das Verhalten des Programms steuern können. Dieser Abschnitt gibt einen kurzen Überblick über diese Funktionen und ihre Verwendung.

Schätzung der Geschwindigkeit

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

Bitte beachten Sie, dass es sich bei der Geschwindigkeitsschätzung um einen Näherungswert handelt, der möglicherweise nicht ganz genau ist. Die Leistung und die Genauigkeit können im Zuge von Verbesserungen verfeinert werden.

Schwerkraft-Kompensation

Die Schwerkraftkompensation eliminiert die Kräfte, die sich aus der Masse der Komponenten von Inverse3ergeben, so dass sich das Gerät unabhängig von der Einbaulage schwerelos anfühlt. Zu Beginn einer Simulation verwendet das Gerät einen eingebauten Sensor, um den Algorithmus zu kalibrieren; eine Änderung der Geräteausrichtung während des Betriebs führt zu fehlerhaftem Verhalten.

Der Schwerkraftausgleich funktioniert nur im Kraftregelungsmodus.

Die Stärke der Schwerkraftkompensation ist über einen Schwerkraft-Skalierungsfaktor einstellbar (standardmäßig auf 0,75 eingestellt) und kann über SDK-spezifische Befehle ganz abgeschaltet werden (siehe die SDK-Referenz für Details).

Kraft-Skalierung

Der Inverse3 erzeugt unterschiedliche Kraftstärken in unterschiedlichen Richtungen. Daher kann der Versuch, eine Kraft zu erzeugen, die die Fähigkeiten der Inverse3übersteigt, zu einer Kraft führen, die eine andere Richtung hat als die gewünschte Kraft. Durch die Aktivierung der Kraftskalierung wird die Richtung der Kraft beibehalten, aber ihr Betrag verringert. Diese Funktion ist standardmäßig aktiviert, kann aber mit den SDK-spezifischen Befehlen deaktiviert werden.

VerseGrip Orientierungsverfolgung

Die Verfolgung der Werkzeugausrichtung mit Inverse3 erfordert einen VerseGrip.

Erfahren Sie mehr über die VerseGrips im Artikel Schnellstart: VerseGrip Artikel.