cheshirekow  v0.1.0
mpblocks::dubins::curves_eigen Namespace Reference

classes for solving dubins curves, optimal primitives for shortest path between two states of a dubins vehicle More...

Namespaces

 hyper
 

Classes

struct  DrawOpts
 encapsulates patterns for drawing More...
 
struct  GenericArtist
 interface for different solutions More...
 
struct  Integrate
 
struct  IntegrateIncrementally
 
struct  Opposite
 provides opposite arc type for given template parameter More...
 
struct  Opposite< L >
 
struct  Opposite< R >
 
struct  Query
 encapsulates two dubins states and a raidus More...
 
struct  Solver
 interface for different solutions, this is specialized for each Id in the SolutionId enum More...
 
struct  Solver< LRLa, Scalar >
 Solves a left turn, plus a right turn, plus a left turn. More...
 
struct  Solver< LRLb, Scalar >
 Solves left turn followed by a right turn followed by a left turn. More...
 
struct  Solver< LSL, Scalar >
 solves a left turn, plus a straight segment, plus a left turn More...
 
struct  Solver< LSR, Scalar >
 solves a left turn, plus a straight segment, plus a right turn More...
 
struct  Solver< RLRa, Scalar >
 solves a right turn, plus a left turn, plus a right turn More...
 
struct  Solver< RLRb, Scalar >
 solves a right turn, plus a left turn, plus a right turn More...
 
struct  Solver< RSL, Scalar >
 interface for different solutions More...
 
struct  Solver< RSR, Scalar >
 solves a right turn, plus a straight segment, plus a right turn More...
 
struct  SolverIterator
 
struct  SolverIterator< INVALID, Format_t >
 
struct  TrigWrap
 provides static functions which call the appropriate trig function based in the template parameter specifying the path Primitive; More...
 
struct  TrigWrap< Format_t, L >
 
struct  TrigWrap< Format_t, R >
 

Functions

template<typename Scalar >
Scalar ccwAngle_inv (const Scalar alpha)
 
template<typename Scalar >
Scalar ccwAngleOf (const Scalar q_theta)
 return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q More...
 
template<typename Scalar >
Scalar ccwAngleOf (const Eigen::Matrix< Scalar, 3, 1 > &q)
 return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q More...
 
template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > ccwCenter (const Eigen::Matrix< Scalar, 3, 1 > &q, Scalar r)
 return the center of a counter clockwise (left) circle coincident to q with radius r More...
 
template<typename Scalar >
bool coincidentCenterA (const Eigen::Matrix< Scalar, 2, 1 > &c0, const Eigen::Matrix< Scalar, 2, 1 > &c1, Eigen::Matrix< Scalar, 2, 1 > &c2, Scalar r, Scalar &a)
 returns the center of a circle which is coincident to the two circles whose centers are given, where all three circles have the same radius More...
 
template<typename Scalar >
bool coincidentCenterB (const Eigen::Matrix< Scalar, 2, 1 > &c0, const Eigen::Matrix< Scalar, 2, 1 > &c1, Eigen::Matrix< Scalar, 2, 1 > &c2, Scalar r, Scalar &a)
 returns the center of a circle which is coincident to the two circles whose centers are given, where all three circles have the same radius More...
 
template<typename Scalar >
Scalar cwAngle_inv (const Scalar alpha)
 
template<typename Scalar >
Scalar cwAngleOf (const Scalar q_theta)
 return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q More...
 
template<typename Scalar >
Scalar cwAngleOf (const Eigen::Matrix< Scalar, 3, 1 > &q)
 return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q More...
 
template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > cwCenter (const Eigen::Matrix< Scalar, 3, 1 > &q, Scalar r)
 return the center of a clockwise (right) circle coincident to q with radius r More...
 
template<typename Format_t >
void draw (const Eigen::Matrix< Format_t, 3, 1 > &q0, const Format_t r, const Path< Format_t > &soln, const DrawOpts &opts)
 
template<typename Scalar >
Scalar leftAngle_inv (const Scalar alpha)
 
template<typename Scalar >
Scalar leftAngleOf (const Scalar q_theta)
 return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q More...
 
template<typename Scalar >
Scalar leftAngleOf (const Eigen::Matrix< Scalar, 3, 1 > &q)
 return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q More...
 
template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > leftCenter (const Eigen::Matrix< Scalar, 3, 1 > &q, Scalar r)
 return the center of a counter clockwise (left) circle coincident to q with radius r More...
 
template<typename Scalar >
Scalar rightAngle_inv (const Scalar alpha)
 
template<typename Scalar >
Scalar rightAngleOf (const Scalar q_theta)
 return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q More...
 
template<typename Scalar >
Scalar rightAngleOf (const Eigen::Matrix< Scalar, 3, 1 > &q)
 return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q More...
 
template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > rightCenter (const Eigen::Matrix< Scalar, 3, 1 > &q, Scalar r)
 return the center of a clockwise (right) circle coincident to q with radius r More...
 
template<typename Format_t >
Path< Format_t > solve (const Eigen::Matrix< Format_t, 3, 1 > &q0, const Eigen::Matrix< Format_t, 3, 1 > &q1, const Format_t r)
 
template<typename Format_t >
Path< Format_t > solve_specific (int solver, const Eigen::Matrix< Format_t, 3, 1 > &q0, const Eigen::Matrix< Format_t, 3, 1 > &q1, const Format_t r)
 

Detailed Description

classes for solving dubins curves, optimal primitives for shortest path between two states of a dubins vehicle

Function Documentation

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::ccwAngle_inv ( const Scalar  alpha)

Definition at line 92 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::ccwAngleOf ( const Scalar  q_theta)

return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q

Definition at line 82 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::ccwAngleOf ( const Eigen::Matrix< Scalar, 3, 1 > &  q)

return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q

Definition at line 122 of file funcs.hpp.

template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > mpblocks::dubins::curves_eigen::ccwCenter ( const Eigen::Matrix< Scalar, 3, 1 > &  q,
Scalar  r 
)

return the center of a counter clockwise (left) circle coincident to q with radius r

Definition at line 40 of file funcs.hpp.

template<typename Scalar >
bool mpblocks::dubins::curves_eigen::coincidentCenterA ( const Eigen::Matrix< Scalar, 2, 1 > &  c0,
const Eigen::Matrix< Scalar, 2, 1 > &  c1,
Eigen::Matrix< Scalar, 2, 1 > &  c2,
Scalar  r,
Scalar &  a 
)

returns the center of a circle which is coincident to the two circles whose centers are given, where all three circles have the same radius

Definition at line 144 of file funcs.hpp.

template<typename Scalar >
bool mpblocks::dubins::curves_eigen::coincidentCenterB ( const Eigen::Matrix< Scalar, 2, 1 > &  c0,
const Eigen::Matrix< Scalar, 2, 1 > &  c1,
Eigen::Matrix< Scalar, 2, 1 > &  c2,
Scalar  r,
Scalar &  a 
)

returns the center of a circle which is coincident to the two circles whose centers are given, where all three circles have the same radius

Definition at line 173 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::cwAngle_inv ( const Scalar  alpha)

Definition at line 112 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::cwAngleOf ( const Scalar  q_theta)

return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q

Definition at line 102 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::cwAngleOf ( const Eigen::Matrix< Scalar, 3, 1 > &  q)

return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q

Definition at line 132 of file funcs.hpp.

template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > mpblocks::dubins::curves_eigen::cwCenter ( const Eigen::Matrix< Scalar, 3, 1 > &  q,
Scalar  r 
)

return the center of a clockwise (right) circle coincident to q with radius r

Definition at line 62 of file funcs.hpp.

template<typename Format_t >
void mpblocks::dubins::curves_eigen::draw ( const Eigen::Matrix< Format_t, 3, 1 > &  q0,
const Format_t  r,
const Path< Format_t > &  soln,
const DrawOpts &  opts 
)

Definition at line 396 of file generic_artist.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::leftAngle_inv ( const Scalar  alpha)

Definition at line 97 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::leftAngleOf ( const Scalar  q_theta)

return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q

Definition at line 87 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::leftAngleOf ( const Eigen::Matrix< Scalar, 3, 1 > &  q)

return the angle of the vector from the center of the counter clockwise (left) circle coincident to q... to q

Definition at line 127 of file funcs.hpp.

template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > mpblocks::dubins::curves_eigen::leftCenter ( const Eigen::Matrix< Scalar, 3, 1 > &  q,
Scalar  r 
)

return the center of a counter clockwise (left) circle coincident to q with radius r

Definition at line 54 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::rightAngle_inv ( const Scalar  alpha)

Definition at line 117 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::rightAngleOf ( const Scalar  q_theta)

return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q

Definition at line 107 of file funcs.hpp.

template<typename Scalar >
Scalar mpblocks::dubins::curves_eigen::rightAngleOf ( const Eigen::Matrix< Scalar, 3, 1 > &  q)

return the angle of the vector from the center of the clockwise (right) circle coincident to q... to q

Definition at line 137 of file funcs.hpp.

template<typename Scalar >
Eigen::Matrix< Scalar, 2, 1 > mpblocks::dubins::curves_eigen::rightCenter ( const Eigen::Matrix< Scalar, 3, 1 > &  q,
Scalar  r 
)

return the center of a clockwise (right) circle coincident to q with radius r

Definition at line 76 of file funcs.hpp.

template<typename Format_t >
Path< Format_t > mpblocks::dubins::curves_eigen::solve ( const Eigen::Matrix< Format_t, 3, 1 > &  q0,
const Eigen::Matrix< Format_t, 3, 1 > &  q1,
const Format_t  r 
)

Definition at line 76 of file solver.hpp.

template<typename Format_t >
Path< Format_t > mpblocks::dubins::curves_eigen::solve_specific ( int  solver,
const Eigen::Matrix< Format_t, 3, 1 > &  q0,
const Eigen::Matrix< Format_t, 3, 1 > &  q1,
const Format_t  r 
)

Definition at line 83 of file solver.hpp.