/madara

Multi-Agent Distributed Adaptive Resource Allocation

Primary LanguageC++OtherNOASSERTION

Build Status Documentation Status Javadocs

About MADARA

The Multi-Agent Distributed Adaptive Resource Allocation (MADARA) Project is a middleware designed to provide core knowledge sharing capabilities for multi-agent robotics and real-time systems. MADARA includes a distributed knowledge base that aggregates changes to knowledge and sends them over an extensible transport system that currently supports UDP unicast, broadcast, and multicast, 0MQ, and RTTI DDS and PrismTech DDS.

We currently support compilation on Windows, Linux, Mac, and Android architectures using a variety of compilers such as clang, g++, and Visual Studio. We also support Java and Python ports of the C++ code base for portable multi-agent programming anywhere.


Installation

Installation

The MADARA project works closely with the Group Autonomy for Mobile Systems (GAMS) project. The installation scripts we have created there will automate installations for Mac and Linux users. For Android users, you will have to install the NDK / Android Studio separately and then you can use the same Linux scripts. For Windows users, the guide is a bit more user-error prone. We do have build scripts that use the Visual Studio command line, but VS2017 appears to have slowed down the build process with msbuild to a crawl, and we recommend simply building the projects generated by MPC directly to get everything compiled quickly.


Help

Most of the Wiki pages have not been moved from their hosting on SourceForge. This is the best place to currently find visualizations, examples, and answers.

Youtube Guide to Multi-Agent Autonomy

C++ API Docs | C++ Tutorial
Java Docs | Java Tutorial