SensorTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef _GAZEBO_SENSORS_SENSORTYPES_HH_
18 #define _GAZEBO_SENSORS_SENSORTYPES_HH_
19 
20 #include <vector>
21 #include <memory>
22 #include "gazebo/util/system.hh"
24 
28 namespace gazebo
29 {
32  namespace sensors
33  {
34  class AltimeterSensor;
35  class Sensor;
36  class RaySensor;
37  class CameraSensor;
38  class LogicalCameraSensor;
39  class MagnetometerSensor;
40  class MultiCameraSensor;
41  class DepthCameraSensor;
42  class ContactSensor;
43  class ImuSensor;
44  class GpuRaySensor;
45  class RFIDSensor;
46  class RFIDTag;
47  class SonarSensor;
48  class ForceTorqueSensor;
49  class GpsSensor;
50  class Noise;
51  class GaussianNoiseModel;
52  class ImageGaussianNoiseModel;
53  class WideAngleCameraSensor;
54  class WirelessTransceiver;
55  class WirelessTransmitter;
56  class WirelessReceiver;
57 
60  typedef std::shared_ptr<AltimeterSensor> AltimeterSensorPtr;
61 
64  typedef std::shared_ptr<Sensor> SensorPtr;
65 
68  typedef std::shared_ptr<RaySensor> RaySensorPtr;
69 
72  typedef std::shared_ptr<CameraSensor> CameraSensorPtr;
73 
76  typedef std::shared_ptr<MagnetometerSensor> MagnetometerSensorPtr;
77 
80  typedef std::shared_ptr<MultiCameraSensor> MultiCameraSensorPtr;
81 
84  typedef std::shared_ptr<DepthCameraSensor> DepthCameraSensorPtr;
85 
88  typedef std::shared_ptr<WideAngleCameraSensor> WideAngleCameraSensorPtr;
89 
92  typedef std::shared_ptr<ContactSensor> ContactSensorPtr;
93 
96  typedef std::shared_ptr<ImuSensor> ImuSensorPtr;
97 
100  typedef std::shared_ptr<GpuRaySensor> GpuRaySensorPtr;
101 
104  typedef std::shared_ptr<RFIDSensor> RFIDSensorPtr;
105 
108  typedef std::shared_ptr<RFIDTag> RFIDTagPtr;
109 
112  typedef std::shared_ptr<SonarSensor> SonarSensorPtr;
113 
116  typedef std::shared_ptr<ForceTorqueSensor> ForceTorqueSensorPtr;
117 
120  typedef std::shared_ptr<GpsSensor> GpsSensorPtr;
121 
124  typedef std::shared_ptr<Noise> NoisePtr;
125 
128  typedef std::shared_ptr<GaussianNoiseModel> GaussianNoiseModelPtr;
129 
131  typedef std::shared_ptr<ImageGaussianNoiseModel>
133 
136  typedef std::shared_ptr<WirelessTransceiver> WirelessTransceiverPtr;
137 
140  typedef std::shared_ptr<WirelessTransmitter> WirelessTransmitterPtr;
141 
144  typedef std::shared_ptr<WirelessReceiver> WirelessReceiverPtr;
145 
148  typedef std::vector<AltimeterSensor> AltimeterSensor_V;
149 
152  typedef std::vector<SensorPtr> Sensor_V;
153 
156  typedef std::vector<RaySensorPtr> RaySensor_V;
157 
160  typedef std::vector<CameraSensorPtr> CameraSensor_V;
161 
164  typedef std::vector<MultiCameraSensorPtr> MultiCameraSensor_V;
165 
168  typedef std::vector<DepthCameraSensorPtr> DepthCameraSensor_V;
169 
172  typedef std::vector<ContactSensorPtr> ContactSensor_V;
173 
176  typedef std::vector<ImuSensorPtr> ImuSensor_V;
177 
180  typedef std::vector<GpuRaySensorPtr> GpuRaySensor_V;
181 
184  typedef std::vector<RFIDSensor> RFIDSensor_V;
185 
188  typedef std::vector<RFIDTag> RFIDTag_V;
189 
192  typedef std::vector<WirelessTransceiver> WirelessTransceiver_V;
193 
196  typedef std::vector<WirelessTransmitter> WirelessTransmitter_V;
197 
200  typedef std::vector<WirelessReceiver> WirelessReceiver_V;
201 
204  typedef std::shared_ptr<LogicalCameraSensor> LogicalCameraSensorPtr;
205 
209  {
214 
218 
222 
226 
230 
234 
238 
242 
246 
250 
254 
258 
262 
266 
270 
274 
278 
282 
286 
290 
294 
298 
303  };
305 
309  {
310  // IMAGE must be the first element, and it must start with 0. Do not
311  // change this! See SensorManager::sensorContainers for reference.
314  IMAGE = 0,
315 
317  RAY = 1,
318 
320  OTHER = 2,
321 
324  };
325  }
326 }
327 #endif
std::shared_ptr< Sensor > SensorPtr
Definition: SensorTypes.hh:64
IMU angular velocity Z noise stream.
Definition: SensorTypes.hh:285
Noise streams for the GPU ray sensor.
Definition: SensorTypes.hh:225
SensorCategory
SensorCategory is used to categorize sensors.
Definition: SensorTypes.hh:308
IMU linear acceleration X noise stream.
Definition: SensorTypes.hh:289
std::shared_ptr< Noise > NoisePtr
Definition: SensorTypes.hh:124
std::shared_ptr< ForceTorqueSensor > ForceTorqueSensorPtr
Definition: SensorTypes.hh:116
GPS position longitude noise streams.
Definition: SensorTypes.hh:233
std::vector< DepthCameraSensorPtr > DepthCameraSensor_V
Definition: SensorTypes.hh:168
Definition: SensorTypes.hh:213
std::shared_ptr< GaussianNoiseModel > GaussianNoiseModelPtr
Definition: SensorTypes.hh:128
std::shared_ptr< WirelessTransmitter > WirelessTransmitterPtr
Definition: SensorTypes.hh:140
Forward declarations for the common classes.
Definition: Animation.hh:33
Noise streams for the ray sensor.
Definition: SensorTypes.hh:253
std::vector< WirelessTransceiver > WirelessTransceiver_V
Definition: SensorTypes.hh:192
Velocity noise streams for the altimeter sensor.
Definition: SensorTypes.hh:273
IMU angular velocity X noise stream.
Definition: SensorTypes.hh:277
A type of sensor is not a RAY or IMAGE sensor.
Definition: SensorTypes.hh:320
Magnetometer body-frame Z axis noise in Tesla.
Definition: SensorTypes.hh:265
GPS velocity longitude noise streams.
Definition: SensorTypes.hh:245
std::shared_ptr< ImuSensor > ImuSensorPtr
Definition: SensorTypes.hh:96
std::vector< CameraSensorPtr > CameraSensor_V
Definition: SensorTypes.hh:160
std::shared_ptr< AltimeterSensor > AltimeterSensorPtr
Definition: SensorTypes.hh:60
Magnetometer body-frame X axis noise in Tesla.
Definition: SensorTypes.hh:257
std::shared_ptr< RFIDTag > RFIDTagPtr
Definition: SensorTypes.hh:108
std::shared_ptr< CameraSensor > CameraSensorPtr
Definition: SensorTypes.hh:72
std::vector< AltimeterSensor > AltimeterSensor_V
Definition: SensorTypes.hh:148
std::vector< GpuRaySensorPtr > GpuRaySensor_V
Definition: SensorTypes.hh:180
std::shared_ptr< RFIDSensor > RFIDSensorPtr
Definition: SensorTypes.hh:104
std::vector< ContactSensorPtr > ContactSensor_V
Definition: SensorTypes.hh:172
std::vector< RFIDSensor > RFIDSensor_V
Definition: SensorTypes.hh:184
IMU linear acceleration Y noise stream.
Definition: SensorTypes.hh:293
IMU linear acceleration Z noise stream.
Definition: SensorTypes.hh:297
Image based sensor class.
Definition: SensorTypes.hh:314
GPS velocity altitude noise streams.
Definition: SensorTypes.hh:249
std::shared_ptr< WideAngleCameraSensor > WideAngleCameraSensorPtr
Definition: SensorTypes.hh:88
std::shared_ptr< MagnetometerSensor > MagnetometerSensorPtr
Definition: SensorTypes.hh:76
Vertical noise stream for the altimeter sensor.
Definition: SensorTypes.hh:269
std::shared_ptr< WirelessReceiver > WirelessReceiverPtr
Definition: SensorTypes.hh:144
Magnetometer body-frame Y axis noise in Tesla.
Definition: SensorTypes.hh:261
Definition: SensorTypes.hh:302
std::shared_ptr< ContactSensor > ContactSensorPtr
Definition: SensorTypes.hh:92
std::vector< RFIDTag > RFIDTag_V
Definition: SensorTypes.hh:188
std::shared_ptr< GpuRaySensor > GpuRaySensorPtr
Definition: SensorTypes.hh:100
Noise streams for the Camera sensor.
Definition: SensorTypes.hh:217
std::shared_ptr< RaySensor > RaySensorPtr
Definition: SensorTypes.hh:68
std::shared_ptr< GpsSensor > GpsSensorPtr
Definition: SensorTypes.hh:120
std::vector< MultiCameraSensorPtr > MultiCameraSensor_V
Definition: SensorTypes.hh:164
std::shared_ptr< WirelessTransceiver > WirelessTransceiverPtr
Definition: SensorTypes.hh:136
std::vector< SensorPtr > Sensor_V
Definition: SensorTypes.hh:152
std::vector< RaySensorPtr > RaySensor_V
Definition: SensorTypes.hh:156
GPS position altitude noise streams.
Definition: SensorTypes.hh:237
std::vector< WirelessTransmitter > WirelessTransmitter_V
Definition: SensorTypes.hh:196
std::vector< WirelessReceiver > WirelessReceiver_V
Definition: SensorTypes.hh:200
std::shared_ptr< ImageGaussianNoiseModel > ImageGaussianNoiseModelPtr
Shared pointer to Noise.
Definition: SensorTypes.hh:132
std::shared_ptr< MultiCameraSensor > MultiCameraSensorPtr
Definition: SensorTypes.hh:80
Noise streams for the Camera sensor.
Definition: SensorTypes.hh:221
std::vector< ImuSensorPtr > ImuSensor_V
Definition: SensorTypes.hh:176
SensorNoiseType
Definition: SensorTypes.hh:208
GPS velocity latitude noise streams.
Definition: SensorTypes.hh:241
GPS position latitude noise streams.
Definition: SensorTypes.hh:229
IMU angular velocity Y noise stream.
Definition: SensorTypes.hh:281
std::shared_ptr< DepthCameraSensor > DepthCameraSensorPtr
Definition: SensorTypes.hh:84
Ray based sensor class.
Definition: SensorTypes.hh:317
std::shared_ptr< LogicalCameraSensor > LogicalCameraSensorPtr
Definition: SensorTypes.hh:204
std::shared_ptr< SonarSensor > SonarSensorPtr
Definition: SensorTypes.hh:112
Number of Sensor Categories.
Definition: SensorTypes.hh:323