15 #include <yarp/sig/Vector.h>
17 namespace problem_ns {
43 bool configured{
false};
44 std::vector<double> ti{M_PI/4.0, 3.0*M_PI/4.0, 5.0*M_PI/4.0, 7.0*M_PI/4.0};
45 std::vector<double> si{.2, .2, .2, .2};
46 std::vector<double> ci{0., 0., 0., 0.};
47 yarp::sig::Vector COM=yarp::sig::Vector(2,0.);
51 size_t get_quadrant(
const double t)
const;
52 std::tuple<double,size_t,double> calc_quantities(
const double t)
const;
53 yarp::sig::Vector calc_COM();
54 yarp::sig::Vector get_d2P(
const double t)
const;
64 bool configure(
const std::vector<double> &shape,
const double friction,
71 static std::shared_ptr<Problem>
generate();
84 const std::vector<double>&
get_shape()
const;
102 const yarp::sig::Vector&
get_COM()
const;
109 yarp::sig::Vector
get_P(
const double t)
const;
116 yarp::sig::Vector
get_dP(
const double t)
const;
126 yarp::sig::Vector
get_T(
const double t)
const;
133 yarp::sig::Vector
get_dT(
const double t)
const;
143 yarp::sig::Vector
get_N(
const double t)
const;
150 yarp::sig::Vector
get_dN(
const double t)
const;
157 std::pair<yarp::sig::Vector,double>
compute_newton_law(
const std::vector<Force>& forces)
const;
bool check_no_slippage(const std::vector< Force > &forces) const
yarp::sig::Vector get_P(const double t) const
Definition: problem.cpp:187
bool check_no_slippage(const Force &force) const
Definition: problem.cpp:293
const Force & get_F() const
Definition: problem.cpp:173
yarp::sig::Vector get_T(const double t) const
Definition: problem.cpp:241
const std::vector< double > & get_shape() const
Definition: problem.cpp:159
yarp::sig::Vector get_dN(const double t) const
Definition: problem.cpp:263
static std::shared_ptr< Problem > generate()
Definition: problem.cpp:69
bool configure(const std::vector< double > &shape, const double friction, const Force &F)
Definition: problem.cpp:50
yarp::sig::Vector get_N(const double t) const
Definition: problem.cpp:253
yarp::sig::Vector get_dP(const double t) const
Definition: problem.cpp:201
const yarp::sig::Vector & get_COM() const
Definition: problem.cpp:180
std::pair< yarp::sig::Vector, double > compute_newton_law(const std::vector< Force > &forces) const
Definition: problem.cpp:273
double get_friction() const
Definition: problem.cpp:166
static double wrap_angle(const double t)
Definition: problem.cpp:101
yarp::sig::Vector get_dT(const double t) const
Definition: problem.cpp:247