Robotsystem from Robot Group Leipzig: DerivativeWiring Class Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- Class List
- Alphabetical List
- Class Hierarchy
- Class Members

# DerivativeWiring Class Reference

`#include <derivativewiring.h>`

Inheritance diagram for DerivativeWiring:

[legend]
Collaboration diagram for DerivativeWiring:

[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
sensor * | sensorbuffer [buffersize]
| current and old smoothed sensor values of robot
sensor * | id
| current sensors (with noise)
sensor * | first
| current first derivative
sensor * | second
| current second derivative
motor * | blindMotors
| 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.