Package org.robwork.sdurw_trajectory
Class LinearInterpolatorQ
- java.lang.Object
-
- org.robwork.sdurw_trajectory.InterpolatorQ
-
- org.robwork.sdurw_trajectory.LinearInterpolatorQ
-
public class LinearInterpolatorQ extends InterpolatorQ
Make a linear interpolation between to position
Given a start \mathbf{s}, end \mathbf{e} and duration d
the interpolation is implemented as \mathbf{x}(t)=\mathbf{s} + (\mathbf{e}-\mathbf{s})*t/d.
The template argument given needs to support addition with the "+" operator
and scaling with a double using the "*" operator.
For use with a rw::math::Transform3D see the template specialization
-
-
Constructor Summary
Constructors Constructor Description LinearInterpolatorQ(long cPtr, boolean cMemoryOwn)
LinearInterpolatorQ(Q start, Q end, double duration)
Construct LinearInterpolator starting a start and finishing in end
and taking duration time.
If duration <= 0 an exception is thrown
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Q
ddx(double t)
Acceleration at time tvoid
delete()
double
duration()
Returns the duration of the interpolator
The duration is defined as the time it takes to move from one end
of the interpolator to the other.Q
dx(double t)
Velocity at time tstatic long
getCPtr(LinearInterpolatorQ obj)
Q
getEnd()
Returns the end position of the interpolatorQ
getStart()
Returns the start position of the interpolatorQ
x(double t)
Position at time t-
Methods inherited from class org.robwork.sdurw_trajectory.InterpolatorQ
getCPtr
-
-
-
-
Constructor Detail
-
LinearInterpolatorQ
public LinearInterpolatorQ(long cPtr, boolean cMemoryOwn)
-
LinearInterpolatorQ
public LinearInterpolatorQ(Q start, Q end, double duration)
Construct LinearInterpolator starting a start and finishing in end
and taking duration time.
If duration <= 0 an exception is thrown
- Parameters:
start
- [in] Start of interpolatorend
- [in] End of interpolatorduration
- [in] Time it takes to from one end to the other.
-
-
Method Detail
-
getCPtr
public static long getCPtr(LinearInterpolatorQ obj)
-
delete
public void delete()
- Overrides:
delete
in classInterpolatorQ
-
x
public Q x(double t)
Description copied from class:InterpolatorQ
Position at time t- Overrides:
x
in classInterpolatorQ
- Parameters:
t
- [in] time between 0 and length- Returns:
- Position
-
dx
public Q dx(double t)
Description copied from class:InterpolatorQ
Velocity at time t- Overrides:
dx
in classInterpolatorQ
- Parameters:
t
- [in] time between 0 and length- Returns:
- Velocity
-
ddx
public Q ddx(double t)
Description copied from class:InterpolatorQ
Acceleration at time t- Overrides:
ddx
in classInterpolatorQ
- Parameters:
t
- [in] time between 0 and length- Returns:
- Acceleration
-
getStart
public Q getStart()
Returns the start position of the interpolator- Returns:
- The start position of the interpolator
-
getEnd
public Q getEnd()
Returns the end position of the interpolator- Returns:
- The end position of the interpolator
-
duration
public double duration()
Description copied from class:InterpolatorQ
Returns the duration of the interpolator
The duration is defined as the time it takes to move from one end
of the interpolator to the other.- Overrides:
duration
in classInterpolatorQ
- Returns:
- duration
-
-