1 #ifndef CONTROL_INERTIAL_SENSORS_H 2 #define CONTROL_INERTIAL_SENSORS_H 5 #include <KrisLibrary/math3d/primitives.h> 23 virtual const char* Type()
const override {
return "Accelerometer"; }
26 virtual void Advance(
double dt)
override;
27 virtual void Reset()
override;
28 virtual void MeasurementNames(vector<string>& names)
const override;
29 virtual void GetMeasurements(vector<double>& values)
const override;
30 virtual void SetMeasurements(
const vector<double>& values)
override;
31 virtual void GetInternalState(vector<double>& state)
const override;
32 virtual void SetInternalState(
const vector<double>& state)
override;
33 virtual map<string,string> Settings()
const override;
34 virtual bool GetSetting(
const string& name,
string& str)
const override;
35 virtual bool SetSetting(
const string& name,
const string& str)
override;
65 virtual const char* Type()
const override {
return "TiltSensor"; }
68 virtual void Advance(
double dt)
override;
69 virtual void Reset()
override;
70 virtual void MeasurementNames(vector<string>& names)
const override;
71 virtual void GetMeasurements(vector<double>& values)
const override;
72 virtual void SetMeasurements(
const vector<double>& values)
override;
73 virtual map<string,string> Settings()
const override;
74 virtual bool GetSetting(
const string& name,
string& str)
const override;
75 virtual bool SetSetting(
const string& name,
const string& str)
override;
81 Vector3 resolution,variance;
84 Vector3 alocal,wlocal;
104 virtual const char* Type()
const override {
return "GyroSensor"; }
107 virtual void Reset()
override;
108 virtual void Advance(Real dt)
override;
109 virtual void MeasurementNames(vector<string>& names)
const override;
110 virtual void GetMeasurements(vector<double>& values)
const override;
111 virtual void SetMeasurements(
const vector<double>& values)
override;
112 virtual void GetInternalState(vector<double>& state)
const override;
113 virtual void SetInternalState(
const vector<double>& state)
override;
114 virtual map<string,string> Settings()
const override;
115 virtual bool GetSetting(
const string& name,
string& str)
const override;
116 virtual bool SetSetting(
const string& name,
const string& str)
override;
145 virtual const char* Type()
const override {
return "IMUSensor"; }
148 virtual void Advance(Real dt)
override;
149 virtual void Reset()
override;
150 virtual void MeasurementNames(vector<string>& names)
const override;
151 virtual void GetMeasurements(vector<double>& values)
const override;
152 virtual void SetMeasurements(
const vector<double>& values)
override;
153 virtual void GetInternalState(vector<double>& state)
const override;
154 virtual void SetInternalState(
const vector<double>& state)
override;
155 virtual map<string,string> Settings()
const override;
156 virtual bool GetSetting(
const string& name,
string& str)
const override;
157 virtual bool SetSetting(
const string& name,
const string& str)
override;
161 Vector3 accel,velocity,translation;
162 Vector3 angAccel,angVel;
Matrix3 angVelVariance
The variance associated with the measurement.
Definition: InertialSensors.h:123
A physical simulator for a WorldModel.
Definition: Simulator.h:69
Real last_dt
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:130
bool hasAngVel
True if angular velocity is directly measured.
Definition: InertialSensors.h:120
int link
The link on which the sensor is located.
Definition: InertialSensors.h:118
Vector3 accel
Measurement: acceleration value.
Definition: InertialSensors.h:42
Vector3 angAccel
Measurement: the angular accel reading.
Definition: InertialSensors.h:126
Vector3 angVel
Measurement: the angular velocity reading.
Definition: InertialSensors.h:127
Matrix3 rotation
Measurement: the rotation matrix reading.
Definition: InertialSensors.h:128
A class containing information about an ODE-simulated and controlled robot.
Definition: SimRobotController.h:19
bool hasAngAccel
True if angular accel is directly measured.
Definition: InertialSensors.h:119
A sensor base class. A SensorBase should allow a Controller to both connect to a simulation as well a...
Definition: Sensor.h:55
Simulates a gyroscope.
Definition: InertialSensors.h:100
Matrix3 angAccelVariance
The variance associated with the measurement.
Definition: InertialSensors.h:122
Simulates an accelerometer.
Definition: InertialSensors.h:19
Vector3 accelVariance
Estimated variances of the sensor.
Definition: InertialSensors.h:40
bool hasRotation
True if rotation is directly measured.
Definition: InertialSensors.h:121
The main robot type used in RobotSim.
Definition: Robot.h:83
Simulates a tilt sensor that measures the angle of a reference direction about certain axes...
Definition: InertialSensors.h:61
Matrix3 rotationVariance
The variance associated with the measurement.
Definition: InertialSensors.h:124
Matrix3 Rsensor
Orientation of unit on link.
Definition: InertialSensors.h:79
Vector3 last_w
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:131
Real last_dt
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:44
Definition: ContactDistance.h:6
Vector3 last_v
Temporary: needed to derive accel from ODE.
Definition: InertialSensors.h:45
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:24
RigidTransform Tsensor
Position of unit on link.
Definition: InertialSensors.h:38
An inertial measurement unit. May provide all or some of a rigid body's state.
Definition: InertialSensors.h:141