GPS/GNSS for Robotic and Autonomous Devices

Open-source software and hardware to assist GNSS integration

Septentrio provides highly accurate GNSS positioning solutions that quickly and easily integrate into any robotic system. OEM boards, housed receivers or compact GNSS modules are available for reliable decimeter or even centimeter-level positioning on global coordinates. Our GNSS/INS receivers provide positioning combined with orientation (heading, pitch and roll) for superior performance and reduced integration time. Drivers for Septentrio GNSS receivers as well as numerous other tools for navigation and sensor fusion are available today in the open-source community. 

Septentrio-Robotics-Integration-GPS-GNSS-ROS

Simplifying the robotics development process

Turbo charge your time-to-market with already existing off-the-shelf hardware (HW) components and open-source software (SW) packages. ROS is the most common robotics SW framework offering drivers for various HW components, such as the ROSaic driver, which easily connects any Septentrio receiver to your robotic system. Sensor fusion of components such as cameras and LiDARS can also be achieved by using ROS packages. Code for GNSS integration and navigation can already be tested out early on in your development process by running simulations. This also allows you to fine tune your design before you even begin building your prototype.  

ROS: Efficient robot coding

ROS is one of the most common software environments for robotic development today. While it is not intrinsically an operating system, it allows connection of multiple hardware components. It is rather a development framework with an extensive collection of software tools for robot development, providing services such as hardware abstraction, low-level device control, implementation of commonly used functionality, messaging between processes, and package management. For more information about ROS and how to get started visit ros.org.

GNSS in ROS: Plug-and-play integration with ROSaic

For outdoor robots, high accuracy positioning with GNSS makes a lot of sense, especially for accurate waypoint navigation.  For efficient GNSS integration the ROS Navigation Stack provides a series of convenient functions for localization, path planning and robot action.

 

Septentrio-ROS-navigation-stack-with-GPS-GNSS
The ROSaic driver for highly accurate GNSS receivers can be used directly in the ROS navigation stack.
ROSaic logo

 

Within the navigation stack the open-source ROSaic driver can be used for plug-and-play GNSS configuration and positioning. The ROSaic is a C++ driver for ROS Melodic and Noetic, enabling quick integration of any Septentrio GPS/GNSS receiver for reliable high accuracy positioning and/or orientation for your robot.

 

 

ROSaic key features:

  • Processes GNSS receiver data and publishes standardized ROS navigation messages
  • Attitude (heading, pitch, roll) publishing with a dual antenna GNSS or GNSS/INS receiver
  • Supports serial, TCP/IP and USB connections, the latter being compatible with both serial and TCP/IP protocols
  • Integrates with core navigation messages from ROS and can easily be extended with extra Septentrio messages
  • Supports ASCII (i.e. NMEA) messages and SBF (Septentrio Binary Format) blocks
Septentrio-Hardware_architecture_GPS_GNSS-650px

HW Architecture: Choosing the most suitable components

Centralizing your system around a Raspberry Pi or an Arduino single board computer is one of the easiest ways to get started with your prototype. For professional development NVDIA or STM32 are suitable platforms. For systems where fine movements matter, a GPS/GNSS receiver with RTK centimeter-level positioning can be integrated alongside other sensors such as cameras or LiDAR. Accurate positioning is especially important when the robot is navigating around sensitive objects or in a robot fleet. Septentrio GNSS receivers are not only accurate but also robust in challenging environments with built-in AIM+ technology offering unmatched resilience to GNSS/ GPS interference, which often occurs in systems where many electronic devices are located in close proximity to each other. On our Community page you will find open-source resources for easy integration of Septentrio receivers such as mosaicHAT and more.  

 

sensor-fusion-GPS-GNSS-Lidar
LiDAR 3D point cloud positioned on global coordinates with GNSS

Sensor Fusion:  GNSS and other sensors 

Sensors such as lidars, cameras or radars can be integrated within the Navigation stack of ROS. Adding a GNSS receiver places the system on absolute global coordinates with decimeter or even cm-level accuracy.  Combining GNSS and an IMU is also sensor fusion which can take place either within the navigation stack or directly on a single board GNSS/INS system. Septentrio off-the-shelf GNSS/INS receiver brings superior positioning and orientation performance and simplifies integration with a single input to the ROS navigation stack.

 

 

Simulation_with_GPS_GNSS-Ag-robotics-Septentrio
3D simulation of a precision ag robot

Simulation: development time saver

By running simulations early in the development process, you can save time on HW/SW iterations by fine-tuning your design up-front, testing out code and seeing how your robot would act in special conditions such as during sensor failure. Just pass logged GNSS data to ROSaic to test out your ROS navigation stack code. Then validate your robot behavior with ROS visualization and analysis libraries coupled with simulation software such as Gazebo.  In addition, Amazon’s AWS RoboMaker offers a collection of simulation tools on the cloud.

 

 

 

 

mosaicHat_board_logo.

Other tools to speed up robotic development

For prototyping, the mosaicHAT open-source board can be used to easily link the mosaic GNSS module to Raspberry Pi or even Arduino. This compact GNSS board with all basic communication interfaces (USB, serial port, events, PPS, FTDI) has an openly available reference design and footprint. See our Community page for more information on mosaicHAT and other open-source projects for GNSS integration.

UAV s and drones are also robots and are in some cases based on ROS. However, many other aerial systems use ArduPilot or PX4 for autonomous piloting functionality. Septentrio receivers also integrate easily with these SW packages, providing reliable positioning for safe drone navigation or mapping.

 

 

Robots with GNSS across many domains

Robots which use high accuracy positioning improve operational efficiency and safety across various domains such as precision agriculture, lawn mowing, marine survey, delivery, construction & mining, surveillance and more. See our full GPS/GNSS product offering for aerial and ground robots.

Use Cases