Skip to content

libgnss++

Native C++20 GNSS stack for SPP, RTK, PPP, CLAS/MADOCA, RTCM, UBX, and QZSS L6 — no RTKLIB runtime dependency, no GUI required.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j
python3 apps/gnss.py doctor

That is it: build, verify your machine, then pick a path below.

Pick your path

I want to… Start here Time
Get a first solution with bundled data Quick Start ~5 min
Prove it works with zero installs Self-contained offline demo ~1 min
Wire GNSS into a robot / ROS2 Robotics Quick Start ~10 min
Move an existing rnx2rtkp job over RTKLIB migration ~10 min
Deploy urban RTK with IMU continuity R1 urban RTK/IMU field checklist ~15 min
Run an auditable static survey (Japan) Japan static survey ~15 min
Match my dataset / application Use cases varies

Run it in one command (Docker)

No build, no dependencies — mount only the output directory:

docker pull ghcr.io/rsasaki0109/gnssplusplus-library:v0.3.0
mkdir -p output
docker run --rm -v "$PWD/output:/workspace/output" \
  ghcr.io/rsasaki0109/gnssplusplus-library:v0.3.0 \
  demo --output-dir /workspace/output/self-contained-demo

This is an offline plumbing check, not a field-accuracy claim.

What it does

  • Positioning: SPP, RTK (static/kinematic/moving-base), PPP, PPP-AR, CLAS/MADOCA.
  • Fusion: GNSS + IMU FGO, NHC/ZUPT constraints, integrity gates.
  • I/O & interfaces: RINEX 3/4, RTCM, UBX, NTRIP/serial streaming, ROS2, Python, browser UI.
Understand the design Validate results Explore interfaces
Architecture Validation & sign-off Interfaces
IMU fusion Benchmarks Quick Start commands
Tight coupling PPC reproduction Experiments
Real-time stress harness

Visuals

Feature overview Architecture diagram

Release & community