com.yobotics.simulationconstructionset.util.trajectory
Class YoSpline3D

java.lang.Object
  extended by com.yobotics.simulationconstructionset.util.trajectory.YoSpline3D

public class YoSpline3D
extends java.lang.Object


Field Summary
 java.util.EnumMap<Direction,YoPolynomial> polynomials
           
 
Constructor Summary
YoSpline3D(int numberOfCoefficientsPerPolynomial, int arcLengthCalculatorDivisions, ReferenceFrame referenceFrame, YoVariableRegistry parentRegistry, java.lang.String namePrefix)
           
 
Method Summary
 void compute(double t)
           
 FrameVector getAcceleration()
           
 double getApproximateTimeForArcLength(double arcLength)
           
 double getArcLength()
           
 double getArcLength(double t1, double t2)
           
 FramePoint getPosition()
           
 double getT0()
           
 double getTf()
           
 double getTotalTime()
           
 FrameVector getVelocity()
           
 void setCubic(double t0, double tf, FramePoint p0, FrameVector pd0, FramePoint pf, FrameVector pdf)
           
 void setCubicUsingFinalAccelerationButNotFinalPosition(double t0, double tf, FramePoint p0, FrameVector pd0, FrameVector pdf, FrameVector pddf)
           
 void setLinear(double t0, double tf, FramePoint p0, FramePoint pf)
           
 void setLinearUsingFinalPositionAndVelocity(double t0, double tf, FramePoint pf, FrameVector pdf)
           
 void setLinearUsingInitialPositionAndVelocity(double t0, double tf, FramePoint p0, FrameVector pd0)
           
 void setQuadraticUsingFinalVelocity(double t0, double tf, FramePoint p0, FramePoint pf, FrameVector pdf)
           
 void setQuadraticUsingInitialVelocity(double t0, double tf, FramePoint p0, FrameVector pd0, FramePoint pf)
           
 void setQuarticUsingFinalAcceleration(double t0, double tf, FramePoint p0, FrameVector pd0, FramePoint pf, FrameVector pdf, FrameVector pddf)
           
 void setQuarticUsingInitialAcceleration(double t0, double tf, FramePoint p0, FrameVector pd0, FrameVector pdd0, FramePoint pf, FrameVector pdf)
           
 void setQuarticUsingIntermediateVelocity(double t0, double t1, double tf, FramePoint p0, FrameVector pd0, FrameVector pd1, FramePoint pf, FrameVector pdf)
           
 void setQuintic(double t0, double tf, FramePoint p0, FrameVector pd0, FrameVector pdd0, FramePoint pf, FrameVector pdf, FrameVector pddf)
           
 void setQuinticUsingIntermediateVelocityAndAcceleration(double t0, double t1, double tf, FramePoint p0, FrameVector pd0, FrameVector pd1, FrameVector pdd1, FramePoint pf, FrameVector pdf)
           
 void setSexticUsingWaypoint(double t0, double t1, double tf, FramePoint p0, FrameVector pd0, FrameVector pdd0, FramePoint p1, FramePoint pf, FrameVector pdf, FrameVector pddf)
           
 void setSexticUsingWaypointVelocityAndAccelerationAndFinalAcceleration(double t0, double t1, double tf, FramePoint p0, FrameVector pd0, FrameVector pd1, FrameVector pdd1, FramePoint pf, FrameVector pdf, FrameVector pddf)
           
 void setSexticUsingWaypointVelocityAndAccelerationAndInitialAcceleration(double t0, double t1, double tf, FramePoint p0, FrameVector pd0, FrameVector pdd0, FrameVector pd1, FrameVector pdd1, FramePoint pf, FrameVector pdf)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

polynomials

public final java.util.EnumMap<Direction,YoPolynomial> polynomials
Constructor Detail

YoSpline3D

public YoSpline3D(int numberOfCoefficientsPerPolynomial,
                  int arcLengthCalculatorDivisions,
                  ReferenceFrame referenceFrame,
                  YoVariableRegistry parentRegistry,
                  java.lang.String namePrefix)
Method Detail

setLinear

public void setLinear(double t0,
                      double tf,
                      FramePoint p0,
                      FramePoint pf)

setLinearUsingInitialPositionAndVelocity

public void setLinearUsingInitialPositionAndVelocity(double t0,
                                                     double tf,
                                                     FramePoint p0,
                                                     FrameVector pd0)

setLinearUsingFinalPositionAndVelocity

public void setLinearUsingFinalPositionAndVelocity(double t0,
                                                   double tf,
                                                   FramePoint pf,
                                                   FrameVector pdf)

setQuarticUsingIntermediateVelocity

public void setQuarticUsingIntermediateVelocity(double t0,
                                                double t1,
                                                double tf,
                                                FramePoint p0,
                                                FrameVector pd0,
                                                FrameVector pd1,
                                                FramePoint pf,
                                                FrameVector pdf)

setQuinticUsingIntermediateVelocityAndAcceleration

public void setQuinticUsingIntermediateVelocityAndAcceleration(double t0,
                                                               double t1,
                                                               double tf,
                                                               FramePoint p0,
                                                               FrameVector pd0,
                                                               FrameVector pd1,
                                                               FrameVector pdd1,
                                                               FramePoint pf,
                                                               FrameVector pdf)

setSexticUsingWaypoint

public void setSexticUsingWaypoint(double t0,
                                   double t1,
                                   double tf,
                                   FramePoint p0,
                                   FrameVector pd0,
                                   FrameVector pdd0,
                                   FramePoint p1,
                                   FramePoint pf,
                                   FrameVector pdf,
                                   FrameVector pddf)

setSexticUsingWaypointVelocityAndAccelerationAndInitialAcceleration

public void setSexticUsingWaypointVelocityAndAccelerationAndInitialAcceleration(double t0,
                                                                                double t1,
                                                                                double tf,
                                                                                FramePoint p0,
                                                                                FrameVector pd0,
                                                                                FrameVector pdd0,
                                                                                FrameVector pd1,
                                                                                FrameVector pdd1,
                                                                                FramePoint pf,
                                                                                FrameVector pdf)

setSexticUsingWaypointVelocityAndAccelerationAndFinalAcceleration

public void setSexticUsingWaypointVelocityAndAccelerationAndFinalAcceleration(double t0,
                                                                              double t1,
                                                                              double tf,
                                                                              FramePoint p0,
                                                                              FrameVector pd0,
                                                                              FrameVector pd1,
                                                                              FrameVector pdd1,
                                                                              FramePoint pf,
                                                                              FrameVector pdf,
                                                                              FrameVector pddf)

setQuarticUsingInitialAcceleration

public void setQuarticUsingInitialAcceleration(double t0,
                                               double tf,
                                               FramePoint p0,
                                               FrameVector pd0,
                                               FrameVector pdd0,
                                               FramePoint pf,
                                               FrameVector pdf)

setQuarticUsingFinalAcceleration

public void setQuarticUsingFinalAcceleration(double t0,
                                             double tf,
                                             FramePoint p0,
                                             FrameVector pd0,
                                             FramePoint pf,
                                             FrameVector pdf,
                                             FrameVector pddf)

setQuadraticUsingInitialVelocity

public void setQuadraticUsingInitialVelocity(double t0,
                                             double tf,
                                             FramePoint p0,
                                             FrameVector pd0,
                                             FramePoint pf)

setQuadraticUsingFinalVelocity

public void setQuadraticUsingFinalVelocity(double t0,
                                           double tf,
                                           FramePoint p0,
                                           FramePoint pf,
                                           FrameVector pdf)

setCubic

public void setCubic(double t0,
                     double tf,
                     FramePoint p0,
                     FrameVector pd0,
                     FramePoint pf,
                     FrameVector pdf)

setCubicUsingFinalAccelerationButNotFinalPosition

public void setCubicUsingFinalAccelerationButNotFinalPosition(double t0,
                                                              double tf,
                                                              FramePoint p0,
                                                              FrameVector pd0,
                                                              FrameVector pdf,
                                                              FrameVector pddf)

setQuintic

public void setQuintic(double t0,
                       double tf,
                       FramePoint p0,
                       FrameVector pd0,
                       FrameVector pdd0,
                       FramePoint pf,
                       FrameVector pdf,
                       FrameVector pddf)

compute

public void compute(double t)

getPosition

public FramePoint getPosition()

getVelocity

public FrameVector getVelocity()

getAcceleration

public FrameVector getAcceleration()

getArcLength

public double getArcLength(double t1,
                           double t2)

getArcLength

public double getArcLength()

getApproximateTimeForArcLength

public double getApproximateTimeForArcLength(double arcLength)

getT0

public double getT0()

getTf

public double getTf()

getTotalTime

public double getTotalTime()