Lidar Mapping (PoC) »
Task List
Last update: 2022-04-26
Last update: 2022-04-26
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