Auto-translation used

Introduction to Robotics and ROS: what a beginner needs to know

In recent years, robotics has ceased to be something out of the realm of science fiction and has become an actively developing field where innovations occur every day. At the center of many modern robots is ROS, an operating system for robots. But what is it and why is it so important?

ROS (Robot Operating System) is not really an operating system in the traditional sense, like Windows or Linux. It is a set of tools, libraries and frameworks that help developers create and program robots. ROS was developed to simplify the creation of complex robotic systems by using a modular architecture where each component (node) It can work independently, exchanging data with other components.

ROS was introduced in 2007 and quickly gained popularity among developers due to its flexibility and openness. However, over time, it became apparent that the system needed to be updated for larger-scale and mission-critical applications such as autonomous cars or robots that operate in difficult industrial environments.

This is how ROS 2 was born, which began development in 2014. The main difference between ROS 2 and the original version is the support for multithreading, better real—time operation, as well as the ability to effectively interact between different devices in distributed systems.

One of the main advantages of ROS is its openness and modularity. This means that everyone can make changes to the code, create new libraries and share their solutions with the community. Thanks to this, developers from all over the world have created thousands of packages that cover almost all aspects of robotics: from motor control to complex navigation.

Another reason for the popularity of ROS is its active community. This means that if you have a problem, you will almost always find a solution or help in forums, repositories, or documentation. Moreover, ROS is actively used in academic circles, which makes it not only a powerful development tool, but also an excellent educational platform.

An example of a robot called turtlebot controlled by ROS

Communication architecture:

  • In ROS 1, nodes communicate through a central element, the ROS Master, which monitors all connected nodes. This creates a dependency of the system on one component, and if the wizard fails, the entire system is disrupted.
  • In ROS 2, the system is decentralized through the use of DDS (Data Distribution Service). This makes the system more flexible and resilient to failures, as nodes can communicate directly without the need for a central master.

Multithreading implementation and real-time support:

  • In ROS 1, multithreading is implemented at a basic level, which limits work with real-time tasks.
  • ROS 2 has added support for real-time tasks and improved multithreading, making the system more productive and suitable for complex applications such as autonomous cars or industrial robots.

Cross-platform:

  • ROS 1 was originally developed only for Linux, although there are partial implementations for Windows and macOS.
  • ROS 2 was designed to support multiple operating systems at once, including Linux, Windows and macOS, which expands the possibilities of its use in different environments.

Safety:

  • ROS 1 did not initially take into account security requirements. For systems operating in environments where data security is important, additional solutions had to be implemented.
  • ROS 2 was originally designed with security support, including data encryption, authentication, and access control, making it more suitable for modern mission-critical systems.

These improvements make ROS 2 more suitable for working with robots in large-scale projects and with high reliability and safety requirements.

The long—term supported (LTS) versions of ROS 2 are the most stable and proven versions that have been receiving security updates and bug fixes for several years. Today, the latest version is Jazzy Jalisco, but most packages work stably for earlier versions of Foxy Fitzroy and Humble Hawksbill, I recommend them for my projects

Comments 5

Login to leave a comment

было бы хорошо, если бы Астана хаб сделали курс по робототехнике

Reply

будет цикл статей, можно сказать миникурс

Reply