ARGoS (Autonomous Robots Go Swarming) is a multi-physics robot simulator. iAnt-ARGoS is an extension to ARGoS that implements the CPFA-ARGoS algorithm and provides a mechanism for performing experiments with iAnts.
This project was forked from BCLab-UNM and updated. The project has been tested with the CPFAExample.xml
in the /experiments
folder. You can follow the installation guide below to install and run the updated system.
The CPFA-ARGoS system has two components:
- The CPFA logic controllers that implement the CPFA algorithm in the ARGoS robot simulator.
- The Genetic Algorithm that evolves the parameters used by the CPFA algorithm.
You can run the CPFA algorithm on ARGoS using OS X or Linux (see installation instructions below). To run the evolver, you must use the Moses MPI cluster, which has 6 hosts with 24 cores. You can also use the cluster to run experiments without tying up your local machine.
ARGoS is available for Linux and Macintosh systems. It is currently not supported on Windows. Detailed installation instructions can be found on the ARGoS Website.
- Download the appropriate binary package for your Linux system.
- In Terminal, run the following command in the directory of your installation file:
- for Ubuntu and KUbuntu:
$ sudo dpkg -i argos3_simulator-*.deb
- for OpenSUSE:
$ sudo rpm -i argos3_simulator-*.rpm
- Install Homebrew if you don’t already have it:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Obtain the Homebrew Tap for ARGoS:
$ brew tap ilpincy/argos3
- Install ARGoS with Homebrew:
$ brew install bash-completion qt lua argos3
- To update ARGoS with Homebrew:
$ brew update
$ brew upgrade argos3
Once ARGoS is installed on your system, you can download the files in this repository, compile them for your system, and run the iAnt CPFA in ARGoS.
-
Pull the code from this repository.
-
From the terminal, use the
build.sh
script to compile the code:
$ ./build.sh
Attention MARSLab: Currently the evolver is designed to use the Moses MPI cluster which is UNM's computing cluster. This lab does NOT have access to the MPI cluster. This section only serves as a reference. Make sure
DBUILD_EVOLVER
is always set toNO
in the build.sh.
CPFA-ARGoS includes the CPFA evolver. This program uses a distributed version of ga-lib to evolve CPFA parameters. An example script for running cpfa_evolver
is provided: evolve_EXAMPLE.sh
.
CPFA evolver uses MPI to distribute ARGoS evaluations across a cluster. An example machine file (moses_cluster
) specifies the hostnames of the MPI nodes to use and the number of processes to run on each node.
evolve_EXAMPLE.sh
takes two arguments: the number of MPI processes to run and the machine file name for the MPI cluster.
Since the evolver relies on MPI packages that are not required for compiling the CPFA, compilation of the evolver is turned off by default.
To build the CPFA evolver, modify the build.sh
script and change:
cmake -DBUILD_EVOLVER=NO ..
to:
cmake -DBUILD_EVOLVER=YES ..
The evolver takes an experiment XML file as an argument that specifies the simulation parameters. The CPFA genome in that experiment file is ignored and evolved parameters are used instead. Make sure visualization is turned off in this experiment file.
To run an experiment, launch ARGoS with the XML configuration file for your system:
$ argos3 -c experiments/CPFAExample.xml
Description | Website |
---|---|
Official ARGoS website and documentation | http://www.argos-sim.info/ |
Homebrew utility for Mac OSX installations | http://brew.sh/ |
CMake utility information | http://www.cmake.org/documentation/ |