BowlerKernel
Public Member Functions | Private Member Functions | Private Attributes | List of all members
com.neuronrobotics.sdk.pid.InterpolationEngine Class Reference
Collaboration diagram for com.neuronrobotics.sdk.pid.InterpolationEngine:
Collaboration graph
[legend]

Public Member Functions

void SetVelocity (double unitsPerSecond)
 
double getPosition ()
 
void StartLinearMotion (double setpoint, double seconds, long startTimeMs)
 
void StartSinusoidalMotion (double setpoint, double seconds, long startTimeMs)
 
void setSetpointWithTime (long startTimeMs, double setpoint, double seconds, InterpolationType mode, double ...conf)
 
void StartTrapezoidalMotion (double setpoint, double seconds, double trapazoidalTime, long startTimeMs)
 
boolean update (long time)
 
synchronized void ResetEncoder (double value)
 
double getInterpolationUnitIncrement (long time)
 
double getTicks ()
 
void setTicks (double ticks)
 
InterpolationType getType ()
 
void setType (InterpolationType type)
 
double getUnitDuration ()
 
void setUnitDuration (double unitDuration)
 

Private Member Functions

void interpolate (long time)
 

Private Attributes

InterpolationType type = InterpolationType.LINEAR
 
double ticks =0
 
double lastTick =getTicks()
 
double endSetpoint =0
 
double duration
 
double startTime
 
double startSetpoint
 
boolean pause = false
 
double unitDuration
 
double TRAPEZOIDAL_time =0
 
double BEZIER_P0
 
double BEZIER_P1
 
double interpElapsed
 
double sinPortion
 
double lengthOfLinearMode
 
double unitLienear
 
double unitRamp
 
double unitStartRampDown
 
double increment
 
double sinPortion2
 
double increment2
 
double sinPortion3
 
double t
 
double p0
 
double p1
 
double p2
 
double p3
 
double setpointDiff
 
double newSetpoint
 

Detailed Description

The Class LinearInterpolationEngine.

Definition at line 7 of file InterpolationEngine.java.

Member Function Documentation

◆ getInterpolationUnitIncrement()

double com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement ( long  time)

Definition at line 180 of file InterpolationEngine.java.

References com.neuronrobotics.sdk.pid.InterpolationType.BEZIER, com.neuronrobotics.sdk.pid.InterpolationEngine.BEZIER_P0, com.neuronrobotics.sdk.pid.InterpolationEngine.BEZIER_P1, com.neuronrobotics.sdk.pid.InterpolationEngine.duration, com.neuronrobotics.sdk.pid.InterpolationEngine.getUnitDuration(), com.neuronrobotics.sdk.pid.InterpolationEngine.increment, com.neuronrobotics.sdk.pid.InterpolationEngine.increment2, com.neuronrobotics.sdk.pid.InterpolationEngine.interpElapsed, com.neuronrobotics.sdk.pid.InterpolationEngine.lengthOfLinearMode, com.neuronrobotics.sdk.pid.InterpolationEngine.p0, com.neuronrobotics.sdk.pid.InterpolationEngine.p1, com.neuronrobotics.sdk.pid.InterpolationEngine.p2, com.neuronrobotics.sdk.pid.InterpolationEngine.p3, com.neuronrobotics.sdk.pid.InterpolationEngine.setUnitDuration(), com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion, com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion2, com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion3, com.neuronrobotics.sdk.pid.InterpolationType.SINUSOIDAL, com.neuronrobotics.sdk.pid.InterpolationEngine.startTime, com.neuronrobotics.sdk.pid.InterpolationEngine.t, com.neuronrobotics.sdk.pid.InterpolationType.TRAPEZOIDAL, com.neuronrobotics.sdk.pid.InterpolationEngine.TRAPEZOIDAL_time, com.neuronrobotics.sdk.pid.InterpolationEngine.type, com.neuronrobotics.sdk.pid.InterpolationEngine.unitLienear, com.neuronrobotics.sdk.pid.InterpolationEngine.unitRamp, and com.neuronrobotics.sdk.pid.InterpolationEngine.unitStartRampDown.

Referenced by com.neuronrobotics.sdk.addons.kinematics.AbstractKinematicsNR.blockingInterpolatedMove(), and com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate().

Here is the call graph for this function:

◆ getPosition()

double com.neuronrobotics.sdk.pid.InterpolationEngine.getPosition ( )

Gets the position.

Returns
the position

Definition at line 67 of file InterpolationEngine.java.

References com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks().

Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.GetPIDPosition().

Here is the call graph for this function:

◆ getTicks()

double com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks ( )

◆ getType()

InterpolationType com.neuronrobotics.sdk.pid.InterpolationEngine.getType ( )

◆ getUnitDuration()

double com.neuronrobotics.sdk.pid.InterpolationEngine.getUnitDuration ( )

◆ interpolate()

void com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate ( long  time)
private

◆ ResetEncoder()

synchronized void com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder ( double  value)

◆ setSetpointWithTime()

void com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime ( long  startTimeMs,
double  setpoint,
double  seconds,
InterpolationType  mode,
double ...  conf 
)

◆ setTicks()

void com.neuronrobotics.sdk.pid.InterpolationEngine.setTicks ( double  ticks)

◆ setType()

void com.neuronrobotics.sdk.pid.InterpolationEngine.setType ( InterpolationType  type)

◆ setUnitDuration()

void com.neuronrobotics.sdk.pid.InterpolationEngine.setUnitDuration ( double  unitDuration)

◆ SetVelocity()

void com.neuronrobotics.sdk.pid.InterpolationEngine.SetVelocity ( double  unitsPerSecond)

Sets the velocity.

Parameters
unitsPerSecondthe units per second

Definition at line 58 of file InterpolationEngine.java.

Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.SetPDVelocity().

◆ StartLinearMotion()

void com.neuronrobotics.sdk.pid.InterpolationEngine.StartLinearMotion ( double  setpoint,
double  seconds,
long  startTimeMs 
)

Sets the pid set point.

Parameters
setpointthe setpoint
secondsthe seconds

Definition at line 79 of file InterpolationEngine.java.

References com.neuronrobotics.sdk.pid.InterpolationType.LINEAR, and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().

Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.SetAllPIDSetPoint(), and com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.SetPIDSetPoint().

Here is the call graph for this function:

◆ StartSinusoidalMotion()

void com.neuronrobotics.sdk.pid.InterpolationEngine.StartSinusoidalMotion ( double  setpoint,
double  seconds,
long  startTimeMs 
)

Sets the pid set point.

Parameters
setpointthe setpoint
secondsthe seconds

Definition at line 88 of file InterpolationEngine.java.

References com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime(), and com.neuronrobotics.sdk.pid.InterpolationType.SINUSOIDAL.

Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.StartTrapezoidalMotion().

Here is the call graph for this function:

◆ StartTrapezoidalMotion()

void com.neuronrobotics.sdk.pid.InterpolationEngine.StartTrapezoidalMotion ( double  setpoint,
double  seconds,
double  trapazoidalTime,
long  startTimeMs 
)

◆ update()

boolean com.neuronrobotics.sdk.pid.InterpolationEngine.update ( long  time)

Member Data Documentation

◆ BEZIER_P0

double com.neuronrobotics.sdk.pid.InterpolationEngine.BEZIER_P0
private

◆ BEZIER_P1

double com.neuronrobotics.sdk.pid.InterpolationEngine.BEZIER_P1
private

◆ duration

double com.neuronrobotics.sdk.pid.InterpolationEngine.duration
private

◆ endSetpoint

double com.neuronrobotics.sdk.pid.InterpolationEngine.endSetpoint =0
private

◆ increment

double com.neuronrobotics.sdk.pid.InterpolationEngine.increment
private

◆ increment2

double com.neuronrobotics.sdk.pid.InterpolationEngine.increment2
private

◆ interpElapsed

double com.neuronrobotics.sdk.pid.InterpolationEngine.interpElapsed
private

◆ lastTick

double com.neuronrobotics.sdk.pid.InterpolationEngine.lastTick =getTicks()
private

◆ lengthOfLinearMode

double com.neuronrobotics.sdk.pid.InterpolationEngine.lengthOfLinearMode
private

◆ newSetpoint

double com.neuronrobotics.sdk.pid.InterpolationEngine.newSetpoint
private

◆ p0

double com.neuronrobotics.sdk.pid.InterpolationEngine.p0
private

◆ p1

double com.neuronrobotics.sdk.pid.InterpolationEngine.p1
private

◆ p2

double com.neuronrobotics.sdk.pid.InterpolationEngine.p2
private

◆ p3

double com.neuronrobotics.sdk.pid.InterpolationEngine.p3
private

◆ pause

boolean com.neuronrobotics.sdk.pid.InterpolationEngine.pause = false
private

The pause.

Definition at line 28 of file InterpolationEngine.java.

◆ setpointDiff

double com.neuronrobotics.sdk.pid.InterpolationEngine.setpointDiff
private

◆ sinPortion

double com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion
private

◆ sinPortion2

double com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion2
private

◆ sinPortion3

double com.neuronrobotics.sdk.pid.InterpolationEngine.sinPortion3
private

◆ startSetpoint

double com.neuronrobotics.sdk.pid.InterpolationEngine.startSetpoint
private

◆ startTime

double com.neuronrobotics.sdk.pid.InterpolationEngine.startTime
private

◆ t

double com.neuronrobotics.sdk.pid.InterpolationEngine.t
private

◆ ticks

double com.neuronrobotics.sdk.pid.InterpolationEngine.ticks =0
private

◆ TRAPEZOIDAL_time

double com.neuronrobotics.sdk.pid.InterpolationEngine.TRAPEZOIDAL_time =0
private

◆ type

InterpolationType com.neuronrobotics.sdk.pid.InterpolationEngine.type = InterpolationType.LINEAR
private

◆ unitDuration

double com.neuronrobotics.sdk.pid.InterpolationEngine.unitDuration
private

◆ unitLienear

double com.neuronrobotics.sdk.pid.InterpolationEngine.unitLienear
private

◆ unitRamp

double com.neuronrobotics.sdk.pid.InterpolationEngine.unitRamp
private

◆ unitStartRampDown

double com.neuronrobotics.sdk.pid.InterpolationEngine.unitStartRampDown
private

The documentation for this class was generated from the following file: