Autopysta
Loading...
Searching...
No Matches
example_car Class Reference

A simple car-following model with a predefined trajectory. More...

#include <example_car.h>

Inheritance diagram for example_car:
model

Public Member Functions

 example_car (std::vector< point * > t)
 Constructor for the example_car model.
 
double accel (point *leader, point *follower, params *q) override
 Computes the acceleration of the follower vehicle.
 
double equil_spcg (double vl, double vf, params *q) override
 Computes the equilibrium spacing between vehicles.
 
double wave_speed (point *leader, point *follower, params *q) override
 Computes the wave speed of a traffic disturbance.
 
double free_flow_speed (params *q) override
 Returns the free-flow speed of the model.
 
pointnew_point (generalized_trajectory *leader, trajectory *follower, params *p=(params *) nullptr) override
 Retrieves the next point in the predefined trajectory.
 
- Public Member Functions inherited from model
virtual void validate_parameters (params *p=nullptr)
 Validate the model parameters.
 
virtual pointnew_point (point *leader, point *follower, params *p=nullptr)
 Compute the next point for a vehicle.
 

Additional Inherited Members

- Public Attributes inherited from model
paramspars
 Parameters for the car-following model.
 
- Protected Member Functions inherited from model

Detailed Description

A simple car-following model with a predefined trajectory.

The example_car class models vehicle behavior based on a predefined trajectory of points. This class demonstrates basic car-following dynamics by returning points sequentially from its trajectory.

Constructor & Destructor Documentation

◆ example_car()

example_car::example_car ( std::vector< point * > t)

Constructor for the example_car model.

Initializes the car with a predefined trajectory of points.

Parameters
tA vector of points representing the trajectory of the vehicle over time.

Member Function Documentation

◆ accel()

double example_car::accel ( point * leader,
point * follower,
params * q )
overridevirtual

Computes the acceleration of the follower vehicle.

This function returns a default value of 0 for acceleration, as the model does not implement dynamic acceleration behavior. It simply follows the predefined trajectory.

Parameters
leaderA pointer to the leader vehicle's current point (can be nullptr if no leader).
followerA pointer to the follower vehicle's current point.
qModel-specific parameters.
Returns
Always returns 0.

Implements model.

◆ equil_spcg()

double example_car::equil_spcg ( double vl,
double vf,
params * q )
overridevirtual

Computes the equilibrium spacing between vehicles.

This function returns 0, as the equilibrium spacing is not dynamically calculated in this model.

Parameters
vlThe velocity of the leader vehicle.
vfThe velocity of the follower vehicle.
qModel-specific parameters.
Returns
Always returns 0.

Implements model.

◆ free_flow_speed()

double example_car::free_flow_speed ( params * q)
overridevirtual

Returns the free-flow speed of the model.

The method returns 0 for free-flow speed in this example model.

Parameters
qModel-specific parameters.
Returns
Always returns 0.

Implements model.

◆ new_point()

point * example_car::new_point ( generalized_trajectory * leader,
trajectory * follower,
params * p = (params *) nullptr )
overridevirtual

Retrieves the next point in the predefined trajectory.

This method returns the next point in the predefined trajectory, removing it from the queue. It does not compute new positions or velocities.

Parameters
leaderA pointer to the leader vehicle's trajectory (can be nullptr if no leader).
followerA pointer to the follower vehicle's trajectory.
pModel-specific parameters (optional).
Returns
The next point in the trajectory.

Reimplemented from model.

◆ wave_speed()

double example_car::wave_speed ( point * leader,
point * follower,
params * q )
overridevirtual

Computes the wave speed of a traffic disturbance.

This method returns 0, as wave speed calculation is not implemented in this example model.

Parameters
leaderA pointer to the leader vehicle's point.
followerA pointer to the follower vehicle's point.
qModel-specific parameters.
Returns
Always returns 0.

Implements model.


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