BowlerKernel
|
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 |
The Class LinearInterpolationEngine.
Definition at line 7 of file InterpolationEngine.java.
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().
double com.neuronrobotics.sdk.pid.InterpolationEngine.getPosition | ( | ) |
Gets 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().
double com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks | ( | ) |
Gets the ticks.
Definition at line 271 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.ticks.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getPosition(), com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime(), and com.neuronrobotics.sdk.pid.InterpolationEngine.update().
InterpolationType com.neuronrobotics.sdk.pid.InterpolationEngine.getType | ( | ) |
Definition at line 288 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.type.
double com.neuronrobotics.sdk.pid.InterpolationEngine.getUnitDuration | ( | ) |
Definition at line 296 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.unitDuration.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), and com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate().
|
private |
Interpolate.
time |
Definition at line 236 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.endSetpoint, com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), com.neuronrobotics.sdk.pid.InterpolationEngine.getUnitDuration(), com.neuronrobotics.sdk.pid.InterpolationEngine.newSetpoint, com.neuronrobotics.sdk.pid.InterpolationEngine.setpointDiff, com.neuronrobotics.sdk.pid.InterpolationEngine.setTicks(), com.neuronrobotics.sdk.pid.InterpolationEngine.setUnitDuration(), and com.neuronrobotics.sdk.pid.InterpolationEngine.startSetpoint.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.update().
synchronized void com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder | ( | double | value | ) |
Reset encoder.
value | the value |
Definition at line 158 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.duration, com.neuronrobotics.sdk.pid.InterpolationEngine.endSetpoint, com.neuronrobotics.sdk.pid.InterpolationEngine.lastTick, com.neuronrobotics.sdk.pid.InterpolationEngine.setTicks(), com.neuronrobotics.sdk.pid.InterpolationEngine.startSetpoint, and com.neuronrobotics.sdk.pid.InterpolationEngine.startTime.
Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.ResetPIDChannel().
void com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime | ( | long | startTimeMs, |
double | setpoint, | ||
double | seconds, | ||
InterpolationType | mode, | ||
double ... | conf | ||
) |
Definition at line 92 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.endSetpoint, com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks(), com.neuronrobotics.sdk.pid.InterpolationEngine.startSetpoint, com.neuronrobotics.sdk.pid.InterpolationEngine.startTime, com.neuronrobotics.sdk.pid.InterpolationType.TRAPEZOIDAL, com.neuronrobotics.sdk.pid.InterpolationEngine.TRAPEZOIDAL_time, and com.neuronrobotics.sdk.pid.InterpolationEngine.type.
Referenced by com.neuronrobotics.sdk.addons.kinematics.AbstractKinematicsNR.blockingInterpolatedMove(), com.neuronrobotics.sdk.pid.InterpolationEngine.StartLinearMotion(), com.neuronrobotics.sdk.pid.InterpolationEngine.StartSinusoidalMotion(), and com.neuronrobotics.sdk.pid.InterpolationEngine.StartTrapezoidalMotion().
void com.neuronrobotics.sdk.pid.InterpolationEngine.setTicks | ( | double | ticks | ) |
Sets the ticks.
ticks | the new ticks |
Definition at line 280 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.ticks.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate(), and com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder().
void com.neuronrobotics.sdk.pid.InterpolationEngine.setType | ( | InterpolationType | type | ) |
Definition at line 292 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.type.
void com.neuronrobotics.sdk.pid.InterpolationEngine.setUnitDuration | ( | double | unitDuration | ) |
Definition at line 300 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.unitDuration.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), and com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate().
void com.neuronrobotics.sdk.pid.InterpolationEngine.SetVelocity | ( | double | unitsPerSecond | ) |
Sets the velocity.
unitsPerSecond | the units per second |
Definition at line 58 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.SetPDVelocity().
void com.neuronrobotics.sdk.pid.InterpolationEngine.StartLinearMotion | ( | double | setpoint, |
double | seconds, | ||
long | startTimeMs | ||
) |
Sets the pid set point.
setpoint | the setpoint |
seconds | the 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().
void com.neuronrobotics.sdk.pid.InterpolationEngine.StartSinusoidalMotion | ( | double | setpoint, |
double | seconds, | ||
long | startTimeMs | ||
) |
Sets the pid set point.
setpoint | the setpoint |
seconds | the 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().
void com.neuronrobotics.sdk.pid.InterpolationEngine.StartTrapezoidalMotion | ( | double | setpoint, |
double | seconds, | ||
double | trapazoidalTime, | ||
long | startTimeMs | ||
) |
Definition at line 116 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime(), com.neuronrobotics.sdk.pid.InterpolationEngine.StartSinusoidalMotion(), and com.neuronrobotics.sdk.pid.InterpolationType.TRAPEZOIDAL.
boolean com.neuronrobotics.sdk.pid.InterpolationEngine.update | ( | long | time | ) |
Update.
Definition at line 144 of file InterpolationEngine.java.
References com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks(), com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate(), and com.neuronrobotics.sdk.pid.InterpolationEngine.lastTick.
Referenced by com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice.SyncThread.run().
|
private |
Definition at line 32 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
Definition at line 33 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
The duration.
Definition at line 19 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
The set point.
Definition at line 16 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate(), com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
Definition at line 40 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 42 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 34 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
The last tick.
Definition at line 13 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder(), and com.neuronrobotics.sdk.pid.InterpolationEngine.update().
|
private |
Definition at line 36 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 50 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate().
|
private |
Definition at line 45 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 46 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 47 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 48 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
The pause.
Definition at line 28 of file InterpolationEngine.java.
|
private |
Definition at line 49 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate().
|
private |
Definition at line 35 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 41 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 43 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
The start point.
Definition at line 25 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.interpolate(), com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
The start time.
Definition at line 22 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), com.neuronrobotics.sdk.pid.InterpolationEngine.ResetEncoder(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
Definition at line 44 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
The ticks.
Definition at line 10 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getTicks(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setTicks().
|
private |
Definition at line 31 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime().
|
private |
Definition at line 8 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement(), com.neuronrobotics.sdk.pid.InterpolationEngine.getType(), com.neuronrobotics.sdk.pid.InterpolationEngine.setSetpointWithTime(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setType().
|
private |
Definition at line 30 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getUnitDuration(), and com.neuronrobotics.sdk.pid.InterpolationEngine.setUnitDuration().
|
private |
Definition at line 37 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 38 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().
|
private |
Definition at line 39 of file InterpolationEngine.java.
Referenced by com.neuronrobotics.sdk.pid.InterpolationEngine.getInterpolationUnitIncrement().