Skip to content



Lidar Mapping (PoC) »

Fuse Position and IMU data to Pointclouds

Last update: 2022-05-07


The mapping package#

Check out the source code from GitHub:

git clone --recursive https://github.com/vuquangtrong/lidar-mapping-poc.git && \
cd lidar-mapping-poc

The folder structure is as below:

.
├─ docs     # the documents in HTML format
│ └─ pdf    # the documents in PDF format
├─ packages # Libraries of peripherals
├─ base     # Base controller source code
└─ rover    # Rover ROS package
  └─ src    # Rover packages source code

Build the system:

./build.sh

Controllers#

Controllers run at startup and configure attached modules including GNSS, RF24 and OLED.

Base Controller#

Base controller runs 2 threads:


Data Forwarding Thread

  1. Open the serial port at /dev/ttyS0 which connects to the GNSS module

  2. Set GNSS module in base mode

  3. Set config to produce different RTCM message types

  4. Connect to RF24 radio module

  5. Set the radio on transmitting mode on the channel 100 (2500 Mhz), using the address R0v3r

  6. In the forever loop, read RTCM data from serial port and send to radio


System Status Thread

  1. Connect to OLED module

  2. In the forever loop, get data and print out status on screen

Rover Controller#

Rover controller runs 2 threads:


Data Forwarding Thread

  1. Open the serial port at /dev/ttyTHS1 which connects to the GNSS module

  2. Set GNSS module in rover mode

  3. Set config to produce GNGGA message on COM2 and GPRMC messages on COM3

  4. Connect to RF24 radio module

  5. Set the radio on receiving mode on the channel 100 (2500 Mhz), using the address R0v3r

  6. In the forever loop, read RTCM data from radio and send to serial port


System Status Thread

  1. Connect to OLED module

  2. In the forever loop, get data and print out status on screen

ROS packages#

Livox Driver#

GNSS Parser#

IMU Parser#

Mapper#