public class MotionProfileGenerator
Motion profile generator with arbitrary start and end motion states and either dynamic constraints or jerk limiting.
Modifier and Type | Field and Description |
---|---|
static MotionProfileGenerator |
INSTANCE
Motion profile generator with arbitrary start and end motion states and either dynamic constraints or jerk limiting.
|
Modifier and Type | Method and Description |
---|---|
static MotionProfile |
generateMotionProfile(MotionState start,
MotionState goal,
MotionConstraints constraints,
int resolution)
Generates a motion profile with dynamic maximum velocity and acceleration. Uses the algorithm described in
section 3.2 of Sprunk2008.pdf. Warning:
Profiles may be generated incorrectly if the endpoint velocity/acceleration values preclude the obedience of the
motion constraints. To protect against this, verify the continuity of the generated profile or keep the start and
goal velocities at 0.
|
static MotionProfile |
generateMotionProfile(MotionState start,
MotionState goal,
MotionConstraints constraints)
Generates a motion profile with dynamic maximum velocity and acceleration. Uses the algorithm described in
section 3.2 of Sprunk2008.pdf. Warning:
Profiles may be generated incorrectly if the endpoint velocity/acceleration values preclude the obedience of the
motion constraints. To protect against this, verify the continuity of the generated profile or keep the start and
goal velocities at 0.
|
static MotionProfile |
generateSimpleMotionProfile(MotionState start,
MotionState goal,
double maximumVelocity,
double maximumAcceleration,
double maximumJerk,
boolean overshoot)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If
constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be
concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise,
The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is
satisfiable.
|
static MotionProfile |
generateSimpleMotionProfile(MotionState start,
MotionState goal,
double maximumVelocity,
double maximumAcceleration,
double maximumJerk)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If
constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be
concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise,
The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is
satisfiable.
|
static MotionProfile |
generateSimpleMotionProfile(MotionState start,
MotionState goal,
double maximumVelocity,
double maximumAcceleration)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If
constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be
concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise,
The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is
satisfiable.
|
public static MotionProfileGenerator INSTANCE
Motion profile generator with arbitrary start and end motion states and either dynamic constraints or jerk limiting.
public static MotionProfile generateSimpleMotionProfile(MotionState start, MotionState goal, double maximumVelocity, double maximumAcceleration, double maximumJerk, boolean overshoot)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise, The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is satisfiable.
start
- start motion stategoal
- goal motion statemaximumVelocity
- maximum velocitymaximumAcceleration
- maximum accelerationmaximumJerk
- maximum jerkovershoot
- public static MotionProfile generateSimpleMotionProfile(MotionState start, MotionState goal, double maximumVelocity, double maximumAcceleration, double maximumJerk)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise, The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is satisfiable.
start
- start motion stategoal
- goal motion statemaximumVelocity
- maximum velocitymaximumAcceleration
- maximum accelerationmaximumJerk
- maximum jerkpublic static MotionProfile generateSimpleMotionProfile(MotionState start, MotionState goal, double maximumVelocity, double maximumAcceleration)
Generates a simple motion profile with constant maximumVelocity, maximumAcceleration, and maximumJerk. If constraints can't be obeyed, there are two possible fallbacks. If overshoot is true, then two profiles will be concatenated (the first one overshoots the goal and the second one reverses back to reach the goal). Otherwise, The highest order constraint (e.g., max jerk for jerk-limited profiles) is repeatedly violated until the goal is satisfiable.
start
- start motion stategoal
- goal motion statemaximumVelocity
- maximum velocitymaximumAcceleration
- maximum accelerationpublic static MotionProfile generateMotionProfile(MotionState start, MotionState goal, MotionConstraints constraints, int resolution)
Generates a motion profile with dynamic maximum velocity and acceleration. Uses the algorithm described in section 3.2 of Sprunk2008.pdf. Warning: Profiles may be generated incorrectly if the endpoint velocity/acceleration values preclude the obedience of the motion constraints. To protect against this, verify the continuity of the generated profile or keep the start and goal velocities at 0.
start
- start motion stategoal
- goal motion stateconstraints
- motion constraintsresolution
- number of constraint samplespublic static MotionProfile generateMotionProfile(MotionState start, MotionState goal, MotionConstraints constraints)
Generates a motion profile with dynamic maximum velocity and acceleration. Uses the algorithm described in section 3.2 of Sprunk2008.pdf. Warning: Profiles may be generated incorrectly if the endpoint velocity/acceleration values preclude the obedience of the motion constraints. To protect against this, verify the continuity of the generated profile or keep the start and goal velocities at 0.
start
- start motion stategoal
- goal motion stateconstraints
- motion constraints