1 00:00:00,000 --> 00:00:00,688 2 00:00:00,688 --> 00:00:03,562 [MUSIC - RANDY ROGERS BAND, "TONIGHT'S NOT THE NIGHT (FOR GOODBYE)"] 3 00:00:03,562 --> 00:00:21,589 4 00:00:21,589 --> 00:00:22,630 DAVID MALAN: Hello world. 5 00:00:22,630 --> 00:00:26,430 This is CS50 Live and this is our season finale. 6 00:00:26,430 --> 00:00:28,620 But boy do we have a good episode for you today, 7 00:00:28,620 --> 00:00:32,990 in particular, the latest in image stabilization, robo soccer, 8 00:00:32,990 --> 00:00:36,410 and ultimately, a look back at CS50 Live itself. 9 00:00:36,410 --> 00:00:39,600 Now you may recall that desk lamps have been a bit of a thing this year. 10 00:00:39,600 --> 00:00:43,060 In fact, this was kind of a spontaneous introduction to CS50's week zero 11 00:00:43,060 --> 00:00:44,940 this past fall 2013. 12 00:00:44,940 --> 00:00:47,730 >> Just a day or so before the very first lecture this past fall, 13 00:00:47,730 --> 00:00:51,250 I decided it would be kind of fun to be able to visualize binary-- zeros 14 00:00:51,250 --> 00:00:54,300 and ones-- and so I headed to CS50's favorite store, Target, 15 00:00:54,300 --> 00:00:56,090 and picked up these desk lamps here. 16 00:00:56,090 --> 00:00:58,890 Now, at the end of the lecture, I found that I didn't really 17 00:00:58,890 --> 00:01:00,460 need these lamps for another year. 18 00:01:00,460 --> 00:01:03,710 And even if I did, it would kind of be an old bit by 2014, 19 00:01:03,710 --> 00:01:05,940 so I offered them up to students in the audience. 20 00:01:05,940 --> 00:01:09,620 >> Now, since then of course, we've been receiving quite a few emails, Facebook 21 00:01:09,620 --> 00:01:14,750 posts, and tweets requesting these same CS50 desk lamps to be sent nationally 22 00:01:14,750 --> 00:01:15,960 and internationally. 23 00:01:15,960 --> 00:01:17,100 And so we did. 24 00:01:17,100 --> 00:01:20,870 And we got back this very nice note from CS50's Luigi Morelli 25 00:01:20,870 --> 00:01:23,000 in Rome, Italy who wrote us this. 26 00:01:23,000 --> 00:01:23,940 "And here I am! 27 00:01:23,940 --> 00:01:25,530 Thanks to CS50 staff. 28 00:01:25,530 --> 00:01:27,930 Hey, look at those four books behind me." 29 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. 30 00:01:31,590 --> 00:01:35,850 And if we enhance, you'll see that it's a canonical set of computer science 31 00:01:35,850 --> 00:01:38,030 books by a very renowned computer scientist known 32 00:01:38,030 --> 00:01:41,100 as Donald Knuth who wrote, The Art of Programming. 33 00:01:41,100 --> 00:01:44,870 So if you yourself were looking to build your own collection of computer science 34 00:01:44,870 --> 00:01:48,780 canon, go ahead and take a look at The Art of Programming. 35 00:01:48,780 --> 00:01:52,580 >> Now, meanwhile, if we take a look at videos that some of your classmates 36 00:01:52,580 --> 00:01:56,680 have submitted, we will see the first one from Rian from India. 37 00:01:56,680 --> 00:01:57,180 Hi. 38 00:01:57,180 --> 00:01:59,105 I'm Rian [INAUDIBLE] from India. 39 00:01:59,105 --> 00:02:01,940 And I'm taking CS50 online [INAUDIBLE]. 40 00:02:01,940 --> 00:02:04,410 And the reason I want the lamp is basically 41 00:02:04,410 --> 00:02:06,910 because I don't have a lamp at all and I really 42 00:02:06,910 --> 00:02:10,519 need one as I'm doing [INAUDIBLE] for [INAUDIBLE] and all this stuff. 43 00:02:10,519 --> 00:02:14,400 And I don't have a desk lamp or anything like that. 44 00:02:14,400 --> 00:02:17,000 So it would be really great if you guys would send me one. 45 00:02:17,000 --> 00:02:20,750 I'm Rian [INAUDIBLE], and this is CS50. 46 00:02:20,750 --> 00:02:22,750 DAVID MALAN: Now, your next classmate, Mauricio, 47 00:02:22,750 --> 00:02:24,590 you may recall from a previous video. 48 00:02:24,590 --> 00:02:27,230 But this time, Mauricio decided to take it up a notch 49 00:02:27,230 --> 00:02:30,580 and actually deliver his own lecture for week zero. 50 00:02:30,580 --> 00:02:34,324 51 00:02:34,324 --> 00:02:37,090 >> MAURICIO RADA: So this is CS50. 52 00:02:37,090 --> 00:02:42,050 My name is Mauricio Rada, and 73% have no prior experience 53 00:02:42,050 --> 00:02:46,300 in computer science, contrary to what you might think. 54 00:02:46,300 --> 00:02:50,120 So today, we thought we would chip away at that lack of familiarity, 55 00:02:50,120 --> 00:02:54,920 but also give you a sense of, for those of you with more comfort, which 56 00:02:54,920 --> 00:02:57,420 directions you can go this semester. 57 00:02:57,420 --> 00:02:58,860 >> So let us start with this. 58 00:02:58,860 --> 00:03:03,572 I have these little desk lamps here, so-- oh. 59 00:03:03,572 --> 00:03:05,280 We haven't any desk lamp here. 60 00:03:05,280 --> 00:03:06,470 We can't go on. 61 00:03:06,470 --> 00:03:09,250 So you will have to end this lab here. 62 00:03:09,250 --> 00:03:13,500 This is not CS50. 63 00:03:13,500 --> 00:03:14,560 >> At the next CS50-- 64 00:03:14,560 --> 00:03:17,680 65 00:03:17,680 --> 00:03:20,170 >> DAVID MALAN: And lastly, is Sid, also from India, 66 00:03:20,170 --> 00:03:24,800 who actually decided to create for us his own song. 67 00:03:24,800 --> 00:03:28,790 >> SID: Hi, I'm Sid, and I'm from India. 68 00:03:28,790 --> 00:03:32,980 I want a desk lamp because-- how about I put it this way. 69 00:03:32,980 --> 00:03:38,348 70 00:03:38,348 --> 00:03:41,276 >> [MUSIC PLAYING] 71 00:03:41,276 --> 00:03:48,620 72 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. 73 00:03:58,175 --> 00:04:02,320 So I'm making this video to show you guys 74 00:04:02,320 --> 00:04:06,110 why I deserve a brand new desk lamp. 75 00:04:06,110 --> 00:04:08,850 So it goes like this. 76 00:04:08,850 --> 00:04:13,190 I get yelled at every night for not switching off the lights. 77 00:04:13,190 --> 00:04:15,773 78 00:04:15,773 --> 00:04:17,314 SPEAKER 2: Switch off the light, man! 79 00:04:17,314 --> 00:04:19,170 SID: Just a second. 80 00:04:19,170 --> 00:04:24,574 Whether I'm writing lyrics or coding some [INAUDIBLE]. 81 00:04:24,574 --> 00:04:26,490 SPEAKER 2: Dude, I'm switching off the lights. 82 00:04:26,490 --> 00:04:27,850 SID: Five minutes. 83 00:04:27,850 --> 00:04:29,580 Just five minutes. 84 00:04:29,580 --> 00:04:32,250 One love for CS50. 85 00:04:32,250 --> 00:04:35,080 One love for the desk lamps. 86 00:04:35,080 --> 00:04:35,846 One love. 87 00:04:35,846 --> 00:04:39,600 If I don't get one, I won't survive. 88 00:04:39,600 --> 00:04:42,500 So please give me a desk lamp. 89 00:04:42,500 --> 00:04:44,680 Darkness makes me wet my pants. 90 00:04:44,680 --> 00:04:47,730 Please give me a desk lamp. 91 00:04:47,730 --> 00:04:49,260 Desk lamp is all I need. 92 00:04:49,260 --> 00:04:57,470 93 00:04:57,470 --> 00:04:59,177 I hope you like it. 94 00:04:59,177 --> 00:05:01,260 DAVID MALAN: Now lest I be shamed on the internet, 95 00:05:01,260 --> 00:05:04,880 it's CS50 that's an introduction to the intellectual enterprises of computer 96 00:05:04,880 --> 00:05:06,710 science and the art of programming. 97 00:05:06,710 --> 00:05:09,610 But Professor Donald Knuth's books, if you would like to Google 98 00:05:09,610 --> 00:05:13,280 and find them yourself, are The Art of Computer Programming. 99 00:05:13,280 --> 00:05:17,090 >> Now, you may recall that CS50 recently participated in this, a 48 hour film 100 00:05:17,090 --> 00:05:19,950 project wherein CS50 had just 48 hours to create 101 00:05:19,950 --> 00:05:22,580 a short film with a few required elements. 102 00:05:22,580 --> 00:05:25,560 Now, one of the scenes from that film was this one here 103 00:05:25,560 --> 00:05:27,570 wherein Daven was desperately running along 104 00:05:27,570 --> 00:05:31,540 the Charles River near Harvard trying to just say hello. 105 00:05:31,540 --> 00:05:34,710 Now, what you might not have realized is that running in front of these two 106 00:05:34,710 --> 00:05:36,170 were actually three guys. 107 00:05:36,170 --> 00:05:38,460 In fact, pictured here is some of CS50's team. 108 00:05:38,460 --> 00:05:42,600 And if we zoom in, you'll see Ian holding the camera, Patrick holding 109 00:05:42,600 --> 00:05:44,880 Ian, and Dan directing the scene. 110 00:05:44,880 --> 00:05:48,330 >> Now, in fairness, if we zoom out, you'll see CS50's own Ramon 111 00:05:48,330 --> 00:05:50,490 Galvan who was just running. 112 00:05:50,490 --> 00:05:52,610 Now, what Ian was holding with the camera 113 00:05:52,610 --> 00:05:54,560 was this device here which performs something 114 00:05:54,560 --> 00:05:58,160 called image stabilization which is the technology with which we were keeping 115 00:05:58,160 --> 00:06:01,930 that shot along the river so relatively steady even though those guys were 116 00:06:01,930 --> 00:06:03,290 all running backwards. 117 00:06:03,290 --> 00:06:06,852 Now, you might know of this kind of technology from yesteryear. 118 00:06:06,852 --> 00:06:08,810 In fact, if you grew up with the so-called gyro 119 00:06:08,810 --> 00:06:11,130 bowl, which looked a little something like this, this 120 00:06:11,130 --> 00:06:15,160 is a very simple device that essentially spins on three axes 121 00:06:15,160 --> 00:06:18,310 so that you have some cereal inside of this bowl, in theory, 122 00:06:18,310 --> 00:06:20,830 it should never fall out because the handles will always 123 00:06:20,830 --> 00:06:23,570 keep the bowl itself in an upright position. 124 00:06:23,570 --> 00:06:25,570 Now, I recently had an opportunity to spend time 125 00:06:25,570 --> 00:06:29,600 with CS50's own Dan Coffey, who went into more technical detail as to how 126 00:06:29,600 --> 00:06:34,040 more modern image stabilization works. 127 00:06:34,040 --> 00:06:37,130 >> So I'm here with CS50's own Dan Coffey, jogging 128 00:06:37,130 --> 00:06:39,330 along the Charles River on Harvard's campus. 129 00:06:39,330 --> 00:06:41,755 Now if Dan were just using a camera to shoot this, 130 00:06:41,755 --> 00:06:44,670 the image would be pretty shaky, definitely not stable. 131 00:06:44,670 --> 00:06:50,070 He's using a technique called image stabilization which should, hopefully, 132 00:06:50,070 --> 00:06:51,806 be stabilizing the image. 133 00:06:51,806 --> 00:06:54,200 Can we shoot the rest of this inside? 134 00:06:54,200 --> 00:06:57,530 135 00:06:57,530 --> 00:06:58,070 >> OK. 136 00:06:58,070 --> 00:06:59,030 Image stabilization. 137 00:06:59,030 --> 00:06:59,720 What is it? 138 00:06:59,720 --> 00:07:00,449 How does it work? 139 00:07:00,449 --> 00:07:02,740 DAN COFFEY: So for many years, the TV and film industry 140 00:07:02,740 --> 00:07:05,430 have been trying to get more dynamic shots by introducing movement, 141 00:07:05,430 --> 00:07:07,304 but it's a challenge to keep them stabilized. 142 00:07:07,304 --> 00:07:10,780 You've seen The West Wing maybe where they do the walk and talk shot? 143 00:07:10,780 --> 00:07:13,620 And basically what they use for that is a steady cam, 144 00:07:13,620 --> 00:07:15,640 which is a big rig that you wear. 145 00:07:15,640 --> 00:07:19,854 It's a vest with an arm that isolates the camera from the user and counter 146 00:07:19,854 --> 00:07:21,395 balances it with a series of weights. 147 00:07:21,395 --> 00:07:23,103 But it takes a really long time to set up 148 00:07:23,103 --> 00:07:25,000 and it's very complicated to actually use. 149 00:07:25,000 --> 00:07:28,130 >> There are new developments in software that you can use where you can make 150 00:07:28,130 --> 00:07:31,074 adjustments in Mac or PC which sometimes work, sometimes they don't. 151 00:07:31,074 --> 00:07:33,240 But one of the latest developments is actually this. 152 00:07:33,240 --> 00:07:34,720 This is the MoVI M10. 153 00:07:34,720 --> 00:07:38,490 It's a really neat piece of equipment from our friends at Freefly Systems. 154 00:07:38,490 --> 00:07:41,491 And basically, it uses a series of gimbal axes to stabilize your camera. 155 00:07:41,491 --> 00:07:42,698 DAVID MALAN: What's a gimbal? 156 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 157 00:07:46,380 --> 00:07:49,970 and basically isolates each direction, either the x, the y, or the z. 158 00:07:49,970 --> 00:07:52,420 And really just makes it very smooth and fluid. 159 00:07:52,420 --> 00:07:55,850 So this M10 is a large gimbal and has three axes on it-- 160 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 161 00:08:00,420 --> 00:08:01,110 for the pan. 162 00:08:01,110 --> 00:08:03,490 And I can actually show you if you want to see how these actually work. 163 00:08:03,490 --> 00:08:03,760 >> DAVID MALAN: Yeah, sure. 164 00:08:03,760 --> 00:08:05,110 >> DAN COFFEY: So if you look here in the software, 165 00:08:05,110 --> 00:08:06,680 this is their Freefly Configurator. 166 00:08:06,680 --> 00:08:09,680 And it's basically outputting diagnostic information right now. 167 00:08:09,680 --> 00:08:12,214 But you see we have motor tilt, motor roll, and motor pan. 168 00:08:12,214 --> 00:08:14,130 And as I actually pan the camera, you're going 169 00:08:14,130 --> 00:08:15,910 to see the blue lines start to go up and down. 170 00:08:15,910 --> 00:08:16,576 >> DAVID MALAN: OK. 171 00:08:16,576 --> 00:08:17,775 So that represents the-- 172 00:08:17,775 --> 00:08:20,340 >> DAN COFFEY: It's the resistance of the motor pushing back 173 00:08:20,340 --> 00:08:22,570 against me because the M10 always wants to come back 174 00:08:22,570 --> 00:08:23,370 to rest in the same position. 175 00:08:23,370 --> 00:08:23,600 >> DAVID MALAN: OK. 176 00:08:23,600 --> 00:08:25,850 So the taller, the lower the bar, the more resistance. 177 00:08:25,850 --> 00:08:29,350 DAN COFFEY: Yeah, the more intensity that the motor's using to fight me. 178 00:08:29,350 --> 00:08:32,219 If I tilt, you can see the red line doing the same thing. 179 00:08:32,219 --> 00:08:32,844 And then roll-- 180 00:08:32,844 --> 00:08:34,120 >> DAVID MALAN: The green line up and down. 181 00:08:34,120 --> 00:08:36,600 >> DAN COFFEY: So these are the three axes we're stabilizing against. 182 00:08:36,600 --> 00:08:38,690 And so this is not normally how you would operate it, right? 183 00:08:38,690 --> 00:08:40,289 So if I actually pick this up-- and here, 184 00:08:40,289 --> 00:08:41,260 why don't you actually hang on to it. 185 00:08:41,260 --> 00:08:42,690 >> DAVID MALAN: Yeah, sure. 186 00:08:42,690 --> 00:08:43,429 Thank you. 187 00:08:43,429 --> 00:08:45,410 >> DAN COFFEY: And now you can see how little 188 00:08:45,410 --> 00:08:47,740 the camera moves when you hit the edge. 189 00:08:47,740 --> 00:08:49,987 The window, if you will, it starts to pan with you. 190 00:08:49,987 --> 00:08:51,820 That's actually set in the software as well. 191 00:08:51,820 --> 00:08:52,210 >> DAVID MALAN: I see. 192 00:08:52,210 --> 00:08:53,520 >> DAN COFFEY: But there's another really neat feature. 193 00:08:53,520 --> 00:08:56,830 If you are in a more complicated shoot, you can turn on this remote, 194 00:08:56,830 --> 00:09:00,590 have a second camera operator actually do the nitty gritty control. 195 00:09:00,590 --> 00:09:02,660 So I can now pan, flex this control. 196 00:09:02,660 --> 00:09:05,270 I can tilt and I can actually roll. 197 00:09:05,270 --> 00:09:09,160 So in this set-up, you would actually be the one moving the camera physically 198 00:09:09,160 --> 00:09:11,160 and I would connect a wireless video transmitter 199 00:09:11,160 --> 00:09:13,900 to the camera, put a receiver here on a monitor, 200 00:09:13,900 --> 00:09:17,740 and then I could actually, just like a video game, operate the camera for you. 201 00:09:17,740 --> 00:09:18,896 >> DAVID MALAN: Nice. 202 00:09:18,896 --> 00:09:20,720 >> DAN COFFEY: So I'll put it back in single operator mode, 203 00:09:20,720 --> 00:09:22,810 but you can get a sense of how smooth it actually is. 204 00:09:22,810 --> 00:09:24,230 >> DAVID MALAN: Yeah, no, absolutely. 205 00:09:24,230 --> 00:09:26,290 And I have an idea. 206 00:09:26,290 --> 00:09:27,107 Want to follow me? 207 00:09:27,107 --> 00:09:27,815 DAN COFFEY: Sure. 208 00:09:27,815 --> 00:09:29,770 DAVID MALAN: OK. 209 00:09:29,770 --> 00:09:33,280 So we're here in the bathroom to test out some actual image stabilization 210 00:09:33,280 --> 00:09:36,000 in front of, well, the only mirror we have. 211 00:09:36,000 --> 00:09:39,310 And I thought it'd be interesting to see just how much the camera moves when 212 00:09:39,310 --> 00:09:42,055 I actually move my arms up, down, left and right. 213 00:09:42,055 --> 00:09:43,930 DAN COFFEY: So let's see the pan, tilt, roll. 214 00:09:43,930 --> 00:09:44,888 DAVID MALAN: All right. 215 00:09:44,888 --> 00:09:46,136 Here we go. 216 00:09:46,136 --> 00:09:47,959 I'm really moving it. 217 00:09:47,959 --> 00:09:50,250 DAN COFFEY: So I see a little bit movement, but I mean, 218 00:09:50,250 --> 00:09:52,300 you would never operate it like that either. 219 00:09:52,300 --> 00:09:54,710 >> DAVID MALAN: No, definitely not. 220 00:09:54,710 --> 00:09:58,684 221 00:09:58,684 --> 00:09:59,600 DAN COFFEY: All right. 222 00:09:59,600 --> 00:10:01,130 So David, let's get serious this time. 223 00:10:01,130 --> 00:10:02,900 We'll do a test where you actually go up the stairs 224 00:10:02,900 --> 00:10:04,620 and I will lead you with the stabilized MoVI, 225 00:10:04,620 --> 00:10:06,360 and Andrew will actually come next to me. 226 00:10:06,360 --> 00:10:07,310 Come on over Andrew. 227 00:10:07,310 --> 00:10:08,965 And we'll see what it looks like side-by-side. 228 00:10:08,965 --> 00:10:09,510 >> DAVID MALAN: Got it. 229 00:10:09,510 --> 00:10:10,370 >> DAN COFFEY: OK. 230 00:10:10,370 --> 00:10:11,050 Here we go. 231 00:10:11,050 --> 00:10:13,648 Ready to go up the stairs in three, two, one, go. 232 00:10:13,648 --> 00:10:27,073 233 00:10:27,073 --> 00:10:27,573 Hi Shelley. 234 00:10:27,573 --> 00:10:30,940 235 00:10:30,940 --> 00:10:32,901 All right, David, why don't you take this? 236 00:10:32,901 --> 00:10:35,150 Take all that you've learned today and put it together 237 00:10:35,150 --> 00:10:36,358 and we'll get the final shot. 238 00:10:36,358 --> 00:10:39,422 239 00:10:39,422 --> 00:10:40,380 DAVID MALAN: All right. 240 00:10:40,380 --> 00:10:41,370 Here we go. 241 00:10:41,370 --> 00:11:02,160 242 00:11:02,160 --> 00:11:06,310 >> DAN COFFEY: And now, 60 seconds of gimbals. 243 00:11:06,310 --> 00:11:07,250 >> SPEAKER 3: Uh-oh. 244 00:11:07,250 --> 00:11:08,272 Look out! 245 00:11:08,272 --> 00:11:09,290 Let's face it. 246 00:11:09,290 --> 00:11:10,820 Kids spill stuff. 247 00:11:10,820 --> 00:11:13,980 But now, parents can relax whenever kids snack. 248 00:11:13,980 --> 00:11:17,120 Introducing the GyroBowl, the world's first ever 249 00:11:17,120 --> 00:11:20,550 snack bowl that spins and spins and stuff stays in. 250 00:11:20,550 --> 00:11:25,145 The GyroBowl is 100% totally, absolutely, kid-proof! 251 00:11:25,145 --> 00:11:28,587 Just fill the GyroBowl and you're ready to go. 252 00:11:28,587 --> 00:11:30,170 SPEAKER 4: The magic is in the middle. 253 00:11:30,170 --> 00:11:32,545 The GyroBowl works just like a bowl. 254 00:11:32,545 --> 00:11:36,240 >> SPEAKER 3: GyroBowl's inner bowl rotates 360 degrees 255 00:11:36,240 --> 00:11:39,605 and magically stays open side up, no matter what! 256 00:11:39,605 --> 00:11:43,510 So the GyroBowl keeps all your snacks inside, however you bounce, 257 00:11:43,510 --> 00:11:45,020 swing, or fly! 258 00:11:45,020 --> 00:11:49,126 Now, kids can use the amazing GyroBowl as a super snack contraption. 259 00:11:49,126 --> 00:11:53,215 Fill it up with raisins or cereal and rev up the action! 260 00:11:53,215 --> 00:11:56,185 >> SPEAKER 5: Kids loves the amazing GyroBowl because it's fun 261 00:11:56,185 --> 00:11:58,340 and it never spills! 262 00:11:58,340 --> 00:12:01,582 >> SPEAKER 3: Pack crackers and grapes and get on with the chase! 263 00:12:01,582 --> 00:12:04,186 And when mom drives to the store, GyroBowl 264 00:12:04,186 --> 00:12:06,017 keeps the snacks off the floor. 265 00:12:06,017 --> 00:12:07,850 DAVID MALAN: Now, you may recall, I recently 266 00:12:07,850 --> 00:12:10,070 spent time with his CS50's own Colton Ogden. 267 00:12:10,070 --> 00:12:16,180 And this guy here, the NAO Robot that was loaned to us by CS50's friend 268 00:12:16,180 --> 00:12:19,040 Professor Radhika Nagpal in the robotics group. 269 00:12:19,040 --> 00:12:21,040 Now, of course, robots don't all take this form. 270 00:12:21,040 --> 00:12:23,520 In fact, we recently saw this guy here playing soccer 271 00:12:23,520 --> 00:12:25,140 with President Barack Obama. 272 00:12:25,140 --> 00:12:27,560 >> But it turns out that even soccer playing robots 273 00:12:27,560 --> 00:12:28,850 can come in different forms. 274 00:12:28,850 --> 00:12:32,080 In fact, pictured here are two custom made robots 275 00:12:32,080 --> 00:12:35,580 by Professor Radhika Nagpal's research group, with whom we sat down recently 276 00:12:35,580 --> 00:12:40,340 to better understand how they and you can build your own soccer playing 277 00:12:40,340 --> 00:12:42,960 robots and pit them in competition against each other 278 00:12:42,960 --> 00:12:46,185 in an international RoboCup competition. 279 00:12:46,185 --> 00:12:47,810 RADHIKA NAGPAL: My name Radhika Nagpal. 280 00:12:47,810 --> 00:12:50,420 I'm a professor at Harvard University. 281 00:12:50,420 --> 00:12:52,570 And I do bio-inspired robotics. 282 00:12:52,570 --> 00:12:56,379 So I'm really interested in how groups can work together really well. 283 00:12:56,379 --> 00:12:58,170 ERIC SCHLUNTZ: So my name is Eric Schluntz. 284 00:12:58,170 --> 00:13:00,520 I'm studying electrical engineering at Harvard University, 285 00:13:00,520 --> 00:13:00,970 >> KATE DONAHUE: I'm Kate Donahue. 286 00:13:00,970 --> 00:13:04,550 I'm a sophomore at Harvard College and concentrating in math and physics. 287 00:13:04,550 --> 00:13:06,360 So I'm part of RFC Cambridge. 288 00:13:06,360 --> 00:13:08,250 It's a joint Harvard/MIT team. 289 00:13:08,250 --> 00:13:10,294 We basically build robots that play soccer. 290 00:13:10,294 --> 00:13:13,210 RADHIKA NAGPAL: So the challenge of the RoboCup competition-- and it's 291 00:13:13,210 --> 00:13:16,510 an international competition that was started by people in the US 292 00:13:16,510 --> 00:13:22,760 and Japan actually-- is to create a team of robots that can play and possibly 293 00:13:22,760 --> 00:13:25,077 win against the world champions at the world cup. 294 00:13:25,077 --> 00:13:27,410 KATE DONAHUE: There are teams from all around the world. 295 00:13:27,410 --> 00:13:29,910 And because we're so far spread out, it's really hard for us 296 00:13:29,910 --> 00:13:31,800 to get to test the robots against each other. 297 00:13:31,800 --> 00:13:34,560 So it's basically just sort of like a soccer match. 298 00:13:34,560 --> 00:13:37,550 There will be some round robin games and then a final competition. 299 00:13:37,550 --> 00:13:40,290 And it's a chance to see how our robots stack up 300 00:13:40,290 --> 00:13:42,740 against others and just exchange ideas. 301 00:13:42,740 --> 00:13:46,480 >> RADHIKA NAGPAL: If you think about little kids playing soccer and older 302 00:13:46,480 --> 00:13:49,050 people playing soccer and think about the difference, 303 00:13:49,050 --> 00:13:54,040 like all the things that a little kid cannot do that an older person can, 304 00:13:54,040 --> 00:13:56,310 computer science has to fill that whole gap. 305 00:13:56,310 --> 00:13:58,380 >> ERIC SCHLUNTZ: So you could say, I want the robot 306 00:13:58,380 --> 00:14:00,030 to go behind the ball to set up for a shot. 307 00:14:00,030 --> 00:14:02,155 But what you really have to tell the computer to do 308 00:14:02,155 --> 00:14:07,474 is find the vector between the ball and the goal and go there, minus an offset. 309 00:14:07,474 --> 00:14:10,640 And you really need the computer science people to express yourself in a way 310 00:14:10,640 --> 00:14:11,932 that the robots can understand. 311 00:14:11,932 --> 00:14:14,556 KATE DONAHUE: We all work on very different parts of the robot, 312 00:14:14,556 --> 00:14:16,080 but we really need to coordinate. 313 00:14:16,080 --> 00:14:20,720 It's a big challenge and it's great when we all work on something together. 314 00:14:20,720 --> 00:14:22,560 So we'll build the mechanical part of it, 315 00:14:22,560 --> 00:14:25,484 and then the electrical engineers will make the circuit boards, 316 00:14:25,484 --> 00:14:28,150 and the computer science people will have done their simulations 317 00:14:28,150 --> 00:14:30,850 and then try and figure out how they can combine that and make 318 00:14:30,850 --> 00:14:32,500 the robot actually move. 319 00:14:32,500 --> 00:14:35,880 >> RADHIKA NAGPAL: I think really robotics is often about iteration. 320 00:14:35,880 --> 00:14:37,460 You do take one step forward. 321 00:14:37,460 --> 00:14:39,140 You take two steps back. 322 00:14:39,140 --> 00:14:40,680 You try to make one thing better. 323 00:14:40,680 --> 00:14:42,430 It makes something else worse. 324 00:14:42,430 --> 00:14:45,471 >> ERIC SCHLUNTZ: On the computer science team, we've made a lot of progress 325 00:14:45,471 --> 00:14:46,850 on our artificial intelligence. 326 00:14:46,850 --> 00:14:48,926 We threw out all the old strategy code and have 327 00:14:48,926 --> 00:14:51,460 been making something that's much more adaptive to how 328 00:14:51,460 --> 00:14:53,260 the other team is playing. 329 00:14:53,260 --> 00:14:56,400 So on defense, we do things like ranking the most dangerous players 330 00:14:56,400 --> 00:14:59,535 and covering them in a man to man defense based on that. 331 00:14:59,535 --> 00:15:02,785 And then our offense, we generate these maps over the entire field of how good 332 00:15:02,785 --> 00:15:06,017 the spot is and then assign our robots to these dynamically. 333 00:15:06,017 --> 00:15:07,850 RADHIKA NAGPAL: They need to be able to see. 334 00:15:07,850 --> 00:15:10,580 They need to be able to understand the world. 335 00:15:10,580 --> 00:15:13,720 They need to be able to move fast and turn and manipulate. 336 00:15:13,720 --> 00:15:15,740 They need to be able to notice their teammates 337 00:15:15,740 --> 00:15:18,150 and understand what they're doing. 338 00:15:18,150 --> 00:15:20,390 They need to have a strategy. 339 00:15:20,390 --> 00:15:23,120 And they need to adapt their strategy because their opponent will 340 00:15:23,120 --> 00:15:24,590 be doing things all the time. 341 00:15:24,590 --> 00:15:26,742 And so you can't have a pre-determined plan. 342 00:15:26,742 --> 00:15:27,950 You have to be able to adapt. 343 00:15:27,950 --> 00:15:29,110 >> KATE DONAHUE: Since last year's competition, 344 00:15:29,110 --> 00:15:32,239 we've done a lot of advances, especially in the wheel design. 345 00:15:32,239 --> 00:15:34,280 We've shifted the motors down and made everything 346 00:15:34,280 --> 00:15:37,590 much more compact, which has allowed us to move our center of gravity 347 00:15:37,590 --> 00:15:40,047 down, which allows us to go faster and also put 348 00:15:40,047 --> 00:15:42,630 in a dribbler, which is something we've wanted for a long time 349 00:15:42,630 --> 00:15:44,672 but just haven't been able to make fit until now. 350 00:15:44,672 --> 00:15:47,046 ERIC SCHLUNTZ: So each of the circuit boards on the robot 351 00:15:47,046 --> 00:15:48,410 has a different purpose. 352 00:15:48,410 --> 00:15:54,490 The four big ones, there, there, and there, each control one of the motors. 353 00:15:54,490 --> 00:15:58,120 So that basically takes a signal from the computer, 354 00:15:58,120 --> 00:16:00,840 decides how fast the wheel should spin, and sends 355 00:16:00,840 --> 00:16:03,102 the correct voltage to the wheels to do that. 356 00:16:03,102 --> 00:16:06,310 So like this board here controls this motor and this one 357 00:16:06,310 --> 00:16:08,500 here controls this motor. 358 00:16:08,500 --> 00:16:10,940 >> We also have these two boards in the middle. 359 00:16:10,940 --> 00:16:17,110 This one right here controls charging these big capacitors for the kicker. 360 00:16:17,110 --> 00:16:22,290 This board here controls when the robot kicks by using this light sensor right 361 00:16:22,290 --> 00:16:24,310 here to see when the ball is in front of it. 362 00:16:24,310 --> 00:16:28,156 It also controls the dribbler here which we use to put backspin on the ball 363 00:16:28,156 --> 00:16:29,530 so we can move backwards with it. 364 00:16:29,530 --> 00:16:31,170 >> KATE DONAHUE: It's not just you're trying to win. 365 00:16:31,170 --> 00:16:33,045 It's that you're trying to advance knowledge. 366 00:16:33,045 --> 00:16:35,750 And so you work on whatever you work on and then you 367 00:16:35,750 --> 00:16:38,950 have to release a paper saying exactly what you did that's so cool, 368 00:16:38,950 --> 00:16:42,000 and how other people can do that and they can build on your work. 369 00:16:42,000 --> 00:16:45,170 And so if there's something so advanced that someone comes up with, 370 00:16:45,170 --> 00:16:47,890 everybody can sort of draw on that. 371 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. 372 00:16:51,750 --> 00:16:54,682 But then the next year, everybody will have modified it 373 00:16:54,682 --> 00:16:55,890 and have done the same thing. 374 00:16:55,890 --> 00:17:00,130 So it's really just moving forwards and not staying in the same place. 375 00:17:00,130 --> 00:17:03,719 >> ERIC SCHLUNTZ: I definitely want to be working on robotics in my career. 376 00:17:03,719 --> 00:17:05,760 I think that there's just a lot of amazing things 377 00:17:05,760 --> 00:17:08,810 that can be done to automate things, to make cars safer, 378 00:17:08,810 --> 00:17:12,490 to make just really everything work automatically so that people don't have 379 00:17:12,490 --> 00:17:16,069 to do things that are dangerous or dull. 380 00:17:16,069 --> 00:17:19,109 There's just so many things that robots can do better than people. 381 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 382 00:17:22,769 --> 00:17:25,020 to do more interesting things. 383 00:17:25,020 --> 00:17:28,750 >> DAVID MALAN: This is indeed our season finale and our 10th of 10 episodes. 384 00:17:28,750 --> 00:17:31,980 And it's truly remarkable how in just 10 episodes 385 00:17:31,980 --> 00:17:33,530 how many mistakes we have made. 386 00:17:33,530 --> 00:17:36,930 In fact, CS50's own Shelley Westover-- whom you may recall from such films 387 00:17:36,930 --> 00:17:41,370 as-- recently went through hours of footage of both live episodes 388 00:17:41,370 --> 00:17:44,780 and rehearsals thereof to find some of our favorite memories 389 00:17:44,780 --> 00:17:47,190 to share them with you. 390 00:17:47,190 --> 00:17:47,940 >> Hello world. 391 00:17:47,940 --> 00:17:50,694 This is CS50 Live. 392 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, 393 00:17:53,610 --> 00:17:57,885 all of that is happening literally right now in Cambridge, Massachusetts. 394 00:17:57,885 --> 00:17:58,965 Oh, hi world. 395 00:17:58,965 --> 00:18:00,040 Drum roll. 396 00:18:00,040 --> 00:18:04,800 Persp-- uh, persec-- pause the video if you would like. [INAUDIBLE]. 397 00:18:04,800 --> 00:18:05,340 [STUTTERING] 398 00:18:05,340 --> 00:18:10,580 >> Is Mark Zunkerburn's favorite pa-- to protect our nuclear missile. 399 00:18:10,580 --> 00:18:11,990 Keeping an eye as usual. 400 00:18:11,990 --> 00:18:13,350 Bugle itself. 401 00:18:13,350 --> 00:18:13,850 Gaggles. 402 00:18:13,850 --> 00:18:14,880 Good episude for you. 403 00:18:14,880 --> 00:18:17,640 It's actually quite-- Ah, it ends. 404 00:18:17,640 --> 00:18:18,850 You may recall. 405 00:18:18,850 --> 00:18:20,330 Head to this UR here. 406 00:18:20,330 --> 00:18:21,330 >> SPEAKER 6: This is CS50. 407 00:18:21,330 --> 00:18:22,255 Ah. 408 00:18:22,255 --> 00:18:24,130 DAVID MALAN: And now I made the blooper reel. 409 00:18:24,130 --> 00:18:24,630 Fantastic. 410 00:18:24,630 --> 00:18:28,369 411 00:18:28,369 --> 00:18:29,910 SPEAKER 7: Should we redo the ending? 412 00:18:29,910 --> 00:18:31,800 How should we do the ending? 413 00:18:31,800 --> 00:18:34,924 >> DAVID MALAN: Photos of Jason Hirschhorn dressed as a punmpkin. 414 00:18:34,924 --> 00:18:35,715 SPEAKER 8: Oh, boy. 415 00:18:35,715 --> 00:18:37,070 I don't know if I want people to see that. 416 00:18:37,070 --> 00:18:37,736 >> DAVID MALAN: No. 417 00:18:37,736 --> 00:18:41,371 Now it's photos of Jason Hirsch dressed as a boy. 418 00:18:41,371 --> 00:18:44,120 SPEAKER 9: And if you're interested, I can actually show you how-- 419 00:18:44,120 --> 00:18:45,010 DAVID MALAN: Yeah, absolutely. 420 00:18:45,010 --> 00:18:47,140 SPEAKER 9: He's a little off-balance this morning. 421 00:18:47,140 --> 00:18:49,411 He hasn't had his coffee yet. 422 00:18:49,411 --> 00:18:51,896 >> SPEAKER 10: Whoa! 423 00:18:51,896 --> 00:18:52,890 Oh god. 424 00:18:52,890 --> 00:18:57,860 425 00:18:57,860 --> 00:18:59,470 >> DAVID MALAN: From-- where's he from? 426 00:18:59,470 --> 00:19:01,350 >> SPEAKER 11: Right about-- right where my arm is, 427 00:19:01,350 --> 00:19:02,933 you can see like the white characters. 428 00:19:02,933 --> 00:19:03,676 There's the pole. 429 00:19:03,676 --> 00:19:06,342 DAVID MALAN: They don't know that's the-- you should point here. 430 00:19:06,342 --> 00:19:06,966 SPEAKER 11: Oh. 431 00:19:06,966 --> 00:19:14,625 432 00:19:14,625 --> 00:19:16,125 >> DAVID MALAN: Can you hear me, world? 433 00:19:16,125 --> 00:19:17,208 RAMON GALVAN: Hello world. 434 00:19:17,208 --> 00:19:18,280 Welcome to CS50 Live. 435 00:19:18,280 --> 00:19:19,910 I'm Ramon Galvan. 436 00:19:19,910 --> 00:19:23,200 >> DAVID MALAN: And-- and I'm David Malan. 437 00:19:23,200 --> 00:19:26,050 >> RAMON GALVAN: And today, I'm hosting today's episode. 438 00:19:26,050 --> 00:19:27,892 >> DAVID MALAN: Well, with me. 439 00:19:27,892 --> 00:19:28,600 RAMON GALVAN: OK. 440 00:19:28,600 --> 00:19:29,500 OK. 441 00:19:29,500 --> 00:19:30,210 Oh, [BLEEP] 442 00:19:30,210 --> 00:19:31,984 >> SPEAKER 12: Don't say [BLEEP] on the air! 443 00:19:31,984 --> 00:19:34,400 RAMON GALVAN: Oh, [BLEEP] He'll be the Robin to my Batman, 444 00:19:34,400 --> 00:19:37,205 the Andy Richter to my Conan, the Cheech to my Chong today. 445 00:19:37,205 --> 00:19:39,830 This is most definitely a serious thing that we're doing today. 446 00:19:39,830 --> 00:19:40,992 This is not a joke. 447 00:19:40,992 --> 00:19:43,950 Dropbox has been quite a fuss lately because I know nothing about this. 448 00:19:43,950 --> 00:19:44,940 What is this about? 449 00:19:44,940 --> 00:19:46,300 That was all above me. 450 00:19:46,300 --> 00:19:51,082 And this is something I don't know of. 451 00:19:51,082 --> 00:19:54,189 We also take a tour of third glass-- third deg-- 452 00:19:54,189 --> 00:19:55,230 DAVID MALAN: Right there. 453 00:19:55,230 --> 00:19:58,326 It allows you to swipe credit cards on your iPhone in order 454 00:19:58,326 --> 00:20:00,034 to process payments. 455 00:20:00,034 --> 00:20:01,450 RAMON GALVAN: I have a flip phone. 456 00:20:01,450 --> 00:20:03,378 Let's play the clip. 457 00:20:03,378 --> 00:20:05,306 One, two-- 458 00:20:05,306 --> 00:20:07,029 >> DAVID MALAN: That was the first ever. 459 00:20:07,029 --> 00:20:07,820 RAMON GALVAN: What? 460 00:20:07,820 --> 00:20:08,800 DAVID MALAN: That was the first ever. 461 00:20:08,800 --> 00:20:09,010 RAMON GALVAN: OK. 462 00:20:09,010 --> 00:20:10,195 To host the first ever-- 463 00:20:10,195 --> 00:20:12,727 464 00:20:12,727 --> 00:20:14,810 DAVID MALAN: I was in graduate school at the time. 465 00:20:14,810 --> 00:20:16,476 RAMON GALVAN: And I was in fourth grade. 466 00:20:16,476 --> 00:20:18,809 Although I love Zamyla, I would much rather not spend-- 467 00:20:18,809 --> 00:20:20,725 DAVID MALAN: Spend half as much time with her. 468 00:20:20,725 --> 00:20:21,641 RAMON GALVAN: Exactly. 469 00:20:21,641 --> 00:20:27,580 470 00:20:27,580 --> 00:20:29,640 >> DAVID MALAN: Come on out, Zamyla! 471 00:20:29,640 --> 00:20:33,616 This was CS50, and this was terrifying. 472 00:20:33,616 --> 00:20:34,990 RAMON GALVAN: This is terrifying. 473 00:20:34,990 --> 00:20:39,750 Made a little sizzle roll to encapsulate the debauchery that took place. 474 00:20:39,750 --> 00:20:41,003 >> DAVID MALAN: I love you. 475 00:20:41,003 --> 00:20:41,690 Aww. 476 00:20:41,690 --> 00:20:43,300 >> RAMON GALVAN: I love you. 477 00:20:43,300 --> 00:20:45,836 Unlike David, who circles you. 478 00:20:45,836 --> 00:20:50,015 479 00:20:50,015 --> 00:20:51,390 DAVID MALAN: Where are my slides? 480 00:20:51,390 --> 00:20:53,810 Oh. 481 00:20:53,810 --> 00:20:55,359 That's it for CS50 Live. 482 00:20:55,359 --> 00:20:57,150 Thanks so much to this week's contributors, 483 00:20:57,150 --> 00:21:00,040 to every one behind the camera, and thank you to you 484 00:21:00,040 --> 00:21:02,520 for tuning in this whole season. 485 00:21:02,520 --> 00:21:04,622 This was CS50. 486 00:21:04,622 --> 00:21:08,824 >> [MUSIC - SEMISONIC, "CLOSING TIME"] 487 00:21:08,824 --> 00:21:32,224