1 #ifndef CONTROL_VISUAL_SENSORS_H 2 #define CONTROL_VISUAL_SENSORS_H 5 #include <KrisLibrary/camera/viewport.h> 6 #include <KrisLibrary/math3d/primitives.h> 7 #include <KrisLibrary/GLdraw/GLRenderToImage.h> 42 virtual const char* Type()
const {
return "LaserRangeSensor"; }
45 virtual void Advance(
double dt);
47 virtual void MeasurementNames(vector<string>& names)
const;
48 virtual void GetMeasurements(vector<double>& values)
const;
49 virtual void SetMeasurements(
const vector<double>& values);
50 virtual map<string,string> Settings()
const;
51 virtual bool GetSetting(
const string& name,
string& str)
const;
52 virtual bool SetSetting(
const string& name,
const string& str);
53 virtual void DrawGL(
const Robot& robot,
const vector<double>& measurements);
60 double depthVarianceLinear,depthVarianceConstant;
65 enum { SweepSinusoid, SweepTriangular, SweepSawtooth};
71 Real ySweepMagnitude,ySweepPeriod,ySweepPhase;
75 vector<double> depthReadings;
117 virtual const char* Type()
const {
return "CameraSensor"; }
120 virtual void Reset();
121 virtual void MeasurementNames(vector<string>& names)
const;
122 virtual void GetMeasurements(vector<double>& values)
const;
123 virtual void SetMeasurements(
const vector<double>& values);
124 virtual map<string,string> Settings()
const;
125 virtual bool GetSetting(
const string& name,
string& str)
const;
126 virtual bool SetSetting(
const string& name,
const string& str);
127 virtual void DrawGL(
const Robot& robot,
const vector<double>& measurements);
128 void GetViewport(Camera::Viewport& view)
const;
129 void SetViewport(
const Camera::Viewport& view);
142 bool useGLFramebuffers;
143 GLDraw::GLRenderToImage renderer;
144 vector<unsigned char> pixels;
145 vector<float> floats;
146 vector<double> measurements;
int yres
resolution of camera in x and y directions (# of pixels)
Definition: VisualSensors.h:134
bool depth
If rgb is true, gives color measurements. If depth is true, gives depth measurements.
Definition: VisualSensors.h:133
The main robot type used in RobotSim.
Definition: Robot.h:79
A class containing information about an ODE-simulated and controlled robot.
Definition: ControlledSimulator.h:17
double depthMaximum
minimum / maximum depth
Definition: VisualSensors.h:59
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
double zmax
range limits, > 0
Definition: VisualSensors.h:136
double zvarianceConstant
variance in z estimates, constant term
Definition: VisualSensors.h:139
int measurementCount
number of readings per cycle
Definition: VisualSensors.h:57
Simulates an RGB, D, or RGB+D camera sensor. Provides a 2D grid of color and/or depth values...
Definition: VisualSensors.h:112
A sensor base class. A SensorBase should allow a Controller to both connect to a simulation as well a...
Definition: Sensor.h:51
Real xSweepMagnitude
Definition: VisualSensors.h:69
double depthResolution
resolution of the depth measurement
Definition: VisualSensors.h:58
RigidTransform Tsensor
z is forward
Definition: VisualSensors.h:56
RigidTransform Tsensor
z is forward, x is to the right of image, and y is down
Definition: VisualSensors.h:132
Simulates a laser range sensor, either sweeping or stationary. Can both simulate both 1D sweeping and...
Definition: VisualSensors.h:37
int zresolution
resolution in z direction
Definition: VisualSensors.h:137
double yfov
field of view in x and y directions (radians)
Definition: VisualSensors.h:135
A physical simulator for a RobotWorld.
Definition: WorldSimulation.h:67
double zvarianceLinear
variance in z estimates, linear term
Definition: VisualSensors.h:138