Timing and time synchronization within LiDAR- and IMU-based simultaneous localization and mapping (SLAM)
Abstract
Denne avhandlingen presenterer konstruksjonen av en sensorsammensetning bestående av en Ouster16 LiDAR, en STIM300 inertial måleenhet (IMU) og tre f9p u-blox globalt navigasjonssatellittsystem (GNSS)-mottakere, og undersøker ytelsen til en spesifikk LiDAR-inertial Samtidig posisjonering og kartlegging (SLAM) algoritme, Liorf, når ulike tidsstemplingsteknikker brukes for sensor-synkronisering. Hittil har forskningsfeltet innen anvendt sensorfusjon ikke omfattende studert hvordan nøyaktigheten av synkroniseringen mellom sensormålinger påvirker ytelsen til ulike SLAM-algoritmer. De benyttede teknikkene i denne avhandlingen er basert på maskinvarebasert tidsstempling fra et SentiBoard og programvarebasert tidsstempling basert på Robotic Operating System (ROS). En synkroniseringsmodul for å synkronisere en Ouster LiDAR, basert på enkodersignaler, med et SentiBoard gjennom dens ROS-driver, blir presentert. Data samles inn ved å montere sensorsammensetningen på toppen av en bil og kjøre i byområder og på motorveien. Posisjons- og orienteringsestimatene fra Liorf blir sammenlignet med estimatene som er oppnådd gjennom en sanntidskinematisk posisjonering (RTK) basert på GNSS-målinger. Fullstendige orienteringsestimat basert på RTK GNSS oppnås ved bruk av tre GNSS-mottakere. Resultatene indikerer at det ikke er noen betydelig forskjell mellom maskinvare- og programvaresynkronisering når det gjelder nøyaktigheten av estimatene fra Liorf. Imidlertid er nøyaktigheten av programvaresynkronisering sterkt avhengig av den anvendte programvaren og maskinvarekomponentene. Eksperimentet som ble utført i denne avhandlingen brukte høykvalitetssensorer, datamaskiner og programvare, noe som resulterte i nøyaktige programvaretidsstempler som ikke nødvendigvis vil være mulig i andre systemer. I tillegg til synkroniseringsanalysen av Liorf blir det presentert en forbedret tilnærming for å integrere GNSS-målinger i algoritmen. Denne modifikasjonen innebærer kompensering for den relative monteringen mellom IMU-en og GNSS-antennene, samt innlemming av relative posisjonsmålinger når flere antenner brukes. Implementeringen av denne modifikasjonen krevede utviklingen av to nye klasser innenfor Georgia Tech Smoothing and Mapping (GTSAM) C++ biblioteket. This thesis presents the construction of a sensor payload consisting of an Ouster16 LiDAR, a STIM300 inertial measurement unit (IMU), and three f9p u-blox global navigation satellite systems (GNSS) receivers, and investigates the performance of a particular LiDAR-inertial simultaneous localization and mapping (SLAM) algorithm, Liorf, when different timestamping primitives are used for sensor synchronization. To date, the field of applied sensor fusion has not extensively studied how the accuracy of synchronization between sensor measurements affects the performance of various SLAM algorithms. The primitives used are based on hardware timestamping from a SentiBoard, and software timestamping based on the Robotic Operating System (ROS). A synchronization module for synchronizing the Ouster LiDAR, based on encoder pulses, with the SentiBoard through its ROS driver is presented. Data is collected by mounting the sensor payload on top of a car and driving in urban areas as well as on the highway. The position and orientation estimates from Liorf are compared to estimates obtained by a Real-time kinematic positioning (RTK) solution from GNSS measurements. Full orientation estimates based on RTK GNSS are achieved through the use of three GNSS receivers. The result indicates that there is no significant difference between hardware and software synchronization when it comes to Liorf pose estimation accuracy. However, the accuracy of software synchronization is highly dependent on the deployed software, and the hardware components the software is running on. The experiment performed in this thesis used high-quality sensors, computers, and software, which resulted in accurate software timestamps, that would not necessarily be possible in other systems with low-quality components. In addition to the synchronization analysis of Liorf, an enhanced approach for integrating GNSS measurements into the algorithm is presented. This modification involves compensating for the relative mounting between the IMU and the GNSS antennas, as well as incorporating relative position measurements when multiple antennas are used. The implementation of this modification required the development of two new classes within the Georgia Tech Smoothing and Mapping (GTSAM) C++ library.