Hello everyone. I'm Mike Salem and I'm
the service lead for Udacity Robotics Nanodegree Program,
and I'm here with the assistant professor in robotics at the University of Bristol,
Bristol robotics, and President and co-founder of robohubs Sabine Hauert.
Sabine, how are you?
I'm great. How are you, Mike?
I'm doing well, thank you.
I was wondering if we could talk a little bit about
the theory of swarm robotics and swarm intelligence.
Sabine, what is swarm intelligence?
So if you look at birds and ants and bees they can do these beautiful complex behavior.
So for example, you've probably seen flocks in the sky,
you've probably seen ants go to your picnic table,
and you might know that bees can make decisions about where they create their nests next,
and these are all swarm behaviors.
And the way they work is that each agent,
whether they're a bird,
or bee, or an ant,
just looking at their local neighborhood
or their local environment and following a simple set of rules,
can give rise to these swarm behaviors which are emerging behaviors.
So it's all about figuring out how the agents
behave in a very simple manner to get these complex behaviors,
and that's swarm intelligence.
So that's really interesting. So we're saying that
a biological being that's kind of primitive in
nature is able to kind of be able
to carry out more complex tasks when they work together.
That's the thinking. It's more than a sum of their parts.
So by working together,
swarms are able to achieve these complex behaviors.
I know ants are a particular interest of a lot of researchers,
even dating back a couple of decades ago,
where they were looking at the trails of ants and how ants
communicate along these trails to kind of find
food sources or to carry out different types of tasks.
Would you be able to speak a little bit more about some of
the behavior that we've seen in ants and how some
of these things potentially are modeled?
Yeah, sure. It's really interesting to
think about how ants do things like creating these trails to food sources in nature.
So they're quite good at finding these food sources and
adapting their trails so that they can find the shortest trails to different sources.
And different ant colonies have different types of trails,
and the way they do that is the process called stigmergy,
which means communication through the environments.
And the general idea is that ants,
as they explore their environment, they leave the nest,
they deposit chemicals called pheromones as they go,
and other ants can sense those pheromones and
can choose to follow paths with highest pheromones, for example.
This pheromone evaporates over time as well,
and by following simple rules of depositing pheromone,
sensing pheromone, following those paths with pheromone leads to a probability,
and having pheromone evaporate,
you get trails that emerge.
And it's been quite interesting to use some of
these rules for the robotics and the computer science world.
So for example, there's a thing called ant colony
optimization which takes inspiration from what the natural ants are doing,
for example, route packets through a network.
In my case, I had been studying how we can use ants-like rules to
deploy networks of flying robots to create communication systems outdoors,
and there again, we use principles where
robots have to sense where pheromone levels were,
and other robots can follow those paths and over time,
we could create trails,
for example, between rescuer's that needed to communicate through this network.
So there's a number of rules that we've learned from
biologists and that we can use them in the engineering world.
It's also interesting to check to biologists because obviously, it's not that simple.
Many different ant colonies,
many different strategies emerge.
And I was chatting with Nigel Franks,
who is a big researcher on the outside in terms of the biology,
and so we were talking about these pheromones,
and how they create these trails.
And actually, if you take smaller colonies,
it doesn't make sense for them to communicate using chemicals.
And so they were able to come up with another strategy with ants,
is once they've figured out where the food sources are,
they actually go back to their nests and carry the ants there.
So obviously, the biological world is much more complex but that just leads to
so many more ideas that we can then use in the realm of engineering.
That's a really interesting way of doing the communication,
by picking up an ant and actually bringing them back.
Is it because the ant itself has omitted some sort of
trail or a scent that it knows or is it just because of memory placement
that it knows to kind of carry back and forth to that same food source?
Yeah, it's unclear. I mean if you have many, many ants,
then you somewhat have critical mass,
where you can start communicating through
the environments by depositing and sensing these pheromones.
It could be via the smaller colony,
you don't have critical mass,
and so your pheromones would just evaporate all the time,
so your ants will get lost.
So that means to a certain extent you can have fewer ants,
maybe these ants need to be smarter individually and
that they might need some way to navigate
their environment without these pheromones.
And then it will make sense to carry the other ants there as well
because we have that information
so you want to show another ant how to do that.
But obviously, its much, much more fun fact.
So why they do it it's not entirely clear to me.
It's a really interesting problem.
I mean, if you think about a smaller colony being able to do
something you would need a lot more autonomy between each individual,
and a lot more capability,
then as your colony grows,
you can actually delegate a lot of that work and then be able
to achieve the same task with a much lower level of intelligence.
Yeah, that's something I'm fascinated by right now.
So in our lab there are small swarms.
So for example,
the swarm I did in my PhD with these 10 flying robots,
and there's large swarms,
we have a thousand robots in our lab as well.
And the complexity of the individual robots,
so what they can do is very different depending on how many you have,
because if you want to make a thousand,
they need to be cheap and they end up being noisy,
and so they end up being a little bit less reliable,
so you have more of them.
And I love playing around with what algorithms work,
when you reach huge numbers
given that your individuals are a little bit simpler
or what algorithms work when you have fewer robots,
knowing that each individual is maybe a little bit
smarter but you don't have those mass numbers,
and I really think that the strategies that you use are completely different.
So it's fun to think about how you swarm across scales.
And actually, you need to maybe have some good ideas.
Yeah. Talking about the idea of swarming in terms of robots,
what kind of sensors would you use to kind of be able to dictate that kind of behavior?
It really depends what you're trying to achieve.
So the key is you want to have information about your local environment.
So your local environment could be robots in your neighborhood,
in which case, usually want some form of communication, and that could be
That could be Wi-Fi, you know, there's a number of ways you
could do virtual communication.
Or, you might want to be able to sense your environment.
So, whatever sensor allows you to sense environments.
But it really depends on the types of applications that you are looking on.
In your environment and most of these cases is
the environment kind of unstructured in the sense that you don't
really know where you are in
the environment from an environment or an overview perspective.
So, there's no cameras or anything that are kind of watching this behavior.
It's more of the behavior is more localized.
The agent itself kind of moving around or is there both types of situations?
Well, in the world of swarming,
the whole point of doing swarm behaviors is that there is
no leader or godly figure that has an overall view of what's happening.
And the reason that's an advantage is that because there is no leader,
these systems can scale to
much larger numbers and only yield local information and simple rules.
So, you could theoretically achieve huge numbers of
agents and they're more robust because there's no single point of failure.
So, those are the reasons we do swarming is the ability to be
robust and scalable and to have these emerging properties.
In reality, in the lab, in our environments,
we obviously monitor what these swarms are doing so that
we can have a better understanding.
Really the puzzle in swarm engineering
is that typically you know what swarm behavior you want to achieve.
You might want your robots to flock or make decisions or
create trails or do something clever in an application.
But typically you don't know exactly how to design those individual behaviors.
It's very non-obvious to go between
the individual behaviors to what the swarm does as a whole.
And so, we need these experimental setups where you
do have an environment where you can see what the swarm is doing so that we
can troubleshoot that and try lots of different individual behaviors and
see if they're doing the right swarm behavior so that we can engineer these.
So this whole process of swarm engineering in the lab at
least just required us to have this whole infrastructure set up.
So, in a practical standpoint though you wouldn't want to have this overview.
You want to be able to kind of allow these robots to
autonomously self-organize and kind of be
able to achieve a task without having an overview of that system at all.
Is that the goal I think eventually here?
So, there's really two ways to think about the swarm deployments.
One is that, in general,
you would want to find a good way for humans to interact with
swarms so that they do have oversight over what these robots are doing.
And that's actually a whole area of research.
How are we going to interact with swarms so that
we get feedback about what the emerging behavior is?
Is it that you can see the whole swarm
and so you can just see what they're doing and you're happy with that?
Is it that information about what they're
doing somehow is shared amongst the swarms so you
could pick up a robot and that robot would tell you with the swarm as a whole is doing?
So, that's a question we're trying to figure out.
The other way to approach this is,
say okay, well, swarms have emergent properties.
And so they're going through local interactions and huge numbers achieve ideally
the behavior you want because you've engineered that swarm to behave in the way you want.
But we need to make sure that that system
has a graceful degradation if it's not performing what it was supposed to do.
So, for example are these robots really minimal?
Are they small, are they safe,
are they potentially biodegradable or disposable?
So that if the swarm was not exactly performing what you
wanted to do in non-safety critical missions,
then that's perfectly fine.
It was engineered to behave in that way.
So, there's really two fronts. One is how can we
interact with swarms that we understand what they're doing?
And the other is how can we design the swarm in
such a way that actually they were built to just go out
and do what they were meant to do and maybe degrade or bio, be disposed?
And that would be fine as well.
So, it depends what they're meant to be doing.
I see. It's a really kind of an interesting problem.
I think when we start talking about the idea of
the self-organization and kind of giving really basic rules,
obviously there's some sort of time lapse that has to occur before
you could actually ramp up and actually have that swarm behavior.
I would imagine that you would, if I looked at it from a particle standpoint, basically,
what you do is you have a bunch of particles that are kind of randomly moving
all over the place in some sort of unstructured motion.
And over time, these particles start to kind of
self-organize and start achieving a goal and moving in unison.
How long does it take during robot simulations to kind of see that behavior emerge?
It really depends.
So, there's two problems.
One is, once you know the rules,
how long does it take for any one simulation
of these rules to give rise to a desired swarm behavior?
And that all depends on the swarm behavior you're trying to achieve.
You're right it's not immediate.
These things because they're the result of local interactions between lots of agents,
they take time to bubble up for you to actually see what emergent behavior is arising.
And there's another time question which is more relevant which is,
how do we discover the right swarm behavior for a given application?
And that actually takes much,
much longer before we get it right.
And that's what the bulk of my research at least is in.
So the way I solve this puzzle between what's
the right rules for a desired swarm behavior
is quite looking at what biologists
do and that obviously takes them years of research to come up with rules.
And then when they have them we can test them and see
what happens on our artificial systems.
The other strategy is trial and error and that's typically lots and lots of
tests and rules that we know about and seen as they work.
Now, we can kind of ramp that up using crowdsourcing.
So, having lots of people help us design rules for robots forms.
And the other, the final way,
which I really like is using machine learning.
So, we did a lot of
artificial evolution that's automatically come up with swarm behaviors.
And so, the reason it takes time for us to discover
these rules using machine learning is typically we'll,
for example with artificial evolution,
you'll start with a random swarm program and then you'll test it on the robot.
And you're right it takes time for the behavior to
emerge so every simulation takes a little bit of time.
And then based on what we've learned,
we're going to change the program a little bit and so you keep changing
the program until you find the rules that give you the right swarm behavior.
And to actually reach that point takes time both in terms of machine learning,
but also in terms of running each one of these simulations.
That being said, even though these behaviors take time to emerge,
ideally there is a time gain by using many robots.
So, if you think of a farm fields,
kilometer by kilometer farm fields,
there's around 100 million seeds within that farm fields.
And the way we would typically plant those seeds using a robot might be
to have a tractor that zigzags through
that farm fields and takes a certain amount of time.
But maybe a swarm of i don't know
biodegradable robots seeds could deploy much quicker because there's many more of them.
So, the time it takes the behavior to emerge it's not immediate but
actually overall it might compare better to a single robot that needs to do everything.
Right.
And so as the area gets larger and larger for you to
accomplish a task having swarm robots is
definitely more advantageous because you would be able to
cover as many things as quickly as possible.
So, if speed is really your objective in this case,
you could send out a bunch of robots
to kind of plant seeds in a larger field than it would
for the amount of time it would take for a tractor to kind of
zigzag back and forth and drop each one by one.
Yeah, I think area coverage is definitely an area where swarms make sense.
So, where you have huge areas whether it's for creating communication networks or
doing something within these environments or sensing or exploration,
those are all things that frankly we can do very
well with one or two robots and where we wouldn't need many robots.
And if we could make many of these robots
work together in a more intelligent way,
ideally there's a time gain there.
I know you mentioned just a few minutes
back about the idea of working with biologists
to kind of study the models of actual biological beings,
and using that to kind of emulate what you're doing in your robot.
How important do you feel that iterative cycle is
of kind of viewing what a biologist has done,
trying to implement it in a robotic setting and kind of
taking that information back and providing that back to a biologist,
does that help both of you kind of refine your models or is it more
of a one way flow from a biologist to a roboticist?
Yeah, it's a really neat feedback loop.
So, for example, biologists have been studying how to evolve cooperation.
So, what is it in natural evolution that gives rise to systems that cooperate?
And actually the lessons that we learned from
that allowed us to evolve robots that cooperate.
And by doing it on the artificial systems,
we could also have the biologists test hypotheses because we could evolve things.
Artificially it was much quicker than evolving them in the biological world.
And so we could help them come up with interesting ideas of what was happening in nature.
And that's definitely the case with the number of swarm behaviors that we're looking at.
Just because with simple rules sometimes we achieve very cool behaviors.
Even if they have nothing to do with biology,
sometimes we can say, "Actually I wonder if the ants do that.
Or, "I wonder if the bees do that."
And that gives them a hypothesis to work from.
So, I really like this feedback loop.
And right now we're working as well with synthetic biologists to engineer,
for example, bacteria to do interesting things.
And so it's a nice crossover between
how we engineer robots and how you'd engineer bacteria,
and how we can make systems with swarm.
So, it's really interesting to kind of hear about bacteria being
modeled inside of robotics.
Is there any other applications for something like, I don't know,
let's say like medicine where using some sort of particles to
kind of give treatments or doses to a patient?
Yes. After my PhD designing swarms of flying robots,
I realized that there were only 10 in the air.
It was exciting, but it was 10 robots.
And then in my mind, swarms needed to work in much larger numbers,
in the hundreds and the thousands.
And so, I got really excited about the area of nanomedicine,
and I spent three years at the lab at MIT that makes nanoparticles for cancer treatments.
And what fascinates me is these nanoparticles come in the 10 to the power 13.
So that was the huge number that I was looking
for in terms of using those particles for treatments.
And those particles that they were designing
to meet the test level also had a number of interesting features.
So, you could change the size of the particle,
and that changed how they move.
You could decorate particles with molecules that would
allow them to stick to cancer cells or self-assemble.
You could load these particles with drugs that you could release in a controlled fashion.
And you could make them with different materials that you could activate.
For example, using magnetic fields or using lights.
So actually, depending on how you design these particles,
you could change how they move,
how they interact with other particles,
what they release in their environments.
And those were a lot of the building blocks that we would use for swarm robotics.
I'm really keen on understanding
how things in the medical world, whether they're nanoparticles,
whether they're bacteria, which naturally work in huge numbers,
how we can engineer their behavior as a collective just by tweaking the individuals.
And I think that's a pretty untapped territory actually,
where swarm engineering could have a pretty big impact.
How does your train of thought change when you're having to deal with
something from such a smaller scale to a much larger scale?
It doesn't.
My puzzle is,
how do you go from an individual behavior to a desired swarm behavior?
So this process of swarm engineering,
whether it's using bio inspiration,
whether it's using machine learning,
whether it's using trial and error,
and crowdsourcing is the same across scales.
What I do change is my agents.
So they could be virtual agents, they could be robots,
they could be bacteria, they could be nanoparticles.
And I think the key thing there,
what did change in my thought process,
is that in each one of the situations,
I actually need to get my hands dirty.
So with the flying robots,
I needed to build with my colleagues
the robots and throw them in the air and see what they were doing with the nanoparticles.
We needed to make nanoparticles and see them under the microscope.
But once you get the grasp of what agents do,
and how they interact with their neighbors and with their environments,
that gives you the building blocks that you need
to go back to your swarm engineering approach.
And so, it's really fun for me to see how similar things are across scales.
For example, in our nanoparticle simulator,
we've had to simplify a lot of the things that our particles can do.
They can't compute at the same level as the robots.
They can go left and right just like my robots can and much, much simpler.
And by simplifying what my agents can do,
we've come up with really interesting behaviors that still are a bit swarmy.
So they can still create, in simulation,
trails a little bit like ants can create trails to your picnic table.
There's some basic decision making algorithm.
There's some really neat self-assembly and disassembly,
and how you can use that to change how they move.
And because we've done that in the nanoworld,
in simulation, we've been thinking about where actually,
if we were to make a 1,000,
10,000 robots that are centimeters-sized,
can we use those very,
very simple principles that are simpler than the ones that we used to use for robots?
And does that help the scale to those large numbers?
So we have demos with the robots then,
following rules to create trails and make those ant like trails,
but much, much simpler than what we used to do.
And so I think we're going to find that there are
principles that do work across those scales,
and the mechanism to discover these principles are the same.
What's different is how you get your hands dirty and
understanding what each one of the systems does.
I'm also quite excited by the biomedical side.
I think it's somewhat close to the application.
So, with our nanoparticle work we talk with people in the medical fields,
with clinicians, with bioengineers.
They have really basic questions such as,
what particle makes my treatment distribute correctly over a brain tumor?
And the way you answer that question is to figure out
what the right individual nanoparticle design is.
Is it a bigger particle?
Is a particle that charge?
Is it a particle that sticks to the cancer cells?
And those are things that actually,
if we find the answers now using swarm engineering approaches,
those could have an impact nearer term.
Just in terms of understanding what the collective of those terms
the power of 13 particles do.
I'm quite excited by the application in
the biomedical field because they need answers
about how all these systems work together already.
So having the benefit of using swarms to deploy medicine for tumor or cancer cells,
what are other applications do you see for
these nanoparticles in the swarm environment to distribute,
help or aid in the medical profession?
Yes. So the cancer is the one I've focused on just because I need to learn
the whole area of cancer before I could really dive in.
In general, many biological
systems that are relevant for health involve many actors working together,
whether you look at the immune system,
or you look at the microbiome.
And if we can understand, for example,
how a biofilm forms in the area of anti-microbial resistance.
Well, if you understand how it forms,
maybe you could disrupt it,
and maybe you can control and engineer it.
So I think there's a large number of
biomedical challenges which involves many things working together,
where we need a better understanding and we need a better way to control.
And the control is really the new thing.
I think there's many people trying to understand these systems,
but it's fun to think about how you'd engineer and control them if you could.
And I'm hoping that some of the techniques that we're using could be applicable there.
But we always need expertise in those different areas to really make an impact.
How cross-disciplinary do you feel swarm engineering and swarm robotics is?
Do you feel that it really requires a large knowledge of biology,
and engineering, and chemistry?
Or is there some certain scales that you would focus more heavily on?
It's really cross-disciplinary, but I think it's
up to everyone to figure out what application area you want to work in,
and then go ahead and learn it.
So if you look at my team,
my students come from biomedical engineering, from physics,
from aerospace, from robotics,
from electrical engineering, computer science.
They come from a variety of backgrounds.
And the reason they come from
all those backgrounds is not because they're working specifically in their area,
but just because I like to have lots of people from different areas
to feed into this process of engineering swarms.
So for those who are working with bacteria, for example, well yes,
they need to spend time learning how you engineer bacteria,
and how they work, and how you can see them at those scales,
and how you can model them.
And those working on with robots are more focused on robots.
You don't necessarily need to know the whole spectrum,
but you can come into this field from a variety of backgrounds.
Have you seen a lot of success implementing
a single algorithm across multiple different disciplines,
in terms of objectives that you're trying to reach?
There's many basic principles,
sort of building blocks of swarming,
that you see over and over again.
So if you look at [inaudible] and if you look at what ants are doing,
if you look at what bees are doing,
at least in terms of how we use them in swarm intelligence.
Typically, you're exchanging information with your neighbors.
You're either attracted to them or you're repulsed from them.
They're depositing something in the environment,
and that's something in the environment is either attractive or repulsive.
You're exchanging information with your neighbors and you're trying to sample what
your neighborhood is saying and based on that you
change your state or you change your decision.
So, there's a number of building blocks that do pop up
as you try to engineer swarm behaviors and they're
used across a number of swarm behaviors.
And so, sometimes it sounds like it should be simple to engineer swarms.
Because once you see the rules you're like,
"Well, yeah, that's obvious.
That's how you would create a trail to your picnic table."
But actually just having the building blocks,
doesn't actually tell you how to engineer these swarm behaviors.
So, there are basic principles that are used over and over again.
But actually you still need to really tune them in and re-engineer
the swarm behavior when you think of a new application.
I see. Outside of the area of nanomedicine,
is there any other areas for
swarm robotics that you see that would be particularly interesting?
On the larger scale,
I'm quite excited about what we could be doing in swarm robotics.
So, we're already seeing smaller robots swarms being used.
So if you look at aerial robots,
there are good examples of how you could have multiple robots work together.
So for example,
if you look at the entertainment side,
you might have seen at the Super Bowl all these really neat quadrotors
that were flying above Lady Gaga.
That's one example where we're starting to see many robots that work together.
I'd say in terms of applications there's been a big push towards multi-robot systems.
So not necessarily swarms because it's not all emergent and self-organized,
but multi-robot systems where you need multiple robots for a specific application.
So for example,
that could be flying robots and ground robots and underwater robots
that are working together in a rescue mission.
Or it could be robots like those that you find in the Amazon warehouses.
So if you look at Amazon robots,
those typically work in the thousands plus
within a warehouse environment but it's much more controlled.
And typically, there is a central system,
a godly figure that tells every robot what to do and how to behave.
So, those have been much more successful at going
towards real world applications right now.
And I think it makes sense because we finally
have individual robots that are rolling outside of
the lab and we're trying to figure out how to get more than one work together.
In terms of the real swarm robots,
up until now we've been very lab-based.
And what's exciting on that front is that we can finally do
experiments in the lab that involve a thousand plus robots.
And that's thanks to Radhika Nagpal's system of Kilobot with
Michael Rubenstein and that allows us to do experiments with a 1,000 robots.
And, we're just starting to see what algorithms work with
those numbers and how we could use those in outer applications.
But my hope now in something that we're focusing on,
is how do you take those robots that work in
the thousands and make an outdoor version of them?
Because the applications there are things like the planting seeds
I mentioned before but also environmental monitoring.
Could you quickly deploy these robots over an area and they
sense something interesting in that environment
and bring that information back to you?
Could you use them anything where you need large areas?
Which we currently can't do very well.
And those are places where I want to see robots swarms being used.
One of the things that I think about generally when I start thinking
about swarm robotics and some of the applications is,
I tend to think of them more from the monitoring side of
things because I tend to think of them as very kind of
primitive and being able to kind of more just collect
information than it is really to act upon that information.
Do you feel that the first real major deployment of swarms in
an industry setting are going to be more on the side of being passive,
meaning just kind of grabbing
information and reporting them back or do you think it's going to be more
active in the sense of taking that information and kind of moving
forward collectively as a group to kind of solve a task?
I think that's a good first step, for sure.
But there is only a step from that to actually creating a Wi-Fi network
or depositing something in the environment or cleaning up an oil spill.
So I think it helps to think of these systems as actually doing
something meaningful in their environment and
what that something is will depend on the application.
But you're right, deploying them and sensing something is a good first step.
Now I know we're talking about a lot of different groups here and we're
talking about a lot of cross-disciplinary studies and work.
I mean, obviously at your lab you're saying you have roboticist engineers,
electrical engineers, other types of people, biologists as well.
How important is it that these groups kind of communicate together and how
important is it for them to make sure that the communication,
the language that you use differs typically from field to field just slightly.
And it's enough that sometimes it can cause confusion when talking to another field.
For instance, some words might mean,
have one definition in terms of biology,
but when you're talking to a roboticist it might mean something slightly different.
I know in reinforcement learning, computer scientist,
the way that they view reinforcement learning is slightly different than a psychologist.
How important is it that we have this communication and this broad sense of
understanding of everybody's field to kind of make sure
that we're collaborating correctly?
That's so important.
So, the way we do it is we have swarm lunches and
we force everyone to
explain what they're doing to the other people who aren't necessarily,
exactly in the same field.
Because you're right that there are very different languages.
So, going from swarms of flying robots to nanomedicine required essentially learning
an entirely new language to be able to get to the point
where we were making progress and what we wanted to do.
And I think the key there is very often people think of
cross-disciplinary as two different disciplines coming together.
And I'm much more keen on creating cross-disciplinary people.
So, the reason we always get our hands dirty
as in we'll make a model simulation discover swarm behavior
but then we'll actually implement it is because I
think that's one of the only ways to make cross-disciplinary people.
They need to be a little bit uncomfortable as they go along.
So that their algorithm,
they'll see that it doesn't work at all when they
test it in reality and then they need to
actually approach the people in
those areas to figure out why it hasn't worked in reality.
And then, to do that they need learn language.
At some point if everyone is doing that within a team you
somehow end up with a common base language that allows you to communicate.
And then, there's the details that sometimes get lost.
But actually those details sometimes shouldn't
be communicated in the way that they get lost.
The students get into a habit of not using all this jargon.
They realize that the person across the aisle has no idea what they're talking about.
So, I think it's super fun to create cross-disciplinary environments,
not just having different disciplines but people who cross disciplines.
It's a fun thing to do.
It's a hard thing to do because very often,
society and research and whatnot values expertise in niche areas,
and I would love for us to celebrate more people who are part disciplinary,
could sit on these edges,
or in between these different fields,
because that it in itself is a skill I think that's really helpful. I think so.
I feel like that something that we're moving more and more towards these days is
the ability to be able to be good in multiple fields and not just one anymore.
I think there was a point in time where it's very simple to say
that you were good at electrical engineering and that was kind of your area.
You were good at coding and that was your area.
You were good at math and that was your area.
But it seems like as things have evolved,
even in the scientific community as a whole,
it's not good enough to be good at just electrical engineering anymore,
or just good at mechanical engineering or just good at physics.
You have to be able to blend these boundaries together and say,
"Well, I'm really a physicist at heart but I can do some electrical engineering as well.
Or I'm a really good mathematician but I'm also a pretty good computer scientist."
I think as we kind of see this world blend together,
do you think we're going to see more and more of almost
like these cross specializations start to emerge?
And are these going to be helpful, do you think,
in particular, in the field of robotics words, it's so cross-disciplinary?
Yeah, I really hope so.
I think it's valuable for two reasons.
One, because of the new discoveries you make,
because you're sitting in the space that's potentially unexplored.
The other is because it allows you to be more
flexible in what you want to do or what you want to study.
And so, if you're used to moving across boundaries,
then you're not held back as much in terms of exploring completely new things.
So when my colleague was talking about synthetic biology, I was like, "Oh, yeah.
We should explore that. We should do that."
And I think, it's much easier to do if you've lost somehow,
your home base, and you've already
started to explore the world or the different disciplines.
And I think the more we can do that,
the more we'll make very exciting discoveries.
So there's this interesting notion I feel from being
an expert in an area and kind of slowly exploring another area,
where you're so used to being so knowledgeable about your area so well
and you have so much expertise in
one particular topic that once you start to merge into another area,
all of a sudden, you realize that there's
this whole huge learning curve that you're about to
face again of trying to get ramped up in that new area.
What are some of the techniques or what are
some advice that you would give to some people out there who are interested
in exploring another area but are getting kind of discouraged right away with
the amount of information that that's kind of in front of them that they have to digest?
So the way I did it is that,
I was playing around these flying robots for my PhD and I thought,
"Oh, I really want to do nanomedicine."
So I picked up the most complicated book I could and read all about
cancer for whatever time it took me to finish that huge book.
And I didn't understand a word of it, frankly.
It was just sort of a way to immerse myself in the language that they were using.
And the key thing for me was to actually go to a lab.
So I was lucky then to be over at MIT actually and said,
"Oh, you want to do some nano course?
Oh, yeah. Sure. That's fine. Come along."
You kind of need someone to take a risk on you so that you
can immerse yourself in the environment that you want to learn.
It's a little bit like learning a new language, right?
The best place to learn is to actually go to the place where they speak that language.
So spending time there was pretty much, I think,
the best way to figure out how this new discipline works,
but I also think you need to keep an expertise,
not just jump from field to fields.
So my key expertise is more of engineering and I
do that across scales for a number of different agents.
And this is actually advice wrapped in rag.
It means you need to be an expert in something.
And so that's my expertise and I take that with me so that I don't start from
scratch every time I tackle a new type of skill or a new type of agent.
And that allows me to have something that's reassuring,
something that I have been studying for over a decade and that I can fall back to.
I'm just using it in new and interesting ways.
So having this sort of foot hole,
the thing that you're confident about,
but then pushing yourself to go into these these different directions,
I think, is at least what what helped me.
Great. When trying to break into
the field of swarm engineering or study the field of swarm engineering,
what do you feel are some of the most crucial skills that somebody could have?
It really depends.
So it really depends because depending on what your background is,
you can come at it from different angles.
If you're good at math, you can do the maths of how these systems organize.
And if you're good in computer programming,
you can start to create simulations where you start to see robots that interact and can
you program them in a way they achieve a desired swarm behavior.
If you're good at hardware, you can start to think of, "Okay.
Well actually, if I'm going to make an outdoor swarm of a thousand robots,
how should I build that robot and what are
the mechanical components so that it can go over rough terrain?
And what is the sensing so that it can sense
its local environment to communicate with its local neighborhood?"
If you're good in biology, you could say actually,
"What kind of interesting behaviors are animals doing?
And if I studied that,
would that be helpful for this swarm robotics world?"
If you're into chemistry, you could say actually,
"We're going to need to make these robots outdoors that work in huge numbers.
They're going to need to be biodegradable.
What new materials would be useful for these robots?"
So there there is no one way to approach swarm robotics.
I think we need all of these expertise and
the key thing that unifies us I think is a problem.
So if we can figure out one thing that we're trying to solve,
one application area, then I think that's where we can start to say,
"Okay, I'm trying to tackle this problem.
What can my discipline bring to this question?"
And then use that as a starting point.
What problems that exist right now that are challenging for a swarm roboticist?
So there's the biomedical field that I mentioned.
Do you mean just in terms of the theory?
Just in terms of on either side,
either the practicality or the theory.
So, I'm sure there's a lot of interesting problems
because I've heard it both ways from people who are like,
"Swarm theory, swarm intelligence,
swarm robotics is the next really big area that's really going to take off."
We see a lot of people in academia kind of study in this area
and I think there's some really interesting work
and interesting research that's coming out of it.
However, you can talk to some people in the field and they'll say, "Ah, swarm robotics,
there really isn't too much of an application for it in the real world and I know
a lot of people like do it in the lab but we
haven't really seen that really crossover yet."
So from your perspective,
what are some of the interesting places that you can apply swarm theory or some of
the challenges of applying swarm theory in the next five, 10 years?
Our real challenge is that we need to make swarm robotics real.
So a lot of it is done in a laboratory if you think of the robot scale.
And we need to figure out how to do this outdoors.
So that means we need to build robot platforms that work outdoors in large numbers,
and we need to discover algorithms that work in those large numbers,
and we need to make sure that our robots are safe by design,
maybe biodegradable or disposable,
so we need to be clever about how we design the materials themselves.
So there's still many research challenges along those fronts.
On the biomedical side,
I think we're actually closer to application because
even if you don't make bacteria or nanoparticles that swarm.
There's really important questions to answer
about how collectives in these systems operate.
So I think that's actually a very good application for swarm robotics if we
bring them to the micro-nano-scale just because the agents already exist at those scales.
And we already work in huge numbers and they're begging to be controlled.
So that that's sort of where I see the near term applications.
But what we need to do, the challenge,
is making these things real.
Right. Sabine, thank you very much for your time today. I appreciate it.
Great. Thank you.
