Lidar Mapping (PoC) »

Task List

Last update: 2022-04-26


Table of Content

  • Overall progress


    • Analyze hardware components

    • Analyze software source code

    • Hardware block diagram

    • Pinout and wiring

    • Software architecture

    • Rover’s parts

    • Base’s parts

    • Other stuffs for development

  • Gather documents

    • GNSS - Reference commands and output

    • IMU - Development board user guide

    • Jetson Nano - Development board user guide

    • Output PPS

    • Output GPRMC

    • Output GNGGA

    • Output OBSVMA

    • Output both GNGGA and OBSVMA at 20 Hz

    • Configure DK-20789 project and build

    • Remove redundant components, e.g. Dynamic protocol, Scheduler, Pressure sensor

    • Modify data flow to output sensor’s data in byte stream

    • Fuse Accelerator and Gyroscope data before sending to synchronize timestamp

    • Hardware work

      • Power supply

      • Component wiring

    • Implement Base application on Raspberry Pi 3 B+

      • Install Raspbian OS

      • Read GNSS correction input

        • Configure UART port

        • Read RTCM3 messages

      • Output GNSS correction

        • Configure SPI port

        • Add nRF24 driver

        • Output RTCM3 messages to nRF24

      • Enable Auto-mount USB

      • Output systems status

        • Configure I2C port

        • Add OLED driver

        • Output system status to OLED

      • Save GNSS correction to USB

    • Hardware work

      • Power supply

      • Component wiring

    • Implement Lidar Mapping ROS application on Jetson Nano Dev Kit

      • Install L4T OS

      • Install ROS platform

      • Install Livox SDK

      • Install Livox ROS driver

      • Setup Ethernet connection with Livox

      • Read GNSS input

        • Configure UART ports

        • Enable Time Sync in Livox ROS driver

        • Read GNGGA messages and publish to the Mapping module

      • Read GNSS correction from Base

        • Configure SPI port

        • Add nRF24 driver

        • Read GNSS correction from nRF24

        • Forward GNSS correction to GNSS module

      • Read IMU input

        • Read IMU and publish to the Mapping module

      • Implement Mapping module

        • Read Lidar point-cloud and extract timestamp

        • Read GNSS position and extract timestamp

          • Issue: Handle high speed data for GNGGA and OBSVMA at 20 Hz

        • Read IMU pose and extract timestamp

          • Issue: IMU Timestamp is wrong

          • Issue: IMU data for Accelerator and Gyroscope does not have same timestamp

        • Align data using timestamp

          • Issue: Mapping timestamp is hard to match

        • Apply position on point-cloud

        • Apply pose on points

        • Publish mapped point-cloud

      • Output systems status

        • Configure I2C port

        • Add OLED driver

        • Output system status to OLED

      • Enable Auto-mount USB

      • Configure Rover to log Observation

      • Save Lidar point-cloud to USB

      • Save GNSS observation to USB

      • Save IMU pose to USB

  • Migrate rover system to Jetson TX2 NX module

    • Rebuild OS image

    • Re-configure system on Jetson TX2 hardware

  • Develop Post-Processing method

    • Convert GNSS Observation data to RINEX format

      • Request Unicorecomm Converter

      • Integrate Unicorecomm Converter

    • Build RTKLib module to process data

    • Re-apply Mapping on processed Positions

Back to top