본문으로 건너뛰기

v3.5.3

3.5.3은 패치 릴리스입니다. 주요 변경 사항으로는, 페어링된 Inverse3 + 그립 세트 중 한 쪽을 교체했을 때 재페어링을 수행하는 스마트한 자동 페어링 기능, 유선 Verse Grip에서 발생하던 잘못된 배터리 경고 문제 해결, 지원되지 않는 명령을 무작정 무시하지 않도록 개선된 정확한 펌웨어 기능 점검, 연결 시 상태 LED의 안정화, 그리고 충돌 없이 서비스를 중지하고 재시작하는 기능이 포함됩니다.또한, 여러 장치 및 일련번호 관련 수정 사항과 바이트 단위의 와이어 사양에 대한 몇 가지 참고 사항도 포함되어 있습니다.

하이라이트​

  • 세트 중 한 쪽을 교체하면 자동으로 다시 페어링됩니다. 자동으로 페어링된 Inverse3 + Verse Grip 세트의 한쪽 기기가 교체된 경우, SDK는 기존 페어링 연결을 해제하고 새로 연결된 기기와 다시 페어링하도록 변경되었습니다. 수동 페어링에는 영향을 미치지 않습니다.
  • 유선 Verse Grip에서 잘못된 배터리 경고가 더 이상 표시되지 않습니다. 배터리 잔량 부족 및 위험 수준 경고는 이제 무선 연결된 Verse Grip에 대해서만 표시됩니다. 유선 Verse Grip이 배터리 잔량 부족 또는 위험 수준 경고를 잘못 표시하는 일은 더 이상 없습니다.
  • 정확한 펌웨어 기능 점검. 펌웨어 버전이 오래되어 실행할 수 없는 햅틱 기능(7.5 이전 펌웨어의 균일하거나 방향성 있는 댐핑, 7.4 이전 펌웨어의 홈 화면 복귀)을 기기에 요청할 경우, 이전처럼 요청을 묵묵히 무시하고 오해를 불러일으킬 수 있는 200을 반환하는 대신,device-protocol-unsupported이벤트와 함께 HTTP 422를 반환하게 되었습니다.
  • 연결 시 상태 LED의 안정화. Inverse3의 상태 LED는 연결 또는 재연결 시마다 빨간색으로 깜빡이지 않게 되었습니다. 웨이크업 후 약 5초간의 안정화 기간 동안에도 연결이 유지되므로, 펌웨어의 연결 워치독이 작동하지 않게 되었습니다.
  • 서비스 중단 및 재시작 시 더 이상 충돌이 발생하지 않습니다. 서비스를 중지하거나 재시작할 때 더 이상 충돌이나 멈춤 현상이 발생하지 않습니다. 서비스를 켜거나 끌 때 발생하던 패닉이나 멈춤 현상을 해결하기 위해, 종료 및 재시작 처리를 재구현했습니다.

내부 개선​

  • 클러치 내비게이션 모드(실험적 기능, 기본적으로 비활성화됨). 물리적 장치가 계속 움직이는 동안, 운영자가 서비스가 씬으로 출력하는 움직임을 축소하거나 완전히 고정할 수 있는 새로운 내비게이션 모드입니다. 미세한 위치 조정을 위한 반속도의 ‘precise’ 모드와, 작업 공간을 재배치하기 위한 완전 고정 모드가 있습니다. 모드를 해제할 때, 누적된 오프셋이 작업 공간에 반영되므로 씬의 커서가 갑자기 이동하지 않습니다. 포스 피드백은 어떤 비율에서도 계속 전송됩니다.이번 릴리스 사이클에서는 옵트인 방식으로 제공되며, 기본 와이어 사양은 변경되지 않았습니다.
  • 세션 단위 힘 스케일링(프리뷰). 클라이언트는 예를 들어 파이 메뉴가 표시되는 동안 특정 시뮬레이션 세션의 햅틱 출력을 0 방향으로 낮추어, 장치 제어를 허브로 이관할 수 있습니다. 이를 통해 메뉴의 햅틱은 일반적인 제어 경로를 통해 렌더링됩니다. 세션이 종료되거나 메뉴가 닫히면 자동으로 원래 상태로 복원됩니다. 이번 릴리스 사이클에서는 프리뷰에서만 활성화되며, 기본 와이어 사양은 변경되지 않았습니다.
  • 피벗을 중심으로 한 작업 공간 확대/축소(실험적 기능). 작업 공간 변환을 업데이트할 때 피벗 포인트(예: 현재 커서 위치)를 전달하면, 뷰가 해당 지점을 중심으로 확대/축소되므로 피벗의 화면상 위치는 변하지 않습니다. 이를 통해 커서 위치로 즉시 확대/축소할 수 있습니다. Inverse3에서만 사용할 수 있습니다. 이번 릴리스 주기에서는 실험적 기능으로 제공되므로, 기본 와이어 사양은 변경되지 않았습니다.
  • JSON 직렬화 엔진(glaze)을 v7.8.4로 업그레이드했습니다. 이는 인프라 수준의 변경 사항일 뿐이며, 공개 API나 동작에는 변경 사항이 없습니다. 또한 값을 포함하는 부동 소수점 텍스트의 와이어 형식이 1건 재포맷되었습니다. 자세한 내용은 아래의 ‘잠재적인 파괴적 변경 사항’을 참조하십시오.

수정​

  • 이제 장치의 마운트 변환을 변경하거나 재설정하더라도 더 이상 충돌 위험이 없습니다. 시제품 단계에서 남아 있던 코드 경로가 마운트를 변경할 때마다 펌웨어의 작업 공간 경계 상자를 전송하고 있었습니다. 이 코드 경로는 제거되었습니다.
  • 잉크웰 도크에서 재보정 후, 바디의 방향이 업데이트되도록 변경되었습니다. 잉크웰에서 재도킹 및 재보정을 수행한 후, 스트리밍되는 바디의 방향은 다음 재연결 시까지 보정 전 값을 보고하는 대신, 장치에서 업데이트된 값을 반환하도록 변경되었습니다. 최신 장치 펌웨어가 필요합니다. 와이어 포맷은 변경되지 않았습니다.
  • Minverse 이제 보정 블록을 항상 보고하게 되었습니다. 펌웨어가 보정 블록을 보고할 때마다,Minverse 는 device-calibration-failed 이제 이벤트가 발생하게 되었습니다. 여기에는 이전에는 오류를 묵묵히 감추던 오실레이팅 홀의 극단적인 사례도 포함됩니다. 이로 인해 장치 관리자에는 항상 “보정 실패”라는 메시지가 표시됩니다.
  • 센터링 사전 설정에서 원점이 작업 공간 내에서 실제로 도달 가능한 중심에 설정되도록 변경되었습니다. arm_front_centered 그리고 led_front_centered(Inverse3 / Inverse3x)는 암 조인트 축을 따라 정렬되어 있었지만, 이 축은 도달 가능한 엔벨로프의 중심이 아니었습니다. 따라서 원점 {0, 0, 0} 에서 set_cursor_position 실행해 보니 중심에서 어긋나 있었습니다. 또한,Minverse 의 중심 원점도 약 10 mm 오른쪽으로 어긋나 있었습니다. 각 오프셋은 각 축의 도달 가능 범위의 절반이 되도록 수정되었습니다. 이는 기계적으로 가능한 범위가 아니라, 펌웨어의 안전 스프링 제한 구역을 제외하고 측정한 값입니다. (‘파괴적 변경 가능성’ 섹션의 원점 이동에 관한 주석을 참조하십시오.)

파괴적인 변경의 가능성​

  • 7.5보다 이전 버전의 펌웨어에서는,POST/DELETE /config/filters/damping 이제 HTTP 422를 반환하게 되었습니다。200개에 달하는 게시물을 아무 말 없이 삭제해 왔던 대신,device-protocol-unsupported 이벤트가 발생합니다. 펌웨어 7.5 이상에서는 영향을 받지 않습니다(계속해서 200을 반환합니다). 해결 방법: 기기의 펌웨어를 7.5 이상으로 업그레이드하거나, 422 오류를 처리하십시오.
  • 펌웨어가 이 명령을 지원하지 않는 경우(7.4 이전 버전),POST/DELETE /home_return 더 이상 무조건 200을 반환하지 않고 HTTP 422를 반환하게 되었습니다.. 영향을 받는 것은 구형 펌웨어가 설치된 기기뿐입니다. 해결 방법: 펌웨어를 7.4 이상으로 업그레이드하거나 422 오류를 처리하십시오.
  • config/mount 그리고 state/transform(GET/POST/PATCH/DELETE) 명령어 에코에서는,transform.rotation 하지만 {x,y,z,w} ~ 대신 {w,x,y,z} 키 순서대로 직렬화되도록 변경되었습니다。이는 스트리밍되는 state 스냅샷의 순서에 맞춰 변경된 사항입니다. 바이트 단위의 변경만 이루어졌습니다. 값과 키 이름은 동일하며, 변경된 부분은 키의 순서뿐입니다. 세 가지 구성 요소는 모두 계속해서 반환됩니다. 이름을 키로 사용하는 JSON 클라이언트는 별도의 대응 조치가 필요하지 않습니다. 정확한 바이트 시퀀스나 순서 비교를 수행하는 경우, 예상 결과를 다시 생성해 주십시오.
  • 단일 장치에 설정을 적용할 때의 변경 알림 범위 이름. 단일 장치의 설정이 적용되면, 세션 갱신 변경 알림 이벤트는 기본 이름(mount、basis、preset) 대신 설정 범위 이름(config.mount、config.basis、config.preset)를 보고하게 되었습니다. 이러한 이벤트의 범위 문자열을 기준으로 필터링하는 클라이언트는 해당 매칭 처리를 업데이트해야 합니다.
  • v3.0 및 v3.1에서 모든 수치 와이어 값에 대한 Glaze의 부동 소수점 텍스트 재서식(예:1.0E-7 -> 1E-7、16777216 -> 1.6777216E7、-1.0E-37 -> -1E-37). 바이트 레벨에서만 변경되었습니다. 수치 파서는 동일한 값을 읽어옵니다. 변경된 것은 텍스트 형식뿐입니다. 문자열의 동등성 비교를 수행하는 컨슈머는 피처스트를 업데이트해 주십시오.
  • 센터링 프리셋의 원점 이동. 센터링 프리셋이 실제로 도달 가능한 중심을 기준으로 설정되도록 변경됨에 따라, 설정되는 원점은 3.5.2에 비해 이동합니다.arm_front_centered / led_front_centered 는 장치의 깊이 축을 따라 25 mm 이동합니다. ‘Minverse ’의 중심 맞추기 사전 설정은 X 방향으로 10 mm, Y 방향으로 20 mm, Z 방향으로 20 mm 이동합니다.minverse_zup X 방향으로 20 mm, Y 방향으로 30 mm 이동합니다. 이는 기본적으로 활성화된 동작이며,minverse_zup 이는 감지된 Freeform 세션에 자동으로 적용됩니다. 영향 범위: 중심 맞추기 프리셋이 활성화된 상태에서 원점에 배치된 콘텐츠 또는 원점을 기준으로 배치된 지오메트리는 원점과 함께 이동합니다. 전환 방법: 원점에 고정된 지오메트리를 다시 확인하거나, 이전의 오프셋을 사용자 정의 마운트 변환으로 명시적으로 기록하십시오. 중심 맞추기가 적용되지 않은 프리셋(device_defaults、arm_front、led_front)는 항등 변환이므로 영향을 받지 않습니다.

권장하지 않음​

  • inverse3 제어 명령어의 레거시 values 이 입력 방법은 경고와 함께 사용이 권장되지 않게 되었습니다. set_cursor_force、set_cursor_position、set_angular_position、set_angular_torques 에서, 명령어의 이름 지정 필드(vector / position / angles / torques) 대신 values 배열을 전송한 경우에도 계속 작동합니다. 다만, 아무런 메시지 없이 그대로 받아들여지는 대신 command-deprecated 이벤트가 발생하게 되었습니다(명령어당 30초에 한 번으로 제한됩니다).values 를 명명된 필드로 이전해 주십시오. 기존 입력 방식은 4.0 버전에서 제거될 예정입니다.
  • 그 외에는 이번 릴리스 주기에서 공개 와이어에 영향을 미치는 변경 사항은 없습니다.