Fuse Position and IMU data to Pointclouds
Last update: 2022-05-07
Table of Content
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
-
Open the serial port at
/dev/ttyS0
which connects to the GNSS module -
Set GNSS module in base mode
-
Set config to produce different RTCM message types
-
Connect to RF24 radio module
-
Set the radio on transmitting mode on the channel 100 (2500 Mhz), using the address
R0v3r
-
In the forever loop, read RTCM data from serial port and send to radio
System Status Thread
-
Connect to OLED module
-
In the forever loop, get data and print out status on screen
Rover Controller#
Rover controller runs 2 threads:
Data Forwarding Thread
-
Open the serial port at
/dev/ttyTHS1
which connects to the GNSS module -
Set GNSS module in rover mode
-
Set config to produce
GNGGA
message on COM2 andGPRMC
messages on COM3 -
Connect to RF24 radio module
-
Set the radio on receiving mode on the channel 100 (2500 Mhz), using the address
R0v3r
-
In the forever loop, read RTCM data from radio and send to serial port
System Status Thread
-
Connect to OLED module
-
In the forever loop, get data and print out status on screen