Drake

Holds a DepthSensor's specification. More...
#include <systems/sensors/depth_sensor_specification.h>
Public Member Functions  
DepthSensorSpecification ()  
Constructs a DepthsensorSpecification with all default values. More...  
DepthSensorSpecification (double min_yaw, double max_yaw, double min_pitch, double max_pitch, int num_yaw_values, int num_pitch_values, double min_range, double max_range)  
Constructs a fullydefined DepthSensorSpecification. More...  
void  set_min_yaw (double min_yaw) 
void  set_max_yaw (double max_yaw) 
void  set_min_pitch (double min_pitch) 
void  set_max_pitch (double max_pitch) 
void  set_num_yaw_values (int num_yaw_values) 
void  set_num_pitch_values (int num_pitch_values) 
void  set_min_range (double min_range) 
void  set_max_range (double max_range) 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable  
DepthSensorSpecification (const DepthSensorSpecification &)=default  
DepthSensorSpecification &  operator= (const DepthSensorSpecification &)=default 
DepthSensorSpecification (DepthSensorSpecification &&)=default  
DepthSensorSpecification &  operator= (DepthSensorSpecification &&)=default 
Accessors to manually specified parameters.  
The following accessors are for parameter values that are manually specified. They appear as input parameters of the constructor, and mutator methods in this class.  
double  min_yaw () const 
double  max_yaw () const 
double  min_pitch () const 
double  max_pitch () const 
int  num_yaw_values () const 
int  num_pitch_values () const 
double  min_range () const 
double  max_range () const 
Accessors to automatically derived parameters.  
The following methods return values that are derived based on the manually specified parameters.  
int  num_depth_readings () const 
double  yaw_increment () const 
double  pitch_increment () const 
Static Public Member Functions  
Methods for the convenient initialization of commonlyused  
DepthSensorSpecification specifications. The following methods provide frequently used DepthSensorSpecification specifications that can be used directly or as templates for finetuning.  
static void  set_octant_1_spec (DepthSensorSpecification *spec) 
Sets spec to specify a sensor that covers octant 1 of the sensor's base frame. More...  
static void  set_xy_planar_spec (DepthSensorSpecification *spec) 
Sets spec to specify a sensor that covers the sensor's base frame's X/Y plane. More...  
static void  set_xz_planar_spec (DepthSensorSpecification *spec) 
Sets spec to specify a sensor that covers the sensor's base frame's X/Z plane. More...  
static void  set_xyz_spherical_spec (DepthSensorSpecification *spec) 
Sets spec to specify a sensor that covers all 8 octants of the sensor's base frame. More...  
static void  set_x_linear_spec (DepthSensorSpecification *spec) 
Sets spec to specify a sensor with a single depth measurement along the sensor's base frame's +X axis between 1 meter and 2 meters. More...  
Holds a DepthSensor's specification.

default 

default 

inline 
Constructs a DepthsensorSpecification with all default values.
DepthSensorSpecification  (  double  min_yaw, 
double  max_yaw,  
double  min_pitch,  
double  max_pitch,  
int  num_yaw_values,  
int  num_pitch_values,  
double  min_range,  
double  max_range  
) 
Constructs a fullydefined DepthSensorSpecification.
[in]  min_yaw  The minimum horizontal scan angle in the sensor's base frame. The horizontal scan angle is about the +Z axis. A zero angle is the +X axis. 
[in]  max_yaw  The maximum horizontal scan angle in the sensor's base frame. 
[in]  min_pitch  The minimum vertical scan angle in the sensor's base frame. 
[in]  max_pitch  The maximum vertical scan angle in the sensor's base frame. 
[in]  num_yaw_values  The number of yaw values at which depth measurements are taken. These measurements are evenly spread between min_yaw and max_yaw . This value must be greater than or equal to 1, which occurs when min_yaw equals max_yaw . 
[in]  num_pitch_values  The number of yaw values at which depth measurements are taken. These measurements are evenly spread between min_pitch and max_pitch . This value must be greater than or equal to 1, which occurs when min_pitch equals max_pitch . 
[in]  min_range  The minimum sensing range. 
[in]  max_range  The maximum sensing range. 

inline 

inline 

inline 

inline 

inline 

inline 
int num_depth_readings  (  )  const 

inline 

inline 

default 

default 
double pitch_increment  (  )  const 
void set_max_pitch  (  double  max_pitch  ) 
void set_max_range  (  double  max_range  ) 
void set_max_yaw  (  double  max_yaw  ) 
void set_min_pitch  (  double  min_pitch  ) 
void set_min_range  (  double  min_range  ) 
void set_min_yaw  (  double  min_yaw  ) 
void set_num_pitch_values  (  int  num_pitch_values  ) 
void set_num_yaw_values  (  int  num_yaw_values  ) 

inlinestatic 
Sets spec
to specify a sensor that covers octant 1 of the sensor's base frame.
It contains the following specifications:

inlinestatic 
Sets spec
to specify a sensor with a single depth measurement along the sensor's base frame's +X axis between 1 meter and 2 meters.
It contains the following specifications:

inlinestatic 
Sets spec
to specify a sensor that covers the sensor's base frame's X/Y plane.
It contains the following specifications:
The specification describes a "planar" depth sensor in the sense that min_pitch
and max_pitch
are both zero whereas the yaw range is nonzero. Thus, it scans in the yaw direction, which is in the plane formed by the X and Y axes of the sensor's base frame. Example depth sensors that fit this description include those made by Hokuyo and SICK.

inlinestatic 
Sets spec
to specify a sensor that covers all 8 octants of the sensor's base frame.
The sensed region is in the shape of a sphere with a radius between min_range and max_range. It contains the following specifications:
Note that since min_range is 0, the sensed sphere is solid.

inlinestatic 
Sets spec
to specify a sensor that covers the sensor's base frame's X/Z plane.
It contains the following specifications:
See the description of get_xy_planar_spec() for an explanation on why the returned specification describes a "planar" depth sensor. In this case, min_yaw
and max_yaw
are both equal to zero whereas the pitch range is not zero, meaning the described sensor scans its X / Z plane.
double yaw_increment  (  )  const 