examples.dlife.robot.player.evolution
Class HemissonNeuroController

java.lang.Object
  extended by dlife.robot.Controller
      extended by examples.dlife.robot.player.evolution.HemissonNeuroController
All Implemented Interfaces:
Runnable

public class HemissonNeuroController
extends Controller
implements Runnable

Controller that controls the Hemisson using a provided neural network. The Hemisson's proximity sensors are provided to the neural network as inputs and the network outputs are used as translation and rotation commands to the Hemisson.

The run() method reads the proximity sensor and then invokes the step() method once every 10ms for the duration of the simulation.

The source code for this class is contained in the file:

Version:
Jun 30, 2010
Author:
Grant Braught, Dickinson College

Constructor Summary
HemissonNeuroController(FFNeuralNetwork brain, int simLength)
           
 
Method Summary
 double getFitness()
           
 void run()
           
 void startUp(Robot robot)
          This method is invoked automatically when the Start Up button in the ContolCenter is clicked.
 void step()
          This method is invoked either once when the Step button is clicked or periodically when the Run button is clicked.
 
Methods inherited from class dlife.robot.Controller
shutDown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HemissonNeuroController

public HemissonNeuroController(FFNeuralNetwork brain,
                               int simLength)
Method Detail

startUp

public void startUp(Robot robot)
Description copied from class: dlife.robot.Controller
This method is invoked automatically when the Start Up button in the ContolCenter is clicked. This is typically where Sensors and Effectors are created and added to the Robot.

Specified by:
startUp in class Controller
Parameters:
robot - the Robot that this Controller will be controlling.

step

public void step()
Description copied from class: dlife.robot.Controller
This method is invoked either once when the Step button is clicked or periodically when the Run button is clicked. The rate at which step is invoked varies from Robot to Robot and is dependent on the computer being used as well as the amount of processing done in step, the number and type of sensors attached to the Robot and the robot's communication latency.

Specified by:
step in class Controller

getFitness

public double getFitness()

run

public void run()
Specified by:
run in interface Runnable