Skip to content

Mindera-Labs/mind-a-bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Full Unitree Go2 WebRTC Driver

This repository contains a Python implementation of the WebRTC driver to connect to the Unitree Go2 Robot. WebRTC is used by the Unitree Go APP and provides high-level control through it. Therefore, no jailbreak or firmware manipulation is required. It works out of the box for Go2 AIR/PRO/EDU models.

Description of the image

Supported Versions

The currently supported firmware packages are:

  • 1.1.1
  • 1.0.19 - 1.0.25

Audio and Video Support

There are video (recvonly) and audio (sendrecv) channels in WebRTC that you can connect to. Check out the examples in the /example folder.

Lidar support

There is a lidar decoder built in, so you can handle decoded PoinClouds directly. Check out the examples in the /example folder.

Connection Methods

The driver supports three types of connection methods:

  1. AP Mode: Go2 is in AP mode, and the WebRTC client is connected directly to it:

    Go2WebRTCConnection(WebRTCConnectionMethod.LocalAP)
  2. STA-L Mode: Go2 and the WebRTC client are on the same local network. An IP or Serial number is required:

    Go2WebRTCConnection(WebRTCConnectionMethod.LocalSTA, ip="192.168.8.181")

    If the IP is unknown, you can specify only the serial number, and the driver will try to find the IP using the special Multicast discovery feature available on Go2:

    Go2WebRTCConnection(WebRTCConnectionMethod.LocalSTA, serialNumber="B42D2000XXXXXXXX")
  3. STA-T mode: Remote connection through remote Unitrees TURN server. Could control your Go2 even being on the diffrent network. Requires username and pass from Unitree account

    Go2WebRTCConnection(WebRTCConnectionMethod.Remote, serialNumber="B42D2000XXXXXXXX", username="[email protected]", password="pass")

Multicast scanner

The driver has a built-in Multicast scanner to find the Unitree Go2 on the local network and connect using only the serial number.

Installation

cd ~
sudo apt update
sudo apt install python3-pip
sudo apt install portaudio19-dev
git clone --recurse-submodules https://github.com/Mindera-Labs/mind-a-bot.git
cd mind-a-bot
pip install -e .

Usage

Example programs are located in the /example directory.

Thanks

A big thank you to TheRoboVerse community! Visit us at TheRoboVerse for more information and support.

Special thanks to the tfoldi WebRTC project and abizovnuralem for adding LiDAR support!

Nice repos:

Unitree Mujoco

Sbus

Point CLoud Image visualsation

About

Unitree Go2 WebRTC driver

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%