Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

Mapping your own data is if not a solved problem, at least one where you can get lots of the data. Pulse, temperature, salinity, skin resistance, all sorts. But what about just around me? Where are the drafts coming from? What is the humidity of the area I am about to wander into? (OK, so that last one is a bit…irrelevant, as you can see, and it doesn’t change that much. You can extrapolate yourself, or read on and see where I take it.)

Here comes the freight train
Here comes the freight train
Here comes the freight train
So get on board

My surroundings then. I’d need some autonomous drones feeding me back sensor information. Before I take it further, let’s solve this problem. Which means I better define the problem, and the parameters which I want to work in. (If you are, as is likely, two-steps ahead of me, why yes, I know lots of the problems encountered would be solved by adding multiple GPS chips, but that isn’t the point, nor the way I want to solve it.)

Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

Requirement number one: keep the price down, and use what I have.Goal: at least two drones that follow me around, sending back info

There is a purpose, a running keep
There is a captain, with a steady wheel
Wheel

Given my numero uno requirement, it is going to be arduino-based. Which…is obvious. Keeps the costs down. But I didn’t quite have all the bits I needed, so I bought a GPS chipset. This breaks my less-than-a-fiver for any single component, but I gritted my teeth and waited for a few weeks for it to arrive from Mother China. And it rules out buying more.

An’ one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

Which means solving my problem of having drones follow me needs a sideways think. What did I have in my boxes? Well, Bluetooth chips, so I can get info to and from my little drones. And my solution to the moving problem was to use what I call ‘relative GPS’. Why do I need to spend lots, when I know where I am? Sampling where I am every…few seconds, I can tell how far I’ve moved, and in what direction. Sending that info to my drones, they can react, and move. Simple. Dumb. But easy to do. And I did it.

Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

You can even watch a cobbled-with-old-children’s-toys drone follow my lead. The drone code is about 4k, the device I have on me about 9. I’ll do another video when I move from breadboards to perfboards, and miniaturise it. Coming soon.

Here comes the slow train
Here comes the slow train
Here comes the slow train
So get on board

But that is all very well and good. All very well and good and…useless. So let me extrapolate. (I’ll leave the more lurid extrapolations of flying drones with lasers and the like as an exercise for the reader.)

Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

I’ve also been chasing tumuli, and there are plenty that haven’t been excavated, which is a good thing. And there isn’t enough time and archaeologists in the world to properly survey them all. But I can do my bit. With my army of drones and some ground-penetrating radar. Load the drones with sensors, fan them out around me, and away I go. Underground-mapping-tastic. Once I learn how to interpret the reflected wave data and discover treasure hordes.

I’ll sidestep into paranoia for a second, too. While I’ve handwaved and said data flows back and forth, nothing is stored on the devices, which keeps them safe from prying hands. And the data that does flow back and forth is encrypted, which keeps it save from prying sniffers. And once the data hits the device on me (I really need a name for that, too) it just gets relayed to a webservice sitting on one of my servers. And being a server under my control, it can decrypt the data, and dump it into camlistore. Oh, and no, I don’t care if some data is lost, this is just a little system I’m playing about with. I am well aware of improvements that can be made.

One monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa

Anyhow, where was I? Oh yes. Drones, loaded with sensors/radio busying themselves collecting data while I move along. I haven’t quite got round to considering cameras on them all, as they is spendy. And I’d need more horsepower in the central unit, again adding to the cost. Quit with the extrapolating, let’s make first things first.

Here comes the freight train
Here comes the freight train
Here comes the freight train
So get on board

Oh, wait, I have. I’ve got drones that follow me around, and upload data to be stored. What gets uploaded? Well, as this isn’t fully non-me friendly, lots of things are hardcoded and flashed onto the arduinos. Like how far away from me they start. Then when data gets uploaded, it sends that delta (my GPS coords, drone offset and sensor data. Job done.)

Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa

Yes. This all works. What comes next? I am thinking probably working on the drones more. Make them…slightly less dumb. I’ve got bluetooth sensors on them, so I could probably make a proximity sensor, using the signal strength. I mean, didn’t really explain how they follow me. Embarrassingly, again I kept it simple. These wee motors drive the drone at about 1m in six seconds. Which means I…turn the motor on for six seconds for every metre I move. What’s that? You would do something different, cleverer and better? Good for you. Again, I’m keeping the cost down, and making it work from the off. But using the signal strength, I can make it a bit fuzzier. Different terrain, the motor might need run for less time. Or more. But I can couple it with the signal strength, and keep the motor running, or stop it early.

One monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

My main problem is that if someone lifted the drone and pointed it elsewhere. Or it hits a bump, and is no longer following my direction, and me sending headings and distance means it would veer off more. Next thing is, therefore, to add accelerometers or the like, so if it takes a sudden knock, it can tell, and try and orientate itself back with me. I don’t know, still pondering that one.

Oh, one monkey don’t stop the show
One monkey don’t stop the show
One monkey don’t stop the show
Whoa, so get on board

But there we have it. For now. Though my mind whirls with what else I could do with this. If they were actual flying drones, you could pass over disaster-struck areas, and check for mobile phone signals, finding trapped people. (The central unit doesn’t have to be a person, you could put it on a remote-controlled expensive drone.) I quite like the idea of mounting a GoPro on each one, and making some trendy video (while I run, maybe, or cycle, or whatever). Use in exploration, photography, all sorts. Of course, for the money-no-object classes, there is no need for this relative GPS solution, but that is the way I solved it. And I had fun solving it, and continue to have fun solving more, with the bits I have to hand.

Here comes the freight train
Here comes the freight train
So get on board

I haven’t even mentioned the machine learning aspect I’m considering for later, too (once I’ve taught myself some machine learning). Always be thinking. Always be having plans. Always be learning.