Article

ROS 2: The Transition from Research to Production

ROS 2_logo

Robot Operating System (ROS) is an open-source middleware system for software development for robotic applications. Although many supported and maintained packages live on top of ROS, ROS is a set of frameworks providing libraries, message structures, and other means for programs to communicate. ROS 2, which Fresh engineers specialize in, is the next iteration of the platform.

Originally developed for research use at Stanford University, ROS was intended as an open-source starting place for robotics developers to build upon and to allow researchers of different backgrounds to share and accelerate development in the robotics field. As ROS gained popularity and adoption, the community and network of user support grew. 

ROS became the de facto choice for developing robotics in the research space. 

Illustration by Joshua Ellingson
Illustration by Joshua Ellingson

Hardware suppliers took notice of ROS’s growing popularity. Sensor companies such as SICK, Velodyne, and VectorNav soon saw value in supporting ROS packages for their hardware. If you were a supplier of sensors or hardware in the robotics market, ROS support for your products became a requirement. 

ROS became solidified in the industry with widespread adoption and hardware support, a suite of helpful tools, and a quick and easy setup. However, ROS was still developed and intended to be a quick-development research tool, as stated previously, and was not intended for commercial applications. 

Recognizing its limitations and armed with over a decade of experience as being the global standard for robotics research and development, ROS developers set out to build an industry-grade version of the system.

The Rise of ROS 2

ROS 2 was originally proposed in 2015. After years of development, the first official distribution was released in December 2017. The software was developed from scratch, aiming at the industrial world instead of the research space. Intended for use in production environments, ROS 2 now had support for safety systems and real-time decision-making. DDS (Data Distribution Service) is the backbone of the software, a technology utilized in military and aerospace due to its speed, robustness, and fault tolerance. But the software remains open-source, meaning that end users can utilize it in whatever custom implementations they can dream of. 

Illustration by Joshua Ellingson

On paper, ROS 2 is an excellent solution for industrial robotics of all kinds. However, it has taken some iterations to get it right. Five years have passed since its release in 2017, and today, we are on the seventh release of the software: Galactic Geochelone. The eighth release is coming later this month. Each iteration becomes more stable than the previous version, and just like ROS 1, it took many releases to get the system to where it is today. 

Illustration by Joshua Ellingson

What is exciting about the recent release (Humble Hawksbill) is that it is a release with long-term support, estimated at five years. ROS 2 has risen from the yearly release cadence into a state of reliability. To us, this is a sign that the software is ready for large-scale adoption, and we expect to see a rise in use and migration across the industry among end-users.

ROS 1 is already solidified in the robotics community as the go-to choice for robotics development, and we expect ROS 2 to take its place in the professional world quickly. 

Whether you are a sensor supplier or chassis supplier, OEM or end-user, it is time to support ROS 2!

Illustration by Joshua Ellingson
Illustration by Joshua Ellingson

Why is ROS 2 so important?

ROS 2 is here now and is becoming the go-to industrial solution to robotics middleware. What does that really mean, though? Here are a few reasons why it s a stronger choice for industrial applications and is worth switching to.

  1. Reliability. DDS is a middleware protocol aimed at real-time systems for data communication between nodes in a publisher/subscriber-based messaging architecture. In plain English, ROS can finally support real-time decision-making and safety systems. This is an essential point for industrial applications. Utilizing the Quality of Service settings, ROS 2 can also be configured to be as reliable as TCP, as fast as UDP, and much more.
  2. Backwards Compatibility. The developers of ROS 2 realized that we can’t all drop ROS 1 overnight. They built the ROS 1 Bridge that allows for messaging between ROS 1 and ROS 2, allowing for a smoother transition.
  3. Security. ROS 2 is compliant with the DDS-Security specification. ROS 1 valued flexibility above all else, including security. ROS 2 being built upon DDS allows us to retain flexibility while also utilizing DDS-Security.

Read more on the documentation page about the new features of ROS 2.

ROS 2 illustration by Joshua Ellingson
Illustration by Joshua Ellingson

Three scenarios for ROS development

Fresh has experience in ROS development, from something as small as a sensor package all the way up to full-scale robotics deployments. Below are a few example scenarios where Fresh can contribute to your robotics development efforts.

Scenario 1: Development of a single package

You are a sensor supplier looking to support ROS. We would develop a ROS package for a single device, or family of devices.

Scenario 2: Development of a suite of packages

You are an OEM robotics chassis supplier. Maybe you have ROS 1 support, but you are looking to develop a ROS 2 package suite for your fleet of robots.

Scenario 3: Development of a full robotics solution

You are a company looking to integrate robotics into your process. Fresh engineers can help you create a roadmap and execute your plan.

Illustration by Joshua Ellingson

Want to get started in upgrading to ROS 2?

In summary, Fresh can guide you through this process, helping you write strong and maintainable code that fully utilizes the features ROS 2 has to offer. Don’t let the upgrade from ROS 1 to ROS 2 be a pause in your existing development process. We’ll make the transition smooth, keep development rolling, and simultaneously bring your team up to speed on the ROS 2 ecosystem.

If you think anything related to ROS is applicable to you and your business, please reach out and let’s chat about it! We would love to help you up-level your robotics practice.

Understanding-Robot-Factors
37342

John Houston

Robotics Manager

John brings years of experience in engineering, data science, and development to leading Fresh’s robotics team. Throughout his career, he has served as a builder and strategic consultant, bringing his expertise in the industry to dozens of client projects.

Since starting at Fresh, John has designed and built multiple localization and navigation systems, safety systems, computer vision algorithms, robotic chassis, simulations, testers, and software architecture packages. He also brings deep expertise as a team leader, helping guide the launch of United Rentals’ autonomous vehicle program and providing practice area leadership, including onboarding, employee development, supporting sales, and contributing to a broad array of thought leadership.

John holds a BS in Computer Science from Gonzaga University, with a focus in data science. 

Outside work, he enjoys automotive fabrication, building cars and motorcycles, and spending time outdoors.