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.
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.
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 ROS1 (Melodic and Noetic) and ROS2 (Foxy, Galactic, Rolling and Humble), enabling quick integration of any Septentrio GPS/GNSS receiver for reliable high accuracy positioning and/or orientation for your robot.
ROSaic key features– Septentrio ROS driver:
- 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 ROS1 and ROS2 and can easily be extended with extra Septentrio messages
- Supports ASCII (i.e. NMEA) messages and SBF (Septentrio Binary Format) blocks
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 Raspberri Pi addon, Mowi wireless and more.
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: 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.
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. Mowi is an open-source reference design for Septentrio’s highly accurate GNSS mosaic module with Wi-Fi and Bluetooth communication, which can be programmed for custom applications adding a big value to connected robotics. See our Community page for more information on mosaicHAT, mowi 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 Autopilot for flight control. Septentrio receivers also integrate easily with these SW packages, providing reliable positioning for safe drone navigation or mapping. For PX4 Autopilot there is a dedicated driver for Septentrio mosaic GNSS module and AsteRx-m3 board, for both single or dual antenna heading configuration.
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
Mowing/Robotics
Fully autonomous tractor uses mosaic-X5 for reliable positioning and navigation
Meet RenuBot, the flexible electrical tractor robot from Renu Robotics, that cuts operating costs in a sustainable way.
Agriculture/Robotics
Autonomous driving and weeding, a reality on today’s farms
Meet TREKTOR from Sitia, an autonomous hybrid robot that works tirelessly to weed the organic vineyard producing some of the finest French Gamay wine called Anjou Gamay Village.
Learn More
- Free WEBINARS on demand
- GitHub
- repository for ROSaic - ROS driver for mosaic and other receivers
- repository for MosaicHAT - addon for Raspberry Pi or Aduino hardware
- repository for Mowi - Wireless communication hardware for mosaic
- Repository for PX4 – driver for integration of mosaic or AsteRx-m3 into PX4 Autopilots