1 #ifndef CONTROL_INERTIAL_SENSORS_H 2 #define CONTROL_INERTIAL_SENSORS_H 5 #include <KrisLibrary/math3d/primitives.h> 21 virtual const char* Type()
const {
return "Accelerometer"; }
24 virtual void Advance(
double dt);
26 virtual void MeasurementNames(vector<string>& names)
const;
27 virtual void GetMeasurements(vector<double>& values)
const;
28 virtual void SetMeasurements(
const vector<double>& values);
29 virtual void GetInternalState(vector<double>& state)
const;
30 virtual void SetInternalState(
const vector<double>& state);
31 virtual map<string,string> Settings()
const;
32 virtual bool GetSetting(
const string& name,
string& str)
const;
33 virtual bool SetSetting(
const string& name,
const string& str);
63 virtual const char* Type()
const {
return "TiltSensor"; }
66 virtual void Advance(
double dt);
68 virtual void MeasurementNames(vector<string>& names)
const;
69 virtual void GetMeasurements(vector<double>& values)
const;
70 virtual void SetMeasurements(
const vector<double>& values);
71 virtual map<string,string> Settings()
const;
72 virtual bool GetSetting(
const string& name,
string& str)
const;
73 virtual bool SetSetting(
const string& name,
const string& str);
79 Vector3 resolution,variance;
82 Vector3 alocal,wlocal;
102 virtual const char* Type()
const {
return "GyroSensor"; }
105 virtual void Reset();
106 virtual void Advance(Real dt);
107 virtual void MeasurementNames(vector<string>& names)
const;
108 virtual void GetMeasurements(vector<double>& values)
const;
109 virtual void SetMeasurements(
const vector<double>& values);
110 virtual void GetInternalState(vector<double>& state)
const;
111 virtual void SetInternalState(
const vector<double>& state);
112 virtual map<string,string> Settings()
const;
113 virtual bool GetSetting(
const string& name,
string& str)
const;
114 virtual bool SetSetting(
const string& name,
const string& str);
143 virtual const char* Type()
const {
return "IMUSensor"; }
146 virtual void Advance(Real dt);
147 virtual void Reset();
148 virtual void MeasurementNames(vector<string>& names)
const;
149 virtual void GetMeasurements(vector<double>& values)
const;
150 virtual void SetMeasurements(
const vector<double>& values);
151 virtual void GetInternalState(vector<double>& state)
const;
152 virtual void SetInternalState(
const vector<double>& state);
153 virtual map<string,string> Settings()
const;
154 virtual bool GetSetting(
const string& name,
string& str)
const;
155 virtual bool SetSetting(
const string& name,
const string& str);
159 Vector3 accel,velocity,translation;
160 Vector3 angAccel,angVel;
Vector3 last_w
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:129
bool hasRotation
True if rotation is directly measured.
Definition: InertialSensors.h:119
The main robot type used in RobotSim.
Definition: Robot.h:79
Vector3 angAccel
Measurement: the angular accel reading.
Definition: InertialSensors.h:124
Simulates a tilt sensor that measures the angle of a reference direction about certain axes...
Definition: InertialSensors.h:59
A class containing information about an ODE-simulated and controlled robot.
Definition: ControlledSimulator.h:17
Vector3 accel
Measurement: acceleration value.
Definition: InertialSensors.h:40
Vector3 last_v
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:43
The main world class containing multiple robots, objects, and static geometries (terrains). Lights and other viewport information may also be stored here.
Definition: World.h:20
RigidTransform Tsensor
Position of unit on link.
Definition: InertialSensors.h:36
bool hasAngAccel
True if angular accel is directly measured.
Definition: InertialSensors.h:117
Matrix3 rotationVariance
The variance associated with the measurement.
Definition: InertialSensors.h:122
Vector3 accelVariance
Estimated variances of the sensor.
Definition: InertialSensors.h:38
A sensor base class. A SensorBase should allow a Controller to both connect to a simulation as well a...
Definition: Sensor.h:51
Matrix3 angAccelVariance
The variance associated with the measurement.
Definition: InertialSensors.h:120
bool hasAngVel
True if angular velocity is directly measured.
Definition: InertialSensors.h:118
Matrix3 Rsensor
Orientation of unit on link.
Definition: InertialSensors.h:77
Real last_dt
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:128
Real last_dt
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:42
Matrix3 rotation
Measurement: the rotation matrix reading.
Definition: InertialSensors.h:126
Vector3 angVel
Measurement: the angular velocity reading.
Definition: InertialSensors.h:125
Simulates a gyroscope.
Definition: InertialSensors.h:98
Simulates an accelerometer.
Definition: InertialSensors.h:17
A physical simulator for a RobotWorld.
Definition: WorldSimulation.h:67
int link
The link on which the sensor is located.
Definition: InertialSensors.h:116
Matrix3 angVelVariance
The variance associated with the measurement.
Definition: InertialSensors.h:121
An inertial measurement unit. May provide all or some of a rigid body's state.
Definition: InertialSensors.h:139