brenocq / atta

Simulator for multi-robot systems
https://atta.brenocq.com
MIT License
19 stars 4 forks source link
3d-engine cuda gpu-computing hacktoberfest hotreload physics rendering robot-simulator robotics robotics-simulation simulation simulator

Atta

[![Linux](https://github.com/Brenocq/Atta/actions/workflows/linux.yml/badge.svg)](https://github.com/Brenocq/Atta/actions/workflows/linux.yml) [![MacOS](https://github.com/Brenocq/Atta/actions/workflows/macos.yml/badge.svg)](https://github.com/Brenocq/Atta/actions/workflows/macos.yml) [![Windows](https://github.com/Brenocq/Atta/actions/workflows/windows.yml/badge.svg)](https://github.com/Brenocq/Atta/actions/workflows/windows.yml) [![Web](https://github.com/brenocq/atta/actions/workflows/web.yml/badge.svg)](https://github.com/brenocq/atta/actions/workflows/web.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[Website](https://atta.brenocq.com) · [**Projects**](https://atta.brenocq.com/projects) · [Planning](https://github.com/users/brenocq/projects/14)

Atta is a robotics simulator, mainly focused on multi-robot systems with tons of similar robots. The objectives for this simulator are:

Check out the atta website for a getting started guide.

Progress

Check the atta progress by clicking on the buttons below. Issues with bugs and discussions with new ideas are very welcome :bowtie:.

[![ComponentModule](https://storage.googleapis.com/atta-images/main/component_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/8) [![EventModule](https://storage.googleapis.com/atta-images/main/event_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/13) [![FileModule](https://storage.googleapis.com/atta-images/main/file_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/14) [![GraphicsModule](https://storage.googleapis.com/atta-images/main/graphics_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/16) [![IOModule](https://storage.googleapis.com/atta-images/main/io_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/17) [![MemoryModule](https://storage.googleapis.com/atta-images/main/memory_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/15) [![PhysicsModule](https://storage.googleapis.com/atta-images/main/physics_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/6) [![ResourceModule](https://storage.googleapis.com/atta-images/main/resource_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/12) [![ScriptModule](https://storage.googleapis.com/atta-images/main/script_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/11) [![SensorModule](https://storage.googleapis.com/atta-images/main/sensor_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/10) [![UIModule](https://storage.googleapis.com/atta-images/main/ui_system_button_github_progress.png?)](https://github.com/brenocq/atta/projects/9) [![Docs](https://storage.googleapis.com/atta-images/main/docs_button_github_progress.png?)](https://github.com/brenocq/atta/projects/18)

Obs: There is a github workflow to update the progress bar of each icon automatically heh

Architecture

Atta is composed of decoupled modules, the current modules are:

Arrows show dependencies between modules. Green boxes show which features are implemented.

Why Atta?

"Atta" comes from the scientific name of a type of leaf-cutting ant that can build nests of up to millions of individuals capable of working together to perform complex tasks. This project aims to simulate complex systems like this, mainly composed of robots.

Build & test

Windows

Dependencies

To build atta properly, you need to have cmake installed.
choco install cmake
Also, be sure that your compiller supports C++17 (g++ >= 9.0).

Run

git clone git@github.com:brenocq/atta.git
cd atta
mkdir build
cd build
cmake ..
You can now use Visual Studio to open the atta.sln file.
MacOS

Dependencies

To build atta properly, you need to have cmake installed.
brew install cmake
Also, be sure that your compiller supports C++17 (g++ >= 9.0).

Run

git clone git@github.com:brenocq/atta.git
cd atta
./scripts/build.sh --help
./scripts/build.sh
./build/release/bin/atta_test
./build/release/bin/atta
Linux

Dependencies

To build atta, you need:
  • g++ >= 9.0
  • cmake >= 3.14
Ubuntu:
sudo apt-get install g++ cmake git xorg-dev curl
Note: If your ubuntu is old, you may need to install the latest cmake/g++ manually. Fedora:
sudo yum install g++ cmake git glfw-devel curl
Arch:
sudo pacman -Sy g++ cmake git glfw-x11 curl

Run

git clone git@github.com:brenocq/atta.git
cd atta
./build.sh --help
./build.sh
./build/release/bin/atta_test
./build/release/bin/atta

If you found any errors, please do not hesitate to create an issue :wink:.

Discussions

If you want to contribute, have ideas, or have questions about atta, feel free to start a discussion.

References

License

This project is licensed under the MIT License - check LICENSE for details.