Source Code Overview - AADILab/Rover-Domain GitHub Wiki

Module Overviews

Here we present a quick overview of each module and what it is useful for

agent_domain.pyx

This is the core dynamics of the rover domain, implemented in Cython. The main functions of this module are

  • doAgentSense()
  • doAgentProcess()
  • doAgentMove()

These 3 functions describe the basic interface of the rover domain, which generate the state, select actions, and implement actions in the environment.

ccea.py

CCEA implemented upon neuro-evolution of MLP neural networks in PyTorch. Provides a class, extending the basic PyTorch module, for a single hidden layer MLP. Provides functions for creating, ranking, and mutating these policies.

reward.py

Defines the rewards available for the rover domain. Provides functions which calculate G & D, and functions which actually assign the rewards into the shared data structure.

  • calculateGlobalReward()
  • assignGlobalReward()
  • calculateDifferenceReward()
  • assignDifferenceReward()

world_setup.py

Provides the functions for initializing the world and agent teams. Notable functions:

  • blueprintAgent()
  • blueprintPoi()
  • initWorld()