LiDAR usage evaluation in IoT device
Törmä, Riku (2023)
Törmä, Riku
2023
Johtamisen ja tietotekniikan DI-ohjelma - Master's Programme in Management and Information Technology
Johtamisen ja talouden tiedekunta - Faculty of Management and Business
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-06-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202306206850
https://urn.fi/URN:NBN:fi:tuni-202306206850
Tiivistelmä
The first objective of this thesis is to find out if it is possible to use LiDAR (light detection and ranging) with the Epec 6200 Remote Access Unit variant, Epec 6200-268. The second objective of this thesis is to find out if it is possible to execute application that utilizes LiDAR with the Epec 6200-268 and to see if the performance level of the Epec 6200-268 is sufficient.
To achieve the objectives, a system was built that connects the Epec 6200-268 unit and the LiDAR device to the same Ethernet network where the devices communicate via UDP (User Datagram Protocol). Epec 6200-268 unit has a tailored Linux operating system that runs ROS (Robot Operating System) in a Docker container. The used LiDAR has a ready-made ROS compatible LiDAR driver that was used to verify that LiDAR works with Epec 6200-268. The actual LiDAR utilizing application was developed as a separate ROS application. The application is based on DATMO (Detection and Tracking of Moving Objects) algorithm that can be used to detect and track moving objects. The application has parameters that can be adjusted to change the amount of load the application causes to the Epec 6200-268.
After the system was built, the system was used to run Epec 6200-268 performance tests. The Epec 6200-268 performs well when it is running only the LiDAR driver. In this case the CPU (central processing unit) average load does not exceed 10% of CPU maximum capacity. When LiDAR driver and DATMO algorithm are executed simultaneously with parameter set that limits the needed performance, the CPU average load does not exceed 24% of the CPU maximum capacity.
When the same test is run without limiting parameter set, the CPU average load does not exceed 35% of the CPU maximum capacity. This is a good result since the allowed maximum for CPU average load is set to 70%. However, the CPU single core load occasionally reaches 100% in this test, which is not acceptable. In addition, the DATMO algorithm execution time surpasses 200 ms, which is too much when the acceptance limit is 40 ms or less.
The results of the performance measurements indicate that Epec 6200-268 can be used with LiDAR and that it is possible to run simple LiDAR applications with Epec 6200-268. Based on results, it would be beneficial to study especially how to load the CPU more evenly with the DATMO algorithm, since now the DATMO algorithm is loading single core most of the time. Tämän työn ensimmäisenä tavoitteena on selvittää, pystyykö Epec 6200 Remote Access Unit IoT-laitteen variantilla Epec 6200-268 käyttämään LiDARia (light detection and ranging). Työn toisena tavoitteena on selvittää, pystyykö Epec 6200-268 laitteella ajamaan LiDAR-sovelluksia ja onko laite tarpeeksi tehokas tähän käyttötarkoitukseen.
Tavoitteiden saavuttamista varten rakennettiin testausjärjestelmä, jossa Epec 6200-268 ja LiDAR kommunikoivat Ethernet-yhteyden välityksellä käyttäen UDP-protokollaa (User Datagram Protocol). Epec 6200-268 käyttöjärjestelmänä toimii räätälöity Linux, jonka päällä pyöritetään ROS-ympäristöä (Robot Operating System) Docker-kontissa. Työssä käytetylle LiDARille löytyy valmiina ROS-pohjainen ajuri, jota käytettiin todentamaan LiDARin toimivuus Epec 6200-268 laitteen kanssa. Varsinainen LiDARia hyödyntävä sovellus toteutettiin osana työtä erillisenä ROS-sovelluksena. Sovellus pohjautuu DATMO-algoritmiin (Detection and Tracking of Moving Objects), jolla voidaan tunnistaa ja seurata liikkuvia kohteita. Sovellusta on mahdollista parametroida siten, että sovelluksen aiheuttama kuormitus Epec 6200-268 laitteelle vaihtuu parametroinnin mukaan.
Valmiilla testausjärjestelmällä ajettiin Epec 6200-268 laitteen suorituskykytestit. Epec 6200-268 suoriutuu hyvin, kun sitä kuormitetaan ainoastaan ajamalla LiDARin ajuria. Tällöin prosessorin kuormituksen keskiarvo ei ylitä 10 prosenttia prosessorin maksimikapasiteetista missään vaiheessa. Kun LiDAR-ajurin lisäksi ajetaan myös DATMO-algoritmia suorittavaa sovellusta kuormitusta rajaavalla parametroinnilla, niin prosessorin kuormituksen keskiarvo ei ylitä 24 prosenttia prosessorin maksimikapasiteetista.
Kun parametroinnilla ei enää rajata kuormitusta niin prosessorin kuormituksen keskiarvo ei ylitä 35 prosenttia prosessorin maksimikapasiteetista. Tämä on hyvä tulos, sillä prosessorin kuormituksen keskiarvon sallituksi maksimiarvoksi on asetettu 70 prosenttia. Sen sijaan tässä testissä yksittäisen ytimen kuormitus kipuaa hetkittäin 100 prosenttiin, mikä ei ole suotavaa. Lisäksi DATMO-algoritmin suoritusaika ylittää 200 ms, kun hyväksyttävänä rajana on 40 ms tai alle.
Suorituskykytesteistä voidaan päätellä, että Epec 6200-268 laitteella on mahdollista käyttää LiDARia ja suorittaa yksinkertaisia LiDAR-sovelluksia. Tuloksien perusteella voidaan suositella jatkotutkimusta liittyen erityisesti sovelluksen parempaan säikeistämiseen, sillä nyt DATMO-algoritmia ajava sovellus kuormittaa pääasiassa yksittäistä prosessorin ydintä.
To achieve the objectives, a system was built that connects the Epec 6200-268 unit and the LiDAR device to the same Ethernet network where the devices communicate via UDP (User Datagram Protocol). Epec 6200-268 unit has a tailored Linux operating system that runs ROS (Robot Operating System) in a Docker container. The used LiDAR has a ready-made ROS compatible LiDAR driver that was used to verify that LiDAR works with Epec 6200-268. The actual LiDAR utilizing application was developed as a separate ROS application. The application is based on DATMO (Detection and Tracking of Moving Objects) algorithm that can be used to detect and track moving objects. The application has parameters that can be adjusted to change the amount of load the application causes to the Epec 6200-268.
After the system was built, the system was used to run Epec 6200-268 performance tests. The Epec 6200-268 performs well when it is running only the LiDAR driver. In this case the CPU (central processing unit) average load does not exceed 10% of CPU maximum capacity. When LiDAR driver and DATMO algorithm are executed simultaneously with parameter set that limits the needed performance, the CPU average load does not exceed 24% of the CPU maximum capacity.
When the same test is run without limiting parameter set, the CPU average load does not exceed 35% of the CPU maximum capacity. This is a good result since the allowed maximum for CPU average load is set to 70%. However, the CPU single core load occasionally reaches 100% in this test, which is not acceptable. In addition, the DATMO algorithm execution time surpasses 200 ms, which is too much when the acceptance limit is 40 ms or less.
The results of the performance measurements indicate that Epec 6200-268 can be used with LiDAR and that it is possible to run simple LiDAR applications with Epec 6200-268. Based on results, it would be beneficial to study especially how to load the CPU more evenly with the DATMO algorithm, since now the DATMO algorithm is loading single core most of the time.
Tavoitteiden saavuttamista varten rakennettiin testausjärjestelmä, jossa Epec 6200-268 ja LiDAR kommunikoivat Ethernet-yhteyden välityksellä käyttäen UDP-protokollaa (User Datagram Protocol). Epec 6200-268 käyttöjärjestelmänä toimii räätälöity Linux, jonka päällä pyöritetään ROS-ympäristöä (Robot Operating System) Docker-kontissa. Työssä käytetylle LiDARille löytyy valmiina ROS-pohjainen ajuri, jota käytettiin todentamaan LiDARin toimivuus Epec 6200-268 laitteen kanssa. Varsinainen LiDARia hyödyntävä sovellus toteutettiin osana työtä erillisenä ROS-sovelluksena. Sovellus pohjautuu DATMO-algoritmiin (Detection and Tracking of Moving Objects), jolla voidaan tunnistaa ja seurata liikkuvia kohteita. Sovellusta on mahdollista parametroida siten, että sovelluksen aiheuttama kuormitus Epec 6200-268 laitteelle vaihtuu parametroinnin mukaan.
Valmiilla testausjärjestelmällä ajettiin Epec 6200-268 laitteen suorituskykytestit. Epec 6200-268 suoriutuu hyvin, kun sitä kuormitetaan ainoastaan ajamalla LiDARin ajuria. Tällöin prosessorin kuormituksen keskiarvo ei ylitä 10 prosenttia prosessorin maksimikapasiteetista missään vaiheessa. Kun LiDAR-ajurin lisäksi ajetaan myös DATMO-algoritmia suorittavaa sovellusta kuormitusta rajaavalla parametroinnilla, niin prosessorin kuormituksen keskiarvo ei ylitä 24 prosenttia prosessorin maksimikapasiteetista.
Kun parametroinnilla ei enää rajata kuormitusta niin prosessorin kuormituksen keskiarvo ei ylitä 35 prosenttia prosessorin maksimikapasiteetista. Tämä on hyvä tulos, sillä prosessorin kuormituksen keskiarvon sallituksi maksimiarvoksi on asetettu 70 prosenttia. Sen sijaan tässä testissä yksittäisen ytimen kuormitus kipuaa hetkittäin 100 prosenttiin, mikä ei ole suotavaa. Lisäksi DATMO-algoritmin suoritusaika ylittää 200 ms, kun hyväksyttävänä rajana on 40 ms tai alle.
Suorituskykytesteistä voidaan päätellä, että Epec 6200-268 laitteella on mahdollista käyttää LiDARia ja suorittaa yksinkertaisia LiDAR-sovelluksia. Tuloksien perusteella voidaan suositella jatkotutkimusta liittyen erityisesti sovelluksen parempaan säikeistämiseen, sillä nyt DATMO-algoritmia ajava sovellus kuormittaa pääasiassa yksittäistä prosessorin ydintä.