IoT Daydreams: Ticks, Ceiling Blimps, and Pool Bunnies
One of the things I find most fascinating about being a computer scientist is how accessible the ingredients for building things have become.
Not long ago, some of the ideas that occasionally wander through my head would have required a laboratory, a machine shop, a team of electrical engineers, and a rather substantial budget. Today, the list is more likely to be a 3D printer, a handful of commodity microcontrollers, some motors and sensors, a soldering iron, a laptop, and enough gumption to start taking things apart.
That opens up some interesting possibilities.
For example, I'd like to build a little autonomous robot that patrols the yard.
It would be solar powered, recharge itself, wander around the property, and keep an eye out for insects. Not every insect, necessarily. I'd give it a list of targets—ticks, for example. When it found one, it would maneuver close enough to reach out with a little probe and deliver a precisely controlled electrical pulse sufficient to kill the tick.
Essentially, a mobile bug zapper.
There are a few dozen engineering problems hiding inside that seemingly simple idea. How does it navigate? How does it recognize a tick? How does it distinguish a tick from a small piece of dirt? How does it position a probe accurately enough to make contact? How much energy does the system consume? How does it recharge? What happens when it gets stuck underneath a lawn chair?
Those are exactly the kinds of questions that make a project interesting.
I'd also like to build my own version of one of those porch appliances that uses lasers to detect and eliminate flying insects. The commercial products are fascinating because they combine several technologies that are now almost absurdly inexpensive: cameras or optical sensors, computer vision, precision motors, a processor capable of running machine-learning models, and enough control circuitry to make something happen in the physical world when the software says, "That's a mosquito."
Again, the interesting part isn't necessarily the finished gadget.
It's that I could try to build one.
Another idea is considerably more ambitious: a little robot that lives on the ceiling.
Imagine a small machine that can stick to the ceiling and move around the house, looking downward. It could use computer vision to recognize common objects—phones, glasses, keys, remote controls, wallets—and maintain a constantly updated inventory of where those things were last seen.
There are several possible ways to make it move. Perhaps it rides on a track. Perhaps it uses wheels with enough magnetic or mechanical adhesion to stay attached. Perhaps someday I'll decide that the correct engineering solution is simply to build a tiny indoor zeppelin and let it float around near the ceiling.
Then comes the useful part.
"Alexa, where are my keys?"
The system looks through its records and responds:
"Last seen on the kitchen counter."
At which point I can continue doing whatever I was doing because, realistically, my wife is going to be the one who actually goes looking for them.
Of course, none of these projects are really about building a better tick killer, mosquito eliminator, or household inventory system.
What fascinates me is the barrier to entry.
A 3D printer can turn a CAD drawing into a physical part sitting on my desk. A microcontroller costing only a few dollars can read sensors and control motors. Tiny cameras can see things. Machine-learning models can recognize objects. Batteries, solar panels, servos, stepper motors, wireless radios, GPS receivers, accelerometers, gyroscopes, and an astonishing variety of other components can simply be ordered and delivered to the front door.
And then there's the soldering iron.
And some wire.
And a computer.
And a willingness to make something that probably won't work the first time.
That combination is remarkable.
It also makes me think about some of the things I've spent much of my career studying.
My research has involved algorithms for groups of mobile agents—essentially, figuring out how a collection of relatively simple autonomous devices can search an area, provide coverage, or locate targets. On paper, those agents can be mathematical abstractions: points moving through a geometric space according to rules that we can analyze and prove things about.
I've spent years thinking about those problems as algorithms.
At some point, I'd really like to make the algorithms physical.
Take a handful of inexpensive little robots and put them in the yard. Give them communication, localization, sensors, and enough autonomy to coordinate with one another. Then tell them to cover an area efficiently. Or search for something. Or find a target. Or perhaps search the swimming pool.
Suddenly, the abstract dots in a research paper have wheels.
And now the assumptions matter.
The robot doesn't move exactly the distance the algorithm told it to move. Its battery is getting low. GPS isn't perfect. The radio signal drops out behind the house. Two robots accidentally get in each other's way. One drives into a flower bed. Another discovers that grass is considerably more complicated than the geometric environment in the paper.
That's where things get really interesting.
There is something satisfying about taking an idea that exists primarily in mathematics or software and eventually giving it motors, sensors, batteries, and a physical environment in which to misbehave.
That's probably the thread connecting all of these projects.
I don't particularly need a robot that hunts ticks. I don't need a ceiling-mounted household inventory system. I don't need a swarm of autonomous robots searching my yard.
I just think it would be fun to build them.
And I'm increasingly convinced that this is a particularly interesting time to be the sort of person who wants to build things. The technology that once separated an idea from reality is steadily becoming ordinary hardware sitting in boxes on a hobbyist's workbench.
The difficult part isn't necessarily having access to the technology anymore.
Sometimes it's just having the idea, enough curiosity to chase it, and enough gumption to see what happens when you actually try.
And, apparently, a really good 3D printer.
