Classes | Public Member Functions | Private Attributes | List of all members
steering::HC00_Reeds_Shepp_State_Space Class Reference

An implementation of hybrid curvature (HC) steer with zero curvature at the start and goal configuration as described in: H. Banzhaf et al., "Hybrid Curvature Steer: A Novel Extend Function for Sampling-Based Non- holonomic Motion Planning in Tight Environments," IEEE International Conference on Intelligent Transportation Systems (Oct. 2017). It evaluates all Reeds-Shepp families plus the four families TTT, TcST, TScT, TcScT, where "T" stands for a turn, "S" for a straight line and "c" for a cusp, and returns the shortest path. More...

#include <hc00_reeds_shepp_state_space.hpp>

Inheritance diagram for steering::HC00_Reeds_Shepp_State_Space:
Inheritance graph
[legend]

Classes

class  HC00_Reeds_Shepp
 

Public Member Functions

std::vector< Controlget_controls (const State &state1, const State &state2) const
 Returns controls of the shortest path from state1 to state2. More...
 
double get_distance (const State &state1, const State &state2) const
 Returns shortest path length from state1 to state2. More...
 
HC_CC_RS_Pathhc00_circles_rs_path (const HC_CC_Circle &c1, const HC_CC_Circle &c2) const
 Returns a sequence of turns and straight lines connecting the two circles c1 and c2. More...
 
HC_CC_RS_Pathhc00_reeds_shepp (const State &state1, const State &state2) const
 Returns a sequence of turns and straight lines connecting a start and an end configuration. More...
 
 HC00_Reeds_Shepp_State_Space (double kappa, double sigma, double discretization=0.1)
 Constructor. More...
 
 ~HC00_Reeds_Shepp_State_Space ()
 Destructor. More...
 
- Public Member Functions inherited from steering::HC_CC_State_Space
std::vector< Stateget_path (const State &state1, const State &state2) const
 Returns path from state1 to state2. More...
 
std::vector< State_With_Covarianceget_path_with_covariance (const State_With_Covariance &state1, const State &state2) const
 Returns path including covariances from state1 to state2. More...
 
 HC_CC_State_Space (double kappa, double sigma, double discretization)
 Constructor. More...
 
std::vector< Stateintegrate (const State &state, const std::vector< Control > &controls) const
 Returns integrated states given a start state and controls. More...
 
State integrate_ODE (const State &state, const Control &control, double integration_step) const
 Returns integrated state given a start state, a control, and an integration step. More...
 
std::vector< State_With_Covarianceintegrate_with_covariance (const State_With_Covariance &state, const std::vector< Control > &controls) const
 Returns integrated states including covariance given a start state and controls. More...
 
State interpolate (const State &state, const std::vector< Control > &controls, double t) const
 Returns interpolated state at distance t in [0,1] (percentage of total path length) More...
 
void set_filter_parameters (const Motion_Noise &motion_noise, const Measurement_Noise &measurement_noise, const Controller &controller)
 Sets the parameters required by the filter. More...
 

Private Attributes

std::unique_ptr< HC00_Reeds_Shepphc00_reeds_shepp_
 Pimpl Idiom: unique pointer on class with families
More...
 
HC_CC_Circle_Param rs_circle_param_
 Parameter of a rs-circle. More...
 

Additional Inherited Members

- Protected Attributes inherited from steering::HC_CC_State_Space
double discretization_
 Discretization of path. More...
 
EKF ekf_
 Extended Kalman Filter for uncertainty propagation. More...
 
HC_CC_Circle_Param hc_cc_circle_param_
 Parameters of a hc-/cc-circle. More...
 
double kappa_
 Curvature, sharpness of clothoid. More...
 
double sigma_
 

Detailed Description

An implementation of hybrid curvature (HC) steer with zero curvature at the start and goal configuration as described in: H. Banzhaf et al., "Hybrid Curvature Steer: A Novel Extend Function for Sampling-Based Non- holonomic Motion Planning in Tight Environments," IEEE International Conference on Intelligent Transportation Systems (Oct. 2017). It evaluates all Reeds-Shepp families plus the four families TTT, TcST, TScT, TcScT, where "T" stands for a turn, "S" for a straight line and "c" for a cusp, and returns the shortest path.

Definition at line 73 of file hc00_reeds_shepp_state_space.hpp.

Constructor & Destructor Documentation

◆ HC00_Reeds_Shepp_State_Space()

steering::HC00_Reeds_Shepp_State_Space::HC00_Reeds_Shepp_State_Space ( double  kappa,
double  sigma,
double  discretization = 0.1 
)

Constructor.

Definition at line 1494 of file hc00_reeds_shepp_state_space.cpp.

◆ ~HC00_Reeds_Shepp_State_Space()

steering::HC00_Reeds_Shepp_State_Space::~HC00_Reeds_Shepp_State_Space ( )
default

Destructor.

Member Function Documentation

◆ get_controls()

vector< Control > steering::HC00_Reeds_Shepp_State_Space::get_controls ( const State state1,
const State state2 
) const
virtual

Returns controls of the shortest path from state1 to state2.

Implements steering::HC_CC_State_Space.

Definition at line 1762 of file hc00_reeds_shepp_state_space.cpp.

◆ get_distance()

double steering::HC00_Reeds_Shepp_State_Space::get_distance ( const State state1,
const State state2 
) const

Returns shortest path length from state1 to state2.

Definition at line 1754 of file hc00_reeds_shepp_state_space.cpp.

◆ hc00_circles_rs_path()

HC_CC_RS_Path * steering::HC00_Reeds_Shepp_State_Space::hc00_circles_rs_path ( const HC_CC_Circle c1,
const HC_CC_Circle c2 
) const

Returns a sequence of turns and straight lines connecting the two circles c1 and c2.

Definition at line 1503 of file hc00_reeds_shepp_state_space.cpp.

◆ hc00_reeds_shepp()

HC_CC_RS_Path * steering::HC00_Reeds_Shepp_State_Space::hc00_reeds_shepp ( const State state1,
const State state2 
) const

Returns a sequence of turns and straight lines connecting a start and an end configuration.

Definition at line 1681 of file hc00_reeds_shepp_state_space.cpp.

Member Data Documentation

◆ hc00_reeds_shepp_

std::unique_ptr<HC00_Reeds_Shepp> steering::HC00_Reeds_Shepp_State_Space::hc00_reeds_shepp_
private

Pimpl Idiom: unique pointer on class with families

Definition at line 119 of file hc00_reeds_shepp_state_space.hpp.

◆ rs_circle_param_

HC_CC_Circle_Param steering::HC00_Reeds_Shepp_State_Space::rs_circle_param_
private

Parameter of a rs-circle.

Definition at line 125 of file hc00_reeds_shepp_state_space.hpp.


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


steering_functions
Author(s): Holger Banzhaf
autogenerated on Mon Dec 11 2023 03:27:44