# An Edge Computing Approach for Autonomous Vehicle Platooning

Omkar Dokur, Gustavo Olenscki, Srinivas Katkoori

► To cite this version:

Omkar Dokur, Gustavo Olenscki, Srinivas Katkoori. An Edge Computing Approach for Autonomous Vehicle Platooning. 5th IFIP International Internet of Things Conference (IFIPIoT), Oct 2022, Amsterdam, Netherlands. pp.332-349, 10.1007/978-3-031-18872-5_19. hal-04704226

HAL Id: hal-04704226

https://inria.hal.science/hal-04704226v1

Submitted on 25 Sep 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# An Edge Computing Approach for Autonomous Vehicle Platooning

Omkar Dokur¹[0000-0002-7897-8178], Gustavo Olenscki¹[0000-0001-9197-8001], and Srinivas Katkoori¹[0000-0002-7589-5836]

University of South Florida, Tampa FL 33620, USA

{omkardokur,gustavo12,katkoori}@usf.edu

**Abstract.** One of the recent advancements in Internet of Things (IoT) is connected vehicles (CV), where each vehicle can connect to the things or vehicles nearby using wireless networks such as Dedicated Short Range Communication (DSRC). This gives rise to many vehicular applications such as platooning. A group of vehicles can negotiate and drive jointly close to each other in a cooperative manner to form a platoon. Using connected and automated driving systems, platooning can aid in cutting total fuel costs, reducing CO₂ emissions, improving efficiency, decreasing traffic congestion, increasing safety, and providing comfort for the drivers. The existing work on platooning assumes sensors besides DSRC sensors which may not be reliable in extremely poor weather conditions. In this work, we propose DSRC only based platoon negotiation where each vehicle is an edge node. A vehicle that is interested in platooning can broadcast a DSRC message and interesting vehicles can establish communication to negotiate their route. Then, in a series of transactions over the DSRC channel they can agree upon the leader position as well as the follower position(s). We employ the relative position estimation technique we proposed in prior work. The host vehicle (HV) computes the relative angle with the remote vehicle (RV) to accurately estimate its relative position based on Basic Safety Messages (BSMs) only. In this paper, we propose a new platoon negotiation algorithm based only on DSRC communication messages that works well in any weather condition. To test this, we extend CARLA, an autonomous driving simulator to support IoT connectivity as well as platooning. We implemented DSRC agent class for connectivity that can be instantiated for every vehicle in the simulation. The proposed edge node negotiation algorithms include platoon-ready, pre-negotiation, negotiation resolver, and platoon member algorithms. We experimented with a two-vehicle case scenario in the platoon negotiation phase and validated the algorithms in simulation.

**Keywords:** Internet of Things (IoT) · Connected Vehicles · Autonomous Vehicles · Platooning · CARLA · Simulation.

## 1 Introduction and Motivation

Internet of Things (IoT) refers to an exchange of information between physical objects connected over the internet. IoT is experiencing a rapid increase in the
number of physical objects getting connected [1]. Many IoT architectures have been proposed so far. Hanes et al. [2] presented a simplified IoT architecture in their book consisting of edge, fog, and cloud layers from bottom to top which is briefly discussed below:

- Edge Layer: Contains smart objects, sensors, and actuators also known as edge nodes. Computing is performed by IoT devices here also known as edge computing.

- Fog Layer: Contains communication and processing units with network connectivity also known as fog nodes. Data from edge nodes is uploaded to the cloud through fog nodes also known as fog computing.

- Cloud Layer: In this layer, data from fog nodes is used to develop applications and analytics.

The above concept of IoT can be applied in the field of transportation to autonomous vehicles (AVs) [3] where each AV can act as an edge node to solve many problems. According to American Trucks Association (ATA), trucks transported about 72.5% of the nation's total freight while consuming 45.6 billion gallons of fuel in 2019 [4]. Lately, travel by passenger cars and light-duty trucks has increased by 48% in 2019. U.S. Environment Protection Agency (EPA) reported that greenhouse gas emissions due to transportation are the largest accounting for 29% of the total in 2019 with an increasing trend from 1990 to 2019 [5]. This problem can be solved by platooning where vehicles travel in a group to achieve more fuel efficiency [6]. A lot of companies such as Tesla, Waymo, Uber, etc are working towards making autonomous driving technology available to the general public. Government agencies are working together to test the connected vehicle (CV) technology through various pilot deployment programs [7]. These two technologies are combined to achieve more efficiency and safety in transportation. Various vehicular applications are under development, and platooning is certainly one them [8]. Driver Assistive Truck Platooning (DATP) Pilot is a Florida Department of Transportation (FDOT) led project to illustrate platoon operations only in a specified set of weather scenarios [9, 10]. International projects like Konvoi and SARTRE were not verified over broad weather scenarios [11]. However, the United States is home to a wide variety of weather conditions like rain, snow, fog, etc., and platooning cannot be operated in these conditions. Therefore, there is a need to support platooning even in these situations. This motivated us to apply our relative angle approach to support the existing platoon design.

The contributions of this work are: (1) an IoT-based message exchange algorithm that can be extended to *n* number of unique messages; (2) Dedicated Short Range Communication (DSRC) Basic Safety Message (BSM) based communication with the neighboring vehicles to initiate a platoon; and (3) extension of CARLA simulator to support IoT connectivity. The proposed algorithm is currently demonstrated in a two-vehicle scenario which will be extended to multiple vehicles in future work. The current scope of this work is to demonstrate successful platoon negotiation without consideration of safety issues. In the near future, we plan to address them.
The remainder of the paper is laid out as follows. Section 2 provides an overview of Automated Driving System (ADS), Connected Automated Vehicles (CAVs), an IoT vision for platooning, and CARLA Simulator. Section 3 discusses the current research in platooning along with its limitations. Section 4 presents platoon-ready, pre-negotiation, negotiation resolver, and Platoon Member (PM) algorithms for various platoon scenarios. Section 5 implements the proposed algorithms and demonstrates the experimental results conducted through the CARLA simulator. Lastly, Section 6 summarizes the findings from our experiments and discusses future work.

## 2 Overview

In this section, an overview on ADS, CAVs, an IOT vision for platooning, and CARLA simulator is provided.

### 2.1 Automated Driving System

An ADS on a vehicle is equipped with a suite of sensors such as LIDAR, camera, radars, etc. There are six levels of autonomy, according to the Society of Automotive Engineers (SAE), with level zero indicating no autonomy and level five indicating complete autonomy [12]. At level five, ADS is capable of performing all the driving tasks in all situations without human intervention. Baude et al. [13] provided a typical architecture of ADS consisting of perception and decision-making systems. These two modules work together to generate necessary brake, throttle, and steering wheel commands. From Yurtsever et al. [14], although ADS guarantees a safe, efficient, and comfortable driving experience yet the number of causalities are ascending. Level four and above autonomy is still an open and challenging problem. Thakurdesai [15] et al. presented in detail the technical, moral, and legal issues faced by ADS. Further, most of the existing approaches are ego-only and there is not one functional CAV on the road [14].

### 2.2 Connected Automated Vehicles (CAVs)

A CAV can depend on other vehicles or infrastructure on the roads to carry out the functionalities of an ADS. This design is believed to be autonomous driving's future. Through vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), and vehicle-to-everything (V2X) communications, CAVs will be able to access a huge amount of data which could be used to remove the flaws in the current ego-only design [14, 16]. The two main components of CV technology are On-Board Unit (OBU) and Road-Side Unit (RSU) representing an edge and a fog node respectively in an IoT framework as shown in Fig. 1. RSUs are installed on road infrastructure such as traffic lights, current poles, etc., while OBUs are installed inside the vehicles. These units communicate through DSRC. Vehicle information such as speed, location, heading, etc., is collected by OBUs which is then transmitted to RSUs and OBUs several times per second in the form of
a BSM. Data from fog nodes or RSUs is then transmitted to the central server or cloud layer to perform data analytics.

Therefore, when CV technology is deployed within ADS, it becomes a CAV that can access a huge amount of traffic data to provide improved safety, efficiency, and mobility [16].

## 2.3 An IoT Vision for Platooning

Platooning is defined as a group of vehicles that drive together cooperatively at a very small inter-vehicle gap through a local ad-hoc network (such as DSRC) [6, 17]. A typical platoon consists of a Platoon Leader (PL) and PM where the PL leads and PM follows the PL as shown in Fig. 2. Platoon speed, number of members, and permit for entry or exit of the platoon are controlled and tracked by the PL. The instructions from PL are followed by PM who in turn provides its status back to PL. The inter-vehicle gap is calculated and maintained by Adaptive Cruise Control (ACC) using LIDAR, radar, camera sensors., etc while the PL and PM communication is achieved by V2V. Platooning is made possible through a Cooperative ACC (CACC), i.e. combination of V2V communication in CV and ACC in ADS [18]. Stages involved in platooning are briefly discussed below [19]:

- Find - A vehicle uses V2V or V2I communication to find an available platoon.

- Join - A vehicle negotiates with the PL on how to join the detected platoon.

<figure><img src="image_3.png" /><figcaption>Fig. 1: Vehicles connected through local ad-hoc network (DSRC)</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Fig. 2: Platoon illustration through DSRC communication</figcaption></figure>

- Maintain - After joining, the inter-vehicle gap between PL and PMs is maintained here.

- Leave and Dissolve - PM can move out of the platoon to either end or join another platoon.

There are various vehicle-dependent factors such as inter-vehicle gap, platoon-dependent factors such as platoon size, and external factors such as weather that influence a platoon. All of these factors are discussed in detail in [19]. This paper focuses on finding a vehicle willing to platoon, negotiating with it to join a platoon, determining a PL and PM, and instructing PM to drive into the PL lane using BSMs only. To achieve this, we use the relative angle approach for CVs proposed in our previous work [20]. The relative angle 'θ' can be computed between HV and RV by calculating the angle between the HV heading and a new vector drawn between HV and RV positions. Similarly, relative angle 'θ' between HV and PL (an RV here) can be acquired by calculating the angle between HV and the new vector joining HV and PL as shown in Fig. 3.

## 2.4 CARLA

CARLA (Car Learning to Act), an open-source simulator platform for autonomous driving built on Unreal Engine 4 (UE4) enables basic NPC logic, real-time physics, plug-in interoperability, and cutting-edge rendering quality [21]. This

<figure><img src="image_5.png" /><figcaption>Fig. 3: Relative angle approach for platooning</figcaption></figure>
enabled CARLA to realistically simulate various scenarios present in the “real world”. Furthermore, CARLA is a client-server interface that allows an agent, the vehicles, in this case, to communicate with the dynamic world. The client oversees the interaction between an agent and the server using a Python Application Programming Interface, (API) while the server is responsible for scene rendering and simulation control. The client sends out commands to control the vehicles present in that scenario, and meta-commands adjust the behavior of the server, which will result in sensor readings. Moreover, vehicle commands include steering, braking, and accelerating, whereas the meta-commands will reset the simulation, set up new environments, and configure sensors such as GPS, IMU, LIDAR, and camera. It is also possible to develop custom sensors that can be used in simulated vehicles. In other words, an agent will behave according to how these “classes” are written. These functionalities may be used to mimic autonomous vehicles and get data related to the position, velocity, direction, and other parameters. All this information, which composes the BSMs, concerning different agents within the simulation is then shared among vehicles using the client API. Consequently, CARLA is a reliable framework for studying and developing different CV applications. CARLA is extended to model vehicular communication, or connection, that are not present in the framework. In Section 5, we go through this in-depth.

## 3 Related Research

There have been many platoon research projects while some are still ongoing. They all have various objectives such as truck platooning, mixed vehicles platooning, etc. They either assume vehicles to be fully autonomous or PL to be driving manually [19]. One such project is CARMA (Cooperative Automation Research Mobility Applications). CARMA is a U.S. Department of Transportation (USDOT) initiative that is developed by the Federal Highway Administration (FHWA) [22]. CARMA3 is the latest version of CARMA and is equipped with ADS and V2X capabilities to achieve Cooperative Driving Automation (CDA). Cruising, yielding, lane changing and merging, speed harmonizing, and platooning are the various CDA features available within CARMA [8]. CARMA allows to develop and tests the CDA features through an open-source approach by collaborating with academic institutions. While CARMA is paving the way to further research and development (R&D) in CDA, there are a lot of problems yet to be solved.

The implementation of IoT within vehicles has been given increasing attention over the years. Petrov *et al.* [23] have developed a framework for message exchange and relay-based data processing in order to alleviate the overhead of data processing in edge nodes. In other words, the authors use Narrowband IoT Technology (NB-IoT) in order to take advantage of a concept known as *crowd-sensing*, where multiple devices (in this case the vehicles) collectively process desired data. Another significant benefit covered in this research work is the mobility as well as the higher power availability in vehicles compared to static
<table><caption>Table 1: Comparison of ADS sensors</caption><thead><tr><td>Sensor</td><td>Influenced by light</td><td>Influenced by weather</td></tr></thead><tbody><tr><td>LIDAR</td><td>No</td><td>Yes</td></tr><tr><td>Radar</td><td>No</td><td>No</td></tr><tr><td>Ultrasonic</td><td>No</td><td>No</td></tr><tr><td>Camera</td><td>Yes</td><td>Yes</td></tr><tr><td>Stereo Camera</td><td>Yes</td><td>Yes</td></tr><tr><td>Flash Camera</td><td>Yes</td><td>Yes</td></tr><tr><td>Event Camera</td><td>limited</td><td>Yes</td></tr><tr><td>Thermal Camera</td><td>No</td><td>Yes</td></tr></tbody></table>

conventional edge nodes. Similarly, Wang *et al.* [24] at Ibaraki University, Japan, addressed the impact of latency of message exchange in the safety of platooning. The authors observed that message delay was decreased in V2V communication by the use of directional antenna. Although it is still effective for high traffic, directional antenna usage has shown to be advantageous for vehicles or beacons that are close to one another. Sodhro *et al.* [25] study aims to tackle the decrease in QoS (Quality of Service) due to the high mobility of vehicles as nodes in an IoT network. A QoS-aware, green, sustainable, reliable, and available (QGSRA) algorithm is then developed to reduce the latency of message exchange, power consumption, and improve the reliability of the service. The authors also propose the development of metrics for features such as power consumption.

Finally, it is also important to point out the emerging technologies that may dramatically improve the overall quality of not only the proposed V2V application but also of countless other IoT-related technologies. Artificial Intelligence of Things (AIoT) has the capability to benefit IoT in terms of data processing and analytics, which will in turn optimize the reliability and efficiency of Platoon- ing negotiation, formation, and maintenance [26]. Applying AI combined with Blockchain technology may also improve vehicular IoT applications such that it can offer decentralized network management, interoperability across nodes, as well as traceability and reliability of the data being exchanged [27]. Addition- ally, Blockchain can also be utilized as a tool for many security issues in V2X applications [28].

So far, extensive research is done in platooning that relies on on-board sen- sors of ADS such as radar, LIDAR, cameras, etc. But these sensors may lead to failure during bad weather conditions [29]. Adverse weather conditions such as rain, snow, or fog may lead to a limited view for platooning [19]. Table 1 com- pares exteroceptive sensors used in ADS to better understand their functionality during poor light and bad weather conditions [14]. All the sensors except radar and ultrasonic are affected either by light or weather. And one cannot rely on these two sensors as they help only to calculate distances of objects ahead but cannot provide the lane information or relative position of the platoon. From [30], DSRC communication is not affected by the change in air density that occurs
during foggy weather. University of Michigan Transportation Research Institute (UMTRI) led Safety Pilot Model Deployment (SPMD) project with about 2800 vehicles installed with OBU devices along with 25 RSU devices [31]. The data collected from this study is used to investigate the impact of weather conditions on DSRC communication. A sample size containing 2,581 clear weather days, 114 rainy days, and 227 snowy days showed that adverse weather conditions have negligible impact on DSRC performance. This evaluation makes DSRC a promising and reliable technology in any kind of a weather scenario. This motivated us to propose an approach that relies on DSRC communication for platoon negotiation without depending on LIDAR, radar, or camera sensors.

# 4 Negotiation Algorithms on Edge Nodes

In this section, we discuss the algorithms implemented within edge nodes (vehicles) responsible for achieving platoon negotiation to determine PL and PM. We then proposed a PM algorithm using the relative angle $\theta$ approach. For this, we assume that the vehicles are connected through DSRC communication and automated. Algorithms are derived for vehicles heading to the same destination and different destinations with a common path. Negotiations happen in the open first and then a PlatoonKey system from [32] or FlowMiner from [33] can be implemented in the future for secure platoon-based V2V communication. Various stages namely platoon-ready, pre-negotiation, and negotiation resolver are involved for which the algorithms are proposed. These algorithms run independently on each vehicle using data from BSM messages. Finally, the PM algorithm is proposed through which PM can start following the PL. Further, experiments are conducted in Section 5 to validate them. Also, a discussion on edge-cases of the algorithms is provided in Section 4.5.

## 4.1 Platoon-Ready Algorithm

Here, individual vehicles check if they are ready to platoon. Several criteria can be set to accomplish this. The criteria we set here is that the platoon be turned on and the vehicle be driving on a road at a certain speed, for example driving at a speed greater than 40km/h. If these conditions are met, the vehicle is ready to platoon. Fig. 4 shows the flowchart illustrating the platoon-ready condition. Once the vehicle is ready to platoon, pre-negotiation transactions are carried out before the actual negotiation.

## 4.2 Pre-Negotiation Transactions

Once the vehicles are ready to platoon, they broadcast willingness to platoon with their destination and global route set by the autonomous feature. In the meantime, individual vehicles check if this information is also available in the received BSMs from nearby vehicles. If available, the destinations are compared to check if they both are heading to the same destination. If not, their paths are
<figure><img src="image_6.png" /><figcaption>Fig. 4: Platoon-Ready Flowchart</figcaption></figure>

compared to find a maximum match. Once a common destination is found, the vehicle starts negotiating.

Fig. 5 clearly illustrates pre-negotiation transactions over the time occurring between Vehicle 1 and Vehicle 2 after they are platoon-ready. Once Vehicle 1 is platoon-ready, it broadcasts its destination and route via BSMs to Vehicle 2. Now, Vehicle 1 keeps checking if Vehicle 2 destination and the route are available. Once available, Vehicle 1 compares its destination against Vehicle 2 destination. If they do not match, their global route is compared to find a maximum match. After a match is found, Vehicle 1 starts negotiating by sending a Platoon Join Request (PJRQ) negotiation. The same logic runs in the Vehicle 2 which is illustrated on the right side of Fig. 5 and starts negotiating once a match is found. Once the vehicles start negotiating, these are resolved through the negotiation resolver algorithm which is explained in Section 4.3.

## 4.3 Negotiation Resolver Algorithm

Once the vehicle is ready to platoon as well as to start to negotiate, a PJRQ negotiation is sent to other vehicles through BSMs. The structure of the negotiation contains a *negotiation*, *sender_id*, and *receiver_id*. A *negotiation* can be either a PJRQ, a Platoon Accepted (PA), a Platoon Join Ready (PJRY), or a Platoon Leader Request (PLR). Currently, the algorithm handles these four negotiations, and logic to handle more negotiations can be included in the future. Other variables *sender_id* and *receiver_id* are host vehicle id and remote vehicle id respectively. This way the negotiation messages can be processed by interacting parties only and not others. Negotiations received through the BSMs are processed by the negotiation resolver that runs separately on each vehicle. The resolver reads these negotiations and processes them accordingly as shown in Fig. 6.
<figure><img src="image_7.png" /><figcaption>Fig. 5: Pre-Negotiation Transactions</figcaption></figure>

Vehicles process the received BSMs and once a negotiation is read from the BSM, *receiver_id* in it is compared against the current vehicle's id 'current_veh_id' or HV id that is processing the negotiation. If the current_veh_id is the same as the *receiver_id*, the received negotiation is further processed. If the *negotiation* is a PJRQ, the algorithm accepts it and a PA negotiation is sent back to the above *sender_id* or RV id. While sending a PA negotiation back, the current HV id becomes the new *sender_id* and the RV id becomes the new *receiver_id*. This concept is similar to the rest of the negotiations. Next, if *negotiation* is a PA, a PJRY negotiation is acknowledged back to the above *sender_id* or RV id. At this state, both vehicles have acknowledged each other that they are ready to start a platoon. The next negotiations would be to determine who would be the leader of the platoon. For this, we assume that all the PJRY state vehicles declare themselves to be PL and send PLR negotiations. While processing, if the negotiation is a PLR, the current vehicle or HV compares its velocity against the sender vehicle's or RV's velocity. If *hv速度* is less than *rv速度*, meaning that it is driving slower than the remote, it becomes a PM. The criteria set to become a PL here are arbitrary and can be changed according to the requirements. This way a negotiation resolver is implemented to settle the negotiations between the vehicle to initiate platooning.

## 4.4 Platoon Member Algorithm

Once PM and PL are determined, this logic is used by PM to follow PL based on the relative angle θ'. Fig. 7a, 7b, 7c shows when PL is on right, left, and same lanes of PM respectively. Here, we assume that H1 is the heading angle of PM, H2 is the heading angle of new vector AB joining PM and PL, and H3 is the heading angle of PL. Relative angle θ is the difference between H1 and
<figure><img src="image_8.png" /><figcaption>Fig. 6: Negotiation Resolver Flowchart</figcaption></figure>

H2. First, we check if both PM and PL are heading in the same direction by calculating 'α', the difference in their heading angles (H1-H3). When mod α is less than 5° meaning PM and PL are heading in the same direction, the relative angle θ between PM and PL is computed. PM and PL are in the same lane when mod θ is less than 1°. In this scenario, PM will follow PL in the same lane as shown in Fig. 7c. PM and PL are in different lanes when mod θ is greater than 1°. PL is on the right lane of PM when θ is positive or greater than 0°. In this case, PM will drive to its right lane to follow PL as shown in Fig. 7a. Lastly, PL is on the left lane of PM when θ is negative or less than 0°. Here, PM will drive to its left lane to follow PL as shown in Fig. 7b. Fig. 8 shows the above logic in a flowchart.

This way vehicles can negotiate with each other to find a platoon and then
join using BSM information only. Further, we have conducted experiments to
evaluate the above algorithm and the results are shown in Section 5.

**4.5 Discussion**

There could be several edge cases during the negotiation as well as while pla-
tooning. One such scenario is that during negotiation there could be denial to
platoon by a vehicle. In such a situation, the vehicles trying to form the platoon
will register this and stop communicating with the vehicle. In another scenario,
<figure><img src="image_9.png" /><figcaption>Fig. 7: PM illustration when PL in right lane, left, and same lanes respectively</figcaption></figure>
there could be an abrupt disruption of communication during platooning. In this case, all the vehicles will break out of platooning and act as individual AVs. Re-negotiation and re-platooning can occur on the restoration of communication between the vehicles.

# 5 Experimental Results

In this section, the algorithms discussed in Section 4 are implemented in the CARLA simulator and various experiments are conducted to demonstrate the proposed approach. We chose CARLA Town06 for testing platoon negotiations as it has long highways with a lot of highway entrances and exits that are feasible for this application. To drive the vehicles between source and destination, we used the behavior agent (BA) from CARLA's python API client. BA is implemented as a Python class and for each vehicle, a BA object is created that is independent of others. Each BA object contains all of the above-mentioned algorithms from Section 4, as well as the logic for computing relative angle $\theta$ as shown in Fig 9.

We developed a custom sensor i.e. OBU sensor to get all the required vehicle information. All the spawn vehicles are equipped with this sensor to collect the location, velocity, heading, etc., of the vehicle. By default, CARLA does not support connectivity or platooning. For this reason, we implemented a DSRC agent to connect the vehicles in simulation. Vehicles spawned from CARLA client send and receive BSMs through this agent. Also in Section 3, we showed that the DSRC communication is not affected by the weather conditions. The following steps explain how connectivity and platooning are achieved in CARLA. In step one, each vehicle in the CARLA client reads its own negotiation set in the previous time and forwards it to other vehicles if any through the BSM. In step two, all the vehicle information, destination and route (if platoon-ready), and negotiation (if any) are sent to the DSRC agent. In step three, each vehicle receives BSM from the DSRC agent. Lastly, in step four, all of the information is sent to individual BA objects to run the platoon algorithms as shown in Fig 9. The following experiments are conducted using the above setup.

## 5.1 Same Destination Experiment

In this experiment, two vehicles are spawned in two different lanes with the same destination as shown in Fig. 10. The following vehicle is HV while the leading vehicle is an RV on the right lane to HV. Here, RV started first and reached a speed of 40km/h before HV. At this stage, RV is ready to platoon and started to broadcast its destination. Similarly, HV started to broadcast its destination once the speed criteria is met. At this stage, both HV and RV received destinations of each other. Since the destinations are the same, a PJRQ negotiation is set in its BA object that can be read from the CARLA client in the future. First, RV gets its negotiation for HV and publishes it to the DSRC agent through the BSM. The same is repeated for HV. Now, both HV and RV receive their BSMs from the DSRC agent and send this to their BA object which also contains negotiations this time. The negotiation resolver reads this and processes them
<figure><img src="image_10.png" /><figcaption>Fig. 8: Platoon Member Flowchart</figcaption></figure>

according to the logic discussed in Fig. 6. When both vehicles are at PJRY state, a PLR request is sent and whoever has a higher speed becomes a PL. In this case, RV speed is greater than HV and assigned as PL while HV is assigned as a PM. Once PL and PM are determined, heading angle difference $\alpha$, and relative angle $\theta$ are compared. After checking, PM joins the platoon with PL by driving to the right lane as shown in Fig. 10.

## 5.2 Different Destination Experiment

This experiment is the same as the experiment in Section 5.1 except that the vehicles are spawned with different destinations. In this scenario, a common match is found using the *compare routes()* function in the individual BA object. After successful negotiations, RV becomes PL while HV becomes PM. Once PL and PM are known, heading angle difference $\alpha$, and relative angle $\theta$ are compared. After checking, PM joins the platoon with PL by driving to the left lane as shown in Fig. 11.

## 5.3 Same Lane Experiment

This experiment is the same as the experiment in Section 5.1 except that the vehicles are spawned in the same lanes. In this scenario, vehicles start negotiations once after their destinations are matched. After successful negotiations,
<figure><img src="image_11.png" /><figcaption>Fig. 9: Connectivity architecture implemented in CARLA</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Fig. 10: PM driving at speed of 46km/h to join PL on the right lane at an angle of $\theta = 10.12^{\circ}$ ahead of PM</figcaption></figure>

RV becomes PL while HV becomes PM. Once PL and PM are known, heading angle difference $\alpha$, and relative angle $\theta$ are compared. After checking, PM joins the platoon with PL by driving in the same lane as shown in Fig. 12.

## 6 Conclusions and Future Work

The applications of IoT are increasing at a very fast pace and this work presents how the concept of IoT can be applied to approach existing problems in the transportation field. Through this work, platooning with respect to IoT is researched and a simplified IoT architecture is applied to approach this problem. There are many advantages due to platooning. It can lower fuel costs, enhance safety, and improve the efficacy of the energy. Existing work on platooning is limited to certain weather conditions and the proposed work paves the way to implement this feature even under adverse weather conditions. The related research in this work shows that the DSRC communication is not affected by uncertain weather conditions which is the key in the negotiation exchange. The
<figure><img src="image_13.png" /><figcaption>Fig. 11: PM driving at speed of 45km/h to join PL on the left lane at an angle of θ = -9.35° ahead of PM</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>Fig. 12: PM driving at speed of 49km/h to join PL on the same lane at an angle of θ = -0.16° ahead of PM</figcaption></figure>

presented algorithms to find a platoon are derived from BSMs only and nego-
tiations are carried out further to determine PL and PM. We see that the PM
algorithm can accurately determine the relative position of PL using the relative
angle without the use of any camera or LIDAR sensor. We successfully extended
the CARLA simulator to include platooning negotiation which is explained in
detail in Section 5.

Furthermore, the algorithms and simulations presented in this paper will
be the basis for further development of cooperative driving. The future work
includes testing the proposed algorithm with more than two vehicles, testing in
dense traffic, extending the algorithm to support complete platoon formation
with more use cases, platoon safety, usage of RSUs (fog nodes) connected to the
central server in order to perform data analytics and provide better accuracy,
and tackle the security aspects of this application.
References

1. A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, and M. Ayyash, "Internet of things: A Survey on Enabling Technologies, Protocols, and Applications," *IEEE Communications Surveys & Tutorials*, vol. 17, no. 4, pp. 2347-2376, 2015.

2. D. Hanes, G. Salgueiro, P. Grossetete, R. Barton, J. Henry, and R. Trollope, *IOT fundamentals networking technologies, protocols, and use cases for the internet of things*. Cisco Press, 2017.

3. N. Pawar, T. Bourgeau, and H. Chaouchi, "Study of IoT Architecture and Application Invariant Functionalities," in *2021 IFIP/IEEE International Symposium on Integrated Network Management (IM)*, pp. 667-671, 2021.

4. American Trucking Associations, "Economics and Industry Data," 2020. Accessed: 2022-02-06.

5. U. S. Environmental Protection Agency, "Sources of Greenhouse Gas Emissions." Accessed: 2022-02-06.

6. C. Bergenhem, S. Shladover, E. Coelingh, C. Englund, and S. Tsugawa, "Overview of platooning systems," in *Proceedings of the 19th ITS World Congress, Oct 22-26, Vienna, Austria (2012)*, 2012.

7. U.S. Department of Transportation, "Connected Vehicle Pilot Deployment Program." Accessed: 2022-02-06.

8. T. Lochrane, L. Dailey, and C. Tucker, "CarmaSM: Driving Innovation," *Public Roads*, vol. 83, no. 4, 2020.

9. Florida Department of Transportation, "Driver Assisted Truck Platooning (DATP) Pilot." Accessed: 2022-02-07.

10. C. Crane, J. Bridge, and R. Bishop, "Driver Assistive Truck Platooning: Considerations for Florida State Agencies," January 2018. Accessed: 2022-02-06.

11. C. Foreman, M. Keen, M. Petrella, and S. Plotnick, "FHWA Research and Technology Evaluation: Truck Platooning," Jun 2021. FHWA-HRT-20-071, Tech Report.

12. SAE, "Taxonomy and definitions for terms related to driving automation systems for on-road motor vehicles." SAE J3016. 2018, Tech. Rep.

13. C. Badue, R. Guidolini, R. V. Carneiro, P. Azevedo, V. B. Cardoso, A. Forechi, L. Jesus, R. Berriel, T. M. Paixão, F. Mutz, L. de Paula Veronese, T. Oliveira-Santos, and A. F. De Souza, "Self-driving cars: A survey," *Expert Systems with Applications*, vol. 165, p. 113816, 2021.

14. E. Yurtsever, J. Lambert, A. Carballo, and K. Takeda, "A survey of autonomous driving: Common practices and emerging technologies," *IEEE Access*, vol. 8, pp. 58443-58469, 2020.

15. H. M. Thakurdesai and J. V. Aghav, "Autonomous cars: technical challenges and a solution to blind spot," in *Advances in Computational Intelligence and Communication Technology*, pp. 533-547, Springer, 2021.

16. N. Kim, D. Karbowski, J. Jeong, and A. Rousseau, "Simulation of Heavy-Duty Vehicles in Platooning Scenarios," in *2018 21st International Conference on Intelligent Transportation Systems (ITSC)*, pp. 1604-1610, 2018.

17. M. Strunz, J. Heinovski, and F. Dressler, "CoOP: V2V-based Cooperative Overtaking for Platoons on Freeways," in *2021 IEEE International Intelligent Transportation Systems Conference (ITSC)*, pp. 1090-1097, 2021.

18. A. Ghosal, S. U. Sagong, S. Halder, K. Sahabandu, M. Conti, R. Poovendran, and L. Bushnell, "Truck platoon security: State-of-the-art and road ahead," *Computer Networks*, vol. 185, p. 107658, 2021.
19. T. Sturm, C. Krupitzer, M. Segata, and C. Becker, "A taxonomy of optimization factors for platooning," *IEEE Transactions on Intelligent Transportation Systems*, vol. 22, no. 10, pp. 6097-6114, 2020.

20. O. Dokur and S. Katkoori, "Three Connected V2V Applications Based on DSRC Basic Safety Messages," in *2022 International Conference on Connected Vehicle and Expo (ICCVE)*, pp. 1-6, 2022.

21. A. Dosovitskiy, G. Ros, F. Codevilla, A. Lopez, and V. Koltun, "CARLA: An Open Urban Driving Simulator," in *Proceedings of the 1st Annual Conference on Robot Learning*, pp. 1-16, 2017.

22. U.S. Department of Transportation, "CARMA." Accessed: 2022-02-06.

23. V. Petrov, A. Samuylov, V. Begishev, D. Moltchanov, S. Andreev, K. Samouylov, and Y. Koucheryavy, "Vehicle-Based Relay Assistance for Opportunistic Crowdsensing Over Narrowband IoT (NB-IoT)," *IEEE Internet of Things Journal*, vol. 5, no. 5, pp. 3710-3723, 2018.

24. X. Wang, D. Wang, N. Ariyasu, and M. Umehira, "Better platooning toward autonomous driving: Inter-vehicle communications with directional antenna," *China Communications*, vol. 18, no. 7, pp. 44-57, 2021.

25. A. H. Sodhro, M. S. Obaidat, Q. H. Abbasi, P. Pace, S. Pirbhulal, A.-U.-H. Yasar, G. Fortino, M. A. Imran, and M. Qaraqe, "Quality of Service Optimization in an IoT-Driven Intelligent Transportation System," *IEEE Wireless Communications*, vol. 26, no. 6, pp. 10-17, 2019.

26. A. Sigov, L. Ratkin, L. A. Ivanov, and L. D. Xu, "Emerging enabling technologies for industry 4.0 and beyond," *Information Systems Frontiers*, pp. 1-11, 2022.

27. F. Guo, F. R. Yu, H. Zhang, X. Li, H. Ji, and V. C. M. Leung, "Enabling massive iot toward 6g: A comprehensive survey," *IEEE Internet of Things Journal*, vol. 8, no. 15, pp. 11891-11915, 2021.

28. A. M. Eltahlawy and M. A. Azer, "Using Blockchain Technology for the Internet of Vehicles," in *2021 International Mobile, Intelligent, and Ubiquitous Computing Conference (MIUCC)*, pp. 54-61, 2021.

29. S. M. Kouchak and A. Gaffar, "Determinism in future cars: Why autonomous trucks are easier to design," in *2017 IEEE SmartWorld, Ubiquitous Intelligence Computing, Advanced Trusted Computed, Scalable Computing Communications, Cloud Big Data Computing, Internet of People and Smart City Innovation (Smart-World/SCALCOM/UIC/ATC/CBDCom/IOP/SCI)*, pp. 1-6, 2017.

30. M. El-Said, V. Bhuse, and A. Arendsen, "An Empirical Study to Investigate the Effect of Air Density Changes on the DSRC Performance," *Procedia Computer Science*, vol. 114, pp. 523-530, 2017.

31. X. Huang, D. Zhao, and H. Peng, "Empirical Study of DSRC Performance Based on Safety Pilot Model Deployment Data," *IEEE Transactions on Intelligent Transportation Systems*, vol. 18, no. 10, pp. 2619-2628, 2017.

32. K. Li, L. Lu, W. Ni, E. Tovar, and M. Guizani, "Cooperative Secret Key Generation for Platoon-Based Vehicular Communications," in *ICC 2019 - 2019 IEEE International Conference on Communications (ICC)*, pp. 1-6, 2019.

33. M. R. Ahmed, H. Zheng, P. Mukherjee, M. C. Ketkar, and J. Yang, "Mining Message Flows from System-on-Chip Execution Traces," in *2021 22nd International Symposium on Quality Electronic Design (ISQED)*, pp. 374-380, 2021.