Skip to content
quandy2020Public

About

autonomy open robot for everyone

Resources

Stars

38 stars

Watchers

2 watching

Forks

Latest commit

 

History

780 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUTONOMY

A modular intelligence framework for autonomous mobile robots

Modern C++ · Autolink RT · Behavior trees · No ROS runtime required

Version C++ Platform License


Documentation  ·  Install  ·  Quick Start  ·  Architecture


Autonomy Architecture

PERCEPTION  LOCALIZATION  MAPPING  PLANNING  CONTROL  ORCHESTRATION


Runtime Independent

Node · Channel · Service · Action · Parameter
without a ROS runtime dependency

Modular by Design

Stable plugins across algorithms,
drivers, simulation, and visualization

Production Oriented

Docker · Ansible · observability
x86_64 and ARM64 ready


Gallery

Localization · Argus LIVO

Argus LIVO

▶ Mid-360 demo  ·  Guide

Cartographer · Atlas · Argus (ESIKF)

Simulation · Isaac + AutoViz

Isaac Sim + AutoViz

AutoSim  ·  AutoViz

Habitat · Fake · Isaac Sim + PhysX

Architecture


Navigation workflow
Navigation — goal · plan · recover · cancel
Person-following flow
Person-following — RGB · track · path · control

Runtime  ·  Navigation  ·  Following  ·  System guide


Stack

Runtime
autolink/
SHM · RTPS · Action
Messages
automsgs/
Protobuf · codegen
Localization
autonomy/localization/
Cartographer · Atlas · Argus
Perception
autonomy/perception/
Base · Follow · costmap layers
Map / Plan / Ctrl
map · planning · control
Costmap · NavFn · RPP / MPPI
Tasks
autonomy/task/
BT navigator · TaskServer
Bridge
autonomy/bridge/
gRPC · BUILD_GRPC
HW / Sim / Viz
autodriver · autosim · autoviz
Sensors · Isaac · Qt

Multi-process by default: Goal → task (BT) → planning (Path) → control (cmd_vel), with TF map → odom → base_link. Domains can be trimmed via AUTONOMY_BUILD_* / BUILD_*.


Quick Start

Work from the source root (directory with top-level CMakeLists.txt, scripts/, docker/). In a monorepo that is often …/src/autonomy.

① Clone & enter Docker

git clone --recurse-submodules \
  https://github.com/quandy2020/autonomy.git
cd autonomy   # or cd …/src/autonomy

export AUTONOMY_ENV="$PWD"
# optional offline datasets → container /data
# export AUTONOMY_DATASETS=/path/to/datasets

python3 docker/run_autonomy.py -p x86_64
# GPU image:
# python3 docker/run_autonomy.py -p x86_64 -n yes

② Build & launch stack

cd /workspace/autonomy   # inside container
# host path if building outside Docker

python3 scripts/install_dependencies.py --skip-installed
cmake -S . -B build -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_PREFIX_PATH=/usr/local
cmake --build build -j"$(nproc)"

source scripts/setup_environment.bash
autolink_launch autonomy.launch

Nav-only smoke (planning + control + task):

autolink launch start task.launch
# do not run together with autonomy.launch
Argus localization (autosim / Oxford Spires → /imu · /points)
# Host: mount datasets, then recreate the container if needed
export AUTONOMY_DATASETS=/path/to/datasets
AUTONOMY_FORCE_RECREATE=1 python3 docker/run_autonomy.py -p x86_64 -n yes

# Container: localization
export AUTOLINK_LAUNCH_PATH="$PWD/autonomy/localization/launch"
autolink launch start localization_argus.launch

# Another terminal: publish sequence (under /data)
export LD_LIBRARY_PATH="/workspace/autonomy/install/autonomy/lib:/workspace/autonomy/build/autonomy/lib:${LD_LIBRARY_PATH:-}"
export PYTHONPATH="/workspace/autonomy/src/autonomy:/workspace/autonomy/install/autonomy/python:/workspace/autonomy/install/autonomy/lib/python:${PYTHONPATH:-}"
/usr/bin/python3 -m autonomy.tools.datasets publish \
  --dataset spires \
  --path /data/Oxford/sequences/2024-03-12-keble-college-02 \
  --rate 1.0

See datasets and localization.

Getting started  ·  Quick Run  ·  Docker  ·  CMake  ·  Localization


Guides

Autolink  ·  AutoMsgs  ·  Localization  ·  Bridge  ·  AutoDriver  ·  AutoSim  ·  AutoViz  ·  Ansible

Install · Autolink · Run · Localization · Planning · Control · Bridge · Navigator · Datasets · FAQs · readthedocs


Apache 2.0 · Inspired by Autoware · Cartographer · Navigation2 · ROS 2 · BehaviorTree.CPP


Autonomy — modular, observable, deployable robot intelligence

About

autonomy open robot for everyone

Resources

Stars

38 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages