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-2018 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 simple plan to set the acceleration
31 * @param lane lane on which to consider the acceleration
32 * @param gtu gtu
33 * @param perception perception
34 * @param carFollowingModel car-following model
35 * @param speed current speed
36 * @param params parameters
37 * @param 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 }