Drake
DepthSensorSpecification Class Reference

Holds a DepthSensor's specification. More...

#include <drake/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 fully-defined 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 (double num_yaw_values)
 
void set_num_pitch_values (double num_yaw_values)
 
void set_min_range (double min_range)
 
void set_max_range (double max_range)
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 DepthSensorSpecification (const DepthSensorSpecification &)=default
 
DepthSensorSpecificationoperator= (const DepthSensorSpecification &)=default
 
 DepthSensorSpecification (DepthSensorSpecification &&)=default
 
DepthSensorSpecificationoperator= (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 commonly-used

DepthSensorSpecification specifications.

The following methods provide frequently used DepthSensorSpecification specifications that can be used directly or as templates for fine-tuning.

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...
 

Detailed Description

Holds a DepthSensor's specification.

See also
DepthSensor.

Constructor & Destructor Documentation

Constructs a DepthsensorSpecification with all default values.

Here is the call graph for this function:

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 fully-defined DepthSensorSpecification.

Parameters
[in]min_yawThe 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_yawThe maximum horizontal scan angle in the sensor's base frame.
[in]min_pitchThe minimum vertical scan angle in the sensor's base frame.
[in]max_pitchThe maximum vertical scan angle in the sensor's base frame.
[in]num_yaw_valuesThe 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_valuesThe 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_rangeThe minimum sensing range.
[in]max_rangeThe maximum sensing range.

Member Function Documentation

double max_pitch ( ) const
inline

Here is the caller graph for this function:

double max_range ( ) const
inline

Here is the call graph for this function:

Here is the caller graph for this function:

double max_yaw ( ) const
inline

Here is the caller graph for this function:

double min_pitch ( ) const
inline

Here is the caller graph for this function:

double min_range ( ) const
inline

Here is the caller graph for this function:

double min_yaw ( ) const
inline

Here is the caller graph for this function:

int num_depth_readings ( ) const

Here is the caller graph for this function:

int num_pitch_values ( ) const
inline

Here is the caller graph for this function:

int num_yaw_values ( ) const
inline

Here is the caller graph for this function:

DepthSensorSpecification& operator= ( const DepthSensorSpecification )
default
double pitch_increment ( ) const

Here is the caller graph for this function:

void set_max_pitch ( double  max_pitch)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_max_range ( double  max_range)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_max_yaw ( double  max_yaw)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_min_pitch ( double  min_pitch)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_min_range ( double  min_range)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_min_yaw ( double  min_yaw)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_num_pitch_values ( double  num_yaw_values)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_num_yaw_values ( double  num_yaw_values)

Here is the call graph for this function:

Here is the caller graph for this function:

static void set_octant_1_spec ( DepthSensorSpecification spec)
inlinestatic

Sets spec to specify a sensor that covers octant 1 of the sensor's base frame.

It contains the following specifications:

  • min_yaw = 0
  • max_yaw = M_PI_2
  • min_pitch = 0
  • max_pitch = M_PI_2
  • num_yaw_values = 10
  • num_pitch_values = 5
  • min_range = 0
  • max_range = 1

Here is the call graph for this function:

static void set_x_linear_spec ( DepthSensorSpecification spec)
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:

  • min_yaw = 0
  • max_yaw = 0
  • min_pitch = 0
  • max_pitch = 0
  • num_yaw_values = 1
  • num_pitch_values = 1
  • min_range = 1
  • max_range = 2

Here is the call graph for this function:

static void set_xy_planar_spec ( DepthSensorSpecification spec)
inlinestatic

Sets spec to specify a sensor that covers the sensor's base frame's X/Y plane.

It contains the following specifications:

  • min_yaw = -M_PI
  • max_yaw = M_PI
  • min_pitch = 0
  • max_pitch = 0
  • num_yaw_values = 50
  • num_pitch_values = 1
  • min_range = 0
  • max_range = 1

The specification describes a "planar" depth sensor in the sense that min_pitch and max_pitch are both zero whereas the yaw range is non-zero. 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.

Here is the call graph for this function:

static void set_xyz_spherical_spec ( DepthSensorSpecification spec)
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:

  • min_yaw = -M_PI
  • max_yaw = M_PI
  • min_pitch = -M_PI_2
  • max_pitch = M_PI_2
  • num_yaw_values = 50
  • num_pitch_values = 50
  • min_range = 0
  • max_range = 1

Note that since min_range is 0, the sensed sphere is solid.

Here is the call graph for this function:

static void set_xz_planar_spec ( DepthSensorSpecification spec)
inlinestatic

Sets spec to specify a sensor that covers the sensor's base frame's X/Z plane.

It contains the following specifications:

  • min_yaw = 0
  • max_yaw = 0
  • min_pitch = -M_PI_2
  • max_pitch = M_PI_2
  • num_yaw_values = 1
  • num_pitch_values = 50
  • min_range = 0
  • max_range = 1

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.

Here is the call graph for this function:

double yaw_increment ( ) const

Here is the caller graph for this function:


The documentation for this class was generated from the following files: