Download Paramics API Design Document - California PATH

Transcript
expired green < ( maximal green – extension ) ) {
green time increased by (extension – left green).
}
If ( left green time <= time step )
Find the next phase by vehicle presence
}
}
}
2.5 Actuated Signal Control Interface
Once the signal control API is loaded in Paramics, the existing signal control will be
overridden. To access and set the signal parameters, control interface is provided with
two functions: pp_set_signal_parameters (Signal *sig) and pp_get_signal_parameters
(Char *nodeName ). The description of the Signal type is given below:
type Signal
{
// the intersection name and location
char *node;
char *controllerLocation;
// the signal paramters
int movements[8];
float maximumGreen[8];
float minimumGreen[8];
float extension[8];
float storedRed[8];
// current phase information
int currentPhase;
int expiredTime;
}
2.6 Limitations of Current API
1) During our development on full-actuated signal control API, we found that Paramics
didn't provide an API function for user to control the amber time (yellow light). Although
yellow time can be set in the configuration file, it is universal for all the intersections and
all the time. It is not convenient in the actuated signal case since some phases may be
skipped (the amber time has to be skipped at the same time). In order to simulate the real
world better, our developed APIs have to have a handle on the control of the amber time
associated with each phase. Currently, there is no action_type in the signal_action()
related to the control of yellow time. We strongly suggest that Paramics can provide this
function, and this will improve the simulation quality on actuated signal control greatly.
2) In Paramics, phase and movement are different. For the current actuated signal API
implementation, each phase usually includes two major movements, and some minor
movements. For instance, phase 1 may include dual left turn movements, and some right
7