Tomassino Ferrauto Gianluca Stefano Nolfi

Organization of the Documentation

The documentation is structured into sections that can be grouped thematically as follow:
Installing and Using FARSA introduces the basic concepts of FARSA, describes how to install FARSA and how to run and configure the exemplificative experiments.
Customizing and Expanding FARSA explains how to crete new user defined experiment and how to expand FARSA.
Reference guides includes detailed information for developers
Exemplificative experiments describe the ready-to-use experimental plugins included in FARSA.

The Autonomous Robots Book provides an easy to follow theoretical and practical introduction to autonomous robots and to FARSA through the description of a series of experiments of increasing complexity and through a series of boxes that explain how to run and configure them. Currently, only the first 3 chapters are available. Several other chapters will be available during the forthcoming months.

Installing and Using FARSA

  1. Overview
  2. Design Principles
  3. Installation
    1. Windows - Installing from Binaries
    2. Linux - Installing from Binaries
    3. Mac - Installing from Binaries
    4. Windows - Installing from Sources
    5. Linux - Installing from Sources
    6. Mac - Installing from Sources
  4. Running the Exemplificative Experiments
    1. Compiling an Experiment Plugin
  5. Configuring an Experiment
    1. The Robots and Robots' sensory-motor system
      1. The MarxBot Robot
      2. The Khepera Robot
      3. The e-Puck Robot
      4. The iCub Robot
    2. The Robot Neural Controller
      1. The Evonet Component
    3. The Adaptive/Developmental Process
      1. Evolutionary Algorithms
      2. Back-Propagation Learning
  6. Running total99 in batch modality

Customizing and Expanding FARSA

  1. Plugins, components and resources
    1. Creating a plugin and registering components
    2. Configuring components
    3. Declaring and accessing resources
  2. Creating a new experiment
    1. The Component and BaseExperiment classes
  3. Customizing the environment
    1. The Arena Component
    2. The Worldsim Library
  4. Using robots
    1. Wheeled robots
    2. The iCub robot
  5. Programming a fitness function
  6. Writing tests for evolutionary experiments
  7. Creating custom sensors or motors
  8. Implementing a new world object
  9. Implementing a new robot

Reference guide

  1. FARSA APIs Documentation

Exemplificative Experiments

  1. Braitenberg Vehicles
  2. The Discrimination Experiment
  3. Reaching and Grasping on a iCub humanoid robot
  4. Collective Behaviour and Swarm Robotics
  5. Sensory-Motor Coordination
  6. Body Evolution and Morphological Computing
  7. Minimal Cognitive Behaviours
  8. Learning by demonstration


Manual: APIDoc
Manual: ArenaComponent
Manual: BraitenbergExperiment
Manual: CollectiveForagingExperiment
Manual: CompilingPlugin
Manual: ComponentBaseExperiment
Manual: ComponentsConfig
Manual: ComponentsPluginAndResources
Manual: Configuring an Experiment
Manual: CreatingNewExperiment
Manual: CustomSensorMotor
Manual: CustomizeEnvironment
Manual: CustomizingRobots
Manual: DesignPrinciples
Manual: EvorobotExperimentTest
Manual: GraspingExperiment
Manual: Installation
Manual: KheperaDiscriminationExperiment
Manual: KinestheticGraspExperiment
Manual: LinuxBinaries
Manual: LinuxSources
Manual: MacBinaries
Manual: MacSources
Manual: MinimalCognitiveBehaviour
Manual: NewRobot
Manual: NewWObject
Manual: Overview
Manual: PassiveWalkerExperiment
Manual: PluginsAndRegistration
Manual: ProgrammingFitnessFunction
Manual: Resources
Manual: RunningExperiments
Manual: SensoryMotorCoordination
Manual: The MarxBot Robot
Manual: The Robots and Robots' sensory-motor system
Manual: Total99Batch
Manual: WheeledRobots
Manual: WindowsBinaries
Manual: WindowsSources
Manual: Worldsim
Manual: iCubRobot