Robots that fly ... and cooperate | Vijay Kumar

2,183,324 views ・ 2012-03-01

TED


Please double-click on the English subtitles below to play the video.

00:20
Good morning.
0
20566
1159
00:22
I'm here today to talk about autonomous flying beach balls.
1
22853
4153
00:27
(Laughter)
2
27030
1008
00:28
No, agile aerial robots like this one.
3
28062
2865
00:31
I'd like to tell you a little bit about the challenges in building these,
4
31624
3460
00:35
and some of the terrific opportunities for applying this technology.
5
35108
3392
00:38
So these robots are related to unmanned aerial vehicles.
6
38957
4608
00:44
However, the vehicles you see here are big.
7
44199
2651
00:47
They weigh thousands of pounds, are not by any means agile.
8
47318
3269
00:50
They're not even autonomous.
9
50611
1625
00:52
In fact, many of these vehicles are operated by flight crews
10
52886
4182
00:57
that can include multiple pilots,
11
57092
2560
00:59
operators of sensors,
12
59676
2206
01:01
and mission coordinators.
13
61906
1330
01:03
What we're interested in is developing robots like this --
14
63922
2743
01:06
and here are two other pictures --
15
66689
1690
01:08
of robots that you can buy off the shelf.
16
68403
2683
01:11
So these are helicopters with four rotors,
17
71110
3284
01:14
and they're roughly a meter or so in scale,
18
74418
3690
01:18
and weigh several pounds.
19
78132
1460
01:20
And so we retrofit these with sensors and processors,
20
80076
3355
01:23
and these robots can fly indoors.
21
83455
2206
01:25
Without GPS.
22
85685
1319
01:27
The robot I'm holding in my hand
23
87457
1888
01:29
is this one,
24
89369
1650
01:31
and it's been created by two students,
25
91043
3143
01:34
Alex and Daniel.
26
94210
1648
01:36
So this weighs a little more than a tenth of a pound.
27
96493
3115
01:39
It consumes about 15 watts of power.
28
99632
2579
01:42
And as you can see, it's about eight inches in diameter.
29
102235
2833
01:46
So let me give you just a very quick tutorial
30
106330
2595
01:48
on how these robots work.
31
108949
1666
01:51
So it has four rotors.
32
111043
1193
01:52
If you spin these rotors at the same speed,
33
112260
2048
01:54
the robot hovers.
34
114332
1199
01:56
If you increase the speed of each of these rotors,
35
116420
3636
02:00
then the robot flies up, it accelerates up.
36
120080
2539
02:02
Of course, if the robot were tilted,
37
122643
2432
02:05
inclined to the horizontal,
38
125099
1310
02:06
then it would accelerate in this direction.
39
126433
2803
02:09
So to get it to tilt,
40
129686
1413
02:11
there's one of two ways of doing it.
41
131123
2093
02:13
So in this picture, you see that rotor four is spinning faster
42
133240
3636
02:16
and rotor two is spinning slower.
43
136900
1968
02:18
And when that happens,
44
138892
1560
02:20
there's a moment that causes this robot to roll.
45
140476
3051
02:24
And the other way around,
46
144495
1255
02:25
if you increase the speed of rotor three and decrease the speed of rotor one,
47
145774
5579
02:31
then the robot pitches forward.
48
151377
1859
02:33
And then finally,
49
153820
1168
02:35
if you spin opposite pairs of rotors
50
155012
2894
02:37
faster than the other pair,
51
157930
1692
02:39
then the robot yaws about the vertical axis.
52
159646
2721
02:42
So an on-board processor
53
162391
1460
02:43
essentially looks at what motions need to be executed
54
163875
3307
02:47
and combines these motions,
55
167206
1970
02:49
and figures out what commands to send to the motors --
56
169200
3110
02:52
600 times a second.
57
172334
1412
02:53
That's basically how this thing operates.
58
173770
1969
02:56
So one of the advantages of this design
59
176247
2142
02:58
is when you scale things down,
60
178413
1899
03:00
the robot naturally becomes agile.
61
180336
2318
03:03
So here, R is the characteristic length of the robot.
62
183194
4063
03:07
It's actually half the diameter.
63
187281
1674
03:09
And there are lots of physical parameters that change as you reduce R.
64
189595
4641
03:14
The one that's most important is the inertia,
65
194968
2631
03:17
or the resistance to motion.
66
197623
1921
03:19
So it turns out the inertia, which governs angular motion,
67
199568
4476
03:24
scales as a fifth power of R.
68
204068
2600
03:27
So the smaller you make R,
69
207046
1696
03:28
the more dramatically the inertia reduces.
70
208766
2317
03:31
So as a result, the angular acceleration,
71
211956
2935
03:34
denoted by the Greek letter alpha here,
72
214915
2039
03:36
goes as 1 over R.
73
216978
1619
03:38
It's inversely proportional to R.
74
218621
1729
03:40
The smaller you make it, the more quickly you can turn.
75
220374
2770
03:44
So this should be clear in these videos.
76
224219
1961
03:46
On the bottom right, you see a robot performing a 360-degree flip
77
226204
4459
03:50
in less than half a second.
78
230687
1548
03:52
Multiple flips, a little more time.
79
232656
2580
03:56
So here the processes on board
80
236259
1881
03:58
are getting feedback from accelerometers and gyros on board,
81
238164
3184
04:01
and calculating, like I said before,
82
241372
2118
04:03
commands at 600 times a second,
83
243514
1809
04:05
to stabilize this robot.
84
245347
1889
04:07
So on the left, you see Daniel throwing this robot up into the air,
85
247607
3350
04:10
and it shows you how robust the control is.
86
250981
2027
04:13
No matter how you throw it,
87
253032
1310
04:14
the robot recovers and comes back to him.
88
254366
2912
04:18
So why build robots like this?
89
258881
1777
04:21
Well, robots like this have many applications.
90
261079
2571
04:24
You can send them inside buildings like this,
91
264198
2471
04:26
as first responders to look for intruders,
92
266693
3587
04:30
maybe look for biochemical leaks,
93
270304
3301
04:33
gaseous leaks.
94
273629
1151
04:35
You can also use them for applications like construction.
95
275102
3714
04:38
So here are robots carrying beams, columns
96
278840
4524
04:43
and assembling cube-like structures.
97
283388
1848
04:45
I'll tell you a little bit more about this.
98
285260
2056
04:48
The robots can be used for transporting cargo.
99
288695
2541
04:51
So one of the problems with these small robots
100
291583
3113
04:54
is their payload-carrying capacity.
101
294720
2001
04:56
So you might want to have multiple robots carry payloads.
102
296745
3017
05:00
This is a picture of a recent experiment we did --
103
300746
2355
05:03
actually not so recent anymore --
104
303125
1595
05:04
in Sendai, shortly after the earthquake.
105
304744
2492
05:07
So robots like this could be sent into collapsed buildings,
106
307938
3191
05:11
to assess the damage after natural disasters,
107
311153
2891
05:14
or sent into reactor buildings,
108
314068
1582
05:15
to map radiation levels.
109
315674
1619
05:19
So one fundamental problem that the robots have to solve
110
319583
3521
05:23
if they are to be autonomous,
111
323128
1579
05:24
is essentially figuring out how to get from point A to point B.
112
324731
3505
05:28
So this gets a little challenging,
113
328937
1667
05:30
because the dynamics of this robot are quite complicated.
114
330628
3007
05:33
In fact, they live in a 12-dimensional space.
115
333659
2492
05:36
So we use a little trick.
116
336524
1444
05:37
We take this curved 12-dimensional space,
117
337992
3413
05:41
and transform it into a flat, four-dimensional space.
118
341429
3894
05:45
And that four-dimensional space consists of X, Y, Z,
119
345347
3071
05:48
and then the yaw angle.
120
348442
1412
05:49
And so what the robot does,
121
349878
1358
05:51
is it plans what we call a minimum-snap trajectory.
122
351260
3976
05:56
So to remind you of physics:
123
356209
1397
05:57
You have position, derivative, velocity;
124
357630
2054
05:59
then acceleration;
125
359708
1856
06:01
and then comes jerk,
126
361588
2101
06:03
and then comes snap.
127
363713
1420
06:05
So this robot minimizes snap.
128
365578
2452
06:08
So what that effectively does,
129
368800
1436
06:10
is produce a smooth and graceful motion.
130
370260
2624
06:12
And it does that avoiding obstacles.
131
372908
2842
06:16
So these minimum-snap trajectories in this flat space are then transformed
132
376313
3563
06:19
back into this complicated 12-dimensional space,
133
379900
3325
06:23
which the robot must do for control and then execution.
134
383249
2986
06:26
So let me show you some examples
135
386749
1540
06:28
of what these minimum-snap trajectories look like.
136
388313
2777
06:31
And in the first video,
137
391114
1151
06:32
you'll see the robot going from point A to point B,
138
392289
2729
06:35
through an intermediate point.
139
395042
1623
06:36
(Whirring noise)
140
396990
2730
06:43
So the robot is obviously capable of executing any curve trajectory.
141
403377
3621
06:47
So these are circular trajectories,
142
407022
1714
06:48
where the robot pulls about two G's.
143
408760
2500
06:52
Here you have overhead motion capture cameras on the top
144
412844
3702
06:56
that tell the robot where it is 100 times a second.
145
416570
3206
06:59
It also tells the robot where these obstacles are.
146
419800
2436
07:03
And the obstacles can be moving.
147
423140
1556
07:04
And here, you'll see Daniel throw this hoop into the air,
148
424720
3127
07:07
while the robot is calculating the position of the hoop,
149
427871
2659
07:10
and trying to figure out how to best go through the hoop.
150
430554
2880
07:14
So as an academic,
151
434002
1234
07:15
we're always trained to be able to jump through hoops
152
435260
2528
07:17
to raise funding for our labs,
153
437812
1485
07:19
and we get our robots to do that.
154
439321
1915
07:21
(Applause)
155
441260
6365
07:28
So another thing the robot can do
156
448524
1611
07:30
is it remembers pieces of trajectory
157
450159
2077
07:32
that it learns or is pre-programmed.
158
452260
2904
07:35
So here, you see the robot combining a motion that builds up momentum,
159
455466
4770
07:40
and then changes its orientation and then recovers.
160
460260
2976
07:44
So it has to do this because this gap in the window
161
464004
2960
07:46
is only slightly larger than the width of the robot.
162
466988
3458
07:51
So just like a diver stands on a springboard
163
471050
2753
07:53
and then jumps off it to gain momentum,
164
473827
2453
07:56
and then does this pirouette, this two and a half somersault through
165
476304
3229
07:59
and then gracefully recovers,
166
479557
1402
08:00
this robot is basically doing that.
167
480983
1698
08:02
So it knows how to combine little bits and pieces of trajectories
168
482705
3080
08:05
to do these fairly difficult tasks.
169
485809
2999
08:10
So I want change gears.
170
490018
1218
08:11
So one of the disadvantages of these small robots is its size.
171
491260
3839
08:15
And I told you earlier
172
495654
1152
08:16
that we may want to employ lots and lots of robots
173
496830
2349
08:19
to overcome the limitations of size.
174
499203
2033
08:22
So one difficulty is:
175
502010
1574
08:23
How do you coordinate lots of these robots?
176
503608
2793
08:26
And so here, we looked to nature.
177
506425
1811
08:28
So I want to show you a clip of Aphaenogaster desert ants,
178
508544
4608
08:33
in Professor Stephen Pratt's lab, carrying an object.
179
513176
3388
08:36
So this is actually a piece of fig.
180
516588
1715
08:38
Actually you take any object coated with fig juice,
181
518327
2400
08:40
and the ants will carry it back to the nest.
182
520751
2091
08:42
So these ants don't have any central coordinator.
183
522866
3169
08:46
They sense their neighbors.
184
526487
1547
08:48
There's no explicit communication.
185
528058
2285
08:50
But because they sense the neighbors
186
530367
1739
08:52
and because they sense the object,
187
532130
1776
08:53
they have implicit coordination across the group.
188
533930
2830
08:57
So this is the kind of coordination we want our robots to have.
189
537474
3420
09:01
So when we have a robot which is surrounded by neighbors --
190
541569
4778
09:06
and let's look at robot I and robot J --
191
546371
2229
09:08
what we want the robots to do,
192
548624
1548
09:10
is to monitor the separation between them,
193
550196
2111
09:12
as they fly in formation.
194
552331
1905
09:14
And then you want to make sure
195
554537
1481
09:16
that this separation is within acceptable levels.
196
556042
2904
09:19
So again, the robots monitor this error
197
559303
2468
09:21
and calculate the control commands 100 times a second,
198
561795
4149
09:25
which then translates into motor commands,
199
565968
2023
09:28
600 times a second.
200
568015
1215
09:29
So this also has to be done in a decentralized way.
201
569254
3222
09:32
Again, if you have lots and lots of robots,
202
572785
2334
09:35
it's impossible to coordinate all this information centrally
203
575143
3277
09:38
fast enough in order for the robots to accomplish the task.
204
578444
3177
09:41
Plus, the robots have to base their actions only on local information --
205
581645
4348
09:46
what they sense from their neighbors.
206
586017
2119
09:48
And then finally,
207
588160
1386
09:49
we insist that the robots be agnostic to who their neighbors are.
208
589570
4100
09:53
So this is what we call anonymity.
209
593694
2117
09:57
So what I want to show you next is a video of 20 of these little robots,
210
597258
6417
10:03
flying in formation.
211
603699
1537
10:06
They're monitoring their neighbors' positions.
212
606144
2896
10:09
They're maintaining formation.
213
609064
1902
10:10
The formations can change.
214
610990
1780
10:12
They can be planar formations,
215
612794
1679
10:14
they can be three-dimensional formations.
216
614497
2103
10:17
As you can see here,
217
617331
1341
10:18
they collapse from a three-dimensional formation into planar formation.
218
618696
3687
10:22
And to fly through obstacles,
219
622407
1531
10:23
they can adapt the formations on the fly.
220
623962
2952
10:28
So again, these robots come really close together.
221
628026
2463
10:30
As you can see in this figure-eight flight,
222
630513
2388
10:32
they come within inches of each other.
223
632925
1984
10:35
And despite the aerodynamic interactions with these propeller blades,
224
635377
4317
10:39
they're able to maintain stable flight.
225
639718
2148
10:41
(Applause)
226
641890
6896
10:49
So once you know how to fly in formation,
227
649246
1999
10:51
you can actually pick up objects cooperatively.
228
651269
2216
10:53
So this just shows that we can double, triple, quadruple
229
653509
4577
10:58
the robots' strength,
230
658110
1158
10:59
by just getting them to team with neighbors, as you can see here.
231
659292
3077
11:02
One of the disadvantages of doing that is, as you scale things up --
232
662393
4142
11:06
so if you have lots of robots carrying the same thing,
233
666559
2564
11:09
you're essentially increasing the inertia,
234
669147
2720
11:11
and therefore you pay a price; they're not as agile.
235
671891
2619
11:14
But you do gain in terms of payload-carrying capacity.
236
674978
3096
11:18
Another application I want to show you -- again, this is in our lab.
237
678098
3215
11:21
This is work done by Quentin Lindsey, who's a graduate student.
238
681337
3165
11:24
So his algorithm essentially tells these robots
239
684526
2620
11:27
how to autonomously build cubic structures
240
687170
4072
11:31
from truss-like elements.
241
691266
1970
11:34
So his algorithm tells the robot what part to pick up,
242
694441
3760
11:38
when, and where to place it.
243
698225
1825
11:40
So in this video you see --
244
700471
1483
11:41
and it's sped up 10, 14 times --
245
701978
2024
11:44
you see three different structures being built by these robots.
246
704026
3089
11:47
And again, everything is autonomous,
247
707139
2026
11:49
and all Quentin has to do
248
709189
1283
11:50
is to give them a blueprint of the design that he wants to build.
249
710496
3935
11:56
So all these experiments you've seen thus far,
250
716925
2811
11:59
all these demonstrations,
251
719760
1350
12:01
have been done with the help of motion-capture systems.
252
721134
3102
12:05
So what happens when you leave your lab,
253
725029
2507
12:07
and you go outside into the real world?
254
727560
2037
12:09
And what if there's no GPS?
255
729922
1706
12:12
So this robot is actually equipped with a camera,
256
732755
4337
12:17
and a laser rangefinder, laser scanner.
257
737116
2373
12:20
And it uses these sensors to build a map of the environment.
258
740140
3920
12:24
What that map consists of are features --
259
744084
3286
12:27
like doorways, windows, people, furniture --
260
747394
3871
12:31
and it then figures out where its position is,
261
751289
2143
12:33
with respect to the features.
262
753456
1401
12:34
So there is no global coordinate system.
263
754881
2210
12:37
The coordinate system is defined based on the robot,
264
757115
2506
12:39
where it is and what it's looking at.
265
759645
2057
12:42
And it navigates with respect to those features.
266
762575
2755
12:46
So I want to show you a clip
267
766316
1420
12:47
of algorithms developed by Frank Shen and Professor Nathan Michael,
268
767760
3952
12:51
that shows this robot entering a building for the very first time,
269
771736
3769
12:55
and creating this map on the fly.
270
775529
2422
12:58
So the robot then figures out what the features are,
271
778642
3158
13:01
it builds the map,
272
781824
1151
13:02
it figures out where it is with respect to the features,
273
782999
2967
13:05
and then estimates its position 100 times a second,
274
785990
3948
13:09
allowing us to use the control algorithms that I described to you earlier.
275
789962
3818
13:13
So this robot is actually being commanded remotely by Frank,
276
793804
4433
13:18
but the robot can also figure out where to go on its own.
277
798261
3539
13:22
So suppose I were to send this into a building,
278
802125
2207
13:24
and I had no idea what this building looked like.
279
804356
2302
13:26
I can ask this robot to go in,
280
806682
1444
13:28
create a map,
281
808150
1904
13:30
and then come back and tell me what the building looks like.
282
810078
2865
13:32
So here, the robot is not only solving the problem
283
812967
3168
13:36
of how to go from point A to point B in this map,
284
816159
2634
13:38
but it's figuring out what the best point B is at every time.
285
818817
4399
13:43
So essentially it knows where to go
286
823240
2054
13:45
to look for places that have the least information,
287
825318
2785
13:48
and that's how it populates this map.
288
828127
1968
13:50
So I want to leave you with one last application.
289
830944
2998
13:54
And there are many applications of this technology.
290
834982
2524
13:57
I'm a professor, and we're passionate about education.
291
837823
2548
14:00
Robots like this can really change the way we do K-12 education.
292
840395
3936
14:04
But we're in Southern California,
293
844355
1825
14:06
close to Los Angeles,
294
846204
1833
14:08
so I have to conclude with something focused on entertainment.
295
848061
3250
14:12
I want to conclude with a music video.
296
852407
1834
14:14
I want to introduce the creators, Alex and Daniel, who created this video.
297
854265
4714
14:19
(Applause)
298
859003
6878
14:25
So before I play this video,
299
865905
1434
14:27
I want to tell you that they created it in the last three days,
300
867363
3197
14:30
after getting a call from Chris.
301
870584
1652
14:32
And the robots that play in the video are completely autonomous.
302
872743
3817
14:36
You will see nine robots play six different instruments.
303
876584
3502
14:40
And of course, it's made exclusively for TED 2012.
304
880697
2971
14:44
Let's watch.
305
884533
1152
14:46
(Sound of air escaping from valve)
306
886824
4404
14:53
(Music)
307
893547
3336
14:56
(Whirring sound)
308
896907
5520
15:19
(Music)
309
919442
6629
16:24
(Applause) (Cheers)
310
984029
5984
About this website

This site will introduce you to YouTube videos that are useful for learning English. You will see English lessons taught by top-notch teachers from around the world. Double-click on the English subtitles displayed on each video page to play the video from there. The subtitles scroll in sync with the video playback. If you have any comments or requests, please contact us using this contact form.

https://forms.gle/WvT1wiN1qDtmnspy7