Skip to content

A2R-Lab/GATO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

025eb69 · Apr 18, 2025

History

72 Commits
Apr 18, 2025
Apr 18, 2025
Apr 18, 2025
Apr 18, 2025
Feb 10, 2025
Apr 18, 2025
Apr 17, 2025
Apr 18, 2025
Feb 5, 2025
Apr 18, 2025
Apr 18, 2025
Feb 10, 2025
Apr 18, 2025
Apr 18, 2025
Apr 18, 2025
Apr 18, 2025

Repository files navigation

GPU-Accelerated Trajectory Optimization for Robotics

This is a batched version of the trajectory optimization solver from the paper "MPCGPU: Real-Time Nonlinear Model Predictive Control through Preconditioned Conjugate Gradient on the GPU".

Installation

uv is used as a Python package and project manager.

git clone https://github.com/A2R-Lab/GATO.git
cd GATO
git submodule update --init --recursive

#uv
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
source .venv/bin/activate

#docker
docker-compose up -d
docker-compose exec dev bash

make build #builds examples and bindings

Bindings only

make build-bindings

Requirements

GATO works with:

  • Ubuntu 22.04
  • CUDA v12.2
  • C++17
  • Python 3.10.12
  • Docker 26.1.3

Usage

See batch_sqp.cu for an example of a batch solve in C++/CUDA, and batch_sqp.py for an example using Python bindings. Examples of MPC with GATO are in indy7-mpc/

Nomenclature

TODO

Related

  • The open-source MPCGPU solver
  • GRiD, a GPU-accelerated library for computing rigid body dynamics with analytical gradients

About

GPU-Accelerated Trajectory Optimization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages