A primary challenge to creating an intelligent vehicle that can competently drive in traffic is the task of tactical reasoning: deciding which maneuvers to perform in a particular driving situation, in real-time, given incomplete information about the rapidly changing traffic configuration. Human expertise in tactical driving is attributed to situation awareness, a task-specific understanding of the dynamic entities in the environment, and their projected impact on the agent's actions.
SAPIENT is a distributed intelligence built around the notion of
reasoning objects, independent experts, each specializing in a single aspect of the driving domain. Each reasoning object is associated with an observed traffic entity, such as a nearby vehicle or an upcoming exit, and examines the projected interactions of that entity on the agent's proposed actions. Thus, a reasoning object associated with a vehicle is responsible for preventing collisions, while one associated with a desired exit recommends those actions that will help maneuver the vehicle to the exit. The results are expressed as votes and vetos over a tactical action space of available maneuvers, and are used by a domain-independent arbiter to select the agent's next action. This loose coupling avoids the complex interactions common in traditional architectures, and also allows new reasoning objects to be easily added to an existing SAPIENT system.