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 Qddx(double t)Acceleration at time tvoiddelete()doubleduration()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.Qdx(double t)Velocity at time tstatic longgetCPtr(LinearInterpolatorQ obj)QgetEnd()Returns the end position of the interpolatorQgetStart()Returns the start position of the interpolatorQx(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:
deletein classInterpolatorQ
-
x
public Q x(double t)
Description copied from class:InterpolatorQPosition at time t- Overrides:
xin classInterpolatorQ- Parameters:
t- [in] time between 0 and length- Returns:
- Position
-
dx
public Q dx(double t)
Description copied from class:InterpolatorQVelocity at time t- Overrides:
dxin classInterpolatorQ- Parameters:
t- [in] time between 0 and length- Returns:
- Velocity
-
ddx
public Q ddx(double t)
Description copied from class:InterpolatorQAcceleration at time t- Overrides:
ddxin 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:InterpolatorQReturns 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:
durationin classInterpolatorQ- Returns:
- duration
-
-