V-ART
noisydofmover.h
Go to the documentation of this file.
1 
5 #ifndef VART_NOISYDOFMOVER_H
6 #define VART_NOISYDOFMOVER_H
7 
8 #include "vart/dofmover.h"
9 
10 namespace VART {
17  class NoisyDofMover : public DofMover {
18  friend class JointMover;
19  friend class Action;
20  public:
21  // PUBLIC STATIC METHODS
22  static void SetDefaultNoiseAmplitude(float value);
23  static void SetDefaultNoiseWaveLenght(float value);
24  static void SetDefaultOvershoot(float value);
25  static void SetDefaultOffset(float value);
26  static void SetDefaultPeakTime(float value);
27  // PUBLIC METHODS
28  //~ /// \brief Sets main positional error attributes (overshoot and offset)
29  //~ void SetPositionalError(float newOvershoot, float newOffset);
30  //~ /// \brief Set all positional error attributes
31  //~ void SetPositionalError(float newOvershoot, float newOffset, float newPeakTime);
32 
34  void SetNoise(float newNoiseAmplitude, float newNoiseWaveLenght);
35 
37  void SetOvershoot(float amplitude, float peak);
38 
40  void SetOffset(float newOffset);
41  protected:
42  // PROTECTED METHODS
47  NoisyDofMover();
53  virtual void Initialize(float iniTime, float finTime, float finPos);
55  virtual void Move();
57  float Noise();
61  float PositionalError();
63  float Random();
64  // PROTECTED STATIC ATTRIBUTES
65  static float defaultNoiseAmplitude;
66  static float defaultNoiseWaveLenght;
67  static float defaultOvershoot;
68  static float defaultOffset;
69  static float defaultPeakTime;
70  // PROTECTED ATTRIBUTES
72  float noiseAmplitude; // in DOF position range
73 
78 
81 
84 
87 
90 
95  float offset;
96 
102  float overshoot;
103 
107  float peakTime;
111  float finalRange;
114  bool hasNoise;
115  }; // end class declaration
116 } // end namespace
117 
118 #endif
float overshoot
how much to pass the DOF target position before correction
float peakTime
Overshoot time.
float offset
how much to miss the DOF target position
Definition: noisydofmover.h:95
float previousSubGoalPosition
Amplitude of previous noise peek.
Definition: noisydofmover.h:89
A coordinated movement of joints in an articulated body.
Definition: action.h:29
static float defaultNoiseWaveLenght
Definition: noisydofmover.h:66
float noiseWaveLenght
Noise wave length.
Definition: noisydofmover.h:77
virtual void Move()
Changes target DOF.
static void SetDefaultNoiseAmplitude(float value)
NoisyDofMover()
Creates an unitialized noisy DOF mover.
static void SetDefaultOvershoot(float value)
float nextSubGoalPosition
Amplitude of next noise peek.
Definition: noisydofmover.h:86
static float defaultPeakTime
Definition: noisydofmover.h:69
void SetNoise(float newNoiseAmplitude, float newNoiseWaveLenght)
Sets the noise attributes.
float Noise()
Generates and returns corehent noise.
float noiseAmplitude
Noise amplitude (noise level)
Definition: noisydofmover.h:72
float overshootRange
Movement range from intial position to overshoot position.
Controller for DOF movement.
Definition: dofmover.h:24
static void SetDefaultOffset(float value)
void SetOvershoot(float amplitude, float peak)
Sets the overshoot attributes.
Controllers for joint movement.
Definition: jointmover.h:22
virtual void Initialize(float iniTime, float finTime, float finPos)
Initializes a noisy DOF mover.
Header file for V-ART class "DofMover".
Noisy Controller for DOF movement.
Definition: noisydofmover.h:17
static float defaultOvershoot
Definition: noisydofmover.h:67
float Random()
Generates and returns a pseudo-random number within internal noise amplitude.
void SetOffset(float newOffset)
Set the offset attribute.
static void SetDefaultNoiseWaveLenght(float value)
static void SetDefaultPeakTime(float value)
float finalRange
Movement range from overshoot position to goal position.
static float defaultOffset
Definition: noisydofmover.h:68
static float defaultNoiseAmplitude
Definition: noisydofmover.h:65
float PositionalError()
Generates and returns positional error.
float previousSubGoalTime
Time of previous noise peek.
Definition: noisydofmover.h:83
float nextSubGoalTime
Time for next noise peek.
Definition: noisydofmover.h:80