Politecnico di Torino (logo)

Transparent Access to Local/Edge/Cloud Services: The Autonomous Driving Use Case

Mario Giordano

Transparent Access to Local/Edge/Cloud Services: The Autonomous Driving Use Case.

Rel. Fulvio Giovanni Ottavio Risso. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2021

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (4MB) | Preview

Nowadays, there is a lot of talk about autonomous driving and all the possibilities it could offer in the future and those that it already offers, alongside with all the challenges that robotic automation brings. This kind of application, though, requires a huge computational effort. This effort might be best carried out to small data centers at the edge of the network, or even directly in the cloud. Despite that, for resiliency reasons, the same service must be also offered locally to the autonomous vehicle, granting it the possibility of overcoming possible network connectivity problems. Nevertheless, tasks like monitoring the network status and deciding what instance of the service has to be used, should not be taken care of by the autonomous vehicle itself. Taking in consideration all of the above, the goal of this thesis is investigating the problem of providing transparent access to the services mentioned above, by means of the implementation of a network layer responsible for network monitoring and of the forwarding of the data feeds to the appropriate instance of the service. In order to achieve the goal, this thesis deeply investigated Kubernetes and ROS2. Both are, each in its own field (respectively, container orchestration and robotics), state-of-the-art. Focusing on a common scenario, an image recognition application (e.g., identifying the other vehicle and the pedestrians) has been considered as a use-case. The ROS2 topology is composed of an image publisher, which simulates a camera feed, a local and a remote YOLO node, which respectively are the local and remote object recognition nodes (the one computation has to be offloaded to, in normal network conditions) and an image viewer node, used to view the elaborated images coming from the object recognition node. The above-mentioned network layer has been developed by leveraging Kubernetes functionalities. Two Kubernetes clusters have been deployed: one remote (e.g., at the edge), into which only the remote YOLO instance is running, and one local (e.g on the robot), for all the other nodes. The virtualization of the autonomous driving service has been obtained by making use of the concept of Kubernetes Service, which exposes either the local or the remote YOLO node. The image publisher node will contact the YOLO node by using the Kubernetes Service IP address, then Kubernetes itself will take care of forwarding the traffic to the right destination, based on the Selector field of that service. By changing that field, we can decide what the actual destination will be. In this way, the ROS2 nodes will not have to care about what service they are using at that moment. Since this Selector has to be changed dynamically, a Kubernetes Operator is deployed into the cluster. This operator monitors the status of the network by means of "Quality" and "Signal Strength" indicators. As soon as one of those two metrics does no longer meet the requirements, the Service Selector is changed from remote to local. Hence, all computations start to be performed locally (possibly using lighter algorithms) and the robot continues to operate correctly. All in all, the approach investigated in this thesis has shown to be promising, allowing to save local computational resources by leveraging powerful services made available at the edge of the network. Yet, it automatically fallbacks to local services as well in case the network connectivity is no longer available, to avoid the occurrence of possibly

Relators: Fulvio Giovanni Ottavio Risso
Academic year: 2020/21
Publication type: Electronic
Number of Pages: 89
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/18172
Modify record (reserved for operators) Modify record (reserved for operators)