26 #ifndef HC_CC_CIRCLE_HPP 27 #define HC_CC_CIRCLE_HPP 38 void set_param(
double _kappa,
double _sigma,
double _radius,
double _mu,
double _sin_mu,
double _cos_mu,
70 double D1(
double alpha)
const;
73 double rs_circular_deflection(
double delta)
const;
79 double hc_circular_deflection(
double delta)
const;
85 bool cc_elementary_sharpness(
const Configuration &q,
double delta,
double &sigma0)
const;
88 double cc_circular_deflection(
double delta)
const;
94 void print(
bool eol)
const;
bool left
Turning direction: left/right.
double center_distance(const HC_CC_Circle &c1, const HC_CC_Circle &c2)
Cartesian distance between the centers of two circles.
double sin_mu
Sine and cosine of mu.
bool configuration_on_hc_cc_circle(const HC_CC_Circle &c, const Configuration &q)
Configuration on the circle?
double radius
Radius of the outer circle.
bool regular
Type of the circle: regular/irregular.
ROSCONSOLE_DECL void print(FilterBase *filter, void *logger, Level level, const char *file, int line, const char *function, const char *fmt,...) ROSCONSOLE_PRINTF_ATTRIBUTE(7
double kappa
Max. curvature, inverse of max. curvature, max. sharpness.
bool forward
Driving direction: forwards/backwards.
double mu
Angle between the initial orientation and the tangent to the circle at the initial position...
double delta_min
Minimal deflection.
Configuration start
Start configuration.
void set_param(double _kappa, double _sigma, double _radius, double _mu, double _sin_mu, double _cos_mu, double _delta_min)
Set parameters.