The IoT is likely to make robots ubiquitous, but they may not look like what you expected. Some may not even be visible.
Bill Gates, in a 2006 Scientific American article, described his vision of the future as, “A robot in every home.”
It’s difficult to project that far ahead with technology, though. Since then, wireless has come a long way. So have microelectronics—nearly 24 orders of magnitude if you use Moore’s Law. So the robot conceived in 2006 is now more like a gaggle of Internet dust particles that remotely control the appliances of the IoT via next-generation NFC/RFID/ZigBee/Bluetooth, using what we hope are fully secured wireless links.
Rather than having a bunch of function-specific automatons, though, the vision in 2015 looks remarkably different. “You’ll be able to embed this connectivity into just about anything in our lives,” says John Horn, president of RACO Wireless. “We’re seeing thousands of products communicating in real time, with modules so small they can fit on dog collars or wrist watches.”
In the foreseeable future, robots could be just about anything—mobile or fixed, with embedded intelligence. They could even be “Internet dust”, invisible to the naked eye. And while there are no hard and fast definitions of a robot, generally to be called that the object must either move, manipulate and sense their environment, control some sort of limb, or exhibit some sort of intelligent, intuitive behavior. Not much of that exists today outside of specific implementations such as commercial or industrial manufacturing automation and warehousing, and almost none in today IoT. But considering what the future IoT will encompass, robots almost certainly will play a huge role.
Robot behavior, from the warehouse to the IoT
For some time now, one of the most developed areas of “intelligent” robotics has been in warehousing. Such applications have been an excellent test bed for industrial robots using various interactive, autonomous control systems. Going forward, as industrial computer control systems are constantly shrinking and increasing in complexity, these on-board, or integrated computers will have increased capability to make their own decisions. As it turns out, the model that seems to work well in warehousing also has some applicability to the IoT, as well.
Interestingly, the archetype of robot behavior that is the most interesting for the future of warehousing, and shows great potential for similar non-linear applications in the IoT, is that of “swarming,” particularly that of the ant colony. Algorithms have been developed that mimic such foraging behavior, and are tweaked to create specific functions within the robotic swarm. Eventually, interconnected via a WLAN, such robots will communicate with other robots in the “swarm” simultaneously, and in real time, in a distributed, self-organizing architectural network. They also will be backhauled to a centralized computer system for parental functions.
Why this particular approach works for the IoT is that in many ways the myriad of autonomous Internet of Things objects function like an ant colony with objects having particular assignments. Many will be redundant, others somewhat unique. But overall, most of the functions will be part of group. Resources will be organized into pools to create the swarm. Once such a swarm has been created, it can be networked with other swarms to create “super swarms.” The manager of the swarm can control whatever level of access (data production, consumption, or both) each resource in the swarm has. Other objects can have hierarchal supervisory control to have objects produce or consume, or both, data generated by other object in the swarm.
A rather forward-thinking example of this comes from MIT. Recently, researchers there unveiled ‘M-blocks‘ — robots that can assemble themselves into different shapes to perform a range of basic tasks, without input from a human controller. For example, an M-Blocks-based robot working underwater might make itself narrow to fit through a deep sea crevasse, or a tiny team of medical robots could spread themselves flat to plug a gap in the human heart.
More sophisticated versions of this platform could prove useful in any number of other applications. Swarms of such mobile cubes could temporarily repair bridges or buildings during emergencies, or raise and reconfigure scaffolding for building projects. They could assemble into different types of furniture or heavy equipment as needed. And they could swarm into environments hostile or inaccessible to humans, diagnose problems, and reorganize themselves to provide solutions (see note 1).
To make all of this work requires a relativity complex and sophisticated intelligent subsystem. Developers have been working on this for quite some time and much progress has been made in this area in the form of the robot intelligence kernel (RIK), developed by the Idaho National Labs (see note 2), and the robot operating system (ROS), developed by the Open Source Robotics Foundation (see note 3).
The RIK is much like the well-known 7-layer OSI mode, but less complex. It is comprised of four unique layers (see Figure 1). The two bottom layers, generic robot architecture and generic robot abstractions, are combined as one layer for this discussion because they are intimately interfaced as framework and architecture. They provide the APIs that collect data from input sources such as sensors or actuators, package it, and pass it to the robot behaviors layer, which is comprised of both deliberate and reactive robot behaviors. The cognitive glue layer interfaces the asynchronous firings of the behaviors for particular application tasking. The top layer, dynamic autonomy is the interface to the human input and interleaves this input into the functioning of the RIK behaviors.
This kernel is both portable and reconfigurable. That means it has can be used across a girth of applications that require behavioral, reasoning, and perceptual functions, and across a variety of platforms, conditions, and environments. RIK integrates algorithms and hardware for perception, world-modeling, adaptive communication, dynamic tasking, and behaviors for navigation, search, and detection.
Another key parameter of the RIK is that there is a measure of innate security. The design of the INL RIK technology makes such robots trusted, independent, collaborators, as opposed to passive objects that require other security layers to be trusted. All of this makes this kernel of very high interest for a variety of IoT devices, especially in the areas of security, motes, and autonomous, decentralized tasking.
Robot operating system
The ROS is finding an extensive acceptance across a variety of robotic platforms. As with any OS, it contains all of the tools, libraries, and run-time environments for implementation in advanced robotics environments, including low-level device control, hardware abstraction, package management, implementation of commonly-used functionality, and the passing of messages between processes.
The ROS is an assemblage of a series of independent nodes that communicate with each other via a publish/subscribe messaging model. This approach makes the ROS hardware independent. It can be implemented across various computing subsystems and architectures.
The ROS “boss” is called the ROS Master. The Master sets up the protocol so all other ROS nodes can find and communicate with each other (see Figure 2). That makes it platform independent since once the nodes are setup, they can simply referred to as node (x), and communicate.
This makes ROS objects applicable to the IoT. The fact that such ROS-based devices can connect across hardware platforms and subsystems makes it very attractive for many of the IoT applications. And, coupled with RIK, there is even some innate security.
The IoT of the future will have robots galore, but not necessarily the kind that have emerged from the talented minds of science fiction writers, although eventually cybernetic beings certainly will exist.
But for today, robot-specific operating systems and hardware are on a fast-paced development track. Much of this is still in its infancy, when it comes to the kind of advanced intelligence that will be needed for some of the more sophisticated IoT applications and objects. Unfortunately, even with trusted associations, the robot OS has the same security issues as any other Unix-based system. The ROS is a “UNIX”-like OS (Ubuntu version supported) with “experimental” compatibility to other UNIX variants. There is also compatibility with Java. That means any threats or exploits that work on UNIX or Java systems will likely work on ROSes as well.
Depending upon the robot, its function, interconnect and capabilities, raising the security flag for robots can be a bit more critical than some other segment of the IoT. Conceivably, if we think commercial robots as having mobility (more sophisticated versions of the Roomba vacuum, for example), hacking such a robot can have dire consequences). Similar concerns can be raised, with varying impact, on peripheral implementation. How this will be, specifically, addressed, remains to be seen.
However, as usual, assimilating the security at the hardware level is would alleviate the majority of these concerns.