Basic definitions and utility functions for GNSS raw measurement processing

Related tags

Miscellaneous ros gnss
Overview

gnss_comm

Authors/Maintainers: CAO Shaozu (shaozu.cao AT gmail.com)

The gnss_comm package contains basic definitions and utility functions for GNSS raw measurement processing.

1. Prerequisites

1.1 C++11 Compiler

This package requires some features of C++11.

1.2 ROS

This package is developed under ROS Kinetic environment.

1.3 Eigen

Our code uses Eigen 3.3.3 for matrix manipulation. After downloading and unzipping the Eigen source code package, you may install it with the following commands:

cd eigen-3.3.3/
mkdir build
cd build
cmake ..
sudo make install

1.4 Glog

We use google's glog library for message output. If you are using Ubuntu, install it by:

sudo apt-get install libgoogle-glog-dev

If you are on other OS or just want to build it from source, please follow these instructions to install it.

2. Build gnss_comm library

Clone the repository to your catkin workspace (for example ~/catkin_ws/):

cd ~/catkin_ws/src/
git clone https://github.com/HKUST-Aerial-Robotics/gnss_comm.git

Then build the package with:

cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash

If you encounter any problem during the building of gnss_comm, try with docker in the next section.

3. Docker Support

To simplify the building process, we add docker in our code. Docker is like a sandbox so it can isolate our code from your local environment. To run with docker, first make sure ros and docker are installed on your machine. Then add your account to docker group by sudo usermod -aG docker $USER. Relaunch the terminal or logout and re-login if you get Permission denied error, type:

cd ~/catkin_ws/src/gnss_comm/docker
make build

The docker image gnss_comm:latest should be successfully built after a while. Then you can check all available docker images in your local machine by docker image ls command.

4. Acknowledgements

Many of the definitions and utility functions in this package are adapted from RTKLIB.

5. License

The source code is released under GPLv3 license.

You might also like...
ROS GNSS/INS driver for Inertial Labs positioning systems for the CARMA Platform
ROS GNSS/INS driver for Inertial Labs positioning systems for the CARMA Platform

CARMA Inertial Labs GNSS/INS Driver This is a fork of the Inertial Labs ROS package that is used for connecting to Inertial Labs GNSS/INS, IMU-P, AHRS

Optimization-Based GNSS/INS Integrated Navigation System
Optimization-Based GNSS/INS Integrated Navigation System

OB_GINS Optimization-Based GNSS/INS Integrated Navigation System We open-source OB_GINS, an optimization-based GNSS/INS integrated navigation system.

Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.
Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

This is some utility functions/classes for having a nice way to communicate with a pico board RP2040

PicoScreenTerminal This is some utility functions/classes for having a nice way to communicate with a pico board RP2040 How to build First follow the

GPS parser which read raw GPS messages, selects only the valid ones and sends them to CAN bus

EagleTRT GPS System for Fenice GPS parser which read raw GPS messages, selects only the valid ones and sends them to CAN bus Compiling GPS Logger gps_

A USB proxy based on raw-gadget and libusb

usb-proxy This software is a USB proxy based on raw-gadget and libusb. It is recommended to run this repo on a computer that has an USB OTG port, such

Raw HID keyboard forwarder to turn the Pi 400 into a USB keyboard

Raspberry Pi 400 as a USB HID Keyboard Hook your Pi 400 up to your PC somehow, using a USB Type-C cable into the power port. Anker make good ones- I u

Extremely minimal raw Wayland greeter for greetd.
Extremely minimal raw Wayland greeter for greetd.

greetd-mini-wl-greeter An extremely simple raw Wayland greeter for greetd, inspired by lightdm-mini-greeter. Usage Follow the same steps as for e.g. g

POC tool to convert CobaltStrike BOF files to raw shellcode

BOF2Shellcode POC tool to convert a Cobalt Strike BOF into raw shellcode. Introduction This code was written as part of a blog tutorial on how to conv

Comments
  • Keep the messages separated from the rest of the library

    Keep the messages separated from the rest of the library

    Hi all, thank you for providing this package. I would recommend to keep the message definitions separated from the rest of the library, in order not to force any user to compile the library and its dependencies only to access the ROS messages. Please see my PR #1

    opened by mcamurri 0
  • separate messages from gnss_comm

    separate messages from gnss_comm

    This PR separates the message definitions from the main gnss_comm catkin package. It is common practice to keep the message definitions separated from the rest, in case someone needs only the message definitions but not the library itself.

    opened by mcamurri 0
Owner
HKUST Aerial Robotics Group
HKUST Aerial Robotics Group
Arduino library for basic aerial navigation functions used for processing Euler angles, direction cosine matrices, quaternions, frame conversions, and more.

navduino Arduino library for basic aerial navigation functions used for Euler angles Direction cosine matrices Quaternions Rodrigues Rotation Vectors

PB2 7 Oct 24, 2022
A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements

Units What's new Some of the CMake target names have changed in the latest release, please update builds appropriately Documentation A library that pr

Lawrence Livermore National Laboratory 112 Dec 14, 2022
The ultimate battery tester with ESR measurement and discharge graph. Based on an Arduino Nano and a 1602 LCD.

Ultimate-Battery-Tester Version 1.0.0 Features Measures the ESR (equivalent series resistance) of the battery. This is an idicator of the health of th

Armin 11 Dec 7, 2022
SI measurement units library

SI Measurement Units Library SI meausrement units library Copyright (c) 2021 Ercan Ersoy This software licensed under CC0-1.0 License. Unit Enumerator

Ercan Ersoy 1 Oct 29, 2022
This repository is a drone attitude measurement solution with 9-axis

This repository is a drone attitude measurement solution with 9-axis

Xianhao Ji 2 Feb 14, 2022
Itpp - IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions.

Introduction ************ IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simula

null 19 Oct 20, 2022
Tightly coupled GNSS-Visual-Inertial system for locally smooth and globally consistent state estimation in complex environment.

GVINS GVINS: Tightly Coupled GNSS-Visual-Inertial Fusion for Smooth and Consistent State Estimation. paper link Authors: Shaozu CAO, Xiuyuan LU and Sh

HKUST Aerial Robotics Group 587 Dec 30, 2022
An Arduino library which allows you to communicate seamlessly with the full range of u-blox GNSS modules

u-blox makes some incredible GNSS receivers covering everything from low-cost, highly configurable modules such as the SAM-M8Q all the way up to the surveyor grade ZED-F9P with precision of the diameter of a dime.

SparkFun Electronics 134 Dec 29, 2022
Multi-GNSS Precise Point Postioning with Ambiguity Resolution

This is demo for multi-GNSS precise point positioning with ambiguity resolution (PPP-AR), which is based on RTKLIB and RTKLIB_demo5. FEATURES ppp-ar w

Chen Chao 9 Sep 30, 2022
An open source GNSS receiver

greta-oto An open source GNSS receiver This project is an open source project of a consumer level GNSS receiver. It has the capability to receive L1 b

null 26 Nov 20, 2022