itstools.connectv2x package¶
Submodules¶
itstools.connectv2x.carfollow module¶
Car following model
-
class
itstools.connectv2x.carfollow.CarFollowLaw(x0: float, v0: float, l0: float, veh_type: str = 'HDV', veh_lead=None, behavior: str = None, **kwargs)[source]¶ Bases:
itstools.connectv2x.vehicles.VehicleGeneric Car Following Behavior
-
property
T¶ Reaction time
-
a¶
-
a_t¶
-
control¶
-
property
dv¶ Determine current delta of speed
-
idx¶
-
property
k_x¶ Jam density
-
l_t¶
-
register_control_speed(control)[source]¶ This registers an external control signal into the vehicle behavior
-
property
s¶ Determine current spacing (X_n-1 - X_n)
-
property
s0¶ Minimum spacing
-
step_evolution(control: float = 0) → None[source]¶ Use this method to a single step in the simulation
-
type¶
-
property
u¶ Free flow speed
-
v_t¶
-
property
vd¶ Vehicle desired speed
-
property
vl¶ Leader speed
-
property
w¶ Shockwave speed
-
x_t¶
-
property
xl¶ Leader position
-
property
-
class
itstools.connectv2x.carfollow.IDM(x0: float, v0: float, veh_lead=None, **kwargs)[source]¶ Bases:
itstools.connectv2x.carfollow.CarFollowLawIntelligent Driver’s Model Car Following
-
property
a_max¶ Comfortable decceleration
-
property
b¶ Comfortable decceleration
-
car_following(vd: float) → None[source]¶ Acceleration car following
- Note:
- if leader
min(cong_acc, free_acc) -> Tampere
- else
manual acceleration
-
property
delta¶ Acceleration exponent
-
property
s0¶ Minimum distance
-
property
-
class
itstools.connectv2x.carfollow.Tampere(x0: float, v0: float, veh_type: str, l0: float = 0, veh_lead=None, **kwargs)[source]¶ Bases:
itstools.connectv2x.carfollow.CarFollowLawTampere Car Following Model
-
property
c1¶ Speed difference coefficient
-
property
c2¶ Spacing coefficient
-
property
c3¶ Tampere coefficient
-
car_following() → None[source]¶ Acceleration car following
- Note:
- if leader
min(cong_acc, free_acc) -> Tampere
- else
manual acceleration
-
property
s_d¶ Determine desired spacing (d + gamma * v )
-
property
itstools.connectv2x.connectv2x module¶
Main module.
itstools.connectv2x.controller module¶
itstools.connectv2x.demand module¶
Demand Generator
itstools.connectv2x.messages module¶
Sent messages
-
class
itstools.connectv2x.messages.Msg1(distance)[source]¶ Bases:
objectCreates a random message 1 for a vehicle
-
class
itstools.connectv2x.messages.Msg2(distance)[source]¶ Bases:
objectCreates a random message 2 for a vehicle
itstools.connectv2x.network module¶
itstools.connectv2x.plottools module¶
-
itstools.connectv2x.plottools.plot_histogram(data_x, var_name=None)[source]¶ Plots histogram of data
-
itstools.connectv2x.plottools.plot_multiple_trajectories(data_x, data_y, data_color, title=None, xlabel=None, ylabel=None, x_range=0, 800, y_range=0, 20000)[source]¶ Draw multiple trajectories
-
itstools.connectv2x.plottools.plot_single_trace(data_x, data_y, title=None, xlabel=None, ylabel=None, p_height=500, p_width=500)[source]¶ Plots a single trace
-
itstools.connectv2x.plottools.plot_single_trajectory(p, x, y, c, mapper, size=2)[source]¶ Daraws a single trajectory
-
itstools.connectv2x.plottools.plot_stairs(data_x, data_y, title=None, xlabel=None, ylabel=None)[source]¶ Plot stairs plot
itstools.connectv2x.simulatorinf2veh module¶
Main module.
itstools.connectv2x.support module¶
Support functionalities
-
itstools.connectv2x.support.acceleration_pulse(x, v0=25, drop: float = 1, delay: int = 250, duration: float = 1000)[source]¶ Create a decreasing acceleration pulse
-
itstools.connectv2x.support.deriv_pulse_sigmoid(x, A: float = 1, a: float = 50, d: int = 250, duration: float = 1000)[source]¶ Sigmoid pulse derivative
-
itstools.connectv2x.support.deriv_sigmoid(x, A: float = 1, a: float = 50, d: int = 250)[source]¶ Sigmoid derivative function
-
itstools.connectv2x.support.pulse_sigmoid(x, A: float = 1, d: int = 250, duration: float = 1000)[source]¶ Sigmoid pulse minimum duration 1000 meters
-
itstools.connectv2x.support.sigmoid(x, A: float = 1, a: float = 50, d: int = 250)[source]¶ Sigmoid function
itstools.connectv2x.traffic module¶
Traffic information
itstools.connectv2x.vehicles module¶
Vehicle behavior
-
class
itstools.connectv2x.vehicles.Vehicle(init_pos: float, init_spd: float, init_lane: float, veh_type: str = 'HDV', veh_lead=None)[source]¶ Bases:
objectThis data implements the Car Following Law.
To initialize a vehicle
Vehicle(x0,v0)
-
a¶
-
a_t¶
-
control¶
-
idx¶
-
l_t¶
-
lid= 0¶
-
type¶
-
property
v¶ Dynamic equation speed
-
v_t¶
-
property
veh_lead¶ Retrieve the pointer towards this vehicle’s leader
-
property
x¶ Dynamic equation position
-
x_t¶
-
Module contents¶
Top-level package for connectv2x.