19 #ifndef HPP_SPLINE_EFFECTOR_RRT_HH 20 # define HPP_SPLINE_EFFECTOR_RRT_HH 31 # include <hpp/core/path.hh> 32 # include <hpp/core/problem.hh> 33 # include <hpp/core/config-projector.hh> 35 # include <curves/exact_cubic.h> 36 # include <curves/bezier_curve.h> 37 # include <curves/curve_constraint.h> 44 namespace interpolation {
50 const State &startState,
const State &nextState,
51 const std::size_t numOptimizations,
52 const bool keepExtraDof);
55 const State &startState,
const State &nextState,
56 const std::size_t numOptimizations,
57 const bool keepExtraDof,
58 const std::vector<std::string>& constrainedJointPos = std::vector<std::string>(),
59 const std::vector<std::string>& constrainedLockedJoints = std::vector<std::string>());
62 const State &startState,
const State &nextState);
81 const State &startState,
const State &nextState,
82 const std::size_t numOptimizations,
const bool keepExtraDof,
83 const PathPtr_t refPath,
const std::vector<std::string>& constrainedJointPos,
84 const std::vector<std::string>& constrainedLockedJoints);
102 const State &startState,
const State &nextState,
103 const std::size_t numOptimizations,
104 const bool keepExtraDof,
105 const PathPtr_t refFullBodyPath,
106 const std::vector<std::string>& constrainedJointPos = std::vector<std::string>(),
107 const std::vector<std::string>& constrainedLockedJoints = std::vector<std::string>());
119 std::vector<core::PathVectorPtr_t>
fitBeziersToPath(
RbPrmFullBodyPtr_t fullbody,
const pinocchio::Frame& effector,
const value_type comPathLength,
const PathPtr_t fullBodyComPath,
const State &startState,
const State &nextState);
121 typedef curves::exact_cubic<double, double, true, Eigen::Matrix<value_type, 3, 1> >
exact_cubic_t;
128 SetEffectorRRTConstraints(
const core::PathPtr_t refCom,
const core::PathPtr_t refEff,
const core::PathPtr_t refFullbody,
const pinocchio::Frame effector,
const pinocchio::DevicePtr_t endEffectorDevice,
129 const std::vector<pinocchio::JointPtr_t >& constrainedJointPos,
const std::vector<pinocchio::JointPtr_t >& constrainedLockedJoints):
146 EndEffectorPath(
const DevicePtr_t device,
const pinocchio::Frame& effector,
const PathPtr_t path,
const fcl::Vec3f& offset = fcl::Vec3f(0,0,0)):
147 device_(device),
effector_(effector),fullBodyPath_(path),positionConstraint_(
createPositionMethod(device,fcl::Vec3f(), effector)),offset_(offset),length_(path->length())
151 hppDout(notice,
"End effector path, offset = "<<offset);
167 #endif // HPP_SPLINE_EFFECTOR_TRAJECTORY_HH curves::curve_constraints< Eigen::Matrix< value_type, 3, 1 > > curve_constraint_t
Definition: effector-rrt.hh:122
const pinocchio::Frame effector_
Definition: effector-rrt.hh:155
SetEffectorRRTConstraints(const core::PathPtr_t refCom, const core::PathPtr_t refEff, const core::PathPtr_t refFullbody, const pinocchio::Frame effector, const pinocchio::DevicePtr_t endEffectorDevice, const std::vector< pinocchio::JointPtr_t > &constrainedJointPos, const std::vector< pinocchio::JointPtr_t > &constrainedLockedJoints)
Definition: effector-rrt.hh:128
const pinocchio::Frame effector_
Definition: effector-rrt.hh:137
const core::PathPtr_t refEff_
Definition: effector-rrt.hh:136
Definition: algorithm.hh:27
const core::PathPtr_t refFullbody_
Definition: effector-rrt.hh:135
Definition: effector-rrt.hh:144
core::PathPtr_t effectorRRT(RbPrmFullBodyPtr_t fullbody, core::ProblemSolverPtr_t problemSolver, const PathPtr_t comPath, const State &startState, const State &nextState, const std::size_t numOptimizations, const bool keepExtraDof)
const std::vector< pinocchio::JointPtr_t > constrainedJointPos_
Definition: effector-rrt.hh:139
constraints::PositionPtr_t createPositionMethod(pinocchio::DevicePtr_t device, const fcl::Vec3f &initTarget, const pinocchio::Frame effectorFrame)
Definition: interpolation-constraints.hh:207
core::PathPtr_t generateEndEffectorBezier(RbPrmFullBodyPtr_t fullbody, core::ProblemSolverPtr_t problemSolver, const PathPtr_t comPath, const State &startState, const State &nextState)
boost::shared_ptr< RbPrmFullBody > RbPrmFullBodyPtr_t
Definition: kinematics_constraints.hh:12
TimeConstraintHelper< TimeConstraintPath, EffectorRRTShooterFactory, SetEffectorRRTConstraints > EffectorRRTHelper
Definition: effector-rrt.hh:45
const core::PathPtr_t refCom_
Definition: effector-rrt.hh:134
const std::vector< pinocchio::JointPtr_t > constrainedLockedJoints_
Definition: effector-rrt.hh:140
boost::shared_ptr< exact_cubic_t > exact_cubic_Ptr
Definition: effector-rrt.hh:123
const core::DevicePtr_t device_
Definition: effector-rrt.hh:154
Definition: effector-rrt.hh:126
std::vector< core::PathVectorPtr_t > fitBeziersToPath(RbPrmFullBodyPtr_t fullbody, const pinocchio::Frame &effector, const value_type comPathLength, const PathPtr_t fullBodyComPath, const State &startState, const State &nextState)
fitBeziersToPath generate a vector of pathVector : each pathVector containt BezierPath, computed with varying value of weight-rrt
fcl::Vec3f offset_
Definition: effector-rrt.hh:158
EndEffectorPath(const DevicePtr_t device, const pinocchio::Frame &effector, const PathPtr_t path, const fcl::Vec3f &offset=fcl::Vec3f(0, 0, 0))
Definition: effector-rrt.hh:146
PathPtr_t effectorRRTFromPath(RbPrmFullBodyPtr_t fullbody, core::ProblemSolverPtr_t problemSolver, const PathPtr_t comPath, const PathPtr_t fullBodyComPath, const State &startState, const State &nextState, const std::size_t numOptimizations, const bool keepExtraDof, const PathPtr_t refPath, const std::vector< std::string > &constrainedJointPos, const std::vector< std::string > &constrainedLockedJoints)
effectorRRTFromPath Call comRRT to compute a whole body path between two states, then compute an end-...
void operator()(EffectorRRTHelper &helper, const State &from, const State &to) const
curves::exact_cubic< double, double, true, Eigen::Matrix< value_type, 3, 1 > > exact_cubic_t
Definition: effector-rrt.hh:121
const value_type length_
Definition: effector-rrt.hh:159
void setOffset(const fcl::Vec3f &offset)
Definition: effector-rrt.hh:150
Definition: rbprm-state.hh:40
const core::PathPtr_t fullBodyPath_
Definition: effector-rrt.hh:156
constraints::PositionPtr_t positionConstraint_
Definition: effector-rrt.hh:157
const pinocchio::DevicePtr_t endEffectorDevice_
Definition: effector-rrt.hh:138
Definition: time-constraint-helper.hh:47