Interface PerceivedGtu.Behavior

Enclosing interface:
PerceivedGtu

public static interface PerceivedGtu.Behavior
Information on the behavior.
  • Method Details

    • getCarFollowingModel

      CarFollowingModel getCarFollowingModel()
      Many models that observe a GTU need to predict the imminent behavior of that GTU. Having a car following model of the observed GTU can help with that. The car following model that is returned can be on a continuum between the actual car following model of the observed GTU and the own car following model of the observing GTU, not making any assumptions about the observed GTU. When successive observations of the GTU take place, parameters about its behavior can be estimated more accurately. Another interesting easy-to-implement solution is to return a car following model per GTU type, where the following model of a truck can differ from that of a car.
      Returns:
      a car following model that represents the expected behavior of the observed GTU
    • getParameters

      Parameters getParameters()
      Many models that observe a GTU need to predict the imminent behavior of that GTU. Having an estimate of the behavioral characteristics of the observed GTU can help with that. The parameters that are returned can be on a continuum between the actual parameters of the observed GTU and the own parameters of the observing GTU, not making any assumptions about the observed GTU. When successive observations of the GTU take place, parameters about its behavior can be estimated more accurately. Another interesting easy-to-implement solution is to return a set of parameters per GTU type, where the parameters of a truck can differ from that of a car.
      Returns:
      the parameters that represent the expected behavior of the observed GTU, in case of exact values a safe copy is returned
    • getSpeedLimitInfo

      SpeedLimitInfo getSpeedLimitInfo()
      Many models that observe a GTU need to predict the imminent behavior of that GTU. Having a model of the speed info profile for the observed GTU can help with predicting its future behavior. The speed limit info that is returned can be on a continuum between the actual speed limit model of the observed GTU and the own speed limit model of the observing GTU, not making any assumptions about the observed GTU. When successive observations of the GTU take place, parameters about its behavior, such as the maximum speed it accepts, can be estimated more accurately. Another interesting easy-to-implement solution is to return a speed limit info object per GTU type, where the returned information of a truck -- with a maximum allowed speed on 80 km/h -- can differ from that of a car -- which can have a maximum allowed speed of 100 km/h on the same road.
      Returns:
      a speed limit model that helps in determining the expected behavior of the observed GTU
    • getDesiredSpeed

      Speed getDesiredSpeed()
      Returns the perceived desired speed of the neighbor.
      Returns:
      perceived desired speed of the neighbor
    • getRoute

      Optional<Route> getRoute()
      Models responding to other GTU may assume a route of the vehicle, for instance at intersections. The route may be short, i.e. only over the next intersection. Implementations may return anything from the actual route, a route based on indicators and other assumptions, or empty if simply not known/estimated.
      Returns:
      route of GTU, empty if there is no route
    • leftLaneChangeDesire

      double leftLaneChangeDesire()
      Returns the perceived left lane change desire, a value between -1 and 1.
      Returns:
      the perceived left lane change desire, a value between -1 and 1
    • rightLaneChangeDesire

      double rightLaneChangeDesire()
      Returns the perceived right lane change desire, a value between -1 and 1.
      Returns:
      the perceived right lane change desire, a value between -1 and 1
    • socialPressure

      double socialPressure()
      Returns the perceived social pressure, a value between 0 and 1.
      Returns:
      the perceived social pressure, a value between 0 and 1
    • of

      Wraps a GTU and returns its behavior. The given time only applies to the parameters, lane change desire and social pressure.
      Parameters:
      gtu - GTU
      Returns:
      behavior view of the GTU
      Throws:
      NullPointerException - when GTU is null
    • of

      static PerceivedGtu.Behavior of(LaneBasedGtu gtu, GtuTypeAssumptions gtuTypeAssumptions)
      Wraps a GTU and returns its behavior. The given time only applies to lane change desire and social pressure.
      Parameters:
      gtu - GTU
      gtuTypeAssumptions - assumptions on the GTU type
      Returns:
      behavior view of the GTU
      Throws:
      NullPointerException - when any input argument is null
    • of

      Wraps a GTU and returns its behavior. The given time only applies to the parameters, lane change desire and social pressure.
      Parameters:
      gtu - GTU
      time - simulation time of the behavior
      Returns:
      behavior view of the GTU
      Throws:
      NullPointerException - when any input argument is null
    • of

      static PerceivedGtu.Behavior of(LaneBasedGtu gtu, Duration time, GtuTypeAssumptions gtuTypeAssumptions)
      Wraps a GTU and returns its behavior. The given time only applies to the lane change desire and social pressure.
      Parameters:
      gtu - GTU
      time - simulation time of the behavior
      gtuTypeAssumptions - assumptions on the GTU type
      Returns:
      behavior view of the GTU
      Throws:
      NullPointerException - when any input argument is null