IDM Class Reference

A class representing the IDM driver model. More...

#include <IDM.h>

Inheritance diagram for IDM:

Inheritance graph
[legend]
Collaboration diagram for IDM:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 IDM ()
virtual ~IDM ()
double update (double vel, double dist)
double get_T ()
double get_A ()
double get_B ()
double get_S0 ()
double get_S1 ()
double get_V0 ()
double get_Delta ()
double get_Polite ()
double get_Bias ()
double get_DB ()
void set_T (double val)
void set_A (double val)
void set_B (double val)
void set_S0 (double val)
void set_S1 (double val)
void set_V0 (double val)
void set_Delta (double val)
void set_Polite (double val)
void set_Bias (double val)
void set_DB (double val)
double getDesiredVel ()
void setVel (double vel)
double LaneChange (double GapToFront, double GapToBack, double FrontChangeAccel, double CurrentBackAccel, double ProposedBackAccel, bool overtake)
 Finds the advantage that a vehicle would gain from changing lane.

Private Member Functions

double s_star (double vel)
double dvdt (double m_speed, double s)

Private Attributes

double m_T
double m_A
double m_B
double m_S0
double m_S1
double m_V0
double m_Delta
double m_Polite
double m_Bias
double m_DB
double m_SafeBraking
double m_MinGap
double m_speed


Detailed Description

A class representing the IDM driver model.

Constructor & Destructor Documentation

IDM::IDM (  ) 

IDM::~IDM (  )  [virtual]


Member Function Documentation

double IDM::update ( double  vel,
double  dist 
) [virtual]

Implements DriverModel.

double IDM::get_T (  ) 

double IDM::get_A (  ) 

double IDM::get_B (  ) 

double IDM::get_S0 (  ) 

double IDM::get_S1 (  ) 

double IDM::get_V0 (  ) 

double IDM::get_Delta (  ) 

double IDM::get_Polite (  ) 

double IDM::get_Bias (  ) 

double IDM::get_DB (  ) 

void IDM::set_T ( double  val  ) 

void IDM::set_A ( double  val  ) 

void IDM::set_B ( double  val  ) 

void IDM::set_S0 ( double  val  ) 

void IDM::set_S1 ( double  val  ) 

void IDM::set_V0 ( double  val  ) 

void IDM::set_Delta ( double  val  ) 

void IDM::set_Polite ( double  val  ) 

void IDM::set_Bias ( double  val  ) 

void IDM::set_DB ( double  val  ) 

double IDM::getDesiredVel (  )  [virtual]

Implements DriverModel.

void IDM::setVel ( double  vel  )  [virtual]

Implements DriverModel.

double IDM::LaneChange ( double  GapToFront,
double  GapToBack,
double  FrontChangeAccel,
double  CurrentBackAccel,
double  ProposedBackAccel,
bool  overtake 
) [virtual]

Finds the advantage that a vehicle would gain from changing lane.

Parameters:
GapToFront The gap to the vehicle in front in the new lane
GapToBack The gap to the vehicle behind in the new lane
FrontChangeAccel The change in acceleration the vehicle will experience with a new front vehicle
CurrentBackAccel The current acceleration of the vehicle behind in the new lane
ProposedBackAccel The new acceleration the vehicle behind will experience with a new front vehicle
overtake Whether or not the vehicle is overtaking
Returns:
The net advantage of the change
This function finds the net advantage (the vehicle's own advantage minus the disadvantage of others) that occurs due to a vehicle changing lane. The advantage is seen as the extra acceleration gained from changing lane, while the disadvantage is considered to be the deceleration that other vehicles have to undertake in order to allow the change to take place.

Implements DriverModel.

double IDM::s_star ( double  vel  )  [private]

double IDM::dvdt ( double  m_speed,
double  s 
) [private]


Member Data Documentation

double IDM::m_T [private]

double IDM::m_A [private]

double IDM::m_B [private]

double IDM::m_S0 [private]

double IDM::m_S1 [private]

double IDM::m_V0 [private]

double IDM::m_Delta [private]

double IDM::m_Polite [private]

double IDM::m_Bias [private]

double IDM::m_DB [private]

double IDM::m_SafeBraking [private]

double IDM::m_MinGap [private]

double IDM::m_speed [private]


The documentation for this class was generated from the following files:

Generated on Fri Jul 25 16:11:18 2008 for EvolveTraffic by  doxygen 1.5.6