hpp-rbprm
4.10.0
Implementation of RB-PRM planner using hpp.
|
Go to the documentation of this file.
19 #ifndef HPP_RBPRM_PARABOLA_PATH_HH
20 # define HPP_RBPRM_PARABOLA_PATH_HH
22 # include <hpp/core/fwd.hh>
23 # include <hpp/core/config.hh>
24 # include <hpp/core/path.hh>
28 using core::size_type;
57 core::ConfigurationIn_t
init,
58 core::ConfigurationIn_t
end,
76 core::ConfigurationIn_t
init,
77 core::ConfigurationIn_t
end,
80 core::vector_t V0, core::vector_t Vimp,
81 std::vector <std::string> initialROMnames,
82 std::vector <std::string> endROMnames)
86 initialROMnames, endROMnames);
120 virtual core::PathPtr_t
copy ()
const
129 virtual core::PathPtr_t
copy (
const core::ConstraintSetPtr_t& constraints)
const
131 return createCopy (weak_.lock (), constraints);
138 virtual core::PathPtr_t
extract (
const core::interval_t& subInterval)
const throw (core::projection_error);
142 virtual core::PathPtr_t
reverse ()
const;
151 assert (
initial.size () == initial_.size ());
161 assert (
end.size () == end_.size ());
166 core::DevicePtr_t
device ()
const;
175 core::Configuration_t
end ()
const
181 virtual core::value_type
length ()
const {
187 for (size_type i = 0; i < coefs.size (); i++)
188 coefficients_(i) = coefs (i);
193 return coefficients_;
196 virtual core::value_type
computeLength (
const core::ConfigurationIn_t q1,
197 const core::ConfigurationIn_t q2)
const;
215 virtual std::ostream&
print (std::ostream &os)
const
217 os <<
"ParabolaPath:" << std::endl;
218 os <<
"interval: [ " << timeRange ().first <<
", "
219 << timeRange ().second <<
" ]" << std::endl;
220 os <<
"initial configuration: " << initial_.transpose () << std::endl;
221 os <<
"final configuration: " << end_.transpose () << std::endl;
226 core::ConfigurationIn_t
init,
227 core::ConfigurationIn_t
end, core::value_type
length,
232 core::ConfigurationIn_t
init,
233 core::ConfigurationIn_t
end,
235 core::vector_t coefs,
236 core::vector_t
V0_, core::vector_t Vimp,
237 std::vector <std::string> initialROMnames,
238 std::vector <std::string> endROMnames);
247 parent_t::init (
self);
262 virtual bool impl_compute (core::ConfigurationOut_t result,
263 core::value_type param)
const;
266 core::DevicePtr_t device_;
267 core::Configuration_t initial_;
268 core::Configuration_t end_;
269 ParabolaPathWkPtr_t weak_;
270 mutable core::vector_t coefficients_;
271 mutable core::value_type length_;
275 #endif // HPP_CORE_PARABOLA_PATH_HH
core::value_type Z_
Definition: parabola-path.hh:206
core::value_type alphaMin_
Definition: parabola-path.hh:203
virtual bool impl_compute(core::ConfigurationOut_t result, core::value_type param) const
HPP_PREDEF_CLASS(RbPrmFullBody)
core::value_type alphaMax_
Definition: parabola-path.hh:204
core::DevicePtr_t device() const
Return the internal robot.
core::vector_t evaluateVelocity(const core::value_type t) const
Evaluate velocity vector at path abcissa t.
core::vector_t V0_
Definition: parabola-path.hh:207
core::value_type alpha_
Definition: parabola-path.hh:202
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)
Definition: parabola-path.hh:56
core::Configuration_t initial() const
Get the initial configuration.
Definition: parabola-path.hh:169
core::Configuration_t end() const
Get the final configuration.
Definition: parabola-path.hh:175
virtual core::PathPtr_t copy(const core::ConstraintSetPtr_t &constraints) const
Definition: parabola-path.hh:129
virtual core::PathPtr_t copy() const
Definition: parabola-path.hh:120
void coefficients(core::vector_t coefs) const
Set the three parabola coefficients.
Definition: parabola-path.hh:186
core::value_type Xtheta_
Definition: parabola-path.hh:205
static ParabolaPathPtr_t createCopy(const ParabolaPathPtr_t &path)
Definition: parabola-path.hh:94
core::vector_t coefficients() const
Get path coefficients.
Definition: parabola-path.hh:192
virtual std::ostream & print(std::ostream &os) const
Print path in a stream.
Definition: parabola-path.hh:215
Definition: parabola-path.hh:45
Definition: algorithm.hh:27
virtual core::PathPtr_t extract(const core::interval_t &subInterval) const
std::vector< std::string > initialROMnames_
Definition: parabola-path.hh:209
core::vector_t Vimp_
Definition: parabola-path.hh:208
void init(ParabolaPathPtr_t self)
Definition: parabola-path.hh:245
Path parent_t
Definition: parabola-path.hh:48
ParabolaPath(const core::DevicePtr_t &robot, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefficients)
Constructor.
virtual core::PathPtr_t reverse() const
boost::shared_ptr< ParabolaPath > ParabolaPathPtr_t
Definition: parabola-path.hh:33
virtual core::value_type length() const
Get previously computed length.
Definition: parabola-path.hh:181
virtual core::value_type computeLength(const core::ConfigurationIn_t q1, const core::ConfigurationIn_t q2) const
void initialConfig(core::ConfigurationIn_t initial)
Definition: parabola-path.hh:149
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)
Definition: parabola-path.hh:75
std::vector< std::string > endROMnames_
Definition: parabola-path.hh:210
void endConfig(core::ConfigurationIn_t end)
Definition: parabola-path.hh:159
virtual ~ParabolaPath()
Destructor.
Definition: parabola-path.hh:50
core::value_type lengthFunction(const core::value_type x) const