Robowflex
v0.1
Making MoveIt Easy
|
An OMPL state space for robowflex::darts::World. Can do motion planning for any of the robots or structures in the world. More...
#include <space.h>
Classes | |
class | StateSampler |
Sampler for robowflex::darts::StateSpace. More... | |
class | StateType |
State type for the robowflex::darts::StateSpace. More... | |
Public Member Functions | |
void | setMetricSpace (bool metric) |
Constructor and Setup | |
StateSpace (WorldPtr world) | |
Constructor. More... | |
void | addGroup (const std::string &name, const std::string &group, std::size_t cyclic=0) |
Add a group to be planned for. More... | |
void | addGroupFromJoints (const std::string &group_name, const std::vector< dart::dynamics::Joint * > &joints, std::size_t cyclic=0) |
Add a group to be planned for. More... | |
World State | |
void | setWorldState (WorldPtr world, const ompl::base::State *state) const |
Set the state of a world from an OMPL state. More... | |
void | setWorldState (WorldPtr world, const Eigen::Ref< const Eigen::VectorXd > &x) const |
Set the state of a world from a configuration. More... | |
void | getWorldState (WorldPtr world, ompl::base::State *state) const |
Get the state of a world in an OMPL state. More... | |
void | getWorldState (WorldPtr world, Eigen::Ref< Eigen::VectorXd > x) const |
Get the state of a world in a configuration vector. More... | |
void | setWorldGroupState (WorldPtr world, const std::string &group_name, const Eigen::Ref< const Eigen::VectorXd > &x) const |
Set the state of a world from a configuration of a group. More... | |
void | getWorldGroupState (WorldPtr world, const std::string &group_name, Eigen::Ref< Eigen::VectorXd > x) const |
Get the group state of a world. More... | |
Getters and Setters | |
WorldPtr | getWorld () |
Get underlying world. More... | |
const WorldPtr & | getWorldConst () const |
Get underlying world. More... | |
std::vector< std::pair< std::size_t, std::size_t > > | getIndices () const |
Get the set of indices that is being planned for. Pairs of skeleton index and joint index. More... | |
Eigen::VectorXd | getLowerBound () const |
Get a vector of the lower joint bounds for the space. More... | |
Eigen::VectorXd | getUpperBound () const |
Get a vector of the upper joint bounds for the space. More... | |
JointPtr | getJoint (std::size_t index) const |
Get a joint that is being planned for. More... | |
JointPtr | getJoint (const std::string &name) const |
Get a joint that is being planned for. More... | |
const std::vector< JointPtr > & | getJoints () const |
Get a vector of the joints being planned for. More... | |
void | getGroupState (const std::string &group, const ompl::base::State *state, Eigen::Ref< Eigen::VectorXd > v) const |
From a full state, get only the state of a group. More... | |
void | setGroupState (const std::string &group, ompl::base::State *state, const Eigen::Ref< const Eigen::VectorXd > &v) const |
Set a (sub)group state in a full state. More... | |
std::size_t | getGroupDimension (const std::string &group) const |
Get the dimension of joint variables for a subgroup. More... | |
std::vector< std::string > | getGroups () const |
Get the names of all groups managed by this space. More... | |
std::vector< std::string > | getGroupDofNames (const std::string &group_name) const |
Get the names of each of the dof controlled by a group. More... | |
OMPL StateSpace Methods | |
bool | isMetricSpace () const override |
void | enforceBounds (ompl::base::State *state) const override |
bool | satisfiesBounds (const ompl::base::State *state) const override |
double | distance (const ompl::base::State *state1, const ompl::base::State *state2) const override |
double | getMaximumExtent () const override |
bool | equalStates (const ompl::base::State *state1, const ompl::base::State *state2) const override |
void | interpolate (const ompl::base::State *from, const ompl::base::State *to, double t, ompl::base::State *state) const override |
ompl::base::StateSamplerPtr | allocDefaultStateSampler () const override |
ompl::base::State * | allocState () const override |
void | freeState (ompl::base::State *state) const override |
Public Attributes | |
friend | Joint |
friend | RnJoint |
friend | StateSampler |
Protected Member Functions | |
void | addJoint (const std::string &group_name, const JointPtr &joint) |
void | addJointToGroup (const std::string &group_name, const JointPtr &joint) |
Protected Attributes | |
WorldPtr | world_ |
World to use for planning. More... | |
std::set< dart::dynamics::Joint * > | jointset_ |
Set of joints used in planning. More... | |
std::vector< std::size_t > | indices_ |
Vector of indices for planning. More... | |
bool | metric_ {true} |
Is this space all Rn? More... | |
std::vector< JointPtr > | joints_ |
Vector of all joints used in planning. More... | |
ompl::RNG | rng_ |
Random number generator. More... | |
std::map< std::string, std::vector< JointPtr > > | group_joints_ |
Joints belonging to a group. More... | |
std::map< std::string, std::size_t > | group_dimension_ |
Dimension of the group. More... | |
An OMPL state space for robowflex::darts::World. Can do motion planning for any of the robots or structures in the world.
StateSpace::StateSpace | ( | WorldPtr | world | ) |
Constructor.
[in] | world | World to plan for. |
Definition at line 56 of file space.cpp.
void StateSpace::addGroup | ( | const std::string & | name, |
const std::string & | group, | ||
std::size_t | cyclic = 0 |
||
) |
Add a group to be planned for.
[in] | name | Name of the robot that has the group. |
[in] | group | Group to plan for. |
[in] | cyclic | If >0, will flatten rotational groups (i.e., SO(2), SO(3)) into Rn spaces, where n is cyclic. |
Definition at line 65 of file space.cpp.
void StateSpace::addGroupFromJoints | ( | const std::string & | group_name, |
const std::vector< dart::dynamics::Joint * > & | joints, | ||
std::size_t | cyclic = 0 |
||
) |
Add a group to be planned for.
[in] | group_name | Name of the new group. |
[in] | joints | Joints to add to this group. |
[in] | cyclic | If >0, will flatten rotational groups (i.e., SO(2), SO(3)) into Rn spaces, where n is cyclic. |
Definition at line 78 of file space.cpp.
|
protected |
Definition at line 209 of file space.cpp.
|
protected |
|
override |
|
override |
|
override |
|
override |
|
override |
Definition at line 335 of file space.cpp.
|
override |
std::size_t StateSpace::getGroupDimension | ( | const std::string & | group | ) | const |
Get the dimension of joint variables for a subgroup.
std::vector< std::string > StateSpace::getGroupDofNames | ( | const std::string & | group_name | ) | const |
std::vector< std::string > StateSpace::getGroups | ( | ) | const |
void StateSpace::getGroupState | ( | const std::string & | group, |
const ompl::base::State * | state, | ||
Eigen::Ref< Eigen::VectorXd > | v | ||
) | const |
std::vector< std::pair< std::size_t, std::size_t > > StateSpace::getIndices | ( | ) | const |
JointPtr StateSpace::getJoint | ( | const std::string & | name | ) | const |
Get a joint that is being planned for.
JointPtr StateSpace::getJoint | ( | std::size_t | index | ) | const |
const std::vector< JointPtr > & StateSpace::getJoints | ( | ) | const |
Eigen::VectorXd StateSpace::getLowerBound | ( | ) | const |
|
override |
Eigen::VectorXd StateSpace::getUpperBound | ( | ) | const |
WorldPtr StateSpace::getWorld | ( | ) |
const WorldPtr & StateSpace::getWorldConst | ( | ) | const |
void StateSpace::getWorldGroupState | ( | WorldPtr | world, |
const std::string & | group_name, | ||
Eigen::Ref< Eigen::VectorXd > | x | ||
) | const |
void StateSpace::getWorldState | ( | WorldPtr | world, |
Eigen::Ref< Eigen::VectorXd > | x | ||
) | const |
void StateSpace::getWorldState | ( | WorldPtr | world, |
ompl::base::State * | state | ||
) | const |
Get the state of a world in an OMPL state.
[in] | world | World to get state of. |
[out] | state | State to fill. |
Definition at line 241 of file space.cpp.
|
override |
|
override |
|
override |
void StateSpace::setGroupState | ( | const std::string & | group, |
ompl::base::State * | state, | ||
const Eigen::Ref< const Eigen::VectorXd > & | v | ||
) | const |
void StateSpace::setMetricSpace | ( | bool | metric | ) |
void StateSpace::setWorldGroupState | ( | WorldPtr | world, |
const std::string & | group_name, | ||
const Eigen::Ref< const Eigen::VectorXd > & | x | ||
) | const |
void StateSpace::setWorldState | ( | WorldPtr | world, |
const Eigen::Ref< const Eigen::VectorXd > & | x | ||
) | const |
void StateSpace::setWorldState | ( | WorldPtr | world, |
const ompl::base::State * | state | ||
) | const |
Set the state of a world from an OMPL state.
[out] | world | World to set state of. |
[in] | state | State to set world. |
Definition at line 224 of file space.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |