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.
The currently supported firmware packages are:
- 1.1.1
- 1.0.19 - 1.0.25
There are video (recvonly) and audio (sendrecv) channels in WebRTC that you can connect to. Check out the examples in the /example folder.
There is a lidar decoder built in, so you can handle decoded PoinClouds directly. Check out the examples in the /example folder.
The driver supports three types of connection methods:
-
AP Mode: Go2 is in AP mode, and the WebRTC client is connected directly to it:
Go2WebRTCConnection(WebRTCConnectionMethod.LocalAP)
-
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")
-
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")
The driver has a built-in Multicast scanner to find the Unitree Go2 on the local network and connect using only the serial number.
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 .Example programs are located in the /example directory.
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!
