Klamp't  0.9.0
RobotTimeScaling.h
1 #ifndef ROBOT_TIME_SCALING_H
2 #define ROBOT_TIME_SCALING_H
3 
4 #include <KrisLibrary/planning/GeneralizedBezierCurve.h>
5 #include <Klampt/Modeling/Robot.h>
6 #include <Klampt/Modeling/MultiPath.h>
7 
8 namespace Klampt {
9 
14 bool TimeOptimizePath(RobotModel& robot,const vector<Real>& oldtimes,const vector<Config>& oldconfigs,Real dt,vector<Real>& newtimes,vector<Config>& newconfigs);
15 
20 bool InterpolateConstrainedPath(RobotModel& robot,const Config& a,const Config& b,const vector<IKGoal>& ikGoals,vector<Config>& path,Real xtol=1e-2);
21 
26 bool InterpolateConstrainedPath(RobotModel& robot,const vector<Config>& milestones,const vector<IKGoal>& ikGoals,vector<Config>& path,Real xtol=1e-2);
27 
33 void SmoothDiscretizePath(RobotModel& robot,const vector<Config>& oldconfigs,int n,vector<Real>& times,vector<Config>& configs);
34 
52 bool InterpolateConstrainedMultiPath(RobotModel& robot,const MultiPath& path,vector<GeneralizedCubicBezierSpline>& paths,Real xtol=1e-2);
53 
60 bool DiscretizeConstrainedMultiPath(RobotModel& robot,const MultiPath& path,MultiPath& out,Real xtol=1e-2);
61 
69 bool GenerateAndTimeOptimizeMultiPath(RobotModel& robot,MultiPath& multipath,Real xtol,Real dt);
70 
77 void EvaluateMultiPath(RobotModel& robot,const MultiPath& multipath,Real t,Config& q,Real xtol=0,Real contactol=1e-3,int numIKIters=100);
78 
79 } //namespace Klampt
80 
81 #endif
bool InterpolateConstrainedMultiPath(RobotModel &robot, const MultiPath &path, vector< GeneralizedCubicBezierSpline > &paths, Real xtol=1e-2)
Given a coarsely discretized multipath, produces a finely discretized, smooth curve with appropriate ...
bool GenerateAndTimeOptimizeMultiPath(RobotModel &robot, MultiPath &multipath, Real xtol, Real dt)
Given a multipath, time-scales it to minimize execution time given the robot&#39;s velocity and accelerat...
bool DiscretizeConstrainedMultiPath(RobotModel &robot, const MultiPath &path, MultiPath &out, Real xtol=1e-2)
Given a coarsely discretized multipath, produces a finely discretized multipath that satisfies contac...
void SmoothDiscretizePath(RobotModel &robot, const vector< Config > &oldconfigs, int n, vector< Real > &times, vector< Config > &configs)
Given a list of milestones oldconfigs, constructs a smooth interpolating path and discretizes it unif...
bool InterpolateConstrainedPath(RobotModel &robot, const vector< Config > &milestones, const vector< IKGoal > &ikGoals, vector< Config > &path, Real xtol=1e-2)
Generates a constrained piecewise linear path between many configurations while satisfying the constr...
void EvaluateMultiPath(RobotModel &robot, const MultiPath &multipath, Real t, Config &q, Real xtol=0, Real contactol=1e-3, int numIKIters=100)
Evaluate the multipath at time t with a smooth interpolator, possibly solving intermediate contact co...
bool TimeOptimizePath(RobotModel &robot, const vector< Real > &oldtimes, const vector< Config > &oldconfigs, Real dt, vector< Real > &newtimes, vector< Config > &newconfigs)
Optimizes a piecewise-linear path by first smoothing it, then time-optimizing it with the given resol...
Definition: ContactDistance.h:6