One of the big tech trends over the last couple of years has been the rampant adoption of IoT devices. Although IoT devices are sometimes referred to as smart devices, most of the IoT devices that I have seen really aren’t all that smart. Many consist of little more than sensors that stream data to the cloud. Sure, there are more sophisticated devices out there (especially in the consumer space), but on the business / industrial side of things, IoT in many cases has not reached its potential.
While it might be tempting for me to suggest that IoT devices should be outfitted with lots of processing power and huge amounts of memory, that would likely be counterproductive. One of the things that has made the IoT movement so successful is that IoT devices tend to be inexpensive and generally do not require much maintenance. Adding extra hardware to IoT devices would inevitably increase both the cost and the complexity of the devices.
IoT devices: Think thin
Even so, there is a way that IoT devices could become far more capable, without the need for a lot of extra hardware. The trick is to treat the device as a thin client and perform backend processing.
Now obviously, this approach is not suitable for every device. For example, there is a sensor on the door to my office that is designed to convey the door’s status (open or closed). It allows me to make sure that my house sitter stays out of my office when I am on the road. Something as simple as a door sensor probably would not benefit from a more sophisticated architecture, but there are plenty of other device types that might.
The thin client-like approach is not exactly unprecedented. Alexa devices have been acting as thin clients for what seems like forever. When someone speaks to an Alexa device, the command is not processed internally. Instead, the user’s input is transmitted to a cloud server for processing, and a result is returned. This same approach could be applied to business or industrial IoT devices without adding significant cost or complexity to the device. Again, some devices already do this, but I think that the technique is being underutilized.
I have been thinking about the thin client approach to IoT for quite a while, and always wondered in the back of my mind what the limits of the technology might be. After all, factors such as the number of devices, network latency, and the amount of processing power available all play a role in how effective such an architecture could be. Recently, however, I read about a really novel use for this type of technology.
A strange demo
Before I get into that, I want to quickly take a step back and tell you about one of the strangest tech demonstrations that I have ever seen. It was a radio-controlled cockroach. I kid you not. I am not talking about a robotic cockroach. I’m talking about a real bug (that I actually felt really sorry for).
This was back in the 1990s, and I can’t remember exactly where I saw the demo. However, someone had wired an RC receiver to the roaches’ brain. If the operator moved the joystick left, a small electrical signal would be sent to the roaches’ brain telling it to go left. The demo could be best classified as being both fascinating and disturbing. The fact that something like that could be made to work was fascinating, but at the same time, I found the demo to be disturbing because it seemed like a cruel thing to do to a living creature.
The presenter explained that the roach could go places where humans could not and had applications ranging from post-disaster rescue efforts to national defense. I have to confess that I was always a little bit dubious of the idea of using an RC cockroach as a spy tool. Many people freak out at the site of a roach. Besides, a roach with electronics strapped to its back is not exactly subtle.
The reason why I brought up the radio control cockroach is because the technology seems to be gaining renewed interest. This time though, researchers aren’t outfitting unfortunate bugs with surgical implants, but are rather creating robotic insects (possibly even swarms of robotic insects) that function as IoT devices.
Believe it or not, there are a huge variety of robotic insects in testing or development. Rolls Royce, for example, has created robotic insects that can crawl into a jet engine and perform a visual inspection, a task that would have previously required the engine to be disassembled. The company has also created robotic snakes that serve a similar purpose.
Similarly, the British military has created an intelligence-gathering drone that is the size of a dragonfly. Like its biological counterpart, the drone has four wings and four legs and even looks like a dragonfly.
Perhaps the coolest thing about robotic insects is the huge variety of designs that are being created. Researchers focused solely on mimicking flying insects. Terrestrial insects are also being created. Someone has even figured out how to create a robotic insect that walks on water.
So what does any of this have to do with IoT or with a thin client like backend processing? Well, consider for a moment all of the components that go into a radio-controlled car (which can be thought of as a really simple robot). The car requires, of course, structural components such as a frame and wheels. It also needs a battery, a motor for propulsion, a servo for steering, a radio receiver, an electronic speed controller, and a few other parts. Now imagine trying to cram all of that into something the size of a bug. As if that were not enough, imagine also adding the types of sensors that are found on commercial drones, and an electronic flight computer that takes all of the sensory input and turns it into instructions that will allow the aircraft to fly.
It is completely unrealistic, at least with current technology, to expect to cram all of those components into something the size of a mosquito. The robotic insects that I have personally seen are surprisingly simple. One that I saw didn’t even use a “real” motor. Instead, the wings were made of a conductive material that would change shape when current was applied. Hence, turning the current on and off in rapid succession would cause the wings to move.
Because an onboard flight computer would be far too large and heavy, the robotic insect that I saw was designed to work as an IoT device. The robot would transmit sensory data over an IP connection and a backend computer would take that data and turn it into instructions that would be transmitted back to the robot in real time. Needless to say, network latency could prove catastrophic since this flying robot was incapable of maintaining flight without instructions from the flight computer.
It’s a bug — and a feature
I find it absolutely fascinating that robotic insects have become a reality, and I firmly believe that the lessons learned when designing these robots can and will shape future IoT devices. Robotic insects prove beyond any shadow of a doubt that a connected device can perform sophisticated tasks, even if the device is equipped with minimal hardware.
The other thing that I find interesting about robotic insects is the idea that insect swarms could cooperatively perform tasks that would be impossible for a single insect (or even a drone) to accomplish on its own. My absolute favorite Ted talk of all time was a presentation by Raffaello D’Andrea in which he demonstrated some ways in which swarms of drones could work together to do some pretty extraordinary things.
Featured image: Shutterstock