1 00:00:00,000 --> 00:00:06,409 2 00:00:06,409 --> 00:00:08,874 [MUSIC PLAYING] 3 00:00:08,874 --> 00:00:20,033 4 00:00:20,033 --> 00:00:21,700 Hey Nathan, do you know where Leslie is? 5 00:00:21,700 --> 00:00:23,560 Yeah, she's in EJ272. 6 00:00:23,560 --> 00:00:24,060 Thanks. 7 00:00:24,060 --> 00:00:25,896 I have a bagel for her. 8 00:00:25,896 --> 00:00:28,386 [MUSIC PLAYING] 9 00:00:28,386 --> 00:00:36,870 10 00:00:36,870 --> 00:00:38,196 Hey Leslie. 11 00:00:38,196 --> 00:00:39,152 A bagel. 12 00:00:39,152 --> 00:00:45,370 13 00:00:45,370 --> 00:00:48,760 Suppose Stan is not a human being. 14 00:00:48,760 --> 00:00:53,860 Suppose Stan is a robot and has to deliver a bagel to Leslie. 15 00:00:53,860 --> 00:00:56,740 The picture changes. 16 00:00:56,740 --> 00:00:59,800 What is a relatively simple task for Stan 17 00:00:59,800 --> 00:01:04,420 is an extremely challenging one for a robot. 18 00:01:04,420 --> 00:01:07,420 Computer scientists at SRI International 19 00:01:07,420 --> 00:01:11,890 are developing a robot that can perform complex tasks, tasks 20 00:01:11,890 --> 00:01:15,670 that require the robot to have advanced perception, 21 00:01:15,670 --> 00:01:20,230 natural language, and reasoning abilities. 22 00:01:20,230 --> 00:01:22,360 While researchers have made advances 23 00:01:22,360 --> 00:01:24,580 in each of these areas, up to now 24 00:01:24,580 --> 00:01:27,310 few have attempted to combine these technologies 25 00:01:27,310 --> 00:01:29,740 into a single robot. 26 00:01:29,740 --> 00:01:33,325 That's where Flakey comes in. 27 00:01:33,325 --> 00:01:37,120 Flakey, the product of SRI's Artificial Intelligence Center, 28 00:01:37,120 --> 00:01:40,630 is a robot consisting of computers, sensors, 29 00:01:40,630 --> 00:01:43,690 and other hardware. 30 00:01:43,690 --> 00:01:50,230 Flakey's sensors include vision sensors, sonar sensors, 31 00:01:50,230 --> 00:01:53,980 and contact sensors. 32 00:01:53,980 --> 00:01:57,880 Flakey's shaft encoders, sensors connected to the wheels, 33 00:01:57,880 --> 00:02:02,860 can tell how far and how fast the robot has traveled. 34 00:02:02,860 --> 00:02:06,340 A speech recognition system allows those around Flakey 35 00:02:06,340 --> 00:02:10,580 to communicate using voice commands. 36 00:02:10,580 --> 00:02:15,710 You have a bagel. 37 00:02:15,710 --> 00:02:17,150 Enter. 38 00:02:17,150 --> 00:02:21,530 Let's see how Flakey goes about delivering a bagel to Leslie. 39 00:02:21,530 --> 00:02:23,240 Parsing sentence. 40 00:02:23,240 --> 00:02:26,560 You have a bagel. 41 00:02:26,560 --> 00:02:30,160 Finished successfully parsing sentence. 42 00:02:30,160 --> 00:02:39,640 I want Leslie to have the bagel. 43 00:02:39,640 --> 00:02:41,630 Enter. 44 00:02:41,630 --> 00:02:45,750 I want Leslie to have the bagel. 45 00:02:45,750 --> 00:02:49,350 Finished successfully parsing sentence. 46 00:02:49,350 --> 00:02:56,700 Nathan knows where Leslie is. 47 00:02:56,700 --> 00:02:59,030 Enter. 48 00:02:59,030 --> 00:03:00,730 Parsing sentence. 49 00:03:00,730 --> 00:03:03,970 Nathan knows where Leslie is. 50 00:03:03,970 --> 00:03:07,660 Finished successfully parsing sentence. 51 00:03:07,660 --> 00:03:13,645 Nathan is in EJ227. 52 00:03:13,645 --> 00:03:14,145 Enter. 53 00:03:14,145 --> 00:03:17,750 54 00:03:17,750 --> 00:03:19,430 Parsing sentence. 55 00:03:19,430 --> 00:03:22,370 Nathan is in EJ227. 56 00:03:22,370 --> 00:03:24,485 Finished successfully parsing sentence. 57 00:03:24,485 --> 00:03:35,228 58 00:03:35,228 --> 00:03:38,124 Moving to region 13. 59 00:03:38,124 --> 00:03:41,112 [MUSIC PLAYING] 60 00:03:41,112 --> 00:04:03,070 61 00:04:03,070 --> 00:04:04,540 OK. 62 00:04:04,540 --> 00:04:06,306 Well, I'll talk to you later. 63 00:04:06,306 --> 00:04:06,806 Bye bye. 64 00:04:06,806 --> 00:04:17,459 65 00:04:17,459 --> 00:04:20,070 Where is Leslie? 66 00:04:20,070 --> 00:04:26,080 Leslie is in EJ272. 67 00:04:26,080 --> 00:04:26,580 Enter. 68 00:04:26,580 --> 00:04:33,580 69 00:04:33,580 --> 00:04:35,410 Parsing sentence. 70 00:04:35,410 --> 00:04:40,260 Leslie is in EJ272. 71 00:04:40,260 --> 00:04:43,770 Finished successfully parsing sentence. 72 00:04:43,770 --> 00:04:46,245 [MUSIC PLAYING] 73 00:04:46,245 --> 00:05:06,060 74 00:05:06,060 --> 00:05:09,756 Moving to region three. 75 00:05:09,756 --> 00:05:12,236 [MUSIC PLAYING] 76 00:05:12,236 --> 00:05:58,940 77 00:05:58,940 --> 00:06:00,155 Moving to region 18. 78 00:06:00,155 --> 00:06:02,905 79 00:06:02,905 --> 00:06:05,899 [MUSIC PLAYING] 80 00:06:05,899 --> 00:06:39,831 81 00:06:39,831 --> 00:06:42,927 Moving to region 15. 82 00:06:42,927 --> 00:06:45,422 [MUSIC PLAYING] 83 00:06:45,422 --> 00:07:39,850 84 00:07:39,850 --> 00:07:41,860 Take a bagel. 85 00:07:41,860 --> 00:07:42,610 Thank you, Flakey. 86 00:07:42,610 --> 00:07:48,630 87 00:07:48,630 --> 00:07:52,420 We've just seen Flakey deliver a bagel to Leslie. 88 00:07:52,420 --> 00:07:56,460 Now let's take a closer look at how Flakey operates. 89 00:07:56,460 --> 00:07:59,310 Flakey's sensors constantly collect data 90 00:07:59,310 --> 00:08:01,270 from his environment. 91 00:08:01,270 --> 00:08:04,680 The data he gathers must undergo a continual process 92 00:08:04,680 --> 00:08:07,080 of interpretation in order for Flakey 93 00:08:07,080 --> 00:08:10,140 to select actions to perform. 94 00:08:10,140 --> 00:08:12,330 Here's how it works. 95 00:08:12,330 --> 00:08:17,380 Flakey's software is organized into three layers, low, middle, 96 00:08:17,380 --> 00:08:19,710 and high level. 97 00:08:19,710 --> 00:08:22,260 Each layer can interpret incoming information 98 00:08:22,260 --> 00:08:24,700 and carry out certain tasks. 99 00:08:24,700 --> 00:08:26,940 The higher the level, the more abstract 100 00:08:26,940 --> 00:08:30,210 the information and tasks. 101 00:08:30,210 --> 00:08:32,640 Low level tracks Flakey's location 102 00:08:32,640 --> 00:08:35,490 by finding walls and doors. 103 00:08:35,490 --> 00:08:39,240 This computer screen shows a map of the corridors. 104 00:08:39,240 --> 00:08:42,990 It illustrates how the robot uses motion feedback and sonar 105 00:08:42,990 --> 00:08:47,610 measurements to locate and classify surfaces. 106 00:08:47,610 --> 00:08:50,880 By continually matching descriptions of these surfaces 107 00:08:50,880 --> 00:08:53,520 against a stored map of the corridor, 108 00:08:53,520 --> 00:08:56,115 Flakey reduces his uncertainty about his position. 109 00:08:56,115 --> 00:08:58,740 110 00:08:58,740 --> 00:09:02,920 Low level also takes output from the speech recognition system 111 00:09:02,920 --> 00:09:05,520 and collects word sequences that can be interpreted 112 00:09:05,520 --> 00:09:08,940 by higher levels of software. 113 00:09:08,940 --> 00:09:12,060 Finally, low level is responsible for generating 114 00:09:12,060 --> 00:09:14,580 Flakey's speech and for steering him 115 00:09:14,580 --> 00:09:18,210 by controlling the motion of his wheels. 116 00:09:18,210 --> 00:09:21,480 Going up the hierarchy, we come to a middle level 117 00:09:21,480 --> 00:09:24,900 where linguistic processing takes place. 118 00:09:24,900 --> 00:09:27,240 In order for Flakey to understand sentences 119 00:09:27,240 --> 00:09:29,340 that are spoken to him, mid-level 120 00:09:29,340 --> 00:09:33,570 must analyze them and construct a symbolic representation. 121 00:09:33,570 --> 00:09:39,450 This is done using a unification based chart parser. 122 00:09:39,450 --> 00:09:42,240 When Flakey decides to speak, mid-level 123 00:09:42,240 --> 00:09:47,220 must convert symbolic forms into English sentences. 124 00:09:47,220 --> 00:09:51,000 Mid-level uses the same grammar to generate Flakey's sentences 125 00:09:51,000 --> 00:09:54,120 as it does to parse. 126 00:09:54,120 --> 00:09:56,160 Where is Leslie? 127 00:09:56,160 --> 00:09:58,890 Mid-level also sequences and monitors 128 00:09:58,890 --> 00:10:00,495 the execution of robot actions. 129 00:10:00,495 --> 00:10:03,090 130 00:10:03,090 --> 00:10:06,480 At high level, reasoning takes place. 131 00:10:06,480 --> 00:10:09,090 Reasoning is carried out by a deductive system 132 00:10:09,090 --> 00:10:12,900 similar to Prolog but incorporating full first order 133 00:10:12,900 --> 00:10:14,730 deduction. 134 00:10:14,730 --> 00:10:18,780 The deductive system operates on a knowledge base of facts, 135 00:10:18,780 --> 00:10:21,810 including new facts received from mid-level 136 00:10:21,810 --> 00:10:25,290 as well as previously stored facts. 137 00:10:25,290 --> 00:10:28,500 This reasoning process produces a plan of action 138 00:10:28,500 --> 00:10:33,120 that will cause Flakey to achieve his overall goal. 139 00:10:33,120 --> 00:10:36,600 Let's look at some examples of how these three levels interact 140 00:10:36,600 --> 00:10:40,470 to help Flakey reach his goal. 141 00:10:40,470 --> 00:10:44,070 In this instance, Flakey receives a speech command. 142 00:10:44,070 --> 00:10:52,710 I want Leslie to have the bagel. 143 00:10:52,710 --> 00:10:54,690 Enter. 144 00:10:54,690 --> 00:10:58,470 The interpretive process looks like this. 145 00:10:58,470 --> 00:11:02,400 Flakey receives speech input from his sensors. 146 00:11:02,400 --> 00:11:06,340 Low level collects the string of spoken words. 147 00:11:06,340 --> 00:11:10,710 The data is further refined when it reaches mid-level. 148 00:11:10,710 --> 00:11:13,770 Here parsing produces a symbolic formula 149 00:11:13,770 --> 00:11:17,010 that expresses the meaning of the sentence. 150 00:11:17,010 --> 00:11:19,290 The data continues up to high level, 151 00:11:19,290 --> 00:11:23,520 where reasoning takes place and conclusions are drawn. 152 00:11:23,520 --> 00:11:27,180 High level forms plans by projecting the consequences 153 00:11:27,180 --> 00:11:30,210 of alternative actions until finally it selects 154 00:11:30,210 --> 00:11:34,200 the actions to be executed. 155 00:11:34,200 --> 00:11:36,960 In this instance, high level concludes Flakey 156 00:11:36,960 --> 00:11:39,540 should move to region one. 157 00:11:39,540 --> 00:11:43,440 Mid-level initiates the move command and low level 158 00:11:43,440 --> 00:11:46,740 steers the robot to region one by controlling wheel 159 00:11:46,740 --> 00:11:49,590 velocities. 160 00:11:49,590 --> 00:11:52,830 Let's look at another example of the interaction between levels 161 00:11:52,830 --> 00:11:55,620 of this hierarchy. 162 00:11:55,620 --> 00:11:59,280 Here Flakey encounters and obstruction. 163 00:11:59,280 --> 00:12:04,320 His sensors identify a barrier and immediately Flakey stops. 164 00:12:04,320 --> 00:12:08,040 The interpretive process looks like this. 165 00:12:08,040 --> 00:12:12,000 Low level monitors data gathered by the sonar sensors, 166 00:12:12,000 --> 00:12:15,330 detects a closed door, and stops Flakey 167 00:12:15,330 --> 00:12:19,140 without waiting for high level processing. 168 00:12:19,140 --> 00:12:23,100 The information about the closed door travels up from low level 169 00:12:23,100 --> 00:12:26,010 through mid-level to high level. 170 00:12:26,010 --> 00:12:28,680 High level realizes that the closed door 171 00:12:28,680 --> 00:12:32,250 invalidates a key step in the original plan for achieving 172 00:12:32,250 --> 00:12:34,140 the goal. 173 00:12:34,140 --> 00:12:37,380 This leads high level to formulate a new plan involving 174 00:12:37,380 --> 00:12:40,260 an alternate route. 175 00:12:40,260 --> 00:12:45,000 High level concludes that Flakey should move to region two. 176 00:12:45,000 --> 00:12:47,370 As the command is executed, Flakey 177 00:12:47,370 --> 00:12:51,150 turns away from the closed door and begins his new route. 178 00:12:51,150 --> 00:12:55,710 179 00:12:55,710 --> 00:12:58,500 You have seen Flakey follow a command given to him 180 00:12:58,500 --> 00:13:01,230 by Stan, a human being. 181 00:13:01,230 --> 00:13:04,750 Scientists at SRI designed Flakey's software 182 00:13:04,750 --> 00:13:06,450 so he will be able to communicate 183 00:13:06,450 --> 00:13:10,950 not only with human beings but with other robots. 184 00:13:10,950 --> 00:13:14,070 The concept of robots working together in teams 185 00:13:14,070 --> 00:13:17,910 suggests a wide range of new applications. 186 00:13:17,910 --> 00:13:20,130 To make cooperating robots a reality, 187 00:13:20,130 --> 00:13:22,650 however, will require further research 188 00:13:22,650 --> 00:13:26,990 in the area of intelligent communicating agents. 189 00:13:26,990 --> 00:13:30,380 Taking a step into the future, suppose Stan 190 00:13:30,380 --> 00:13:32,060 is out of the picture. 191 00:13:32,060 --> 00:13:34,460 In his place is another robot. 192 00:13:34,460 --> 00:13:36,650 Let's call her Ramona. 193 00:13:36,650 --> 00:13:41,090 Together Flakey and Ramona are a team. 194 00:13:41,090 --> 00:13:45,780 Their teamwork might look something like this. 195 00:13:45,780 --> 00:13:48,800 Ramona, Leslie wants a bagel. 196 00:13:48,800 --> 00:13:51,110 Where is Leslie? 197 00:13:51,110 --> 00:13:54,020 Leslie is in EJ272. 198 00:13:54,020 --> 00:13:57,030 Please take a bagel to Leslie. 199 00:13:57,030 --> 00:13:59,870 OK, Flakey. 200 00:13:59,870 --> 00:14:03,520 [MUSIC PLAYING] 201 00:14:03,520 --> 00:14:36,000