Robots under Robonomics Control Overview

Vadim Manaenko
Robonomics Network by Airalab
2 min readOct 2, 2020

--

First, let me show a short video that includes 4 different robots. Then I’ll explain what happens here.

One of the greatest strength of Robonomics Network is to provide simple interface for any kind of robots. Given just two functions datalog and launch we are able to build Robot as a Service type of applications.

In this short article I’d like to share with you some of the examples. We picked up few of the ROS-enabled robots and made them do a predefined task. All of them wait for a corresponding transaction in the blockchain, do the work and store telemetry so we could check it later.

Mars Curiosity Rover

Page on Wiki

Baxter

Page on Wiki

Kuka Manipulator

Page on Wiki

Iris Drone

Page on Wiki

Common Scenario

In general all you must do is to create an account for a robot, send a launch transaction and watch for it in a script.

The dapp is located here. If work with development chain, choose one in the left menu.

To send a launch transaction, run

$ echo "ON" | ./robonomics io write launch -r ROBOT_ACCOUNT -s SENDER_PRIVATE_KEY

To watch for the event, you could write something similar to

program = '/path/to/directory/' + '/robonomics io read launch'
rob_read = subprocess.Popen(program, shell=True, stdout=subprocess.PIPE)
while True:
try:
output = rob_read.stdout.readline()
rospy.loginfo("Find a payment")
out = output.split(" >> ")
check_state = my_adress.rstrip() + " : true"
if(out[1].rstrip() == check_state):
rospy.loginfo("Job paid")
rob_read.kill()
break
if(output):
rospy.loginfo("Not my job")
except KeyboardInterrupt:
exit()

In the Wiki you’ll find links on github repositories. Feel free to use it as a template for your ideas!

--

--