WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000 00:00:00.688 --> 00:00:03.562 [MUSIC - RANDY ROGERS BAND, "TONIGHT'S NOT THE NIGHT (FOR GOODBYE)"] 00:00:21.589 --> 00:00:22.630 DAVID MALAN: Hello world. 00:00:22.630 --> 00:00:26.430 This is CS50 Live and this is our season finale. 00:00:26.430 --> 00:00:28.620 But boy do we have a good episode for you today, 00:00:28.620 --> 00:00:32.990 in particular, the latest in image stabilization, robo soccer, 00:00:32.990 --> 00:00:36.410 and ultimately, a look back at CS50 Live itself. 00:00:36.410 --> 00:00:39.600 Now you may recall that desk lamps have been a bit of a thing this year. 00:00:39.600 --> 00:00:43.060 In fact, this was kind of a spontaneous introduction to CS50's week zero 00:00:43.060 --> 00:00:44.940 this past fall 2013. 00:00:44.940 --> 00:00:47.730 >> Just a day or so before the very first lecture this past fall, 00:00:47.730 --> 00:00:51.250 I decided it would be kind of fun to be able to visualize binary-- zeros 00:00:51.250 --> 00:00:54.300 and ones-- and so I headed to CS50's favorite store, Target, 00:00:54.300 --> 00:00:56.090 and picked up these desk lamps here. 00:00:56.090 --> 00:00:58.890 Now, at the end of the lecture, I found that I didn't really 00:00:58.890 --> 00:01:00.460 need these lamps for another year. 00:01:00.460 --> 00:01:03.710 And even if I did, it would kind of be an old bit by 2014, 00:01:03.710 --> 00:01:05.940 so I offered them up to students in the audience. 00:01:05.940 --> 00:01:09.620 >> Now, since then of course, we've been receiving quite a few emails, Facebook 00:01:09.620 --> 00:01:14.750 posts, and tweets requesting these same CS50 desk lamps to be sent nationally 00:01:14.750 --> 00:01:15.960 and internationally. 00:01:15.960 --> 00:01:17.100 And so we did. 00:01:17.100 --> 00:01:20.870 And we got back this very nice note from CS50's Luigi Morelli 00:01:20.870 --> 00:01:23.000 in Rome, Italy who wrote us this. 00:01:23.000 --> 00:01:23.940 "And here I am! 00:01:23.940 --> 00:01:25.530 Thanks to CS50 staff. 00:01:25.530 --> 00:01:27.930 Hey, look at those four books behind me." 00:01:27.930 --> 00:01:31.590 >> In fact, if you do look up there on the top shelf, you will see four books. 00:01:31.590 --> 00:01:35.850 And if we enhance, you'll see that it's a canonical set of computer science 00:01:35.850 --> 00:01:38.030 books by a very renowned computer scientist known 00:01:38.030 --> 00:01:41.100 as Donald Knuth who wrote, The Art of Programming. 00:01:41.100 --> 00:01:44.870 So if you yourself were looking to build your own collection of computer science 00:01:44.870 --> 00:01:48.780 canon, go ahead and take a look at The Art of Programming. 00:01:48.780 --> 00:01:52.580 >> Now, meanwhile, if we take a look at videos that some of your classmates 00:01:52.580 --> 00:01:56.680 have submitted, we will see the first one from Rian from India. 00:01:56.680 --> 00:01:57.180 Hi. 00:01:57.180 --> 00:01:59.105 I'm Rian [INAUDIBLE] from India. 00:01:59.105 --> 00:02:01.940 And I'm taking CS50 online [INAUDIBLE]. 00:02:01.940 --> 00:02:04.410 And the reason I want the lamp is basically 00:02:04.410 --> 00:02:06.910 because I don't have a lamp at all and I really 00:02:06.910 --> 00:02:10.519 need one as I'm doing [INAUDIBLE] for [INAUDIBLE] and all this stuff. 00:02:10.519 --> 00:02:14.400 And I don't have a desk lamp or anything like that. 00:02:14.400 --> 00:02:17.000 So it would be really great if you guys would send me one. 00:02:17.000 --> 00:02:20.750 I'm Rian [INAUDIBLE], and this is CS50. 00:02:20.750 --> 00:02:22.750 DAVID MALAN: Now, your next classmate, Mauricio, 00:02:22.750 --> 00:02:24.590 you may recall from a previous video. 00:02:24.590 --> 00:02:27.230 But this time, Mauricio decided to take it up a notch 00:02:27.230 --> 00:02:30.580 and actually deliver his own lecture for week zero. 00:02:34.324 --> 00:02:37.090 >> MAURICIO RADA: So this is CS50. 00:02:37.090 --> 00:02:42.050 My name is Mauricio Rada, and 73% have no prior experience 00:02:42.050 --> 00:02:46.300 in computer science, contrary to what you might think. 00:02:46.300 --> 00:02:50.120 So today, we thought we would chip away at that lack of familiarity, 00:02:50.120 --> 00:02:54.920 but also give you a sense of, for those of you with more comfort, which 00:02:54.920 --> 00:02:57.420 directions you can go this semester. 00:02:57.420 --> 00:02:58.860 >> So let us start with this. 00:02:58.860 --> 00:03:03.572 I have these little desk lamps here, so-- oh. 00:03:03.572 --> 00:03:05.280 We haven't any desk lamp here. 00:03:05.280 --> 00:03:06.470 We can't go on. 00:03:06.470 --> 00:03:09.250 So you will have to end this lab here. 00:03:09.250 --> 00:03:13.500 This is not CS50. 00:03:13.500 --> 00:03:14.560 >> At the next CS50-- 00:03:17.680 --> 00:03:20.170 >> DAVID MALAN: And lastly, is Sid, also from India, 00:03:20.170 --> 00:03:24.800 who actually decided to create for us his own song. 00:03:24.800 --> 00:03:28.790 >> SID: Hi, I'm Sid, and I'm from India. 00:03:28.790 --> 00:03:32.980 I want a desk lamp because-- how about I put it this way. 00:03:38.348 --> 00:03:41.276 >> [MUSIC PLAYING] 00:03:48.620 --> 00:03:58.175 >> It's kind of funny how life can change once you take CS50 in a matter of days. 00:03:58.175 --> 00:04:02.320 So I'm making this video to show you guys 00:04:02.320 --> 00:04:06.110 why I deserve a brand new desk lamp. 00:04:06.110 --> 00:04:08.850 So it goes like this. 00:04:08.850 --> 00:04:13.190 I get yelled at every night for not switching off the lights. 00:04:15.773 --> 00:04:17.314 SPEAKER 2: Switch off the light, man! 00:04:17.314 --> 00:04:19.170 SID: Just a second. 00:04:19.170 --> 00:04:24.574 Whether I'm writing lyrics or coding some [INAUDIBLE]. 00:04:24.574 --> 00:04:26.490 SPEAKER 2: Dude, I'm switching off the lights. 00:04:26.490 --> 00:04:27.850 SID: Five minutes. 00:04:27.850 --> 00:04:29.580 Just five minutes. 00:04:29.580 --> 00:04:32.250 One love for CS50. 00:04:32.250 --> 00:04:35.080 One love for the desk lamps. 00:04:35.080 --> 00:04:35.846 One love. 00:04:35.846 --> 00:04:39.600 If I don't get one, I won't survive. 00:04:39.600 --> 00:04:42.500 So please give me a desk lamp. 00:04:42.500 --> 00:04:44.680 Darkness makes me wet my pants. 00:04:44.680 --> 00:04:47.730 Please give me a desk lamp. 00:04:47.730 --> 00:04:49.260 Desk lamp is all I need. 00:04:57.470 --> 00:04:59.177 I hope you like it. 00:04:59.177 --> 00:05:01.260 DAVID MALAN: Now lest I be shamed on the internet, 00:05:01.260 --> 00:05:04.880 it's CS50 that's an introduction to the intellectual enterprises of computer 00:05:04.880 --> 00:05:06.710 science and the art of programming. 00:05:06.710 --> 00:05:09.610 But Professor Donald Knuth's books, if you would like to Google 00:05:09.610 --> 00:05:13.280 and find them yourself, are The Art of Computer Programming. 00:05:13.280 --> 00:05:17.090 >> Now, you may recall that CS50 recently participated in this, a 48 hour film 00:05:17.090 --> 00:05:19.950 project wherein CS50 had just 48 hours to create 00:05:19.950 --> 00:05:22.580 a short film with a few required elements. 00:05:22.580 --> 00:05:25.560 Now, one of the scenes from that film was this one here 00:05:25.560 --> 00:05:27.570 wherein Daven was desperately running along 00:05:27.570 --> 00:05:31.540 the Charles River near Harvard trying to just say hello. 00:05:31.540 --> 00:05:34.710 Now, what you might not have realized is that running in front of these two 00:05:34.710 --> 00:05:36.170 were actually three guys. 00:05:36.170 --> 00:05:38.460 In fact, pictured here is some of CS50's team. 00:05:38.460 --> 00:05:42.600 And if we zoom in, you'll see Ian holding the camera, Patrick holding 00:05:42.600 --> 00:05:44.880 Ian, and Dan directing the scene. 00:05:44.880 --> 00:05:48.330 >> Now, in fairness, if we zoom out, you'll see CS50's own Ramon 00:05:48.330 --> 00:05:50.490 Galvan who was just running. 00:05:50.490 --> 00:05:52.610 Now, what Ian was holding with the camera 00:05:52.610 --> 00:05:54.560 was this device here which performs something 00:05:54.560 --> 00:05:58.160 called image stabilization which is the technology with which we were keeping 00:05:58.160 --> 00:06:01.930 that shot along the river so relatively steady even though those guys were 00:06:01.930 --> 00:06:03.290 all running backwards. 00:06:03.290 --> 00:06:06.852 Now, you might know of this kind of technology from yesteryear. 00:06:06.852 --> 00:06:08.810 In fact, if you grew up with the so-called gyro 00:06:08.810 --> 00:06:11.130 bowl, which looked a little something like this, this 00:06:11.130 --> 00:06:15.160 is a very simple device that essentially spins on three axes 00:06:15.160 --> 00:06:18.310 so that you have some cereal inside of this bowl, in theory, 00:06:18.310 --> 00:06:20.830 it should never fall out because the handles will always 00:06:20.830 --> 00:06:23.570 keep the bowl itself in an upright position. 00:06:23.570 --> 00:06:25.570 Now, I recently had an opportunity to spend time 00:06:25.570 --> 00:06:29.600 with CS50's own Dan Coffey, who went into more technical detail as to how 00:06:29.600 --> 00:06:34.040 more modern image stabilization works. 00:06:34.040 --> 00:06:37.130 >> So I'm here with CS50's own Dan Coffey, jogging 00:06:37.130 --> 00:06:39.330 along the Charles River on Harvard's campus. 00:06:39.330 --> 00:06:41.755 Now if Dan were just using a camera to shoot this, 00:06:41.755 --> 00:06:44.670 the image would be pretty shaky, definitely not stable. 00:06:44.670 --> 00:06:50.070 He's using a technique called image stabilization which should, hopefully, 00:06:50.070 --> 00:06:51.806 be stabilizing the image. 00:06:51.806 --> 00:06:54.200 Can we shoot the rest of this inside? 00:06:57.530 --> 00:06:58.070 >> OK. 00:06:58.070 --> 00:06:59.030 Image stabilization. 00:06:59.030 --> 00:06:59.720 What is it? 00:06:59.720 --> 00:07:00.449 How does it work? 00:07:00.449 --> 00:07:02.740 DAN COFFEY: So for many years, the TV and film industry 00:07:02.740 --> 00:07:05.430 have been trying to get more dynamic shots by introducing movement, 00:07:05.430 --> 00:07:07.304 but it's a challenge to keep them stabilized. 00:07:07.304 --> 00:07:10.780 You've seen The West Wing maybe where they do the walk and talk shot? 00:07:10.780 --> 00:07:13.620 And basically what they use for that is a steady cam, 00:07:13.620 --> 00:07:15.640 which is a big rig that you wear. 00:07:15.640 --> 00:07:19.854 It's a vest with an arm that isolates the camera from the user and counter 00:07:19.854 --> 00:07:21.395 balances it with a series of weights. 00:07:21.395 --> 00:07:23.103 But it takes a really long time to set up 00:07:23.103 --> 00:07:25.000 and it's very complicated to actually use. 00:07:25.000 --> 00:07:28.130 >> There are new developments in software that you can use where you can make 00:07:28.130 --> 00:07:31.074 adjustments in Mac or PC which sometimes work, sometimes they don't. 00:07:31.074 --> 00:07:33.240 But one of the latest developments is actually this. 00:07:33.240 --> 00:07:34.720 This is the MoVI M10. 00:07:34.720 --> 00:07:38.490 It's a really neat piece of equipment from our friends at Freefly Systems. 00:07:38.490 --> 00:07:41.491 And basically, it uses a series of gimbal axes to stabilize your camera. 00:07:41.491 --> 00:07:42.698 DAVID MALAN: What's a gimbal? 00:07:42.698 --> 00:07:46.380 DAN COFFEY: So a gimbal is a set of rings that each spins on its own axis 00:07:46.380 --> 00:07:49.970 and basically isolates each direction, either the x, the y, or the z. 00:07:49.970 --> 00:07:52.420 And really just makes it very smooth and fluid. 00:07:52.420 --> 00:07:55.850 So this M10 is a large gimbal and has three axes on it-- 00:07:55.850 --> 00:08:00.420 one here for the tilt, it's got one in the back for the roll, and one up top 00:08:00.420 --> 00:08:01.110 for the pan. 00:08:01.110 --> 00:08:03.490 And I can actually show you if you want to see how these actually work. 00:08:03.490 --> 00:08:03.760 >> DAVID MALAN: Yeah, sure. 00:08:03.760 --> 00:08:05.110 >> DAN COFFEY: So if you look here in the software, 00:08:05.110 --> 00:08:06.680 this is their Freefly Configurator. 00:08:06.680 --> 00:08:09.680 And it's basically outputting diagnostic information right now. 00:08:09.680 --> 00:08:12.214 But you see we have motor tilt, motor roll, and motor pan. 00:08:12.214 --> 00:08:14.130 And as I actually pan the camera, you're going 00:08:14.130 --> 00:08:15.910 to see the blue lines start to go up and down. 00:08:15.910 --> 00:08:16.576 >> DAVID MALAN: OK. 00:08:16.576 --> 00:08:17.775 So that represents the-- 00:08:17.775 --> 00:08:20.340 >> DAN COFFEY: It's the resistance of the motor pushing back 00:08:20.340 --> 00:08:22.570 against me because the M10 always wants to come back 00:08:22.570 --> 00:08:23.370 to rest in the same position. 00:08:23.370 --> 00:08:23.600 >> DAVID MALAN: OK. 00:08:23.600 --> 00:08:25.850 So the taller, the lower the bar, the more resistance. 00:08:25.850 --> 00:08:29.350 DAN COFFEY: Yeah, the more intensity that the motor's using to fight me. 00:08:29.350 --> 00:08:32.219 If I tilt, you can see the red line doing the same thing. 00:08:32.219 --> 00:08:32.844 And then roll-- 00:08:32.844 --> 00:08:34.120 >> DAVID MALAN: The green line up and down. 00:08:34.120 --> 00:08:36.600 >> DAN COFFEY: So these are the three axes we're stabilizing against. 00:08:36.600 --> 00:08:38.690 And so this is not normally how you would operate it, right? 00:08:38.690 --> 00:08:40.289 So if I actually pick this up-- and here, 00:08:40.289 --> 00:08:41.260 why don't you actually hang on to it. 00:08:41.260 --> 00:08:42.690 >> DAVID MALAN: Yeah, sure. 00:08:42.690 --> 00:08:43.429 Thank you. 00:08:43.429 --> 00:08:45.410 >> DAN COFFEY: And now you can see how little 00:08:45.410 --> 00:08:47.740 the camera moves when you hit the edge. 00:08:47.740 --> 00:08:49.987 The window, if you will, it starts to pan with you. 00:08:49.987 --> 00:08:51.820 That's actually set in the software as well. 00:08:51.820 --> 00:08:52.210 >> DAVID MALAN: I see. 00:08:52.210 --> 00:08:53.520 >> DAN COFFEY: But there's another really neat feature. 00:08:53.520 --> 00:08:56.830 If you are in a more complicated shoot, you can turn on this remote, 00:08:56.830 --> 00:09:00.590 have a second camera operator actually do the nitty gritty control. 00:09:00.590 --> 00:09:02.660 So I can now pan, flex this control. 00:09:02.660 --> 00:09:05.270 I can tilt and I can actually roll. 00:09:05.270 --> 00:09:09.160 So in this set-up, you would actually be the one moving the camera physically 00:09:09.160 --> 00:09:11.160 and I would connect a wireless video transmitter 00:09:11.160 --> 00:09:13.900 to the camera, put a receiver here on a monitor, 00:09:13.900 --> 00:09:17.740 and then I could actually, just like a video game, operate the camera for you. 00:09:17.740 --> 00:09:18.896 >> DAVID MALAN: Nice. 00:09:18.896 --> 00:09:20.720 >> DAN COFFEY: So I'll put it back in single operator mode, 00:09:20.720 --> 00:09:22.810 but you can get a sense of how smooth it actually is. 00:09:22.810 --> 00:09:24.230 >> DAVID MALAN: Yeah, no, absolutely. 00:09:24.230 --> 00:09:26.290 And I have an idea. 00:09:26.290 --> 00:09:27.107 Want to follow me? 00:09:27.107 --> 00:09:27.815 DAN COFFEY: Sure. 00:09:27.815 --> 00:09:29.770 DAVID MALAN: OK. 00:09:29.770 --> 00:09:33.280 So we're here in the bathroom to test out some actual image stabilization 00:09:33.280 --> 00:09:36.000 in front of, well, the only mirror we have. 00:09:36.000 --> 00:09:39.310 And I thought it'd be interesting to see just how much the camera moves when 00:09:39.310 --> 00:09:42.055 I actually move my arms up, down, left and right. 00:09:42.055 --> 00:09:43.930 DAN COFFEY: So let's see the pan, tilt, roll. 00:09:43.930 --> 00:09:44.888 DAVID MALAN: All right. 00:09:44.888 --> 00:09:46.136 Here we go. 00:09:46.136 --> 00:09:47.959 I'm really moving it. 00:09:47.959 --> 00:09:50.250 DAN COFFEY: So I see a little bit movement, but I mean, 00:09:50.250 --> 00:09:52.300 you would never operate it like that either. 00:09:52.300 --> 00:09:54.710 >> DAVID MALAN: No, definitely not. 00:09:58.684 --> 00:09:59.600 DAN COFFEY: All right. 00:09:59.600 --> 00:10:01.130 So David, let's get serious this time. 00:10:01.130 --> 00:10:02.900 We'll do a test where you actually go up the stairs 00:10:02.900 --> 00:10:04.620 and I will lead you with the stabilized MoVI, 00:10:04.620 --> 00:10:06.360 and Andrew will actually come next to me. 00:10:06.360 --> 00:10:07.310 Come on over Andrew. 00:10:07.310 --> 00:10:08.965 And we'll see what it looks like side-by-side. 00:10:08.965 --> 00:10:09.510 >> DAVID MALAN: Got it. 00:10:09.510 --> 00:10:10.370 >> DAN COFFEY: OK. 00:10:10.370 --> 00:10:11.050 Here we go. 00:10:11.050 --> 00:10:13.648 Ready to go up the stairs in three, two, one, go. 00:10:27.073 --> 00:10:27.573 Hi Shelley. 00:10:30.940 --> 00:10:32.901 All right, David, why don't you take this? 00:10:32.901 --> 00:10:35.150 Take all that you've learned today and put it together 00:10:35.150 --> 00:10:36.358 and we'll get the final shot. 00:10:39.422 --> 00:10:40.380 DAVID MALAN: All right. 00:10:40.380 --> 00:10:41.370 Here we go. 00:11:02.160 --> 00:11:06.310 >> DAN COFFEY: And now, 60 seconds of gimbals. 00:11:06.310 --> 00:11:07.250 >> SPEAKER 3: Uh-oh. 00:11:07.250 --> 00:11:08.272 Look out! 00:11:08.272 --> 00:11:09.290 Let's face it. 00:11:09.290 --> 00:11:10.820 Kids spill stuff. 00:11:10.820 --> 00:11:13.980 But now, parents can relax whenever kids snack. 00:11:13.980 --> 00:11:17.120 Introducing the GyroBowl, the world's first ever 00:11:17.120 --> 00:11:20.550 snack bowl that spins and spins and stuff stays in. 00:11:20.550 --> 00:11:25.145 The GyroBowl is 100% totally, absolutely, kid-proof! 00:11:25.145 --> 00:11:28.587 Just fill the GyroBowl and you're ready to go. 00:11:28.587 --> 00:11:30.170 SPEAKER 4: The magic is in the middle. 00:11:30.170 --> 00:11:32.545 The GyroBowl works just like a bowl. 00:11:32.545 --> 00:11:36.240 >> SPEAKER 3: GyroBowl's inner bowl rotates 360 degrees 00:11:36.240 --> 00:11:39.605 and magically stays open side up, no matter what! 00:11:39.605 --> 00:11:43.510 So the GyroBowl keeps all your snacks inside, however you bounce, 00:11:43.510 --> 00:11:45.020 swing, or fly! 00:11:45.020 --> 00:11:49.126 Now, kids can use the amazing GyroBowl as a super snack contraption. 00:11:49.126 --> 00:11:53.215 Fill it up with raisins or cereal and rev up the action! 00:11:53.215 --> 00:11:56.185 >> SPEAKER 5: Kids loves the amazing GyroBowl because it's fun 00:11:56.185 --> 00:11:58.340 and it never spills! 00:11:58.340 --> 00:12:01.582 >> SPEAKER 3: Pack crackers and grapes and get on with the chase! 00:12:01.582 --> 00:12:04.186 And when mom drives to the store, GyroBowl 00:12:04.186 --> 00:12:06.017 keeps the snacks off the floor. 00:12:06.017 --> 00:12:07.850 DAVID MALAN: Now, you may recall, I recently 00:12:07.850 --> 00:12:10.070 spent time with his CS50's own Colton Ogden. 00:12:10.070 --> 00:12:16.180 And this guy here, the NAO Robot that was loaned to us by CS50's friend 00:12:16.180 --> 00:12:19.040 Professor Radhika Nagpal in the robotics group. 00:12:19.040 --> 00:12:21.040 Now, of course, robots don't all take this form. 00:12:21.040 --> 00:12:23.520 In fact, we recently saw this guy here playing soccer 00:12:23.520 --> 00:12:25.140 with President Barack Obama. 00:12:25.140 --> 00:12:27.560 >> But it turns out that even soccer playing robots 00:12:27.560 --> 00:12:28.850 can come in different forms. 00:12:28.850 --> 00:12:32.080 In fact, pictured here are two custom made robots 00:12:32.080 --> 00:12:35.580 by Professor Radhika Nagpal's research group, with whom we sat down recently 00:12:35.580 --> 00:12:40.340 to better understand how they and you can build your own soccer playing 00:12:40.340 --> 00:12:42.960 robots and pit them in competition against each other 00:12:42.960 --> 00:12:46.185 in an international RoboCup competition. 00:12:46.185 --> 00:12:47.810 RADHIKA NAGPAL: My name Radhika Nagpal. 00:12:47.810 --> 00:12:50.420 I'm a professor at Harvard University. 00:12:50.420 --> 00:12:52.570 And I do bio-inspired robotics. 00:12:52.570 --> 00:12:56.379 So I'm really interested in how groups can work together really well. 00:12:56.379 --> 00:12:58.170 ERIC SCHLUNTZ: So my name is Eric Schluntz. 00:12:58.170 --> 00:13:00.520 I'm studying electrical engineering at Harvard University, 00:13:00.520 --> 00:13:00.970 >> KATE DONAHUE: I'm Kate Donahue. 00:13:00.970 --> 00:13:04.550 I'm a sophomore at Harvard College and concentrating in math and physics. 00:13:04.550 --> 00:13:06.360 So I'm part of RFC Cambridge. 00:13:06.360 --> 00:13:08.250 It's a joint Harvard/MIT team. 00:13:08.250 --> 00:13:10.294 We basically build robots that play soccer. 00:13:10.294 --> 00:13:13.210 RADHIKA NAGPAL: So the challenge of the RoboCup competition-- and it's 00:13:13.210 --> 00:13:16.510 an international competition that was started by people in the US 00:13:16.510 --> 00:13:22.760 and Japan actually-- is to create a team of robots that can play and possibly 00:13:22.760 --> 00:13:25.077 win against the world champions at the world cup. 00:13:25.077 --> 00:13:27.410 KATE DONAHUE: There are teams from all around the world. 00:13:27.410 --> 00:13:29.910 And because we're so far spread out, it's really hard for us 00:13:29.910 --> 00:13:31.800 to get to test the robots against each other. 00:13:31.800 --> 00:13:34.560 So it's basically just sort of like a soccer match. 00:13:34.560 --> 00:13:37.550 There will be some round robin games and then a final competition. 00:13:37.550 --> 00:13:40.290 And it's a chance to see how our robots stack up 00:13:40.290 --> 00:13:42.740 against others and just exchange ideas. 00:13:42.740 --> 00:13:46.480 >> RADHIKA NAGPAL: If you think about little kids playing soccer and older 00:13:46.480 --> 00:13:49.050 people playing soccer and think about the difference, 00:13:49.050 --> 00:13:54.040 like all the things that a little kid cannot do that an older person can, 00:13:54.040 --> 00:13:56.310 computer science has to fill that whole gap. 00:13:56.310 --> 00:13:58.380 >> ERIC SCHLUNTZ: So you could say, I want the robot 00:13:58.380 --> 00:14:00.030 to go behind the ball to set up for a shot. 00:14:00.030 --> 00:14:02.155 But what you really have to tell the computer to do 00:14:02.155 --> 00:14:07.474 is find the vector between the ball and the goal and go there, minus an offset. 00:14:07.474 --> 00:14:10.640 And you really need the computer science people to express yourself in a way 00:14:10.640 --> 00:14:11.932 that the robots can understand. 00:14:11.932 --> 00:14:14.556 KATE DONAHUE: We all work on very different parts of the robot, 00:14:14.556 --> 00:14:16.080 but we really need to coordinate. 00:14:16.080 --> 00:14:20.720 It's a big challenge and it's great when we all work on something together. 00:14:20.720 --> 00:14:22.560 So we'll build the mechanical part of it, 00:14:22.560 --> 00:14:25.484 and then the electrical engineers will make the circuit boards, 00:14:25.484 --> 00:14:28.150 and the computer science people will have done their simulations 00:14:28.150 --> 00:14:30.850 and then try and figure out how they can combine that and make 00:14:30.850 --> 00:14:32.500 the robot actually move. 00:14:32.500 --> 00:14:35.880 >> RADHIKA NAGPAL: I think really robotics is often about iteration. 00:14:35.880 --> 00:14:37.460 You do take one step forward. 00:14:37.460 --> 00:14:39.140 You take two steps back. 00:14:39.140 --> 00:14:40.680 You try to make one thing better. 00:14:40.680 --> 00:14:42.430 It makes something else worse. 00:14:42.430 --> 00:14:45.471 >> ERIC SCHLUNTZ: On the computer science team, we've made a lot of progress 00:14:45.471 --> 00:14:46.850 on our artificial intelligence. 00:14:46.850 --> 00:14:48.926 We threw out all the old strategy code and have 00:14:48.926 --> 00:14:51.460 been making something that's much more adaptive to how 00:14:51.460 --> 00:14:53.260 the other team is playing. 00:14:53.260 --> 00:14:56.400 So on defense, we do things like ranking the most dangerous players 00:14:56.400 --> 00:14:59.535 and covering them in a man to man defense based on that. 00:14:59.535 --> 00:15:02.785 And then our offense, we generate these maps over the entire field of how good 00:15:02.785 --> 00:15:06.017 the spot is and then assign our robots to these dynamically. 00:15:06.017 --> 00:15:07.850 RADHIKA NAGPAL: They need to be able to see. 00:15:07.850 --> 00:15:10.580 They need to be able to understand the world. 00:15:10.580 --> 00:15:13.720 They need to be able to move fast and turn and manipulate. 00:15:13.720 --> 00:15:15.740 They need to be able to notice their teammates 00:15:15.740 --> 00:15:18.150 and understand what they're doing. 00:15:18.150 --> 00:15:20.390 They need to have a strategy. 00:15:20.390 --> 00:15:23.120 And they need to adapt their strategy because their opponent will 00:15:23.120 --> 00:15:24.590 be doing things all the time. 00:15:24.590 --> 00:15:26.742 And so you can't have a pre-determined plan. 00:15:26.742 --> 00:15:27.950 You have to be able to adapt. 00:15:27.950 --> 00:15:29.110 >> KATE DONAHUE: Since last year's competition, 00:15:29.110 --> 00:15:32.239 we've done a lot of advances, especially in the wheel design. 00:15:32.239 --> 00:15:34.280 We've shifted the motors down and made everything 00:15:34.280 --> 00:15:37.590 much more compact, which has allowed us to move our center of gravity 00:15:37.590 --> 00:15:40.047 down, which allows us to go faster and also put 00:15:40.047 --> 00:15:42.630 in a dribbler, which is something we've wanted for a long time 00:15:42.630 --> 00:15:44.672 but just haven't been able to make fit until now. 00:15:44.672 --> 00:15:47.046 ERIC SCHLUNTZ: So each of the circuit boards on the robot 00:15:47.046 --> 00:15:48.410 has a different purpose. 00:15:48.410 --> 00:15:54.490 The four big ones, there, there, and there, each control one of the motors. 00:15:54.490 --> 00:15:58.120 So that basically takes a signal from the computer, 00:15:58.120 --> 00:16:00.840 decides how fast the wheel should spin, and sends 00:16:00.840 --> 00:16:03.102 the correct voltage to the wheels to do that. 00:16:03.102 --> 00:16:06.310 So like this board here controls this motor and this one 00:16:06.310 --> 00:16:08.500 here controls this motor. 00:16:08.500 --> 00:16:10.940 >> We also have these two boards in the middle. 00:16:10.940 --> 00:16:17.110 This one right here controls charging these big capacitors for the kicker. 00:16:17.110 --> 00:16:22.290 This board here controls when the robot kicks by using this light sensor right 00:16:22.290 --> 00:16:24.310 here to see when the ball is in front of it. 00:16:24.310 --> 00:16:28.156 It also controls the dribbler here which we use to put backspin on the ball 00:16:28.156 --> 00:16:29.530 so we can move backwards with it. 00:16:29.530 --> 00:16:31.170 >> KATE DONAHUE: It's not just you're trying to win. 00:16:31.170 --> 00:16:33.045 It's that you're trying to advance knowledge. 00:16:33.045 --> 00:16:35.750 And so you work on whatever you work on and then you 00:16:35.750 --> 00:16:38.950 have to release a paper saying exactly what you did that's so cool, 00:16:38.950 --> 00:16:42.000 and how other people can do that and they can build on your work. 00:16:42.000 --> 00:16:45.170 And so if there's something so advanced that someone comes up with, 00:16:45.170 --> 00:16:47.890 everybody can sort of draw on that. 00:16:47.890 --> 00:16:51.750 >> You can have that for one year and maybe nobody else can use it for that year. 00:16:51.750 --> 00:16:54.682 But then the next year, everybody will have modified it 00:16:54.682 --> 00:16:55.890 and have done the same thing. 00:16:55.890 --> 00:17:00.130 So it's really just moving forwards and not staying in the same place. 00:17:00.130 --> 00:17:03.719 >> ERIC SCHLUNTZ: I definitely want to be working on robotics in my career. 00:17:03.719 --> 00:17:05.760 I think that there's just a lot of amazing things 00:17:05.760 --> 00:17:08.810 that can be done to automate things, to make cars safer, 00:17:08.810 --> 00:17:12.490 to make just really everything work automatically so that people don't have 00:17:12.490 --> 00:17:16.069 to do things that are dangerous or dull. 00:17:16.069 --> 00:17:19.109 There's just so many things that robots can do better than people. 00:17:19.109 --> 00:17:22.769 And I think that as a society we need to start doing those to free people up 00:17:22.769 --> 00:17:25.020 to do more interesting things. 00:17:25.020 --> 00:17:28.750 >> DAVID MALAN: This is indeed our season finale and our 10th of 10 episodes. 00:17:28.750 --> 00:17:31.980 And it's truly remarkable how in just 10 episodes 00:17:31.980 --> 00:17:33.530 how many mistakes we have made. 00:17:33.530 --> 00:17:36.930 In fact, CS50's own Shelley Westover-- whom you may recall from such films 00:17:36.930 --> 00:17:41.370 as-- recently went through hours of footage of both live episodes 00:17:41.370 --> 00:17:44.780 and rehearsals thereof to find some of our favorite memories 00:17:44.780 --> 00:17:47.190 to share them with you. 00:17:47.190 --> 00:17:47.940 >> Hello world. 00:17:47.940 --> 00:17:50.694 This is CS50 Live. 00:17:50.694 --> 00:17:53.610 So if you see me trip, if you see me misspeak, if you see me screw up, 00:17:53.610 --> 00:17:57.885 all of that is happening literally right now in Cambridge, Massachusetts. 00:17:57.885 --> 00:17:58.965 Oh, hi world. 00:17:58.965 --> 00:18:00.040 Drum roll. 00:18:00.040 --> 00:18:04.800 Persp-- uh, persec-- pause the video if you would like. [INAUDIBLE]. 00:18:04.800 --> 00:18:05.340 [STUTTERING] 00:18:05.340 --> 00:18:10.580 >> Is Mark Zunkerburn's favorite pa-- to protect our nuclear missile. 00:18:10.580 --> 00:18:11.990 Keeping an eye as usual. 00:18:11.990 --> 00:18:13.350 Bugle itself. 00:18:13.350 --> 00:18:13.850 Gaggles. 00:18:13.850 --> 00:18:14.880 Good episude for you. 00:18:14.880 --> 00:18:17.640 It's actually quite-- Ah, it ends. 00:18:17.640 --> 00:18:18.850 You may recall. 00:18:18.850 --> 00:18:20.330 Head to this UR here. 00:18:20.330 --> 00:18:21.330 >> SPEAKER 6: This is CS50. 00:18:21.330 --> 00:18:22.255 Ah. 00:18:22.255 --> 00:18:24.130 DAVID MALAN: And now I made the blooper reel. 00:18:24.130 --> 00:18:24.630 Fantastic. 00:18:28.369 --> 00:18:29.910 SPEAKER 7: Should we redo the ending? 00:18:29.910 --> 00:18:31.800 How should we do the ending? 00:18:31.800 --> 00:18:34.924 >> DAVID MALAN: Photos of Jason Hirschhorn dressed as a punmpkin. 00:18:34.924 --> 00:18:35.715 SPEAKER 8: Oh, boy. 00:18:35.715 --> 00:18:37.070 I don't know if I want people to see that. 00:18:37.070 --> 00:18:37.736 >> DAVID MALAN: No. 00:18:37.736 --> 00:18:41.371 Now it's photos of Jason Hirsch dressed as a boy. 00:18:41.371 --> 00:18:44.120 SPEAKER 9: And if you're interested, I can actually show you how-- 00:18:44.120 --> 00:18:45.010 DAVID MALAN: Yeah, absolutely. 00:18:45.010 --> 00:18:47.140 SPEAKER 9: He's a little off-balance this morning. 00:18:47.140 --> 00:18:49.411 He hasn't had his coffee yet. 00:18:49.411 --> 00:18:51.896 >> SPEAKER 10: Whoa! 00:18:51.896 --> 00:18:52.890 Oh god. 00:18:57.860 --> 00:18:59.470 >> DAVID MALAN: From-- where's he from? 00:18:59.470 --> 00:19:01.350 >> SPEAKER 11: Right about-- right where my arm is, 00:19:01.350 --> 00:19:02.933 you can see like the white characters. 00:19:02.933 --> 00:19:03.676 There's the pole. 00:19:03.676 --> 00:19:06.342 DAVID MALAN: They don't know that's the-- you should point here. 00:19:06.342 --> 00:19:06.966 SPEAKER 11: Oh. 00:19:14.625 --> 00:19:16.125 >> DAVID MALAN: Can you hear me, world? 00:19:16.125 --> 00:19:17.208 RAMON GALVAN: Hello world. 00:19:17.208 --> 00:19:18.280 Welcome to CS50 Live. 00:19:18.280 --> 00:19:19.910 I'm Ramon Galvan. 00:19:19.910 --> 00:19:23.200 >> DAVID MALAN: And-- and I'm David Malan. 00:19:23.200 --> 00:19:26.050 >> RAMON GALVAN: And today, I'm hosting today's episode. 00:19:26.050 --> 00:19:27.892 >> DAVID MALAN: Well, with me. 00:19:27.892 --> 00:19:28.600 RAMON GALVAN: OK. 00:19:28.600 --> 00:19:29.500 OK. 00:19:29.500 --> 00:19:30.210 Oh, [BLEEP] 00:19:30.210 --> 00:19:31.984 >> SPEAKER 12: Don't say [BLEEP] on the air! 00:19:31.984 --> 00:19:34.400 RAMON GALVAN: Oh, [BLEEP] He'll be the Robin to my Batman, 00:19:34.400 --> 00:19:37.205 the Andy Richter to my Conan, the Cheech to my Chong today. 00:19:37.205 --> 00:19:39.830 This is most definitely a serious thing that we're doing today. 00:19:39.830 --> 00:19:40.992 This is not a joke. 00:19:40.992 --> 00:19:43.950 Dropbox has been quite a fuss lately because I know nothing about this. 00:19:43.950 --> 00:19:44.940 What is this about? 00:19:44.940 --> 00:19:46.300 That was all above me. 00:19:46.300 --> 00:19:51.082 And this is something I don't know of. 00:19:51.082 --> 00:19:54.189 We also take a tour of third glass-- third deg-- 00:19:54.189 --> 00:19:55.230 DAVID MALAN: Right there. 00:19:55.230 --> 00:19:58.326 It allows you to swipe credit cards on your iPhone in order 00:19:58.326 --> 00:20:00.034 to process payments. 00:20:00.034 --> 00:20:01.450 RAMON GALVAN: I have a flip phone. 00:20:01.450 --> 00:20:03.378 Let's play the clip. 00:20:03.378 --> 00:20:05.306 One, two-- 00:20:05.306 --> 00:20:07.029 >> DAVID MALAN: That was the first ever. 00:20:07.029 --> 00:20:07.820 RAMON GALVAN: What? 00:20:07.820 --> 00:20:08.800 DAVID MALAN: That was the first ever. 00:20:08.800 --> 00:20:09.010 RAMON GALVAN: OK. 00:20:09.010 --> 00:20:10.195 To host the first ever-- 00:20:12.727 --> 00:20:14.810 DAVID MALAN: I was in graduate school at the time. 00:20:14.810 --> 00:20:16.476 RAMON GALVAN: And I was in fourth grade. 00:20:16.476 --> 00:20:18.809 Although I love Zamyla, I would much rather not spend-- 00:20:18.809 --> 00:20:20.725 DAVID MALAN: Spend half as much time with her. 00:20:20.725 --> 00:20:21.641 RAMON GALVAN: Exactly. 00:20:27.580 --> 00:20:29.640 >> DAVID MALAN: Come on out, Zamyla! 00:20:29.640 --> 00:20:33.616 This was CS50, and this was terrifying. 00:20:33.616 --> 00:20:34.990 RAMON GALVAN: This is terrifying. 00:20:34.990 --> 00:20:39.750 Made a little sizzle roll to encapsulate the debauchery that took place. 00:20:39.750 --> 00:20:41.003 >> DAVID MALAN: I love you. 00:20:41.003 --> 00:20:41.690 Aww. 00:20:41.690 --> 00:20:43.300 >> RAMON GALVAN: I love you. 00:20:43.300 --> 00:20:45.836 Unlike David, who circles you. 00:20:50.015 --> 00:20:51.390 DAVID MALAN: Where are my slides? 00:20:51.390 --> 00:20:53.810 Oh. 00:20:53.810 --> 00:20:55.359 That's it for CS50 Live. 00:20:55.359 --> 00:20:57.150 Thanks so much to this week's contributors, 00:20:57.150 --> 00:21:00.040 to every one behind the camera, and thank you to you 00:21:00.040 --> 00:21:02.520 for tuning in this whole season. 00:21:02.520 --> 00:21:04.622 This was CS50. 00:21:04.622 --> 00:21:08.824 >> [MUSIC - SEMISONIC, "CLOSING TIME"]