Projects: Magnetic Control Architecture Project

Magnetic Control Architecture Project: An Introduction

Introducing the project

Nicholas Roy
4 min readFeb 1, 2023

Why

For a while now, I have been quite frankly obsessed with the notion of using microbots and nanobots (robots on the micro (10^-6) and nano (10^-9) scale) in medical applications. The idea of being able to just non invasively go into the body and change things at that level of accuracy would just absolutely change the game. I am particularly intrigued with the prospects of microbots applications from a neurological perspective, and many of the futuristic aspects that could bring: from clinical applications of potentially curing neurodegenerative diseases like Alzheimer's, to creating high bandwidth communications between our brain and computers — allowing us to interact with computers more quickly and accurately with our thoughts, to the extreme sci-fi idea of replacing all of our mind with synthetic equivalents making us effectively immortal, a “brain of Theseus” if you will.

Note: (throughout this, and future articles I will use the term “microbots” instead of “nanobots” as I believe they will be feasible sooner.

It is this very obsession that lead me to now try to learn more about the field by creating a series of simulations, with this being the first of them, so I can hopefully work in the field one day.

Goal

The goal of this project is to create a general architecture for the simulation of microbot control with magnetic fields. The architecture should facilitate the future development of future simulations, and get an idea of what kinds of electromagnetic configuration can produce that magnetic field in reality, for real life experiments (I got the idea of an architecture from Cognitive Architectures).

To achieve this, I intend to first create a simulation where you can define a vector field to model a magnetic field. A vector field is simply a space (imagine a typical cartesian space with x, y, and z axes), where each point has a vector showing in what direction something would be pushed, and how hard. This simulation should have the ability to simulate a vector field in space, and the movement of particles in that space from the field. I intend for the vector field to be described by a standard vector equation. Additionally, I would like for it to be possible to use different equations in different parts of the simulated space — to create more complex, and potentially useful arrangements.

(For this I will use Netlogo, an integrated development environment (IDE) and programming language for multi-agent modelling. The microbots can be modelled as agents interacting with an environment. I have some experience using this from University, so I think this part should be very doable).

After I have the computer simulation, it comes time to figure out what kind of electromagnetic configuration could actually generate the theoretical field, or a similar one, in the real world. For this, I intend to create a genetic algorithm, as I think it is well suited to the task and they aren’t too difficult to implement (at least when compared to other machine learning methods). A genetic algorithm is an approach to finding an optimal solution to a problem that mimics evolution. The idea is to repeatedly create populations of candidate solutions. You can then see how good they are with a “fitness” score, and combine the best solutions to create your next population, with occasional random “mutations” (random changes). Hopefully, your populations end up converging on one that you are happy with. In this case, I will try to find a combination of pre-existing electromagnetic configurations, and their parameters that closely matches the field found in the NetLogo simulation to some margin that I am yet to find out.

Of the two components, this will no doubt be the harder to implement — making it a great opportunity to learn. I intend to do this in C++, because it is fast and I already have some experience in it. Being fast is useful because genetic algorithms typically have to go through thousands of generations, and in this case will need to through many computations per generation. Using a slower interpreted language like python would just take too long to run to be feasible. A nice to have would be to speed it up using parallel processing with Graphical Processing Units (GPUs), though this remains to be seen.

Conclusion

In conclusion, this will be the first of a series of projects to further my personal understanding of microbots, how they work and their future applications. It should involve first creating a general environment for modelling the control of them with magnetic fields, and then an automated system for finding an electromagnetic field that could create the controlling field in the real world for real life experiments.

~ Nicholas Roy

--

--

Nicholas Roy

I am a third year BSc Artificial Intelligence student at the University of Groningen. I am primarily interested in the use of microbots/nanobots in medicine.