generate Motion Profile
fun generateMotionProfile(startState: MotionState, endState: MotionState, velocityConstraint: VelocityConstraint, accelerationConstraint: AccelerationConstraint, resolution: Double = 0.1): MotionProfile
Generates a motion profile from the given start and end states, applying the specified velocity and acceleration constraints. Accelerates as much as possible within the constraints, Uses a forward and backward pass to ensure the constraints.