KrisLibrary
1.0.0
|
A C-space on configurations and velocities (q,v) that linear uses linear interpolation on velocities. More...
#include <CVSpace.h>
Public Member Functions | |
CVSpace (const std::shared_ptr< CSpace > &baseSpace, const std::shared_ptr< CSpace > &velSpace) | |
Public Member Functions inherited from MultiCSpace | |
MultiCSpace (const std::shared_ptr< CSpace > &space1, const std::shared_ptr< CSpace > &space2) | |
MultiCSpace (const std::vector< std::shared_ptr< CSpace > > &components) | |
void | Add (const std::string &name, const std::shared_ptr< CSpace > &space, Real distanceWeight=1) |
bool | AreSubspacesIndependent () const |
void | FlattenConstraints () |
void | AddConstraint (int spaceIndex, const std::string &name, CSet *constraint) |
void | AddConstraint (int spaceIndex, const std::string &name, const std::shared_ptr< CSet > &constraint) |
void | AddConstraint (int spaceIndex, const std::string &name, CSet::CPredicate test) |
void | Split (const Vector &x, std::vector< Vector > &items) |
void | SplitRef (const Vector &x, std::vector< Vector > &items) |
void | Join (const std::vector< Vector > &items, Vector &x) |
bool | IsFeasible_Independent (const Config &) |
EdgePlannerPtr | LocalPlanner_Independent (const Config &a, const Config &b) |
Available for your use in LocalPlanner. | |
EdgePlannerPtr | PathChecker_Independent (const Config &a, const Config &b) |
Available for your use in PathChecker. | |
EdgePlannerPtr | PathChecker_Independent (const Config &a, const Config &b, int constraint) |
Available for your use in PathChecker. | |
virtual int | NumDimensions () |
virtual int | NumIntrinsicDimensions () |
virtual std::string | VariableName (int i) |
virtual int | NumConstraints () |
virtual std::string | ConstraintName (int i) |
virtual std::shared_ptr< CSet > | Constraint (int i) |
virtual void | Sample (Config &x) |
virtual void | SampleNeighborhood (const Config &c, Real r, Config &x) |
virtual bool | IsFeasible (const Config &q) |
virtual bool | ProjectFeasible (Config &x) |
virtual EdgePlannerPtr | LocalPlanner (const Config &a, const Config &b) |
virtual EdgePlannerPtr | PathChecker (const Config &a, const Config &b) |
virtual EdgePlannerPtr | PathChecker (const Config &a, const Config &b, int obstacle) |
virtual Optimization::NonlinearProgram * | FeasibleNumeric () |
If possible, give the feasible set as a nonlinear program. | |
virtual Real | Distance (const Config &x, const Config &y) |
optionally overrideable (default uses euclidean space) | |
virtual void | Interpolate (const Config &x, const Config &y, Real u, Config &out) |
virtual void | Midpoint (const Config &x, const Config &y, Config &out) |
virtual Real | ObstacleDistance (const Config &a) |
for local planners using obstacle distance | |
virtual void | Properties (PropertyMap &) |
Returns properties of the space that might be useful for planners. More... | |
virtual void | InterpolateDeriv (const Config &a, const Config &b, Real u, Vector &dx) |
virtual void | InterpolateDerivA (const Config &a, const Config &b, Real u, const Vector &da, Vector &dx) |
virtual void | InterpolateDerivB (const Config &a, const Config &b, Real u, const Vector &db, Vector &dx) |
virtual void | InterpolateDeriv2 (const Config &a, const Config &b, Real u, Vector &ddx) |
virtual void | Integrate (const Config &a, const Vector &da, Config &b) |
Public Member Functions inherited from CSpace | |
void | AddConstraint (const std::string &name, CSet *constraint) |
void | AddConstraint (const std::string &name, const std::shared_ptr< CSet > &constraint) |
void | AddConstraint (const std::string &name, CSet::CPredicate test) |
void | CopyConstraints (const CSpace *space, const std::string &prefix="") |
virtual bool | IsFeasible (const Config &, int constraint) |
virtual void | CheckConstraints (const Config &, std::vector< bool > &satisfied) |
Returns a vector indicating which constraints are satisfied. | |
void | GetFeasibleNames (const Config &q, std::vector< std::string > &names) |
Gets a list of feasible obstacles for the given configuration. | |
void | GetInfeasibleNames (const Config &q, std::vector< std::string > &names) |
Gets a list of infeasible obstacles for the given configuration. | |
void | PrintInfeasibleNames (const Config &q, std::ostream &out=std::cout, const char *prefix="", const char *suffix="\n") |
Prints out the list of infeasible obstacles for the given configuration. | |
Static Public Member Functions | |
static void | GetState (const Config &x, Config &q, Vector &v) |
static void | GetConfig (const Config &x, Config &q) |
static void | GetVelocity (const Config &x, Vector &v) |
static void | GetStateRef (const Config &x, Config &q, Vector &v) |
static void | GetConfigRef (const Config &x, Config &q) |
static void | GetVelocityRef (const Config &x, Vector &v) |
static void | SetState (const Config &q, const Vector &v, Config &x) |
static void | SetConfig (const Config &q, Config &x) |
static void | SetVelocity (const Vector &v, Config &x) |
Additional Inherited Members | |
Public Attributes inherited from MultiCSpace | |
std::vector< std::shared_ptr< CSpace > > | components |
std::vector< std::string > | componentNames |
std::vector< Real > | distanceWeights |
Public Attributes inherited from CSpace | |
std::vector< std::string > | constraintNames |
std::vector< std::shared_ptr< CSet > > | constraints |
A C-space on configurations and velocities (q,v) that linear uses linear interpolation on velocities.