Do you want to see a humanoid AI lab from the inside? I do 🙂 – join me and let’s visit Flexion: Europe’s leading lab building the AI brains for humanoids!
Their goal? Build the Android of robotics. One operating system that works on any humanoid hardware.
It is crazy what their robots can do. We pushed a robot on the stairs. It didn't care. They left one in a rainy forest it was never trained on. No issue.
And because they let robots train on their own, from zero through reinforcement learning, the robots do odd things. They stand up from the ground in ways no human ever would. Because they learned what's best for a robot body, not a human one.
Backflips? Surprisingly easy. Finding and picking up a box without crushing it? That's still a hard problem to enable more industry usecases. And Flexion is exactly working on that.
If their humanoid brain works, this will be industry defining. This is why Flexion is one of Europe's Most Ambitious Startups. 🇪🇺🔥
– Andreas ✌️
Who should we visit next? Let me know in the comments.
We're building the brain that powers humanoid robots, to bring them to do manual labor that
humans don't want to or should not do anymore. So robots like these that can stand up from the
ground, walk around and then use their arms and hands to do useful work. Today I'm visiting
Flexion, a company here in Zurich that is building the brain for humanoids. Think of it as the android
for humanoids. They want to teach robots from ground up how to actually move, behave, think
about stuff. They offered to give me an exclusive lab tour so we can see all the humanoids, how they
work, how they do. We can see the humanoids fail maybe, we can see the humanoids maybe doing cool
stuff. I'm genuinely excited. This is Flexion. We have like quite a few robots as you can see.
In total I think right now we have 14 humanoids. So we just got those ones actually like two months
ago. We're not building the hardware, we're providing the software. The same software that
can power all these robots across all sorts of different tasks. From picking up boxes to walking,
inspecting things and all sorts of additional tasks. All the software that you see, all the
controllers, all the locomotion is of course done by us. So we just take the hardware from the humanoid
manufacturer, everything else is our software. Like from the very low level stuff to like high level
stuff, 3D perception and so on and so forth. For a very long time we were able to bring one robot
to a specific task. But it would take maybe a few years of work for 50 engineers to do that.
The key thing for us is to reduce the amount of engineering effort required to bring a new robot
to a new task. Within like one week you can really get and like fully set up a new humanoid
without actually having to record hundreds of hours of teleoperation to make it really scalable
with very little human involvement or no human involvement ideally. One way to do that is make
sure that once one robot can do a task, all the robots that we're training on can do the same thing.
Such that the learnings we get from the whole fleet accelerate the whole platform. Transfer that
brain between different kinds of humanoids. So it's like not limited to one hardware but it becomes
like almost like the chat GTP of robotics. Like you can't just like do stuff. That's right. So we're
making our job harder by working on different robots at the same time. But once we have that
infrastructure in place, it's much much faster to develop the capabilities of the whole fleet
Yay! How does a humanoid actually work? Like what are the different parts? Like
what is what? A humanoid is basically a battery, a computer and many many motors connected together.
So this is one example of a very polished and like a hand that is very close to a product.
It's not as versatile as a human hand. So we have way more degrees of freedom. So the fingers cannot
do that on this specific one. There are other hands that have more have more degrees of freedom
but then they become heavier. They're typically more brittle. But when you visit some companies
developing that, you see their next prototypes and they're way more advanced already. And again
like this is the worst it will ever get. Exactly. I think not including the hands, this robot here
has 29 motors. Where's the motor? Like what is the motor here? So each arm has seven motors.
You can count them. The one, two, three, four, five, six and seven here. Here we have more in
the waist. This can also move. Legs have six, six motors. Then there are interesting mechanisms here
for example where the ankle has two motors here and it's connected through these rods to create
these two motions here. And then we have a lot of sensors. The robots already come with some sensors
for example like a lighter here or a camera. And then we are customizing them a little bit. These
are these are cameras that are then connected to the to the computer. For example on this one we
added two cameras. One here in the front and one here in the back. We're running a lot of different
neural networks inside. Why do you run it on the robot and not just like on a server with Wi-Fi?
The closest to the robot is the controller. So controlling the motors. And that one needs to be
on the robot to have minimum latency. And that's for the micro movements basically? It's for the
whole balancing of the robot. Basically the closer it is to fine-grained motion, to quick motion,
small motions, the closer it is to the machine. Exactly. We have another model that is actually
run here in the backpack which plans the motions of the robot. And then we have a third one which
we call the command layer or you can think of it as an agent in today's AI world. And that
is run outside because that's a larger one and that one doesn't need to run quickly. And that's
like the reasoning what I should be doing? Exactly. So it's breaking down abstract tasks such as
go downstairs and to turn around, find the door, open the door, things like that. We could say you
see like this letter there. Go to the letter. You see here we have a path. And then I just
click this button and then autonomously it tries to get to that letter that you see here.
We can try blue mats. So it has an understanding of the environment around it and you're able to
tell it where to go and it already found the path. And then it kind of finds a path towards
it and again I just activate it. I'm not really controlling anything. This is done autonomously
and it tries to kind of achieve this goal basically. It's kind of like the mental map
that we have on the robot now. Here we're just showing simpler tasks just to demonstrate this
global navigation thing. But as I was saying maybe it needs to pick up a box from the building
entrance and then this reasoning agent kind of breaks this down into its components of you know
more modular tasks that need to be accomplished. So you need to first go to the building entrance
and then you look for a box that is addressed to our company. So the server breaks down
the task, understands what to do, does the path mapping. Then we go here, this extra compute.
This extra compute is just to kind of enable all of this ongoing mapping of the area to be able to
avoid like these obstacles around it. To have a humanoid useful in the real world you actually
need arms right and you need to interact with the world and that's when we started with those
ones. They came directly with the five finger hand. What I'm doing here is to control a robot
automatically generate data for training. So the robot is trying to grasp an object out of the
cartoon box at the same time try to avoid the collisions between the cartoon box. So what we
see here is that robots after executing the autonomous policy put the object back to the
cartoon box so that we can quickly collect a lot of data. Grabbing and manipulating is a hard
problem in humanoids. Another hard problem is simply walking. This one is now walking the stairs.
That's super cool. Can you also go walk down? Yeah. And you can go backwards.
It's a robot, it doesn't really care if it's going forward or backwards.
Nice. It can actually do things that are much harder for humans. Through its sensors it understands
that these are now stairs and it has to adapt. We can even torture it a little bit. I don't know
if you want to show this on camera or not. Yes I want to show. I want to show humanoids getting
tortured. Stop. You can even push it around on set. This is insane. It keeps completely stable.
You see like these little jumps it's doing? And here the beauty is because it's actually
trained so much on simulation data it actually understands the environment. It can react to this.
Exactly. And here this is only stairs but it has seen a lot of things. So we have a video on our
website where the this exact same controller is walking through a forest and we never trained it
to walk in a forest. It just happens to adapt because at some point any irregularity in the
terrain is something that has seen before in training. How do you train something to actually
understand and interact with its environment because that's super granular? From a high level
you need to recreate these sort of scenarios in simulation and then tell the robot to just
practice. Do a lot of trial and error and so that's what we call reinforcement learning.
At the beginning the robot has no idea what to do. Even this stand up maneuver for example it's not
trained from a human motion. And this is once again the benefit of reinforcement learning is
that robots can actually learn things that humans cannot show them. So it's almost like it's
learning whatever is best for its body versus what is best for our body. Exactly. If you just
tell it stand up or lie down it can come up with a million different ways to do it.
So this is where a little bit of the engineering expertise and human knowledge comes in. That's
why you need a lot of PhD students to figure out how to make it in the right motion but also in a
reasonable way that is on one side not too scary for humans around the robot but also doesn't break
all of the hardware. As you can see now the robot is doing it very carefully very slowly which we
need to teach it to do it that way to not break everything. We're trying as hard as possible not
to passively collect data in the real world. We're training in simulation. If you collect a lot of
data with that small robot and then you transfer to this larger one you will basically need to
start collecting data from scratch again. Whereas since we're training in simulation all we do is
we change the input the file that represents the robot. Click train again and we get a new
controller a new neural network that can control that robot instead of the other one. Right now
we're looking at our simulation which is based on NVIDIA's Isaac Lab which is an engine where you
can simulate robots in a massively parallel fashion. So you can imagine when we train we
use kind of 4 000 robots that train in parallel and they collect like massive amounts of data.
This is an example of the door opening task. Is it randomly trying different variations or
like what is it actually doing? Basically at the beginning we will spawn the robot by letting the
robot try out random actions. It kind of figures out oh now I was able to touch the handle so I get
a reward for that. You can also of course deploy it in the real world and do reinforcement learning
in the real world. The main challenge is that at the beginning the behaviors are very erratic
because it's kind of random movements that it does. So the robot would fall down all the time
so it would not only break the robot it would be dangerous for the operators and also like resetting
the whole environment is quite tedious in the real world and this is the advantage of simulation.
You can really control any aspect of it but also you can simulate much faster than real time and
it's like multiple orders of magnitudes and of course the robot if it falls down it doesn't
break it's just a simulation. You need to be really careful on how you formulate the problem to
bridge the reality gap that's how we call it. It includes like all sorts of randomizations that
you need to add on top like the weights of the different links of the robot, joint friction,
ground friction so that it kind of learns to be robust in a specific envelope that you can then
hopefully have in the real world. There's two competing approaches to solve the same task one
is imitation learning and the other is reinforcement learning. The main difference is reinforcement
learning you let the robot learn on its own what it needs to do so random actions in the environment
on the other hand with imitation learning a room filled with teleoperators they have their augmented
reality glasses teleoperate the robot to accomplish a specific task all the data from the robot is
collected put into the data set and then you train your policy to do the same thing with supervised
learning. And now I grab I grab horrible I go outside again I go lower okay change the orientation
oh yeah true okay this is not really the way forward right because your upper limit of
performance is always the performance of the demonstrator which can be a bit better or worse
depending on the exact setup but it will never be better than the human he doesn't really have
any notion of like force how much force to apply and so on and then the robot is trying to do the
exact same thing right and then now he can just pull the door by actually going with the hand even
lower whereas in simulation if we train our robot it by itself feels the force and you can even like
reward it directly on optimizing the interactions and so on particularly these very fine-grained
interactions like how to exactly put the box or how to actually like open the door like this stuff
gets very difficult and as I mentioned the upper bound of your performance is kind of the human
demonstrations right. The way to think of this is basically with teleops you really quickly get
something that works but then to actually get to the fine-grained detail it's almost impossible
and therefore you go almost like a zero approach as if a robot would actually learn in its own body
in its own simulation as a robot would learn like a human child would learn instead of like
having it puppeteering or it might not look as natural to do to us to humans because actually
the robot has different kinematics it might open the door with the elbow or or the wrists or in
a slightly unnatural way but it will do it much faster and much more efficiently than
than with teleoperation. The same effect as you have with machine learning in general where it
just like takes the hack that it's best for itself instead of like doing what we thought
it should be doing. They look like humans so we have specific expectations on how they should
behave for example if they were limping and walking weirdly even if it was efficient it's
not great because it doesn't inspire confidence yeah so you need to find the right balance between
efficiency and kind of looking good. Usually I see these cool marketing videos with like robots like
doing backflips and then running and then running up a wall and do what like all kinds of crazy
kung fu and meanwhile I go to a normal research lab and they struggle doing like basic boxes you
know like how do you see this from the inside from the industry like what is what uh are they so far
ahead with this programming or like like what's the difference? Surprisingly it's easier to make
robots do backflips or parkour or jump than doing boring manual labor reliably. To do a backflip you
don't need to look around you don't need to interact with the environment so what's really
hard is the environment interaction. It sounds very stupid but to pick up that box you have to go
find where that box is you have to take it with your hands with on the right spots without
crushing it without dropping it putting a box on a shelf without hitting anything with your elbows
you really need to understand the 3d environment you're operating in. It's almost like a it's not a
script but it's almost like it's almost a script exactly. With humanoids a lot of people say it's
just hype and you should just do like form specific robots like instead of doing a robot doing laundry
you should have a washing machine that kind of argument what is your bull and your like bear
case on robotics like how do you think on humanoids basically you know why do you advocate for
humanoids? We need a lawnmower to to mow the lawn and then we need yet another robot to to fold the
clothes when you get them out of the washing machine. If you can keep going you'll expand the
list and every single time you'll need a new robot so you'll end up with 20 robots in your
house and the whole idea of a general purpose robot is that you need only one and it has a
general form factor that can adapt to all those different tasks and if you come up with a new
task one week later after buying the robot we can just do a software update and it learns to do the
new task as well. I guess one of the counter arguments for humanoids is it's a very complex
machine. We were talking before about the amount of actuators, compute, everything needed to make
this happen. The other bull case for humanoids is also economy of scale like if I can just produce
that thing for all kinds of use cases and I produce like hundreds of thousands of that
I might get cheaper than your special purpose robot that technically uses cheaper parts
just because of scale. We are like almost like in the pre-ford phase of humanoids like before they
really really go into large scale. Exactly and we will really accelerate over the next few years.
I think there are actually billions of cars and if you take the whole vehicle ecosystem it's many
more billions and we'll have just as many if not more robots and the big question is who is going
to produce them and I think actually Europe is in a very good spot to produce millions of machines
because we're good at precision manufacturing and we have the whole automotive industry which
actually translates really well to robots. One key thing that is missing obviously is
the software. Unfortunately or fortunately for us those same big industrial companies
are not necessarily the best at innovative AI-based software. Software check. So software
we are focusing on that part. We'll bring that. Then for sure the next thing that you need is
to accelerate the hardware development. So right now it's starting in startups. We see that those
big automotive and industrial companies are looking at that but they're still hesitant and
one risk that might happen is that they will wait until the they need proof points of the fact that
they need to move into the ecosystem but if you wait until you actually have the final proof point
where a robot is doing a useful task somewhere in China or in the US it will be too late because
then it will take you many years to catch up. So what we need is to convince them to start moving
faster ahead of that absolute proof point. In theory we have this supply chain network but
they're not used to working with startups right? Yes and I think they're not used to the space of
iteration. These specific robots pretty much every few weeks they have something new and if
your iteration cycle is a few years and you need 10 iterations to get to a very stable and powerful
robot well you know it will take way longer to get there. Nikita like what is the the next few
months, years for Flexion? The key focus for this year is to actually bring a robot to an end
customer and make it do a useful task. In the first half of the year we'll expand the fleet of robots
and work with more and more customers who are building these robots and we're deploying our
models on their robots and then together with them we'll work on bringing them to to the end
customer meaning a factory or a warehouse. This means like now it's getting real? It is getting
real absolutely we'll be the first ones to have our software deployed on a million robots. On a
million robots, that's pretty cool. Nikita thanks so much for your time and all the best and this is pretty
amazing and we need exactly these kind of companies here thanks so much. So this was one of the most
exciting offices I've ever been to and I genuinely want to work from there and if you're thinking
what to do next in your career think about going into robotics it's one of the most interesting
fields right now so much is happening. All the robotics with all the robots we saw today in six
months they will look like a walkman to us now. In a year or two from now we will be like what the
hell this is now the inflection point where everything is happening. If this kind of stuff
is interesting for you I have two videos. Number one is about how China industrialized and what
kind of learnings we could have here in Europe to just re-industrialize and I also have a quick
interview with a friend of mine Peter whose AI project OpenClaw went like super viral the last
few weeks and yeah enjoy. Thanks so much for watching. I have to say this because I'm a
YouTuber apparently now. Like and subscribe and see you in the next one.