[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:14.70,Default,,0000,0000,0000,,(music) >> This presentation is delivered by the Stanford Dialogue: 0,0:00:14.72,0:00:24.47,Default,,0000,0000,0000,,Center for Professional Development. Dialogue: 0,0:00:24.49,0:00:27.11,Default,,0000,0000,0000,,>> Okay, let's get started. Dialogue: 0,0:00:27.13,0:00:29.79,Default,,0000,0000,0000,,Welcome to Intro to Robotics, 2008. Dialogue: 0,0:00:29.81,0:00:34.21,Default,,0000,0000,0000,,Well, Happy New Year to everyone. Dialogue: 0,0:00:34.23,0:00:40.25,Default,,0000,0000,0000,,So in Introduction to Robotics, we are going to really cover Dialogue: 0,0:00:40.27,0:00:44.88,Default,,0000,0000,0000,,the foundations of robotics--that is, we are going to look Dialogue: 0,0:00:44.90,0:00:48.88,Default,,0000,0000,0000,,at mathematical models that represents Dialogue: 0,0:00:48.90,0:00:51.89,Default,,0000,0000,0000,,[sic] robotic systems in many different ways. Dialogue: 0,0:00:51.91,0:00:56.60,Default,,0000,0000,0000,,And in fact, you just saw those in class. Dialogue: 0,0:00:56.62,0:00:57.62,Default,,0000,0000,0000,,You saw a Dialogue: 0,0:00:57.62,0:01:03.61,Default,,0000,0000,0000,,[sic] assimilation of a humanoid robotic system that we are Dialogue: 0,0:01:03.63,0:01:05.40,Default,,0000,0000,0000,,controlling at the same time. Dialogue: 0,0:01:05.42,0:01:09.55,Default,,0000,0000,0000,,And if you think about a model that you are going to use for Dialogue: 0,0:01:09.57,0:01:12.82,Default,,0000,0000,0000,,the assimilation, you need really to represent the Dialogue: 0,0:01:12.84,0:01:14.40,Default,,0000,0000,0000,,kinematics of the system. Dialogue: 0,0:01:14.42,0:01:19.52,Default,,0000,0000,0000,,You need also to be able to actuate the system by going to Dialogue: 0,0:01:19.54,0:01:23.41,Default,,0000,0000,0000,,the motors and finding the right torques to make the robot Dialogue: 0,0:01:23.43,0:01:24.43,Default,,0000,0000,0000,,move. Dialogue: 0,0:01:24.43,0:01:27.03,Default,,0000,0000,0000,,So let's go back to this-- Dialogue: 0,0:01:27.05,0:01:30.66,Default,,0000,0000,0000,,I think it is quite interesting. Dialogue: 0,0:01:30.68,0:01:36.32,Default,,0000,0000,0000,,So here's a robot you would like to control. Dialogue: 0,0:01:36.34,0:01:42.48,Default,,0000,0000,0000,,And the question is: How can we really come up with a way of Dialogue: 0,0:01:42.50,0:01:46.08,Default,,0000,0000,0000,,controlling the hands to move from one location to another? Dialogue: 0,0:01:46.10,0:01:50.39,Default,,0000,0000,0000,,And if you think about this problem, there are many Dialogue: 0,0:01:50.41,0:01:53.55,Default,,0000,0000,0000,,different ways of, in fact, controlling the robot. Dialogue: 0,0:01:53.57,0:01:56.94,Default,,0000,0000,0000,,First of all, you need to know where the robot is, and to Dialogue: 0,0:01:56.96,0:01:59.91,Default,,0000,0000,0000,,know where the robot is, you need some sensors. Dialogue: 0,0:01:59.93,0:02:02.23,Default,,0000,0000,0000,,So, what kind of sensors you would have Dialogue: 0,0:02:02.25,0:02:05.41,Default,,0000,0000,0000,,[sic] on the robot to know where the robot is? Dialogue: 0,0:02:05.43,0:02:08.02,Default,,0000,0000,0000,,Any idea? Dialogue: 0,0:02:08.04,0:02:09.07,Default,,0000,0000,0000,,>> GPS. Dialogue: 0,0:02:09.09,0:02:10.09,Default,,0000,0000,0000,,>> GPS? Dialogue: 0,0:02:09.18,0:02:10.18,Default,,0000,0000,0000,,Okay. Dialogue: 0,0:02:09.27,0:02:15.84,Default,,0000,0000,0000,,Well, all right, how many parameters you can measure with Dialogue: 0,0:02:15.86,0:02:21.71,Default,,0000,0000,0000,,GPS? Dialogue: 0,0:02:21.73,0:02:22.73,Default,,0000,0000,0000,,That's fine. Dialogue: 0,0:02:22.26,0:02:24.48,Default,,0000,0000,0000,,I mean, we can try that. Dialogue: 0,0:02:24.50,0:02:25.75,Default,,0000,0000,0000,,How many parameters you can-- Dialogue: 0,0:02:25.56,0:02:27.83,Default,,0000,0000,0000,,What can you determine with GPS? Dialogue: 0,0:02:27.85,0:02:29.10,Default,,0000,0000,0000,,>> Probably X and Y coordinates. Dialogue: 0,0:02:28.30,0:02:37.04,Default,,0000,0000,0000,,>> Yeah, you will locate X and Y for the location of the Dialogue: 0,0:02:37.06,0:02:38.06,Default,,0000,0000,0000,,GPS, right? Dialogue: 0,0:02:38.06,0:02:40.64,Default,,0000,0000,0000,,But how many degrees of freedom? Dialogue: 0,0:02:40.66,0:02:42.78,Default,,0000,0000,0000,,How many bodies are moving here? Dialogue: 0,0:02:42.80,0:02:49.26,Default,,0000,0000,0000,,When I'm moving this--like here--how many bodies are moving? Dialogue: 0,0:02:49.28,0:02:50.53,Default,,0000,0000,0000,,How many GPS you want Dialogue: 0,0:02:50.48,0:02:55.07,Default,,0000,0000,0000,,[sic] to put on the robot? Dialogue: 0,0:02:55.09,0:02:58.09,Default,,0000,0000,0000,,(laughter) You will need about 47 if you have 47 degrees of Dialogue: 0,0:02:57.95,0:03:00.96,Default,,0000,0000,0000,,freedom, and that won't work. Dialogue: 0,0:03:00.98,0:03:02.23,Default,,0000,0000,0000,,It will be too expensive. Dialogue: 0,0:03:01.43,0:03:03.33,Default,,0000,0000,0000,,Another idea. Dialogue: 0,0:03:03.35,0:03:04.35,Default,,0000,0000,0000,,We need something else. Dialogue: 0,0:03:03.71,0:03:08.09,Default,,0000,0000,0000,,>> Try encoders. Dialogue: 0,0:03:08.11,0:03:09.11,Default,,0000,0000,0000,,>> Encoders, yeah, encoders. Dialogue: 0,0:03:08.80,0:03:09.80,Default,,0000,0000,0000,,So, encoders measures Dialogue: 0,0:03:09.07,0:03:11.49,Default,,0000,0000,0000,,[sic] one degree of freedom, just the angle. Dialogue: 0,0:03:11.51,0:03:13.26,Default,,0000,0000,0000,,And how many encoders we need Dialogue: 0,0:03:13.28,0:03:14.78,Default,,0000,0000,0000,,[sic] for 47 degrees of freedom? Dialogue: 0,0:03:14.73,0:03:18.79,Default,,0000,0000,0000,,Forty-seven. Dialogue: 0,0:03:18.81,0:03:23.08,Default,,0000,0000,0000,,Now that will give you the relative position, but we will Dialogue: 0,0:03:23.10,0:03:28.13,Default,,0000,0000,0000,,not know whether this configuration is here or here, right? Dialogue: 0,0:03:28.15,0:03:31.71,Default,,0000,0000,0000,,So you need the GPS to maybe locate one object and then Dialogue: 0,0:03:31.73,0:03:33.73,Default,,0000,0000,0000,,locate everything with respect to it if you-- Dialogue: 0,0:03:33.69,0:03:37.18,Default,,0000,0000,0000,,Any other idea to locate-- Dialogue: 0,0:03:37.20,0:03:38.20,Default,,0000,0000,0000,,>> Differential navigation. Dialogue: 0,0:03:38.20,0:03:46.56,Default,,0000,0000,0000,,>> Yeah, by integrating from an initial known position or Dialogue: 0,0:03:46.58,0:03:52.61,Default,,0000,0000,0000,,using >> Vision systems. Dialogue: 0,0:03:52.63,0:03:55.52,Default,,0000,0000,0000,,>> vision systems to locate at least one or two objects, Dialogue: 0,0:03:55.54,0:03:58.95,Default,,0000,0000,0000,,then you know where the robot is, and then the relative Dialogue: 0,0:03:58.97,0:04:02.46,Default,,0000,0000,0000,,position, the velocities could be determined as we move. Dialogue: 0,0:04:02.48,0:04:11.52,Default,,0000,0000,0000,,So once we located the robot, then we need to somehow find a Dialogue: 0,0:04:11.54,0:04:16.16,Default,,0000,0000,0000,,way to describe where things are. Dialogue: 0,0:04:16.18,0:04:17.74,Default,,0000,0000,0000,,So where is the right hand? Dialogue: 0,0:04:17.76,0:04:18.76,Default,,0000,0000,0000,,Where the left hand? Dialogue: 0,0:04:18.76,0:04:20.30,Default,,0000,0000,0000,,[sic] Where-- So you need-- Dialogue: 0,0:04:20.32,0:04:22.39,Default,,0000,0000,0000,,What do you need there? Dialogue: 0,0:04:22.41,0:04:30.48,Default,,0000,0000,0000,,You need to find the relationship between all these rigid Dialogue: 0,0:04:30.50,0:04:35.22,Default,,0000,0000,0000,,bodies so that once the robot is standing, you know where to Dialogue: 0,0:04:35.24,0:04:39.09,Default,,0000,0000,0000,,position--where the arm is positioned, where the hand is Dialogue: 0,0:04:39.11,0:04:42.21,Default,,0000,0000,0000,,positioned, where the head is positioned. Dialogue: 0,0:04:42.23,0:04:49.06,Default,,0000,0000,0000,,So you need something that comes from the science of-- Dialogue: 0,0:04:49.08,0:04:54.98,Default,,0000,0000,0000,,Well, I am not talking now about sensors. Dialogue: 0,0:04:55.00,0:04:57.25,Default,,0000,0000,0000,,We know the information, but we need to determine-- Dialogue: 0,0:04:56.93,0:04:57.93,Default,,0000,0000,0000,,>> A model. Dialogue: 0,0:04:57.93,0:05:02.59,Default,,0000,0000,0000,,>> A model, the kinematic model. Dialogue: 0,0:05:02.61,0:05:04.88,Default,,0000,0000,0000,,Basically, we need the kinematics. Dialogue: 0,0:05:04.90,0:05:11.28,Default,,0000,0000,0000,,And when the thing is moving, it generates dynamics, right? Dialogue: 0,0:05:11.30,0:05:13.69,Default,,0000,0000,0000,,So you need to find the inertial forces. Dialogue: 0,0:05:13.71,0:05:15.14,Default,,0000,0000,0000,,You need to know-- Dialogue: 0,0:05:15.16,0:05:17.66,Default,,0000,0000,0000,,So if you move the right hand, suddenly everything is Dialogue: 0,0:05:17.38,0:05:18.38,Default,,0000,0000,0000,,moving, right? Dialogue: 0,0:05:18.38,0:05:22.73,Default,,0000,0000,0000,,You have coupling between these rigid bodies that are Dialogue: 0,0:05:22.75,0:05:24.31,Default,,0000,0000,0000,,connected. Dialogue: 0,0:05:24.33,0:05:27.52,Default,,0000,0000,0000,,So we need to find the dynamics. Dialogue: 0,0:05:27.54,0:05:33.48,Default,,0000,0000,0000,,And once you have all these models, then you need to think Dialogue: 0,0:05:33.50,0:05:37.20,Default,,0000,0000,0000,,about a way to control the robot. Dialogue: 0,0:05:37.22,0:05:42.33,Default,,0000,0000,0000,,So how do we control a robot like this? Dialogue: 0,0:05:42.35,0:05:47.58,Default,,0000,0000,0000,,So let's say I would like to move this to here. Dialogue: 0,0:05:47.60,0:05:49.70,Default,,0000,0000,0000,,How can we do that? Dialogue: 0,0:05:49.72,0:05:52.47,Default,,0000,0000,0000,,The hand--I would like to move it to this location. Dialogue: 0,0:05:50.82,0:05:51.82,Default,,0000,0000,0000,,I'm sorry? Dialogue: 0,0:05:51.82,0:05:52.82,Default,,0000,0000,0000,,>> Forward, inverse kinematics. Dialogue: 0,0:05:52.09,0:05:53.09,Default,,0000,0000,0000,,>> Oh, very good. Dialogue: 0,0:05:52.36,0:06:05.40,Default,,0000,0000,0000,,Well, the forward kinematics gives you the location of the Dialogue: 0,0:06:05.42,0:06:06.42,Default,,0000,0000,0000,,hand. Dialogue: 0,0:06:06.42,0:06:09.34,Default,,0000,0000,0000,,The inverse kinematics give you--given Dialogue: 0,0:06:09.36,0:06:12.26,Default,,0000,0000,0000,,[sic] a position for the hand that you desire. Dialogue: 0,0:06:12.28,0:06:13.78,Default,,0000,0000,0000,,You need to-- Dialogue: 0,0:06:13.80,0:06:16.05,Default,,0000,0000,0000,,You will be able to solve what joint angles-- Dialogue: 0,0:06:15.80,0:06:19.06,Default,,0000,0000,0000,,Yeah. Dialogue: 0,0:06:19.08,0:06:24.40,Default,,0000,0000,0000,,And if you do that, then you know your goal position angle Dialogue: 0,0:06:24.42,0:06:25.67,Default,,0000,0000,0000,,for each of the joints. Dialogue: 0,0:06:25.28,0:06:29.60,Default,,0000,0000,0000,,Then you can control these joints to move to the appropriate Dialogue: 0,0:06:29.62,0:06:32.46,Default,,0000,0000,0000,,joint positions, and the arm will move to that Dialogue: 0,0:06:32.48,0:06:34.07,Default,,0000,0000,0000,,configuration. Dialogue: 0,0:06:34.09,0:06:41.86,Default,,0000,0000,0000,,Well, can we do inverse kinematics for this robot? Dialogue: 0,0:06:41.88,0:06:43.55,Default,,0000,0000,0000,,It's not easy. Dialogue: 0,0:06:43.57,0:06:46.63,Default,,0000,0000,0000,,It's already difficult for six-degree-of-freedom robot like Dialogue: 0,0:06:46.65,0:06:50.93,Default,,0000,0000,0000,,an arm, but for a robot with many degrees of freedom-- Dialogue: 0,0:06:50.95,0:06:53.70,Default,,0000,0000,0000,,So suppose I would like to move to this location--this Dialogue: 0,0:06:52.32,0:06:53.32,Default,,0000,0000,0000,,location here. Dialogue: 0,0:06:53.32,0:07:01.08,Default,,0000,0000,0000,,There are infinite ways I can move there. Dialogue: 0,0:07:01.10,0:07:03.52,Default,,0000,0000,0000,,And there are many, many different solutions to this Dialogue: 0,0:07:03.54,0:07:05.75,Default,,0000,0000,0000,,problem. Dialogue: 0,0:07:05.77,0:07:07.27,Default,,0000,0000,0000,,In addition, a human do not Dialogue: 0,0:07:07.16,0:07:08.66,Default,,0000,0000,0000,,[sic] really do it this way. Dialogue: 0,0:07:08.16,0:07:11.31,Default,,0000,0000,0000,,I mean, when you're moving your hand, do you do inverse Dialogue: 0,0:07:11.33,0:07:12.77,Default,,0000,0000,0000,,kinematics? Dialogue: 0,0:07:12.79,0:07:17.89,Default,,0000,0000,0000,,Anyone? No. Dialogue: 0,0:07:17.91,0:07:20.67,Default,,0000,0000,0000,,So we will see different ways of-- Dialogue: 0,0:07:20.69,0:07:23.94,Default,,0000,0000,0000,,Oh, I will come back to this a little later, but let's-- Dialogue: 0,0:07:23.90,0:07:29.81,Default,,0000,0000,0000,,I'm not sure, but the idea about robots is basically was Dialogue: 0,0:07:29.83,0:07:30.83,Default,,0000,0000,0000,,captured Dialogue: 0,0:07:30.83,0:07:35.59,Default,,0000,0000,0000,,[sic] by this image--that is, you have a robot working in an Dialogue: 0,0:07:35.61,0:07:39.13,Default,,0000,0000,0000,,isolated environment in a manufacturing plant, doing things, Dialogue: 0,0:07:39.15,0:07:42.63,Default,,0000,0000,0000,,picking, pick and place, moving from one location to another Dialogue: 0,0:07:42.65,0:07:47.68,Default,,0000,0000,0000,,without any interaction with humans. But robotics, over the Dialogue: 0,0:07:47.70,0:07:48.74,Default,,0000,0000,0000,,years, evolved. Dialogue: 0,0:07:48.76,0:07:52.88,Default,,0000,0000,0000,,And today, robotics is in many different areas of Dialogue: 0,0:07:52.90,0:07:56.81,Default,,0000,0000,0000,,application: from robots working with a surgeon to operate a Dialogue: 0,0:07:56.83,0:07:57.83,Default,,0000,0000,0000,,human Dialogue: 0,0:07:57.83,0:08:01.66,Default,,0000,0000,0000,,[sic], to robot assisting a worker to carry a heavy load, to Dialogue: 0,0:08:01.68,0:08:04.96,Default,,0000,0000,0000,,robots in entertainment, to robots in many, many different Dialogue: 0,0:08:04.98,0:08:06.03,Default,,0000,0000,0000,,fields. Dialogue: 0,0:08:06.05,0:08:09.35,Default,,0000,0000,0000,,And this is what is really exciting about robotics: the fact Dialogue: 0,0:08:09.37,0:08:12.63,Default,,0000,0000,0000,,that robotics is getting closer and closer to the human-- Dialogue: 0,0:08:12.65,0:08:16.55,Default,,0000,0000,0000,,that is we are using the robot now to carry, to lift, to Dialogue: 0,0:08:16.57,0:08:20.73,Default,,0000,0000,0000,,work, to extend the hands of the human through haptic Dialogue: 0,0:08:20.75,0:08:21.90,Default,,0000,0000,0000,,interaction. Dialogue: 0,0:08:21.92,0:08:25.98,Default,,0000,0000,0000,,You can feel a virtual environment or a real environment. Dialogue: 0,0:08:26.00,0:08:29.51,Default,,0000,0000,0000,,I'm not sure if everyone knows what is haptics. Dialogue: 0,0:08:29.53,0:08:32.76,Default,,0000,0000,0000,,[sic] Haptics comes from the sense--a Greek word that Dialogue: 0,0:08:32.78,0:08:33.78,Default,,0000,0000,0000,,describe Dialogue: 0,0:08:33.78,0:08:35.27,Default,,0000,0000,0000,,[sic] the sense of touch. Dialogue: 0,0:08:35.29,0:08:37.97,Default,,0000,0000,0000,,And from haptics-- Dialogue: 0,0:08:37.99,0:08:39.79,Default,,0000,0000,0000,,So here is the hands Dialogue: 0,0:08:39.81,0:08:42.82,Default,,0000,0000,0000,,[sic] of the surgeon, and the surgeon is still operating. Dialogue: 0,0:08:42.84,0:08:49.34,Default,,0000,0000,0000,,So he is operating from outside, but essentially the robot Dialogue: 0,0:08:49.36,0:08:52.84,Default,,0000,0000,0000,,is inserted, and instead of opening the body, we have a Dialogue: 0,0:08:52.86,0:08:54.07,Default,,0000,0000,0000,,small incisions Dialogue: 0,0:08:54.09,0:08:56.84,Default,,0000,0000,0000,,[sic] through which we introduce the robot, and then we do Dialogue: 0,0:08:56.22,0:08:57.29,Default,,0000,0000,0000,,the operation. Dialogue: 0,0:08:57.31,0:08:59.75,Default,,0000,0000,0000,,And the recovery is amazing. Dialogue: 0,0:08:59.77,0:09:04.14,Default,,0000,0000,0000,,A few days of recovery, and the patient is out of the Dialogue: 0,0:09:04.16,0:09:06.16,Default,,0000,0000,0000,,hospital. Dialogue: 0,0:09:06.18,0:09:10.07,Default,,0000,0000,0000,,Teleoperation through haptics or through master devices Dialogue: 0,0:09:10.09,0:09:11.48,Default,,0000,0000,0000,,allow us to control-- Dialogue: 0,0:09:11.50,0:09:16.86,Default,,0000,0000,0000,,So here is the surgeon working far away, operating, or Dialogue: 0,0:09:16.88,0:09:21.31,Default,,0000,0000,0000,,operating underwater, or interacting with a physical Dialogue: 0,0:09:21.33,0:09:24.99,Default,,0000,0000,0000,,environment in homes or in the factory. Dialogue: 0,0:09:25.01,0:09:28.16,Default,,0000,0000,0000,,Another interesting thing about robotics is that because Dialogue: 0,0:09:28.18,0:09:32.47,Default,,0000,0000,0000,,robotics focuses on articulated body systems, we are able Dialogue: 0,0:09:32.49,0:09:36.98,Default,,0000,0000,0000,,now to use all these models, all these techniques we Dialogue: 0,0:09:37.00,0:09:41.14,Default,,0000,0000,0000,,developed in robotics, to model a human and to create sort Dialogue: 0,0:09:41.16,0:09:45.72,Default,,0000,0000,0000,,of a digital model of the human that can, as we will see Dialogue: 0,0:09:45.74,0:09:51.21,Default,,0000,0000,0000,,later, that can be assimilated and controlled to reproduce Dialogue: 0,0:09:51.23,0:09:57.91,Default,,0000,0000,0000,,actual behavior captured from motion capture devices about Dialogue: 0,0:09:57.93,0:09:59.25,Default,,0000,0000,0000,,the human behavior. Dialogue: 0,0:09:59.27,0:10:05.28,Default,,0000,0000,0000,,Also, with this interaction that we are creating with the Dialogue: 0,0:10:05.30,0:10:08.13,Default,,0000,0000,0000,,physical world, we are going to be able to use haptic Dialogue: 0,0:10:08.15,0:10:14.75,Default,,0000,0000,0000,,devices to explore physical world that cannot be touched in Dialogue: 0,0:10:14.77,0:10:18.97,Default,,0000,0000,0000,,reality--that is, we cannot, for instance, go to the atom Dialogue: 0,0:10:18.99,0:10:22.46,Default,,0000,0000,0000,,level, but we can simulate the atom level, and through Dialogue: 0,0:10:22.48,0:10:26.57,Default,,0000,0000,0000,,haptic devices, we can explore those world. Dialogue: 0,0:10:26.59,0:10:30.11,Default,,0000,0000,0000,,[sic] Maybe the most exciting area in robotics is Dialogue: 0,0:10:30.13,0:10:35.08,Default,,0000,0000,0000,,reproducing devices, robots that look like the human and Dialogue: 0,0:10:35.10,0:10:39.52,Default,,0000,0000,0000,,behave like life, animals or humans. Dialogue: 0,0:10:39.54,0:10:44.46,Default,,0000,0000,0000,,And a few years ago, I was in Japan. Dialogue: 0,0:10:44.48,0:10:46.16,Default,,0000,0000,0000,,Anyone recognize where this photo is? Dialogue: 0,0:10:46.18,0:10:47.18,Default,,0000,0000,0000,,>> Osaka. Dialogue: 0,0:10:47.18,0:10:50.16,Default,,0000,0000,0000,,>> He said Osaka. Dialogue: 0,0:10:50.18,0:10:51.18,Default,,0000,0000,0000,,>> Yokohama. Dialogue: 0,0:10:50.27,0:10:55.39,Default,,0000,0000,0000,,>> Very good, but you are cheating because you were there. Dialogue: 0,0:10:55.41,0:10:58.25,Default,,0000,0000,0000,,(laughter) So this is from Yokohama, and in Yokohama, there Dialogue: 0,0:10:58.27,0:11:00.93,Default,,0000,0000,0000,,is Robodex. Dialogue: 0,0:11:00.95,0:11:04.19,Default,,0000,0000,0000,,Robodex brings thousand and thousand Dialogue: 0,0:11:04.21,0:11:08.84,Default,,0000,0000,0000,,[sic] of people to see all the latest in robotics. Dialogue: 0,0:11:08.86,0:11:10.36,Default,,0000,0000,0000,,This was a few years ago. Dialogue: 0,0:11:10.33,0:11:14.84,Default,,0000,0000,0000,,And you could see ASIMO here--ASIMO which is really the Dialogue: 0,0:11:14.86,0:11:18.57,Default,,0000,0000,0000,,latest in a series of development Dialogue: 0,0:11:18.59,0:11:23.33,Default,,0000,0000,0000,,[sic] at Honda following P2 and P3 robots. Dialogue: 0,0:11:23.35,0:11:30.74,Default,,0000,0000,0000,,And in addition, you could see, well, most of the major Dialogue: 0,0:11:30.76,0:11:33.00,Default,,0000,0000,0000,,players in robotics, in humanoid robotics. Dialogue: 0,0:11:33.02,0:11:36.15,Default,,0000,0000,0000,,Anyone have seen Dialogue: 0,0:11:36.17,0:11:37.25,Default,,0000,0000,0000,,[sic] this one? Dialogue: 0,0:11:37.27,0:11:40.03,Default,,0000,0000,0000,,Do you know this one? Dialogue: 0,0:11:40.05,0:11:42.24,Default,,0000,0000,0000,,This is the Sony robot that-- Dialogue: 0,0:11:42.26,0:11:45.33,Default,,0000,0000,0000,,Actually, I think I have a video. Dialogue: 0,0:11:45.35,0:11:48.50,Default,,0000,0000,0000,,Let's see if it works. Dialogue: 0,0:11:48.52,0:11:57.80,Default,,0000,0000,0000,,The Sony is balancing on a moving bar, and this is not an Dialogue: 0,0:11:57.82,0:11:59.43,Default,,0000,0000,0000,,easy task. Dialogue: 0,0:11:59.45,0:12:04.59,Default,,0000,0000,0000,,And you can imagine the requirements in real-time control Dialogue: 0,0:12:04.61,0:12:07.53,Default,,0000,0000,0000,,and dynamic modeling and all the aspect Dialogue: 0,0:12:07.55,0:12:08.55,Default,,0000,0000,0000,,[sic] of this. Dialogue: 0,0:12:08.55,0:12:17.93,Default,,0000,0000,0000,,And this was accomplished a few years ago. Dialogue: 0,0:12:17.95,0:12:21.60,Default,,0000,0000,0000,,Well, actually, we brought this robot here to Stanford a few Dialogue: 0,0:12:21.62,0:12:29.33,Default,,0000,0000,0000,,years ago, and they did a performance here, and it was quite Dialogue: 0,0:12:29.35,0:12:33.44,Default,,0000,0000,0000,,exciting to see this robot dancing and performing. Dialogue: 0,0:12:33.46,0:12:39.09,Default,,0000,0000,0000,,There are a lot of different robots, especially in Asia-- Dialogue: 0,0:12:39.11,0:12:41.46,Default,,0000,0000,0000,,Japan and Korea--humanoid robots. Dialogue: 0,0:12:41.48,0:12:50.79,Default,,0000,0000,0000,,AIST built a series of robots: HRP, HRP-1 and 2. Dialogue: 0,0:12:50.81,0:12:53.06,Default,,0000,0000,0000,,And they are building and developing more capabilities for Dialogue: 0,0:12:52.85,0:13:00.78,Default,,0000,0000,0000,,those robots. Dialogue: 0,0:13:00.80,0:13:03.89,Default,,0000,0000,0000,,One of the interesting show Dialogue: 0,0:13:03.91,0:13:09.51,Default,,0000,0000,0000,,[sic] that we had recently was near Nagoya during the World Dialogue: 0,0:13:09.53,0:13:15.65,Default,,0000,0000,0000,,Expo in Aichi, and they demonstrated a number of projects. Dialogue: 0,0:13:15.67,0:13:21.32,Default,,0000,0000,0000,,Some of them came from research laboratories that Dialogue: 0,0:13:21.34,0:13:24.89,Default,,0000,0000,0000,,collaborated with the industry to build those machines. Dialogue: 0,0:13:24.91,0:13:28.02,Default,,0000,0000,0000,,This is a dancing robot. Dialogue: 0,0:13:28.04,0:13:34.92,Default,,0000,0000,0000,,Let's see This is HRP. Dialogue: 0,0:13:34.94,0:13:37.48,Default,,0000,0000,0000,,So HRP is walking. Dialogue: 0,0:13:37.50,0:13:41.06,Default,,0000,0000,0000,,Walking is now well-mastered. Dialogue: 0,0:13:41.08,0:13:46.18,Default,,0000,0000,0000,,But the problem is: How can you move to a position, take an Dialogue: 0,0:13:46.20,0:13:50.47,Default,,0000,0000,0000,,object and control the interaction with the physical world? Dialogue: 0,0:13:50.49,0:13:51.55,Default,,0000,0000,0000,,This is more challenging. Dialogue: 0,0:13:51.57,0:13:54.33,Default,,0000,0000,0000,,You see that sliding and touching is not completely mastered Dialogue: 0,0:13:54.35,0:14:02.23,Default,,0000,0000,0000,,yet, but this is the direction of research in those areas. Dialogue: 0,0:14:02.25,0:14:05.02,Default,,0000,0000,0000,,This is an interesting device that come Dialogue: 0,0:14:05.04,0:14:07.48,Default,,0000,0000,0000,,[sic] from Waseda University. Dialogue: 0,0:14:07.50,0:14:11.32,Default,,0000,0000,0000,,This robot has additional degrees of freedom that-- Dialogue: 0,0:14:11.34,0:14:18.30,Default,,0000,0000,0000,,Okay, another problem. Dialogue: 0,0:14:18.32,0:14:22.21,Default,,0000,0000,0000,,So you have additional degrees of freedom in the hip joints Dialogue: 0,0:14:22.23,0:14:26.91,Default,,0000,0000,0000,,to allow it to move a little bit more like a human. Dialogue: 0,0:14:26.93,0:14:29.22,Default,,0000,0000,0000,,Let's see This is one of my favorite. Dialogue: 0,0:14:29.24,0:14:36.70,Default,,0000,0000,0000,,This is a humanlike, and humanlike actuation in it, so Dialogue: 0,0:14:36.72,0:14:41.24,Default,,0000,0000,0000,,artificial muscles that are used to create the motion. Dialogue: 0,0:14:41.26,0:14:44.22,Default,,0000,0000,0000,,But obviously, you have a lot of problems with artificial Dialogue: 0,0:14:44.24,0:14:48.25,Default,,0000,0000,0000,,muscles because dynamic response is very slow and the power Dialogue: 0,0:14:48.27,0:14:51.70,Default,,0000,0000,0000,,that you can bring is not yet-- Dialogue: 0,0:14:51.72,0:14:54.05,Default,,0000,0000,0000,,But we will talk about those issues, as well. Dialogue: 0,0:14:54.07,0:15:24.07,Default,,0000,0000,0000,,Okay, let me know what you think about this one. Dialogue: 0,0:15:25.01,0:15:27.22,Default,,0000,0000,0000,,So? Dialogue: 0,0:15:27.24,0:15:29.42,Default,,0000,0000,0000,,So what do you think? Dialogue: 0,0:15:29.44,0:15:32.44,Default,,0000,0000,0000,,Do we need robots to really have the perfect appearance of a Dialogue: 0,0:15:32.01,0:15:33.01,Default,,0000,0000,0000,,human? Dialogue: 0,0:15:33.01,0:15:38.96,Default,,0000,0000,0000,,Or, like, we need the functionalities of the environment? Dialogue: 0,0:15:38.98,0:15:43.45,Default,,0000,0000,0000,,Like if we are working with the trees, we specialize the Dialogue: 0,0:15:43.47,0:15:44.84,Default,,0000,0000,0000,,robot to cut trees. Dialogue: 0,0:15:44.86,0:15:48.67,Default,,0000,0000,0000,,If we are working in the human environment, then we will Dialogue: 0,0:15:48.69,0:15:53.14,Default,,0000,0000,0000,,have a robot that has the functionalities of two arms, the Dialogue: 0,0:15:53.16,0:15:56.24,Default,,0000,0000,0000,,mobility, the vision capabilities. Dialogue: 0,0:15:56.26,0:16:00.74,Default,,0000,0000,0000,,So these are really interesting issues to think about: Dialogue: 0,0:16:00.76,0:16:07.29,Default,,0000,0000,0000,,whether we need to have the robot biologically based or Dialogue: 0,0:16:07.31,0:16:12.21,Default,,0000,0000,0000,,functionally based, and how we can create those interactions Dialogue: 0,0:16:12.23,0:16:15.10,Default,,0000,0000,0000,,in an effective way. Dialogue: 0,0:16:15.12,0:16:16.37,Default,,0000,0000,0000,,Last one, I think is-- Dialogue: 0,0:16:15.57,0:16:25.95,Default,,0000,0000,0000,,Yeah, this is an interesting example of how we can extend Dialogue: 0,0:16:25.97,0:16:30.15,Default,,0000,0000,0000,,the capabilities of human with an exoskeleton system. Dialogue: 0,0:16:30.17,0:16:33.94,Default,,0000,0000,0000,,So you wear it, and you become a superman or a superwoman, Dialogue: 0,0:16:33.96,0:16:37.39,Default,,0000,0000,0000,,and you can carry a heavy load. Dialogue: 0,0:16:37.41,0:16:43.10,Default,,0000,0000,0000,,They will demonstrate here carrying, I believe, 60 kilograms Dialogue: 0,0:16:43.12,0:16:47.03,Default,,0000,0000,0000,,without feeling any weight because everything is taken by Dialogue: 0,0:16:47.05,0:16:52.43,Default,,0000,0000,0000,,the structure of the exoskeletal system you are wearing. Dialogue: 0,0:16:52.45,0:16:56.30,Default,,0000,0000,0000,,Another interesting one is this one from Tokyo Institute of Dialogue: 0,0:16:56.32,0:17:02.50,Default,,0000,0000,0000,,Technology, a swimming robot. Dialogue: 0,0:17:02.52,0:17:05.66,Default,,0000,0000,0000,,So make sure no water gets into the motors. Dialogue: 0,0:17:05.68,0:17:15.07,Default,,0000,0000,0000,,Anyway, the thing is robotics is getting closer and closer Dialogue: 0,0:17:15.09,0:17:16.23,Default,,0000,0000,0000,,to the human. Dialogue: 0,0:17:16.25,0:17:21.40,Default,,0000,0000,0000,,And as we see, robots are getting closer to the human. Dialogue: 0,0:17:21.42,0:17:27.76,Default,,0000,0000,0000,,We are facing a lot of challenges in really making these Dialogue: 0,0:17:27.78,0:17:32.19,Default,,0000,0000,0000,,machines work in the unstructured, messy environment of the Dialogue: 0,0:17:32.21,0:17:33.21,Default,,0000,0000,0000,,human. Dialogue: 0,0:17:33.21,0:17:38.92,Default,,0000,0000,0000,,When we were working with robots in structured manufacturing Dialogue: 0,0:17:38.94,0:17:41.99,Default,,0000,0000,0000,,plants, the problems were much simpler. Dialogue: 0,0:17:42.01,0:17:46.32,Default,,0000,0000,0000,,Now you need to deal with many issues, including the fact Dialogue: 0,0:17:46.34,0:17:48.32,Default,,0000,0000,0000,,that you need safety. Dialogue: 0,0:17:48.34,0:17:51.75,Default,,0000,0000,0000,,You need safety to create that interaction. Dialogue: 0,0:17:51.77,0:17:55.53,Default,,0000,0000,0000,,And this distance between the human and the robot is very Dialogue: 0,0:17:55.55,0:17:56.55,Default,,0000,0000,0000,,well justified. Dialogue: 0,0:17:56.55,0:18:00.56,Default,,0000,0000,0000,,You don't want yet to bring the robot very close to the Dialogue: 0,0:18:00.58,0:18:05.85,Default,,0000,0000,0000,,human because these machines are not yet quite safe. Dialogue: 0,0:18:05.87,0:18:12.63,Default,,0000,0000,0000,,Well, development in robotics has many aspects and many Dialogue: 0,0:18:12.65,0:18:13.65,Default,,0000,0000,0000,,forms. Dialogue: 0,0:18:13.65,0:18:18.17,Default,,0000,0000,0000,,And really at Stanford, we are fortunate to have a large Dialogue: 0,0:18:18.19,0:18:24.32,Default,,0000,0000,0000,,number of classes, courses offered in different areas of Dialogue: 0,0:18:24.34,0:18:29.44,Default,,0000,0000,0000,,robotics, graphics and computational geometry, haptics and Dialogue: 0,0:18:29.46,0:18:30.46,Default,,0000,0000,0000,,all of these things. Dialogue: 0,0:18:30.46,0:18:34.69,Default,,0000,0000,0000,,And you have a list of the different courses offered all Dialogue: 0,0:18:34.71,0:18:36.01,Default,,0000,0000,0000,,along the year. Dialogue: 0,0:18:36.03,0:18:39.79,Default,,0000,0000,0000,,And in fact, in my-- Dialogue: 0,0:18:39.81,0:18:41.72,Default,,0000,0000,0000,,This is the Intro to Robotics. Dialogue: 0,0:18:41.74,0:18:44.90,Default,,0000,0000,0000,,In spring, I will be offering two additional courses that Dialogue: 0,0:18:44.92,0:18:48.51,Default,,0000,0000,0000,,would deal with Experimental Robotics--that is, applying Dialogue: 0,0:18:48.53,0:18:53.29,Default,,0000,0000,0000,,everything you have learned during this class to a real Dialogue: 0,0:18:53.31,0:18:58.27,Default,,0000,0000,0000,,robot and experimenting with the robot, as well as exploring Dialogue: 0,0:18:58.29,0:19:01.58,Default,,0000,0000,0000,,advanced topics in research, and this is in Advanced Dialogue: 0,0:19:01.60,0:19:03.72,Default,,0000,0000,0000,,Robotics. Dialogue: 0,0:19:03.74,0:19:11.41,Default,,0000,0000,0000,,So, I'm Oussama Khatib, your instructor. Dialogue: 0,0:19:11.43,0:19:13.95,Default,,0000,0000,0000,,And you have-- Dialogue: 0,0:19:13.97,0:19:15.59,Default,,0000,0000,0000,,This year, we are lucky. Dialogue: 0,0:19:15.61,0:19:20.62,Default,,0000,0000,0000,,We have three TAs helping with the class: Pete, Christina Dialogue: 0,0:19:20.64,0:19:21.64,Default,,0000,0000,0000,,and Channing. Dialogue: 0,0:19:21.64,0:19:22.64,Default,,0000,0000,0000,,So let's-- Dialogue: 0,0:19:21.95,0:19:24.24,Default,,0000,0000,0000,,They are over here. Dialogue: 0,0:19:24.26,0:19:27.01,Default,,0000,0000,0000,,Please stand up, or just turn your faces so they will Dialogue: 0,0:19:26.90,0:19:29.23,Default,,0000,0000,0000,,recognize you. Dialogue: 0,0:19:29.25,0:19:32.30,Default,,0000,0000,0000,,And the office hours are listed. Dialogue: 0,0:19:32.32,0:19:38.52,Default,,0000,0000,0000,,So we will have office hours for me on Monday and Wednesday, Dialogue: 0,0:19:38.54,0:19:43.59,Default,,0000,0000,0000,,and Monday, Tuesday and Thursday for the TAs. Dialogue: 0,0:19:43.61,0:19:48.63,Default,,0000,0000,0000,,The lecture notes are here, and they are available at the Dialogue: 0,0:19:48.65,0:19:49.97,Default,,0000,0000,0000,,bookstore. Dialogue: 0,0:19:49.99,0:19:52.41,Default,,0000,0000,0000,,This is the 2008 edition. Dialogue: 0,0:19:52.43,0:19:54.04,Default,,0000,0000,0000,,So we keep improving it. Dialogue: 0,0:19:54.06,0:19:57.79,Default,,0000,0000,0000,,It's not yet a textbook, but it is quite complete in term Dialogue: 0,0:19:57.81,0:20:01.42,Default,,0000,0000,0000,,[sic] of the requirements and the things you need to have Dialogue: 0,0:20:01.44,0:20:04.25,Default,,0000,0000,0000,,for the class. Dialogue: 0,0:20:04.27,0:20:06.02,Default,,0000,0000,0000,,So, um, let's see The schedule-- Dialogue: 0,0:20:04.98,0:20:08.48,Default,,0000,0000,0000,,So we are today on Wednesday the 9th, and we will go to the Dialogue: 0,0:20:06.24,0:20:19.87,Default,,0000,0000,0000,,final examination on March the 21st. Dialogue: 0,0:20:19.89,0:20:25.30,Default,,0000,0000,0000,,There are few changes in the schedule from the handout you Dialogue: 0,0:20:25.32,0:20:28.03,Default,,0000,0000,0000,,have, and we will update these later. Dialogue: 0,0:20:28.05,0:20:31.02,Default,,0000,0000,0000,,There is-- Dialogue: 0,0:20:31.04,0:20:38.71,Default,,0000,0000,0000,,These changes happened just in this area here around the Dialogue: 0,0:20:38.73,0:20:40.92,Default,,0000,0000,0000,,dynamics and control schedule. Dialogue: 0,0:20:40.94,0:20:45.43,Default,,0000,0000,0000,,But essentially, what we're going to do starting next week Dialogue: 0,0:20:45.45,0:20:51.27,Default,,0000,0000,0000,,is to start covering the models, so we will start with the Dialogue: 0,0:20:51.29,0:20:52.71,Default,,0000,0000,0000,,spatial descriptions. Dialogue: 0,0:20:52.73,0:20:55.57,Default,,0000,0000,0000,,We go to the forward kinematics, and we will do the Dialogue: 0,0:20:55.59,0:20:57.16,Default,,0000,0000,0000,,Jacobian. Dialogue: 0,0:20:57.18,0:21:00.57,Default,,0000,0000,0000,,And I will discuss these little by little. Dialogue: 0,0:21:00.59,0:21:02.97,Default,,0000,0000,0000,,That will take us to the midterm. Dialogue: 0,0:21:02.99,0:21:08.58,Default,,0000,0000,0000,,One important thing about the midterm and the final is that Dialogue: 0,0:21:08.60,0:21:10.92,Default,,0000,0000,0000,,we will have review sessions. Dialogue: 0,0:21:10.94,0:21:14.51,Default,,0000,0000,0000,,And the class is quite large, so we will split the class in Dialogue: 0,0:21:14.53,0:21:15.53,Default,,0000,0000,0000,,two. Dialogue: 0,0:21:15.53,0:21:18.95,Default,,0000,0000,0000,,And we will have two groups that will attend these review Dialogue: 0,0:21:18.97,0:21:21.86,Default,,0000,0000,0000,,sessions, which will take place in the evening. Dialogue: 0,0:21:21.88,0:21:25.30,Default,,0000,0000,0000,,And they will take place in the lab, in the robotics lab. Dialogue: 0,0:21:25.32,0:21:30.79,Default,,0000,0000,0000,,And during those sessions, we will cover the midterm of past Dialogue: 0,0:21:30.81,0:21:34.10,Default,,0000,0000,0000,,years and the finals of past years. Dialogue: 0,0:21:34.12,0:21:38.67,Default,,0000,0000,0000,,And what is nice about those sessions is that you will have Dialogue: 0,0:21:38.69,0:21:46.04,Default,,0000,0000,0000,,a chance to see some demonstrations of robots while eating Dialogue: 0,0:21:46.06,0:21:52.95,Default,,0000,0000,0000,,pizza and drinking some So that will happen between 7:00 and Dialogue: 0,0:21:52.97,0:21:53.97,Default,,0000,0000,0000,,9:00. Dialogue: 0,0:21:53.97,0:21:56.97,Default,,0000,0000,0000,,Sometimes it goes to 10:00 because we have a lot of Dialogue: 0,0:21:56.77,0:21:58.25,Default,,0000,0000,0000,,questions and discussions. Dialogue: 0,0:21:58.27,0:22:02.76,Default,,0000,0000,0000,,But these sessions are really, really important, and I Dialogue: 0,0:22:02.78,0:22:06.66,Default,,0000,0000,0000,,encourage you and I encourage also the remote students to be Dialogue: 0,0:22:06.68,0:22:08.16,Default,,0000,0000,0000,,present for the sessions. Dialogue: 0,0:22:08.18,0:22:11.88,Default,,0000,0000,0000,,They are very, very helpful in preparing you for the midterm Dialogue: 0,0:22:11.90,0:22:12.90,Default,,0000,0000,0000,,and the final. Dialogue: 0,0:22:12.90,0:22:20.80,Default,,0000,0000,0000,,So as I said, this class covers mathematical models that are Dialogue: 0,0:22:20.82,0:22:21.82,Default,,0000,0000,0000,,essential. Dialogue: 0,0:22:21.82,0:22:25.08,Default,,0000,0000,0000,,I know some of you might not really like, well, getting too Dialogue: 0,0:22:25.10,0:22:28.24,Default,,0000,0000,0000,,much into the details of mathematical models, but we are Dialogue: 0,0:22:28.26,0:22:34.34,Default,,0000,0000,0000,,going to really have to do it if we are going to try to Dialogue: 0,0:22:34.36,0:22:37.18,Default,,0000,0000,0000,,control these machines or build these machines, design these Dialogue: 0,0:22:37.20,0:22:38.20,Default,,0000,0000,0000,,machines. Dialogue: 0,0:22:38.20,0:22:41.04,Default,,0000,0000,0000,,We need to understand the mathematical models, the Dialogue: 0,0:22:41.06,0:22:44.48,Default,,0000,0000,0000,,foundations in kinematics and dynamics. Dialogue: 0,0:22:44.50,0:22:52.27,Default,,0000,0000,0000,,And we will then use these models to create controllers, and Dialogue: 0,0:22:52.29,0:22:55.51,Default,,0000,0000,0000,,we are going to control motions, so we need to plan these Dialogue: 0,0:22:55.53,0:22:56.53,Default,,0000,0000,0000,,motions. Dialogue: 0,0:22:56.53,0:22:59.38,Default,,0000,0000,0000,,We need to plan motion that are Dialogue: 0,0:22:59.40,0:23:02.73,Default,,0000,0000,0000,,[sic] safe, and we need to generate trajectories that are Dialogue: 0,0:23:02.75,0:23:03.75,Default,,0000,0000,0000,,smooth. Dialogue: 0,0:23:03.75,0:23:07.37,Default,,0000,0000,0000,,So these are the issues that we need to address in the Dialogue: 0,0:23:07.39,0:23:10.66,Default,,0000,0000,0000,,planning and control, in addition to the fact that we need Dialogue: 0,0:23:10.68,0:23:13.28,Default,,0000,0000,0000,,to touch, feel, interact with the world. Dialogue: 0,0:23:13.30,0:23:17.66,Default,,0000,0000,0000,,So we need to create compliant motions, which rely on force Dialogue: 0,0:23:17.68,0:23:18.68,Default,,0000,0000,0000,,control. Dialogue: 0,0:23:18.68,0:23:23.20,Default,,0000,0000,0000,,So force control is critical in creating those interaction. Dialogue: 0,0:23:23.22,0:23:27.18,Default,,0000,0000,0000,,[sic] And we will see how we can control the robot to move Dialogue: 0,0:23:27.20,0:23:31.34,Default,,0000,0000,0000,,in free space or in contact space as the robot is Dialogue: 0,0:23:31.36,0:23:32.90,Default,,0000,0000,0000,,interacting with the world. Dialogue: 0,0:23:32.92,0:23:37.19,Default,,0000,0000,0000,,And then we will have some time to discuss some advanced Dialogue: 0,0:23:37.21,0:23:40.90,Default,,0000,0000,0000,,topics, just introduce those advanced topics, so that those Dialogue: 0,0:23:40.92,0:23:45.81,Default,,0000,0000,0000,,of you who are interested in pursuing research in robotics Dialogue: 0,0:23:45.83,0:23:52.18,Default,,0000,0000,0000,,could make maybe plans to take the more advanced courses Dialogue: 0,0:23:52.20,0:23:55.31,Default,,0000,0000,0000,,that will be offered in spring. Dialogue: 0,0:23:55.33,0:24:00.77,Default,,0000,0000,0000,,So let's go back to the problem I talked about in the Dialogue: 0,0:24:00.79,0:24:04.32,Default,,0000,0000,0000,,beginning: the problem of moving this robot from one Dialogue: 0,0:24:04.34,0:24:05.34,Default,,0000,0000,0000,,location to another. Dialogue: 0,0:24:05.34,0:24:07.50,Default,,0000,0000,0000,,Suppose you would like to move this platform. Dialogue: 0,0:24:07.52,0:24:10.11,Default,,0000,0000,0000,,This is a mobile manipulator platform. Dialogue: 0,0:24:10.13,0:24:12.70,Default,,0000,0000,0000,,You would like to move it from here to here. Dialogue: 0,0:24:12.72,0:24:14.20,Default,,0000,0000,0000,,How do we do that? Dialogue: 0,0:24:14.22,0:24:15.22,Default,,0000,0000,0000,,Well, we said-- Dialogue: 0,0:24:15.22,0:24:19.60,Default,,0000,0000,0000,,Essentially, what we need to do is somehow find a way of Dialogue: 0,0:24:19.62,0:24:26.78,Default,,0000,0000,0000,,discovering a configuration through which the robot reaches Dialogue: 0,0:24:26.80,0:24:29.44,Default,,0000,0000,0000,,that final goal position. Dialogue: 0,0:24:29.46,0:24:31.62,Default,,0000,0000,0000,,And this is one of them. Dialogue: 0,0:24:31.64,0:24:34.39,Default,,0000,0000,0000,,You can imagine the robot is going to move to that Dialogue: 0,0:24:34.23,0:24:35.49,Default,,0000,0000,0000,,configuration. Dialogue: 0,0:24:35.51,0:24:38.56,Default,,0000,0000,0000,,But the problem with this is the fact that if you have Dialogue: 0,0:24:38.58,0:24:39.58,Default,,0000,0000,0000,,redundancy. Dialogue: 0,0:24:39.58,0:24:41.26,Default,,0000,0000,0000,,So what is redundancy? Dialogue: 0,0:24:41.28,0:24:44.46,Default,,0000,0000,0000,,Redundancy is the fact that you can reach that position with Dialogue: 0,0:24:44.48,0:24:46.28,Default,,0000,0000,0000,,many different configuration Dialogue: 0,0:24:46.30,0:24:48.80,Default,,0000,0000,0000,,[sic] because you have more degrees of freedom in the Dialogue: 0,0:24:48.17,0:24:49.17,Default,,0000,0000,0000,,system. Dialogue: 0,0:24:49.17,0:24:52.53,Default,,0000,0000,0000,,And when you have redundancy, this problem of inverse Dialogue: 0,0:24:52.55,0:24:55.47,Default,,0000,0000,0000,,kinematics becomes pretty difficult problem. Dialogue: 0,0:24:55.49,0:25:00.22,Default,,0000,0000,0000,,But if you solve it, then you will be able to say I would Dialogue: 0,0:25:00.24,0:25:04.13,Default,,0000,0000,0000,,like to move each of those joints from this current Dialogue: 0,0:25:04.15,0:25:07.34,Default,,0000,0000,0000,,position, this joint position to this joint position. Dialogue: 0,0:25:07.36,0:25:11.16,Default,,0000,0000,0000,,So you can control the robot by controlling its joint Dialogue: 0,0:25:11.18,0:25:14.54,Default,,0000,0000,0000,,positions and by creating trajectories for the joints to Dialogue: 0,0:25:14.56,0:25:17.95,Default,,0000,0000,0000,,move, and then you will then be able to reach that goal Dialogue: 0,0:25:17.97,0:25:18.97,Default,,0000,0000,0000,,position. Dialogue: 0,0:25:18.97,0:25:23.93,Default,,0000,0000,0000,,Well, this is not the most natural way of controlling Dialogue: 0,0:25:23.95,0:25:30.15,Default,,0000,0000,0000,,robots, and we will see that there will be different ways of Dialogue: 0,0:25:30.17,0:25:33.28,Default,,0000,0000,0000,,approaching the problem that are much more natural. Dialogue: 0,0:25:33.30,0:25:37.87,Default,,0000,0000,0000,,So to control the robot, first you need to find all these Dialogue: 0,0:25:37.89,0:25:39.54,Default,,0000,0000,0000,,position and orientation Dialogue: 0,0:25:39.56,0:25:44.55,Default,,0000,0000,0000,,[sic] of the mechanism itself, and that requires us to find Dialogue: 0,0:25:44.57,0:25:49.59,Default,,0000,0000,0000,,descriptions of position and orientation of object in space. Dialogue: 0,0:25:49.61,0:25:53.24,Default,,0000,0000,0000,,Then we need to deal with the transformation between frames Dialogue: 0,0:25:53.26,0:25:57.00,Default,,0000,0000,0000,,attached to these different objects because here, to know Dialogue: 0,0:25:57.02,0:26:01.03,Default,,0000,0000,0000,,where this end effector is, you need to know how-- Dialogue: 0,0:26:01.05,0:26:04.13,Default,,0000,0000,0000,,If you know this position, this position of those different Dialogue: 0,0:26:04.15,0:26:08.25,Default,,0000,0000,0000,,objects, how you transform the descriptions to find, Dialogue: 0,0:26:08.27,0:26:12.33,Default,,0000,0000,0000,,finally, the position of your end effector. Dialogue: 0,0:26:12.35,0:26:15.75,Default,,0000,0000,0000,,So you need transformations between different frames Dialogue: 0,0:26:15.77,0:26:17.81,Default,,0000,0000,0000,,attached to both objects. Dialogue: 0,0:26:17.83,0:26:25.52,Default,,0000,0000,0000,,So the mechanism, that is the arm in this case, is defined Dialogue: 0,0:26:25.54,0:26:30.09,Default,,0000,0000,0000,,by a rigid object that is fixed, which is the base, and Dialogue: 0,0:26:30.11,0:26:34.73,Default,,0000,0000,0000,,another rigid object that is moving, which we call the end Dialogue: 0,0:26:34.75,0:26:35.75,Default,,0000,0000,0000,,effector. Dialogue: 0,0:26:35.75,0:26:40.13,Default,,0000,0000,0000,,And between these two objects, you have all the links that Dialogue: 0,0:26:40.15,0:26:43.77,Default,,0000,0000,0000,,are going to carry the end effector to move it to some Dialogue: 0,0:26:43.79,0:26:44.91,Default,,0000,0000,0000,,location. Dialogue: 0,0:26:44.93,0:26:49.20,Default,,0000,0000,0000,,And the question is: How can we describe this mechanism? Dialogue: 0,0:26:49.22,0:26:54.88,Default,,0000,0000,0000,,So we will see that we are raising joints, different kinds, Dialogue: 0,0:26:54.90,0:26:57.88,Default,,0000,0000,0000,,joints that are revolute, prismatic. Dialogue: 0,0:26:57.90,0:27:02.93,Default,,0000,0000,0000,,And through those descriptions, we can describe the link and Dialogue: 0,0:27:02.95,0:27:09.24,Default,,0000,0000,0000,,then we can describe the chain of links connected through a Dialogue: 0,0:27:09.26,0:27:10.73,Default,,0000,0000,0000,,set of parameters. Dialogue: 0,0:27:10.75,0:27:11.75,Default,,0000,0000,0000,,Don't worry-- Dialogue: 0,0:27:10.93,0:27:17.87,Default,,0000,0000,0000,,Denavit and Hartenberg were two PhD students here at Dialogue: 0,0:27:17.89,0:27:22.15,Default,,0000,0000,0000,,Stanford in the early ???70s, and they thought about this Dialogue: 0,0:27:22.17,0:27:26.09,Default,,0000,0000,0000,,problem, and they came up with a set of parameters, minimal Dialogue: 0,0:27:26.11,0:27:30.52,Default,,0000,0000,0000,,set of parameters, to represent the relationship between two Dialogue: 0,0:27:30.54,0:27:33.69,Default,,0000,0000,0000,,successive links on a chain. Dialogue: 0,0:27:33.71,0:27:39.73,Default,,0000,0000,0000,,And their notation now is basically used everywhere in Dialogue: 0,0:27:39.75,0:27:40.76,Default,,0000,0000,0000,,robotics. Dialogue: 0,0:27:40.78,0:27:43.95,Default,,0000,0000,0000,,And through this notation and those parameters, we will be Dialogue: 0,0:27:43.97,0:27:46.63,Default,,0000,0000,0000,,able to come up with a description of the forward Dialogue: 0,0:27:46.65,0:27:47.65,Default,,0000,0000,0000,,kinematics. Dialogue: 0,0:27:47.65,0:27:51.92,Default,,0000,0000,0000,,The forward kinematics is the relationship between these Dialogue: 0,0:27:51.94,0:27:55.88,Default,,0000,0000,0000,,joint angles and the position of the end effector, so Dialogue: 0,0:27:55.90,0:27:59.50,Default,,0000,0000,0000,,through forward kinematics, you can compute where the end Dialogue: 0,0:27:59.52,0:28:01.64,Default,,0000,0000,0000,,effector position and orientation is. Dialogue: 0,0:28:01.66,0:28:10.11,Default,,0000,0000,0000,,So these parameters are describing the common normal Dialogue: 0,0:28:10.13,0:28:15.87,Default,,0000,0000,0000,,distance between two axes of rotation-- Dialogue: 0,0:28:15.89,0:28:19.87,Default,,0000,0000,0000,,So this distance, and also the orientation between these Dialogue: 0,0:28:19.89,0:28:24.71,Default,,0000,0000,0000,,axes, and through this, we can go through the chain and then Dialogue: 0,0:28:24.73,0:28:30.11,Default,,0000,0000,0000,,attach frames to the different joints and then find the Dialogue: 0,0:28:30.13,0:28:33.10,Default,,0000,0000,0000,,transformation between the joints in order to find the Dialogue: 0,0:28:33.12,0:28:36.60,Default,,0000,0000,0000,,relationship between the base frame and the end effector Dialogue: 0,0:28:36.62,0:28:38.93,Default,,0000,0000,0000,,frame. Dialogue: 0,0:28:38.95,0:28:44.43,Default,,0000,0000,0000,,So once we have those transformations, then we can compute Dialogue: 0,0:28:44.45,0:28:45.72,Default,,0000,0000,0000,,the total transformation. Dialogue: 0,0:28:45.74,0:28:50.34,Default,,0000,0000,0000,,So we have local transformation between successive frames, Dialogue: 0,0:28:50.36,0:28:53.51,Default,,0000,0000,0000,,and we can find the local transformation. Dialogue: 0,0:28:53.53,0:28:57.29,Default,,0000,0000,0000,,Now once we know the geometry--that is, we know where the Dialogue: 0,0:28:57.31,0:29:00.17,Default,,0000,0000,0000,,end effector is, where each link is with respect to the Dialogue: 0,0:29:00.19,0:29:04.86,Default,,0000,0000,0000,,others, then we can use this information to come up with a Dialogue: 0,0:29:04.88,0:29:09.01,Default,,0000,0000,0000,,description of the second important characteristic in Dialogue: 0,0:29:09.03,0:29:14.40,Default,,0000,0000,0000,,kinematics, and this is the velocities: how fast things are Dialogue: 0,0:29:14.42,0:29:16.32,Default,,0000,0000,0000,,moving with respect to each other. Dialogue: 0,0:29:16.34,0:29:20.53,Default,,0000,0000,0000,,And we need to consider two things: not only the linear Dialogue: 0,0:29:20.55,0:29:23.62,Default,,0000,0000,0000,,velocity of the end effector, but also the angular velocity Dialogue: 0,0:29:23.64,0:29:25.06,Default,,0000,0000,0000,,at its rotate. Dialogue: 0,0:29:25.08,0:29:29.06,Default,,0000,0000,0000,,[sic] And we will examine the different velocities--linear Dialogue: 0,0:29:29.08,0:29:35.05,Default,,0000,0000,0000,,velocities, angular velocities--with which we will see a Dialogue: 0,0:29:35.07,0:29:39.76,Default,,0000,0000,0000,,duality with the relationships between torques applied at Dialogue: 0,0:29:39.78,0:29:44.26,Default,,0000,0000,0000,,the joints and forces resulting at the end effector. Dialogue: 0,0:29:44.28,0:29:46.79,Default,,0000,0000,0000,,Forces, this is the linear-- Dialogue: 0,0:29:46.81,0:29:49.68,Default,,0000,0000,0000,,Forces are associated with linear motion. Dialogue: 0,0:29:49.70,0:29:54.29,Default,,0000,0000,0000,,Movement, torques associated with angular motion. Dialogue: 0,0:29:54.31,0:29:59.17,Default,,0000,0000,0000,,And there is a duality that brings this Jacobian, the model Dialogue: 0,0:29:59.19,0:30:05.25,Default,,0000,0000,0000,,that relates velocities, to be playing two roles: one to Dialogue: 0,0:30:05.27,0:30:08.45,Default,,0000,0000,0000,,find the relationships between joint velocities with end Dialogue: 0,0:30:08.47,0:30:11.62,Default,,0000,0000,0000,,effector velocities, and one to find the relationship Dialogue: 0,0:30:11.64,0:30:17.12,Default,,0000,0000,0000,,between forces applied to the environment and torque applied Dialogue: 0,0:30:17.14,0:30:18.22,Default,,0000,0000,0000,,to the motors. Dialogue: 0,0:30:18.24,0:30:21.20,Default,,0000,0000,0000,,The Jacobian plays a very, very important role, and we will Dialogue: 0,0:30:21.22,0:30:25.36,Default,,0000,0000,0000,,spend some time discussing the Jacobian and finding ways of Dialogue: 0,0:30:25.38,0:30:27.88,Default,,0000,0000,0000,,obtaining the Jacobian. Dialogue: 0,0:30:27.90,0:30:32.40,Default,,0000,0000,0000,,So the Jacobian, as I said, describes this V vector, the Dialogue: 0,0:30:32.42,0:30:36.28,Default,,0000,0000,0000,,linear velocity, and the omega vector, the angular velocity, Dialogue: 0,0:30:36.30,0:30:41.88,Default,,0000,0000,0000,,and it relates those velocities to the joint velocities. Dialogue: 0,0:30:41.90,0:30:45.96,Default,,0000,0000,0000,,So the Jacobian, through that, gives you the linear and Dialogue: 0,0:30:45.98,0:30:48.20,Default,,0000,0000,0000,,angular velocities. Dialogue: 0,0:30:48.22,0:30:55.78,Default,,0000,0000,0000,,And we will see that essentially this Jacobian is really Dialogue: 0,0:30:55.80,0:31:00.97,Default,,0000,0000,0000,,related to the way the axes of this robot are designed. Dialogue: 0,0:31:00.99,0:31:04.82,Default,,0000,0000,0000,,And once you understood this model, you are going to be able Dialogue: 0,0:31:04.84,0:31:08.93,Default,,0000,0000,0000,,to look at a robot and see the Jacobian automatically. Dialogue: 0,0:31:08.95,0:31:12.20,Default,,0000,0000,0000,,You look at the machine, and you see the model automatically Dialogue: 0,0:31:12.22,0:31:16.90,Default,,0000,0000,0000,,through this explicit form that we will develop to compute Dialogue: 0,0:31:16.92,0:31:20.40,Default,,0000,0000,0000,,those linear velocities and angular velocities through the Dialogue: 0,0:31:20.42,0:31:26.17,Default,,0000,0000,0000,,analysis of the contribution of each axis to the final Dialogue: 0,0:31:26.19,0:31:28.87,Default,,0000,0000,0000,,resulting velocities. Dialogue: 0,0:31:28.89,0:31:34.07,Default,,0000,0000,0000,,So we will also discuss inverse kinematics, although we are Dialogue: 0,0:31:34.09,0:31:38.53,Default,,0000,0000,0000,,not going to use it extensively as it has been done in Dialogue: 0,0:31:38.55,0:31:39.86,Default,,0000,0000,0000,,industrial robotics. Dialogue: 0,0:31:39.88,0:31:40.93,Default,,0000,0000,0000,,We will use-- Dialogue: 0,0:31:40.95,0:31:44.93,Default,,0000,0000,0000,,We will examine inverse kinematics and look at the Dialogue: 0,0:31:44.95,0:31:46.27,Default,,0000,0000,0000,,difficulties in term Dialogue: 0,0:31:46.29,0:31:50.76,Default,,0000,0000,0000,,[sic] of the multiplicity of solutions and the existence of Dialogue: 0,0:31:50.78,0:31:55.56,Default,,0000,0000,0000,,those solutions and examine different techniques for finding Dialogue: 0,0:31:55.58,0:31:57.20,Default,,0000,0000,0000,,those solutions. Dialogue: 0,0:31:57.22,0:32:01.95,Default,,0000,0000,0000,,So, again, the inverse kinematics is how I can find this Dialogue: 0,0:32:01.97,0:32:03.57,Default,,0000,0000,0000,,configuration that correspond Dialogue: 0,0:32:03.59,0:32:07.58,Default,,0000,0000,0000,,[sic] to the desired end effector position and orientation. Dialogue: 0,0:32:07.60,0:32:12.02,Default,,0000,0000,0000,,And then using those solutions, we can then do this Dialogue: 0,0:32:12.04,0:32:17.73,Default,,0000,0000,0000,,interpolation between where the robot is at a given point Dialogue: 0,0:32:17.75,0:32:21.48,Default,,0000,0000,0000,,and then how to move the robot to the final configuration Dialogue: 0,0:32:21.50,0:32:26.04,Default,,0000,0000,0000,,through trajectory that are smooth both in velocity and Dialogue: 0,0:32:26.06,0:32:30.26,Default,,0000,0000,0000,,acceleration and other constraints that we might impose Dialogue: 0,0:32:30.28,0:32:34.31,Default,,0000,0000,0000,,through the generation of trajectories, both in joint space Dialogue: 0,0:32:34.33,0:32:36.86,Default,,0000,0000,0000,,and in Cartesian space. Dialogue: 0,0:32:36.88,0:32:37.88,Default,,0000,0000,0000,,So this-- Dialogue: 0,0:32:37.46,0:32:41.64,Default,,0000,0000,0000,,Oh, I'm going backwards. Dialogue: 0,0:32:41.66,0:32:45.25,Default,,0000,0000,0000,,So this will result in those smooth trajectories that could Dialogue: 0,0:32:45.27,0:32:50.83,Default,,0000,0000,0000,,have via points that could impose upper bound on the Dialogue: 0,0:32:50.85,0:32:55.15,Default,,0000,0000,0000,,velocities or the accelerations and resolving all of these Dialogue: 0,0:32:55.17,0:32:59.92,Default,,0000,0000,0000,,by finding this interpolation between the different points. Dialogue: 0,0:32:59.94,0:33:03.56,Default,,0000,0000,0000,,And that will bring us to the midterm, which will be on Dialogue: 0,0:33:03.58,0:33:07.17,Default,,0000,0000,0000,,Wednesday, February the 13th. Dialogue: 0,0:33:07.19,0:33:08.69,Default,,0000,0000,0000,,It's not a Friday 13th. Dialogue: 0,0:33:07.31,0:33:08.31,Default,,0000,0000,0000,,It's Wednesday. Dialogue: 0,0:33:08.31,0:33:11.24,Default,,0000,0000,0000,,So no worries. Dialogue: 0,0:33:11.26,0:33:16.25,Default,,0000,0000,0000,,And it will be in class, and it will be during the same Dialogue: 0,0:33:16.27,0:33:17.27,Default,,0000,0000,0000,,schedule. Dialogue: 0,0:33:17.27,0:33:22.28,Default,,0000,0000,0000,,Now for the midterm, the time of the class is short, and Dialogue: 0,0:33:22.30,0:33:30.45,Default,,0000,0000,0000,,you'll have really to be ready not really to, like to Dialogue: 0,0:33:30.47,0:33:33.98,Default,,0000,0000,0000,,discover how to solve the problem but really immediately to Dialogue: 0,0:33:34.00,0:33:35.00,Default,,0000,0000,0000,,work on the problem. Dialogue: 0,0:33:35.00,0:33:38.15,Default,,0000,0000,0000,,So that's why the review sessions are very important to Dialogue: 0,0:33:38.17,0:33:41.79,Default,,0000,0000,0000,,prepare you for the midterm to make sure that you will be Dialogue: 0,0:33:41.81,0:33:47.37,Default,,0000,0000,0000,,able to solve all the problems, although we will make sure Dialogue: 0,0:33:47.39,0:33:51.44,Default,,0000,0000,0000,,that the size of the problem fits with the time constraints Dialogue: 0,0:33:51.46,0:33:53.82,Default,,0000,0000,0000,,that we have in the midterm. Dialogue: 0,0:33:53.84,0:33:58.96,Default,,0000,0000,0000,,After the midterm, we will start looking at dynamics, Dialogue: 0,0:33:58.98,0:34:01.02,Default,,0000,0000,0000,,control and other topics. Dialogue: 0,0:34:01.04,0:34:04.78,Default,,0000,0000,0000,,And first, what we need to do is to-- Dialogue: 0,0:34:04.80,0:34:07.71,Default,,0000,0000,0000,,Well, I'm not assuming-- Dialogue: 0,0:34:07.73,0:34:12.56,Default,,0000,0000,0000,,I'm not sure how many of you are mechanical engineers. Dialogue: 0,0:34:12.58,0:34:16.57,Default,,0000,0000,0000,,Let's see, how many are mechanical engineers in the class? Dialogue: 0,0:34:16.59,0:34:17.60,Default,,0000,0000,0000,,Good. Dialogue: 0,0:34:17.62,0:34:19.93,Default,,0000,0000,0000,,And how many are CS? Dialogue: 0,0:34:19.95,0:34:24.99,Default,,0000,0000,0000,,Wow! That is about right. Dialogue: 0,0:34:25.01,0:34:29.70,Default,,0000,0000,0000,,We have half of the class who's familiar with some of the Dialogue: 0,0:34:29.72,0:34:32.87,Default,,0000,0000,0000,,physical models that we are going to develop, and some Dialogue: 0,0:34:32.89,0:34:34.33,Default,,0000,0000,0000,,others who are not. Dialogue: 0,0:34:34.35,0:34:38.32,Default,,0000,0000,0000,,But I'm going to assume that really everyone has no Dialogue: 0,0:34:38.34,0:34:42.22,Default,,0000,0000,0000,,knowledge of dynamics or control or kinematics, and I will Dialogue: 0,0:34:42.24,0:34:46.22,Default,,0000,0000,0000,,start with really the basic foundation. Dialogue: 0,0:34:46.24,0:34:49.49,Default,,0000,0000,0000,,So you shouldn't worry about the fact that you don't have Dialogue: 0,0:34:49.43,0:34:51.63,Default,,0000,0000,0000,,strong background in those areas. Dialogue: 0,0:34:51.65,0:34:53.99,Default,,0000,0000,0000,,We will cover them from the start. Dialogue: 0,0:34:54.01,0:34:57.12,Default,,0000,0000,0000,,We will go to: What is inertia? Dialogue: 0,0:34:57.14,0:34:58.14,Default,,0000,0000,0000,,What is-- Dialogue: 0,0:34:58.14,0:35:00.76,Default,,0000,0000,0000,,How do we describe accelerations? Dialogue: 0,0:35:00.78,0:35:04.21,Default,,0000,0000,0000,,And then we will establish the dynamics, which is quite Dialogue: 0,0:35:04.23,0:35:05.42,Default,,0000,0000,0000,,simple. Dialogue: 0,0:35:05.44,0:35:12.13,Default,,0000,0000,0000,,Anyone recalls the Newton equation? Dialogue: 0,0:35:12.15,0:35:13.15,Default,,0000,0000,0000,,So, let's see. Dialogue: 0,0:35:13.15,0:35:21.52,Default,,0000,0000,0000,,What is the relationship between forces and accelerations? Dialogue: 0,0:35:21.54,0:35:26.87,Default,,0000,0000,0000,,You need to know that, everyone. (laughter) Okay, I need to Dialogue: 0,0:35:26.89,0:35:27.89,Default,,0000,0000,0000,,hear it. Dialogue: 0,0:35:27.89,0:35:28.89,Default,,0000,0000,0000,,Someone tell me. Dialogue: 0,0:35:28.61,0:35:29.61,Default,,0000,0000,0000,,Okay, good. Dialogue: 0,0:35:28.79,0:35:32.90,Default,,0000,0000,0000,,Mass, acceleration equal force. Dialogue: 0,0:35:32.92,0:35:35.52,Default,,0000,0000,0000,,Well, this is all what you need to know. Dialogue: 0,0:35:35.54,0:35:40.32,Default,,0000,0000,0000,,[sic] If you know how one particle can move under the Dialogue: 0,0:35:40.34,0:35:44.23,Default,,0000,0000,0000,,application of a force, then we will be able to generalize Dialogue: 0,0:35:44.25,0:35:48.42,Default,,0000,0000,0000,,to many particles attached in a rigid body, and then we will Dialogue: 0,0:35:48.44,0:35:52.35,Default,,0000,0000,0000,,put them into a structure that will take us to multi-body Dialogue: 0,0:35:52.37,0:35:54.33,Default,,0000,0000,0000,,system, articulated multi-body system. Dialogue: 0,0:35:54.35,0:35:58.46,Default,,0000,0000,0000,,So we will cover these without difficulty, hopefully. Dialogue: 0,0:35:58.48,0:36:01.79,Default,,0000,0000,0000,,The result is quite interesting. Dialogue: 0,0:36:01.81,0:36:03.87,Default,,0000,0000,0000,,So this is a robot. Dialogue: 0,0:36:03.89,0:36:10.52,Default,,0000,0000,0000,,This is a robot that is controlled not by motors on the Dialogue: 0,0:36:10.54,0:36:12.60,Default,,0000,0000,0000,,joints but by cables. Dialogue: 0,0:36:12.62,0:36:16.79,Default,,0000,0000,0000,,So really, the active part of the robot is from here to Dialogue: 0,0:36:16.81,0:36:22.05,Default,,0000,0000,0000,,there, and here, you'll see all the motors and cables-driven Dialogue: 0,0:36:22.07,0:36:24.63,Default,,0000,0000,0000,,system that is on the right. Dialogue: 0,0:36:24.65,0:36:28.11,Default,,0000,0000,0000,,Now if you think about the dynamics of this robot, it gets Dialogue: 0,0:36:28.13,0:36:29.35,Default,,0000,0000,0000,,to be really complicated. Dialogue: 0,0:36:29.37,0:36:31.61,Default,,0000,0000,0000,,So you see on the right here-- Dialogue: 0,0:36:31.63,0:36:35.02,Default,,0000,0000,0000,,So this is the robot, and here you have some of the Dialogue: 0,0:36:35.04,0:36:36.04,Default,,0000,0000,0000,,descriptions of-- Dialogue: 0,0:36:36.04,0:36:37.76,Default,,0000,0000,0000,,Wait, you cannot see anything probably. Dialogue: 0,0:36:37.78,0:36:41.81,Default,,0000,0000,0000,,But you have all the descriptions of-- Dialogue: 0,0:36:41.83,0:36:47.95,Default,,0000,0000,0000,,For instance, what is the inertia view from the first joint Dialogue: 0,0:36:47.97,0:36:48.97,Default,,0000,0000,0000,,when you move? Dialogue: 0,0:36:48.97,0:36:52.14,Default,,0000,0000,0000,,So this inertia is changing as you move. Dialogue: 0,0:36:52.16,0:36:58.26,Default,,0000,0000,0000,,So imagine, if I'm considering the inertia above this axis, Dialogue: 0,0:36:58.28,0:36:59.28,Default,,0000,0000,0000,,right? Dialogue: 0,0:36:59.28,0:37:05.02,Default,,0000,0000,0000,,If I'm deploying the whole arm, the inertia will increase. Dialogue: 0,0:37:05.04,0:37:08.04,Default,,0000,0000,0000,,If I'm putting the arm like this, I will have smaller Dialogue: 0,0:37:07.93,0:37:09.90,Default,,0000,0000,0000,,inertia above this axis. Dialogue: 0,0:37:09.92,0:37:11.97,Default,,0000,0000,0000,,Bigger inertia, smaller inertia. Dialogue: 0,0:37:11.99,0:37:12.99,Default,,0000,0000,0000,,So the configuration-- Dialogue: 0,0:37:12.58,0:37:16.66,Default,,0000,0000,0000,,The inertia view from a joint is going to depend on the Dialogue: 0,0:37:16.68,0:37:19.04,Default,,0000,0000,0000,,structure following that joint. Dialogue: 0,0:37:19.06,0:37:23.57,Default,,0000,0000,0000,,And we will see that essentially all of this will come very Dialogue: 0,0:37:23.59,0:37:29.06,Default,,0000,0000,0000,,naturally from the equations that will be generated from the Dialogue: 0,0:37:29.08,0:37:30.39,Default,,0000,0000,0000,,multi-body system. Dialogue: 0,0:37:30.41,0:37:37.29,Default,,0000,0000,0000,,But what we are going to use for this is a very simple Dialogue: 0,0:37:37.31,0:37:41.66,Default,,0000,0000,0000,,description that again will allow you to take a look at this Dialogue: 0,0:37:41.68,0:37:48.19,Default,,0000,0000,0000,,robot and say, Oh, this is the characteristics, the dynamic Dialogue: 0,0:37:48.21,0:37:49.94,Default,,0000,0000,0000,,characteristics of this joint. Dialogue: 0,0:37:49.96,0:37:56.38,Default,,0000,0000,0000,,And you can almost see the coupling forces between the Dialogue: 0,0:37:56.40,0:38:01.78,Default,,0000,0000,0000,,different joints in a visual form that all depend on those Dialogue: 0,0:38:01.80,0:38:05.64,Default,,0000,0000,0000,,axes of rotation and all translation of the robot. Dialogue: 0,0:38:05.66,0:38:08.90,Default,,0000,0000,0000,,And this comes through the explicit form of dynamics that we Dialogue: 0,0:38:08.92,0:38:09.92,Default,,0000,0000,0000,,will develop. Dialogue: 0,0:38:09.92,0:38:15.73,Default,,0000,0000,0000,,This representation is an abstract, abstraction of the Dialogue: 0,0:38:15.75,0:38:18.68,Default,,0000,0000,0000,,description that we will do with the Jacobian. Dialogue: 0,0:38:18.70,0:38:22.08,Default,,0000,0000,0000,,So I said in the Jacobian case, we will take a description Dialogue: 0,0:38:22.10,0:38:26.43,Default,,0000,0000,0000,,that is based on the contribution of each joint to the total Dialogue: 0,0:38:26.45,0:38:28.79,Default,,0000,0000,0000,,velocity, and we will do the same thing. Dialogue: 0,0:38:28.81,0:38:33.02,Default,,0000,0000,0000,,What is the contribution of each link to the resulting Dialogue: 0,0:38:33.04,0:38:34.24,Default,,0000,0000,0000,,inertial forces? Dialogue: 0,0:38:34.26,0:38:38.11,Default,,0000,0000,0000,,So when we do this, we will look at what is the contribution Dialogue: 0,0:38:38.13,0:38:42.52,Default,,0000,0000,0000,,of this joint and the attached link and the contribution of Dialogue: 0,0:38:42.54,0:38:43.54,Default,,0000,0000,0000,,the others. Dialogue: 0,0:38:43.54,0:38:46.94,Default,,0000,0000,0000,,And we just add them all, and you will see this structure Dialogue: 0,0:38:46.96,0:38:49.87,Default,,0000,0000,0000,,coming all together. Dialogue: 0,0:38:49.89,0:38:54.23,Default,,0000,0000,0000,,So that is a very different way than the way Newton and Dialogue: 0,0:38:54.25,0:39:00.09,Default,,0000,0000,0000,,Euler formalized the dynamics, which relies on the fact that Dialogue: 0,0:39:00.11,0:39:06.29,Default,,0000,0000,0000,,we take each of these rigid bodies and connect them through Dialogue: 0,0:39:06.31,0:39:07.55,Default,,0000,0000,0000,,reaction forces. Dialogue: 0,0:39:07.57,0:39:11.25,Default,,0000,0000,0000,,So if you take all the links and if you remove the joints, Dialogue: 0,0:39:11.27,0:39:12.27,Default,,0000,0000,0000,,you get one link. Dialogue: 0,0:39:12.27,0:39:20.11,Default,,0000,0000,0000,,But when you remove the joint, you substitute the removal of Dialogue: 0,0:39:20.13,0:39:24.85,Default,,0000,0000,0000,,the joint with reaction forces, and then you can study all Dialogue: 0,0:39:24.87,0:39:27.65,Default,,0000,0000,0000,,these reaction forces and try to find the relationship Dialogue: 0,0:39:27.67,0:39:30.04,Default,,0000,0000,0000,,between forces and acceleration. Dialogue: 0,0:39:30.06,0:39:33.95,Default,,0000,0000,0000,,Well, this way, which is called the Recursive Newton-Euler Dialogue: 0,0:39:33.97,0:39:40.84,Default,,0000,0000,0000,,formulation, is going to require elimination of these Dialogue: 0,0:39:40.86,0:39:45.88,Default,,0000,0000,0000,,internal forces and elimination of the forces of contact Dialogue: 0,0:39:45.90,0:39:48.10,Default,,0000,0000,0000,,between the different rigid bodies. Dialogue: 0,0:39:48.12,0:39:53.70,Default,,0000,0000,0000,,And what we will do instead--we will go to the velocities, Dialogue: 0,0:39:53.72,0:40:00.22,Default,,0000,0000,0000,,and we will consider the energy associated with the motion Dialogue: 0,0:40:00.24,0:40:01.80,Default,,0000,0000,0000,,of these rigid bodies. Dialogue: 0,0:40:01.82,0:40:06.36,Default,,0000,0000,0000,,So if you have a velocity V and omega at the center of mass, Dialogue: 0,0:40:06.38,0:40:30.89,Default,,0000,0000,0000,,and you can write the energy, the kinetic energy, associated Dialogue: 0,0:40:30.91,0:40:33.41,Default,,0000,0000,0000,,with this moving mass and inertia associated with the rigid Dialogue: 0,0:40:30.90,0:40:31.90,Default,,0000,0000,0000,,body. Dialogue: 0,0:40:31.90,0:40:34.40,Default,,0000,0000,0000,,And simply by adding the kinetic energy of these different Dialogue: 0,0:40:32.80,0:40:35.30,Default,,0000,0000,0000,,links, you have the total kinetic energy of the system. Dialogue: 0,0:40:33.70,0:40:36.20,Default,,0000,0000,0000,,And by then taking these velocities and taking the Jacobian Dialogue: 0,0:40:34.60,0:40:36.60,Default,,0000,0000,0000,,relationship between velocities to connect them to joint Dialogue: 0,0:40:35.32,0:40:39.03,Default,,0000,0000,0000,,velocities, you will be able to extract the mass properties Dialogue: 0,0:40:39.05,0:40:40.05,Default,,0000,0000,0000,,of the robot. Dialogue: 0,0:40:40.05,0:40:44.15,Default,,0000,0000,0000,,So the mass metrics will become a very simple form of the Dialogue: 0,0:40:44.17,0:40:45.17,Default,,0000,0000,0000,,Jacobian. Dialogue: 0,0:40:45.17,0:40:49.53,Default,,0000,0000,0000,,So that's why I'm going to insist on your understanding of Dialogue: 0,0:40:49.55,0:40:50.55,Default,,0000,0000,0000,,the Jacobian. Dialogue: 0,0:40:50.55,0:40:54.16,Default,,0000,0000,0000,,Once you understand the Jacobian, you can scale the Jacobian Dialogue: 0,0:40:54.18,0:40:57.87,Default,,0000,0000,0000,,with the masses and the inertias and get your dynamics. Dialogue: 0,0:40:57.89,0:41:03.53,Default,,0000,0000,0000,,So going to dynamics is going to be very simple if after the Dialogue: 0,0:41:03.55,0:41:07.89,Default,,0000,0000,0000,,midterm, you really understood what is the Jacobian. Dialogue: 0,0:41:07.91,0:41:08.91,Default,,0000,0000,0000,,The dynamics-- Dialogue: 0,0:41:08.91,0:41:12.56,Default,,0000,0000,0000,,This mass metrics associated with the dynamics of the system Dialogue: 0,0:41:12.58,0:41:18.06,Default,,0000,0000,0000,,comes simply by looking at the sum of the contributions of Dialogue: 0,0:41:18.08,0:41:22.15,Default,,0000,0000,0000,,the center of mass velocities and the Jacobian associated Dialogue: 0,0:41:22.17,0:41:23.42,Default,,0000,0000,0000,,with the center of masses. Dialogue: 0,0:41:23.07,0:41:27.10,Default,,0000,0000,0000,,In control, we will examine-- Dialogue: 0,0:41:27.12,0:41:32.13,Default,,0000,0000,0000,,Oh, I'm going to assume also a little background in control. Dialogue: 0,0:41:32.15,0:41:37.80,Default,,0000,0000,0000,,So we will go over just a single mass-spring system and Dialogue: 0,0:41:37.82,0:41:43.07,Default,,0000,0000,0000,,analyze it, and then we will examine controllers such as PD Dialogue: 0,0:41:43.09,0:41:46.78,Default,,0000,0000,0000,,controllers or PID controllers, proportional derivative or Dialogue: 0,0:41:46.80,0:41:50.57,Default,,0000,0000,0000,,proportional integral derivative, and then we apply these in Dialogue: 0,0:41:50.59,0:41:57.04,Default,,0000,0000,0000,,joint space and in task space by augmenting the controllers Dialogue: 0,0:41:57.06,0:42:00.73,Default,,0000,0000,0000,,with the dynamic structure so that we account for the Dialogue: 0,0:42:00.75,0:42:03.48,Default,,0000,0000,0000,,dynamics when we are controlling the robot. Dialogue: 0,0:42:03.50,0:42:10.86,Default,,0000,0000,0000,,And that is going to lead to a very interesting analysis of Dialogue: 0,0:42:10.88,0:42:14.89,Default,,0000,0000,0000,,the dynamics and how dynamics affect the behavior of the Dialogue: 0,0:42:14.91,0:42:16.02,Default,,0000,0000,0000,,robot. Dialogue: 0,0:42:16.04,0:42:20.15,Default,,0000,0000,0000,,And you can see that the equation of motion for two degrees Dialogue: 0,0:42:20.17,0:42:24.50,Default,,0000,0000,0000,,of freedom comes to be sort of two equations involving not Dialogue: 0,0:42:24.52,0:42:27.99,Default,,0000,0000,0000,,only the acceleration of the joint but the acceleration of Dialogue: 0,0:42:28.01,0:42:31.98,Default,,0000,0000,0000,,the second joint, the velocities, centrifugal, Coriolis Dialogue: 0,0:42:32.00,0:42:33.66,Default,,0000,0000,0000,,forces and gravity forces. Dialogue: 0,0:42:33.68,0:42:39.01,Default,,0000,0000,0000,,And through this, all of these will have an effect, dynamic Dialogue: 0,0:42:39.03,0:42:41.37,Default,,0000,0000,0000,,effect, and disturbances on the behavior. Dialogue: 0,0:42:41.39,0:42:45.03,Default,,0000,0000,0000,,But we will analyze a structure that would allow us to Dialogue: 0,0:42:45.05,0:42:47.80,Default,,0000,0000,0000,,design torque one and torque two, the torques applied to the Dialogue: 0,0:42:47.23,0:42:52.99,Default,,0000,0000,0000,,motor, to create the behavior that is going to allow us to Dialogue: 0,0:42:53.01,0:42:55.78,Default,,0000,0000,0000,,compensate for those effects. Dialogue: 0,0:42:55.80,0:43:03.02,Default,,0000,0000,0000,,So all of these are descriptions in joint space--that is, Dialogue: 0,0:43:03.04,0:43:07.83,Default,,0000,0000,0000,,descriptions of what torque and what motion at the joint. Dialogue: 0,0:43:07.85,0:43:13.17,Default,,0000,0000,0000,,[sic] And what we will see is that in controlling robots, we Dialogue: 0,0:43:13.19,0:43:18.97,Default,,0000,0000,0000,,can really simplify much further the problem by considering Dialogue: 0,0:43:18.99,0:43:23.63,Default,,0000,0000,0000,,the behavior of the robot in term Dialogue: 0,0:43:23.65,0:43:27.48,Default,,0000,0000,0000,,[sic] of its motion when it's performing a task--that is, we Dialogue: 0,0:43:27.50,0:43:32.14,Default,,0000,0000,0000,,can go to the task itself, the task, in the case of the Dialogue: 0,0:43:32.16,0:43:35.36,Default,,0000,0000,0000,,example I described, is how to move the hand to this Dialogue: 0,0:43:35.38,0:43:40.03,Default,,0000,0000,0000,,location, without really focusing on how each of the joint Dialogue: 0,0:43:40.05,0:43:41.45,Default,,0000,0000,0000,,is going to move. Dialogue: 0,0:43:41.47,0:43:47.46,Default,,0000,0000,0000,,And this concept can be captured by simply thinking about Dialogue: 0,0:43:47.48,0:43:52.50,Default,,0000,0000,0000,,this robot, this total robot, as if the robot was attracted Dialogue: 0,0:43:52.52,0:43:54.02,Default,,0000,0000,0000,,to move to the goal position. Dialogue: 0,0:43:53.75,0:43:56.59,Default,,0000,0000,0000,,This is similar to the way a human operate. Dialogue: 0,0:43:56.61,0:43:59.61,Default,,0000,0000,0000,,[sic] When you are controlling your hand to move to a goal Dialogue: 0,0:43:59.16,0:44:02.60,Default,,0000,0000,0000,,position, essentially you are visually surveying your hand Dialogue: 0,0:44:02.62,0:44:03.62,Default,,0000,0000,0000,,to the goal. Dialogue: 0,0:44:03.62,0:44:06.67,Default,,0000,0000,0000,,You are not thinking about how the joints are moving. Dialogue: 0,0:44:06.69,0:44:11.34,Default,,0000,0000,0000,,You are just moving the hand by applying these forces to Dialogue: 0,0:44:11.36,0:44:13.26,Default,,0000,0000,0000,,move the hand to the goal position. Dialogue: 0,0:44:13.28,0:44:18.43,Default,,0000,0000,0000,,So it's like holding the hand and pulling it down to the Dialogue: 0,0:44:18.45,0:44:19.45,Default,,0000,0000,0000,,goal. Dialogue: 0,0:44:19.45,0:44:25.18,Default,,0000,0000,0000,,And at the initial configuration, you have no commitment Dialogue: 0,0:44:25.20,0:44:28.17,Default,,0000,0000,0000,,about the final configuration of the arm. Dialogue: 0,0:44:28.19,0:44:31.68,Default,,0000,0000,0000,,You are just applying the force towards the goal, and you Dialogue: 0,0:44:31.70,0:44:33.45,Default,,0000,0000,0000,,are moving towards the goal. Dialogue: 0,0:44:33.47,0:44:37.74,Default,,0000,0000,0000,,So simply by creating a gradient of a potential energy, you Dialogue: 0,0:44:37.76,0:44:40.45,Default,,0000,0000,0000,,will be able to move to that configuration. Dialogue: 0,0:44:40.47,0:44:44.29,Default,,0000,0000,0000,,And this is precisely what we saw in this example, in the Dialogue: 0,0:44:44.31,0:44:49.56,Default,,0000,0000,0000,,example of this robot here. Dialogue: 0,0:44:49.58,0:44:53.73,Default,,0000,0000,0000,,So this motion that we are creating-- Dialogue: 0,0:44:53.75,0:44:58.97,Default,,0000,0000,0000,,So if we are going to move the hand to this location, we are Dialogue: 0,0:44:58.99,0:45:02.87,Default,,0000,0000,0000,,going to generate a force that pulls like a magnet. Dialogue: 0,0:45:02.89,0:45:06.23,Default,,0000,0000,0000,,It will pull the hand to this configuration. Dialogue: 0,0:45:06.25,0:45:08.41,Default,,0000,0000,0000,,But at the same time, you have-- Dialogue: 0,0:45:08.43,0:45:12.69,Default,,0000,0000,0000,,In this complex case, you have a robot that is standing, and Dialogue: 0,0:45:12.71,0:45:13.84,Default,,0000,0000,0000,,it has to balance. Dialogue: 0,0:45:13.86,0:45:15.81,Default,,0000,0000,0000,,So there are other things that needs Dialogue: 0,0:45:15.83,0:45:17.48,Default,,0000,0000,0000,,[sic] to be taken into account. Dialogue: 0,0:45:17.50,0:45:21.26,Default,,0000,0000,0000,,And what we are doing is we are also applying other Dialogue: 0,0:45:21.28,0:45:24.64,Default,,0000,0000,0000,,potential energies to the rest of the body to balance. Dialogue: 0,0:45:24.66,0:45:30.63,Default,,0000,0000,0000,,So when we apply this force, you see it's just following. Dialogue: 0,0:45:30.65,0:45:32.05,Default,,0000,0000,0000,,It's like a magnet. Dialogue: 0,0:45:32.07,0:45:33.69,Default,,0000,0000,0000,,It's following this configuration. Dialogue: 0,0:45:33.71,0:45:37.01,Default,,0000,0000,0000,,There is no computation of the joint positions. Dialogue: 0,0:45:37.03,0:45:42.23,Default,,0000,0000,0000,,Simply we are applying these attractive forces to the goal. Dialogue: 0,0:45:42.25,0:45:47.04,Default,,0000,0000,0000,,We can apply it here, apply it there, or apply it to both. Dialogue: 0,0:45:47.06,0:45:58.39,Default,,0000,0000,0000,,Now obviously, if you cut the motors, it's going to fall. Dialogue: 0,0:45:58.41,0:46:04.80,Default,,0000,0000,0000,,And it behaves a little bit like a human, actually. Dialogue: 0,0:46:04.82,0:46:11.67,Default,,0000,0000,0000,,When you cut the muscle (laughter) In fact, this Dialogue: 0,0:46:11.69,0:46:12.69,Default,,0000,0000,0000,,environment, we developed-- Dialogue: 0,0:46:12.69,0:46:14.18,Default,,0000,0000,0000,,It's quite interesting. Dialogue: 0,0:46:14.20,0:46:19.80,Default,,0000,0000,0000,,You can not only interact with it by moving the goal, but Dialogue: 0,0:46:19.82,0:46:23.32,Default,,0000,0000,0000,,you can go and pull the hair. (laughter) Ouch. Dialogue: 0,0:46:23.34,0:46:25.76,Default,,0000,0000,0000,,You can pull anywhere. Dialogue: 0,0:46:25.78,0:46:31.85,Default,,0000,0000,0000,,When I click here, I'm computing the forward kinematics and Dialogue: 0,0:46:31.87,0:46:33.04,Default,,0000,0000,0000,,the Jacobian. Dialogue: 0,0:46:33.06,0:46:38.72,Default,,0000,0000,0000,,And I'm applying a force that is immediately going to Dialogue: 0,0:46:38.74,0:46:43.05,Default,,0000,0000,0000,,produce that force computed by the Jacobian on the motors, Dialogue: 0,0:46:43.07,0:46:46.37,Default,,0000,0000,0000,,and everything will react in that way. Dialogue: 0,0:46:46.39,0:46:49.80,Default,,0000,0000,0000,,So we are able to create those interaction Dialogue: 0,0:46:49.82,0:46:54.88,Default,,0000,0000,0000,,[sic] between the graphics, the kinematics and apply it to Dialogue: 0,0:46:54.90,0:46:55.90,Default,,0000,0000,0000,,the dynamic system. Dialogue: 0,0:46:55.90,0:46:58.88,Default,,0000,0000,0000,,And everything actually is simulated on the laptop here. Dialogue: 0,0:46:58.90,0:47:00.90,Default,,0000,0000,0000,,So this is an environment that allow us Dialogue: 0,0:47:00.66,0:47:04.73,Default,,0000,0000,0000,,[sic] to do a lot of interesting simulations of humanlike Dialogue: 0,0:47:04.75,0:47:09.15,Default,,0000,0000,0000,,structures. Dialogue: 0,0:47:09.17,0:47:11.68,Default,,0000,0000,0000,,So you apply the force and you transform it. Dialogue: 0,0:47:11.70,0:47:15.63,Default,,0000,0000,0000,,As I said, the relationship between forces and torques is Dialogue: 0,0:47:15.65,0:47:18.15,Default,,0000,0000,0000,,also the Jacobian, so the Jacobian plays a very important Dialogue: 0,0:47:17.25,0:47:18.25,Default,,0000,0000,0000,,role. Dialogue: 0,0:47:18.25,0:47:23.75,Default,,0000,0000,0000,,And then the computer dynamics--all that we need to do is to Dialogue: 0,0:47:23.77,0:47:27.83,Default,,0000,0000,0000,,understand the relationship between forces applied at the Dialogue: 0,0:47:27.85,0:47:31.05,Default,,0000,0000,0000,,end of factor and the resulting acceleration. Dialogue: 0,0:47:31.07,0:47:35.08,Default,,0000,0000,0000,,Now when we talked earlier about Newton law, we said force-- Dialogue: 0,0:47:35.10,0:47:39.37,Default,,0000,0000,0000,,mass, acceleration equal force. Dialogue: 0,0:47:39.39,0:47:41.68,Default,,0000,0000,0000,,And the mass was scalar. Dialogue: 0,0:47:41.70,0:47:44.34,Default,,0000,0000,0000,,But this is a multi-value system. Dialogue: 0,0:47:44.36,0:47:47.40,Default,,0000,0000,0000,,And the mass is going to be a big M, mass metrics. Dialogue: 0,0:47:47.42,0:47:55.19,Default,,0000,0000,0000,,So the relationship between forces and acceleration is not Dialogue: 0,0:47:55.21,0:47:59.15,Default,,0000,0000,0000,,linear--that is, forces and acceleration are not aligned Dialogue: 0,0:47:59.17,0:48:01.92,Default,,0000,0000,0000,,because of the fact that you have a metrics. Dialogue: 0,0:48:01.94,0:48:04.98,Default,,0000,0000,0000,,And because of that, you need to establish the relationship Dialogue: 0,0:48:05.00,0:48:06.23,Default,,0000,0000,0000,,between the two. Dialogue: 0,0:48:06.25,0:48:09.64,Default,,0000,0000,0000,,And once you have this model, you can account for the Dialogue: 0,0:48:09.66,0:48:14.29,Default,,0000,0000,0000,,dynamics in your forces, and then you can align the forces Dialogue: 0,0:48:14.31,0:48:19.24,Default,,0000,0000,0000,,to move, to be in the direction that produces the right Dialogue: 0,0:48:19.26,0:48:20.26,Default,,0000,0000,0000,,acceleration. Dialogue: 0,0:48:20.26,0:48:27.36,Default,,0000,0000,0000,,Finally, we need to deal with the problem of controlling Dialogue: 0,0:48:27.38,0:48:28.38,Default,,0000,0000,0000,,contact. Dialogue: 0,0:48:28.38,0:48:34.29,Default,,0000,0000,0000,,So when you are moving in space, it's one thing, but when we Dialogue: 0,0:48:34.31,0:48:39.15,Default,,0000,0000,0000,,are going to move in contact space, it's a different thing. Dialogue: 0,0:48:39.17,0:48:41.79,Default,,0000,0000,0000,,Applying this force put Dialogue: 0,0:48:41.81,0:48:45.74,Default,,0000,0000,0000,,[sic] the whole structure under a constraint, and you have Dialogue: 0,0:48:45.76,0:48:49.95,Default,,0000,0000,0000,,to account for these constraints and compute the normals to Dialogue: 0,0:48:49.97,0:48:54.49,Default,,0000,0000,0000,,find reaction forces in order to control the forces being Dialogue: 0,0:48:54.51,0:48:55.66,Default,,0000,0000,0000,,applied to the environment. Dialogue: 0,0:48:55.68,0:49:01.28,Default,,0000,0000,0000,,So we need to deal with force control, and we need to Dialogue: 0,0:49:01.30,0:49:06.16,Default,,0000,0000,0000,,stabilize the transition from free space to contact space-- Dialogue: 0,0:49:06.18,0:49:09.18,Default,,0000,0000,0000,,so that is, we need to be able to control these contact Dialogue: 0,0:49:09.06,0:49:10.67,Default,,0000,0000,0000,,forces while moving. Dialogue: 0,0:49:10.69,0:49:12.30,Default,,0000,0000,0000,,And what is nice-- Dialogue: 0,0:49:12.32,0:49:16.00,Default,,0000,0000,0000,,If you do this in the Cartesian space or in the task space, Dialogue: 0,0:49:16.02,0:49:21.88,Default,,0000,0000,0000,,you will be able to just merge the two forces together to Dialogue: 0,0:49:21.90,0:49:27.70,Default,,0000,0000,0000,,control the robot directly to produce motion and contact. Dialogue: 0,0:49:27.72,0:49:31.86,Default,,0000,0000,0000,,I mentioned that we will discuss some other topics. Dialogue: 0,0:49:31.88,0:49:36.29,Default,,0000,0000,0000,,There will be a guest lecturer that will talk about vision Dialogue: 0,0:49:36.31,0:49:41.87,Default,,0000,0000,0000,,in robotics, and we will also discuss issues about design. Dialogue: 0,0:49:41.89,0:49:44.89,Default,,0000,0000,0000,,I would like to discuss a little bit some issues related to Dialogue: 0,0:49:44.91,0:49:51.49,Default,,0000,0000,0000,,safety and the issues related to making robots lighter with Dialogue: 0,0:49:51.51,0:50:01.96,Default,,0000,0000,0000,,structures that become safer and flexible to work in a human Dialogue: 0,0:50:01.98,0:50:02.98,Default,,0000,0000,0000,,environment. Dialogue: 0,0:50:02.98,0:50:08.38,Default,,0000,0000,0000,,Also, we need to discuss a little bit about motion planning, Dialogue: 0,0:50:08.40,0:50:11.45,Default,,0000,0000,0000,,and especially if we are going to insert those robots in the Dialogue: 0,0:50:11.47,0:50:14.14,Default,,0000,0000,0000,,human environment, we need reactive planning. Dialogue: 0,0:50:14.16,0:50:17.73,Default,,0000,0000,0000,,And there is-- Dialogue: 0,0:50:17.75,0:50:22.77,Default,,0000,0000,0000,,In this video, you can see how a complex robotic system is Dialogue: 0,0:50:22.79,0:50:27.81,Default,,0000,0000,0000,,reacting here to obstacles that are coming at it. Dialogue: 0,0:50:27.83,0:50:30.14,Default,,0000,0000,0000,,It's moving away from those obstacles. Dialogue: 0,0:50:30.16,0:50:35.56,Default,,0000,0000,0000,,And this is simply done by using the same type of concept Dialogue: 0,0:50:35.58,0:50:38.98,Default,,0000,0000,0000,,that I described for moving to a goal position. Dialogue: 0,0:50:39.00,0:50:42.98,Default,,0000,0000,0000,,I said we can create an attractive potential energy. Dialogue: 0,0:50:43.00,0:50:46.90,Default,,0000,0000,0000,,In here, to create this motion, we are creating a repulsive Dialogue: 0,0:50:46.92,0:50:48.48,Default,,0000,0000,0000,,potential energy. Dialogue: 0,0:50:48.50,0:50:53.41,Default,,0000,0000,0000,,So if you put two magnets north-north, they will repel, and Dialogue: 0,0:50:53.43,0:50:54.96,Default,,0000,0000,0000,,this is exactly what is happening. Dialogue: 0,0:50:54.98,0:50:59.03,Default,,0000,0000,0000,,We are creating artificially those forces and making the Dialogue: 0,0:50:59.05,0:51:00.80,Default,,0000,0000,0000,,robot move away. Dialogue: 0,0:51:00.82,0:51:07.01,Default,,0000,0000,0000,,But if you have a global plan, you need to deal with the Dialogue: 0,0:51:07.03,0:51:10.50,Default,,0000,0000,0000,,full plan so that you will not reach a local minima, and we Dialogue: 0,0:51:10.52,0:51:14.46,Default,,0000,0000,0000,,then apply this technique to modify all the intermediate Dialogue: 0,0:51:14.48,0:51:18.74,Default,,0000,0000,0000,,configurations so that a robot like this would be moving to Dialogue: 0,0:51:18.76,0:51:22.47,Default,,0000,0000,0000,,a goal position through this plan. Dialogue: 0,0:51:22.49,0:51:25.95,Default,,0000,0000,0000,,And when an obstacle or when the world is changed, the Dialogue: 0,0:51:25.97,0:51:29.69,Default,,0000,0000,0000,,trajectory is moving, the hand is moving, and all of this is Dialogue: 0,0:51:29.71,0:51:36.81,Default,,0000,0000,0000,,happening in real time, which is amazing for a robot with Dialogue: 0,0:51:36.83,0:51:39.14,Default,,0000,0000,0000,,this number of degrees of freedom. Dialogue: 0,0:51:39.16,0:51:40.73,Default,,0000,0000,0000,,The reason is-- Dialogue: 0,0:51:40.75,0:51:43.94,Default,,0000,0000,0000,,I'm not sure if you're familiar with the problem. Dialogue: 0,0:51:43.96,0:51:45.49,Default,,0000,0000,0000,,Oh, sorry, let me just-- Dialogue: 0,0:51:45.51,0:51:50.51,Default,,0000,0000,0000,,The problem of motion planning in robotics is exponential in Dialogue: 0,0:51:50.53,0:51:52.25,Default,,0000,0000,0000,,the number of degrees of freedom. Dialogue: 0,0:51:52.27,0:51:57.73,Default,,0000,0000,0000,,So usually, if you want to replan a motion when one obstacle Dialogue: 0,0:51:57.75,0:52:02.50,Default,,0000,0000,0000,,has moved, it would take hours to do for a large number of Dialogue: 0,0:52:02.52,0:52:03.52,Default,,0000,0000,0000,,degrees of freedom. Dialogue: 0,0:52:03.53,0:52:08.26,Default,,0000,0000,0000,,And here we are able to do this quite quickly because we are Dialogue: 0,0:52:08.28,0:52:12.89,Default,,0000,0000,0000,,using the structure and we are using this concept of Dialogue: 0,0:52:12.91,0:52:18.23,Default,,0000,0000,0000,,repulsive forces that modifies future configurations and Dialogue: 0,0:52:18.25,0:52:19.44,Default,,0000,0000,0000,,integrate-- Dialogue: 0,0:52:19.46,0:52:24.97,Default,,0000,0000,0000,,So this is an example showing Indiana Jones going through Dialogue: 0,0:52:24.99,0:52:29.94,Default,,0000,0000,0000,,the obstacles modified by--in real time, actually, modified Dialogue: 0,0:52:29.96,0:52:40.07,Default,,0000,0000,0000,,all these configurations. Dialogue: 0,0:52:40.09,0:52:47.95,Default,,0000,0000,0000,,And all these computations are taking place in real time Dialogue: 0,0:52:47.97,0:52:50.50,Default,,0000,0000,0000,,because we are using this initial structure and Dialogue: 0,0:52:50.52,0:52:54.94,Default,,0000,0000,0000,,incrementally modifying all the configurations. Dialogue: 0,0:52:54.96,0:53:01.38,Default,,0000,0000,0000,,Another topic that I mentioned slightly earlier is the Dialogue: 0,0:53:01.40,0:53:05.08,Default,,0000,0000,0000,,implication on digital modeling of human. Dialogue: 0,0:53:05.10,0:53:06.98,Default,,0000,0000,0000,,[sic] And learning from the human Dialogue: 0,0:53:07.00,0:53:12.05,Default,,0000,0000,0000,,[sic] is very interesting and very attractive to create good Dialogue: 0,0:53:12.07,0:53:14.93,Default,,0000,0000,0000,,controls for robots, and also understanding the human Dialogue: 0,0:53:14.95,0:53:15.95,Default,,0000,0000,0000,,motion. Dialogue: 0,0:53:15.95,0:53:20.49,Default,,0000,0000,0000,,In fact, currently, we are modeling Tai Chi motion and Dialogue: 0,0:53:20.51,0:53:24.61,Default,,0000,0000,0000,,trying to analyze and learn from those motions. Dialogue: 0,0:53:24.63,0:53:28.83,Default,,0000,0000,0000,,So you can go from motion capture to copying that motion to Dialogue: 0,0:53:28.85,0:53:30.08,Default,,0000,0000,0000,,the robot. Dialogue: 0,0:53:30.10,0:53:33.28,Default,,0000,0000,0000,,But in fact, you will end up with just one example of Dialogue: 0,0:53:33.30,0:53:34.91,Default,,0000,0000,0000,,motion. Dialogue: 0,0:53:34.93,0:53:39.74,Default,,0000,0000,0000,,The question really is how you can generalize, not just one Dialogue: 0,0:53:39.76,0:53:40.95,Default,,0000,0000,0000,,specific motion. Dialogue: 0,0:53:40.97,0:53:44.22,Default,,0000,0000,0000,,And to do that, if you want to generalize, you need to take Dialogue: 0,0:53:44.22,0:53:47.90,Default,,0000,0000,0000,,the motion of the human from motion capture and map it not Dialogue: 0,0:53:47.92,0:53:51.03,Default,,0000,0000,0000,,to the robot but to a model of the human. Dialogue: 0,0:53:51.05,0:53:54.91,Default,,0000,0000,0000,,So you need to model the human, and modeling the human Dialogue: 0,0:53:54.93,0:53:57.68,Default,,0000,0000,0000,,involves modeling the skeletal system. Dialogue: 0,0:53:57.70,0:54:01.16,Default,,0000,0000,0000,,So we worked on this problem, so now you have-- Dialogue: 0,0:54:01.18,0:54:04.36,Default,,0000,0000,0000,,This is a new kind of robot system with many degrees of Dialogue: 0,0:54:04.38,0:54:08.38,Default,,0000,0000,0000,,freedom, about 79 degrees of freedom. Dialogue: 0,0:54:08.40,0:54:11.15,Default,,0000,0000,0000,,And all of this is modeled through the same model of Dialogue: 0,0:54:10.91,0:54:12.66,Default,,0000,0000,0000,,kinematics, dynamics. Dialogue: 0,0:54:12.68,0:54:17.62,Default,,0000,0000,0000,,And then you can model the actuation, which is muscles now, Dialogue: 0,0:54:17.64,0:54:20.66,Default,,0000,0000,0000,,and from this, you can learn a lot of things about the Dialogue: 0,0:54:20.68,0:54:21.68,Default,,0000,0000,0000,,model. Dialogue: 0,0:54:21.68,0:54:23.48,Default,,0000,0000,0000,,And then now you can control it. Dialogue: 0,0:54:23.50,0:54:24.92,Default,,0000,0000,0000,,You can control-- Dialogue: 0,0:54:24.94,0:54:26.41,Default,,0000,0000,0000,,This is synthesized motion. Dialogue: 0,0:54:26.43,0:54:28.18,Default,,0000,0000,0000,,And you understand how this is working. Dialogue: 0,0:54:27.98,0:54:31.59,Default,,0000,0000,0000,,You just guide the task, and then you have the balance Dialogue: 0,0:54:31.61,0:54:38.60,Default,,0000,0000,0000,,taking place through other minimization of the reminder of Dialogue: 0,0:54:38.62,0:54:42.53,Default,,0000,0000,0000,,the degrees of freedom. Dialogue: 0,0:54:42.55,0:54:45.32,Default,,0000,0000,0000,,And then you can take those characteristics and map them to Dialogue: 0,0:54:45.34,0:54:49.19,Default,,0000,0000,0000,,the robot, scale them to the robot--not copying trajectories Dialogue: 0,0:54:49.21,0:54:50.99,Default,,0000,0000,0000,,but copying the characteristics of the motion. Dialogue: 0,0:54:51.01,0:54:54.38,Default,,0000,0000,0000,,It's quite interesting. Dialogue: 0,0:54:54.40,0:54:58.54,Default,,0000,0000,0000,,We'll discuss also a little bit about haptics. Dialogue: 0,0:54:58.56,0:55:02.15,Default,,0000,0000,0000,,This will be more developed in Advanced Robotics later in Dialogue: 0,0:55:02.17,0:55:08.29,Default,,0000,0000,0000,,the spring, but haptics is very important, especially in the Dialogue: 0,0:55:08.31,0:55:10.12,Default,,0000,0000,0000,,interaction with the environment, the real physical Dialogue: 0,0:55:10.14,0:55:11.14,Default,,0000,0000,0000,,environment. Dialogue: 0,0:55:11.14,0:55:12.88,Default,,0000,0000,0000,,So you go and touch-- Dialogue: 0,0:55:12.90,0:55:15.40,Default,,0000,0000,0000,,And now you have information that allows you to reconstruct Dialogue: 0,0:55:15.35,0:55:23.60,Default,,0000,0000,0000,,the surface and move over now more descriptions of what you Dialogue: 0,0:55:23.62,0:55:30.63,Default,,0000,0000,0000,,are touching and what normals you have. Dialogue: 0,0:55:30.65,0:55:38.51,Default,,0000,0000,0000,,Well, contact. (laughter) Quite amazing. Dialogue: 0,0:55:38.53,0:55:42.33,Default,,0000,0000,0000,,What is amazing about this is this is done in real time. Dialogue: 0,0:55:42.35,0:55:47.32,Default,,0000,0000,0000,,So someone from the automotive industry was visiting us and Dialogue: 0,0:55:47.34,0:55:51.97,Default,,0000,0000,0000,,said, ?Now you have model of skeletal systems and good Dialogue: 0,0:55:51.99,0:55:53.84,Default,,0000,0000,0000,,models for resolving contact. Dialogue: 0,0:55:53.86,0:55:58.30,Default,,0000,0000,0000,,Why don't you use them for crashes instead of using dummies, Dialogue: 0,0:55:58.32,0:55:59.49,Default,,0000,0000,0000,,right? Dialogue: 0,0:55:59.51,0:56:00.51,Default,,0000,0000,0000,,So-- Dialogue: 0,0:55:59.60,0:56:04.43,Default,,0000,0000,0000,,Ouch. Dialogue: 0,0:56:04.45,0:56:07.39,Default,,0000,0000,0000,,But it's only in the model. Dialogue: 0,0:56:07.41,0:56:14.00,Default,,0000,0000,0000,,Well, there is a lot that will come later, but I will Dialogue: 0,0:56:14.02,0:56:16.53,Default,,0000,0000,0000,,mention a few things about the interactivity also with Dialogue: 0,0:56:16.55,0:56:20.50,Default,,0000,0000,0000,,obstacles and how we can deal with those issues and then Dialogue: 0,0:56:20.52,0:56:27.14,Default,,0000,0000,0000,,combining locomotion--walking with manipulation and dynamic Dialogue: 0,0:56:27.16,0:56:32.81,Default,,0000,0000,0000,,skills like jumping, landing and all these different things. Dialogue: 0,0:56:32.83,0:56:37.13,Default,,0000,0000,0000,,Okay, so what is happening here? Dialogue: 0,0:56:37.15,0:56:41.24,Default,,0000,0000,0000,,Okay, this is a different planet. Dialogue: 0,0:56:41.26,0:56:42.51,Default,,0000,0000,0000,,I'm going to just-- Dialogue: 0,0:56:42.13,0:56:48.05,Default,,0000,0000,0000,,Okay, and that will take us to the final, which will be on Dialogue: 0,0:56:48.07,0:56:52.15,Default,,0000,0000,0000,,Friday, the 21st of March. Dialogue: 0,0:56:52.17,0:56:54.31,Default,,0000,0000,0000,,And the time is different. Dialogue: 0,0:56:54.33,0:56:55.83,Default,,0000,0000,0000,,It will be at 12:15. Dialogue: 0,0:56:55.63,0:57:02.01,Default,,0000,0000,0000,,We will announce it, and hopefully we will have again a Dialogue: 0,0:57:02.03,0:57:04.29,Default,,0000,0000,0000,,review session before that. Dialogue: 0,0:57:04.31,0:57:06.24,Default,,0000,0000,0000,,It is on the schedule. Dialogue: 0,0:57:06.26,0:57:10.30,Default,,0000,0000,0000,,In that review session, we'll review previous finals, and Dialogue: 0,0:57:10.32,0:57:16.63,Default,,0000,0000,0000,,here you will have enough time to solve some good problems. Dialogue: 0,0:57:16.65,0:57:20.33,Default,,0000,0000,0000,,So, by the way, not everything that you see in simulation is Dialogue: 0,0:57:20.35,0:57:22.73,Default,,0000,0000,0000,,valid for the real world. Dialogue: 0,0:57:22.75,0:57:27.07,Default,,0000,0000,0000,,And let's see How many skiers do we have here? Dialogue: 0,0:57:27.09,0:57:29.38,Default,,0000,0000,0000,,Skiers. Dialogue: 0,0:57:29.40,0:57:31.64,Default,,0000,0000,0000,,That's all? Dialogue: 0,0:57:31.66,0:57:32.66,Default,,0000,0000,0000,,I would have thought-- Dialogue: 0,0:57:32.26,0:57:33.26,Default,,0000,0000,0000,,Okay. Dialogue: 0,0:57:32.35,0:57:33.35,Default,,0000,0000,0000,,Okay. Dialogue: 0,0:57:32.44,0:57:39.44,Default,,0000,0000,0000,,Does it ski? Dialogue: 0,0:57:39.46,0:57:45.56,Default,,0000,0000,0000,,Let's see the ski. Dialogue: 0,0:57:45.58,0:57:47.33,Default,,0000,0000,0000,,Don't do that. (laughter) All right. Dialogue: 0,0:57:46.12,0:57:48.37,Default,,0000,0000,0000,,I will see some of you on Monday. Okay.