ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::env::BorderBased::Baseline Class Reference

A local, non-linear, smooth road coordinate system generated from a sequence of borders. More...

#include <baseline.h>

Collaboration diagram for adore::env::BorderBased::Baseline:
Collaboration graph

Public Types

using function_type_xyz = adore::mad::function_type_xyz
 
using function_type2d = adore::mad::function_type2d
 
using function_type_scalar = adore::mad::function_type_scalar
 

Public Member Functions

 Baseline ()
 
void resize ()
 
void setSmoothness (double value)
 
bool isValid () const
 
double getLookAhead () const
 
double getLookBehind () const
 
void setLookAhead (double value)
 
void setLookBehind (double value)
 
int getNSamplePoints () const
 
int getNFitPoints () const
 
void update (BorderSequence &borderSequence, double soffset)
 compute fit for borderSequence More...
 
bool computeDerivatives ()
 
int defineOffset (BorderSequence &borderSequence, function_type_scalar *offset, double maximum_offset=10.0)
 define a function, which represents the offset from baseline to the neighboring function More...
 

Public Attributes

csaps::DoubleArray breaks_s_
 
csaps::DoubleArray breaks_x_
 
csaps::DoubleArray breaks_y_
 
csaps::DoubleArray breaks_z_
 
csaps::DoubleArray samples_s_
 
csaps::DoubleArray samples_x_
 
csaps::DoubleArray samples_dx_
 
csaps::DoubleArray samples_ddx_
 
csaps::DoubleArray samples_dddx_
 
csaps::DoubleArray samples_y_
 
csaps::DoubleArray samples_dy_
 
csaps::DoubleArray samples_ddy_
 
csaps::DoubleArray samples_dddy_
 
csaps::DoubleArray samples_z_
 
csaps::DoubleArray samples_dz_
 
csaps::DoubleArray samples_ddz_
 
csaps::DoubleArray samples_dddz_
 
csaps::DoubleArray base_L_
 
csaps::DoubleArray base_nx_
 
csaps::DoubleArray base_ny_
 
csaps::DoubleArray base_kappa_
 
csaps::DoubleArray base_dkappa_
 
function_type_xyz position_fct_
 
function_type2d normal_fct_
 
function_type_scalar curvature_fct_
 
function_type_scalar curvatureDerivative_fct_
 

Private Attributes

int nFitPoints_
 
int nSamplesPoints_
 
double fit_smoothness_
 
double lookbehind_
 
double lookahead_
 
double min_length_
 
bool valid_
 

Detailed Description

A local, non-linear, smooth road coordinate system generated from a sequence of borders.

Member Typedef Documentation

◆ function_type2d

◆ function_type_scalar

◆ function_type_xyz

Constructor & Destructor Documentation

◆ Baseline()

adore::env::BorderBased::Baseline::Baseline ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ computeDerivatives()

bool adore::env::BorderBased::Baseline::computeDerivatives ( )
inline
Here is the caller graph for this function:

◆ defineOffset()

int adore::env::BorderBased::Baseline::defineOffset ( BorderSequence borderSequence,
function_type_scalar offset,
double  maximum_offset = 10.0 
)
inline

define a function, which represents the offset from baseline to the neighboring function

Returns
the number of faults
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLookAhead()

double adore::env::BorderBased::Baseline::getLookAhead ( ) const
inline

◆ getLookBehind()

double adore::env::BorderBased::Baseline::getLookBehind ( ) const
inline

◆ getNFitPoints()

int adore::env::BorderBased::Baseline::getNFitPoints ( ) const
inline

◆ getNSamplePoints()

int adore::env::BorderBased::Baseline::getNSamplePoints ( ) const
inline

◆ isValid()

bool adore::env::BorderBased::Baseline::isValid ( ) const
inline
Here is the caller graph for this function:

◆ resize()

void adore::env::BorderBased::Baseline::resize ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setLookAhead()

void adore::env::BorderBased::Baseline::setLookAhead ( double  value)
inline
Here is the caller graph for this function:

◆ setLookBehind()

void adore::env::BorderBased::Baseline::setLookBehind ( double  value)
inline
Here is the caller graph for this function:

◆ setSmoothness()

void adore::env::BorderBased::Baseline::setSmoothness ( double  value)
inline
Here is the caller graph for this function:

◆ update()

void adore::env::BorderBased::Baseline::update ( BorderSequence borderSequence,
double  soffset 
)
inline

compute fit for borderSequence

Parameters
borderSequencethe positions to fit against
soffsetthe length offset from the borderSequence start used for margin computations
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ base_dkappa_

csaps::DoubleArray adore::env::BorderBased::Baseline::base_dkappa_

curvature change over true length

◆ base_kappa_

csaps::DoubleArray adore::env::BorderBased::Baseline::base_kappa_

curvature of xy-curve

◆ base_L_

csaps::DoubleArray adore::env::BorderBased::Baseline::base_L_

recomputed true length values (path integral along (xy)-poly-curve)

◆ base_nx_

csaps::DoubleArray adore::env::BorderBased::Baseline::base_nx_

normal vector of curve (x component)

◆ base_ny_

csaps::DoubleArray adore::env::BorderBased::Baseline::base_ny_

normal vector of curve (y component)

◆ breaks_s_

csaps::DoubleArray adore::env::BorderBased::Baseline::breaks_s_

poly breaks in poly domain

◆ breaks_x_

csaps::DoubleArray adore::env::BorderBased::Baseline::breaks_x_

poly fit points in x

◆ breaks_y_

csaps::DoubleArray adore::env::BorderBased::Baseline::breaks_y_

poly fit points in y

◆ breaks_z_

csaps::DoubleArray adore::env::BorderBased::Baseline::breaks_z_

poly fit points in z

◆ curvature_fct_

function_type_scalar adore::env::BorderBased::Baseline::curvature_fct_

◆ curvatureDerivative_fct_

function_type_scalar adore::env::BorderBased::Baseline::curvatureDerivative_fct_

◆ fit_smoothness_

double adore::env::BorderBased::Baseline::fit_smoothness_
private

smoothness parameter passed to poly regression

◆ lookahead_

double adore::env::BorderBased::Baseline::lookahead_
private

◆ lookbehind_

double adore::env::BorderBased::Baseline::lookbehind_
private

◆ min_length_

double adore::env::BorderBased::Baseline::min_length_
private

◆ nFitPoints_

int adore::env::BorderBased::Baseline::nFitPoints_
private

how many breaks the poly regression of the baseline has

◆ normal_fct_

function_type2d adore::env::BorderBased::Baseline::normal_fct_

◆ nSamplesPoints_

int adore::env::BorderBased::Baseline::nSamplesPoints_
private

at how many points the baseline poly is sampled for linearization

◆ position_fct_

function_type_xyz adore::env::BorderBased::Baseline::position_fct_

function: s-coordinate -> euclidian coordinates for smoothed centerline

◆ samples_dddx_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dddx_

poly dddx/dsss values at sampling points

◆ samples_dddy_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dddy_

poly dddy/dss values at sampling points

◆ samples_dddz_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dddz_

poly dddz/dss values at sampling points

◆ samples_ddx_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_ddx_

poly ddx/dss values at sampling points

◆ samples_ddy_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_ddy_

poly ddy/dss values at sampling points

◆ samples_ddz_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_ddz_

poly ddz/dss values at sampling points

◆ samples_dx_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dx_

poly dx/ds values at sampling points

◆ samples_dy_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dy_

poly dy/ds values at sampling points

◆ samples_dz_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_dz_

poly dz/ds values at sampling points

◆ samples_s_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_s_

poly samples in poly domain

◆ samples_x_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_x_

poly x values at sampling points

◆ samples_y_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_y_

poly y values at sampling points

◆ samples_z_

csaps::DoubleArray adore::env::BorderBased::Baseline::samples_z_

poly z values at sampling points

◆ valid_

bool adore::env::BorderBased::Baseline::valid_
private

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