A C++ simulation library combining a physics engine and rendering pipeline, built for marine robotics and underwater environments.
ilpincy/argos3
A physics-based, multi-threaded simulator for large-scale robot swarms that can run several physics engines at once.
- Stars
- 322
- Forks
- 131
- Open issues
- 33
- Last commit
- last month
What is it?
ARGoS is a physics-based simulator built to model large robot swarms. It is designed to run physics-accurate simulations involving thousands of robots, and it is multi-threaded with a modular architecture.
A distinguishing feature is that ARGoS can run multiple physics engines at the same time and split the physical space into regions, assigning different regions to different engines. The project is written in C++ and targets Linux and macOS; Windows is not supported. It can be built with CMake, and optional components include a Qt/OpenGL visualization and a Lua wrapper.
The repository includes the simulator sources, build scripts for both the simulator and real-robot targets, and API documentation generated with Doxygen.
Key features
- 01Multi-threaded, modular architecture for simulating thousands of robots.
- 02Can run multiple physics engines simultaneously.
- 03Physical space can be divided into regions, each handled by a different engine.
- 04Optional Qt/OpenGL graphical visualization.
- 05Built with CMake, with support for building for real robots.
Use cases
- Studying collective behavior and control algorithms in large robot swarms.
- Running physics-accurate simulations before deploying code to real robots.
- Comparing or combining different physics engines within a single simulation.
Quick start
- 1
Clone the ARGoS sources from GitHub
git clone https://github.com/ilpincy/argos3.git argos3 - 2
Create a build directory for the simulator
mkdir build_simulator - 3
Configure the build with CMake from the build directory
cmake ../src - 4
Compile ARGoS
make
Things to know
- Only runs on UNIX systems such as Linux and macOS; Microsoft Windows is not supported.
- Building the simulator requires FreeImage and CMake, and the optional GUI needs Qt and freeglut, so setup takes effort.
- The README recommends building the documentation before installing, which adds further dependencies.
In collections
Topics
FAQ
- What is argos3?
- A physics-based, multi-threaded simulator for large-scale robot swarms that can run several physics engines at once. ARGoS is a physics-based simulator built to model large robot swarms. It is designed to run physics-accurate simulations involving thousands of robots, and it is multi-threaded with a modular architecture.
- Is argos3 free to use? What license does it have?
- argos3 has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is argos3 still maintained?
- Updated within 6 months. The last commit to argos3 was on Oct 5, 2026.
- What can I use argos3 for?
- Studying collective behavior and control algorithms in large robot swarms. Running physics-accurate simulations before deploying code to real robots. Comparing or combining different physics engines within a single simulation.
- How do I install argos3?
- Clone the ARGoS sources from GitHub: git clone https://github.com/ilpincy/argos3.git argos3 Create a build directory for the simulator: mkdir build_simulator Configure the build with CMake from the build directory: cmake ../src Compile ARGoS: make
- Where can I get argos3?
- The source code and installation instructions are on GitHub: https://github.com/ilpincy/argos3
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Bullet Physics SDK, a C++ library for real-time collision detection and multi-physics simulation used in games, VR, robotics and machine learning.
C++17 physics library with Python bindings for kinematics, dynamics and contact simulation of articulated robots and animated characters.
An abstract C++ physics interface for robot simulation that lets applications swap between different physics engines through a plugin system.
A simulation platform for robotics and embodied AI combining a multi-physics engine, a photo-realistic renderer, and a cross-platform compiler behind a Python interface.
A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research.