Robots under Robonomics Control Overview
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
Baxter
Kuka Manipulator
Iris Drone
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!