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
28namespace 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
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
sensors
Definition SensorManager.hh:35
std::shared_ptr< MagnetometerSensor > MagnetometerSensorPtr
Definition SensorTypes.hh:76
std::shared_ptr< WideAngleCameraSensor > WideAngleCameraSensorPtr
Definition SensorTypes.hh:88
std::shared_ptr< ForceTorqueSensor > ForceTorqueSensorPtr
Definition SensorTypes.hh:116
std::shared_ptr< WirelessTransmitter > WirelessTransmitterPtr
Definition SensorTypes.hh:140
std::vector< GpuRaySensorPtr > GpuRaySensor_V
Definition SensorTypes.hh:180
SensorCategory
SensorCategory is used to categorize sensors.
Definition SensorTypes.hh:309
@ IMAGE
Image based sensor class.
Definition SensorTypes.hh:314
@ CATEGORY_COUNT
Number of Sensor Categories.
Definition SensorTypes.hh:323
@ OTHER
A type of sensor is not a RAY or IMAGE sensor.
Definition SensorTypes.hh:320
@ RAY
Ray based sensor class.
Definition SensorTypes.hh:317
std::vector< WirelessReceiver > WirelessReceiver_V
Definition SensorTypes.hh:200
std::shared_ptr< AltimeterSensor > AltimeterSensorPtr
Definition SensorTypes.hh:60
std::shared_ptr< RFIDTag > RFIDTagPtr
Definition SensorTypes.hh:108
std::shared_ptr< DepthCameraSensor > DepthCameraSensorPtr
Definition SensorTypes.hh:84
std::vector< RaySensorPtr > RaySensor_V
Definition SensorTypes.hh:156
std::shared_ptr< GpuRaySensor > GpuRaySensorPtr
Definition SensorTypes.hh:100
std::shared_ptr< SonarSensor > SonarSensorPtr
Definition SensorTypes.hh:112
std::shared_ptr< Noise > NoisePtr
Definition SensorTypes.hh:124
std::vector< CameraSensorPtr > CameraSensor_V
Definition SensorTypes.hh:160
std::shared_ptr< ContactSensor > ContactSensorPtr
Definition SensorTypes.hh:92
std::vector< SensorPtr > Sensor_V
Definition SensorTypes.hh:152
std::shared_ptr< LogicalCameraSensor > LogicalCameraSensorPtr
Definition SensorTypes.hh:204
std::shared_ptr< CameraSensor > CameraSensorPtr
Definition SensorTypes.hh:72
std::vector< AltimeterSensor > AltimeterSensor_V
Definition SensorTypes.hh:148
std::shared_ptr< WirelessTransceiver > WirelessTransceiverPtr
Definition SensorTypes.hh:136
std::shared_ptr< Sensor > SensorPtr
Definition SensorTypes.hh:64
std::shared_ptr< ImageGaussianNoiseModel > ImageGaussianNoiseModelPtr
Shared pointer to Noise.
Definition SensorTypes.hh:132
SensorNoiseType
Definition SensorTypes.hh:209
@ GPS_VELOCITY_LATITUDE_NOISE_METERS
GPS velocity latitude noise streams.
Definition SensorTypes.hh:241
@ RAY_NOISE
Noise streams for the ray sensor.
Definition SensorTypes.hh:253
@ GPS_VELOCITY_ALTITUDE_NOISE_METERS
GPS velocity altitude noise streams.
Definition SensorTypes.hh:249
@ ALTIMETER_VELOCITY_NOISE_METERS_PER_S
Velocity noise streams for the altimeter sensor.
Definition SensorTypes.hh:273
@ IMU_ANGVEL_Z_NOISE_RADIANS_PER_S
IMU angular velocity Z noise stream.
Definition SensorTypes.hh:285
@ SENSOR_NOISE_TYPE_END
Definition SensorTypes.hh:302
@ GPS_POSITION_LONGITUDE_NOISE_METERS
GPS position longitude noise streams.
Definition SensorTypes.hh:233
@ MAGNETOMETER_X_NOISE_TESLA
Magnetometer body-frame X axis noise in Tesla.
Definition SensorTypes.hh:257
@ MAGNETOMETER_Z_NOISE_TESLA
Magnetometer body-frame Z axis noise in Tesla.
Definition SensorTypes.hh:265
@ GPS_POSITION_LATITUDE_NOISE_METERS
GPS position latitude noise streams.
Definition SensorTypes.hh:229
@ IMU_LINACC_Z_NOISE_METERS_PER_S_SQR
IMU linear acceleration Z noise stream.
Definition SensorTypes.hh:297
@ GPU_RAY_NOISE
Noise streams for the GPU ray sensor.
Definition SensorTypes.hh:225
@ IMU_LINACC_Y_NOISE_METERS_PER_S_SQR
IMU linear acceleration Y noise stream.
Definition SensorTypes.hh:293
@ IMU_LINACC_X_NOISE_METERS_PER_S_SQR
IMU linear acceleration X noise stream.
Definition SensorTypes.hh:289
@ GPS_POSITION_ALTITUDE_NOISE_METERS
GPS position altitude noise streams.
Definition SensorTypes.hh:237
@ MAGNETOMETER_Y_NOISE_TESLA
Magnetometer body-frame Y axis noise in Tesla.
Definition SensorTypes.hh:261
@ NO_NOISE
Noise streams for the Camera sensor.
Definition SensorTypes.hh:217
@ GPS_VELOCITY_LONGITUDE_NOISE_METERS
GPS velocity longitude noise streams.
Definition SensorTypes.hh:245
@ CAMERA_NOISE
Noise streams for the Camera sensor.
Definition SensorTypes.hh:221
@ SENSOR_NOISE_TYPE_BEGIN
Definition SensorTypes.hh:213
@ ALTIMETER_POSITION_NOISE_METERS
Vertical noise stream for the altimeter sensor.
Definition SensorTypes.hh:269
@ IMU_ANGVEL_X_NOISE_RADIANS_PER_S
IMU angular velocity X noise stream.
Definition SensorTypes.hh:277
@ IMU_ANGVEL_Y_NOISE_RADIANS_PER_S
IMU angular velocity Y noise stream.
Definition SensorTypes.hh:281
std::shared_ptr< ImuSensor > ImuSensorPtr
Definition SensorTypes.hh:96
std::vector< MultiCameraSensorPtr > MultiCameraSensor_V
Definition SensorTypes.hh:164
std::shared_ptr< GpsSensor > GpsSensorPtr
Definition SensorTypes.hh:120
std::vector< RFIDSensor > RFIDSensor_V
Definition SensorTypes.hh:184
std::vector< DepthCameraSensorPtr > DepthCameraSensor_V
Definition SensorTypes.hh:168
std::shared_ptr< WirelessReceiver > WirelessReceiverPtr
Definition SensorTypes.hh:144
std::shared_ptr< MultiCameraSensor > MultiCameraSensorPtr
Definition SensorTypes.hh:80
std::vector< RFIDTag > RFIDTag_V
Definition SensorTypes.hh:188
std::vector< WirelessTransmitter > WirelessTransmitter_V
Definition SensorTypes.hh:196
std::vector< WirelessTransceiver > WirelessTransceiver_V
Definition SensorTypes.hh:192
std::shared_ptr< RaySensor > RaySensorPtr
Definition SensorTypes.hh:68
std::vector< ContactSensorPtr > ContactSensor_V
Definition SensorTypes.hh:172
std::shared_ptr< RFIDSensor > RFIDSensorPtr
Definition SensorTypes.hh:104
std::shared_ptr< GaussianNoiseModel > GaussianNoiseModelPtr
Definition SensorTypes.hh:128
std::vector< ImuSensorPtr > ImuSensor_V
Definition SensorTypes.hh:176
Forward declarations for the common classes.
Definition Animation.hh:27