Translator: Angelika Lueckert Leon Reviewer: Sonja Maria Neef
As you all know, robotics, artificial intelligence, machine learning,
these are all buzzwords
that you cannot only find in research and science anymore,
you can find them more and more in public media.
So, when there is a phase where you have this big hype about a domain,
it's always good to start with a definition.
So what is artificial intelligence?
Machine learning means software algorithms that learn from data.
Robotics means we have a connection
between a computer system, a digital system,
that can physically interact with the environment.
And we're going to talk about that much, much more in detail today.
But taking a step back, so, there are self-driving cars,
I'm sure that every one of you has heard about that.
Looking at Apple's Siri, Google's Assistant, Amazon's Alexa -
we're seeing more and more of these technologies
entering our everyday lives.
And what makes this different?
When it comes to artificial intelligence,
what computer software used to be -
Imagine you had three colors, white, grey and black,
and you would ask a computer program, "What color is this?"
"White, grey or black?"
There's a unique answer to this.
If you show a photograph to an algorithm,
and you would ask, "Who is on the photograph?"
Then the answer might be, "This could be Linda
but maybe it's some someone else.
Or this could be Chris but it could be someone else."
But the same is true for us humans, right?
If I would show you a photograph, in many cases,
assuming you know that person,
you can tell who is on the photograph.
But in many cases, also, you're not really sure.
It could be that person, but it could be someone else.
So, we're seeing more and more of these breakthroughs
in semantic understanding,
speech recognition, speech translation.
Now, looking at robotics, let's take a step back to 1997
when IBM's Deep Blue beat Garry Kasparov in chess.
This is what we called artificial intelligence at that point,
and I'm sure that you've heard of AlphaGo much more recently.
However, I have not yet seen a computer system or a robot
that can take a box of chess figures,
take each individual figure, put it on the board,
and physically play chess with me.
So, let's talk about robotics.
What is robotics?
Robotics is the intelligent connection between perception and action.
So, what that means is -
On the right side you can see a robot,
and the robot is installed in some environment,
works in some environment,
but it's also about physical contact,
having the system making physical contact with the environment,
possibly with a human.
And the robot consists of actuators -
in many cases electrical motors, but there are many other actuators -
and then it consists of sensors.
So, it can sense its own position,
it might have a camera for visual perception,
it might have a force torque sensor or a skin for tactile perception.
And then we have a control system,
and what I want to focus on today is this control system.
So, let me start with something that I've done quite a while ago,
and this is one of the first projects that I did in robotics.
What you can see here is a robot inserting a battery into a cell phone.
The robot is equipped with a force torque sensor,
so it can feel but it cannot see the phone,
and it doesn't exactly know where the phone is.
You can see that it is displaced, right?
So, we don't know the position and orientation of the phone,
so we're just feeling, like blindly trying to insert the battery into the phone.
And what you can see on the right hand side is a graph.
The graph is static,
and each node in this graph is a command for the robot.
So, depending on the sensor signals from the robot,
we take a path through this graph
that really depends on what is happening in the robot work cell.
Now, when we switch from one node to another,
we don't know in what state we are in.
That means we need to be able to switch, to react instantaneously,
in this case within like one millisecond,
we need to change from one behavior to another.
So, this is comparable to the human reflex.
Here you can see me soldering, and I'm burning my fingers.
And these reflexes are very often triggered in our spinal cord
or in our cerebellum,
and we react to pain or something unforeseen, right away.
And very often, actually not very often, we really first react,
and then, afterwards, we consciously notice,
oh, I just burned my fingers.
We used this technology, and we implemented a Jenga playing robot.
Jenga is a parlor game, I'm sure many of you know that.
It consists of a tower of wooden bricks,
and the goal is to pick a brick, take it out,
and put it back on the top of the tower.
And the robot that we used to play this game with
was equipped with position sensors in the joints
so the robot knew where it was;
it had a force torque sensor so that it could feel;
it had a distance sensor; and it had two cameras.
And what you can see now,
we're now about to to grasp this one brick of wood.
And while we're now trying to pull out this brick,
we're eliminating all transfers of forces and torques.
And we do that to prevent the tower from toppling.
And we really have to do this in a very careful manner.
And this, again, is implemented using the same primitives,
the same graph principle that you've seen before.
However, now this graph is much more complex.
Here you can see a view from from the cameras,
and we're actually cheating a little bit.
We colored all of the blocks with black and white colors
so that it's not a computer vision problem.
So we simplified our task that way.
You can see the force torque sensor
to really get the the tactile perception,
you can see it on the real robot,
and the distance sensor as well.
Now, taking a step forward,
programming here was really a challenge,
and looking at the control system,
what could we do to kind of make the control system more intelligent?
The green block here on the left.
We could imagine to put a human in there, right?
The human is [remotely] operating the robot,
and if the human also gets a sense of touch,
then this is what we call haptics.
The human can haptically [remotely] operate the robot.
So, the human can feel what the robot is feeling.
And here's one example.
This is something that we did at Stanford University.
You can see this valve on the right and the robot as well,
and this is a haptic device.
A haptic device is a - imagine a joystick,
and you have force feedback,
but with this joystick you get force feedback
in up to six degrees of freedom.
So you can feel exactly what the robot is feeling.
In this case, the human operator can actually see the valve,
but, of course, there could also be a camera
so that the operator would only see the camera image.
Obviously, that doesn't scale, right?
We would need one human per robot,
so it would be easy to program because it's done by the human,
but we can't scale that.
So we need something else.
A much more interesting aspect
is, actually, putting the human not at the [remote] operation seat,
but have the human and the robot interact, maybe physically interact.
Here's another project where you can see
the robot and the human physically interacting.
This actually was a student project at Stanford University.
I'm using this framework that I mentioned earlier,
where we are able to generate notions within less than one millisecond,
comparing - this is what is comparable to the human reflex.
And here the students were able to implement this
in less than three weeks.
And, actually, it looks complex, but it's very simple.
So, the robot moves towards the human sword,
and the moment we detect the contact within one millisecond,
the robot starts recoiling.
Exactly what a human would do as well,
and here's the defense mode, also very simple.
The the only thing that the human - sorry -
that the robot tries to do
is to put it`s sword perpendicular to the human sword.
Here you can see that again.
You can see me fighting with the robot,
and all the robot is trying to do is to put its sword perpendicular to mine.
And you can see the 3D camera there
and also the camera image in the background.
Now, looking at this, this actually looks dangerous, right?
And imagine you would have humans and robots interacting,
sharing the same work space.
So safety is something - physical safety for the human
is something that really needs to have the highest priority whatsoever.
So, we don't want to harm, to injure, or even to kill a human, right?
So this has to be the foremost priority for roboticists
when they work on applications
where robots and humans share the same work space.
We then worked on an algorithm
that allows the robot to prevent from collisions.
You can see,
on the right-hand side here, a depth image,
and based on that depth image,
we can detect the human, we can detect obstacles,
and we then compute a velocity vector -
so we compute a point in space -
and the velocity vector is pointing into the opposite direction of the human
and to the opposite direction of the obstacle.
This way we can compute a motion in real-time
that allows the robot to move away from the obstacle in the best possible way,
as fast as physically possible.
So the robot tries everything it possibly can,
it physically can, to prevent that collision.
So, that is one trend.
But even here, programming, again, is very expensive.
There is another development in the domain of robotics research,
and that's based on models, so lots of engineering,
we put a lot of thought into the controllers,
into the motion planners.
And when I worked at Google, I had the honor and the pleasure
to also collaborate with the team at Boston Dynamics,
and I would like to give great credits to them for the videos we're seeing here.
This robot is called Atlas,
it's a humanoid robot, and this robot is fully force and torque controlled.
And what they were able to do here
is to have the robot being able to walk alongside with humans
on very uneven terrain, to manipulate objects, like here.
And there's another robot, called Spot.
Spot is a - SpotMini to be precise -
is a quadruped robot with an arm on top of it,
and what you can see here in this demonstration,
it's actually whole body controlled.
So, we keep the position of the end effector where it is,
and then we move around.
The latest version of Atlas can even jump.
And this is really an amazing achievement
that just was implemented very recently.
And it's not only about jumping.
Looking at - some of you might have seen this already.
(Laughter)
So, this is really an amazing engineering achievement,
and credits to the team at Boston Dynamics at this point.
However, in all three cases, the graph that you've seen,
human robot collaboration, and the latest videos,
it requires a lot of skills, expertise, and experience to program these robots.
So, how can we overcome this problem, right?
We cannot have people who are highly educated in robotics
to program all of these robots; it will not work, it will not scale.
So, this is where machine learning might come to help,
and this is ongoing research in many research labs in the world,
including the ones here in Karlsruhe.
And machine learning, as I mentioned,
means software algorithms that learn from data.
Now, data is something that is sometimes hard to find in robotics.
We can find a lot of text and images on the internet to train algorithms -
this is why they have become very trained in speech recognition, image recognition -
however, they're not too many websites that show motor currents,
motor torques, joint torques, joint positions, right?
We just don't have enough of that data.
The problem we have here is we actually need a lot of data.
It's really about data, and we come to data driven robotics.
And one experiment that we did at Google a while ago,
this was last year,
we had 14 robots trying to grasp objects,
and we did that for two months.
There's a method that is called reinforcement learning,
and that means the robot is taking an action,
and if it does a good action, it gets a reward for it.
In this case, the reward was the success of grasping an object.
And we did that, as I mentioned, for about two months.
It was a little more than 800,000 grasps,
and there was one thing that happened
that was truly amazing and surprising to us.
Look at this scene,
you can see the stapler and the yellow DUPLO brick here,
and now in the next scene here,
the robot is trying to grasp the yellow brick.
And what it does is it pushes away the stapler to then grasp the object.
And there was no engineer that wrote a single line of code to do this,
this was truly learned by the system,
and when we've seen that, this was a big surprise
and a big success to the entire team there.
Now, this is truly amazing.
However, even that doesn't scale.
Because this works for this robot with this camera with this gripper.
If you change the setup the neural network that was trained
will not work anymore.
So machine learning is no magic,
and we have to be aware of it.
It's a tool, and it just means it's a set of algorithms that learn from data.
Now, taking a stop here,
if you are interested in this domain and in robotics,
there's a fantastic book and also a website
where you can find hundreds of such videos and technologies with descriptions,
all openly available,
and if you take a look at this book and website,
I'm sure you will find more interesting information about these technologies.
And now concluding,
looking a little bit into the future of what's going to happen next.
We're seeing, almost weekly right now,
technical breakthroughs in visual perception and speech recognition;
however, the challenges that we are still facing
and where we do not yet have good solutions is safe actuation,
having robots and humans working together in a safe way;
having robots physically manipulating the environment;
and having robots and humans working together,
sharing the same work space and doing that in a safe way.
So, to conclude,
this is what we've seen before:
the intelligent connection between perception and action;
safety is one very important, very fundamental aspect;
and data.
So this is where we are going to see, in the next decade,
more and more breakthroughs as well,
and I hope that I will be able to contribute to that further.
But I would also like to say that we should not be afraid of this future.
Robots are not going to become self-aware;
they will help us, support us, assist us at work and in everyday life.
Thank you so much.
(Applause)