30 double dx = point_ahead.
x() - position.
x(), dy = point_ahead.
y() - position.
y();
142 return this->
theta ();
162 return cv::Vec<double, 3> (
x(),
y(),
theta() );
192 this->
x() += s.val[0], this->
y() += s.val[1], this->
theta() += s.val[2];
262 sprintf(str,format,
x(),
y(),
theta());
263 return std::string(str);
274 return (d_angle < tolerance) && (fabs(d_angle) < tolerance);
double angle_normalize(double angle, double min_angle=-M_PI, double max_angle=+M_PI)
Pose2D transform_into(const Pose2D &target) const
double costheta_
rotation in rad
std::string str(const char *format="[%6.4lf, %6.4lf, %6.5lf]") const
Point2D point_ahead(double d=1.) const
Pose2D & operator-=(const cv::Vec< double, 3 > &s)
Pose2D & set(double x, const double y, double phi)
const double & theta() const
const Point2D & position() const
void recompute_cached_cos_sin() const
void normalizeOrientation()
double angle_difference(double alpha0, double angle1)
Point2D & transform_into_base(const Point2D &src, Point2D &des) const
cv::Matx< double, 3, 3 > Tf2D
bool equal(const Pose2D &o, double tolerance) const
double orientation_
position
std::string format(const cv::Mat_< int8_t > &m)
Point2D & set(double x, double y)
cv::Vec< double, 3 > state_vector() const
void update_cached_cos_sin() const
Pose2D & operator+=(const cv::Vec< double, 3 > &s)