ROS stands for Robot Operating System, but despite the name it’s not strictly an operating system. It’s a set of open-source libraries and tools that provide a framework for developing software to run on robotic systems. It still requires a main operating system to run on top of, typically a Linux based system like Ubuntu. Then with the ROS layer, it enables the necessary hardware abstraction and other common functionality required in creating programs for robots.
What are the benefits of ROS for creating robotics applications?
Open-source and widely used
With the benefit of being open-source and adoption becoming more widespread, ROS has grown into one of the standards in robotics programming. Expanding beyond its origins in academia, more and more businesses are starting to make use of the ROS environment. Many OxTS customers are developing nodes and drivers for commercial products so they can be easily integrated on this common platform.
Supports many sensors
The long list of sensors supported by ROS includes many LiDAR systems; stereo, thermal, and RGB cameras; force/torque sensors; motor controllers; and positioning systems such as the OxTS inertial navigation systems.
Low barrier to entry
Thanks to the wide adoption and universal standard, the barrier to entry for creating robotics applications has been greatly lowered and the community is more interconnected. Code is more easily transferable to different robotic systems, and developers don’t have to start from scratch to lay the groundwork for each different hardware manufacturer they use.
Using OxTS systems with ROS
At OxTS we’ve developed a driver for ROS 2, the newest version of ROS, that provides a collection of packages that can decode the live NCOM navigation data from an OxTS INS device and also publish this data in a format that can be used by other ROS compatible devices. This enables the OxTS device to easily integrate into a wider ROS network and provide positioning, localisation, and dynamics data for navigation and control applications.
We’ve also developed another package that runs independently from the NCOM data decoding. This node, called “ROS 2GAD”, can take data from other sensors in the ROS environment, like LiDAR and cameras, and convert it into our Generic Aiding Data (GAD) format. Generic Aiding (OxTS Generic aiding with inertial in combination or instead of GNSS) is an interface developed to enable faster integration of external sensors that can be used to aid the navigation engine by providing measurements of things like position, velocity, and attitude. By converting the ROS messages to the standard GAD format, the data can be passed directly to the OxTS navigation engine where it is combined with the inertial data and other aiding sources such as GNSS.
Support with your ROS project
To learn more about using OxTS systems in robotics and autonomy applications, or to see how you could integrate an external sensor with Generic Aiding through ROS, contact us today.