DerivativeWiring Class Reference

#include <derivativewiring.h>

Inheritance diagram for DerivativeWiring:

Inheritance graph
[legend]
Collaboration diagram for DerivativeWiring:

Collaboration graph
[legend]
List of all members.

Detailed Description

Implements a wiring (between controller and robot) which includes the first and second derivative of the original robot sensor values.

Definition at line 69 of file derivativewiring.h.

Public Member Functions

 DerivativeWiring (const DerivativeWiringConf &conf, NoiseGenerator *noise)
 constructor
virtual ~DerivativeWiring ()
 destructor
virtual bool init (int robotsensornumber, int robotmotornumber)
 initializes the internal numbers of sensors and motors on robot side, calculate number of sensors and motors on controller side
virtual bool wireSensors (const sensor *rsensors, int rsensornumber, sensor *csensors, int csensornumber, double noise)
 Realizes derivative wiring from robot sensors to controller sensors.
virtual bool wireMotors (motor *rmotors, int rmotornumber, const motor *cmotors, int cmotornumber)
 Realizes wiring from controller motor outputs to robot motors.

Static Public Member Functions

static DerivativeWiringConf getDefaultConf ()
 Providing default configuration for DerivativeWiring as static method.

Protected Member Functions

void calcFirstDerivative ()
 Calculate the first derivative of the sensorvalues given by the robot f'(x) = (f(x+1) - f(x-1)) / 2 since we do not have f(x+1) we go one timestep in the past.
void calcSecondDerivative ()
 Calculate the secound derivative of the sensorvalues given by the robot f'(x) = f(x) - 2f(x-1) + f(x-2).

Protected Attributes

DerivativeWiringConf conf
 used configuration
int time
int delay
 number timesteps the sensor values are delayed for calculation of the derivative
sensorsensorbuffer [buffersize]
 current and old smoothed sensor values of robot
sensorid
 current sensors (with noise)
sensorfirst
 current first derivative
sensorsecond
 current second derivative
motorblindMotors
 array that stored the values of the blind motors
unsigned int blindMotorNumber
 number of blind motors used

Static Protected Attributes

static const int buffersize = 40


Constructor & Destructor Documentation

DerivativeWiring const DerivativeWiringConf conf,
NoiseGenerator noise
 

constructor

Parameters:
conf for giving the wished configuration of DerivativeWiring via DerivativeWiringConf
noise NoiseGenerator that is used for adding noise to sensor values

Definition at line 62 of file derivativewiring.cpp.

~DerivativeWiring  )  [virtual]
 

destructor

Definition at line 73 of file derivativewiring.cpp.


Member Function Documentation

void calcFirstDerivative  )  [protected]
 

Calculate the first derivative of the sensorvalues given by the robot f'(x) = (f(x+1) - f(x-1)) / 2 since we do not have f(x+1) we go one timestep in the past.

Definition at line 198 of file derivativewiring.cpp.

void calcSecondDerivative  )  [protected]
 

Calculate the secound derivative of the sensorvalues given by the robot f'(x) = f(x) - 2f(x-1) + f(x-2).

Definition at line 207 of file derivativewiring.cpp.

static DerivativeWiringConf getDefaultConf  )  [inline, static]
 

Providing default configuration for DerivativeWiring as static method.

Definition at line 110 of file derivativewiring.h.

bool init int  robotsensornumber,
int  robotmotornumber
[virtual]
 

initializes the internal numbers of sensors and motors on robot side, calculate number of sensors and motors on controller side

Implements AbstractWiring.

Definition at line 84 of file derivativewiring.cpp.

bool wireMotors motor rmotors,
int  rmotornumber,
const motor cmotors,
int  cmotornumber
[virtual]
 

Realizes wiring from controller motor outputs to robot motors.

Parameters:
rmotors pointer to array of motorvalues for robot
rmotornumber number of robot motors
cmotors pointer to array of motorvalues from controller
cmotornumber number of motorvalues from controller

Implements AbstractWiring.

Definition at line 182 of file derivativewiring.cpp.

bool wireSensors const sensor rsensors,
int  rsensornumber,
sensor csensors,
int  csensornumber,
double  noise
[virtual]
 

Realizes derivative wiring from robot sensors to controller sensors.

Parameters:
rsensors pointer to array of sensorvalues from robot
rsensornumber number of sensors from robot
csensors pointer to array of sensorvalues for controller
csensornumber number of sensors to controller
noise size of the noise added to the sensors

Implements AbstractWiring.

Definition at line 119 of file derivativewiring.cpp.


Member Data Documentation

unsigned int blindMotorNumber [protected]
 

number of blind motors used

Definition at line 157 of file derivativewiring.h.

motor* blindMotors [protected]
 

array that stored the values of the blind motors

Definition at line 154 of file derivativewiring.h.

const int buffersize = 40 [static, protected]
 

Definition at line 135 of file derivativewiring.h.

DerivativeWiringConf conf [protected]
 

used configuration

Definition at line 134 of file derivativewiring.h.

int delay [protected]
 

number timesteps the sensor values are delayed for calculation of the derivative

Definition at line 138 of file derivativewiring.h.

sensor* first [protected]
 

current first derivative

Definition at line 148 of file derivativewiring.h.

sensor* id [protected]
 

current sensors (with noise)

Definition at line 145 of file derivativewiring.h.

sensor* second [protected]
 

current second derivative

Definition at line 151 of file derivativewiring.h.

sensor* sensorbuffer[buffersize] [protected]
 

current and old smoothed sensor values of robot

Definition at line 142 of file derivativewiring.h.

int time [protected]
 

Definition at line 136 of file derivativewiring.h.


Generated on Tue Apr 4 19:05:05 2006 for Robotsystem from Robot Group Leipzig by  doxygen 1.4.5