Why ROS is perfect for IOTA
The full article was originally published by Michael Kuhlmann on Medium. Read the full article here.
Moin Moin! Servus! Hello!
For this short blog post I have to introduce myself shortly. My name is Michael and I’m studying Electrical Engineering. The last few months I was very busy in writing my bachelor’s thesis about the Implementation of a Quadcopter Autopilot into the ROS Framework. And at that time I realized that the ROS Framework and IOTA match perfectly. But what is ROS and how does it match with IOTA? Thats the question I’m dealing with in this blogpost.
What is ROS?
ROS is short for the Robot Operating System. It is an open source meta-operating system and is used for every kind of robot (e.g. a quadcopter, turtlebot, service roboter , …). In the past robots needed to be programmed for their own. The more complex the robots became, the more complicated the programs became too. A big disadvantage was, that the programs couldn’t be easily reused because the programs were tightly interlaced with the hardware. ROS is a solution for that problem. With ROS you are able to create hardware independent “programs”, called packages. That makes it very modular and easy to use. Another advantage is, that ROS is language independent. You are able to create those packages in the programming language you prefer. Currently, Python, C++, and Lisp are supported. Java and Java Script libraries are in the experimental phase.
For those who want a more detailed explanation I highly recommend the ROS Wiki: http://wiki.ros.org/ROS/Introduction.
Why is ROS perfect for IOTA?
In the last few days I tried to integrate IOTA into the ROS framework, so I created a ROS package in which I would like to introduce you now. With this package you are able to create so-called “Nodes”(slightly different to these which run the IOTA network) . These nodes are used for processing tasks and they are able to create topics in which they publish data or other stuff. Other nodes are able to subscribe to those topics and use the data for other processing tasks. This is the part where it gets interesting. The node from my package creates a topic in which you can publish all the data you need for a transaction.