19 #ifndef HPP_CORE_PATH_OPTIMIZATION_GRADIENT_BASED_HH 20 # define HPP_CORE_PATH_OPTIMIZATION_GRADIENT_BASED_HH 30 namespace pathOptimization {
31 class CollisionConstraintsResult;
32 typedef std::vector <CollisionConstraintsResult>
49 typedef Eigen::JacobiSVD < matrix_t > Jacobi_t;
60 for (std::size_t i=0; i < path->numberPaths () - 1; ++i) {
61 const PathPtr_t& localPath = path->pathAtRank (i);
62 value_type t1 = localPath->timeRange ().second;
63 (*localPath) (x.segment (index, configSize_), t1);
66 assert (index == x.size ());
73 while (index < x.size ()) {
74 q1 = x.segment (index, configSize_);
75 PathPtr_t p = (*steeringMethod_) (q0, q1);
76 result->appendPath (p);
81 PathPtr_t p = (*steeringMethod_) (q0, q1);
82 result->appendPath (p);
85 void initializeProblemConstraints ();
106 bool constraintsSatisfied
108 CollisionConstraintsResults_t& collisionConstraints);
121 CollisionConstraintsResults_t&
122 collisionConstraints);
136 for (
int i=0; i<x.size (); i++)
138 hppDout(info,
"finish path parsing");
148 void addCollisionConstraint (
const CollisionConstraintsResult& ccr,
158 void updateRightHandSide (
const CollisionConstraintsResults_t&
159 collisionConstraints,
163 bool getProblemConstraints ();
183 mutable bool fullRank_;
191 std::size_t iterMax_;
198 #endif // HPP_CORE_PATH_OPTIMIZATION_GRADIENT_BASED_HH boost::shared_ptr< Path > PathPtr_t
Definition: fwd.hh:170
boost::shared_ptr< WeighedDistance > WeighedDistancePtr_t
Definition: fwd.hh:207
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:114
#define hppDout(channel, data)
Definition: problem.hh:48
boost::shared_ptr< GradientBased > GradientBasedPtr_t
Definition: fwd.hh:271
std::vector< CollisionConstraintsResult > CollisionConstraintsResults_t
Definition: gradient-based.hh:31
bool initialize(MeshCollisionTraversalNode< BV, RelativeTransformationIsIdentity > &node, BVHModel< BV > &model1, Transform3f &tf1, BVHModel< BV > &model2, Transform3f &tf2, CollisionResult &result, bool use_refit=false, bool refit_bottomup=false)
boost::shared_ptr< Cost > CostPtr_t
Definition: fwd.hh:269
ObjectFactory * create(ObjectFactory *parent=NULL, const XMLElement *element=NULL)
pinocchio::size_type size_type
Definition: fwd.hh:156
Definition: gradient-based.hh:35
assert(d.lhs()._blocks()==d.rhs()._blocks())
pinocchio::vectorIn_t vectorIn_t
Definition: fwd.hh:202
constraints::matrixIn_t matrixIn_t
Definition: fwd.hh:149
pinocchio::matrix_t matrix_t
Definition: fwd.hh:145
Definition: path-optimizer.hh:32
pinocchio::vector_t vector_t
Definition: fwd.hh:201
pinocchio::value_type value_type
Definition: fwd.hh:157
constraints::matrixOut_t matrixOut_t
Definition: fwd.hh:150
boost::shared_ptr< PathVector > PathVectorPtr_t
Definition: fwd.hh:176
pinocchio::vectorOut_t vectorOut_t
Definition: fwd.hh:203
boost::shared_ptr< Straight > StraightPtr_t
Definition: fwd.hh:26
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:96
Eigen::Matrix< value_type, 1, Eigen::Dynamic > rowvector_t
Definition: fwd.hh:204