code: public void updateDuration() {
  		long minDuration = 0;
  		Trajectory traj = this.getTrajectory();
  		for (int i = 0; i < traj.getDTs().length; i++) {
  			minDuration += traj.getDTs()[i]*RESOLUTION;
  		}
  		duration = new AllenIntervalConstraint(AllenIntervalConstraint.Type.Duration, new Bounds(minDuration,APSPSolver.INF));
  		duration.setFrom(this);
  		duration.setTo(this);
  		boolean conAdd = this.getConstraintSolver().addConstraint(duration);
  		if (conAdd) logger.fine("Added duration constriant " + duration);
  		else throw new Error("Failed to add duration constriant " + duration);
  	}
docs: Imposes a temporal constraint that models the minimum duration
  of this {@link TrajectoryEnvelope}, derived from the minimum transition times
  between path poses (deltaTs).