YushuTechUnitreeGo1  by MAVProxyUser

Unitree Go1 hacking notes for enabling low-level functions

created 3 years ago
398 stars

Top 73.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides deep-dive, unofficial development notes and hacks for the Unitree Go1 quadruped robot. It targets roboticists, researchers, and advanced hobbyists seeking to understand, modify, and extend the robot's capabilities beyond its stock firmware. The primary benefit is unlocking low-level control and custom functionality on non-EDU models.

How It Works

The project details the Go1's architecture, revealing its lineage from the MIT Cheetah SPIne design. It highlights the use of Raspberry Pi and Jetson boards for higher-level processing, communicating with an STM32 motion controller via an RS485 network. The notes cover network interfaces, firmware vulnerabilities, and methods for accessing and controlling various robot functions, including camera systems and motor commands.

Quick Start & Requirements

  • Installation: Primarily involves cloning the repository and applying provided patches or code snippets to the Unitree SDK and ROS packages.
  • Prerequisites: Requires a Unitree Go1 robot, Linux environment (e.g., on the robot's Raspberry Pi), ROS (ROS1/ROS2), and potentially specific SDK versions (e.g., v3.4.2, v3.5.0, v3.5.1, v3.8.0).
  • Resources: Access to the robot's internal systems via SSH is crucial. Detailed instructions are provided for network sniffing, firmware backup, and software modification.
  • Links:

Highlighted Details

  • Exploits firmware vulnerabilities in the update and programming interfaces for arbitrary code execution.
  • Details methods for re-enabling the "backflip" maneuver and controlling the robot via MQTT and Bluetooth.
  • Provides extensive information on the robot's internal hardware, including camera components (Sunplus SPCA2610/2650), the STM32H743 motion controller, and Quectel 4G modems.
  • Includes detailed guides for network analysis, firmware backup, and custom software deployment on the robot's onboard computers.

Maintenance & Community

Licensing & Compatibility

  • The repository itself is not explicitly licensed, but it references and utilizes code derived from the MIT Cheetah Software, which is MIT licensed. Unitree acknowledges this MIT license in their own repositories.
  • Compatibility is primarily with Unitree Go1 models and specific firmware/SDK versions.

Limitations & Caveats

  • The project is unofficial and relies on reverse-engineering and exploiting firmware vulnerabilities, which may change with Unitree updates.
  • Some advanced features, like the backflip, may cause hardware stress (e.g., hip joints).
  • The repository contains sensitive information regarding security vulnerabilities and default credentials.
Health Check
Last commit

4 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
37 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.