Zum Hauptinhalt springen

v3.5.3

3.5.3 ist eine Patch-Version. Zu den wichtigsten Änderungen gehören: eine intelligentere automatische Kopplung; beim Austausch eines Geräts aus einem bereits gekoppelten „ Inverse3 “-Set mit Griff erfolgt automatisch eine erneute Kopplung; Behebung eines Fehlers bei der Akkustandswarnung des kabelgebundenen Verse Grip; eine genauere Überprüfung der Firmware-Fähigkeiten, wobei nicht unterstützte Befehle nun nicht mehr stillschweigend verworfen werden; eine stabilere Status-LED beim Verbindungsaufbau; das Beenden und Neustarten des Dienstes führt nicht mehr zu einem Absturz.Darüber hinaus wurden mehrere Korrekturen im Zusammenhang mit Geräten und Seriennummern sowie einige Erläuterungen zur Übertragung auf Byte-Ebene integriert.

Highlights​

  • Automatische Kopplung: Neukopplung beim Austausch der Hälfte des Sets. Wenn ein Gerät aus dem automatisch gekoppelten Set aus „ Inverse3 “ und „Verse Grip“ ausgetauscht wird, löscht das SDK nun die veraltete Kopplung und führt eine Neukopplung mit dem neu verbundenen Gerät durch. Die manuelle Kopplung bleibt davon unberührt.
  • Der kabelgebundene Verse Grip löst keine falschen Warnmeldungen zum Akkustand mehr aus. Warnmeldungen bei niedrigem und extrem niedrigem Akkustand werden nun nur noch bei drahtlos verbundenen Verse Grips ausgelöst; der kabelgebundene Verse Grip löst keine falschen Warnmeldungen mehr bei niedrigem oder extrem niedrigem Akkustand aus.
  • Eine genauere Überprüfung der Firmware-Fähigkeiten. Wenn vom Gerät eine haptische Funktion angefordert wird, die aufgrund einer zu niedrigen Firmware-Version nicht ausgeführt werden kann (z. B. gleichmäßige Dämpfung oder gerichtete Dämpfung bei einer Firmware-Version unter 7.5 sowie die „Return-to-Home“-Funktion bei einer Firmware-Version unter 7.4), wird nun ein HTTP-Statuscode 422 zurückgegeben, zusammen mit device-protocol-unsupported Ereignis, anstatt weiterhin den irreführenden Wert 200 zurückzugeben und die Anfrage stillschweigend zu verwerfen.
  • Die Status-LED leuchtet bei der Verbindung nun stabiler. Die Status-LED des „ Inverse3 “ blinkt bei jeder Verbindung oder Wiederverbindung nicht mehr rot: Die Verbindung bleibt während einer Stabilisierungsphase von etwa 5 Sekunden nach dem Aufwachen aktiv, sodass der Verbindungs-Watchdog der Firmware nicht mehr ausgelöst wird.
  • Beim Beenden und Neustarten des Dienstes treten keine Abstürze mehr auf. Das Beenden und Neustarten des Dienstes führt nicht mehr zu Abstürzen oder zum Hängenbleiben; der Prozess zum Beenden und Neustarten wurde überarbeitet, wodurch Panic-Fehler und das Hängenbleiben beim wiederholten Ein- und Ausschalten des Dienstes beseitigt wurden.

Interne Verbesserungen​

  • Kupplungs-Navigationsmodus (experimentelle Funktion, standardmäßig deaktiviert). Ein neuer Navigationsmodus, der es dem Bediener ermöglicht, die vom Dienst in die Szene exportierte Bewegung zu verlangsamen oder vollständig einzufrieren, während sich das physische Gerät kontinuierlich bewegt – einschließlich eines „Präzisionsmodus“ mit halber Geschwindigkeit für die Feinpositionierung sowie eines Modus zum vollständigen Einfrieren zur Neupositionierung des Arbeitsbereichs.Nach dem Loslassen wird die kumulierte Verschiebung in den Arbeitsbereich eingearbeitet, sodass der Szenencursor nicht springt. Die Kraftrückmeldung wird bei allen Skalierungen kontinuierlich ausgegeben. In dieser Version muss die Funktion aktiv aktiviert werden; das Standard-Wire-Format bleibt unverändert.
  • Skalierung der Kraft auf Sitzungsebene (Vorschau-Version). Der Client kann die haptische Ausgabe einer bestimmten Simulationssitzung nahezu auf Null dämpfen (z. B. beim Öffnen eines Kreismenüs) und das Gerät an den Hub übergeben, sodass die haptische Rückmeldung des Menüs über den regulären Steuerungspfad gerendert wird; wenn die Sitzung geschlossen oder das Menü geschlossen wird, wird der ursprüngliche Zustand automatisch wiederhergestellt. In dieser Version muss diese Funktion über den Vorschau-Schalter aktiviert werden; das Standard-Wire-Format bleibt unverändert.
  • Zoomen des Arbeitsbereichs um einen Drehpunkt (experimentell). Wenn bei der Aktualisierung der Arbeitsbereichstransformation ein Drehpunkt (z. B. die aktuelle Cursorposition) übergeben wird, wird die Ansicht um diesen Punkt herum gezoomt, sodass die Position des Drehpunkts auf dem Bildschirm unverändert bleibt – das entspricht einem sofortigen Cursor-Zoom. Gilt nur für „ Inverse3“; in dieser Version handelt es sich um eine experimentelle Funktion, daher bleibt das Standard-„wire“-Format unverändert.
  • Die JSON-Serialisierungs-Engine (glaze) wurde auf Version 7.8.4 aktualisiert. Dies betrifft ausschließlich die Infrastruktur und hat keine Auswirkungen auf die öffentliche API oder das Verhalten. Gleichzeitig wurde eine Anpassung am Text-Wire-Format für Gleitkommazahlen vorgenommen, bei der die Werte unverändert bleiben; weitere Informationen finden Sie unten unter „Mögliche rückwirkende Änderungen“.

Reparatur​

  • Das Ändern oder Zurücksetzen der Installationstransformationen des Geräts birgt nun kein Absturzrisiko mehr. Ein veralteter Prototyp-Codepfad verschob bei jeder Änderung der Installationstransformationen die Begrenzungsrahmen des Firmware-Arbeitsbereichs; dieser Pfad wurde nun entfernt.
  • Nach der Neukalibrierung des Inkwell-Sockels wird die Körperlage aktualisiert. Nach dem erneuten Andocken und der Neukalibrierung in Inkwell wird die gestreamte Körperlage nun vom Gerät aktualisiert und es werden bis zur nächsten Wiederverbindung keine Werte mehr vor der Kalibrierung gemeldet. Die aktuelle Version der Geräte-Firmware ist erforderlich; das Übertragungsformat bleibt unverändert.
  • Minverse Blockierte Kalibrierungen werden stets gemeldet. Sobald die Firmware meldet, dass die Kalibrierung blockiert wurde, gibtMinverse nun folgende Meldung aus: device-calibration-failed Fälle, darunter auch Grenzfälle bei Hall-Oszillatoren, bei denen Fehler bisher stillschweigend ignoriert wurden, werden nun berücksichtigt, sodass der Geräte-Manager nun stets die Meldung „Kalibrierung fehlgeschlagen“ anzeigt.
  • Die Voreinstellung „Zentrieren“ legt den Ursprung auf den tatsächlich erreichbaren Mittelpunkt des Arbeitsbereichs. arm_front_centered und led_front_centered(Inverse3 / Inverse3x) Ursprünglich war die Ausrichtung entlang der Armgelenksachse erfolgt, wobei sich diese Achse jedoch nicht im Zentrum der Erreichbarkeitshülle befand, weshalb am Ursprung {0, 0, 0} Aufruf an set_cursor_position Es kommt zu einer Abweichung vom Mittelpunkt; auch der Ursprungspunkt von „Minverse “ hat sich um etwa 10 mm nach rechts verschoben. Nun wird für jede Achse die Hälfte des erreichbaren Bereichs als Versatzwert herangezogen, wobei bei der Berechnung der durch die Sicherheitsfedern begrenzte Bereich der Firmware berücksichtigt wird und nicht der mechanisch erreichbare Bereich. (Siehe die Erläuterungen zur Ursprungsverschiebung unter „Mögliche schwerwiegende Änderungen“.)

Möglicherweise schwerwiegende Änderungen​

  • Bei Firmware-Versionen vor 7.5,POST/DELETE /config/filters/damping Es wird nun der HTTP-Status 422 zurückgegeben., sowie device-protocol-unsupported Fehlerfall: Anstelle einer 200-Antwort wird der Schreibvorgang nun stillschweigend verworfen. Firmware-Versionen ab 7.5 sind davon nicht betroffen (dort wird weiterhin eine 200-Antwort zurückgegeben). Abhilfemaßnahme: Aktualisieren Sie die Firmware des Geräts auf Version 7.5 oder höher oder behandeln Sie die 422-Antwort entsprechend.
  • Bei Firmware-Versionen (vor 7.4), die diesen Befehl nicht unterstützen,POST/DELETE /home_return Es wird nun der HTTP-Status 422 zurückgegeben.… und gibt nicht mehr bedingungslos den Status 200 zurück. Betroffen sind ausschließlich Geräte mit älterer Firmware. Abhilfemaßnahme: Führen Sie ein Firmware-Update auf Version 7.4 oder höher durch oder bearbeiten Sie die 422-Antwort.
  • config/mount und state/transformDie Rückmeldungen der Befehle (GET/POST/PATCH/DELETE) werden nun unter {w,x,y,z} Serialisierung der Tastenfolge transform.rotation, und nicht mehr {x,y,z,w}, um mit dem Durchfluss state Die Reihenfolge der Snapshots bleibt konsistent. Dies wirkt sich ausschließlich auf die Byte-Ebene aus: Sowohl die Werte als auch die Schlüsselnamen bleiben unverändert, lediglich die Reihenfolge der Schlüssel ändert sich; alle drei Komponenten werden weiterhin vollständig ausgegeben. JSON-Clients, die Felder über ihren Namen abrufen, müssen keine Maßnahmen ergreifen; bei strengen Byte- oder Reihenfolgevergleichen sollte die Referenz erneut überprüft werden.
  • Name des Geltungsbereichs für Änderungsbenachrichtigungen bei der Konfiguration der Anwendung auf einem einzelnen Gerät. Beim Anwenden der Konfiguration eines einzelnen Geräts melden die Benachrichtigungsereignisse zu Sitzungsaktualisierungen nun den Namen des Konfigurationsbereichs (config.mount、config.basis、config.preset), anstatt die reinen Namen zu verwenden (mount、basis、preset). Clients, die anhand dieser Ereignisbereichszeichenfolgen filtern, müssen ihre Abgleichregeln aktualisieren.
  • Neuformatierung der Glaze-Gleitkomma-Texte für alle numerischen Übertragungsfelder, einschließlich v3.0 und v3.1(zum Beispiel 1.0E-7 -> 1E-7、16777216 -> 1.6777216E7、-1.0E-37 -> -1E-37). Dies wirkt sich nur auf die Byte-Ebene aus: Der vom numerischen Parser gelesene Wert bleibt derselbe, lediglich die Textdarstellung ändert sich. Anwender, die Gleichheitsvergleiche für Zeichenketten durchführen, sollten ihre Testskripte überprüfen.
  • Voreingestellter Versatz des Ursprungs bei der Zentrierung. Da die Zentrierungsvoreinstellungen nun auf den tatsächlich erreichbaren Mittelpunkt abzielen, hat sich ihr Ursprung im Vergleich zu 3.5.2 verschoben:arm_front_centered / led_front_centered Versatz um 25 mm entlang der Tiefenachse des Geräts; die voreingestellte Zentrierung „Minverse “ weist einen Versatz von 10 mm in X-Richtung, 20 mm in Y-Richtung und 20 mm in Z-Richtung auf,minverse_zup Versatz um 20 mm in X-Richtung und um 30 mm in Y-Richtung. Diese Option ist standardmäßig aktiviert und wird automatisch angewendet, sobald eine Freeform-Sitzung erkannt wird. minverse_zup。Geltungsbereich: Wenn die Voreinstellung „Zentriert“ aktiviert ist, werden Inhalte, die am Ursprung platziert sind, oder Geometrien, die relativ zum Ursprung positioniert sind, gemeinsam mit dem Ursprung verschoben. Vorgehensweise: Überprüfen Sie die am Ursprung verankerten Geometrien erneut oder legen Sie den bisherigen Versatz explizit als benutzerdefinierte Einbautransformation fest. Voreinstellung „Nicht zentriert“ (device_defaults、arm_front、led_front) ist eine identische Abbildung und bleibt davon unberührt.

Veraltet​

  • inverse3 Alte Version der Steuerbefehle values Die Eingabe ist nun eine veraltete Funktion mit einer Warnung. wird values Das Array wird an set_cursor_force、set_cursor_position、set_angular_position oder set_angular_torques(Nicht-Befehls-Befehlsfeld) vector / position / angles / torques) funktioniert weiterhin einwandfrei, löst nun jedoch command-deprecated Ereignis (jeder Befehl wird alle 30 Sekunden begrenzt), das nicht mehr stillschweigend akzeptiert wird. Bitte geben Sie values Übertragung in das Feld „Name“; die alte Eingabemethode soll in Version 4.0 entfernt werden.
  • Die übrigen Aspekte dieses Zyklus haben keine Auswirkungen auf die veröffentlichten Übertragungsschnittstellen.