UniflexAI/tinynav
TinyNav: A lightweight, hackable system to guide your robots anywhere.
What it solves
TinyNav is a lightweight, hackable navigation system designed to guide robots through environments. It addresses the challenge of providing robust, real-time navigation, mapping, and localization for various robot platforms and hardware chips, while keeping the codebase compact for ease of prototyping and community contribution.
How it works
The system is organized into a modular pipeline of Python and C++ components:
- Perception Node: Processes sensor data (such as from stereo cameras like RealSense or Looper) and integrates IMU-visual fusion to improve localization and pitch-angle accuracy.
- Map Node: Builds and maintains the environment map, supporting representations like 3D Gaussian Splatting (3DGS) for high-quality visualization and precise POI placement.
- Planning Node: Computes optimal paths and trajectories using map and perception data, utilizing ESDF-based obstacle avoidance to maintain safe distances from obstacles.
- Control Node: Sends the final control commands to actuate the robot.
Performance is optimized using CUDA Graph optimization for low-latency inference on platforms like Jetson Nano, Numba JIT for speed, and asyncio for concurrent model inference.
Who it’s for
Robot developers and researchers who need a flexible, navigation stack that supports multiple robot platforms (e.g., Unitree GO2, LeKiwi) and various compute platforms (Jetson Orin, RK3588, Desktop).
Highlights
- Compact Codebase: Approximately 2,000 lines of Python code for clarity and ease of use.
- Multi-Platform Support: Out-of-the-box support for Unitree GO2 and LeKiwi robots.
- Advanced Mapping: Integration of 3D Gaussian Splatting for map representation and editing.
- Hardware Optimized: Optimized for NVIDIA Jetson and other cost-effective chips via CUDA Graphs.
- C++ Backend: Performance-critical operations are handled by a C++ backend with bindings.
- Simulation Support: Includes a Gazebo simulation environment for testing.
Related
- Project
- Project
- Project
- Project
- Project