An urban platoon consists of two or more vehicles driving on the same lane. The length of an urban platooning is limited to
in order to maintain efficiency and stability under an urban driving environment with complex topologies and dynamic vehicle movements, where
can be defined by experiments. From the literature,
would be set to 7 [
7]. In this paper, an urban platoon with a certain length below
is referred to as a local platoon. A local platoon is defined as
where
, and
are individual subsets of
which represents a set of vehicles joining a local platoon with the identification of
. Furthermore, this set
becomes a partition set of the set
when the number of vehicles in a local platoon is over three. During driving, a vehicle that intends to perform urban platooning is referred to as a candidate node
, where set
V is a set with the elements of a driving vehicle on the road. When a new local platoon is initially formed, it might have one vehicle that is an owner and creator of the new local platoon. This vehicle is referred to as a leader node
which is a node driving at the very front of the local platoon. After that, many vehicles as candidate nodes can participate in the local platoon of this leader node, which are referred to as member nodes
. Among the member nodes
, one vehicle driving at the tail end of the local platoon is called a rear node
and the other vehicles are referred to as follower nodes
except for a rear node. According to this definition, in DUPP, a vehicle should take at least one of the four roles (i.e., candidate, leader, follower, and rear nodes) of vehicles related to a local platoon corresponding to four defined vehicle sets (i.e.,
). Member nodes may consist of one rear node and one and more follower nodes while
. If the number of vehicles in a local platoon is below two, the member node is a rear node.
3.1. A Distributed Coordination for Urban Platooning
In this subsection, we introduce a distributed coordination method by which vehicles can form a local platoon, sequentially participating in urban platooning, and obtaining the control information from member nodes and a leader node within a given time. It is well suited to zero infrastructure communications and to support FAP maneuvers.
IEEE WAVE is referred to as the suite of IEEE 1609.x standards including IEEE 802.11p [
11]. In WAVE, IEEE 1609.4 that describes multi-channel operations works on top of the IEEE 802.11p MAC [
30]. DUPP exploits alternative channel access among the four methods for multi-channel operations. The alternative channel access divides the channel access time into a synchronization interval with a fixed length of 100 ms. The synchronization interval consists of a control channel interval (CCH-I) with a fixed length of 50 ms and a service channel interval (SCH-I) with a fixed length of 50 ms. During CCH-I, vehicles should reside in one designated control channel and share BSMs for supporting safety-critical applications. During SCH-I, one of four service channels (SCHs) is used by vehicles to support non-safety applications.
In DUPP, vehicles of a local platoon should share platooning-related information in the form of a platoon control message (PCM) on a given SCH during SCH-I. Regardless of an urban platooning, it is compulsory for driving vehicles to broadcast BSMs on the designated CCH during CCH-I. A leader node is required to transmit a WAVE service advertisement (WSA) message notifying the availability of an urban platooning. The multi-channel operation of DUPP works regardless of the number of transceivers of a vehicle. To coordinate PCM transmissions among vehicles during SCH-I, the DUPP’s superframe, indicating periodic time interval as shown in
Figure 1, consists of two major parts: a beacon period (BP) followed by a data period. The data period for sharing platooning control information may be divided into a contention-free period (CFP) and an event-based period (EBP). The EBP is an optional period activated depending on whether a certain event occurs or not. The BP is defined for vehicles to send only beacon messages designated to get scheduled access to the medium. The CFP aims to share PCMs within the existing local platoon to conduct the urban platooning by controlling vehicles’ acceleration. During driving, the nodes of a local platoon should respond to four events that may have the potential negative effects on the stability and safety of the urban platooning against various events predefined for ETSI’s DENM (Decentralized Environmental Notification Message) [
31]. They include emergency brake lights, hazard locations of dangerous curves, obstacles and road construction, and road conditions such as heavy rain, snow, and slippery road. All nodes detecting one of the events should be responsible for transmitting a platoon event message (PEM) within the EBP of a given superframe. In order to exclude the possibility of all nodes struggling with intensified competition, DUPP selects one transmitting node among them in a distributed manner.
Each superframe starts with the BP where the leader node of a local platoon transmits a beacon message. Each BP has only two beacon messages transmitted independently by two vehicles. After the first one is transmitted by a leader node , the second one is sent by a new candidate node based on IEEE 802.11p. A new candidate node attempts the transmission of its beacon message only after receiving the beacon message of the leader node. It is noted that only one candidate node succeeds in this competition even though there may exist several candidate nodes accessing to medium to send their beacon messages. In other words, DUPP allows only one vehicle for each superframe to participate in the existing local platoon.
After finishing the BP, the CFP starts with the PCM transmission of a leader node. An individual member node sequentially transmits its PCM upon receiving the PCM from its preceding member node. Since the wireless channel is shared with contention-based medium access and is easily influenced by various driving environments, nodes’ transmissions in the local platoon might be delayed or failed. DUPP is responsible for periodically transmitting accurate control information through in-vehicle networks. Therefore, if one of them does not succeed in transmitting the PCM, all nodes behind the failed node are regulated from transmitting their PCM. It means that the nodes behind the delayed or failed node cannot send their PCMs during the superframe and should be separated from the existing local platoon. Those nodes need to perform either a creation, joining, splitting, or merging maneuver.
During EBP, DUPP allows only one vehicle (i.e., a forwarder node) to broadcast a PEM as a representative of a local platoon in order to give a warning against the detected event. It aims to reduce the redundant messages generated from many nodes detecting a particular event simultaneously. To determine a forwarder node to broadcast its PEM, an individual node of the local platoon makes a decision by itself, based on an analytic hierarchy process. We describe this AHP-based decision in
Section 3.3.
A WSA message defined in IEEE 1609.3 is composed of a header and a series of WAVE elements [
32]. The header information includes the current WAVE version and extension fields. The WAVE elements may include three segments (i.e., a series of variable-length Service Info, a series of variable-length Channel Info, and a WAVE Routing Advertisement). Since the WAVE Routing Advertisement segment is to provide information about infrastructure internetwork connectivity, it is not necessary for DUPP designed for distributed coordination using zero-infrastructure communication.
In DUPP, three segments (Service Info, Channel Info, and Platooning Info) are used for the leader node’s WSA message as shown in
Figure 2, which illustrates a new WSA message used for DUPP designed for urban platooning. To notify the availability of urban platooning, the Platooning Info segment is newly added. The size of the WSA message used for DUPP is a total of 48 bytes. We discuss each segment in detail in the following.
First, the Service Info segment contains information about a supported service. The first field of the Service Info segment is a WAVE Element ID field with a value of 0x01. To distinguish the type of the supported services, a unique identifier (ID) is allocated to each service. This service ID is used to the value of the PSID (Provider Service Identifier) field. The Service Priority field determines access to service channels to respond to the service request of this specified priority. In this regard, we use the value having the highest priority among given services to occupy the service channel. The Channel Index field indicates the service channel where the advertised urban platooning service operates. Normally, in one WSA message, there may be information on one or more channels to support various services at the same time. The n value of the Channel Index field of the Service Info segment connects to the n-th Channel Info segment. However, it is assumed that the nodes for DUPP concentrate on this urban platooning service. Therefore, the WSA message of DUPP has only one Channel Info segment and the Channel Index field which is set as the value of 0x01.
Second, the Channel Info segment aims to provide the information on the wireless channel used for a defined service. In the Channel Info segment, the WAVE Element ID is specified by the value of 0x02. The Operating Class field allows the Channel Number to identify a specific channel uniquely in the context of a country. The Channel Number field indicates the number of the channel for urban platooning to operate. To communicate with each other, the nodes of a given local platoon should specify how fast and how strong they transmit after they move to the channel where urban platooning operates. It is related to the two fields of Data Rate and Transmit Power Level. The Adaptable field enables them to operate in a more flexible way. If the Adaptable field is set to zero, they are required to communicate by complying with the values specified in the Data Rate and Transmit Power Level fields. If not, the value of the Data Rate field is used as a minimum value for transmission, and the transmission power of the nodes cannot exceed the value specified in the Transmit Power Level field. Finally, the Platooning Info segment contains two fields of the Platoon Size with the number of nodes and Member List with the list of IDs of all nodes belonging to a local platoon. These fields are used to assist platooning maneuvers.
In DUPP, the three messages supporting a local platoon are designed: a beacon message, PCM, and PEM as discussed above. To maintain stable urban platooning, DUPP exploits a part of the existing SAE J2735-based BSM part 1 to share vehicle information and extends it to contain additional information regarding a local platoon. As shown in
Figure 3, this extension illustrates the basic form of three messages. The basic form consists of two elements of vehicle information and platoon information.
First, the vehicle information element is categorized into three segments. As shown in
Figure 3, the Identity segment has three fields related to basic information about a given message.
The first field of Msg ID is a unique ID of a message, the second ID field is the vehicle’s ID of a sender node, and the third SecMark field is a generated time of the message. To maintain shorter inter-vehicle space, it is necessary to exchange dynamics information of all DUPP nodes. In this regard, the Position segment has information consisting of Latitude, Longitude, and Size fields of the vehicle. The Motion segment contains vehicle dynamics information defined as Speed, Heading, Angle, and AccelSet fields. In detail, the AccelSet field consists of four acceleration values (i.e., longitude acceleration, latitude acceleration, vertical acceleration, and a yaw rate).
Second, the platoon information element consists of maneuver and AHP segments. In the maneuver segment, the value of the Type field of each message is given as a different value to distinguish three messages. The beacon message, PCM, and PEM have 0x01, 0x02, and 0x03 respectively. To specify an existing local platoon, the Vehicle IDs field contains a list with the IDs of all nodes in sequence in this local platoon. Since DUPP does not perform explicit confirmation of nodes’ maneuvers, this Vehicle IDs field is designed to ensure its reliability while vehicles are conducting distributed coordination. When a leader node generates a beacon message, the leader node specifies the Vehicle IDs field with a list of all nodes belonging to its local platoon. The Vehicle IDs field of the leader node is used to notify candidate nodes of information on all nodes belonging to its local platoon and can be used to identify this local platoon from others on the same channel. A candidate node adds its own vehicle ID to a leader node’s list and puts the extended list in this field to notify the leader node of its intention to attend. It indicates that the candidate node designates a specific local platoon to participate. In the case of the PCM, as it does in the beacon message, the leader node also constructs the list for all nodes belong to its local platoon. When there is a candidate node succeeding to the transmission of a beacon message during this superframe and the current number of all nodes is below , the list is extended by adding the vehicle ID of that candidate node. This extended list indicates implicitly that the leader node accepts a new joining attempt presented by the beacon message of the candidate node. During the CFP, the members receiving the PCM of the leader node also extend the list by adding the vehicle ID of that candidate node. The Maneuver field is designed to describe nodes’ maneuvers defined for a distributed urban platooning. In the case of a beacon message, the value of the Maneuver field can be either 0x00 or 0x01. The value of 0x00 means the message of the leader node and the value of 0 × 01 means the message of the newly joining node (i.e., one of the candidate nodes). When the Type field has the value representing PCM, the Maneuver field has one of four different values: 0x00 representing a normal driving node within a given local platoon, 0x01 representing a newly joining node, 0x02 representing a node intending for leaving, 0x03 representing a newly merging node, and 0x04 representing a node to conduct splitting. When the value of the Type field is PEM, the Maneuver field indicates the ID of an event. The total size of each of the DUPP messages is fixed as 86 bytes.
Three fields of the AHP segment are used to determine a forwarder for a local platoon. In DUPP, each node of the local platoon only uses the information of PCMs when a forwarder is determined in a distributed manner. Therefore, the beacon message and PEM do not specify the AHP segment. The string stability field contains the difference between expected and real position, indicating how well the node keeps the safety distance required by the leader node of the local platoon. The interference field specifies the number of vehicles coexisting outside the local platoon in order to convey information about how much data transmission of this PCM’s owner affects the data transmission outside the local platoon. Since the connectivity represents a capability of data dissemination of a given node, the connectivity field has the number of nodes behind this PCM’s owner.
3.2. Flexible and Autonomous Platooning
To maximize the flexibility and adaptability of urban platooning, flexible and autonomous platooning is designed for DUPP. FAP defines the vehicle’s maneuvers with five platooning maneuvers: creation, joining, merging, leaving, and splitting maneuvers. For ease of understanding, the flow diagram for each FAP is illustrated in
Appendix A.
3.2.1. A Creation Maneuver
A creation maneuver is a series of processes in which a candidate node becomes a leader node to create a new local platoon. To create a local platoon, it is assumed that there is no platoon in the transmission range of a candidate node. After a candidate node determines creating a new local platoon under those conditions, a candidate node sends a new WSA message on CCH during CCH-I and becomes a leader node. At the end of CCH-I, it switches to SCH specified in the WSA message. When a leader node transmits a beacon message to start the BP, a new local platoon is generated on SCH. While there is one vehicle belonging to a local platoon, the vehicle is not only a leader node but also a rear node. Therefore, a leader node completes creating a local platoon within one superframe on SCH.
There may be situations that violate the assumptions above. If there is an existing local platoon, a candidate node can receive a WSA message broadcast by a certain vehicle. If a candidate node is interested in this local platoon and satisfies four join requirements, it does not generate a new WSA message but performs a joining maneuver. The four join requirements are described in
Section 3.2.2 in detail. If a candidate node intends not to participate in this local platoon, it transmits its own WSA message to create a local platoon.
3.2.2. A Joining Maneuver
A joining maneuver is a series of processes for a candidate node to join an existing platoon. To join a local platoon, a candidate node should satisfy four join requirements: (1) there is at least one local platoon in the transmission range of the candidate node regardless of the driving lane, (2) the candidate node follows the given local platoon, (3) the total length of the local platoon should be less than before the candidate node participates in the existing local platoon, and (4) the existing local platoon and the candidate node should not be blocked by obstacles such as vehicles of no interest.
A candidate node that decides on participating in the leader node’s local platoon performs its speed control and channel switching simultaneously. To inform a new vehicle of a joining position, the WSA message of a leader node includes the ID of the rear node in the existing local platoon. By using the ID of the rear node, a candidate node obtains position information from the BSM of the rear node and approaches within 20 m of the rear node to perform the joining maneuver. If the candidate node and the rear node are not driving in the same lane, the candidate node changes the lanes and approaches the rear node.
Simultaneously, at the beginning of SCH-I, the candidate node moves to the SCH specified in the WSA of the leader node to perform a joining maneuver. On SCH, the candidate node starts to perform the joining maneuver by transmitting its beacon message during the BP. It is allowed to transmit a beacon message after the leader node transmits its beacon message. The beacon message of the candidate node should specify the value of 0x01 in the Maneuver field and have the Vehicle IDs field with the leader node’s list to specify the local platoon to join. Since the candidate node can obtain the leader node’s list from the WSA message on CCH, it can confirm the leader node’s beacon message transmitted on SCH. After the candidate node successfully transmits the beacon message, the leader node of the local platoon expands the list of the existing nodes belonging to this local platoon to include the new candidate node. The leader node allows the candidate node to join this local platoon by transmitting the PCM with the extended list in the given superframe during the SCH-I. While the existing local platoon is maintained, the leader node is responsible for managing the list of the vehicles’ IDs including a new rear node and providing the list periodically through the beacon message, the WSA message, and the PCM.
Assuming no contention, the candidate node (i.e., winner) finishes the joining maneuver by transmitting its PCM and can complete it within one synchronization interval. There might be one and more new candidate nodes to attempt to join the existing local platoon. However, since one candidate node wins in contention-based access, it transmits its beacon message after a leader node succeeds to broadcast its beacon message during the BP. This winner becomes a new member of the local platoon and becomes a rear node at the same time. Accordingly, the rear node is changed into a follower node. The candidate nodes that were not successful to join the local platoon in the first attempt can try in the next superframe. In this regard, if there are several candidate nodes to join the local platoon at the same time on SCH, to complete the joining maneuver, it takes as many superframes as the number of candidate nodes attempting at the same time. Nevertheless, it is noted that there might exist two cases for a candidate node not to completely join an existing local platoon over time: (1) the case that the rear of the vehicle is blocked by another vehicle that is not interested in this platoon and (2) the case that the number of the member and leader nodes exceeds the designated size of the local platoon after a winner among new candidate nodes conducts the joining maneuver. In these cases, the candidate nodes except for the winner should perform the creation maneuver to generate a new local platoon in the next CCH-I.
3.2.3. A Merging Maneuver
A merging maneuver is conducted when two consecutive local platoons meet in the same lane. To merge local platoons, it is assumed that (1) two local platoons should be in the same lane, (2) the leader node of each local platoon should be in the transmission range of each other, (3) the sum of the length of two platoons should be below , and (4) two local platoons should not be blocked by obstacles such as vehicles that are not interested in the urban platooning.
When driving on the road, the length of a local platoon will increase until the number of nodes is below . However, this local platoon can be split by traffic lights and communication failure. It is possible that there are many small local platoons, reducing the efficiency of the urban platooning. To improve the performance of the DUPP, we design a merge maneuver allowing small local platoons to merge to form one large local platoon. For instance, if there are two small local platoons nearby, two leader nodes can hear each other’s WSA message during CCH-I. According to the distributed coordination of DUPP, the following local platoon can merge into the preceding local platoon. To perform the merging maneuver, all nodes of the following local platoon change the speed to approach the preceding local platoon. To do this, the leader node of the following local platoon should send a PCM with the desired speed. After that, if the leader node of the following local platoon approaches within 20 m of the rear node of the preceding local platoon, the merging maneuver will be performed by hearing each other’s WSA message during CCH-I. In the next SCH-I, the nodes in the following local platoon switch the service channel designating in the WSA message of the preceding local platoon.
During the BP in the next SCH-I, two leader nodes of the preceding and following local platoons should transmit individual beacon messages. First, the leader node of the preceding local platoon sends a beacon message with its managed node IDs. Second, the leader node of the following local platoon responds with a beacon message containing all the node IDs of the preceding and following local platoons. In the CFP, the leader node of the preceding local platoon sends a PCM containing the list of all node IDs which is obtained from the beacon message of the leader node of the following local platoon. It indicates that the leader node of the preceding local platoon allows the following local platoon to be merged to its local platoon. As a confirmation of newly merged members, all the nodes in the preceding local platoon transmit PCM which contains not only the nodes in the preceding local platoon but also the nodes in the following local platoon. The PCMs of the following local platoon nodes are the same as that of the preceding local platoon nodes except for the value of a particular field. The Maneuver field in the PCM has the value of 0x04 that indicates that they are newly merged nodes. As the nodes of the following local platoon merge into the preceding local platoon, the value of the Maneuver field will be the value of 0x00 in the next superframe. As the merging maneuver is completed when the nodes in the following local platoon transmit a PCM containing the Maneuver field as the value of 0x04, the merging maneuver is finished within one and a half synchronization interval if two platoons are close enough before the merging maneuver is performed.
3.2.4. A Leaving Maneuver
A leaving maneuver represents the behavior of the vehicle to leave without participating in the local platoon anymore regardless of its position. There are two cases that the vehicle leaves from a platoon: the expected and the unexpected. The former indicates that the vehicle has a plan to change its route in advance due to the road traffic conditions (e.g., congestion, illegal parking, and traffic disruption due to a signalized intersection). The latter indicates that a vehicle is considered as leaving a local platoon by other members that cannot send PCMs within a deadline of one synchronization interval.
As a node of the local platoon changes its route due to road traffic conditions, the node is separated from the local platoon. Before this separation, a node should inform the other nodes of its intention of leaving the local platoon by transmitting its PCM with the Maneuver field of the value of 0x02. However, the leaving maneuver is different depending on whether a leaving node is a leader node or not. If a leaving node is the rear node of the local platoon, the follower node just in front of it becomes a new rear node. In this case, the leader node removes the leaving node’s ID from the managed list in this local platoon. In the next CCH-I, the leader node broadcasts the changed information through its WSA message, providing tacit approval for a leaving maneuver. If a leaving node is one of the follower nodes, it should conduct a lane change to leave after it transmits its PCM. Due to this leaving node, there occurs a large distance gap in the middle of the local platoon. To maintain the safety distance specified by its leader node, the follower node behind the leaving node controls its speed, using the distance gap from its new preceding node and the position and acceleration of the PCM received from the leader node in a given superframe. If a leaving node is the leader node, the leaving maneuver enables the member node just behind it to inherit the leader node’s role. Therefore, the member node just behind the leader node should become a new leader node at the next CCH-I. The new leader node transmits its WSA message after it constructs its node list excluding the ID of the leaving leader node. The expected case requires one synchronization interval for completing it.
The unexpected leaving maneuver is more complex than the expected leaving maneuver. An unexpected case may occur when a node cannot transmit a PCM within a given superframe due to a communication failure. A leader node is responsible for detecting an unexpected case within a given superframe. As soon as detecting it, the leader node determines ruling out this failure node and removes this node ID from the managed list. According to the distributed coordination in DUPP, all member nodes behind the failure node are also removed from the local platoon since they are not allowed to transmit their PCM. After that, they can perform creation, joining, or merging maneuvers after they are eliminated against the local platoon. In other words, performing these maneuvers is preferred than accepting a potential risk that may occur if they drive during a certain grace period without the latest PCMs. The leaving maneuver of the unexpected case is completed when the leader node transmits the updated WSA message in the next CCH-I. Accordingly, the leaving maneuver is also finished within one synchronization interval.
On the road, the eliminated nodes should perform one among the creation, joining, splitting, and merging maneuvers. Determining an appropriate maneuver is based on the number of the eliminated nodes. We define the length of the local platoon as and the driving order number of a given node in the local platoon as . The leader node (i.e., ) and the rear node (i.e., ) are not related to the decision depending on the number of eliminated nodes since they comply with the expected leaving maneuver. Depending on driving conditions as discussed above, it can perform either creation or joining maneuver. When the unexpected leaving node is identified by the driving order number (), the -th node divides the given local platoon into a front group and a rear group. The front group is part of the given local platoon and is maintained as a local platoon by the leader node (i.e., ). However, the rear group consists of the eliminated nodes and is not the local platoon because the leader node does not exist in that. If the number of the eliminated nodes in the rear group is less than or equal to three, the eliminated nodes independently and sequentially perform joining maneuvers.
When the number of the eliminated nodes in the rear group is greater than three, they perform a splitting maneuver. To improve the efficiency of DUPP, the split local platoon is designed to merge into a small local platoon. Among the eliminated nodes, the first driving nodes start the splitting maneuver for eliminated nodes. After the splitting maneuver, a new rear local platoon should merge into the front local platoon according to the assumptions of the merging maneuver (as described in
Section 3.2.2). This is because it is more efficient to perform the joining maneuver than performing the splitting maneuver when the maximum number of the eliminated nodes is three. The join maneuver requires at least one to three synchronization intervals depending on the number of the eliminated nodes. However, the splitting maneuver accompanied by the merging maneuver requires the minimum of three synchronization intervals: an interval to confirm the elimination by the WSA message of the leader node in the front local platoon, an interval to create a new rear local platoon by sending a WSA message, and an interval to perform the merging maneuver.
If the failed node recovers its communication capability after performing any maneuver of the eliminated nodes, this node can perform either the creation or joining maneuver according to the creation and join conditions.
3.2.5. A Splitting Maneuver
A local platoon might be physically split when all nodes of the local platoon cannot completely cross the intersection because of the traffic signal after the leader node of the local platoon goes into an intersection. Furthermore, a certain vehicle might interrupt the smooth flow of a local platoon when the local platoon is unstable. It leads to the separation of the local platoon in the DUPP. As discussed above, a group consisting of the nodes eliminated from the existing local platoon can determine performing the splitting maneuver according to the local platoon condition. Among the nodes that will be separated physically, the member node driving at the front is responsible for the splitting maneuver and becomes a new leader node. Therefore, the new leader node creates a new local platoon (i.e., a rear local platoon) separated from the given local platoon, and the new platoon consists of the existing separated nodes. The new leader node should transmit its WSA message in the next CCH-I for starting splitting maneuver which is the same as the creation maneuver. In contrast to the creation maneuver, however, they do not transmit their beacon messages during BP since the member nodes already belong to the new local platoon. The new leader node transmits a PCM with the value of 0x03 in the Maneuver field and the list of the existing member nodes that are separated from the previous leader node’s list. All member nodes of the new local platoon sequentially transmit their PCM with the new list of nodes and the value of 0x03 in the Maneuver field. In this regard, the splitting maneuver is completed within one synchronization interval.
3.3. Analytic Hierarchy Process-Based Forwarder Selection
The EBP is an optional period activated depending on whether a certain event occurs or not. In DUPP, certain events with a negative effect on urban platooning are pre-defined. They include emergency brake lights, hazard locations of dangerous curves, road construction and obstacles on the road, and road conditions such as heavy rain, snow, and slippery road. When nodes in the local platoon detect any such pre-defined event, they may transmit redundant messages using the wireless channel. To address this problem, we regulate the number of nodes for event notification by selecting only one forwarder among vehicles. As soon as CFP is finished by receiving PCMs of all nodes in the local platoon, each node performs AHP-based selection to determine the one-time forwarder using information distributed in PCMs.
The AHP approach is useful in systematically solving the problem of decision-making that may be differentiated depending on the degree of influence of the interrelated and complex criteria required for decision making [
33]. In the AHP approach, the definition of criteria and the calculation of their weight are critical to assess the alternatives. The structure of the proposed AHP-based forwarder selection of DUPP is shown in
Figure 4. The fundamentals of AHP consist of the definition of criteria, the pairwise comparison between criteria, pairwise comparison between alternatives, and the priority calculation for achieving an objective [
34,
35,
36,
37]. The proposed AHP-based forwarder selection of DUPP follows the AHP’s fundamental processes, focusing on the development of the following four items: the definition of three criteria, the definition of grades for each criterion and for each node, the calculation of the decision weight, and the priority decision. The AHP methodology allows DUPP to determine which alternative is the most consistent with our three criteria and the degree of importance.
3.3.1. Definition of Three Criteria
In the first step, to select an appropriate forwarder (i.e., objective in AHP) among all nodes (i.e., alternatives in AHP) in a local platoon, the DUPP defines three criteria consisting of string stability, interference, and connectivity. In AHP-based forwarder selection, DUPP intends to select a node heavily affected by the detected event to become a forwarder. DUPP also considers the individual communication conditions of the nodes in the local platoon. The string stability is related to the degree of the detected event’s effect and both interference and connectivity represent the communication capability of a node. After the priority for each node is calculated using three criteria, the node with the highest priority is determined as a forwarder in a given superframe.
The string stability refers to the stability of a driving node in a local platoon and indicates how well the node keeps the safety distance required by the leader node in the local platoon. The string stability of node
at time
, denoted as
, is given as:
where
is the expected position of node
at time
,
indicates
node’s position given at time
,
is the average speed of node
during
that is the amount of time elapsed from the time
, and
indicates the safety distance the nodes comply with depending on a given headway time between nodes. The time
is the time at which node
has received a leader node’s PCM in a given superframe. Therefore, the given time
refers to the time
after time
.
is estimated with the position of node
at time
the acceleration value in the longitude acceleration field of the PCM received from a leader node at time
, and the amount of time elapsed from time
to time
. Therefore, the closer the value of
is to 0, the better the distance between nodes is maintained and the higher the stability is. The node with a high value in the stability has a high probability to be selected as a forwarder.
The interference criterion represents the degree of interference resulting from the data transmission of a given node on other nodes outside the local platoon for their transmission. The interference of node
at time
, denoted as
, is given as:
where
is the number of all nodes on the road that node
can interfere with, regardless of whether they belong to the local platoon, and
indicates the maximum number of nodes that can exist in the transmission range of node
. The maximum number of nodes in the transmission range of node
is defined by the vehicle’s length, safety distance, road units, and lanes. It is assumed that one road segment is divided into small road units of a certain size (in this paper, it is given as 20 m). When a node tries to transmit data, many road units can be included within its transmission range. Meanwhile, a vehicle occupies a certain size of space on the road. It is reasonable to assume that a vehicle needs space equal to the length of the vehicle plus the safety distance. For instance, when the length of a vehicle is 4 m, it needs about 17.3 m of space on the road when its speed is given as 60 km/h and the time headway is given as 0.8 s in urban platooning. This length may vary depending on the type of vehicle. Considering the situation of a small road unit filled with vehicles for each lane, the total number of vehicles,
, within a small road unit can be calculated. When a road unit consists of multiple lanes, it is the total number of vehicles in a road unit multiplied by the number of lanes. In this regard,
is defined as:
where
is the total number of a vehicle within road unit
,
is the number of road units within the transmission range of node
, and
is the number of lanes of the road unit
. Therefore, the closer the value of
is to 0, the less the interference with other nodes is. In terms of forwarder selection, the node with a low interference level has a high probability to be selected as a forwarder.
The connectivity criterion represents the capability of data dissemination of a given node. The connectivity of node
at time
, denoted as
, is given as:
where
is the number of nodes behind node
in the local platoon at time
and the current number of nodes in the local platoon is denoted as
. Therefore, the closer the value of
is to 1, the better the communication capability is. In terms of forwarder selection, the node with high connectivity level has a high probability to be selected as a forwarder.
3.3.2. Pairwise Comparison between Criteria
The AHP determines the relative superiority of the alternatives after the relative importance of the criterion is determined through a pairwise comparison [
35]. DUPP performs the first pairwise comparison in each criterion during the second step and the second pairwise comparison to all nodes for each criterion during the third step. The first one aims to compare the importance of criteria through pairwise comparisons, two at a time. The second one aims to compare the importance of nodes, two at a time, through pairwise comparisons. These pairwise comparisons are used to generate a decision weight set for each criterion and each node, respectively, as a decision weight vector. To perform the first pairwise comparison of each criterion, a general grade is defined as shown in
Table 1. Using the grade in AHP provides a way to include experience and knowledge of the DUPP in an intuitive way for DUPP [
35]. We divide the importance into three grades and give each grade a score from one to five increasing by two points to widen the difference in grade. We weight the criteria using the general grade. In other words, this general grade enables DUPP to represent the preference between criteria by assessing them.
When each node performs a pairwise comparison to criteria, DUPP requires constructing an
-by-
decision matrix (i.e.,
= 3) which is a square matrix [
38]. In the AHP-based forwarder selection, the decision matrix is generated using the general grade in order to represent relative importance between defined criteria. As discussed above, in DUPP, a node that is heavily affected by the detected event should transmit the related information to many nodes (the more, the better) without affecting other nodes in terms of communication. In this regard, the string stability is considered to have higher importance than the interference. The connectivity is designed to have the lowest importance. In detail, depending on the general grade of
Table 1, the relative importance indicates that the importance of the string stability to the interference is five-point and the importance of the interference to the string stability gets the reciprocal of this five-point. Note that the decision matrix may vary according to the definition of relative importance with different grades [
33].
The results of the relative importance between the two criteria are presented in the
-by-
decision matrix.
Table 2 shows how the criteria are rated against each other. In
Table 2, the result of the decision matrix is denoted as
for string stability denoted as
, interference denoted as
, and connectivity denoted as
. From the
-by-
decision matrix, a decision weight vector (i.e.,
-by-
matrix) is calculated as the normalized eigenvector corresponding to the largest eigenvalue of a pairwise comparison matrix as follows. A pairwise comparison matrix denoted as
, for defined criteria is constructed through normalization dividing each element of the decision matrix by the total value of the corresponding columns. For instance,
is obtained by dividing
by 1.533 that is the total sum of the values in the first column as shown in
Table 2. After that, weight values to each criterion are calculated by dividing the sum of the values of all columns of each row by the number of rows. The vector of decision weights, denoted as
, is generated for three criteria and should satisfy the conditions
1 and
. The results of the decision matrix, the pairwise comparison matrix, and the decision weight vector are summarized in
Table 2. Each value of the calculated eigenvector
is considered as the predetermined decision weight for each criterion, respectively.
3.3.3. Pairwise Comparison between Alternatives
DUPP performs the second pairwise comparison for all nodes in the same way as performing the first pairwise comparison to the criteria. The second pairwise comparison for all nodes is independently performed in terms of the string stability
, the interference (
, and connectivity (
at time
when the number of the nodes belonging to the local platoon is given as
. In other words, DUPP compares the
node alternatives to the criteria. For each criterion, determining the relative grade between nodes is based on the difference of the given criterion of nodes. The difference between node
and
for a given criterion
which is defined as Equation (5).
If the difference
ranges from a given low-boundary denoted as
to a given high-boundary denoted as
, node
is given as the defined grade and the grade of node
is given as the reciprocal of the grade of node
. Hence, the relative grade for pairwise comparison can be described by the following equation:
We divide the different values into five grades and give each grade a score from one to nine increasing by two points. Hence, we provide the relative grade of nodes’ pairwise-comparison according to the range defined by experimental values as shown in
Table 3 [
33]. When giving the relative grade between two nodes, it depends on the difference between two nodes for each criterion. For interference, in the comparison with node
and node
, node
obtains one from the relative grade but node
has the reciprocal of the relative grade obtained when the difference between node
and node
is positive (i.e.,
). For string stability and the connectivity between node
and node
, node
obtains one among the relative grade but node
has the reciprocal of the obtained relative grade when the difference between node
and node
is positive (i.e.,
).
Based on
Table 3, the decision matrix (i.e.,
matrix,
) for all nodes is constructed by the same method as for constructing the decision matrix
for each criterion above. Three matrices of the pairwise comparison to all nodes are constructed for each criterion by using the defined relative grade of
Table 3. The priority weight matrix of a node for all criteria, denoted as
(i.e.,
matrix at time
), consists of the priority weight value for each criterion. To help understand the AHP-based forwarder selection technique, we provide an example of the priority weight matrix at time
, which is summarized in
Table 4. The values of this priority weight matrix are changed whenever a one-time forwarder is determined. This is because the information for AHP-based selection is synchronized through PCMs in the local platoon.
3.3.4. Priority Calculation for Achieving an Objectives
In the final step on the AHP-based forwarder selection, using the priority weight matrix of all nodes, each node selects the appropriate node with the highest priority as a forwarder. The priority of a node for a forwarder selection, denoted as
, is a weighted sum of the priority weight for node
(
based on the decision weight of each criterion (i.e.,
) and is given as follows:
From Equation (7) using the decision weight vector of
Table 2 and the priority weight matrix of the example at time
in
Table 4, we derive that Node 4 is determined as a forwarder using
Table 5 which shows the calculated priorities of each node.