WEBVTT - Mama Bots Having Baby Bots

0:00:00.160 --> 0:00:07.160
<v Speaker 1>Brought to you by Toyota. Let's go places. Welcome to

0:00:07.360 --> 0:00:14.760
<v Speaker 1>Forward Thinking. Hey everyone, and welcome to Forward Thinking, the

0:00:14.840 --> 0:00:17.919
<v Speaker 1>podcast that looks at the future. It says, mama's don't

0:00:17.960 --> 0:00:20.840
<v Speaker 1>let your babies grow up to be robots. I'm Jovin

0:00:20.840 --> 0:00:24.880
<v Speaker 1>Strickland and I'm Joe McCormick. And have you two ever

0:00:24.960 --> 0:00:28.600
<v Speaker 1>noticed how much better robots are than organic life forms

0:00:28.640 --> 0:00:32.559
<v Speaker 1>all the time. That's why I only work with various

0:00:32.560 --> 0:00:35.200
<v Speaker 1>things that allow me to interact with machines as opposed

0:00:35.200 --> 0:00:39.520
<v Speaker 1>to actual human beings. Like if it's a prerecorded type

0:00:39.600 --> 0:00:43.879
<v Speaker 1>message and I navigate through a menu using buttons, and

0:00:43.920 --> 0:00:46.159
<v Speaker 1>I don't have to talk to a person, that's awesome.

0:00:46.440 --> 0:00:51.519
<v Speaker 1>They're certainly less offensively smelly. Well that's just because we

0:00:51.560 --> 0:00:56.400
<v Speaker 1>haven't mastered the artificial intelligence sector of creating really lifelike

0:00:56.440 --> 0:01:02.480
<v Speaker 1>bo Yeah, well we have, we have scientists working on that. Yeah, yeah, no,

0:01:02.640 --> 0:01:05.640
<v Speaker 1>I was kidding. But there are, of course situations where

0:01:05.680 --> 0:01:07.520
<v Speaker 1>it's much better to be a robot than to be

0:01:07.560 --> 0:01:10.360
<v Speaker 1>an organic life form, and we've talked about plenty of

0:01:10.360 --> 0:01:13.160
<v Speaker 1>them on the podcast before. Maybe in space exploration where

0:01:13.160 --> 0:01:16.800
<v Speaker 1>you're at risk, or in or in search and rescue

0:01:16.840 --> 0:01:19.400
<v Speaker 1>scenarios where again a human would be at risk or

0:01:19.920 --> 0:01:22.400
<v Speaker 1>you know, any number of hundreds of others. Really, Yeah,

0:01:22.640 --> 0:01:27.360
<v Speaker 1>just just performing the same physical job. Anything that would

0:01:27.400 --> 0:01:31.240
<v Speaker 1>make a human board or or repeated stress injury, that

0:01:31.280 --> 0:01:33.120
<v Speaker 1>kind of stuff. I mean things that where you do

0:01:33.160 --> 0:01:36.000
<v Speaker 1>it once, it doesn't hurt, but you do it, you know,

0:01:36.200 --> 0:01:39.560
<v Speaker 1>once every minute for eight hours a day, and it's

0:01:39.840 --> 0:01:43.679
<v Speaker 1>and eventually, yeah, the button pushing muscles start to wear

0:01:43.720 --> 0:01:46.759
<v Speaker 1>down in the bones and etcetera. Yeah, robots don't get

0:01:47.120 --> 0:01:51.080
<v Speaker 1>don't get physically injured, they don't get emotionally injured. It's

0:01:51.160 --> 0:01:55.600
<v Speaker 1>real hard to traumatize a robot. Yeah, I know. Now,

0:01:55.760 --> 0:01:59.720
<v Speaker 1>we we've talked about the advantages. Of course, the life

0:01:59.800 --> 0:02:04.240
<v Speaker 1>forms have over robots and limited in each individual case.

0:02:04.320 --> 0:02:07.960
<v Speaker 1>So a person like a worker is a lot easier

0:02:08.000 --> 0:02:10.680
<v Speaker 1>to train for a new task than a robot is. Well,

0:02:10.760 --> 0:02:13.320
<v Speaker 1>depending on if if the robot is mechanically suited to

0:02:13.360 --> 0:02:16.000
<v Speaker 1>the new task, you can reprogram it s well. But

0:02:16.000 --> 0:02:19.359
<v Speaker 1>but a worker can learn many new tasks. Yeah, hypothetically,

0:02:19.639 --> 0:02:24.760
<v Speaker 1>most robots are pretty good at doing one thing right, right, Um, Yeah, robots,

0:02:24.919 --> 0:02:27.720
<v Speaker 1>as it turns out, they pretty much can do what

0:02:27.880 --> 0:02:30.280
<v Speaker 1>you built them to do, and they're pretty bad at

0:02:30.320 --> 0:02:34.760
<v Speaker 1>doing anything outside of that. In general, right, Robots don't

0:02:34.800 --> 0:02:39.120
<v Speaker 1>really evolve. Yeah, so yeah, so humans are more adaptable

0:02:39.120 --> 0:02:42.320
<v Speaker 1>on the individual scale, but they're also more adaptable as

0:02:42.360 --> 0:02:45.440
<v Speaker 1>a type of thing. Sure, over time, if the air

0:02:45.480 --> 0:02:49.280
<v Speaker 1>pressures from the environment on a living organism, it will evolve,

0:02:49.320 --> 0:02:51.880
<v Speaker 1>it will adapt, or it might go extinct. But assuming

0:02:51.919 --> 0:02:54.960
<v Speaker 1>it doesn't go extinct, it will adapt and evolve to

0:02:54.960 --> 0:02:57.839
<v Speaker 1>to fit the environment that it needs to make its

0:02:57.840 --> 0:03:01.840
<v Speaker 1>living in. Robots don't do that, no, they remain. Yeah,

0:03:02.720 --> 0:03:04.800
<v Speaker 1>so that's what we're going to talk about today exactly.

0:03:04.840 --> 0:03:07.600
<v Speaker 1>So let's talk about like, like general robots right now.

0:03:07.639 --> 0:03:12.800
<v Speaker 1>They they are too pretty distinct pathways for robot design

0:03:13.520 --> 0:03:15.200
<v Speaker 1>in general, and of course there are a lot of

0:03:15.200 --> 0:03:18.440
<v Speaker 1>branches within these, but we can go one path where

0:03:18.480 --> 0:03:21.400
<v Speaker 1>we design a robot for a specific task and that's

0:03:21.440 --> 0:03:23.520
<v Speaker 1>all it is supposed to do. So rumba is a

0:03:23.520 --> 0:03:26.079
<v Speaker 1>great example. What a rumba is supposed to do is

0:03:26.080 --> 0:03:28.600
<v Speaker 1>clean the floor. It's not supposed to do anything else

0:03:28.600 --> 0:03:33.280
<v Speaker 1>other than it doesn't clean the cat box. In my opinion,

0:03:33.320 --> 0:03:37.240
<v Speaker 1>this is this is probably like of robots and all

0:03:37.320 --> 0:03:40.920
<v Speaker 1>of the good ones. Yeah, the most efficient and the

0:03:40.960 --> 0:03:44.400
<v Speaker 1>most effective robots, I would argue, are of this type

0:03:44.400 --> 0:03:48.280
<v Speaker 1>because we only have to concern ourselves with the design

0:03:48.360 --> 0:03:51.600
<v Speaker 1>elements that will enable the robot to complete its task,

0:03:51.720 --> 0:03:54.360
<v Speaker 1>and we eliminate everything else. Right, you don't need to

0:03:54.400 --> 0:03:58.560
<v Speaker 1>include anything that doesn't involve cleaning the floor, or navigation

0:03:58.840 --> 0:04:02.080
<v Speaker 1>or returning to like a docking station to recharge. When

0:04:02.120 --> 0:04:05.520
<v Speaker 1>you're designing a robot like the Rumba, you just need

0:04:05.560 --> 0:04:10.240
<v Speaker 1>those basic elements in it. Anything else is superfluous. Uh.

0:04:10.480 --> 0:04:13.040
<v Speaker 1>Doesn't stop us from doing things like having crazy Rumba

0:04:13.080 --> 0:04:16.240
<v Speaker 1>fights where we put a balloon and something sharp on

0:04:16.240 --> 0:04:18.320
<v Speaker 1>on a couple of them and have them joused each other.

0:04:19.000 --> 0:04:20.800
<v Speaker 1>But it doesn't mean we don't put our cats on

0:04:20.839 --> 0:04:24.360
<v Speaker 1>top of them and just watch what happen. Maybe put

0:04:24.360 --> 0:04:26.640
<v Speaker 1>our cat in a shark costume first and then put

0:04:26.640 --> 0:04:28.479
<v Speaker 1>the cat on top of a roomba. Yeah, that sort

0:04:28.480 --> 0:04:31.600
<v Speaker 1>of thing. But in general, they just do what they

0:04:31.640 --> 0:04:33.160
<v Speaker 1>were supposed to do, and if you wanted them to

0:04:33.200 --> 0:04:35.400
<v Speaker 1>do anything else, you're kind of out of luck. Or

0:04:35.560 --> 0:04:38.520
<v Speaker 1>we tried to build general purpose robots that are capable

0:04:38.520 --> 0:04:44.400
<v Speaker 1>of doing lots of different tasks hopefully yeah, to varying

0:04:44.480 --> 0:04:51.120
<v Speaker 1>degrees of mediocrity because it's hard. It's not because you know, No, yeah,

0:04:51.160 --> 0:04:53.560
<v Speaker 1>it's not because the people working on these aren't smart. Yes,

0:04:53.800 --> 0:04:56.600
<v Speaker 1>because the job is a thousand times more difficult, right,

0:04:56.960 --> 0:05:00.080
<v Speaker 1>because you have to anticipate lots of different things, a

0:05:00.160 --> 0:05:02.560
<v Speaker 1>lot of different changing conditions. This would be the example

0:05:02.600 --> 0:05:05.880
<v Speaker 1>of the darker robots we talked about previously, where UH

0:05:06.800 --> 0:05:09.520
<v Speaker 1>challenge robots exactly. Yes, the DARPA Challenge robots, the ones

0:05:09.560 --> 0:05:13.520
<v Speaker 1>that had to replicate a uh kind of a first

0:05:13.560 --> 0:05:17.440
<v Speaker 1>responder situation, search and rescue kind of. Yeah. They to

0:05:17.480 --> 0:05:20.560
<v Speaker 1>do like drive a car to a building, open a door,

0:05:20.720 --> 0:05:23.560
<v Speaker 1>go inside, twist to lever, and cut a hole in

0:05:23.600 --> 0:05:26.240
<v Speaker 1>the wall. They had to plug in a cable in

0:05:26.320 --> 0:05:30.320
<v Speaker 1>one case. Yeah, they had to walk across rubble. They

0:05:30.360 --> 0:05:32.880
<v Speaker 1>had to go up some stairs and then fall over.

0:05:33.600 --> 0:05:36.400
<v Speaker 1>Uh didn't have to fall over, but a lot of

0:05:36.400 --> 0:05:39.680
<v Speaker 1>them sure did. At any rate, we saw how difficult

0:05:39.800 --> 0:05:42.000
<v Speaker 1>it is to design a robot that can do these things.

0:05:42.040 --> 0:05:44.840
<v Speaker 1>And keep in mind, these were all tasks that the

0:05:44.920 --> 0:05:49.440
<v Speaker 1>various teams knew about beforehand they were designing these. Yeah, yeah,

0:05:49.440 --> 0:05:51.279
<v Speaker 1>I mean it was this was all stuff that they

0:05:51.360 --> 0:05:53.560
<v Speaker 1>knew they were going to have, the robot was going

0:05:53.640 --> 0:05:56.440
<v Speaker 1>to have to be able to do. Uh. So, building

0:05:56.440 --> 0:05:59.679
<v Speaker 1>a robot that could end up anticipating all sorts of stuff,

0:06:00.000 --> 0:06:02.760
<v Speaker 1>whether it's a single robot or a you know, a

0:06:02.960 --> 0:06:05.480
<v Speaker 1>robot that can then design the next generation of robots.

0:06:06.360 --> 0:06:10.720
<v Speaker 1>That's something that we really haven't perfected yet, but there

0:06:10.760 --> 0:06:14.320
<v Speaker 1>are some really good reasons why we would want to. Clearly,

0:06:14.640 --> 0:06:17.400
<v Speaker 1>being able to have a robot that could either adapt

0:06:17.440 --> 0:06:21.080
<v Speaker 1>itself or adapt the next generation of robots would lead

0:06:21.120 --> 0:06:25.840
<v Speaker 1>to much more efficient machines over time, and so this

0:06:25.920 --> 0:06:29.880
<v Speaker 1>is something that we would really like to see in technology.

0:06:29.920 --> 0:06:33.080
<v Speaker 1>It's not it's not just in robotics. We're also seeing

0:06:33.120 --> 0:06:37.120
<v Speaker 1>it in computers. So there's they call it, you know,

0:06:37.160 --> 0:06:42.320
<v Speaker 1>evolutionary computation or evolutionary computers or evolutionary robotics because that's

0:06:42.680 --> 0:06:45.839
<v Speaker 1>essentially what we what we mean. We're talking about a

0:06:45.920 --> 0:06:50.160
<v Speaker 1>machine that looks at the ability of another, like a

0:06:50.279 --> 0:06:53.960
<v Speaker 1>next generation of machines to do a particular task, evaluates them,

0:06:54.279 --> 0:06:57.240
<v Speaker 1>and then makes decisions on how to alter that generation

0:06:57.360 --> 0:07:01.360
<v Speaker 1>to produce an even more effective generation after it. Uh

0:07:01.720 --> 0:07:05.080
<v Speaker 1>the goal always being to come up with the most

0:07:05.240 --> 0:07:10.200
<v Speaker 1>ideal design for whatever purpose you have in mind. And

0:07:09.920 --> 0:07:13.280
<v Speaker 1>this isn't a super super new idea, no. Now, there

0:07:13.320 --> 0:07:14.880
<v Speaker 1>have been people who have been working on this for

0:07:14.920 --> 0:07:17.760
<v Speaker 1>a while. Back in two thousand eleven, researchers with NASA

0:07:17.840 --> 0:07:21.400
<v Speaker 1>published a paper on evolutionary computation that was used to

0:07:21.440 --> 0:07:24.600
<v Speaker 1>design new efficient antenna's way back in two thousand six.

0:07:24.960 --> 0:07:26.760
<v Speaker 1>So the paper was published in two thousand and eleven,

0:07:26.760 --> 0:07:30.120
<v Speaker 1>but the actual project was yeah in two thousand and six.

0:07:30.600 --> 0:07:33.160
<v Speaker 1>And what they what they were pointing out was that

0:07:33.240 --> 0:07:38.239
<v Speaker 1>designing an antenna is really challenging. It requires that the

0:07:38.280 --> 0:07:41.560
<v Speaker 1>builder to have a very detailed knowledge of how antenna's work,

0:07:42.040 --> 0:07:46.080
<v Speaker 1>which already limits your pool of various builders, and even

0:07:46.120 --> 0:07:52.120
<v Speaker 1>then it's just painstaking to create an actual efficient, working antenna.

0:07:52.360 --> 0:07:56.240
<v Speaker 1>So what they did was they created evolutionary algorithms for

0:07:56.280 --> 0:08:00.440
<v Speaker 1>a computer to design an antenna for spacecraft auto matically

0:08:00.480 --> 0:08:05.840
<v Speaker 1>that the computer system went through various designs of antenna

0:08:05.960 --> 0:08:08.960
<v Speaker 1>and essentially simulated tests of them to see which one

0:08:09.000 --> 0:08:12.720
<v Speaker 1>would be the most effective. They then took the designs

0:08:12.760 --> 0:08:15.280
<v Speaker 1>that were predicted to be the highest performing antennas by

0:08:15.400 --> 0:08:18.960
<v Speaker 1>this computer program, and they took it to the same

0:08:19.000 --> 0:08:23.960
<v Speaker 1>manufacturer who was already building the antenna intended for the spacecraft.

0:08:24.280 --> 0:08:26.600
<v Speaker 1>Then they tested all three of the antenna, the two

0:08:26.640 --> 0:08:29.960
<v Speaker 1>that were the two best performer ones in the computer program,

0:08:30.000 --> 0:08:32.880
<v Speaker 1>and the one that people had designed for the spacecraft,

0:08:33.080 --> 0:08:35.440
<v Speaker 1>and found that the two that the computer had designed

0:08:35.760 --> 0:08:39.160
<v Speaker 1>were more effective. Yeah, so it was one of those

0:08:39.200 --> 0:08:42.760
<v Speaker 1>examples of this approach actually working better than what we

0:08:42.880 --> 0:08:45.840
<v Speaker 1>humans could do. Now, maybe you don't know the answer

0:08:45.880 --> 0:08:49.120
<v Speaker 1>to this, but if you do, I'd be interested. In

0:08:49.160 --> 0:08:52.120
<v Speaker 1>this case, we're the what what we might call the

0:08:52.240 --> 0:08:56.720
<v Speaker 1>mutations introduced into the models in in the algorithm that

0:08:56.720 --> 0:09:00.960
<v Speaker 1>that tested out antenna's where the mutations direct did where

0:09:00.960 --> 0:09:04.360
<v Speaker 1>they programmed in? Or were they random mutations? Like? Was

0:09:04.400 --> 0:09:08.360
<v Speaker 1>it really more like evolution where a random things thing

0:09:08.480 --> 0:09:12.000
<v Speaker 1>happens and then the system tests is this any better? Well,

0:09:12.080 --> 0:09:15.400
<v Speaker 1>as we've talked about in previous episodes, random with machines

0:09:15.520 --> 0:09:18.800
<v Speaker 1>is really hard to do. It was more like they

0:09:18.840 --> 0:09:24.360
<v Speaker 1>were the computer was given an enormous number of variables

0:09:24.520 --> 0:09:28.439
<v Speaker 1>and started to test them in various configurations without going

0:09:28.480 --> 0:09:32.800
<v Speaker 1>through every possible one. Because the goal of evolutionary computer

0:09:32.920 --> 0:09:36.320
<v Speaker 1>computation or evolutionary robotics is to make sure that you

0:09:36.440 --> 0:09:40.240
<v Speaker 1>come to the most ideal form of whatever it is

0:09:40.280 --> 0:09:44.760
<v Speaker 1>you're going for without having to test every possible variation. Because,

0:09:44.760 --> 0:09:48.840
<v Speaker 1>of course, thus things get more complex, those variations increase

0:09:48.880 --> 0:09:51.079
<v Speaker 1>in number until it would take you till the end

0:09:51.080 --> 0:09:53.640
<v Speaker 1>of time to test all the different ones to come

0:09:53.720 --> 0:09:58.280
<v Speaker 1>up version one one seven eight nine seven, seven seven

0:09:58.400 --> 0:10:02.040
<v Speaker 1>four three is the best. You would take forever to

0:10:02.080 --> 0:10:04.560
<v Speaker 1>go through all of those. So what these are designed

0:10:04.600 --> 0:10:07.760
<v Speaker 1>to do is to test ones that are a best

0:10:07.800 --> 0:10:12.400
<v Speaker 1>guests already of being effective, measuring those against other best guesses,

0:10:12.640 --> 0:10:15.360
<v Speaker 1>then combining ones. Like if you were to find a

0:10:15.440 --> 0:10:18.960
<v Speaker 1>generation that works particularly well and another generation that works

0:10:19.000 --> 0:10:21.560
<v Speaker 1>particularly well, you might say, well, what happens if I

0:10:21.600 --> 0:10:25.240
<v Speaker 1>combine the best design elements of both of these into

0:10:25.360 --> 0:10:29.000
<v Speaker 1>a new design. Does that increase the effect of the

0:10:29.160 --> 0:10:32.920
<v Speaker 1>efficiency and effectiveness or does it decrease it? Because it doesn't,

0:10:33.320 --> 0:10:36.760
<v Speaker 1>you know, adding to awesome things together does not guarantee

0:10:36.800 --> 0:10:40.280
<v Speaker 1>you to get a third, even more awesome thing. Oh yeah, yeah.

0:10:40.000 --> 0:10:42.400
<v Speaker 1>I was wondering because I'd read about the use of

0:10:42.440 --> 0:10:46.800
<v Speaker 1>evolutionary algorithms before in the design of new planetary rovers

0:10:46.920 --> 0:10:51.720
<v Speaker 1>like unmanned planetary rovers, and testing different variations on the

0:10:51.760 --> 0:10:55.119
<v Speaker 1>models in a in a computer simulation that would naturally

0:10:55.240 --> 0:10:59.199
<v Speaker 1>select the highest performing ones. Yeah. Yeah, it's very similar

0:10:59.200 --> 0:11:02.480
<v Speaker 1>to that. And uh, the thing about the difference, you know,

0:11:02.520 --> 0:11:05.240
<v Speaker 1>we're going to talk about a robot that works along

0:11:05.280 --> 0:11:08.240
<v Speaker 1>these principles. The biggest difference between a robot and a computer,

0:11:08.280 --> 0:11:11.760
<v Speaker 1>obviously is that a robot is working with actual physical matter,

0:11:11.920 --> 0:11:17.800
<v Speaker 1>not just simulations. And so there's some practical limitations that

0:11:17.880 --> 0:11:21.320
<v Speaker 1>you encounter in that case. Right, you have to work

0:11:21.360 --> 0:11:25.720
<v Speaker 1>with real physical matter that has weight, it has mass,

0:11:26.040 --> 0:11:29.800
<v Speaker 1>it occupies space, there's a limit to how heavy it

0:11:29.840 --> 0:11:34.080
<v Speaker 1>can be. Uh, you know, you can't just magically increase

0:11:34.200 --> 0:11:37.360
<v Speaker 1>the size of whatever it is in a simulation and

0:11:37.400 --> 0:11:39.559
<v Speaker 1>then just see how it works. You have to physically

0:11:39.600 --> 0:11:44.000
<v Speaker 1>put this thing together. And so it's a really interesting approach.

0:11:44.080 --> 0:11:46.920
<v Speaker 1>And we have seen a couple of examples of people

0:11:46.960 --> 0:11:51.400
<v Speaker 1>working with true physical matter, but uh, it's mostly been

0:11:51.440 --> 0:11:54.280
<v Speaker 1>in things like working with a program that builds stuff

0:11:54.280 --> 0:11:57.200
<v Speaker 1>out of lego. So there is an actual example of this.

0:11:57.280 --> 0:12:01.240
<v Speaker 1>There were some evolutionary computational experts that design systems that

0:12:01.520 --> 0:12:04.319
<v Speaker 1>would allow a machine to build other objects out of legos,

0:12:04.400 --> 0:12:09.200
<v Speaker 1>but you had to build limitations into the computer program

0:12:09.320 --> 0:12:12.280
<v Speaker 1>so that the machine would follow the rules of physics.

0:12:12.280 --> 0:12:14.920
<v Speaker 1>In other words, you couldn't have to lego pieces occupy

0:12:15.000 --> 0:12:17.960
<v Speaker 1>the same physical space at the same time, right, Sure,

0:12:18.000 --> 0:12:21.400
<v Speaker 1>And some of these computations aren't going to I mean,

0:12:21.559 --> 0:12:24.680
<v Speaker 1>it's hard as a programmer to build all of those

0:12:24.720 --> 0:12:29.200
<v Speaker 1>limitations into something that has to work in reality, because

0:12:29.200 --> 0:12:33.520
<v Speaker 1>the computer isn't going to understand I mean basic stuff,

0:12:33.920 --> 0:12:35.840
<v Speaker 1>and so so it might when you take it out

0:12:35.880 --> 0:12:37.600
<v Speaker 1>of the lab, out of the out of the computer

0:12:37.640 --> 0:12:41.120
<v Speaker 1>simulation stage, it might operate very differently than you were

0:12:41.120 --> 0:12:44.000
<v Speaker 1>expecting it. Then the computer was expecting it to. An

0:12:44.000 --> 0:12:46.280
<v Speaker 1>analogy I would make and has nothing to do with

0:12:46.320 --> 0:12:48.920
<v Speaker 1>computers or robotics, but an analogy I would make is

0:12:49.440 --> 0:12:52.040
<v Speaker 1>if you were running a role playing game. You're you're

0:12:52.080 --> 0:12:54.080
<v Speaker 1>the game master of a role play game, and you

0:12:54.160 --> 0:12:57.400
<v Speaker 1>think you have anticipated everything your players are going to do,

0:12:57.840 --> 0:13:00.680
<v Speaker 1>and you have made up a masterpiece of a module,

0:13:01.080 --> 0:13:03.880
<v Speaker 1>and your players are going to have an amazing time,

0:13:04.120 --> 0:13:07.200
<v Speaker 1>and three minutes in the players decided to do something

0:13:07.280 --> 0:13:10.960
<v Speaker 1>you could not have possibly anticipated. It makes perfect sense

0:13:11.000 --> 0:13:16.240
<v Speaker 1>within the context of the game. And then you and you, yeah,

0:13:16.280 --> 0:13:18.120
<v Speaker 1>you gotta throw away all the stuff you worked on

0:13:18.160 --> 0:13:21.440
<v Speaker 1>and say, well, well, I guess like it's sort of

0:13:21.480 --> 0:13:23.679
<v Speaker 1>like if you imagine a horror movie where the characters

0:13:23.679 --> 0:13:25.560
<v Speaker 1>all walk up to the spooky house, take one look

0:13:25.559 --> 0:13:28.800
<v Speaker 1>and say no, and then walk away like, well, there

0:13:28.800 --> 0:13:31.600
<v Speaker 1>goes the horror movie. Same sort of thing. Well, we

0:13:31.640 --> 0:13:34.840
<v Speaker 1>wanted to specifically talk about some researchers from the University

0:13:34.880 --> 0:13:39.400
<v Speaker 1>of Cambridge who were working with a robotic system that

0:13:39.600 --> 0:13:44.880
<v Speaker 1>used evolutionary robotics. So imagine, essentially, you've got a robot

0:13:45.120 --> 0:13:49.480
<v Speaker 1>that builds other robots and tests them to see which

0:13:49.720 --> 0:13:54.960
<v Speaker 1>designs work the best, and then either UH either has

0:13:55.000 --> 0:13:58.720
<v Speaker 1>a design go forward or eliminates designs and starts tweaking

0:13:58.720 --> 0:14:02.000
<v Speaker 1>things to try and find the best physical design of

0:14:02.000 --> 0:14:05.680
<v Speaker 1>a robot to complete a specific task. Now that sounds

0:14:05.720 --> 0:14:09.760
<v Speaker 1>super cool. I need to explain some stuff first so

0:14:09.800 --> 0:14:13.520
<v Speaker 1>we can manage our expectations. Yeah, yeah, okay, so so

0:14:13.520 --> 0:14:16.400
<v Speaker 1>so performance of these of these baby bots, as we

0:14:16.480 --> 0:14:20.040
<v Speaker 1>might call them UH in this case was how fast

0:14:20.120 --> 0:14:24.080
<v Speaker 1>and far it could move, like kind of scuttle across

0:14:24.120 --> 0:14:27.200
<v Speaker 1>the surface exactly. So it's not like it was performing

0:14:27.280 --> 0:14:30.640
<v Speaker 1>open heart surgery. No, No, they decided to hold that

0:14:30.800 --> 0:14:34.400
<v Speaker 1>for the next experiment. Perhaps, Now these robots all we

0:14:34.400 --> 0:14:38.360
<v Speaker 1>were supposed to do. We're create a locomotion power that

0:14:38.400 --> 0:14:42.560
<v Speaker 1>could move it from one point to another point, and

0:14:42.840 --> 0:14:46.800
<v Speaker 1>uh they would. The experiment measured how long it took

0:14:46.960 --> 0:14:52.200
<v Speaker 1>these little devices to move across this particular expanse they

0:14:52.280 --> 0:14:55.960
<v Speaker 1>changed up. That didn't make the cut. They didn't they

0:14:56.000 --> 0:14:59.520
<v Speaker 1>didn't continue on. Uh that they were taken apart. They

0:14:59.520 --> 0:15:02.400
<v Speaker 1>were taking up bodily by the mamabot. Actually, to be fair,

0:15:02.440 --> 0:15:04.320
<v Speaker 1>I think all of them were taken apart, but yes,

0:15:04.920 --> 0:15:09.280
<v Speaker 1>uh uh yeah they were. They'd be scuttled, they'd be

0:15:09.320 --> 0:15:14.120
<v Speaker 1>scuttled and then they'd be scuttled and and and harvested

0:15:14.160 --> 0:15:18.560
<v Speaker 1>for their organs essentially. So that was the that was

0:15:18.600 --> 0:15:22.560
<v Speaker 1>the criteria that the robot used. Um and here's how

0:15:22.600 --> 0:15:25.200
<v Speaker 1>it gets here. Let's break this down because that's that's

0:15:25.200 --> 0:15:28.200
<v Speaker 1>like an overview of what happened, but it's really interesting

0:15:28.200 --> 0:15:32.200
<v Speaker 1>when you get to the specifics. So what they wanted

0:15:32.240 --> 0:15:34.080
<v Speaker 1>to do is they wanted to design a system that

0:15:34.120 --> 0:15:39.920
<v Speaker 1>could design, test, and change robotic designs relatively rapidly. And

0:15:40.000 --> 0:15:44.120
<v Speaker 1>it needed to be a a system that could work

0:15:44.160 --> 0:15:46.440
<v Speaker 1>within the lab, but wasn't designed to be a practical

0:15:46.480 --> 0:15:50.000
<v Speaker 1>system that could go through every single possible arrangement of

0:15:50.040 --> 0:15:55.640
<v Speaker 1>the various pieces. For yeah, um, the pieces are essentially

0:15:55.680 --> 0:15:57.280
<v Speaker 1>two different types of cubes that will get to in

0:15:57.280 --> 0:16:00.160
<v Speaker 1>a second. So they wanted their approach to contain this

0:16:00.200 --> 0:16:03.160
<v Speaker 1>is a quote from their paper paper, a limited number

0:16:03.240 --> 0:16:07.440
<v Speaker 1>of evolutionary iterations, and that was, you know, the the

0:16:07.520 --> 0:16:11.520
<v Speaker 1>idea of let's let evolution lead us to what should

0:16:11.600 --> 0:16:16.000
<v Speaker 1>be the best version of these robotic designs, as opposed

0:16:16.040 --> 0:16:18.920
<v Speaker 1>to just doing trial and error, measuring everything and then

0:16:18.960 --> 0:16:22.760
<v Speaker 1>going with the top performer. Now, they did say in

0:16:22.800 --> 0:16:26.360
<v Speaker 1>their paper that while this is really interesting and could

0:16:26.440 --> 0:16:29.520
<v Speaker 1>in fact be a breakthrough in science and technology, you

0:16:29.600 --> 0:16:33.040
<v Speaker 1>have to admit that there are limitations to this technology

0:16:33.160 --> 0:16:37.440
<v Speaker 1>cannot necessarily be applied to mass production. Mass production relies

0:16:37.480 --> 0:16:42.520
<v Speaker 1>heavily on automation. Automation is different from mass customization. So

0:16:43.520 --> 0:16:47.520
<v Speaker 1>they said, you know, there there are certain practical applications

0:16:47.560 --> 0:16:50.080
<v Speaker 1>for this kind of approach, but it's not gonna be

0:16:50.160 --> 0:16:52.920
<v Speaker 1>like we're gonna design these robots and they are going

0:16:52.960 --> 0:16:58.160
<v Speaker 1>to magically make all of our factories work at efficiency. Uh.

0:16:58.240 --> 0:17:01.640
<v Speaker 1>It's uh. They said that there's a challenge to developing

0:17:01.640 --> 0:17:05.760
<v Speaker 1>automas design of quote a large morphological diversity end quote

0:17:06.400 --> 0:17:11.200
<v Speaker 1>morphological obviously meaning that the actual form of these things. Yeah.

0:17:11.400 --> 0:17:13.480
<v Speaker 1>So the basic design of the experiment was to use

0:17:13.520 --> 0:17:16.280
<v Speaker 1>a robotic arm that was the Mama butt, so it's

0:17:16.280 --> 0:17:18.600
<v Speaker 1>a robotic arm, and had to gripper fingers, so just

0:17:18.760 --> 0:17:22.080
<v Speaker 1>very simple robot um. One of the gripper fingers actually

0:17:22.160 --> 0:17:27.399
<v Speaker 1>had a a little nozzle through which it could squirt glue,

0:17:28.400 --> 0:17:32.040
<v Speaker 1>so they could glue pieces together. Uh, and it was

0:17:32.800 --> 0:17:35.240
<v Speaker 1>connected to a computer that was running the evolutionary software

0:17:35.240 --> 0:17:37.800
<v Speaker 1>to build the robots out of these little cube modules.

0:17:38.080 --> 0:17:40.919
<v Speaker 1>And they had two types of modules. They had passive modules,

0:17:41.320 --> 0:17:44.000
<v Speaker 1>which really just small wooden blocks that were painted black.

0:17:44.200 --> 0:17:46.360
<v Speaker 1>The reason they were painted black was so that the

0:17:46.440 --> 0:17:49.480
<v Speaker 1>cameras that the robot was using essentially as eyes, could

0:17:49.480 --> 0:17:52.680
<v Speaker 1>easily pick them up. Let's see where the little passive

0:17:52.680 --> 0:17:55.199
<v Speaker 1>ones were. So these couldn't do anything, right, they were

0:17:55.200 --> 0:17:58.560
<v Speaker 1>just connectors. And then you had the active modules. These

0:17:58.600 --> 0:18:01.879
<v Speaker 1>were a larger cube and one face of the cube

0:18:02.160 --> 0:18:04.919
<v Speaker 1>was attached to a small motor that could rotate at

0:18:04.920 --> 0:18:07.800
<v Speaker 1>a certain amplitude in frequency, so it could rotate the

0:18:07.800 --> 0:18:10.200
<v Speaker 1>face of the cube, which is kind of the basis

0:18:10.280 --> 0:18:13.359
<v Speaker 1>of the locomotion of the piece. Right, So, so imagine

0:18:13.400 --> 0:18:16.520
<v Speaker 1>a Rubik's cube where only one side can rotate around,

0:18:16.800 --> 0:18:19.040
<v Speaker 1>but it does so on a motor. That's essentially what

0:18:19.080 --> 0:18:23.479
<v Speaker 1>we're talking about. And so different cubes would have faces

0:18:23.520 --> 0:18:26.840
<v Speaker 1>that rotated at different speeds, and the all of the

0:18:26.880 --> 0:18:29.760
<v Speaker 1>information was contained within the cube so that the robot

0:18:29.800 --> 0:18:31.879
<v Speaker 1>would be aware of that. It wasn't like the robot

0:18:31.880 --> 0:18:34.960
<v Speaker 1>was randomly picking blocks and some could turn at a

0:18:35.000 --> 0:18:37.240
<v Speaker 1>certain speed and others would turn at half speed or

0:18:37.240 --> 0:18:40.400
<v Speaker 1>twice speed or whatever. The robot was actually quote unquote

0:18:40.400 --> 0:18:43.600
<v Speaker 1>aware of which cubes could do what and uh and

0:18:43.640 --> 0:18:47.760
<v Speaker 1>by by fitting them together in different combinations, uh yeah,

0:18:48.000 --> 0:18:49.960
<v Speaker 1>you could you could get the box to kind of

0:18:50.080 --> 0:18:52.399
<v Speaker 1>kind of wiggle, to kind of hop and wiggle across

0:18:52.400 --> 0:18:56.600
<v Speaker 1>the table. It reminds me um of the motion of

0:18:56.680 --> 0:19:01.080
<v Speaker 1>some of the the less mobile toys and toy story

0:19:01.200 --> 0:19:03.280
<v Speaker 1>um kind of just sort of like scuttling along it

0:19:03.359 --> 0:19:06.160
<v Speaker 1>ones that didn't have legs. Yeah. Yeah, it's flipping adorable,

0:19:06.200 --> 0:19:09.000
<v Speaker 1>you guys. I am going to see if we can

0:19:09.040 --> 0:19:11.720
<v Speaker 1>find video that's share able to share with you because

0:19:11.760 --> 0:19:13.879
<v Speaker 1>it is so cute. It makes me think of a

0:19:13.920 --> 0:19:17.480
<v Speaker 1>lot of like, you know, wind up toys that that

0:19:18.119 --> 0:19:22.080
<v Speaker 1>move because they're doing this repetitive motion. Uh, and that's

0:19:22.320 --> 0:19:26.320
<v Speaker 1>enough to propel them across a surface. Uh, not with anything.

0:19:26.480 --> 0:19:29.120
<v Speaker 1>They can't necessarily steer or anything, but they can move

0:19:29.440 --> 0:19:31.040
<v Speaker 1>the same sort of thing. Like the idea was that,

0:19:31.080 --> 0:19:34.720
<v Speaker 1>all right, well, if we pair this passive module with

0:19:34.760 --> 0:19:38.920
<v Speaker 1>these two active modules in this configuration, will that create

0:19:39.040 --> 0:19:42.480
<v Speaker 1>movement that's faster and more effective than this other design.

0:19:43.080 --> 0:19:45.800
<v Speaker 1>So the computer they used was a regular desktop PC,

0:19:46.080 --> 0:19:48.919
<v Speaker 1>nothing particularly special about it, but it was running a

0:19:48.960 --> 0:19:52.679
<v Speaker 1>controller program that was using the matt Lab language m

0:19:52.720 --> 0:19:55.600
<v Speaker 1>A T L A B and that's used for interactive

0:19:55.640 --> 0:19:59.159
<v Speaker 1>environments of developing algorithms, among lots of other stuff. The

0:19:59.240 --> 0:20:02.280
<v Speaker 1>robotic arm could easily grip and rotate any module it shows,

0:20:02.440 --> 0:20:04.520
<v Speaker 1>and could stick two of them together using what they

0:20:04.560 --> 0:20:09.040
<v Speaker 1>called a hot melt adhesive or h m A. Yeah,

0:20:09.160 --> 0:20:12.479
<v Speaker 1>essentially like hot glue, like glue gun glue is more

0:20:12.560 --> 0:20:15.200
<v Speaker 1>or less what that was, And it could build robots

0:20:15.240 --> 0:20:19.560
<v Speaker 1>by combining multiple modules together. Each module had what they

0:20:19.600 --> 0:20:23.359
<v Speaker 1>called a gene, which essentially described the type of module

0:20:23.400 --> 0:20:26.800
<v Speaker 1>it was and the motor control of that module, and

0:20:26.840 --> 0:20:31.320
<v Speaker 1>also included the construction parameters. Of the module construction parameters. Essentially,

0:20:31.359 --> 0:20:34.000
<v Speaker 1>it was things like basic rules for the robot to

0:20:34.119 --> 0:20:37.159
<v Speaker 1>understand so that it could effectively build a robot. In

0:20:37.160 --> 0:20:39.840
<v Speaker 1>other words, if you want to build a robot, you're

0:20:39.840 --> 0:20:42.560
<v Speaker 1>probably gonna need to put a larger piece down first

0:20:42.640 --> 0:20:44.720
<v Speaker 1>before you put a smaller piece on top. It was

0:20:44.760 --> 0:20:47.879
<v Speaker 1>building them vertically, so it needed to know, Hey, if

0:20:47.920 --> 0:20:50.040
<v Speaker 1>you try and build a robot this other way, this

0:20:50.119 --> 0:20:52.560
<v Speaker 1>thing's gonna fall over. So you need to be able

0:20:52.600 --> 0:20:55.439
<v Speaker 1>to build them in you know, these are the general

0:20:55.520 --> 0:20:57.720
<v Speaker 1>rules you need to follow, essentially the rules of physics,

0:20:58.160 --> 0:21:00.840
<v Speaker 1>so that your robot will be built the way you

0:21:00.880 --> 0:21:04.720
<v Speaker 1>intend to build it. Uh. So a robot was made

0:21:04.760 --> 0:21:06.480
<v Speaker 1>up of these modules, and it was said to have

0:21:06.520 --> 0:21:10.080
<v Speaker 1>a genome. It was the collection of these genes and

0:21:10.480 --> 0:21:13.440
<v Speaker 1>uh these genes would either work or not work together.

0:21:14.080 --> 0:21:19.000
<v Speaker 1>And robots could have between one to five genes modules. Yeah,

0:21:19.160 --> 0:21:22.399
<v Speaker 1>now they if it's having five. The max was three

0:21:22.400 --> 0:21:25.360
<v Speaker 1>active too passive. You could not have more than three

0:21:25.359 --> 0:21:28.320
<v Speaker 1>active simply because it would make the robot too heavy

0:21:28.359 --> 0:21:31.040
<v Speaker 1>for the gripp or to grip. Right. Yeah, that's that's

0:21:31.040 --> 0:21:33.719
<v Speaker 1>one of those limiting factors in reality there. Yeah, so

0:21:33.800 --> 0:21:36.439
<v Speaker 1>if it were more than fifty grams of mass. The

0:21:36.520 --> 0:21:39.000
<v Speaker 1>robotic arm, the gripper just couldn't maintain a grip. It

0:21:39.040 --> 0:21:42.680
<v Speaker 1>would drop it and it would break. And so practically

0:21:42.920 --> 0:21:45.800
<v Speaker 1>you could have a maximum of three active and two

0:21:45.800 --> 0:21:50.159
<v Speaker 1>passive pieces connected altogether. They didn't necessarily have to have

0:21:50.200 --> 0:21:52.760
<v Speaker 1>that many. Some of them were only three or two

0:21:52.960 --> 0:21:58.440
<v Speaker 1>uh two blocks large at large two blocks in total,

0:21:59.080 --> 0:22:02.479
<v Speaker 1>but at any rate, the construction parameters were these very

0:22:02.520 --> 0:22:06.600
<v Speaker 1>simple directions and it allowed a lot of flexibility. So

0:22:07.440 --> 0:22:10.560
<v Speaker 1>the robot arm essentially could decide which modules to use

0:22:10.680 --> 0:22:13.760
<v Speaker 1>and how to connect the two together or three or

0:22:13.920 --> 0:22:18.359
<v Speaker 1>four however many together, and then test it so that

0:22:18.640 --> 0:22:20.960
<v Speaker 1>the what would happen after it builds one of these,

0:22:21.000 --> 0:22:24.760
<v Speaker 1>after it squirts the glue and everything. Um, you could

0:22:24.760 --> 0:22:28.359
<v Speaker 1>actually send it a genome essentially a recipe saying here

0:22:28.400 --> 0:22:30.439
<v Speaker 1>are the modules I want you to use and the

0:22:30.480 --> 0:22:32.320
<v Speaker 1>configuration I want you to put them in, and this

0:22:32.359 --> 0:22:34.600
<v Speaker 1>is going to represent the first generation. You could do that,

0:22:35.240 --> 0:22:39.640
<v Speaker 1>or you could make it uh more of a random approach. Well.

0:22:39.680 --> 0:22:43.080
<v Speaker 1>Once built, the mother robot would lift the finish modular robot,

0:22:43.440 --> 0:22:45.879
<v Speaker 1>move it to the testing area, which is just a

0:22:45.880 --> 0:22:49.520
<v Speaker 1>flat surface for the robot to crawl across, also known

0:22:49.560 --> 0:22:54.320
<v Speaker 1>as the arena. In some cases it was a hard surface.

0:22:54.400 --> 0:22:57.000
<v Speaker 1>In other cases they used a carpeted service, and at

0:22:57.080 --> 0:22:59.280
<v Speaker 1>least in one they used a foam surface. Yeah. They

0:22:59.280 --> 0:23:02.640
<v Speaker 1>they slowly moved towards the foam surface as they realized

0:23:02.680 --> 0:23:07.399
<v Speaker 1>throughout the experiment that the robots were having undo trouble.

0:23:07.840 --> 0:23:09.880
<v Speaker 1>I was sad to learn that the foam they were

0:23:09.880 --> 0:23:12.000
<v Speaker 1>talking about was like, you know, kind of like mattress

0:23:12.040 --> 0:23:15.359
<v Speaker 1>foam as opposed to foam party. It's a little bit

0:23:15.520 --> 0:23:19.359
<v Speaker 1>robots just getting down and raving. I come from the

0:23:19.480 --> 0:23:27.160
<v Speaker 1>specific time, y'all. Anyway, Wow, Joe to a foam party

0:23:27.920 --> 0:23:32.680
<v Speaker 1>has been no pope, you like pink II. Here we go,

0:23:33.240 --> 0:23:38.000
<v Speaker 1>all right. So the modular robots would then be activated wirelessly.

0:23:38.040 --> 0:23:42.280
<v Speaker 1>They had inside of them essentially a receiver for Bluetooth

0:23:42.359 --> 0:23:47.160
<v Speaker 1>or WiFi, and that would activate them to go into uh,

0:23:47.280 --> 0:23:53.040
<v Speaker 1>you know, their basic motorized action. Yeah, and then there

0:23:53.040 --> 0:23:55.520
<v Speaker 1>would be a couple of cameras, including an overhead camera

0:23:55.600 --> 0:24:00.200
<v Speaker 1>that would measure their progress across the surface, and then

0:24:00.200 --> 0:24:04.840
<v Speaker 1>they would essentially, uh take the the distance they traveled

0:24:05.040 --> 0:24:08.360
<v Speaker 1>and within a certain amount of time. Originally they went

0:24:08.359 --> 0:24:12.040
<v Speaker 1>with eight seconds, so after eight seconds, we see how

0:24:12.040 --> 0:24:15.040
<v Speaker 1>far they've gone. Uh. They had to switch that to

0:24:15.160 --> 0:24:19.800
<v Speaker 1>four seconds because later tests the modules were moving quote

0:24:19.880 --> 0:24:25.040
<v Speaker 1>unquote so quickly. Yea, it was working, so they needed

0:24:25.080 --> 0:24:27.560
<v Speaker 1>to have They needed to shorten the amount of time

0:24:27.600 --> 0:24:30.240
<v Speaker 1>because otherwise the robots would just travel out of the

0:24:30.320 --> 0:24:32.440
<v Speaker 1>view of the camera. So they had to shorten the

0:24:32.440 --> 0:24:34.800
<v Speaker 1>amount of time so that the robot arm could make

0:24:34.840 --> 0:24:39.080
<v Speaker 1>determinations of which ones were the most effective. Uh So,

0:24:39.280 --> 0:24:42.439
<v Speaker 1>after testing, the modular robots were disassembled by hand, so

0:24:42.480 --> 0:24:46.520
<v Speaker 1>the so the mother did not have to kill her babies. Uh,

0:24:46.560 --> 0:24:50.320
<v Speaker 1>the unfeeling scientists got to do that. Uh. So then

0:24:50.320 --> 0:24:52.119
<v Speaker 1>they had to also remove all the h a the

0:24:52.200 --> 0:24:56.760
<v Speaker 1>hot melted agent material, and then they were replaced onto

0:24:56.840 --> 0:25:00.399
<v Speaker 1>the work area. The work area as you would imagine. Uh,

0:25:00.560 --> 0:25:03.440
<v Speaker 1>each module had its specific place in the work area,

0:25:03.520 --> 0:25:05.879
<v Speaker 1>so that way the robot quote unquote knew where to

0:25:05.960 --> 0:25:10.040
<v Speaker 1>go to pick specific modules. Because these machines are not

0:25:10.240 --> 0:25:13.399
<v Speaker 1>that smart, right, you have to put the things in

0:25:13.480 --> 0:25:17.840
<v Speaker 1>the right orientation and the right um location for the

0:25:17.920 --> 0:25:19.600
<v Speaker 1>robot to be able to grab them. We've talked about

0:25:19.600 --> 0:25:22.360
<v Speaker 1>this with other robots too that are combining objects if

0:25:22.400 --> 0:25:24.959
<v Speaker 1>you have the objects in a specific order. I think

0:25:24.960 --> 0:25:27.919
<v Speaker 1>we talked about this with the cooking robots. Specifically you

0:25:27.960 --> 0:25:29.960
<v Speaker 1>have to have them in a specific place, to specific order,

0:25:30.040 --> 0:25:32.520
<v Speaker 1>or else everything is just going to come out mixed

0:25:32.600 --> 0:25:35.880
<v Speaker 1>up and awful. It couldn't recognize what was what. Yeah, yeah,

0:25:35.880 --> 0:25:40.359
<v Speaker 1>it's just following like it understands quote unquote understands the

0:25:41.040 --> 0:25:44.200
<v Speaker 1>uh qualities of each item, but only if the right

0:25:44.240 --> 0:25:46.840
<v Speaker 1>item is in the right place. So if you put

0:25:46.880 --> 0:25:49.480
<v Speaker 1>all the active modules where the past of one should

0:25:49.560 --> 0:25:52.119
<v Speaker 1>be and vice versa, it would it's not gonna be

0:25:52.119 --> 0:25:55.400
<v Speaker 1>able to tell the difference exactly. So at that point,

0:25:55.480 --> 0:25:57.879
<v Speaker 1>the evolutionary system would begin to tweak the genomes. It

0:25:57.920 --> 0:26:01.080
<v Speaker 1>could swap out genes in a genome, or it could

0:26:01.119 --> 0:26:03.960
<v Speaker 1>combine different genomes. So essentially it would be like breeding

0:26:04.040 --> 0:26:07.919
<v Speaker 1>two robots, saying, if if robot from this generation and

0:26:08.200 --> 0:26:12.040
<v Speaker 1>another robot from that generation were to combine, here are

0:26:12.040 --> 0:26:15.800
<v Speaker 1>the qualities that would emerge from that, keeping in mind

0:26:15.960 --> 0:26:19.360
<v Speaker 1>essentially the robots choosing which qualities would emerge. Because you're

0:26:19.359 --> 0:26:23.160
<v Speaker 1>still limited. You can't have more than five genes, so

0:26:23.480 --> 0:26:25.720
<v Speaker 1>it's not like it would just be additive. It would

0:26:25.760 --> 0:26:28.679
<v Speaker 1>have to be selective in which genes from which two

0:26:29.000 --> 0:26:32.000
<v Speaker 1>got selected to be combined into a new one. And

0:26:32.000 --> 0:26:34.840
<v Speaker 1>then the theory was that, or at least the hope

0:26:34.880 --> 0:26:39.359
<v Speaker 1>was that it could design another generation of better performing robots,

0:26:39.400 --> 0:26:41.520
<v Speaker 1>and some of them might not perform well. It may

0:26:41.600 --> 0:26:45.320
<v Speaker 1>turn out that the genes from robot one and the

0:26:45.400 --> 0:26:48.359
<v Speaker 1>genes from robots seven are not as compatible and they

0:26:48.359 --> 0:26:51.600
<v Speaker 1>actually perform worse than either one or seven did individually

0:26:51.600 --> 0:26:54.320
<v Speaker 1>in the generation before. And that happened a couple of times, Yes,

0:26:54.359 --> 0:26:58.080
<v Speaker 1>it did. So they held a total of five experiments,

0:26:58.119 --> 0:27:01.679
<v Speaker 1>and between these experiments they changed up the surface. They

0:27:01.880 --> 0:27:05.920
<v Speaker 1>made some tweaks to various rules. They actually numbered them

0:27:06.320 --> 0:27:10.479
<v Speaker 1>one A through one D and then two. Yeah, they

0:27:10.520 --> 0:27:13.680
<v Speaker 1>did five five different runs, but four of them fit

0:27:13.800 --> 0:27:18.080
<v Speaker 1>under the category of experiment one. So each experiment started

0:27:18.080 --> 0:27:21.879
<v Speaker 1>with ten agents other in other words, ten basic robot

0:27:21.960 --> 0:27:26.360
<v Speaker 1>designs UH that represented ten different genomes, and then each

0:27:26.359 --> 0:27:29.240
<v Speaker 1>experiment ran through ten generations, so you've got a hundred

0:27:29.480 --> 0:27:34.360
<v Speaker 1>different designs total per experiment and UH. The first four

0:27:34.359 --> 0:27:38.160
<v Speaker 1>experiments started with some randomly generated designs consisting of one

0:27:38.240 --> 0:27:42.600
<v Speaker 1>to three motorized elements, and they put all the construction

0:27:42.640 --> 0:27:46.719
<v Speaker 1>constraints they had designed in play for those initial experiments.

0:27:46.920 --> 0:27:49.080
<v Speaker 1>The testing environment was changed a couple of times. That's

0:27:49.119 --> 0:27:51.000
<v Speaker 1>when they started with a hard ground, then they moved

0:27:51.000 --> 0:27:53.280
<v Speaker 1>to the carpeted service and then the foam h and

0:27:53.480 --> 0:27:57.040
<v Speaker 1>humans started helping out the mom about eventually to hold

0:27:57.200 --> 0:28:00.520
<v Speaker 1>the component's study during the build phase, uh so that

0:28:00.560 --> 0:28:04.800
<v Speaker 1>she would not drop them basically. Uh And they also

0:28:04.840 --> 0:28:07.679
<v Speaker 1>began manually inspecting the baby bots to be sure that

0:28:07.720 --> 0:28:10.160
<v Speaker 1>none of the pieces were going to collide with each

0:28:10.200 --> 0:28:13.280
<v Speaker 1>other during the test, because that would damage the pieces

0:28:13.320 --> 0:28:16.160
<v Speaker 1>and make things less fun for everyone involved. Yeah, especially

0:28:16.160 --> 0:28:20.000
<v Speaker 1>since that would affect any future Yeah, because if you

0:28:20.440 --> 0:28:23.679
<v Speaker 1>if the cube gets damaged, then you it's hard to

0:28:23.720 --> 0:28:27.359
<v Speaker 1>determine if the robot would have performed better had it

0:28:27.600 --> 0:28:30.760
<v Speaker 1>worked with a brand new cube. And uh So they

0:28:30.760 --> 0:28:33.000
<v Speaker 1>were being very careful at that point. A little human

0:28:33.040 --> 0:28:36.840
<v Speaker 1>intervention wasn't necessary because it was you know, this is

0:28:36.880 --> 0:28:39.959
<v Speaker 1>like a proof of concept type of approach anyway, So

0:28:40.040 --> 0:28:42.840
<v Speaker 1>the fifth experiment, the initial generation of agents was not

0:28:43.200 --> 0:28:47.360
<v Speaker 1>generated randomly. Instead, they picked some of the best performing

0:28:47.400 --> 0:28:50.880
<v Speaker 1>designs that came out of the previous experiments, So generation

0:28:50.960 --> 0:28:54.960
<v Speaker 1>one was actually made up of robots that had already

0:28:55.040 --> 0:28:57.480
<v Speaker 1>been built in the first four experiments, and just said,

0:28:57.480 --> 0:29:00.960
<v Speaker 1>all right, let's made me think of you FC. Let's

0:29:00.960 --> 0:29:04.200
<v Speaker 1>take the champions of all these different fighting disciplines and

0:29:04.240 --> 0:29:06.880
<v Speaker 1>put them together and see what happens. Except instead of fighting,

0:29:06.880 --> 0:29:12.200
<v Speaker 1>they're supposed to make babies, so totally different UFC. I

0:29:12.240 --> 0:29:15.040
<v Speaker 1>guess in that sense, I would suppose. So yeah. I mean,

0:29:15.080 --> 0:29:17.320
<v Speaker 1>I don't know a whole lot about the UFC, but

0:29:17.680 --> 0:29:20.040
<v Speaker 1>I know a great article written by a certain Jonathan

0:29:20.080 --> 0:29:23.360
<v Speaker 1>Strickland you should read. Uh. Interestingly, the test could that

0:29:23.400 --> 0:29:25.760
<v Speaker 1>be found on how stuff works dot com. Could. In fact,

0:29:25.800 --> 0:29:27.120
<v Speaker 1>if you go to how stuff works dot com and

0:29:27.160 --> 0:29:30.240
<v Speaker 1>look how the UFC works, you will find an article

0:29:30.280 --> 0:29:33.800
<v Speaker 1>I wrote ages ago. It was awesome. Um. So interestingly,

0:29:33.920 --> 0:29:36.960
<v Speaker 1>the test that produced the most improvement from first generation

0:29:37.280 --> 0:29:41.120
<v Speaker 1>to the last generation was the fourth test. They actually

0:29:41.160 --> 0:29:43.880
<v Speaker 1>plotted out each generation's performance on a kind of a

0:29:43.920 --> 0:29:49.520
<v Speaker 1>line graph chart, and UH, they average the ten robots fitness,

0:29:49.600 --> 0:29:54.280
<v Speaker 1>that's what they called the performance of moving across the surface. UH,

0:29:54.320 --> 0:29:58.840
<v Speaker 1>and they the fourth test saw steady improvement with one exception, uh,

0:29:59.000 --> 0:30:01.760
<v Speaker 1>where at general ration five there was a slight dip

0:30:01.840 --> 0:30:05.600
<v Speaker 1>in performance and generation ten saw very slight decline in

0:30:05.640 --> 0:30:09.400
<v Speaker 1>performance from generation nine, so generation nine did the best

0:30:09.480 --> 0:30:11.920
<v Speaker 1>out of the fourth test. The fifth test saw the

0:30:12.000 --> 0:30:14.800
<v Speaker 1>longest declining trends. So this was the This was the

0:30:14.800 --> 0:30:17.680
<v Speaker 1>one where they took the champions from the previous tests

0:30:18.200 --> 0:30:22.840
<v Speaker 1>and started with those. So this is the DEVO group. Yeah, yes,

0:30:22.920 --> 0:30:27.880
<v Speaker 1>and exactly. They had a devolution uh in generation over

0:30:27.920 --> 0:30:32.040
<v Speaker 1>generation from three to seven, so their their performance actually declined,

0:30:32.280 --> 0:30:36.400
<v Speaker 1>not steadily, but in each generation there was a decrease

0:30:36.440 --> 0:30:39.280
<v Speaker 1>in fitness. But then it all turned around. Yeah, they

0:30:39.280 --> 0:30:41.880
<v Speaker 1>started to see improvements again and all the way through

0:30:41.920 --> 0:30:44.560
<v Speaker 1>to generation ten. So it was one of those things

0:30:44.560 --> 0:30:47.600
<v Speaker 1>where by the end, I think in every single case,

0:30:48.120 --> 0:30:53.400
<v Speaker 1>the generation ten robots outperformed the initial generation of robots

0:30:53.520 --> 0:30:56.960
<v Speaker 1>in all the tests. There were some cases where generation

0:30:57.000 --> 0:31:01.480
<v Speaker 1>ten didn't outperform, maybe generation in seven or eight, but

0:31:01.560 --> 0:31:06.080
<v Speaker 1>in all of them they outperform generation one. Uh. It

0:31:06.120 --> 0:31:08.520
<v Speaker 1>was really interesting. The fourth test, top performing agents in

0:31:08.520 --> 0:31:11.560
<v Speaker 1>the first generation average two point eight centimeters per second,

0:31:12.280 --> 0:31:14.880
<v Speaker 1>and by the tenth generation it had increased to six

0:31:14.920 --> 0:31:18.040
<v Speaker 1>point seven centimeters per second. Yeah, so more than twice

0:31:18.040 --> 0:31:20.959
<v Speaker 1>and twice yeah, yeah, so that's pretty exciting. That they

0:31:21.000 --> 0:31:24.160
<v Speaker 1>were able to take this approach and increase the speed

0:31:24.280 --> 0:31:26.760
<v Speaker 1>of these mobile agents by a factor more than a

0:31:26.800 --> 0:31:30.200
<v Speaker 1>factor of two, which yeah, yeah, the researchers did. Uh.

0:31:30.640 --> 0:31:33.520
<v Speaker 1>Did note that the disadvantage and having the mom about

0:31:33.880 --> 0:31:38.400
<v Speaker 1>manually test each generation is that it takes time, and

0:31:38.640 --> 0:31:41.400
<v Speaker 1>so there's a little bit of a payoff balance between

0:31:41.600 --> 0:31:46.000
<v Speaker 1>running simulations first versus going straight into that real world testing.

0:31:46.040 --> 0:31:48.640
<v Speaker 1>And they were talking about how they hoped to streamline

0:31:48.640 --> 0:31:51.840
<v Speaker 1>the process in the future by using simulations to select

0:31:51.880 --> 0:31:55.080
<v Speaker 1>the most likely successful models and then begin testing with

0:31:55.120 --> 0:31:58.240
<v Speaker 1>those instead of kind of starting from scratch. Yeah. Uh.

0:31:58.320 --> 0:32:00.120
<v Speaker 1>And in fact, they had talked in their paper or

0:32:00.120 --> 0:32:02.840
<v Speaker 1>about how, yeah, this is this is a balance, right,

0:32:02.920 --> 0:32:06.040
<v Speaker 1>because when you go with the pure simulation mode, it

0:32:06.080 --> 0:32:08.600
<v Speaker 1>may turn out that when you when you transfer the

0:32:08.600 --> 0:32:13.000
<v Speaker 1>simulation to reality, things don't behave exactly as you had anticipated.

0:32:13.320 --> 0:32:16.360
<v Speaker 1>Perhaps the simulation was unable to take all the different

0:32:16.400 --> 0:32:19.640
<v Speaker 1>factors into account, or it just maybe that, you know,

0:32:19.720 --> 0:32:22.560
<v Speaker 1>it's just in the real world stuff behaves a little

0:32:22.560 --> 0:32:26.080
<v Speaker 1>differently than the idealized virtual world. But a combination of

0:32:26.120 --> 0:32:29.160
<v Speaker 1>the two is probably the best approach, because, like Laurence says,

0:32:29.720 --> 0:32:33.360
<v Speaker 1>if you do everything physically. Then you need to have

0:32:33.440 --> 0:32:36.320
<v Speaker 1>the luxury of time on your side, just because it

0:32:36.400 --> 0:32:39.120
<v Speaker 1>will take this time to physically build these things, and

0:32:39.240 --> 0:32:42.200
<v Speaker 1>plenty of blocks and glue, yeah, and lots of humans

0:32:42.240 --> 0:32:46.120
<v Speaker 1>to d glue the blocks, and and these robots are

0:32:46.200 --> 0:32:48.400
<v Speaker 1>just blocks, right, I mean this this is the about

0:32:48.440 --> 0:32:52.440
<v Speaker 1>as unsophisticated a robot as you can get. So if

0:32:52.440 --> 0:32:55.880
<v Speaker 1>we were talking about a robot designing a future robot

0:32:55.920 --> 0:32:58.960
<v Speaker 1>capable of doing something really sophisticated, it would obviously take

0:32:59.000 --> 0:33:01.560
<v Speaker 1>even more time. Yeah, I don't know. I've met some

0:33:01.560 --> 0:33:04.640
<v Speaker 1>pretty ansophisticated robots. Well, I mean they really like cheese.

0:33:04.640 --> 0:33:09.880
<v Speaker 1>It's they don't tip. Well, um, they prefer they prefer

0:33:10.000 --> 0:33:12.160
<v Speaker 1>light beer to I p a s. Yeah. Yeah, that's

0:33:12.200 --> 0:33:14.680
<v Speaker 1>that's why I was giggling a second second ago. That's sad,

0:33:15.200 --> 0:33:19.120
<v Speaker 1>Please please continue. Well, no, no, The cool thing to

0:33:19.120 --> 0:33:23.200
<v Speaker 1>think about is that imagine a future where we have

0:33:23.440 --> 0:33:27.520
<v Speaker 1>machines capable of designing a new generation of machines that

0:33:27.600 --> 0:33:31.080
<v Speaker 1>are better adept at doing whatever they need to do

0:33:31.560 --> 0:33:34.200
<v Speaker 1>than the previous ones, and then can even learn from

0:33:34.240 --> 0:33:36.600
<v Speaker 1>that and build even better ones in the future, perhaps

0:33:36.720 --> 0:33:41.280
<v Speaker 1>even building a better computer to design the next generations

0:33:41.560 --> 0:33:45.640
<v Speaker 1>and eventually you arrive at or deep thought, because that's

0:33:45.640 --> 0:33:48.960
<v Speaker 1>exactly what deep thought was in Hitchecker's Guide to the Galaxy.

0:33:49.200 --> 0:33:51.959
<v Speaker 1>Was that well, deep thought said it could give the

0:33:52.000 --> 0:33:55.880
<v Speaker 1>answer to the question of life, the universe and everything,

0:33:55.920 --> 0:33:58.600
<v Speaker 1>but could not give the question and said, in order

0:33:58.640 --> 0:34:01.280
<v Speaker 1>to get to the question, it could design a computer

0:34:01.720 --> 0:34:04.280
<v Speaker 1>that would be even more advanced and be able to

0:34:04.320 --> 0:34:09.360
<v Speaker 1>answer that question after a really long time. But that's all.

0:34:09.480 --> 0:34:11.239
<v Speaker 1>That's the best it could do, is that it could

0:34:11.280 --> 0:34:14.200
<v Speaker 1>design a better machine than it to be able to

0:34:14.239 --> 0:34:16.400
<v Speaker 1>answer or to come up with what the question was.

0:34:17.400 --> 0:34:20.440
<v Speaker 1>Of course, we all remember the answers forty two question

0:34:20.480 --> 0:34:24.600
<v Speaker 1>turned out to be was six times eight. Just shows

0:34:24.600 --> 0:34:27.239
<v Speaker 1>you that something's wrong with the universe. But now this

0:34:27.280 --> 0:34:37.120
<v Speaker 1>is really kind of I'll get you a computer. Um. Yeah,

0:34:38.040 --> 0:34:40.560
<v Speaker 1>obviously it's a joke in hitchecker Sketch the Galaxy. But

0:34:40.600 --> 0:34:43.719
<v Speaker 1>this is this is the neat ideas, This this approach

0:34:43.800 --> 0:34:48.239
<v Speaker 1>where we can set certain types of machinery on a

0:34:48.320 --> 0:34:55.080
<v Speaker 1>pathway to reach this possibly increasingly efficient means of evolution

0:34:55.600 --> 0:34:59.919
<v Speaker 1>to create better tools. Um. This is also obviously one

0:35:00.040 --> 0:35:05.640
<v Speaker 1>of the principles that underlies certain versions of the singularity, right,

0:35:05.920 --> 0:35:07.680
<v Speaker 1>like this idea that we get to a point where

0:35:07.680 --> 0:35:12.040
<v Speaker 1>evolution is so constant that there is no meaningful way

0:35:12.080 --> 0:35:15.200
<v Speaker 1>to describe the present anymore because it's everything is changing

0:35:15.239 --> 0:35:18.279
<v Speaker 1>all the time. And uh, and this is sort of

0:35:18.280 --> 0:35:20.640
<v Speaker 1>the kind of stuff that would be necessary for that

0:35:20.680 --> 0:35:24.919
<v Speaker 1>particular version of the singularity to come to pass, will it. Well,

0:35:25.000 --> 0:35:27.759
<v Speaker 1>let's just say that based upon what's going on right now,

0:35:27.920 --> 0:35:30.920
<v Speaker 1>it's gonna take some time. We got some real cute

0:35:30.920 --> 0:35:34.319
<v Speaker 1>wiggly blocks in in the meanwhile, though, So yeah, I

0:35:34.480 --> 0:35:37.480
<v Speaker 1>am still very skeptical that we will see anything close

0:35:37.520 --> 0:35:40.120
<v Speaker 1>to the singularity on a time scale that kurtz Wild

0:35:40.200 --> 0:35:58.520
<v Speaker 1>has predicted. Do you mean twenty to forty years? Yeah,

0:35:59.239 --> 0:36:02.960
<v Speaker 1>it's so this was kind of fun. I mean, if you,

0:36:03.360 --> 0:36:04.880
<v Speaker 1>if you get a chance, you can read the paper.

0:36:04.880 --> 0:36:07.160
<v Speaker 1>The paper is actually quite easy to read. It's um

0:36:07.160 --> 0:36:10.920
<v Speaker 1>it's not an inaccessible paper, and it is available. It

0:36:11.000 --> 0:36:14.440
<v Speaker 1>is very accessible. It's it's available for free on the internet. Yep.

0:36:14.520 --> 0:36:17.120
<v Speaker 1>So you can read all about the experiments. They go

0:36:17.160 --> 0:36:20.120
<v Speaker 1>into detail. They really I didn't go into a lot

0:36:20.160 --> 0:36:23.320
<v Speaker 1>of detail about the differences between the five different runs

0:36:23.360 --> 0:36:26.760
<v Speaker 1>they did, just because it would have gotten super technical

0:36:27.400 --> 0:36:30.759
<v Speaker 1>still understandable, but just bogged down in a lot of

0:36:30.800 --> 0:36:34.560
<v Speaker 1>technical details. But it's all there in their their paper.

0:36:34.680 --> 0:36:37.040
<v Speaker 1>We'll try to remember to link it on various forms

0:36:37.040 --> 0:36:39.400
<v Speaker 1>of social media if you want to google it for yourself.

0:36:39.560 --> 0:36:42.520
<v Speaker 1>The full name of the paper is Morphological Evolution of

0:36:42.560 --> 0:36:48.920
<v Speaker 1>Physical Robots through model free phenotype development blin Yes. And

0:36:48.960 --> 0:36:50.759
<v Speaker 1>if you want to get in touch with us and

0:36:51.239 --> 0:36:53.839
<v Speaker 1>and ask us to cover a specific topic. Maybe there's

0:36:53.840 --> 0:36:56.840
<v Speaker 1>something about the future you have always been curious about

0:36:56.920 --> 0:36:59.440
<v Speaker 1>and would like to hear our take on it, let

0:36:59.520 --> 0:37:01.600
<v Speaker 1>us know. So does an email the addresses f W

0:37:01.800 --> 0:37:04.319
<v Speaker 1>thinking at how Stuff Works dot com, or drop us

0:37:04.320 --> 0:37:06.120
<v Speaker 1>a line on Twitter or Google Plus. We are f

0:37:06.280 --> 0:37:08.719
<v Speaker 1>W thinking at both of those, or search f W

0:37:09.080 --> 0:37:11.680
<v Speaker 1>thinking and Facebook. We'll pop right up. You can leave

0:37:11.760 --> 0:37:14.880
<v Speaker 1>us a message and we'll talk to you again really

0:37:14.920 --> 0:37:22.879
<v Speaker 1>soon for more on this topic and the future of technology.

0:37:23.200 --> 0:37:37.080
<v Speaker 1>This is forward Sinking dot Com, brought to you by Toyota.

0:37:37.560 --> 0:37:38.520
<v Speaker 1>Let's go places,