-
Notifications
You must be signed in to change notification settings - Fork 2
Emlid Data Postprocessing (PPK)
boxanm edited this page Nov 8, 2024
·
2 revisions
This guide explains how to postprocess raw data recorded with Emlid devices. It's intended for Windows or MacOS users since Emlid Studio sadly doesn't support Linux. The data is recorded in the UBX format. Here's some description about how to use Emlid Studio.
You can also use python src/fomo_sdk/gnss_analysis/postprocess.py
from fomo-sdk which will guide you through the post-processing steps. You can also check this step-by-step youtube video.
- First, we will obtain a corrected position of our static Emlid receiver. To do that, we need data from another GNSS antenna provided by the government. These are called continuously operating reference stations (CORS). In case of FM the nearest one is located in Quebec City and is named ATR2. To download the data in RINEX format, go to
ftp://ftp.mrn.gouv.qc.ca/Public/GPS/Quebec
. The filenames are structured with the station name first, followed by the day number since the start of the year, followed by the year: NNNNDDDY. For example, November 4th 2024 for Quebec City station corresponds to folder ATR3094. In this folder is a number of .zip archives, each corresponding to a time period of one hour. The specifications can be found in this file
- Unzip the file and open Emlid Studio. In the top left corner, select
Static
. The Static processing workflow allows you to obtain an accurate position of a single point. Drag and drop the file ending with O from the static receiver's logs. For the Base, use the CORS file downloaded from the FTP server. Finally, use the file ending with P from the static receiver's logs for the Navigation data. Make sure that in your settings, you have Filter type set to combined and Time format set to UTC. Press process. A file with the.pos
extension should appear in the Static receiver logs folder. The file contains only one row under the header, specifying the corrected coordinates of the base stations. - Now is time to process the Rover trajectories. In Emlid Studio, select
Kinematics
. Use the O log file for the Rover. Use the static base observation (O) file coming from the static antenna for the Base. You'll notice that the Latitude and Longitude fields got filled with values. However, these are not the corrected values we obtained earlier. So now, we need to drag and drop the .pos file from step 2 into the Latitude and Longitude field. The coordinates should get updated automatically. Use the navigation (P) file from the Rover log files and click Process. A new .pos file should appear in the Rover's log folder. A trajectory will also appear in Emlid Studio's interface. Different colors have the following meaning:- 🟢 A green-colored point means the FIX solution. Precision is at the centimeter level.
- 🟡 A yellow-colored point means the FLOAT solution. Precision is at the meter level.
- 🔴 A red-colored point means the SINGLE solution. Precision is usually at the several-meter level.
- Repeat step 3 for the other two Emlid receivers installed on the Warthog.
- Place all three processed kinematics
.pos
files into a common folder and rename them toback.pos
,front.pos
andmiddle.pos
. Now, you can callpython emlid_gnss_to_rosbag -i <path> -o <output_rosbag_path>
to extract the three .pos files into a ros2 bag file. You can use the-s
and-e
to specify the start and end timestamps to filter the data. - Convert the output ros2 bag file to
mcap
by callingdocker/convert_to_mcap.sh <output_rosbag_path>
, or merge it to another rosbag using theros2 bag convert
wrapper:python ros2_bag_convert.py -i <input1> -i <output_rosbag_path> -o <merged_bag_path>
- Congrats! You can now open the mcap rosbag in Foxglove and visualize it using the Map panel.
Related links:
- Emlid docs
- Details on GNSS network in Quebec
- Warthog Teach and Repeat (ROS1)
- Warthog Teach and Repeat (ROS2)
- Time Synchronization
- Deployment of Robotic Total Stations (RTS)
- Deployment of the backpack GPS
- Warthog Emlid GPS
- Atlans-C INS
- How to use a CB Radio when going in the forest
- IP forwarding
- Emlid Data Postprocessing (PPK)
- Lessons Learned
- Robots' 3D Models
- Order Management
- Fast track Master → PhD
- Intellectual Property
- Repository Guidelines
- TF Cheatsheet
- Montmorency Forest Wintertime Dataset
- RTS-GT Dataset 2023
- Deschenes2021 Dataset
- TIGS Dataset
- DRIVE Datasets
- BorealHDR
- TimberSeg 1.0
- DARPA Subterranean Challenge - Urban Dataset
- How to upload a dataset to VALERIA
- ROS1 Bridge
- Migrating a repository to ROS2 (Humble)
- ROS2 and rosbags
- MCAP rosbags
- DDS Configuration (work in progress)
- Using a USB Microphone with ROS2
- ROS2 in VSCode
- ROS2 Troubleshooting