legion1581/unitree_webrtc_connect
Unitree Go2 / G1 / R1 WebRTC driver
해결하는 문제
이 프로젝트는 사용자가 로봇을 제한 해제하거나 펌웨어를 수정하지 않고도 Unitree 로봇(Go2, G1, R1)을 제어할 수 있도록 해주는 Python 기반 WebRTC 드라이버를 제공합니다. 공식 모바일 앱에서 사용하는 통신 프로토콜을 재현함으로써, 로컬 네트워크 또는 클라우드를 통해 원격으로 고수준 제어 및 데이터 검색이 가능합니다.
작동 방식
드라이버는 Unitree WebRTC 프로토콜을 구현하여 세 가지 방법으로 연결을 설정합니다: 로컬 액세스 포인트(AP), 로컬 스테이션(STA-L), 또는 Unitree의 TURN 서버를 통한 원격(STA-T). 최신 펌웨어에서는 각 장치별 AES-128-GCM 인증이 필요하므로, 프로젝트는 Unitree 클라우드에서 필요한 복호화 키를 가져오기 위한 CLI 도구와 프로그래밍용 헬퍼를 포함하고 있습니다.
대상 사용자
Unitree Go2, G1, R1 로봇을 사용하는 개발자 및 연구자 중, Python을 사용하여 하드웨어를 프로그래밍 제어하거나, 비디오/오디오 스트리밍을 받거나, 센서 데이터(예: LiDAR)에 접근하고자 하는 사람들을 위한 것입니다.
주요 기능
- 광범위한 모델 지원: 다양한 펌웨어 버전에 대응하는 Go2, G1, R1 로봇 모델과 호환됩니다.
- 다중 모달 데이터 접근: 비디오 스트림 수신, 오디오 수신/송신(Go2), LiDAR 포인트 클라우드 디코딩(Go2)을 지원합니다.
- 로봇 제어: 스포츠 모드 이동 명령, 히ュ먼로이드의 FSM 상태 제어, R1의 상지 제스처 제어를 가능하게 합니다.
- 유연한 연결성: 로컬 Wi-Fi 연결과 Unitree 계정 자격 증명을 사용한 클라우드 기반 원격 제어를 지원합니다.
- 내장 인증 도구: 최신 펌웨어에서 안전한 핸드셰이크를 위한 각 장치별 AES 키를 가져오는 전용 유틸리티가 포함되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트