hpp-rbprm
4.15.1
Implementation of RB-PRM planner using hpp.
|
#include <hpp/rbprm/planner/parabola-path.hh>
Public Types | |
typedef Path | parent_t |
Public Member Functions | |
virtual | ~ParabolaPath () |
Destructor. More... | |
virtual core::PathPtr_t | copy () const |
virtual core::PathPtr_t | copy (const core::ConstraintSetPtr_t &constraints) const |
virtual core::PathPtr_t | extract (const core::interval_t &subInterval) const |
virtual core::PathPtr_t | reverse () const |
void | initialConfig (core::ConfigurationIn_t initial) |
void | endConfig (core::ConfigurationIn_t end) |
core::DevicePtr_t | device () const |
Return the internal robot. More... | |
core::Configuration_t | initial () const |
Get the initial configuration. More... | |
core::Configuration_t | end () const |
Get the final configuration. More... | |
virtual core::value_type | length () const |
Get previously computed length. More... | |
void | coefficients (core::vector_t coefs) const |
Set the three parabola coefficients. More... | |
core::vector_t | coefficients () const |
Get path coefficients. More... | |
virtual core::value_type | computeLength (const core::ConfigurationIn_t q1, const core::ConfigurationIn_t q2) const |
core::vector_t | evaluateVelocity (const core::value_type t) const |
Evaluate velocity vector at path abcissa t. More... | |
Static Public Member Functions | |
static ParabolaPathPtr_t | create (const core::DevicePtr_t &device, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefficients) |
static ParabolaPathPtr_t | create (const core::DevicePtr_t &device, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefficients, core::vector_t V0, core::vector_t Vimp, std::vector< std::string > initialROMnames, std::vector< std::string > endROMnames) |
static ParabolaPathPtr_t | createCopy (const ParabolaPathPtr_t &path) |
static ParabolaPathPtr_t | createCopy (const ParabolaPathPtr_t &path, const core::ConstraintSetPtr_t &) |
Public Attributes | |
core::value_type | alpha_ |
core::value_type | alphaMin_ |
core::value_type | alphaMax_ |
core::value_type | Xtheta_ |
core::value_type | Z_ |
core::vector_t | V0_ |
core::vector_t | Vimp_ |
std::vector< std::string > | initialROMnames_ |
std::vector< std::string > | endROMnames_ |
Protected Member Functions | |
virtual std::ostream & | print (std::ostream &os) const |
Print path in a stream. More... | |
ParabolaPath (const core::DevicePtr_t &robot, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefficients) | |
Constructor. More... | |
ParabolaPath (const core::DevicePtr_t &device, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefs, core::vector_t V0_, core::vector_t Vimp, std::vector< std::string > initialROMnames, std::vector< std::string > endROMnames) | |
Constructor with velocities and ROMnames. More... | |
ParabolaPath (const ParabolaPath &path) | |
Copy constructor. More... | |
core::value_type | lengthFunction (const core::value_type x) const |
void | init (ParabolaPathPtr_t self) |
virtual bool | impl_compute (core::ConfigurationOut_t result, core::value_type param) const |
Linear interpolation between two configurations
Degrees of freedom are interpolated depending on the type of joint they parameterize:
typedef Path hpp::rbprm::ParabolaPath::parent_t |
|
inlinevirtual |
Destructor.
|
protected |
Constructor.
|
protected |
Constructor with velocities and ROMnames.
|
protected |
Copy constructor.
|
inline |
Get path coefficients.
|
inline |
Set the three parabola coefficients.
|
virtual |
|
inlinevirtual |
Return a shared pointer to this
As ParabolaPath are immutable, and refered to by shared pointers, they do not need to be copied.
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
inlinevirtual |
Return a shared pointer to a copy of this and set constraints
constraints | constraints to apply to the copy \precond *this should not have constraints. |
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
inlinestatic |
Create instance and return shared pointer
device | Robot corresponding to configurations |
init,end | Start and end configurations of the path |
length | Distance between the configurations. |
|
inlinestatic |
Create instance and return shared pointer
device | Robot corresponding to configurations |
init,end | Start and end configurations of the path |
length | Distance between the configurations. |
V0,Vimp | initial and final velocity vectors |
initialROMnames,endROMnames | initial and final ROM names |
|
inlinestatic |
Create copy and return shared pointer
path | path to copy |
|
inlinestatic |
Create copy and return shared pointer
path | path to copy |
constraints | the path is subject to <!> constraints part NOT IMPLEMENTED YET |
core::DevicePtr_t hpp::rbprm::ParabolaPath::device | ( | ) | const |
Return the internal robot.
|
inline |
Get the final configuration.
|
inline |
Modify end configuration
end | new end configuration |
core::vector_t hpp::rbprm::ParabolaPath::evaluateVelocity | ( | const core::value_type | t | ) | const |
Evaluate velocity vector at path abcissa t.
|
virtual |
Extraction/Reversion of a sub-path
subInterval | interval of definition of the extract path If upper bound of subInterval is smaller than lower bound, result is reversed. |
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
protectedvirtual |
Param is the curvilinear abcissa \in [0 : pathLength] The pathLength can be computed as long as the coefficients_ are known Finally: config(0) = x(param) = (1 - param/length)*x1 + param/length*x2 config(1) = coefs(0)*x(param)^2 + coefs(1)*x(param) + coefs(2)
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
inlineprotected |
|
inline |
Get the initial configuration.
|
inline |
Modify initial configuration
initial | new initial configuration |
|
inlinevirtual |
Get previously computed length.
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
protected |
|
inlineprotectedvirtual |
Print path in a stream.
Reimplemented in hpp::rbprm::TimedParabolaPath.
|
virtual |
Reversion of a path
Reimplemented in hpp::rbprm::TimedParabolaPath.
core::value_type hpp::rbprm::ParabolaPath::alpha_ |
core::value_type hpp::rbprm::ParabolaPath::alphaMax_ |
core::value_type hpp::rbprm::ParabolaPath::alphaMin_ |
std::vector<std::string> hpp::rbprm::ParabolaPath::endROMnames_ |
std::vector<std::string> hpp::rbprm::ParabolaPath::initialROMnames_ |
core::vector_t hpp::rbprm::ParabolaPath::V0_ |
core::vector_t hpp::rbprm::ParabolaPath::Vimp_ |
core::value_type hpp::rbprm::ParabolaPath::Xtheta_ |
core::value_type hpp::rbprm::ParabolaPath::Z_ |