Say you somehow invented 50 thousand nanobots that are the size of medium sized bottle caps. Each are capable of hovering for a limited amount of time but do recharge with both solar energy and plug ins.

Now say you you want to control them and make them act like a single entity, to the point in which you can make a hand with them and make it grab things.

what method or how can a human be able to control over 50 thousand nanobots to perform like a single object, and is such an idea feasible?

Also, their is no magic in use.

  • $\begingroup$ Using 50,000 nanobots to grab one thing seems like slight overkill. That said, I imagine that this isn't difficult so much as technical. As in, it's easily done with a lot of computational power. $\endgroup$ – Halfthawed Feb 10 '20 at 2:56
  • $\begingroup$ I was trying to find a suitable number for how much nanobots their should be, but 50000 seemed like a reasonable number at the time, but you are right, 50000 is over kill $\endgroup$ – RotNDecay Feb 10 '20 at 2:57
  • 14
    $\begingroup$ Are they nanobots or the size of bottle caps? $\endgroup$ – rek Feb 10 '20 at 3:44
  • 1
    $\begingroup$ @rek maybe they're the size of caps for nanoscale bottles? $\endgroup$ – Starfish Prime Feb 10 '20 at 7:33
  • 1
    $\begingroup$ Read "Prey" by Michael Crichton $\endgroup$ – Joel Coehoorn Feb 10 '20 at 15:51

Flocking behavior.

You will not directly control your many drones. You will set a task and the drones will communicate between themselves and figure out how to do it. Like an ant or bird, each drone will have a set of rules that govern its behavior according to its position and motion, the position and motion of the target and the position and motion of other drones in its flock.


...In contrast, each of these 30 drones is tracking its own position, its own velocity, and simultaneously sharing that information with other members of the flock. There is no leader among them; they decide together where to go—a decision they make on the literal, honest-to-goodness fly.

They're like birds in that way. Or bees, or locusts. Or any number of creatures capable of organizing themselves majestically and somewhat mysteriously into cohesive groups—a so-called emergent property of their individual actions...

You will not be directly controlling them but rather sipping a mojito and cheering them on. Your work was devising and testing and revising the algorithm governing the flocking behavior.

  • $\begingroup$ An analogy might be the fly by wire controls of modern aircraft, where the pilot does not directly control the flaps etc. but uses the controls to say something like "nose up" and then the aircraft's control programming interprets the desired state and works out how to achieve it. $\endgroup$ – Nathan Griffiths Feb 10 '20 at 4:43
  • 1
    $\begingroup$ @NathanGriffiths it isn't very analogous, because the avoinics directly affects all the relevant control surfaces, and is connected to all the aircraft's sensors and so knows the entire state of the system at any given time. An element of a swarm does not (and indeed cannot), and only operates with limited knowledge of the entire situation. It must act in the way that seems best, given what it knows, and hopefully you programmed it well enough to do something sensible in all circumstances. $\endgroup$ – Starfish Prime Feb 10 '20 at 7:38
  • $\begingroup$ @StarfishPrime I do not see how you can say based on the question that the swarm elements can not share their total knowledge with each other. Why do they have "limited knowledge of the entire situation"? $\endgroup$ – emory Feb 10 '20 at 17:58
  • $\begingroup$ @StarfishPrime the analogy is that in both cases the operator only has indirect control which they exert by indicating a desired outcome and relying on the system to decide the best course of action to achieve that. How that system works isn't relevant for the analogy, but it is obviously a simplification of how avionics work. $\endgroup$ – Nathan Griffiths Feb 10 '20 at 20:22

From a comms perspective what you need is a technique called Multiplexing. This technique has been around since the telegraph and in general terms allows one to share multiple signals on a single 'line'. In the case of your nanobots, this is probably a single wireless channel.

The link provided talks about the different types of multiplexing techniques and I don't believe that there is one among them that will easily manage up to 50k streams, but it's possible even if you have to split the units up into multiple channels to communicate with them all as a whole.

As for how you get them all to do your bidding as a single unit, there is no way you can individually control that many drones to operate as a single hand by programming them individually in real time. That said, it will be possible to record a set number of 'patterns' or tasks into your drones, and manage them macroscopically, so to speak. In other words, you can issue a command like 'grab thing at this location from North' and the drones will be given the commands that render that effect.

Another way to put this is that to make your drones useful, you have to surrender some of their flexibility by functionalising larger tasks, then sending signals that tell the swarm what to do as if it was a single unit. That then allows the software that renders the function to design a multiplexed signal that tells each drone what part of that function they need to perform.

In short, it is certainly possible with existing techniques, if not existing technology, but to do it you have to build an abstraction layer over the top of the drones that treats commands to them as a single unit, rather than trying to get creative and building a bespoke drone configuration for every task. Over time, your knowledge and experience will develop to the point where you end up with more sophisticated and configurable functions and tasks as an asset base of actions for the drone swarm but ultimately what makes it useful is that abstraction layer that interprets what a swarm function means to each individual drone and sends out the commands accordingly.


Your nanobots, just like living beeings create a new generation any x-lifecycles.

They do this to repair, get more numerous- and to pass on instructions- via genedrive. Meaning.. a new nanobot with a brand new instructionset, overrides previous instructions by his ancestors writting over the instructions of the previous generation.

So to pass out new information, you need to wait the time of the genedrive to pass through the population.

Even then pockets with old information may survive.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.