ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Enable ROS robot to launch based on payment (and other cool stuff)

Hello colleagues,

I’m Vitaly from Robonomics and in this post, I want to tell ROS community about the new Internet technologies (often referred to as “Web3”), which grew out of cryptocurrencies and blockchain, but has now matured into fully functional distributed clouds and are starting to get adoption in the industry.

Robonomics can be seen as a communication layer in ROS that dispatches the robots when the customer pays. Some of the examples you can build with it are:

  • An coffee brewing robot that brews coffee when it receives the payment;
  • A vacuum robot that cleans based on a payment and orders replacement parts on its own;
  • A network of logistics robots that can be hired on-demand;
  • Or any complex cyber-physical system in a factory or city that needs to transfer value autonomously in an environment without a single point of failure.

Why are we doing this?

Primarily, we are interested in finding options for controlling robotics from distributed clouds.

Currently, most IoT and robotics applications are usually organized under a centralized cloud control. We believe there is a set of issues with this approach ranging from interoperability and reliability (single point of failure) issues and to “Terminator”-style antiutopian scenarios.

And I want to draw your attention to the fact that ROS2 has refused from the master node concept responsible for all communication inside the robot in ROS and in ROS2 there is no such thing. Of course, we understand there are other technical reasons for this, but we believe that this, at least partially, supports our argument in favor of distributed communication.

Thus, for the past 5 years, our team has been researching ways to abandon centralized cloud systems for robotics control. We are using the existing public blockchain infrastructure and connect it to the ROS ecosystem so that any robotics developer could work with these new Web3 tools in a familiar environment.

We have been publishing all our work as an open-source project and you can find our codebase in Github and our research papers on this webpage.

What is Robonomics and how can I use it as a robotics developer?

Essentially, Robonomics Network can be viewed as a communication layer in robotics. For this, ROS 2 introduces the concept of RMW (ROS MiddleWare). RMW is a replaceable layer that provides data delivery between ROS processes.

The rules for data delivery in different layers of the RMW can vary greatly. For example, an RMW that uses radio frequencies for signal delivery can differ in performance and application from a TCP / IP based RMW. Here, the Robonomics network sets its own restrictions by adding the paradigm of “technico-economic transactions” to the ROS 2 space via the RMW interface. Using our tools, a robotics developer can organize any use case where the robot needs to send/accept the value and perform an action. For example, a pick&place operation by an industrial arm based on a payment.

What is unique about this tool is that it merges the technical information in ROS that makes the robot move and financing information into a single instrument. While all the infrastructure that enables this to happen is fully distributed, cannot be censored or controlled by any single entity.

Rewards for Researchers, Developers, and Engineers

We want to share the tools that we now have with the robotics developers so that they get to know about the possibilities Web3 technologies bring. And hopefully, they will have their own thoughts and ideas about the use cases for their robots and recommend us what else needs to be developed.

We are at a stage where there are still many open questions, and the people who are familiar with ROS and work on their robots can significantly help us improve the tools. We also want to support the roboticists who try our tools. That is why we are running a rewards program distributing $100,000 to about 50 teams that show a simple project utilizing Robonomics resources in their robot. You can read about the program here.

The program is needed so that developers who are already familiar with ROS look at these new Web3 technologies and come up with more ideas on how to develop Robonomics for its use in ROS2.

We are happy to discuss other engagements and academic papers. And we would love to support the ROS community the way we can!

Learn the Web3-stack for roboticist - Robonomics Winter School

For people interested in what we are doing and who would love to learn more from our developers, we are running Robonomics Winter School starting February 10.

This will be a 2-week online event where our core developers will give lectures and seminars explaining how to use the latest Web3 tools like Polkadot blockchain to build distributed web services for robots and IoT devices. It is completely free to participate and you can join the event in Linkedin.

We also have Discord community where you can meet like-minded people, extend your professional network and get ready for Winter School. We would love to see you there!

Conclusion

We are primarily an academic team, and our research focuses on enabling distributed cloud control for robotics. We would love to tell the ROS community about our work and invite them to learn and try our tools in their robots. Our goal is to show what can be possible using Web3 and get feedback on what can be improved. So if you are interested in experimenting with distributed clouds as an academic project or just a fun experiment - we would love to talk to you!

6 Likes