3D Perception System Design for Heavy-Duty Field Robots
Tepsa, Joni (2021)
Tepsa, Joni
2021
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
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ä
2021-12-30
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202112279527
https://urn.fi/URN:NBN:fi:tuni-202112279527
Tiivistelmä
Autonomous driving and mobile robotics are achieving significant milestones, and perception systems are in an essential role for their versatile data and various applications. The objectives of this thesis were to find out whether it is possible to implement a 3D perception system for heavy-duty field robots using a stereo camera, software environment Robotic Operating System (ROS), and Jetson Xavier NX Embedded PC and to form design principles for 3D perception systems in heavy-duty field robots.
The heavy-duty field robots operate in various conditions and environments, where they can cause incidents to the surrounding environment. A list of requirements from five categories was formed. The heavy-duty field is the first category, including requirements that the 3D perception system should be robust to vibration and designed to fit the correct manipulation scope. The environmental requirements are that the system should be suitable to marker-less environments and resistant to adverse conditions. Safety standards and system placement are the requirements in the safety category. The real-time category has requirements for choosing algorithms, such as system optimization criteria and calculation architecture. Energy efficiency and system dependability are requirements in the embedded category.
The implemented 3D perception system was developed in C++ and CUDA programming languages to be run on the ROS environment. The whole system was run on the same ROS network from image acquisition to the filtered point cloud. The disparity image calculation was done using semi-global matching, developed by Hernandez-Juarez et al., and the point cloud filtering was done using the open-source Cupoch library. The principal used libraries were OpenCV, Point Cloud Library, and Cupoch.
The implemented 3D system achieved 2,5 frames per second with a 74 degree horizontal field of view. The system was evaluated to fulfil all of the set requirements for heavy-duty field robots that were defined for this application, except soft real-time, system dependability, and safety standards were not met. A set of five design principles were formed covering the ten requirements: 1) perception sensors with their placement are in an essential role during the designing, 2) the target environment should be kept as one of the main design criteria during the development, 3) the relevant safety standards should be used as a guide during the development, 4) the algorithm choosing and tailoring should be done carefully and with time, and 5) one of the main focus areas of a 3D perception system development is to have a dependable system.
In conclusion, the implemented 3D perception system needs more development, especially the observation rate and system dependability, and that more refining is suggested for the design principles through experience and testing. Autonominen ajo ja mobiilirobotiikka ovat saavuttamassa merkittäviä virstanpylväitä, ja havainnointijärjestelmät ovat tärkeässä asemassa niistä saatavan monipuolisen tiedon ja erilaisten sovellusten vuoksi. Tämän opinnäytetyön tavoitteina oli selvittää, onko mahdollista toteuttaa 3D-havainnointijärjestelmä työkoneroboteille käyttäen stereokameraa, Robotic Operating System (ROS) -ohjelmointiympäristöä ja Jetson Xavier Nx sulautettu tietokonetta, sekä muodostaa suunnitteluperiaatteet työkonerobottien 3D-havainnointijärjestelmiin.
Työkonerobotit toimivat erilaisissa olosuhteissa ja ympäristöissä, joissa ne voivat aiheuttaa vahinkoa. Vaatimusluettelo muodostuu viidestä kategoriasta. Työkoneet on ensimmäinen kategoria, johon sisältyy vaatimuksia, joiden mukaan 3D-havainnointijärjestelmä on oltava tärinänkestävä ja se on suunniteltava siten, että se sopii oikeaan käsittelylaajuuteen. Ympäristökategoriaan kuuluu, että järjestelmän on sovelluttava merkitsemättömiin ympäristöihin ja kestettävä vaikeat sääolosuhteet. Turvallisuusstandardit ja järjestelmän sijoittelu ovat turvallisuuskategorian vaatimuksia. Reaaliaikakategoriassa on algoritmien valintaa koskevia vaatimuksia, kuten järjestelmän optimointikriteerit ja laskenta-arkkitehtuuri. Energiatehokkuus ja järjestelmän luotettavuus ovat vaatimuksia sulautettujen järjestelmien kategoriassa.
Diplomityössä toteutettu 3D-havainnointijärjestelmä kehitettiin käyttäen C++ ja CUDA ohjelmointikieliä suoritettavaksi ROS-ympäristössä. Koko järjestelmä kuvien ottamisesta suodatettuun pistepilveen ajettiin samassa ROS-ympäristössä. Syvyyskuvan laskennassa käytettiin Hernandez-Juarez ym. kehittämää semi-globaalia sovitusta ja pistepilven suodatuksessa käytettiin avoimen lähdekoodin Cupoch-kirjastoa. Tärkeimmät käytetyt kirjastot olivat OpenCV, Point Cloud Library ja Cupoch.
Toteutettu 3D-järjestelmä saavutti 2,5 havainnointia sekunnissa 74 asteen vaakasuuntaisella näkökentällä. Järjestelmän arvioitiin täyttävän kaikki työkoneroboteille asetetut vaatimukset, jotka oli määritelty tätä sovellusta varten, paitsi että pehmeä reaali-aika, järjestelmän luotettavuus ja turvallisuustandardit eivät täyttyneet. Muodostettiin viisi suunnitteluperiaatetta, jotka kattavat kymmenen vaatimusta: 1) havainnointiantureilla ja niiden sijoittelulla on tärkeä rooli suunnittelussa, 2) kohdeympäristö olisi pidettävä yhtenä tärkeimmistä suunnittelukriteereistä suunnittelun aikana, 3) asianmukaisia turvallisuusstandardeja tulee käyttää ohjeena kehityksen aikana, 4) algoritmin valinta ja räätälöinti olisi tehtävä huolellisesti ja ajan kanssa sekä 5) yksi 3D-havainnointijärjestelmän kehittämisen pääpainoalueista on oltava luotettava järjestelmä.
Johtopäätöksenä voidaan todeta, että toteutettua 3D-havainnointijärjestelmää on kehitettävä edelleen erityisesti havainnointitaajuuden ja järjestelmän luotettavuuden osalta, ja että suunnitteluperiaatteita ehdotetaan hiottavaksi edelleen kokemuksen ja testauksen avulla.
The heavy-duty field robots operate in various conditions and environments, where they can cause incidents to the surrounding environment. A list of requirements from five categories was formed. The heavy-duty field is the first category, including requirements that the 3D perception system should be robust to vibration and designed to fit the correct manipulation scope. The environmental requirements are that the system should be suitable to marker-less environments and resistant to adverse conditions. Safety standards and system placement are the requirements in the safety category. The real-time category has requirements for choosing algorithms, such as system optimization criteria and calculation architecture. Energy efficiency and system dependability are requirements in the embedded category.
The implemented 3D perception system was developed in C++ and CUDA programming languages to be run on the ROS environment. The whole system was run on the same ROS network from image acquisition to the filtered point cloud. The disparity image calculation was done using semi-global matching, developed by Hernandez-Juarez et al., and the point cloud filtering was done using the open-source Cupoch library. The principal used libraries were OpenCV, Point Cloud Library, and Cupoch.
The implemented 3D system achieved 2,5 frames per second with a 74 degree horizontal field of view. The system was evaluated to fulfil all of the set requirements for heavy-duty field robots that were defined for this application, except soft real-time, system dependability, and safety standards were not met. A set of five design principles were formed covering the ten requirements: 1) perception sensors with their placement are in an essential role during the designing, 2) the target environment should be kept as one of the main design criteria during the development, 3) the relevant safety standards should be used as a guide during the development, 4) the algorithm choosing and tailoring should be done carefully and with time, and 5) one of the main focus areas of a 3D perception system development is to have a dependable system.
In conclusion, the implemented 3D perception system needs more development, especially the observation rate and system dependability, and that more refining is suggested for the design principles through experience and testing.
Työkonerobotit toimivat erilaisissa olosuhteissa ja ympäristöissä, joissa ne voivat aiheuttaa vahinkoa. Vaatimusluettelo muodostuu viidestä kategoriasta. Työkoneet on ensimmäinen kategoria, johon sisältyy vaatimuksia, joiden mukaan 3D-havainnointijärjestelmä on oltava tärinänkestävä ja se on suunniteltava siten, että se sopii oikeaan käsittelylaajuuteen. Ympäristökategoriaan kuuluu, että järjestelmän on sovelluttava merkitsemättömiin ympäristöihin ja kestettävä vaikeat sääolosuhteet. Turvallisuusstandardit ja järjestelmän sijoittelu ovat turvallisuuskategorian vaatimuksia. Reaaliaikakategoriassa on algoritmien valintaa koskevia vaatimuksia, kuten järjestelmän optimointikriteerit ja laskenta-arkkitehtuuri. Energiatehokkuus ja järjestelmän luotettavuus ovat vaatimuksia sulautettujen järjestelmien kategoriassa.
Diplomityössä toteutettu 3D-havainnointijärjestelmä kehitettiin käyttäen C++ ja CUDA ohjelmointikieliä suoritettavaksi ROS-ympäristössä. Koko järjestelmä kuvien ottamisesta suodatettuun pistepilveen ajettiin samassa ROS-ympäristössä. Syvyyskuvan laskennassa käytettiin Hernandez-Juarez ym. kehittämää semi-globaalia sovitusta ja pistepilven suodatuksessa käytettiin avoimen lähdekoodin Cupoch-kirjastoa. Tärkeimmät käytetyt kirjastot olivat OpenCV, Point Cloud Library ja Cupoch.
Toteutettu 3D-järjestelmä saavutti 2,5 havainnointia sekunnissa 74 asteen vaakasuuntaisella näkökentällä. Järjestelmän arvioitiin täyttävän kaikki työkoneroboteille asetetut vaatimukset, jotka oli määritelty tätä sovellusta varten, paitsi että pehmeä reaali-aika, järjestelmän luotettavuus ja turvallisuustandardit eivät täyttyneet. Muodostettiin viisi suunnitteluperiaatetta, jotka kattavat kymmenen vaatimusta: 1) havainnointiantureilla ja niiden sijoittelulla on tärkeä rooli suunnittelussa, 2) kohdeympäristö olisi pidettävä yhtenä tärkeimmistä suunnittelukriteereistä suunnittelun aikana, 3) asianmukaisia turvallisuusstandardeja tulee käyttää ohjeena kehityksen aikana, 4) algoritmin valinta ja räätälöinti olisi tehtävä huolellisesti ja ajan kanssa sekä 5) yksi 3D-havainnointijärjestelmän kehittämisen pääpainoalueista on oltava luotettava järjestelmä.
Johtopäätöksenä voidaan todeta, että toteutettua 3D-havainnointijärjestelmää on kehitettävä edelleen erityisesti havainnointitaajuuden ja järjestelmän luotettavuuden osalta, ja että suunnitteluperiaatteita ehdotetaan hiottavaksi edelleen kokemuksen ja testauksen avulla.