A team of Huldians in Huld Czech Republic developed a multi-frequency multi-constellation open-source hardware based GNSS receiver and positioning platform.
Tiira is designed for processing of GNSS signals in E1, E5 and E6 bands together with measurements from additional sensors like IMU, magnetometer and barometric altimeter providing either a pure GNSS or a hybrid navigation solution.
Nowadays, there is a huge number of consumer market GNSS receivers targeting various specific tasks, starting from personal navigation in cell phones to high-grade millimeter precision geodetic devices.
Still, there is a gap in the market. We have a demand for a more flexible open receiver that is easily usable by companies or research institutions as a platform for development of innovative algorithms or powerful flexible end-user products.
Imagine, for example, an emerging company that has a brilliant idea for a new navigation algorithm that enables a safe and robust navigation of autonomous cars.
They are limited to the usually proprietary closed solutions that provide basic measurements. These solutions do not offer a possibility to get detailed specification on how the internals are designed – or even better, to be able to reconfigure the internals to allow them to develop and test their solution efficiently.
Or, they can develop their own navigation receiver platform from scratch which is quite costly and consumes a lot of effort and time.
Here comes Tiira to solve the problem! Tiira is an affordable open hardware platform with basic open-source software package. It provides a benchmark solution for general GNSS processing and a framework for development of any new algorithm you can imagine.
Tiira has computing power, a variety of additional sensors, RF interfaces, hardware and software modularity, and modifiability. It is ready to support rapid prototyping with high target TRL and consequently also the end products for commercial or research purposes.
The goal of this EUSPA co-founded project was to develop an affordable, modular, and modifiable navigation system. From the high-level perspective, it is composed of the following blocks:
A high-level block diagram of Tiira navigation platform.
Tiira primarily targets the Galileo constellation as the reference system. It is designed to support the reception and processing of signals in E1, E5 and E6 RF bands. It is easily extendible also to other signals and constellations operating in the same bands.
The multi-sensor card is designed to collect not only the GNSS-related data, but also measurements from a variety of sensors, such as the inertial measurement unit (IMU), altimeter, and magnetometer. The card is also equipped with ultra-wide band (UWB) radio module and a long-range radio module based on LoRa technology.
The navigation algorithms are designed to process all or a subset of available measurements to provide an accurate navigation solution e.g., a snapshot or recursive GNSS-based position and velocity estimation, loosely and tightly coupled navigation based on the GNSS, INS, and other sensors.
It is planned to extend the algorithms to also include the radio modules to allow estimation of the relative position (with respect to a network of surrounding anchor nodes) or to be able to connect and exchange information with other instances of the navigation platform which will enable exploration of cooperative positioning concepts.
From the hardware perspective, the core of the receiver is composed of an in-house made RF front-end card with LNAs, RF filters and a splitter; an in-house made multi-sensor card with MAX2771 GNSS ASICs, clock distribution, sensors, and radios; and a COTS main board card (Avnet Ultra96-V2) which employs Zynq UltraScale+ MPSoC where all baseband signal processing, data decoding and navigation solution takes place.
Tiira hardware package.
Application software supported by Petalinux operating system resides in the ARM Cortex A53 IP core processor and takes care of the high-level processing like receiver control, satellite navigation message decoding and navigation solution computation (position, velocity, altitude, and time estimation).
The software is written in Rust which is a modern high-level programming language with a high accent on robustness, safety, and security of produced software. The language is quite scalable and thus very well suitable also for embedded development with limited resources. It provides significant benefits especially in memory management safety and safe concurrency and offers plenty of readily available open-source libraries.
Together with the platform implementation several supporting tools written in Python were developed to allow collecting and processing of data from a commercial receiver (uBlox ZED-F9P) and other sensors for testing and reference purposes. There is also a Python version of the navigation algorithms computing the navigation solution in the following modes:
Are you interested to use Tiira in your development projects or research? Feel free to contact us: