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;
54 static ParabolaPathPtr_t
create(
const core::DevicePtr_t&
device, core::ConfigurationIn_t
init,
57 ParabolaPathPtr_t shPtr(ptr);
68 static ParabolaPathPtr_t
create(
const core::DevicePtr_t&
device, core::ConfigurationIn_t
init,
70 core::vector_t V0, core::vector_t Vimp, std::vector<std::string> initialROMnames,
71 std::vector<std::string> endROMnames) {
73 new ParabolaPath(device, init, end, length, coefficients, V0, Vimp, initialROMnames, endROMnames);
74 ParabolaPathPtr_t shPtr(ptr);
81 static ParabolaPathPtr_t
createCopy(
const ParabolaPathPtr_t& path) {
83 ParabolaPathPtr_t shPtr(ptr);
92 static ParabolaPathPtr_t
createCopy(
const ParabolaPathPtr_t& path,
const core::ConstraintSetPtr_t& ) {
95 ParabolaPathPtr_t shPtr(ptr);
110 virtual core::PathPtr_t
copy(
const core::ConstraintSetPtr_t& constraints)
const {
118 virtual core::PathPtr_t
extract(
const core::interval_t& subInterval)
const;
122 virtual core::PathPtr_t
reverse()
const;
129 assert(initial.size() == initial_.size());
138 assert(end.size() == end_.size());
143 core::DevicePtr_t
device()
const;
146 core::Configuration_t
initial()
const {
return initial_; }
149 core::Configuration_t
end()
const {
return end_; }
152 virtual core::value_type
length()
const {
return length_; }
156 for (size_type i = 0; i < coefs.size(); i++) coefficients_(i) = coefs(i);
162 virtual core::value_type
computeLength(
const core::ConfigurationIn_t q1,
const core::ConfigurationIn_t q2)
const;
179 virtual std::ostream&
print(std::ostream& os)
const {
180 os <<
"ParabolaPath:" << std::endl;
181 os <<
"interval: [ " << timeRange().first <<
", " << timeRange().second <<
" ]" << std::endl;
182 os <<
"initial configuration: " << initial_.transpose() << std::endl;
183 os <<
"final configuration: " << end_.transpose() << std::endl;
187 ParabolaPath(
const core::DevicePtr_t& robot, core::ConfigurationIn_t
init, core::ConfigurationIn_t
end,
191 ParabolaPath(
const core::DevicePtr_t& device, core::ConfigurationIn_t init, core::ConfigurationIn_t end,
192 core::value_type length, core::vector_t coefs, core::vector_t V0_, core::vector_t Vimp,
193 std::vector<std::string> initialROMnames, std::vector<std::string> endROMnames);
200 void init(ParabolaPathPtr_t
self) {
201 parent_t::init(
self);
216 virtual bool impl_compute(core::ConfigurationOut_t result, core::value_type param)
const;
219 core::DevicePtr_t device_;
220 core::Configuration_t initial_;
221 core::Configuration_t end_;
222 ParabolaPathWkPtr_t weak_;
223 mutable core::vector_t coefficients_;
224 mutable core::value_type length_;
228 #endif // HPP_CORE_PARABOLA_PATH_HH virtual bool impl_compute(core::ConfigurationOut_t result, core::value_type param) const
core::value_type alpha_
Definition: parabola-path.hh:167
std::shared_ptr< ParabolaPath > ParabolaPathPtr_t
Definition: parabola-path.hh:33
core::Configuration_t initial() const
Get the initial configuration.
Definition: parabola-path.hh:146
void initialConfig(core::ConfigurationIn_t initial)
Definition: parabola-path.hh:128
core::vector_t Vimp_
Definition: parabola-path.hh:173
Definition: algorithm.hh:27
Definition: parabola-path.hh:44
static ParabolaPathPtr_t createCopy(const ParabolaPathPtr_t &path, const core::ConstraintSetPtr_t &)
Definition: parabola-path.hh:92
core::vector_t V0_
Definition: parabola-path.hh:172
virtual core::PathPtr_t copy() const
Definition: parabola-path.hh:104
core::value_type alphaMin_
Definition: parabola-path.hh:168
core::vector_t evaluateVelocity(const core::value_type t) const
Evaluate velocity vector at path abcissa t.
virtual core::PathPtr_t extract(const core::interval_t &subInterval) const
void coefficients(core::vector_t coefs) const
Set the three parabola coefficients.
Definition: parabola-path.hh:155
core::DevicePtr_t device() const
Return the internal robot.
virtual core::value_type length() const
Get previously computed length.
Definition: parabola-path.hh:152
HPP_PREDEF_CLASS(RbPrmFullBody)
void init(ParabolaPathPtr_t self)
Definition: parabola-path.hh:200
core::value_type Z_
Definition: parabola-path.hh:171
static ParabolaPathPtr_t createCopy(const ParabolaPathPtr_t &path)
Definition: parabola-path.hh:81
core::value_type alphaMax_
Definition: parabola-path.hh:169
core::value_type Xtheta_
Definition: parabola-path.hh:170
Path parent_t
Definition: parabola-path.hh:46
virtual core::PathPtr_t reverse() const
core::vector_t coefficients() const
Get path coefficients.
Definition: parabola-path.hh:160
core::value_type lengthFunction(const core::value_type x) const
std::vector< std::string > initialROMnames_
Definition: parabola-path.hh:174
std::vector< std::string > endROMnames_
Definition: parabola-path.hh:175
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:68
virtual ~ParabolaPath()
Destructor.
Definition: parabola-path.hh:48
void endConfig(core::ConfigurationIn_t end)
Definition: parabola-path.hh:137
virtual core::PathPtr_t copy(const core::ConstraintSetPtr_t &constraints) const
Definition: parabola-path.hh:110
ParabolaPath(const core::DevicePtr_t &robot, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::vector_t coefficients)
Constructor.
core::Configuration_t end() const
Get the final configuration.
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)
Definition: parabola-path.hh:54
virtual core::value_type computeLength(const core::ConfigurationIn_t q1, const core::ConfigurationIn_t q2) const
virtual std::ostream & print(std::ostream &os) const
Print path in a stream.
Definition: parabola-path.hh:179