카카오톡 문의 N 공식 블로그 공식 유튜브

SPOT Updates

패치 노트 및 제품 최신 업데이트

Minor · 2024. 04.

Spot SDK 4.0.1 릴리즈 노트


배포 안내

이번 4.0.1 마이너 업데이트는 이전 4.0.0 버전에서 누락되었던 필수 호환성 변경 사항(네트워크 컴퓨트 브릿지)의 안내, 로봇 전원 제어 버그 수정, 그리고 샘플 코드들의 크래시 및 오작동 수정을 포함하고 있습니다. 페이로드 연동 및 로봇 제어 시스템을 운영하는 실무 담당자는 아래의 개선 사항을 반드시 확인하시기 바랍니다.

1. 주요 호환성 변경 (Breaking Changes)

⚠️ 개발자 주의 사항: 4.0.0 릴리즈에 적용되었으나 이전 문서에서 누락된 주요 호환성 변경 사항을 안내해 드립니다.

  • Network Compute Bridge 워커 정책 변경: Network Compute Bridge 워커(Workers) 구성 시 status 필드를 반드시 설정하도록 시스템 요구사항이 변경되었습니다. (기존에는 선택 사항이었습니다.)
    • 이에 맞춰 Network Compute Bridge 관련 예제 코드들의 응답 상태 설정 로직이 업데이트되었습니다.

2. 버그 수정 및 개선 사항 (Bug Fixes and Improvements)

  • 전원 제어 API 버그 수정: 4.0.1 이전 버전에서 bosdyn.client.power.power_off_robot 및 safe_power_off_robot 메서드를 호출할 때 로봇의 전원이 완전히 차단(De-energize)되지 않던 버그가 수정되었습니다.
    • (참고: 기존 safe_power_off_robot 메서드는 모터 전원만 차단하고 로봇 기체 전체의 시스템 전원을 끄지 못했습니다.)
    • 프로그래밍 방식으로 로봇의 완전 종료(Full shutdown)를 제어하는 연동 시스템을 사용 중인 경우, 4.0.1 이상 버전으로 소프트웨어를 업데이트할 것을 강력히 권장합니다.
  • Python 버전 호환성 패치: Python 3.9 이상에서만 지원되는 기능이 포함되어 Python 3.8 이하 환경에서 Orbit Client 및 Scout Client(지원 중단됨)의 임포트(Import)가 실패하던 오류가 수정되었습니다.
  • Windows 환경 구동 오류 수정: bosdyn.client.server_util의 GrpcServiceRunner를 기본 인수인 force_sigint_capture=True 상태로 실행할 때 Windows 운영 체제에서 프로그램이 크래시되던 버그가 수정되었습니다. 운영 체제(OS) 감지 로직이 추가되어 해당 문제를 사전에 방지합니다.
  • 예외 처리 고도화: bosdyn.client.area_callback_service_utils 모듈 내부의 진단(Diagnostics) 및 예외 처리(Exception handling) 로직이 개선되었습니다.
  • 계단 보행 경로 이탈 수정: 로봇이 폭이 매우 넓은 계단을 오를 때 무조건 중앙부로 이동하려던 문제가 수정되었습니다. 이제 로봇은 계단에서도 기록된(Recorded) 원본 경로에 최대한 가깝게 유지하며 주행합니다.
    • 계단 구간에서의 궤적을 수정해야 할 경우, 에지 주석(Edge annotations) 메시지에 새롭게 추가된 traversal_y_offset 필드를 조작하여 보행 경로를 강제로 덮어쓸(Override) 수 있습니다.

3. 지원 중단 (Deprecations)

4.0.0 릴리즈 노트에 명시된 항목에 더해, 아래의 속성이 추가로 지원 중단(Deprecated) 처리되었습니다.

  • GraphNav 맵 에지 주석(Map edge annotations): flat_ground (평지 어노테이션 속성)

4. 알려진 문제 (Known Issues)

  • 이전 4.0.0 릴리즈와 동일합니다. 추가로 확인된 시스템 버그는 없습니다.

5. 샘플 코드 업데이트 (Sample Code)

현장 구축 및 페이로드 연동 테스트를 지원하기 위해 다수의 예제 코드가 패치 및 갱신되었습니다.

Spot SDK
  • Tester Programs: 이미지 서비스(Image services) 및 데이터 수집(Data acquisition) 플러그인 테스트 프로그램의 사용 지침이 더욱 직관적이고 명확하게 보완되었습니다.
  • RPC 인수 오류 수정: 다음 세 가지 예제에서 응답(Response)과 요청(Request) 인수가 뒤바뀌어 GetRemoteMissionServiceInfo 메서드가 실패하던 버그가 모두 수정되었습니다.
    • Fan Control
    • Network Request
    • Power Off Mission Service Callback
  • Build Extension: 익스텐션(Extensions) 빌드용 build_extension.py 스크립트의 기본 타겟이 ARM64 아키텍처로 변경되었습니다.
  • Comms Test: 오기재되었던 Docker 이미지 실행 명령어가 올바르게 패치되었습니다.
  • Edit Autowalk: 미션 상태(Mission status)가 주기적으로 출력되며, 프롬프트성 미션 질문(Mission questions) 발생 시 터미널에 즉각 출력되도록 개선되었습니다.
  • Custom Parameter Image Server: 해당 예제가 CORE I/O 환경에서 정상 작동하도록 패치되었습니다. (단, Logitech HD Pro Webcam C920 등 CORE I/O 호환 웹캠이 장착되어 있어야 합니다.)
  • Post-Docking Callback: 특정 시간(Time period) 값이 입력되었을 때 예제 코드가 강제 종료되던 버그가 수정되었습니다.
  • Spot Light: 밝기 임계값(Brightness threshold) 설정 파라미터가 추가되었습니다. 사용자 조명이 충분히 밝지 않은 환경에서도 임계값을 튜닝하여 로봇이 정상적으로 기립하도록 유도할 수 있습니다.
  • Network Compute Bridge Worker (Fire Extinguisher): 태블릿에서 검사(Inspection)를 세팅하고 구성하는 방법에 대한 세부 지침이 설명서에 추가되었습니다.
  • Network Compute Bridge Worker (TensorFlow): 4.0.1의 필수 요구사항 변경에 맞춰 NetworkComputeResponse 메시지 내의 status 필드가 올바르게 설정되도록 코드가 수정되었습니다.
Orbit SDK
  • Orbit API: site_elements 엔드포인트의 명칭 오기재(기존: SiteElements)가 소문자 표준에 맞게 정정되었습니다.
  • Orbit Send Robot Back to Dock: 해당 예제 코드가 터미널 기반에서 더욱 상호작용하기 편하도록(Interactive) 개선되었습니다.