Unitree Go2 Autonomous Movement Logic
Unitree Go2 Autonomous Movement Logic
Hardware needs
The autonomous exploration capability requires a laserscan sensor to be mounted to the head of the Go2. We recommend the RPLidar A1M8. Please see the RPLidar setup documentation for more information.
Overview
Using OM1, the Unitree Go2 is able to autonomously explore spaces such as your home. There are several parts to this capability. To get started, launch OM1:
RPLIDAR Laserscan Data
OM1 uses the RPLIDAR to tell the core LLMs about nearby objects. This information flows as natural language to the core LLMs from /input/plugins/rplidar.py
. The LIDAR data are also used in the action driver to check for viable paths before and during motions are executed.
Core LLM Directed Motion
Depending on the sensed spatial environment, the core LLMs can generate contextually appropriate motion commands.
These commands are defined in actions/move_safe_lidar/interface.py
and are converted to motions in /actions/move_safe_lidar/connector/ros2.py
.
Data Priorities
Normal case
- The LIDAR does not sense anything in proximity (within 1.1m or closer).
In this case, the Go2 moves about the room controlled by the core LLMs.
Object nearby possible moves are constrained
The LIDAR senses something within 1.1 m (or less) and uses that information to tell the core LLMs about which paths are possible. For example, the LIDAR may tell the core LLMS that:
If all directions are blocked, the LIDAR tells the LLMs that:
In this case, the core LLMs should command the Go2 to avoid the object(s).