Define ‘Robot’
ROS stands for Robot Operating System, however to understand what ROS is, we must first define what we mean by robot. A robot, in the context of this blog, is a vehicle or object that can move autonomously around its environment without the need for continuous human interaction and/or be guided by infrastructure. It must be able to make its own decisions based on the feedback it receives from on board sensors.
A robot can therefore be anything from an autonomous fruit picker, to a hotel corridoor cleaning robot. The fact remains the same however, it needs to navigate independently.
How does ROS work?
Despite the name, ROS is 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.
ROS Benefits
1) 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.
2) 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.
3) 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.
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.
![xRED3000 in hand](https://www.oxts.com/wp-content/uploads/2023/09/OXTS-circuit-board-15-300x200.jpg)
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.
What is ROS used for?
The use of robotics has exploded in the last few years and the range of industries in which robots have been deployed is wide, varied and continually growing. Robots, whether guided by infrastructure or fully autonomous, can be used in an almost endless number of applications. They can help to drive a vehicle autonomously, increase productivity in warehouse and logistics operations, support a manufacturing process or even aid medical procedures in operating theatres.