16 dart::dynamics::Joint *joint,
unsigned int index)
17 :
Joint(space, joint, 1, index, 1)
24 const Eigen::Ref<const Eigen::VectorXd> &b)
const
36 const Eigen::Ref<const Eigen::VectorXd> &b,
38 Eigen::Ref<Eigen::VectorXd> c)
const
40 double diff = b[0] - a[0];
42 c[0] = a[0] + diff * t;
72 const double &v = a[0];
82 const Eigen::Ref<const Eigen::VectorXd> &near,
85 a[0] =
rng_.uniformReal(near[0] - r, near[0] + r);
Abstract controllable joint for robowflex::darts::StateSpace.
StateSpace * space_
State space this joint is for.
ompl::RNG & rng_
Random number generator.
void sample(Eigen::Ref< Eigen::VectorXd > a) const override
Sample a configuration for this joint.
void enforceBounds(Eigen::Ref< Eigen::VectorXd > a) const override
Enforce bounds on a joint configuration.
void interpolate(const Eigen::Ref< const Eigen::VectorXd > &a, const Eigen::Ref< const Eigen::VectorXd > &b, double t, Eigen::Ref< Eigen::VectorXd > c) const override
Interpolate to a new configuration c which is t from a to b.
void sampleNear(Eigen::Ref< Eigen::VectorXd > a, const Eigen::Ref< const Eigen::VectorXd > &near, double r) const override
Sample a configuration for this joint near another configuration near.
double distance(const Eigen::Ref< const Eigen::VectorXd > &a, const Eigen::Ref< const Eigen::VectorXd > &b) const override
Compute the distance between two joint configurations.
double getMaximumExtent() const override
Get the maximum extent of this joint (maximum distance).
bool satisfiesBounds(const Eigen::Ref< const Eigen::VectorXd > &a) const override
Check if a joint configuration satisfies bounds.
SO2Joint(StateSpace *space, dart::dynamics::Joint *joint, unsigned int index=0)
Constructor.
An OMPL state space for robowflex::darts::World. Can do motion planning for any of the robots or stru...
static const double two_pi
DART-based robot modeling and planning.