Friday, April 19, 2013

Cloud Robotics: Are We Ready to Put the Robot Brain in the Cloud?

Clouding computing is inspiring roboticists worldwide to break the mold on traditional robots and harness the power of clouds to create the next generation of robots. This new exciting development is being called cloud robotics. In my opinion, this development is very timely and not coincidental. As humans we are increasingly keeping at least a part of our brain in the cloud. You have outsourced a brain function to the cloud, if you
  • used Facebook to remember your friend’s birthday;
  • used iPhone app to get directions to your favorite restaurant;
  • used Wikipedia to recall the name of the fourth Beatle;
  • used Google to search recipes for making cheese sandwiches.
So why should robots not follow this trend? The cloud computing promises the following three major advances in the field of robotics.
  • Once the robot brain lives in the cloud, design constraints fundamentally change. Robots can have practically unlimited computing power. It eliminates design constraints and gives tremendous freedom to robot designers. I will list a few noteworthy opportunities. Performing faster than real-time high-fidelity simulations to aid the plan generation is currently an unrealizable goal using on-board computers. Two of my students, +Josh Langsfeld  and  +brual shah tell me that this is now practically within our reach using the cloud. We do not need to add unnecessary weight on the robot to protect its brain. Robots can be made really small if they don’t need on-board powerful computers. Hopefully, they will consume a lot less power and can work a lot longer on single a battery charge. As you can imagine, suddenly the world is full of new design possibilities!
  • Robots can access large databases (e.g., maps, images, videos). We may need to build different interfaces so that robots can use web to search and understand results they get back. But there is no reason why a robot should not be able to access Google, Facebook, Wikipedia, YouTube, and OSRF Blog.
  • As new information is discovered, it becomes instantly available to robots. This facilitates new modalities for operation of robot teams. If a robot learns a new skill, all robots with similar capabilities would be able to use that skill. I am sure that this last capability will make us human quite jealous of robots. Won’t it be nice if you are able to use the cool new golf swing the moment your friend masters it after spending three weeks in the miserable heat to learn it?
Many different kinds of robots such as self-driving cars, robot swarms, and healthcare robots can potentially benefit from cloud robotics. But there are three main challenges in embracing cloud robotics and using it in practice.
  • Using the cloud as the brain requires connectivity to the cloud. What happens if the connectivity to the cloud is poor or lost? We certainly will need to make sure that the robot will have on-board “little brain” to make sure that they remain safe while they are unable to use the “big brain” that resides in the cloud. We will need to figure out the coordination between two brains.
  • What happens if the cloud is hacked? Hackers could deliberately send malicious information or instructions to robots. How can a robot know if the information coming from the cloud is reliable or not? We will need to figure out new ways to authenticate information coming from the cloud to ensure that robots and people around them remain safe despite threats of compromised clouds.
  • Unwanted software upgrades are painful for many humans (this one of my pet peeves!). When you use the cloud, you have virtually no control over what gets upgraded and when it gets upgraded. Unfortunately, a really small change in the information structure might pose a big problem for robots. We will need well-defined semantics to exchange information with robots and will need to hope and pray that cloud providers are kind to our robots as they plan software upgrades. I am normally not worried about a robot rebellion. But unwanted software upgrades might push robot to rebel against humans.
I would like to hear your thoughts on how cloud computing will affect the field of robotics. Are we ready for cloud robotics?