ROS

Learning ROS online? Is possible thanks to the collaboration of Robotnik and The Construct

If we talk about autonomous mobile robotics, it is essential to talk about ROS. The ROS framework has been one of the biggest breakthroughs in the robotics industry in recent years. The idea was to find a way to help the development of robotic applications, facilitating communication between sensors and algorithms, following the paradigm of "program once, test everywhere".

Another new feature of this 2021 is the new remote warehouse lab in exclusive collaboration between The Construct and Robotnik. A lab that offers the possibility to learn ROS online, with both remote and on-site applications. 

The Construct is the leading online academy for learning ROS development in robotics. This platform has traditionally operated by providing both online and face-to-face training around the world in simulation environments.

For Robotnik it is important that the training that followers receive is with real demonstrations, so it offers the academy free annual licenses so that ROS programming with some of the robots it manufactures - the SUMMIT-XL, for example - can be done not only in a simulated environment, but with testing in a real environment.

All of Robotnik's robots support ROS software, and it has been working on robots for R&D for almost 20 years. These two aspects have led to a close relationship with The Construct since its inception, collaborating in different ways. Throughout this time, they have been able to count on some of Robotnik's most outstanding robots, such as the RB-1BASE or the RB-KAIROS +, for their academic offerings.

New laboratory in collaboration with Robotnik and The Construct

Now they are launching a remote laboratory to complement the experience of their students in simulation with real robots, so that the training, although remote, has a part of real use of a robot.

The warehouse lab aims to teach how to program autonomous collaborative robots to help in warehouses, using both ROS1 and ROS2. Students first practice with a simulation of the environment and then remotely connect to real robots and practice what they have learned on these autonomous robots.

The main robot in the lab is Robotnik's RB-1 BASE, plus a few others that are used as complementary tools. An example of this is the UR3 (from Universal Robots) with a gripper from OnRobot.

This robotic arm is necessary to have a real laboratory to help in warehouses, since the two basic tasks of these robots are to carry cargo from one place to another (task of the RB-1 BASE) and to be able to pick up objects and put them down where they belong (task of the manipulator robot).

Warehouse Robot lab

Who is this remote laboratory aimed at?

The remote lab is only available to Enterprise customers. These are enterprise customers who want to set up their robotics sections or who want to keep their team up to date with the latest developments in robotics with ROS.

They are also often project researchers.

This means that is a high quality laboratory, whose training is aimed at people with a certain level of prior knowledge and experience in the robotics sector. Our special workshops (online and on-site) are also held in this laboratory.

rb-1 base

But what is ROS?

ROS stands for Robot Operating System.

It is not exactly an operating system, but a set of open source software frameworks that allow hardware to be abstracted.

Before ROS existed, every time a user changed robots or acquired a different one, he or she had to learn to use new software. Today with ROS, it is possible to share programs, code and commonly used functions between different robots. It also facilitates integration between systems, which is more expensive if you change paradigms. 

At the moment, ROS is available for Linux Ubuntu and Debian but is still in the experimental phase for Windows or macOS.

Robotnik is dedicated from the beginning to product development and provision of engineering and R&D services in service robotics. That is why it started working with ROS already from the first distribution released in 2010 (Box Turtle) knowing that it is and will be the standard in robotics for years to come.

rb-1 base

In the last few years, ROS has established itself as the most widespread robotics framework worldwide. Every day more and more companies and institutions are opting to use ROS due to the facilities it offers, highlighting the possibility of using open source packages already created that allow the use of different components without the need to invest a large amount of time in the process.

However, the usefulness of ROS goes beyond the reuse of software created by the community. Being a middleware conceived from the beginning for use in robotics, it provides a set of tools that greatly facilitates the creation of a robust and coherent software architecture.

The software functionalities are distributed in the form of modular packages that can be added or removed without affecting the operation of the rest of the components of a robot. ROS provides different communication protocols between these packages, as well as tools to visualize and modify the robot's behavior in a simple and intuitive way.

Another great advantage of using an open source framework with a large community behind it is that its users already have the necessary knowledge to use any type of robot whose architecture is based on the same system. In addition, the large number of users translates into the creation of a large number of open source components that are in a process of continuous improvement. Although the initial adoption of ROS was mainly in research centers, the maturity of the product has led to tremendous growth in the service and industrial robotics segments in recent years.

Due to the modular nature of ROS, its packages are under constant development to add enhancements, correct weaknesses, and adapt its operation to the current state of the art. To prevent its users from having to manually update each package, exposing them to problems and incompatibilities, ROS has a versioning system that provides an up-to-date and functional set of packages. Each version is designed for use on a different Ubuntu distribution and has up to 5 years of support from its release. The versions with active support at the moment are Melodic and Noetic, with Melodic being the most widespread distribution at the moment.

The large adoption of ROS in recent years for use in robots of all types, together with the advancement of technology since its release in 2007, has led to the emergence of new needs that were not taken into account during the initial design of the system. To avoid making drastic changes that would break compatibility with already established systems, it was decided to create a new system called ROS 2, the first official version of which was released at the end of 2017.

ROS 2 features a new decentralized architecture intended for use on systems with diverse features, and with native support for Ubuntu, OS X and Windows. Its advantages include greater control over the execution of each component, the possibility of integrating real-time systems, or its multi-robot approach that offers the possibility of adjusting the communication system for use in environments where communications are not ideal. 

robot móvil

ROS 2 already has several years of adoption and constant improvements behind it, which has led to the release of LTS (long-term support) versions designed for stable use in all types of robotic systems. This has caused the industry to begin a migration process from ROS to ROS 2 that will extend over the next few years, and will significantly drive the evolution of the new system.

The store with ROS robots and component

The proof of this firm commitment by Robotnik is the creation of ROS Components, a portal for the sale of robotics products with ROS support.

Most of the robots and components on the market are supported in ROS, but sometimes it is not easy to find out which ones are, which version they support or how to purchase them. One of the main objectives of this store is to link the products with their drivers and/or software for ROS, detailing how to install and configure them and where to find tutorials or useful information, among other aspects. In the end, it's all about making the user experience as easy as possible.

ROS Components

In addition to supporting the ROS community, whose core is maintained by the Open Source Robotics Foundation (OSRF) which is a non-profit organization in charge of developing new versions, as well as maintaining the necessary infrastructure for servers, etc., ROS Components aims to promote the use of ROS as well as its maintenance and growth.

Would you like a ROS video tutorial? A ROS demo? You can leave your opinion below in comments.

Subscribe to Robotnik's newsletter to stay updated on the industry.


RB-KAIROS+, the first mobile robot fully prepared to integrate URe arms

Designed for all types of industrial applications, it is presented as a solution for Universal Robots e-Series users.

Thanks to its mobility, it extends the cobot  workspace unlimitedly.

RB-KAIROS+ is a robotic platform designed for the plug&play integration of Universal Robots e-Series arms. Its software and hardware are fully prepared to mount the arm and thus turn the robotic arm into a mobile manipulator. This allows unlimited expansion of the cobot workspace because the collaborative mobile manipulator can work in different locations. In this sense, it is a great complement for current URe arm users.

RB-KAIROS+ is extremely useful for industrial applications such as pick and place, part feeding, metrology, quality control, bolting of large parts or packaging. Without a doubt, it is an excellent way to improve the productivity of any factory.

robot manipulator

In addition, it is designed to work in industrial environments, where safety lasers are generally used, which allow the robot to safely share the workspace with the operators.

RB-KAIROS+ has a robust steel design and can carry up to 250 Kg. The mobile platform has omnidirectional / skid-steering kinematics based on 4 high power motor wheels.

RB-KAIROS+ can navigate autonomously and can be configured with a wide range of sensors and components found within the UR + ecosystem.

RB-KAIROS+ is a certificate product from UR+

More information: RB-KAIROS +

Do not miss our video.

 


ROS Control: the key to consolidate ROS in the robotics industry

ROS has been one of the greatest advances of the robotics industry in the past years. Its development began as a way to help the development of robot applications, easing the communication between sensors and algorithms, following the paradigm of “program once, test everywhere”. 

This has been the pattern of the last years, and ROS has performed extremely good in that way. 

For example, you could code an algorithm to take an image as its input, without caring about which model, resolution or connection type, as long as it was supported by ROS and adopted its API.

But this focusing on the high-level layer of application development led to an unthinkable oblivion: How was the access to actuators managed? How were the references of the actuators calculated? 

As in the case of high level applications, where the end user shouldn’t care about the source and destination of the data used and produced by him, in the case of robot control the user shouldn’t care about which type of actuators are used by a robot. But today, this is not the situation anymore thanks to ROS Control.

Why ROS Control?

ROS Control is the API that has been developed by the ROS community to allow simple access to different actuators. Using this standard API, the controller code is separated from the actuator code. For example, one could write a new controller implementing a fancy control strategy and test it on different hardware without changing a single line of code. Or one could test different control algorithm with same hardware to find the most suitable for its needs.

ROS Control has different features that make it really appealing: 

  • Real time capabilities, that allows to run control loops at hundreds of hertz.
  • A simple manager interface, that gives access to the actuators and handles resource conflicts.
  • A safety interface, that knows the hardware limitation of the joints and ensures that the commands sent to the actuators are between their limits.
  • A set off-the-shelf controllers that are ready to be used.

Have you ever thought about the mapping between joint and actuator space? ROS Control already did it. 

Normally this mapping is one-to-one, i.e. one actuator controls one joint, and their movement is related by a gearbox, so you don’t need to do messy calculations. However, in case of more complex scenarios, e.g. when a differential transmission is used, ROS Control gives us an elegant solution through its transmission interface to cope with this problem. 

This solution is used by the differential (RB-1 Base and RB-2 Base) and skid-steering (Summit-XL) robots from Robotnik, robotics company. These platforms are very similar, but they have different number of wheels: two for a differential configuration and four in the case of skid-steering. Thanks to the transmissions interface in ROS Control, they share the same control algorithm with no additional software effort.

ROS Control

One more step

What about mixing different robot components into one? This is a trend nowadays, where robot components are autonomous and usable on their own but can also be assembled into a single functional system. In those cases, ROS provides high level coordination between the components, but with ROS Control this coordination is also achieved at the low level, extending the control possibilities to far and beyond.

For example, with a more coupled control between a robotic arm and the tool attached to it. Or, as is the case of RB-Kairos, smooth and coordinated movements between the robotic arm and the mobile base are easy to program, leading to high complex operations and maneuvers that include logistic operations, picking items from narrow spaces and interactions with humans in a safe and confident manner.

RB-KAIROS+

Finally, the separation between controllers and actuators allows an interesting option: simulation. Gazebo, the standard robot simulator used by ROS, implements simulated ROS Control actuators, and one can write and test a controller even before it has the real robot available. This feature of ROS Control is used at Robotnik to test new kinematic configurations for its most edgy robots, allowing for quick prototype delivery. 

This is the case of RB-Vulcano, a platform with 4 steerable wheels in a swerve-configuration thanks to them is able to move in an omnidirectional way. 

However, they have to be coordinated in different modes, such as parking or navigation, to effectively follow the reference of movement that is sent to the robot. Switching between modes must be a compromise between the smoothness of the movement and the precision required for each operation. Thanks to ROS Control, Robotnik was able to replicate the full platform in a simulated environment to find the best strategies for motor control.

mobile manipulator

ROS Control is one of the key parts for the domination of the robotic world by ROS. As a world leading company in the ROS community, Robotnik makes an extensive use of ROS Control to give its customers the best products available on the market.

If you are interested in collaborative mobile robotics, don’t forget to subscribe to our blog!


Robotnik, premium sponsor of 3rd ROS Developers Day

Robotnik is going to sponsor the 3rd ROS Developers Day (*formerly named “ROS Developers Conference“), which is a hands-on online event for robot operating system developers. The event aims to connect ROS developers around the world without geographical restrictions and to share and learn the latest ROS applications through real-time practice.

At this conference, the world’s top ROS developers will bring their latest results through a webcast. They will demonstrate their ROS projects in real-time, and the public will practice at the same time.

It's the case of our colleague Alejandro Arnal, software developer from Robotnik. He will make a speech about 'Working with mobile manipulators'. Mobile manipulators are robots composed of a mobile base and a robotic arm. By combining these two, robots are able to interact in human environments, being collaborative robots. Our colleague will teach the audience how to program a mobile manipulator and they will practice using Robotnik’s mobile manipulator RB-KAIROS.


ROS CONTROL, an API to control them all

ROS has been one of the greatest advances of the robotics industry in the past years. Its development began as a way to help the development of robot applications, easing the communication between sensors and algorithms, following the paradigm of “program once, test everywhere”.

This has been the pattern of the last years, and ROS has performed extremely good in that way. For example, you could code an algorithm to take an image as its input, without caring about which model, resolution or connection type, as long as it was supported by ROS and adopted its API.

But this focusing on the high level layer of application development led to an unthinkable oblivion: How was the access to actuators managed? How were the references of the actuators calculated? As in the case of high level applications, where the end user shouldn’t care about the source and destination of the data used and produced by him, in the case of robot control the user shouldn’t care about which type of actuators are used by a robot.

But today, this is not the situation anymore. ROS Control is the API that has been developed by the ROS community to allow simple access to different actuators. Using this standard API, the controller code is separated from the actuator code. For example, one could write a new controller implementing a fancy control strategy, and test it on different hardware without changing a single line of code. Or one could test different control algorithm with same hardware to find the most suitable for its needs.

ROS Control has different features that make it really appealing: real time capabilities, that allows to run control loops at hundreds of hertz; a simple manager interface, that gives access to the actuators and handles resource conflicts; a safety interface, that knows the hardware limitation of the joints and ensures that the commands sent to the actuators are between their limits; and a set off-the-shelf controllers that are ready to be used.

Have you ever thought about the mapping between joint and actuator space? ROS Control already did it. Normally this mapping is one-to-one, i.e. one actuator controls one joint, and their movement is related by a gearbox, so you don’t need to do messy calculations. However, in case of more complex scenarios, e.g. when a differential transmission is used, ROS Control gives us an elegant solution through its transmission interface to cope with this problem.

What about mixing different robot components into one? This is a trend nowadays, where robot components are autonomous and usable on their own, but can also be assembled into a single functional system. In those cases, ROS provides high level coordination between the components, but with ROS Control this coordination is also achieved at the low level, extending the control possibilities to far and beyond, for example, with a more coupled control between a robotic arm and the tool attached to it.

Finally, the separation between controllers and actuators allows an interesting option: simulation. Gazebo, the standard robot simulator used by ROS, implements simulated ROS Control actuators, and one can write and test a controller even before it has the real robot available. This feature of ROS Control is used at Robotnik to test new kinematic configurations for its most edgy robots, allowing for quick prototype delivery.

ROS Control is one of the key parts for the domination of the robotic world by ROS. As a world leading company in the ROS community, Robotnik makes an extensive use of ROS Control to give its customers the best products available on the market.


IROS and ROSCon 2016, leading technology and World Robotics Experts meeting

Robotnik has been in the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2016) and ROSCon held in Daejeon, Korea. The conference have been integrates with full of workshops, exhibitions, robot demonstrations, and social activities for attendees and guests.

Robotnik have shown its great robotic platforms at the conferences. The RB-1 and flagship SUMMIT-XL have been there to show up the people their capacities.

Take a look to some pictures from the events.

robotnik_iros_roscon_2016_01

SUMMIT XL and RB-1 moving around the fair

robotnik_iros_roscon_2016_03

Robotnik team in the stand with its partner Barrett Technologies.

robotnik_iros_roscon_2016_07

RB-1 at your service on the exhibitor hall.

Thank you very much to all fairgoers. It was a pleasure to meet all your queries and concerns!


Robotnik will attend ROSCon and IROS 2016

 

ROSCon 2016

Robotnik will be in the conference ROSCon 2016, held on 8th and 9th October in Conrad Seoul, Seoul, Korea. You will find us at Booth - 11.

IEEE/RSJ International Conference on Intelligent Robots and Systems

Robotnik will be in the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) with its partner Barrett Technology.

Robotnik will bring three robots supported by ROS, the mobile platform SUMMIT XL HL with mecanum wheels, the mobile manipulator RB-1 and the Barrett WAM arm.

This great event will take place in the Daejeon Convention Center, Seoul, Korea, between the 9th and 14th October. Find us in Booth - B13.

Robotnik is pleased to invite you to attend these two events and come to our booth where we will have the pleasure to answer any questions or concerns about our company, products and services.


ROS Components, because robotics means ROS

ROS Components is a division of Robotnik Automation Group, leading company in the European service robotics market.

The rise and potential of all the robots and devices using ROS has led us to create this new and exciting project, where we intend to offer a huge range of products in a simple and useful way for the customer. The client will be able to find all the technical information and support of any product at the same place: ROS Components.

buy-one-contribute-osrf

In recent years, ROS has become the standard in Service and Research Robotics, and it’s making great advances in the Industry sector.

Most of the robots and components in the market support ROS, though sometimes finding which are really supported, what ROS version they make use, and how to get them is a difficult task. One of our main purposes is to make it easier and simpler for the customer, linking the products with their ROS controllers, explaining how to install and configure them and showing where to find useful information about them. All the products in the site are supported by ROS, either available directly in the ROS distribution or through their source code.

From ROS-Components we strongly believe that ROS is and will be the standard in Robotics for many more years. Therefore we want to encourage roboticists to use it (whether you are not already doing so) as well as manufacturers to give support to From ROS Components we try to encourage the use of ROS as well as its maintenance and growth. Therefore we are going to donate part of the benefits of every sale to the OSRF. So, every time you buy in ROS Components, you’ll be contributing to the ROS maintenance and development. Apart from this, you also can directly contribute with the OSRF through the following link.

On the other hand, we want to encourage the ROS community to participate in the development, improvement and documentation of ROS packages (ros.wiki.org) as well as in helping with ROS related problems (answers.ros.org).

The ROS community has a new meeting point in ROS Components!

WELCOME to

ROS Components!

osrf_logoRos logo


Robotic web applications

ROS is a great tool to develop new robotic applications. Its ease of use and its large amount of tools and wide community makes ROS a great way to start learning robotics, or to develop a state of the art industrial applications. In spite of all these advantages, one of ROS main limitations is that it must work on Linux systems, mainly Ubuntu. Linux and Ubuntu are increasing the number of desktop users, but nowadays the most used Operating Systems are Windows for desktop users, and Android for mobile. This makes hard to integrate applications when the end user has never used a Linux Ubuntu system, or its infrastructure is based on Windows or Android. This problem can be solved by developing robotic applications taking advantage of the ROS web framework. ROS web framework is a collection of open-source tools and modules, built around the Robot Web Tools project, with the goal of converge ROS with modern web and network technologies. This will create a broadly accessible environment for robot development and human-interaction research used over wide area networks.

Robot Web Tools uses WebSockets to communicate with ROS middleware, and offers several tools to help develop applications using rosbridge. The main front-end tools is the roslibjs package, that is a library to build ROS nodes using Javascript, and allows usage of ROS topics, services, goals, parameters and TF. ros2djs and ros3djs are used to create 2D and 3D visualization of the ROS environment, allowing to visualize maps, costmaps, grids, URDF models, InteractiveMarkers, PointClouds and other basic geometric shapes. This can be very useful to create your own navigation packages that can be controlled from any device.  Other useful tools are keyboardteleopjs, to move a robot using a simple keyboard interface, mjpegcanvasjs to visualize image topics, and speech_commands to control a robot using speech. Robot Web Tools also includes all necessary server nodes to interface the client-based modules with ROS. This nodes are  rosbridge_server, web_video_server, and tf2_web_republisher.

All these tools can help to solve the problem of the isolation of ROS in Linux systems, and allows the deployment of ROS applications on any device that can use a web browser (Mozilla Firefox, Google Chrome, Safari, etc … ) In the future we can expect more development of the Robot Web Tools project, for example with the addition of new communication standards, like WebRTC, that will help with applications demanding intensive and high-bandwidth streaming.

Robotnik Summit XL

Illustration 1: SUMMIT XL Web 3D visualization

Illustration 2: Turtlebot web visualization

Illustration 3: Turtlebot web map navigation