SensorTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2016 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 WirelessTransceiver;
54  class WirelessTransmitter;
55  class WirelessReceiver;
56 
59  typedef std::shared_ptr<AltimeterSensor> AltimeterSensorPtr;
60 
63  typedef std::shared_ptr<Sensor> SensorPtr;
64 
67  typedef std::shared_ptr<RaySensor> RaySensorPtr;
68 
71  typedef std::shared_ptr<CameraSensor> CameraSensorPtr;
72 
75  typedef std::shared_ptr<MagnetometerSensor> MagnetometerSensorPtr;
76 
79  typedef std::shared_ptr<MultiCameraSensor> MultiCameraSensorPtr;
80 
83  typedef std::shared_ptr<DepthCameraSensor> DepthCameraSensorPtr;
84 
87  typedef std::shared_ptr<ContactSensor> ContactSensorPtr;
88 
91  typedef std::shared_ptr<ImuSensor> ImuSensorPtr;
92 
95  typedef std::shared_ptr<GpuRaySensor> GpuRaySensorPtr;
96 
99  typedef std::shared_ptr<RFIDSensor> RFIDSensorPtr;
100 
103  typedef std::shared_ptr<RFIDTag> RFIDTagPtr;
104 
107  typedef std::shared_ptr<SonarSensor> SonarSensorPtr;
108 
111  typedef std::shared_ptr<ForceTorqueSensor> ForceTorqueSensorPtr;
112 
115  typedef std::shared_ptr<GpsSensor> GpsSensorPtr;
116 
119  typedef std::shared_ptr<Noise> NoisePtr;
120 
123  typedef std::shared_ptr<GaussianNoiseModel> GaussianNoiseModelPtr;
124 
126  typedef std::shared_ptr<ImageGaussianNoiseModel>
128 
131  typedef std::shared_ptr<WirelessTransceiver> WirelessTransceiverPtr;
132 
135  typedef std::shared_ptr<WirelessTransmitter> WirelessTransmitterPtr;
136 
139  typedef std::shared_ptr<WirelessReceiver> WirelessReceiverPtr;
140 
143  typedef std::vector<AltimeterSensor> AltimeterSensor_V;
144 
147  typedef std::vector<SensorPtr> Sensor_V;
148 
151  typedef std::vector<RaySensorPtr> RaySensor_V;
152 
155  typedef std::vector<CameraSensorPtr> CameraSensor_V;
156 
159  typedef std::vector<MultiCameraSensorPtr> MultiCameraSensor_V;
160 
163  typedef std::vector<DepthCameraSensorPtr> DepthCameraSensor_V;
164 
167  typedef std::vector<ContactSensorPtr> ContactSensor_V;
168 
171  typedef std::vector<ImuSensorPtr> ImuSensor_V;
172 
175  typedef std::vector<GpuRaySensorPtr> GpuRaySensor_V;
176 
179  typedef std::vector<RFIDSensor> RFIDSensor_V;
180 
183  typedef std::vector<RFIDTag> RFIDTag_V;
184 
187  typedef std::vector<WirelessTransceiver> WirelessTransceiver_V;
188 
191  typedef std::vector<WirelessTransmitter> WirelessTransmitter_V;
192 
195  typedef std::vector<WirelessReceiver> WirelessReceiver_V;
196 
199  typedef std::shared_ptr<LogicalCameraSensor> LogicalCameraSensorPtr;
200 
204  {
209 
213 
217 
221 
225 
229 
233 
237 
241 
245 
249 
253 
257 
261 
265 
269 
273 
277 
281 
285 
289 
293 
298  };
300 
304  {
305  // IMAGE must be the first element, and it must start with 0. Do not
306  // change this! See SensorManager::sensorContainers for reference.
309  IMAGE = 0,
310 
312  RAY = 1,
313 
315  OTHER = 2,
316 
319  };
320  }
321 }
322 #endif
std::shared_ptr< Sensor > SensorPtr
Definition: SensorTypes.hh:63
IMU angular velocity Z noise stream.
Definition: SensorTypes.hh:280
Noise streams for the GPU ray sensor.
Definition: SensorTypes.hh:220
SensorCategory
SensorCategory is used to categorize sensors.
Definition: SensorTypes.hh:303
IMU linear acceleration X noise stream.
Definition: SensorTypes.hh:284
std::shared_ptr< Noise > NoisePtr
Definition: SensorTypes.hh:119
std::shared_ptr< ForceTorqueSensor > ForceTorqueSensorPtr
Definition: SensorTypes.hh:111
GPS position longitude noise streams.
Definition: SensorTypes.hh:228
std::vector< DepthCameraSensorPtr > DepthCameraSensor_V
Definition: SensorTypes.hh:163
Definition: SensorTypes.hh:208
std::shared_ptr< GaussianNoiseModel > GaussianNoiseModelPtr
Definition: SensorTypes.hh:123
std::shared_ptr< WirelessTransmitter > WirelessTransmitterPtr
Definition: SensorTypes.hh:135
Noise streams for the ray sensor.
Definition: SensorTypes.hh:248
std::vector< WirelessTransceiver > WirelessTransceiver_V
Definition: SensorTypes.hh:187
Velocity noise streams for the altimeter sensor.
Definition: SensorTypes.hh:268
IMU angular velocity X noise stream.
Definition: SensorTypes.hh:272
A type of sensor is not a RAY or IMAGE sensor.
Definition: SensorTypes.hh:315
Magnetometer body-frame Z axis noise in Tesla.
Definition: SensorTypes.hh:260
GPS velocity longitude noise streams.
Definition: SensorTypes.hh:240
std::shared_ptr< ImuSensor > ImuSensorPtr
Definition: SensorTypes.hh:91
std::vector< CameraSensorPtr > CameraSensor_V
Definition: SensorTypes.hh:155
std::shared_ptr< AltimeterSensor > AltimeterSensorPtr
Definition: SensorTypes.hh:59
Magnetometer body-frame X axis noise in Tesla.
Definition: SensorTypes.hh:252
std::shared_ptr< RFIDTag > RFIDTagPtr
Definition: SensorTypes.hh:103
std::shared_ptr< CameraSensor > CameraSensorPtr
Definition: SensorTypes.hh:71
std::vector< AltimeterSensor > AltimeterSensor_V
Definition: SensorTypes.hh:143
std::vector< GpuRaySensorPtr > GpuRaySensor_V
Definition: SensorTypes.hh:175
std::shared_ptr< RFIDSensor > RFIDSensorPtr
Definition: SensorTypes.hh:99
std::vector< ContactSensorPtr > ContactSensor_V
Definition: SensorTypes.hh:167
std::vector< RFIDSensor > RFIDSensor_V
Definition: SensorTypes.hh:179
IMU linear acceleration Y noise stream.
Definition: SensorTypes.hh:288
IMU linear acceleration Z noise stream.
Definition: SensorTypes.hh:292
Image based sensor class.
Definition: SensorTypes.hh:309
GPS velocity altitude noise streams.
Definition: SensorTypes.hh:244
std::shared_ptr< MagnetometerSensor > MagnetometerSensorPtr
Definition: SensorTypes.hh:75
Vertical noise stream for the altimeter sensor.
Definition: SensorTypes.hh:264
std::shared_ptr< WirelessReceiver > WirelessReceiverPtr
Definition: SensorTypes.hh:139
Magnetometer body-frame Y axis noise in Tesla.
Definition: SensorTypes.hh:256
Definition: SensorTypes.hh:297
std::shared_ptr< ContactSensor > ContactSensorPtr
Definition: SensorTypes.hh:87
std::vector< RFIDTag > RFIDTag_V
Definition: SensorTypes.hh:183
std::shared_ptr< GpuRaySensor > GpuRaySensorPtr
Definition: SensorTypes.hh:95
Noise streams for the Camera sensor.
Definition: SensorTypes.hh:212
std::shared_ptr< RaySensor > RaySensorPtr
Definition: SensorTypes.hh:67
std::shared_ptr< GpsSensor > GpsSensorPtr
Definition: SensorTypes.hh:115
std::vector< MultiCameraSensorPtr > MultiCameraSensor_V
Definition: SensorTypes.hh:159
std::shared_ptr< WirelessTransceiver > WirelessTransceiverPtr
Definition: SensorTypes.hh:131
std::vector< SensorPtr > Sensor_V
Definition: SensorTypes.hh:147
std::vector< RaySensorPtr > RaySensor_V
Definition: SensorTypes.hh:151
GPS position altitude noise streams.
Definition: SensorTypes.hh:232
std::vector< WirelessTransmitter > WirelessTransmitter_V
Definition: SensorTypes.hh:191
std::vector< WirelessReceiver > WirelessReceiver_V
Definition: SensorTypes.hh:195
std::shared_ptr< ImageGaussianNoiseModel > ImageGaussianNoiseModelPtr
Shared pointer to Noise.
Definition: SensorTypes.hh:127
std::shared_ptr< MultiCameraSensor > MultiCameraSensorPtr
Definition: SensorTypes.hh:79
Noise streams for the Camera sensor.
Definition: SensorTypes.hh:216
std::vector< ImuSensorPtr > ImuSensor_V
Definition: SensorTypes.hh:171
SensorNoiseType
Definition: SensorTypes.hh:203
GPS velocity latitude noise streams.
Definition: SensorTypes.hh:236
GPS position latitude noise streams.
Definition: SensorTypes.hh:224
IMU angular velocity Y noise stream.
Definition: SensorTypes.hh:276
std::shared_ptr< DepthCameraSensor > DepthCameraSensorPtr
Definition: SensorTypes.hh:83
Ray based sensor class.
Definition: SensorTypes.hh:312
std::shared_ptr< LogicalCameraSensor > LogicalCameraSensorPtr
Definition: SensorTypes.hh:199
std::shared_ptr< SonarSensor > SonarSensorPtr
Definition: SensorTypes.hh:107
Number of Sensor Categories.
Definition: SensorTypes.hh:318