58 typedef Eigen::JacobiSVD<matrix_t> Jacobi_t;
69 for (std::size_t i = 0; i < path->numberPaths() - 1; ++i) {
70 const PathPtr_t& localPath = path->pathAtRank(i);
72 (*localPath)(x.segment(index, configSize_), t1);
75 assert(index == x.size());
82 while (index < x.size()) {
83 q1 = x.segment(index, configSize_);
85 result->appendPath(p);
90 PathPtr_t p = (*steeringMethod_)(q0, q1);
91 result->appendPath(p);
94 void initializeProblemConstraints();
102 void updateProblemConstraints(vectorIn_t x);
115 bool constraintsSatisfied(
116 vectorOut_t& x, PathVectorPtr_t& path,
117 CollisionConstraintsResults_t& collisionConstraints);
129 bool solveConstraints(vectorOut_t x, PathVectorPtr_t& path,
130 CollisionConstraintsResults_t& collisionConstraints);
132 void integrate(vectorIn_t x0, vectorIn_t step, vectorOut_t x1)
const;
135 vector_t computeIterate(vectorIn_t x)
const;
138 void displayPath(vectorIn_t x, std::string
143 hppDout(info, prefix);
144 for (
int i = 0; i < x.size(); i++) hppDout(info, x[i]);
145 hppDout(info,
"finish path parsing");
155 void addCollisionConstraint(
const CollisionConstraintsResult& ccr,
156 const PathVectorPtr_t& path)
const;
165 void updateRightHandSide(
166 const CollisionConstraintsResults_t& collisionConstraints,
167 const PathVectorPtr_t& path)
const;
170 bool getProblemConstraints();
182 steeringMethod::StraightPtr_t steeringMethod_;
190 mutable bool fullRank_;
198 std::size_t iterMax_;