Chapter 6

Phase 3: Integration

Overview

Earlier phases of WIA-COMM-003 define what a vehicle says: positions, speeds, accelerations and event notices. Phase 3 defines what vehicles do with those messages once they are flowing. It specifies two protocol families. Collision avoidance turns nearby vehicles' broadcasts into timely warnings and actions. Platooning lets a leader and a string of followers operate as one coordinated unit. Both rely on the same underlying inputs (relative position, heading, speed, longitudinal acceleration), but they sit at opposite ends of the time-critical spectrum. A warning has to arrive within a couple of seconds of a hazard becoming detectable. A platoon has to hold a steady gap for the whole time vehicles travel together.

6.1 How the Protocol Phase Is Organised

The specification expresses each protocol as a small, self-contained evaluator. An evaluator takes the ego vehicle and one or more remote vehicles, runs a geometric or kinematic test, and returns either nothing or a structured result. That result carries a severity level and a recommended action. Returning None when nothing is wrong is a deliberate design choice: the application layer only has to react to results that exist, and silence means no threat.

The collision-avoidance family has four members, each aimed at a different crash geometry:

The platooning family covers the life cycle of a vehicle string: formation, join and leave, continuous spacing control, and discrete maneuvers (lane change and split). Collision avoidance is stateless per evaluation. Platooning is stateful: it has a platoon identifier, a member list and a status, and every maneuver changes that state.

Technical Foundation

6.2 Collision Avoidance Protocols

All four collision-avoidance protocols work from the same pattern: filter for relevance, compute a time or distance margin, compare it against a threshold, and map the result to a severity.

Forward Collision Warning. FCW first checks that the target is actually ahead of the ego vehicle's heading. It then computes distance and closing speed (ego speed minus target speed). If the closing speed is zero or negative, the target is moving away or matching speed and no result is produced. Otherwise time-to-collision (TTC) is simply distance divided by closing speed. The specification sets a warning threshold of 2.5 seconds and a critical threshold of 1.5 seconds. A TTC below 1.5 s yields CRITICAL with action EMERGENCY_BRAKE. A TTC below 2.5 s yields WARNING with action ALERT_DRIVER. Both results include the deceleration needed to avoid contact, derived from v² = v₀² + 2ad as (rel_velocity ** 2) / (2 * distance).

ttc = distance / rel_velocity          # only when rel_velocity > 0
if ttc < self.critical_threshold:      # 1.5 s
    level, action = 'CRITICAL', 'EMERGENCY_BRAKE'
elif ttc < self.warning_threshold:     # 2.5 s
    level, action = 'WARNING', 'ALERT_DRIVER'

A worked example shows how the two outputs relate. With a 20 m gap and a closing speed of 10 m/s, TTC is 2.0 s, which falls in the warning band. The required deceleration is 100 / 40 = 2.5 m/s². Halve the gap at the same closing speed and TTC drops to 1.0 s, which is critical. The required deceleration doubles to 5 m/s². The listing also declares a min_distance of 5.0 m, but the evaluation shown does not consult it, so an implementer must decide whether it acts as a floor on the gap.

Intersection Movement Assist. IMA begins with a gate: the ego vehicle must be approaching the intersection, using a 50 m intersection radius. Each other vehicle that is also approaching has its path predicted through the intersection map. If the two paths share a conflict point, IMA compares the two vehicles' arrival times at that point. The test is on the difference, not on either arrival time alone: when abs(ego_arrival - other_arrival) is under the 3.0 s warning time, the vehicle is recorded as a threat. This captures the real hazard of an intersection, which is two vehicles occupying the same spot at nearly the same moment, regardless of how far away each currently is.

Each threat record contains the vehicle id, the conflict point, the time delta, both arrival times and a priority. Threats are sorted by time delta so the most urgent comes first. The overall action is SLOW_DOWN if the top threat's priority is YIELD, and MONITOR otherwise. Right-of-way therefore shapes the advice: the vehicle that has priority is told to keep watching, and the one that must yield is told to slow.

Blind Spot and Lane Change Warning. Blind spots are defined as rectangular zones in the ego vehicle's own coordinate frame, so remote vehicles are first transformed into that frame. The left zone spans lateral offsets from -0.5 to -3.0 m and the right zone mirrors it at +0.5 to +3.0 m. Both cover longitudinal positions from -2.0 to +2.0 m around the vehicle center. A vehicle inside a zone produces a record with its id, distance, relative velocity and relative position, and the result is reported per side.

Lane change evaluation builds on this. The side to check is derived by comparing the target lane number with the current one ('left' if target_lane < ego_vehicle.lane). If that side's blind spot is occupied, the result is safe: False with the reason "Vehicle in blind spot". If the blind spot is empty, a separate check looks for vehicles approaching in the target lane, which a static zone cannot catch. A fast car 40 m back is outside any 2 m zone yet is still a hazard, and that is why the second check exists.

Emergency Electronic Brake Lights. EEBL is the only protocol in this set that is triggered by the sender rather than by relative geometry. A vehicle whose longitudinal acceleration falls below -4.0 m/s² is in an emergency brake. It then broadcasts a DENM (decentralized environmental notification) event. The fields given in the specification are:

FieldValue in EEBL
messageTypeDENM
eventTypeemergencyBrake
severitydanger
relevanceDistance300 (meters)
validityDuration5 (seconds)

The message also carries position, heading, speed and the measured deceleration. On the receiving side, the message is discarded unless it is relevant, meaning same direction of travel and the receiver is behind the braking vehicle. Relevant messages are graded by distance. Within 100 m while traveling faster than 50 km/h, the receiver gets CRITICAL with PREPARE_TO_BRAKE. Within 200 m the receiver gets WARNING with REDUCE_SPEED. This is the see-through-the-truck scenario: a driver two vehicles back learns of the braking before the brake lights directly ahead are visible.

ProtocolTriggerKey parametersOutputs
FCWTTC below threshold2.5 s warning, 1.5 s criticalALERT_DRIVER, EMERGENCY_BRAKE
IMAArrival-time overlap at conflict point50 m radius, 3.0 s windowSLOW_DOWN, MONITOR
Blind spotVehicle inside side zone±0.5 to ±3.0 m lateral, ±2.0 m longitudinalPer-side record; lane-change safe flag
EEBLDeceleration below -4.0 m/s²300 m relevance, 5 s validityPREPARE_TO_BRAKE, REDUCE_SPEED

6.3 Platooning Protocols

Roles and formation. A platoon has one leader and any number of members. The leader controls speed, makes navigation decisions, broadcasts platoon status, and manages joins and leaves. Members follow the leader's speed and direction, keep a safe following distance, report status to the leader, and may request to leave. Initiating a platoon produces a record with a generated platoon_id, the leader, an empty member list, a formation of line (or column), a target speed taken from the leader, and status FORMING. The defaults are a maximum of 10 members and inter-vehicle spacing of 5 m minimum, 15 m maximum and 10 m target.

A join request passes through three eligibility checks, each with its own rejection reason: the platoon must not be full (Platoon full), the candidate must be behind the platoon (Not in position), and speed, direction and vehicle type must be compatible (Incompatible vehicle). Approval returns the assigned position, the target_spacing and target_speed, and a formation_point. Leaving is a three-step exchange. The leaver notifies the leader with MEMBER_LEAVING. Every vehicle behind it is told ADJUST_POSITION with a new index one lower. The leaver receives LEFT with RESUME_MANUAL_CONTROL.

Spacing control. Two control laws appear. The first is a proportional-derivative (PD) controller on spacing error, with gains of 0.5 (proportional) and 0.2 (derivative). Its output is clipped to between -3.0 and +2.0 m/s². It reports GOOD while the absolute error is under 1.0 m and ADJUSTING otherwise. Positive control means speed up and negative means slow down.

The second is Cooperative Adaptive Cruise Control (CACC), which differs from ordinary adaptive cruise control in two ways. First, it targets a time gap of 0.6 s, compared with the 1.5 to 2.0 s noted in the specification for conventional ACC. Second, it receives the leader's acceleration over V2V rather than inferring it from radar after the fact. Desired spacing is speed * time_gap + min_spacing, so the gap scales with speed. The acceleration command combines three terms:

acceleration = (
    0.4 * spacing_error +    # proportional to spacing error
    0.3 * speed_error +      # proportional to speed error
    0.8 * leader_accel       # feedforward from leader
)
acceleration = np.clip(acceleration, self.max_decel, self.max_accel)  # -4.0 .. 2.0
target_speed = ego_vehicle.speed + acceleration * 0.1                 # 100 ms update

The feedforward term is the reason a short time gap is viable. When the leader brakes, the follower learns of it through the message instead of waiting for the gap to shrink, so each vehicle in the string reacts almost together rather than in a delayed chain. At 25 m/s the 0.6 s gap works out to 15 m plus the minimum spacing, far tighter than the gap a human driver or conventional ACC would hold.

Maneuvers. A platoon lane change is a coordinated sequence:

  1. The leader broadcasts LANE_CHANGE with the target lane and an execution time 5.0 s ahead.
  2. Members acknowledge within a 2.0 s timeout. If any member has not confirmed, the maneuver ends with ABORTED and the reason "Not all members ready".
  3. Spacing is widened temporarily to 15 m.
  4. The leader changes lane, then each member follows in order after waiting for the target lane to clear, with 1 s between vehicles.
  5. Spacing returns to 10 m and the result is COMPLETE.

Splitting divides the platoon at an index. The first platoon keeps the original platoon_id, the leader and the members before the split. The vehicle at the split position becomes leader of a new platoon with a freshly generated id and the remaining members. That new leader is commanded to INCREASE_SPACING to 50 m, and both groups receive a PLATOON_SPLIT event. A split is the controlled way to resolve a platoon that has to separate, for example when members need different exits.

Market Analysis

The two protocol families appeal to different buyers and mature on different timelines. Collision-avoidance warnings are driver-assistance functions. They deliver value to a single vehicle's occupants as soon as some surrounding vehicles broadcast, so they can be introduced gradually in mixed traffic. EEBL and IMA are good examples. Neither needs an agreement between the vehicles involved, only that one of them transmits and the other listens.

Platooning is a fleet-operations proposition. Its benefit depends on a group of vehicles accepting a shared controller and a leader's authority, and on all members being capable and compatible. The join checks in this phase (position, speed, direction, vehicle type) reflect that: a platoon is a managed membership, not an open broadcast. The short CACC time gap is the source of the road-space and efficiency argument for trucking, and it is also the reason these protocols demand the most from message timing and reliability. The specification does not give market-size figures, and none are asserted here.

Industry Applications

ScenarioProtocolWhat the vehicle does
Stop-and-go highway trafficFCWAlerts at TTC under 2.5 s; commands emergency braking under 1.5 s
Urban crossroads without line of sightIMAPredicts both paths, finds the conflict point, advises yielding vehicle to slow
Multi-lane highway mergingBlind spot / lane changeBlocks a lane change when a side zone is occupied or the target lane is not clear
Sudden braking beyond sightEEBLRelays a DENM up to 300 m; receivers prepare to brake or reduce speed
Freight corridorsPlatooning with CACCHolds a short time gap using leader acceleration
Route divergencePlatoon splitCreates a second platoon with a new leader and a 50 m gap

Application developers can mix these. A platoon member still runs FCW against vehicles outside the platoon, and a platoon lane change should still pass the blind-spot test for its target lane.

Standards Compliance

Compliance for this phase is about behavior as much as message syntax. The EEBL broadcast is the clearest case, since it must be a DENM with eventType emergencyBrake, severity danger, a relevance distance and a validity duration. Interoperating vehicles from different makers therefore interpret the notice the same way. For the evaluators, a conforming implementation should reproduce the documented levels and actions for the documented thresholds, so that two vehicles facing the same situation produce the same class of warning. The status and rejection strings (APPROVED, REJECTED, ABORTED, COMPLETE, and the stated reasons) are part of the vocabulary that platoon participants exchange and should be used as written. Signing, release verification and conformance tiers are handled by the standard's common framework rather than by this phase.

Implementation Considerations

6.4 Tuning, Edge Cases and Failure Handling

The listings in this phase are reference logic, and several details need attention before they go into a vehicle.

Future Outlook

The structure of this phase leaves obvious room to grow. IMA already depends on an intersection map and a path predictor, so richer maps and better prediction improve it without changing its output format. Platoons are capped at 10 members with a single leader. Larger strings, leader handover and mixed-capability groups would extend the formation and leave protocols rather than replace them. The CACC controller is a fixed-gain law, and adaptive or model-based variants could slot into the same interface by returning the same target_speed, acceleration and error fields. These are directions the existing interfaces accommodate, not commitments of the current specification.

Summary

6.5 Summary and Transition

Phase 3 gives V2X communication its behavior. Four collision-avoidance protocols convert shared kinematics into graded warnings: FCW through time-to-collision, IMA through arrival-time overlap at a predicted conflict point, blind spot warning through zones in the ego frame plus a target-lane check, and EEBL through a sender-triggered DENM relayed up to 300 m. Platooning adds state: a leader and members, guarded join and leave exchanges, PD and CACC spacing control, and acknowledged maneuvers for lane change and split. In all of it, the notable engineering choices are the thresholds that decide severity, the short CACC time gap made possible by leader feedforward, and the handshake-or-abort pattern for anything that moves several vehicles at once.

What these protocols assume, and do not themselves supply, is that the messages feeding them are timely and trustworthy, and that every vehicle reads the vocabulary identically. The listings contain gaps an implementer must close and constants that belong in a validated safety case. The next chapter turns from how vehicles behave to how that behavior is carried forward and supported in practice.