1 package org.opentrafficsim.road.gtu.lane.tactical.lmrs; 2 3 import org.djunits.value.vdouble.scalar.Speed; 4 import org.opentrafficsim.base.parameters.ParameterException; 5 import org.opentrafficsim.base.parameters.Parameters; 6 import org.opentrafficsim.core.gtu.GTUException; 7 import org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException; 8 import org.opentrafficsim.road.gtu.lane.LaneBasedGTU; 9 import org.opentrafficsim.road.gtu.lane.perception.LanePerception; 10 import org.opentrafficsim.road.gtu.lane.perception.RelativeLane; 11 import org.opentrafficsim.road.gtu.lane.plan.operational.SimpleOperationalPlan; 12 import org.opentrafficsim.road.gtu.lane.tactical.following.CarFollowingModel; 13 import org.opentrafficsim.road.network.speed.SpeedLimitInfo; 14 15 /** 16 * <p> 17 * Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br> 18 * BSD-style license. See <a href="http://opentrafficsim.org/node/13">OpenTrafficSim License</a>. 19 * <p> 20 * @version $Revision$, $LastChangedDate$, by $Author$, initial version 27 jan. 2017 <br> 21 * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a> 22 * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a> 23 * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a> 24 */ 25 public interface AccelerationIncentive 26 { 27 28 /** 29 * Determine acceleration. 30 * @param simplePlan SimpleOperationalPlan; simple plan to set the acceleration 31 * @param lane RelativeLane; lane on which to consider the acceleration 32 * @param gtu LaneBasedGTU; gtu 33 * @param perception LanePerception; perception 34 * @param carFollowingModel CarFollowingModel; car-following model 35 * @param speed Speed; current speed 36 * @param params Parameters; parameters 37 * @param speedLimitInfo SpeedLimitInfo; speed limit info 38 * @throws OperationalPlanException in case of an error 39 * @throws ParameterException on missing parameter 40 * @throws GTUException when there is a problem with the state of the GTU when planning a path 41 */ 42 void accelerate(SimpleOperationalPlan simplePlan, RelativeLane lane, LaneBasedGTU gtu, LanePerception perception, 43 CarFollowingModel carFollowingModel, Speed speed, Parameters params, SpeedLimitInfo speedLimitInfo) 44 throws OperationalPlanException, ParameterException, GTUException; 45 46 }