An Excavator Positioning Calibration Method
Vanhanen, Patrik (2024)
Vanhanen, Patrik
2024
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ä
2024-02-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202402132258
https://urn.fi/URN:NBN:fi:tuni-202402132258
Tiivistelmä
In this thesis, a calibration method is developed for calibrating a GNSS positioning system used for localization of an excavator with a machine guidance system. The machine guidance system is used to measure the position and configuration of the excavator in order to acquire the position of the tool on the excavator. With accurate positioning information and using a digital model of the worksite, the machine guidance system can guide the operator to dig to the correct depth and position. The calibration includes only the calibration of the parameters related to the GNSS positioning system. The kinematics of the excavator boom is already calibrated and can be used during the calibration of the GNSS positioning.
The calibration of the GNSS positioning system is required to ensure the accuracy of the machine guidance system. The machine guidance system, uses a dual antenna GNSS system to measure the position and heading of the excavator. The calibration of the positioning is done by determining the relative location of the primary GNSS antenna with respect to the kinematic chain of the excavators boom. This is done by estimating the mounting position of the antenna in the local coordinate system of the excavator. Additionally, since the secondary GNSS antenna can be mounted anywhere on the excavator, the heading from the GNSS receiver must be calibrated to the heading of the excavator. The calibration of the heading is done by determining the heading offset between the GNSS receiver and the heading of the excavator. This thesis also includes the calibration of excavators main boom location. The location of the main boom is initially done when calibrating the boom kinematics, however, the calibration of the boom location with respect to the origin of the excavator coordinate system is difficult to do accurately. Therefore, the feasibility of calibrating the boom location is also investigated in this thesis.
The calibration method was developed using ROS2 and the algorithms were implemented in C++ leveraging the Ceres solver library. The method was validated using a simulated excavator model in Gazebo and by testing the algorithm with generated data. Finally, the implementation was tested on a real excavator in a controlled environment. The results from the testing with a real excavator demonstrated that the developed calibration method was not able to solve all required parameters accurately. Based on the results it was determined that a similar method to the method described in this thesis could be used to calibrate the x and y offsets of the GNSS antenna. The heading offset could also be calibrated using the developed method, however, the calibration of the heading offset does require further verification. The results demonstrated that the developed calibration method is not suitable for accurately calibrating the boom joint offset parameters. Tässä työssä kehitetään menetelmä, jolla voidaan kalibroida kaivinkoneen koneohjausjärjestelmän paikannus. Koneohjausjärjestelmää käytetään mittaamaan kaivinkoneen sijainti ja konfiguraatio, jotta kaivinkoneen työkalu voidaan paikantaa. Tarkalla paikantamisella ja hyödyntämällä digitaalista työmaamallia, koneohjausjärjestelmä voi ohjata kaivinkoneen kuljettajaa näyttämällä pinnat, jotka työmaalla pitää toteuttaa. Tämän työn toteutuksessa oletetaan, että kaivinkoneen kaivuupuomin kinematiikka on jo kalibroitu ja sitä voidaan hyödyntää paikannusjärjestelmän kalibroinnissa.
GNSS paikannusjärjestelmän kalibrointi on välttämätöntä koneohjausjärjestelmän tarkkuuden varmistamiseksi. Koneohjausjärjestelmä käyttää kahden antennin GNSS järjestelmää kaivinkoneen sijainnin ja suunnan mittaamiseen. Paikannusjärjestelmän kalibrointi tehdään selvittämällä pääantennin sijainti suhteessa koneen puomiston kinemaattiseen ketjuun. Tämä tehdään selvittämällä antennin sijainti koneen paikallisessa koordinaatistossa. Koska GNSS järjestelmän apuantenni voidaan asentaa mihin tahansa kaivurilla, järjestelmän suunta pitää kalibroida suhteessa kaivinkoneen rungon suuntaan. Suunta kalibroidaan selvittämällä erotus GNSS järjestelmän suunnan ja koneen rungon suunnan välillä. Tässä työssä tutkitaan myös kaivinkoneen puomiston sijainnin kalibroimista koneen paikallisessa koordinaatistossa. Puomiston sijainti kalibroidaan jo puomiston kinematiikan kalibroinnin yhteydessä, mutta kalibrointi on vaikeaa suorittaa tarkasti, joten puomiston sijainnin kalibrointia tutkitaan myös tässä työssä.
Kalibrointimenetelmä toteutettiin ROS2 ohjelmistokehyksessä ja kalibroinnin algoritmit totetutettiin C++ ohjelmointikielellä hyödyntäen Ceres solver kirjastoa. Kalibrointimenetelmän toiminta varmistettiin simuloidulla kaivinkonemallilla Gazebo simulaattorilla ja generoidulla datalla. Lopulta toteutusta testattiin oikealla kaivinkoneella kontrolloidussa ympäristössä. Testien tulokset osoittivat, että kalibrointimenetelmä ei sovellu kaikkien parametrien tarkkaan sovitukseen. Tulosten perusteella arvioitiin tässä työssä esitellyn menetelmän kanssa samankaltaisen menetelmän soveltuvan antennin x ja y koordinaattien kalibrointiin. Suunnan kalibrointi arvioitiin myös mahdolliseksi, mutta suunnan kalibroinnin mahdollisuus vaatii lisää tutkimusta. Tulokset osoittivat että kalibrointi menetelmä ei sovellu puomiston sijainnin kalibrointiin.
The calibration of the GNSS positioning system is required to ensure the accuracy of the machine guidance system. The machine guidance system, uses a dual antenna GNSS system to measure the position and heading of the excavator. The calibration of the positioning is done by determining the relative location of the primary GNSS antenna with respect to the kinematic chain of the excavators boom. This is done by estimating the mounting position of the antenna in the local coordinate system of the excavator. Additionally, since the secondary GNSS antenna can be mounted anywhere on the excavator, the heading from the GNSS receiver must be calibrated to the heading of the excavator. The calibration of the heading is done by determining the heading offset between the GNSS receiver and the heading of the excavator. This thesis also includes the calibration of excavators main boom location. The location of the main boom is initially done when calibrating the boom kinematics, however, the calibration of the boom location with respect to the origin of the excavator coordinate system is difficult to do accurately. Therefore, the feasibility of calibrating the boom location is also investigated in this thesis.
The calibration method was developed using ROS2 and the algorithms were implemented in C++ leveraging the Ceres solver library. The method was validated using a simulated excavator model in Gazebo and by testing the algorithm with generated data. Finally, the implementation was tested on a real excavator in a controlled environment. The results from the testing with a real excavator demonstrated that the developed calibration method was not able to solve all required parameters accurately. Based on the results it was determined that a similar method to the method described in this thesis could be used to calibrate the x and y offsets of the GNSS antenna. The heading offset could also be calibrated using the developed method, however, the calibration of the heading offset does require further verification. The results demonstrated that the developed calibration method is not suitable for accurately calibrating the boom joint offset parameters.
GNSS paikannusjärjestelmän kalibrointi on välttämätöntä koneohjausjärjestelmän tarkkuuden varmistamiseksi. Koneohjausjärjestelmä käyttää kahden antennin GNSS järjestelmää kaivinkoneen sijainnin ja suunnan mittaamiseen. Paikannusjärjestelmän kalibrointi tehdään selvittämällä pääantennin sijainti suhteessa koneen puomiston kinemaattiseen ketjuun. Tämä tehdään selvittämällä antennin sijainti koneen paikallisessa koordinaatistossa. Koska GNSS järjestelmän apuantenni voidaan asentaa mihin tahansa kaivurilla, järjestelmän suunta pitää kalibroida suhteessa kaivinkoneen rungon suuntaan. Suunta kalibroidaan selvittämällä erotus GNSS järjestelmän suunnan ja koneen rungon suunnan välillä. Tässä työssä tutkitaan myös kaivinkoneen puomiston sijainnin kalibroimista koneen paikallisessa koordinaatistossa. Puomiston sijainti kalibroidaan jo puomiston kinematiikan kalibroinnin yhteydessä, mutta kalibrointi on vaikeaa suorittaa tarkasti, joten puomiston sijainnin kalibrointia tutkitaan myös tässä työssä.
Kalibrointimenetelmä toteutettiin ROS2 ohjelmistokehyksessä ja kalibroinnin algoritmit totetutettiin C++ ohjelmointikielellä hyödyntäen Ceres solver kirjastoa. Kalibrointimenetelmän toiminta varmistettiin simuloidulla kaivinkonemallilla Gazebo simulaattorilla ja generoidulla datalla. Lopulta toteutusta testattiin oikealla kaivinkoneella kontrolloidussa ympäristössä. Testien tulokset osoittivat, että kalibrointimenetelmä ei sovellu kaikkien parametrien tarkkaan sovitukseen. Tulosten perusteella arvioitiin tässä työssä esitellyn menetelmän kanssa samankaltaisen menetelmän soveltuvan antennin x ja y koordinaattien kalibrointiin. Suunnan kalibrointi arvioitiin myös mahdolliseksi, mutta suunnan kalibroinnin mahdollisuus vaatii lisää tutkimusta. Tulokset osoittivat että kalibrointi menetelmä ei sovellu puomiston sijainnin kalibrointiin.