< Return to Video

Lecture 1 | Introduction to Robotics

  • 0:00 - 0:15
    (music) >> This presentation is delivered by the Stanford
  • 0:15 - 0:24
    Center for Professional Development.
  • 0:24 - 0:27
    >> Okay, let's get started.
  • 0:27 - 0:30
    Welcome to Intro to Robotics, 2008.
  • 0:30 - 0:34
    Well, Happy New Year to everyone.
  • 0:34 - 0:40
    So in Introduction to Robotics, we are going to really cover
  • 0:40 - 0:45
    the foundations of robotics--that is, we are going to look
  • 0:45 - 0:49
    at mathematical models that represents
  • 0:49 - 0:52
    [sic] robotic systems in many different ways.
  • 0:52 - 0:57
    And in fact, you just saw those in class.
  • 0:57 - 0:58
    You saw a
  • 0:58 - 1:04
    [sic] assimilation of a humanoid robotic system that we are
  • 1:04 - 1:05
    controlling at the same time.
  • 1:05 - 1:10
    And if you think about a model that you are going to use for
  • 1:10 - 1:13
    the assimilation, you need really to represent the
  • 1:13 - 1:14
    kinematics of the system.
  • 1:14 - 1:20
    You need also to be able to actuate the system by going to
  • 1:20 - 1:23
    the motors and finding the right torques to make the robot
  • 1:23 - 1:24
    move.
  • 1:24 - 1:27
    So let's go back to this--
  • 1:27 - 1:31
    I think it is quite interesting.
  • 1:31 - 1:36
    So here's a robot you would like to control.
  • 1:36 - 1:42
    And the question is: How can we really come up with a way of
  • 1:42 - 1:46
    controlling the hands to move from one location to another?
  • 1:46 - 1:50
    And if you think about this problem, there are many
  • 1:50 - 1:54
    different ways of, in fact, controlling the robot.
  • 1:54 - 1:57
    First of all, you need to know where the robot is, and to
  • 1:57 - 2:00
    know where the robot is, you need some sensors.
  • 2:00 - 2:02
    So, what kind of sensors you would have
  • 2:02 - 2:05
    [sic] on the robot to know where the robot is?
  • 2:05 - 2:08
    Any idea?
  • 2:08 - 2:09
    >> GPS.
  • 2:09 - 2:10
    >> GPS?
  • 2:09 - 2:10
    Okay.
  • 2:09 - 2:16
    Well, all right, how many parameters you can measure with
  • 2:16 - 2:22
    GPS?
  • 2:22 - 2:23
    That's fine.
  • 2:22 - 2:24
    I mean, we can try that.
  • 2:24 - 2:26
    How many parameters you can--
  • 2:26 - 2:28
    What can you determine with GPS?
  • 2:28 - 2:29
    >> Probably X and Y coordinates.
  • 2:28 - 2:37
    >> Yeah, you will locate X and Y for the location of the
  • 2:37 - 2:38
    GPS, right?
  • 2:38 - 2:41
    But how many degrees of freedom?
  • 2:41 - 2:43
    How many bodies are moving here?
  • 2:43 - 2:49
    When I'm moving this--like here--how many bodies are moving?
  • 2:49 - 2:51
    How many GPS you want
  • 2:50 - 2:55
    [sic] to put on the robot?
  • 2:55 - 2:58
    (laughter) You will need about 47 if you have 47 degrees of
  • 2:58 - 3:01
    freedom, and that won't work.
  • 3:01 - 3:02
    It will be too expensive.
  • 3:01 - 3:03
    Another idea.
  • 3:03 - 3:04
    We need something else.
  • 3:04 - 3:08
    >> Try encoders.
  • 3:08 - 3:09
    >> Encoders, yeah, encoders.
  • 3:09 - 3:10
    So, encoders measures
  • 3:09 - 3:11
    [sic] one degree of freedom, just the angle.
  • 3:12 - 3:13
    And how many encoders we need
  • 3:13 - 3:15
    [sic] for 47 degrees of freedom?
  • 3:15 - 3:19
    Forty-seven.
  • 3:19 - 3:23
    Now that will give you the relative position, but we will
  • 3:23 - 3:28
    not know whether this configuration is here or here, right?
  • 3:28 - 3:32
    So you need the GPS to maybe locate one object and then
  • 3:32 - 3:34
    locate everything with respect to it if you--
  • 3:34 - 3:37
    Any other idea to locate--
  • 3:37 - 3:38
    >> Differential navigation.
  • 3:38 - 3:47
    >> Yeah, by integrating from an initial known position or
  • 3:47 - 3:53
    using >> Vision systems.
  • 3:53 - 3:56
    >> vision systems to locate at least one or two objects,
  • 3:56 - 3:59
    then you know where the robot is, and then the relative
  • 3:59 - 4:02
    position, the velocities could be determined as we move.
  • 4:02 - 4:12
    So once we located the robot, then we need to somehow find a
  • 4:12 - 4:16
    way to describe where things are.
  • 4:16 - 4:18
    So where is the right hand?
  • 4:18 - 4:19
    Where the left hand?
  • 4:19 - 4:20
    [sic] Where-- So you need--
  • 4:20 - 4:22
    What do you need there?
  • 4:22 - 4:30
    You need to find the relationship between all these rigid
  • 4:30 - 4:35
    bodies so that once the robot is standing, you know where to
  • 4:35 - 4:39
    position--where the arm is positioned, where the hand is
  • 4:39 - 4:42
    positioned, where the head is positioned.
  • 4:42 - 4:49
    So you need something that comes from the science of--
  • 4:49 - 4:55
    Well, I am not talking now about sensors.
  • 4:55 - 4:57
    We know the information, but we need to determine--
  • 4:57 - 4:58
    >> A model.
  • 4:58 - 5:03
    >> A model, the kinematic model.
  • 5:03 - 5:05
    Basically, we need the kinematics.
  • 5:05 - 5:11
    And when the thing is moving, it generates dynamics, right?
  • 5:11 - 5:14
    So you need to find the inertial forces.
  • 5:14 - 5:15
    You need to know--
  • 5:15 - 5:18
    So if you move the right hand, suddenly everything is
  • 5:17 - 5:18
    moving, right?
  • 5:18 - 5:23
    You have coupling between these rigid bodies that are
  • 5:23 - 5:24
    connected.
  • 5:24 - 5:28
    So we need to find the dynamics.
  • 5:28 - 5:33
    And once you have all these models, then you need to think
  • 5:34 - 5:37
    about a way to control the robot.
  • 5:37 - 5:42
    So how do we control a robot like this?
  • 5:42 - 5:48
    So let's say I would like to move this to here.
  • 5:48 - 5:50
    How can we do that?
  • 5:50 - 5:52
    The hand--I would like to move it to this location.
  • 5:51 - 5:52
    I'm sorry?
  • 5:52 - 5:53
    >> Forward, inverse kinematics.
  • 5:52 - 5:53
    >> Oh, very good.
  • 5:52 - 6:05
    Well, the forward kinematics gives you the location of the
  • 6:05 - 6:06
    hand.
  • 6:06 - 6:09
    The inverse kinematics give you--given
  • 6:09 - 6:12
    [sic] a position for the hand that you desire.
  • 6:12 - 6:14
    You need to--
  • 6:14 - 6:16
    You will be able to solve what joint angles--
  • 6:16 - 6:19
    Yeah.
  • 6:19 - 6:24
    And if you do that, then you know your goal position angle
  • 6:24 - 6:26
    for each of the joints.
  • 6:25 - 6:30
    Then you can control these joints to move to the appropriate
  • 6:30 - 6:32
    joint positions, and the arm will move to that
  • 6:32 - 6:34
    configuration.
  • 6:34 - 6:42
    Well, can we do inverse kinematics for this robot?
  • 6:42 - 6:44
    It's not easy.
  • 6:44 - 6:47
    It's already difficult for six-degree-of-freedom robot like
  • 6:47 - 6:51
    an arm, but for a robot with many degrees of freedom--
  • 6:51 - 6:54
    So suppose I would like to move to this location--this
  • 6:52 - 6:53
    location here.
  • 6:53 - 7:01
    There are infinite ways I can move there.
  • 7:01 - 7:04
    And there are many, many different solutions to this
  • 7:04 - 7:06
    problem.
  • 7:06 - 7:07
    In addition, a human do not
  • 7:07 - 7:09
    [sic] really do it this way.
  • 7:08 - 7:11
    I mean, when you're moving your hand, do you do inverse
  • 7:11 - 7:13
    kinematics?
  • 7:13 - 7:18
    Anyone? No.
  • 7:18 - 7:21
    So we will see different ways of--
  • 7:21 - 7:24
    Oh, I will come back to this a little later, but let's--
  • 7:24 - 7:30
    I'm not sure, but the idea about robots is basically was
  • 7:30 - 7:31
    captured
  • 7:31 - 7:36
    [sic] by this image--that is, you have a robot working in an
  • 7:36 - 7:39
    isolated environment in a manufacturing plant, doing things,
  • 7:39 - 7:43
    picking, pick and place, moving from one location to another
  • 7:43 - 7:48
    without any interaction with humans. But robotics, over the
  • 7:48 - 7:49
    years, evolved.
  • 7:49 - 7:53
    And today, robotics is in many different areas of
  • 7:53 - 7:57
    application: from robots working with a surgeon to operate a
  • 7:57 - 7:58
    human
  • 7:58 - 8:02
    [sic], to robot assisting a worker to carry a heavy load, to
  • 8:02 - 8:05
    robots in entertainment, to robots in many, many different
  • 8:05 - 8:06
    fields.
  • 8:06 - 8:09
    And this is what is really exciting about robotics: the fact
  • 8:09 - 8:13
    that robotics is getting closer and closer to the human--
  • 8:13 - 8:17
    that is we are using the robot now to carry, to lift, to
  • 8:17 - 8:21
    work, to extend the hands of the human through haptic
  • 8:21 - 8:22
    interaction.
  • 8:22 - 8:26
    You can feel a virtual environment or a real environment.
  • 8:26 - 8:30
    I'm not sure if everyone knows what is haptics.
  • 8:30 - 8:33
    [sic] Haptics comes from the sense--a Greek word that
  • 8:33 - 8:34
    describe
  • 8:34 - 8:35
    [sic] the sense of touch.
  • 8:35 - 8:38
    And from haptics--
  • 8:38 - 8:40
    So here is the hands
  • 8:40 - 8:43
    [sic] of the surgeon, and the surgeon is still operating.
  • 8:43 - 8:49
    So he is operating from outside, but essentially the robot
  • 8:49 - 8:53
    is inserted, and instead of opening the body, we have a
  • 8:53 - 8:54
    small incisions
  • 8:54 - 8:57
    [sic] through which we introduce the robot, and then we do
  • 8:56 - 8:57
    the operation.
  • 8:57 - 9:00
    And the recovery is amazing.
  • 9:00 - 9:04
    A few days of recovery, and the patient is out of the
  • 9:04 - 9:06
    hospital.
  • 9:06 - 9:10
    Teleoperation through haptics or through master devices
  • 9:10 - 9:11
    allow us to control--
  • 9:12 - 9:17
    So here is the surgeon working far away, operating, or
  • 9:17 - 9:21
    operating underwater, or interacting with a physical
  • 9:21 - 9:25
    environment in homes or in the factory.
  • 9:25 - 9:28
    Another interesting thing about robotics is that because
  • 9:28 - 9:32
    robotics focuses on articulated body systems, we are able
  • 9:32 - 9:37
    now to use all these models, all these techniques we
  • 9:37 - 9:41
    developed in robotics, to model a human and to create sort
  • 9:41 - 9:46
    of a digital model of the human that can, as we will see
  • 9:46 - 9:51
    later, that can be assimilated and controlled to reproduce
  • 9:51 - 9:58
    actual behavior captured from motion capture devices about
  • 9:58 - 9:59
    the human behavior.
  • 9:59 - 10:05
    Also, with this interaction that we are creating with the
  • 10:05 - 10:08
    physical world, we are going to be able to use haptic
  • 10:08 - 10:15
    devices to explore physical world that cannot be touched in
  • 10:15 - 10:19
    reality--that is, we cannot, for instance, go to the atom
  • 10:19 - 10:22
    level, but we can simulate the atom level, and through
  • 10:22 - 10:27
    haptic devices, we can explore those world.
  • 10:27 - 10:30
    [sic] Maybe the most exciting area in robotics is
  • 10:30 - 10:35
    reproducing devices, robots that look like the human and
  • 10:35 - 10:40
    behave like life, animals or humans.
  • 10:40 - 10:44
    And a few years ago, I was in Japan.
  • 10:44 - 10:46
    Anyone recognize where this photo is?
  • 10:46 - 10:47
    >> Osaka.
  • 10:47 - 10:50
    >> He said Osaka.
  • 10:50 - 10:51
    >> Yokohama.
  • 10:50 - 10:55
    >> Very good, but you are cheating because you were there.
  • 10:55 - 10:58
    (laughter) So this is from Yokohama, and in Yokohama, there
  • 10:58 - 11:01
    is Robodex.
  • 11:01 - 11:04
    Robodex brings thousand and thousand
  • 11:04 - 11:09
    [sic] of people to see all the latest in robotics.
  • 11:09 - 11:10
    This was a few years ago.
  • 11:10 - 11:15
    And you could see ASIMO here--ASIMO which is really the
  • 11:15 - 11:19
    latest in a series of development
  • 11:19 - 11:23
    [sic] at Honda following P2 and P3 robots.
  • 11:23 - 11:31
    And in addition, you could see, well, most of the major
  • 11:31 - 11:33
    players in robotics, in humanoid robotics.
  • 11:33 - 11:36
    Anyone have seen
  • 11:36 - 11:37
    [sic] this one?
  • 11:37 - 11:40
    Do you know this one?
  • 11:40 - 11:42
    This is the Sony robot that--
  • 11:42 - 11:45
    Actually, I think I have a video.
  • 11:45 - 11:48
    Let's see if it works.
  • 11:49 - 11:58
    The Sony is balancing on a moving bar, and this is not an
  • 11:58 - 11:59
    easy task.
  • 11:59 - 12:05
    And you can imagine the requirements in real-time control
  • 12:05 - 12:08
    and dynamic modeling and all the aspect
  • 12:08 - 12:09
    [sic] of this.
  • 12:09 - 12:18
    And this was accomplished a few years ago.
  • 12:18 - 12:22
    Well, actually, we brought this robot here to Stanford a few
  • 12:22 - 12:29
    years ago, and they did a performance here, and it was quite
  • 12:29 - 12:33
    exciting to see this robot dancing and performing.
  • 12:33 - 12:39
    There are a lot of different robots, especially in Asia--
  • 12:39 - 12:41
    Japan and Korea--humanoid robots.
  • 12:41 - 12:51
    AIST built a series of robots: HRP, HRP-1 and 2.
  • 12:51 - 12:53
    And they are building and developing more capabilities for
  • 12:53 - 13:01
    those robots.
  • 13:01 - 13:04
    One of the interesting show
  • 13:04 - 13:10
    [sic] that we had recently was near Nagoya during the World
  • 13:10 - 13:16
    Expo in Aichi, and they demonstrated a number of projects.
  • 13:16 - 13:21
    Some of them came from research laboratories that
  • 13:21 - 13:25
    collaborated with the industry to build those machines.
  • 13:25 - 13:28
    This is a dancing robot.
  • 13:28 - 13:35
    Let's see This is HRP.
  • 13:35 - 13:37
    So HRP is walking.
  • 13:38 - 13:41
    Walking is now well-mastered.
  • 13:41 - 13:46
    But the problem is: How can you move to a position, take an
  • 13:46 - 13:50
    object and control the interaction with the physical world?
  • 13:50 - 13:52
    This is more challenging.
  • 13:52 - 13:54
    You see that sliding and touching is not completely mastered
  • 13:54 - 14:02
    yet, but this is the direction of research in those areas.
  • 14:02 - 14:05
    This is an interesting device that come
  • 14:05 - 14:07
    [sic] from Waseda University.
  • 14:08 - 14:11
    This robot has additional degrees of freedom that--
  • 14:11 - 14:18
    Okay, another problem.
  • 14:18 - 14:22
    So you have additional degrees of freedom in the hip joints
  • 14:22 - 14:27
    to allow it to move a little bit more like a human.
  • 14:27 - 14:29
    Let's see This is one of my favorite.
  • 14:29 - 14:37
    This is a humanlike, and humanlike actuation in it, so
  • 14:37 - 14:41
    artificial muscles that are used to create the motion.
  • 14:41 - 14:44
    But obviously, you have a lot of problems with artificial
  • 14:44 - 14:48
    muscles because dynamic response is very slow and the power
  • 14:48 - 14:52
    that you can bring is not yet--
  • 14:52 - 14:54
    But we will talk about those issues, as well.
  • 14:54 - 15:24
    Okay, let me know what you think about this one.
  • 15:25 - 15:27
    So?
  • 15:27 - 15:29
    So what do you think?
  • 15:29 - 15:32
    Do we need robots to really have the perfect appearance of a
  • 15:32 - 15:33
    human?
  • 15:33 - 15:39
    Or, like, we need the functionalities of the environment?
  • 15:39 - 15:43
    Like if we are working with the trees, we specialize the
  • 15:43 - 15:45
    robot to cut trees.
  • 15:45 - 15:49
    If we are working in the human environment, then we will
  • 15:49 - 15:53
    have a robot that has the functionalities of two arms, the
  • 15:53 - 15:56
    mobility, the vision capabilities.
  • 15:56 - 16:01
    So these are really interesting issues to think about:
  • 16:01 - 16:07
    whether we need to have the robot biologically based or
  • 16:07 - 16:12
    functionally based, and how we can create those interactions
  • 16:12 - 16:15
    in an effective way.
  • 16:15 - 16:16
    Last one, I think is--
  • 16:16 - 16:26
    Yeah, this is an interesting example of how we can extend
  • 16:26 - 16:30
    the capabilities of human with an exoskeleton system.
  • 16:30 - 16:34
    So you wear it, and you become a superman or a superwoman,
  • 16:34 - 16:37
    and you can carry a heavy load.
  • 16:37 - 16:43
    They will demonstrate here carrying, I believe, 60 kilograms
  • 16:43 - 16:47
    without feeling any weight because everything is taken by
  • 16:47 - 16:52
    the structure of the exoskeletal system you are wearing.
  • 16:52 - 16:56
    Another interesting one is this one from Tokyo Institute of
  • 16:56 - 17:02
    Technology, a swimming robot.
  • 17:03 - 17:06
    So make sure no water gets into the motors.
  • 17:06 - 17:15
    Anyway, the thing is robotics is getting closer and closer
  • 17:15 - 17:16
    to the human.
  • 17:16 - 17:21
    And as we see, robots are getting closer to the human.
  • 17:21 - 17:28
    We are facing a lot of challenges in really making these
  • 17:28 - 17:32
    machines work in the unstructured, messy environment of the
  • 17:32 - 17:33
    human.
  • 17:33 - 17:39
    When we were working with robots in structured manufacturing
  • 17:39 - 17:42
    plants, the problems were much simpler.
  • 17:42 - 17:46
    Now you need to deal with many issues, including the fact
  • 17:46 - 17:48
    that you need safety.
  • 17:48 - 17:52
    You need safety to create that interaction.
  • 17:52 - 17:56
    And this distance between the human and the robot is very
  • 17:56 - 17:57
    well justified.
  • 17:57 - 18:01
    You don't want yet to bring the robot very close to the
  • 18:01 - 18:06
    human because these machines are not yet quite safe.
  • 18:06 - 18:13
    Well, development in robotics has many aspects and many
  • 18:13 - 18:14
    forms.
  • 18:14 - 18:18
    And really at Stanford, we are fortunate to have a large
  • 18:18 - 18:24
    number of classes, courses offered in different areas of
  • 18:24 - 18:29
    robotics, graphics and computational geometry, haptics and
  • 18:29 - 18:30
    all of these things.
  • 18:30 - 18:35
    And you have a list of the different courses offered all
  • 18:35 - 18:36
    along the year.
  • 18:36 - 18:40
    And in fact, in my--
  • 18:40 - 18:42
    This is the Intro to Robotics.
  • 18:42 - 18:45
    In spring, I will be offering two additional courses that
  • 18:45 - 18:49
    would deal with Experimental Robotics--that is, applying
  • 18:49 - 18:53
    everything you have learned during this class to a real
  • 18:53 - 18:58
    robot and experimenting with the robot, as well as exploring
  • 18:58 - 19:02
    advanced topics in research, and this is in Advanced
  • 19:02 - 19:04
    Robotics.
  • 19:04 - 19:11
    So, I'm Oussama Khatib, your instructor.
  • 19:11 - 19:14
    And you have--
  • 19:14 - 19:16
    This year, we are lucky.
  • 19:16 - 19:21
    We have three TAs helping with the class: Pete, Christina
  • 19:21 - 19:22
    and Channing.
  • 19:22 - 19:23
    So let's--
  • 19:22 - 19:24
    They are over here.
  • 19:24 - 19:27
    Please stand up, or just turn your faces so they will
  • 19:27 - 19:29
    recognize you.
  • 19:29 - 19:32
    And the office hours are listed.
  • 19:32 - 19:39
    So we will have office hours for me on Monday and Wednesday,
  • 19:39 - 19:44
    and Monday, Tuesday and Thursday for the TAs.
  • 19:44 - 19:49
    The lecture notes are here, and they are available at the
  • 19:49 - 19:50
    bookstore.
  • 19:50 - 19:52
    This is the 2008 edition.
  • 19:52 - 19:54
    So we keep improving it.
  • 19:54 - 19:58
    It's not yet a textbook, but it is quite complete in term
  • 19:58 - 20:01
    [sic] of the requirements and the things you need to have
  • 20:01 - 20:04
    for the class.
  • 20:04 - 20:06
    So, um, let's see The schedule--
  • 20:05 - 20:08
    So we are today on Wednesday the 9th, and we will go to the
  • 20:06 - 20:20
    final examination on March the 21st.
  • 20:20 - 20:25
    There are few changes in the schedule from the handout you
  • 20:25 - 20:28
    have, and we will update these later.
  • 20:28 - 20:31
    There is--
  • 20:31 - 20:39
    These changes happened just in this area here around the
  • 20:39 - 20:41
    dynamics and control schedule.
  • 20:41 - 20:45
    But essentially, what we're going to do starting next week
  • 20:45 - 20:51
    is to start covering the models, so we will start with the
  • 20:51 - 20:53
    spatial descriptions.
  • 20:53 - 20:56
    We go to the forward kinematics, and we will do the
  • 20:56 - 20:57
    Jacobian.
  • 20:57 - 21:01
    And I will discuss these little by little.
  • 21:01 - 21:03
    That will take us to the midterm.
  • 21:03 - 21:09
    One important thing about the midterm and the final is that
  • 21:09 - 21:11
    we will have review sessions.
  • 21:11 - 21:15
    And the class is quite large, so we will split the class in
  • 21:15 - 21:16
    two.
  • 21:16 - 21:19
    And we will have two groups that will attend these review
  • 21:19 - 21:22
    sessions, which will take place in the evening.
  • 21:22 - 21:25
    And they will take place in the lab, in the robotics lab.
  • 21:25 - 21:31
    And during those sessions, we will cover the midterm of past
  • 21:31 - 21:34
    years and the finals of past years.
  • 21:34 - 21:39
    And what is nice about those sessions is that you will have
  • 21:39 - 21:46
    a chance to see some demonstrations of robots while eating
  • 21:46 - 21:53
    pizza and drinking some So that will happen between 7:00 and
  • 21:53 - 21:54
    9:00.
  • 21:54 - 21:57
    Sometimes it goes to 10:00 because we have a lot of
  • 21:57 - 21:58
    questions and discussions.
  • 21:58 - 22:03
    But these sessions are really, really important, and I
  • 22:03 - 22:07
    encourage you and I encourage also the remote students to be
  • 22:07 - 22:08
    present for the sessions.
  • 22:08 - 22:12
    They are very, very helpful in preparing you for the midterm
  • 22:12 - 22:13
    and the final.
  • 22:13 - 22:21
    So as I said, this class covers mathematical models that are
  • 22:21 - 22:22
    essential.
  • 22:22 - 22:25
    I know some of you might not really like, well, getting too
  • 22:25 - 22:28
    much into the details of mathematical models, but we are
  • 22:28 - 22:34
    going to really have to do it if we are going to try to
  • 22:34 - 22:37
    control these machines or build these machines, design these
  • 22:37 - 22:38
    machines.
  • 22:38 - 22:41
    We need to understand the mathematical models, the
  • 22:41 - 22:44
    foundations in kinematics and dynamics.
  • 22:44 - 22:52
    And we will then use these models to create controllers, and
  • 22:52 - 22:56
    we are going to control motions, so we need to plan these
  • 22:56 - 22:57
    motions.
  • 22:57 - 22:59
    We need to plan motion that are
  • 22:59 - 23:03
    [sic] safe, and we need to generate trajectories that are
  • 23:03 - 23:04
    smooth.
  • 23:04 - 23:07
    So these are the issues that we need to address in the
  • 23:07 - 23:11
    planning and control, in addition to the fact that we need
  • 23:11 - 23:13
    to touch, feel, interact with the world.
  • 23:13 - 23:18
    So we need to create compliant motions, which rely on force
  • 23:18 - 23:19
    control.
  • 23:19 - 23:23
    So force control is critical in creating those interaction.
  • 23:23 - 23:27
    [sic] And we will see how we can control the robot to move
  • 23:27 - 23:31
    in free space or in contact space as the robot is
  • 23:31 - 23:33
    interacting with the world.
  • 23:33 - 23:37
    And then we will have some time to discuss some advanced
  • 23:37 - 23:41
    topics, just introduce those advanced topics, so that those
  • 23:41 - 23:46
    of you who are interested in pursuing research in robotics
  • 23:46 - 23:52
    could make maybe plans to take the more advanced courses
  • 23:52 - 23:55
    that will be offered in spring.
  • 23:55 - 24:01
    So let's go back to the problem I talked about in the
  • 24:01 - 24:04
    beginning: the problem of moving this robot from one
  • 24:04 - 24:05
    location to another.
  • 24:05 - 24:08
    Suppose you would like to move this platform.
  • 24:08 - 24:10
    This is a mobile manipulator platform.
  • 24:10 - 24:13
    You would like to move it from here to here.
  • 24:13 - 24:14
    How do we do that?
  • 24:14 - 24:15
    Well, we said--
  • 24:15 - 24:20
    Essentially, what we need to do is somehow find a way of
  • 24:20 - 24:27
    discovering a configuration through which the robot reaches
  • 24:27 - 24:29
    that final goal position.
  • 24:29 - 24:32
    And this is one of them.
  • 24:32 - 24:34
    You can imagine the robot is going to move to that
  • 24:34 - 24:35
    configuration.
  • 24:36 - 24:39
    But the problem with this is the fact that if you have
  • 24:39 - 24:40
    redundancy.
  • 24:40 - 24:41
    So what is redundancy?
  • 24:41 - 24:44
    Redundancy is the fact that you can reach that position with
  • 24:44 - 24:46
    many different configuration
  • 24:46 - 24:49
    [sic] because you have more degrees of freedom in the
  • 24:48 - 24:49
    system.
  • 24:49 - 24:53
    And when you have redundancy, this problem of inverse
  • 24:53 - 24:55
    kinematics becomes pretty difficult problem.
  • 24:55 - 25:00
    But if you solve it, then you will be able to say I would
  • 25:00 - 25:04
    like to move each of those joints from this current
  • 25:04 - 25:07
    position, this joint position to this joint position.
  • 25:07 - 25:11
    So you can control the robot by controlling its joint
  • 25:11 - 25:15
    positions and by creating trajectories for the joints to
  • 25:15 - 25:18
    move, and then you will then be able to reach that goal
  • 25:18 - 25:19
    position.
  • 25:19 - 25:24
    Well, this is not the most natural way of controlling
  • 25:24 - 25:30
    robots, and we will see that there will be different ways of
  • 25:30 - 25:33
    approaching the problem that are much more natural.
  • 25:33 - 25:38
    So to control the robot, first you need to find all these
  • 25:38 - 25:40
    position and orientation
  • 25:40 - 25:45
    [sic] of the mechanism itself, and that requires us to find
  • 25:45 - 25:50
    descriptions of position and orientation of object in space.
  • 25:50 - 25:53
    Then we need to deal with the transformation between frames
  • 25:53 - 25:57
    attached to these different objects because here, to know
  • 25:57 - 26:01
    where this end effector is, you need to know how--
  • 26:01 - 26:04
    If you know this position, this position of those different
  • 26:04 - 26:08
    objects, how you transform the descriptions to find,
  • 26:08 - 26:12
    finally, the position of your end effector.
  • 26:12 - 26:16
    So you need transformations between different frames
  • 26:16 - 26:18
    attached to both objects.
  • 26:18 - 26:26
    So the mechanism, that is the arm in this case, is defined
  • 26:26 - 26:30
    by a rigid object that is fixed, which is the base, and
  • 26:30 - 26:35
    another rigid object that is moving, which we call the end
  • 26:35 - 26:36
    effector.
  • 26:36 - 26:40
    And between these two objects, you have all the links that
  • 26:40 - 26:44
    are going to carry the end effector to move it to some
  • 26:44 - 26:45
    location.
  • 26:45 - 26:49
    And the question is: How can we describe this mechanism?
  • 26:49 - 26:55
    So we will see that we are raising joints, different kinds,
  • 26:55 - 26:58
    joints that are revolute, prismatic.
  • 26:58 - 27:03
    And through those descriptions, we can describe the link and
  • 27:03 - 27:09
    then we can describe the chain of links connected through a
  • 27:09 - 27:11
    set of parameters.
  • 27:11 - 27:12
    Don't worry--
  • 27:11 - 27:18
    Denavit and Hartenberg were two PhD students here at
  • 27:18 - 27:22
    Stanford in the early ???70s, and they thought about this
  • 27:22 - 27:26
    problem, and they came up with a set of parameters, minimal
  • 27:26 - 27:31
    set of parameters, to represent the relationship between two
  • 27:31 - 27:34
    successive links on a chain.
  • 27:34 - 27:40
    And their notation now is basically used everywhere in
  • 27:40 - 27:41
    robotics.
  • 27:41 - 27:44
    And through this notation and those parameters, we will be
  • 27:44 - 27:47
    able to come up with a description of the forward
  • 27:47 - 27:48
    kinematics.
  • 27:48 - 27:52
    The forward kinematics is the relationship between these
  • 27:52 - 27:56
    joint angles and the position of the end effector, so
  • 27:56 - 28:00
    through forward kinematics, you can compute where the end
  • 28:00 - 28:02
    effector position and orientation is.
  • 28:02 - 28:10
    So these parameters are describing the common normal
  • 28:10 - 28:16
    distance between two axes of rotation--
  • 28:16 - 28:20
    So this distance, and also the orientation between these
  • 28:20 - 28:25
    axes, and through this, we can go through the chain and then
  • 28:25 - 28:30
    attach frames to the different joints and then find the
  • 28:30 - 28:33
    transformation between the joints in order to find the
  • 28:33 - 28:37
    relationship between the base frame and the end effector
  • 28:37 - 28:39
    frame.
  • 28:39 - 28:44
    So once we have those transformations, then we can compute
  • 28:44 - 28:46
    the total transformation.
  • 28:46 - 28:50
    So we have local transformation between successive frames,
  • 28:50 - 28:54
    and we can find the local transformation.
  • 28:54 - 28:57
    Now once we know the geometry--that is, we know where the
  • 28:57 - 29:00
    end effector is, where each link is with respect to the
  • 29:00 - 29:05
    others, then we can use this information to come up with a
  • 29:05 - 29:09
    description of the second important characteristic in
  • 29:09 - 29:14
    kinematics, and this is the velocities: how fast things are
  • 29:14 - 29:16
    moving with respect to each other.
  • 29:16 - 29:21
    And we need to consider two things: not only the linear
  • 29:21 - 29:24
    velocity of the end effector, but also the angular velocity
  • 29:24 - 29:25
    at its rotate.
  • 29:25 - 29:29
    [sic] And we will examine the different velocities--linear
  • 29:29 - 29:35
    velocities, angular velocities--with which we will see a
  • 29:35 - 29:40
    duality with the relationships between torques applied at
  • 29:40 - 29:44
    the joints and forces resulting at the end effector.
  • 29:44 - 29:47
    Forces, this is the linear--
  • 29:47 - 29:50
    Forces are associated with linear motion.
  • 29:50 - 29:54
    Movement, torques associated with angular motion.
  • 29:54 - 29:59
    And there is a duality that brings this Jacobian, the model
  • 29:59 - 30:05
    that relates velocities, to be playing two roles: one to
  • 30:05 - 30:08
    find the relationships between joint velocities with end
  • 30:08 - 30:12
    effector velocities, and one to find the relationship
  • 30:12 - 30:17
    between forces applied to the environment and torque applied
  • 30:17 - 30:18
    to the motors.
  • 30:18 - 30:21
    The Jacobian plays a very, very important role, and we will
  • 30:21 - 30:25
    spend some time discussing the Jacobian and finding ways of
  • 30:25 - 30:28
    obtaining the Jacobian.
  • 30:28 - 30:32
    So the Jacobian, as I said, describes this V vector, the
  • 30:32 - 30:36
    linear velocity, and the omega vector, the angular velocity,
  • 30:36 - 30:42
    and it relates those velocities to the joint velocities.
  • 30:42 - 30:46
    So the Jacobian, through that, gives you the linear and
  • 30:46 - 30:48
    angular velocities.
  • 30:48 - 30:56
    And we will see that essentially this Jacobian is really
  • 30:56 - 31:01
    related to the way the axes of this robot are designed.
  • 31:01 - 31:05
    And once you understood this model, you are going to be able
  • 31:05 - 31:09
    to look at a robot and see the Jacobian automatically.
  • 31:09 - 31:12
    You look at the machine, and you see the model automatically
  • 31:12 - 31:17
    through this explicit form that we will develop to compute
  • 31:17 - 31:20
    those linear velocities and angular velocities through the
  • 31:20 - 31:26
    analysis of the contribution of each axis to the final
  • 31:26 - 31:29
    resulting velocities.
  • 31:29 - 31:34
    So we will also discuss inverse kinematics, although we are
  • 31:34 - 31:39
    not going to use it extensively as it has been done in
  • 31:39 - 31:40
    industrial robotics.
  • 31:40 - 31:41
    We will use--
  • 31:41 - 31:45
    We will examine inverse kinematics and look at the
  • 31:45 - 31:46
    difficulties in term
  • 31:46 - 31:51
    [sic] of the multiplicity of solutions and the existence of
  • 31:51 - 31:56
    those solutions and examine different techniques for finding
  • 31:56 - 31:57
    those solutions.
  • 31:57 - 32:02
    So, again, the inverse kinematics is how I can find this
  • 32:02 - 32:04
    configuration that correspond
  • 32:04 - 32:08
    [sic] to the desired end effector position and orientation.
  • 32:08 - 32:12
    And then using those solutions, we can then do this
  • 32:12 - 32:18
    interpolation between where the robot is at a given point
  • 32:18 - 32:21
    and then how to move the robot to the final configuration
  • 32:22 - 32:26
    through trajectory that are smooth both in velocity and
  • 32:26 - 32:30
    acceleration and other constraints that we might impose
  • 32:30 - 32:34
    through the generation of trajectories, both in joint space
  • 32:34 - 32:37
    and in Cartesian space.
  • 32:37 - 32:38
    So this--
  • 32:37 - 32:42
    Oh, I'm going backwards.
  • 32:42 - 32:45
    So this will result in those smooth trajectories that could
  • 32:45 - 32:51
    have via points that could impose upper bound on the
  • 32:51 - 32:55
    velocities or the accelerations and resolving all of these
  • 32:55 - 33:00
    by finding this interpolation between the different points.
  • 33:00 - 33:04
    And that will bring us to the midterm, which will be on
  • 33:04 - 33:07
    Wednesday, February the 13th.
  • 33:07 - 33:09
    It's not a Friday 13th.
  • 33:07 - 33:08
    It's Wednesday.
  • 33:08 - 33:11
    So no worries.
  • 33:11 - 33:16
    And it will be in class, and it will be during the same
  • 33:16 - 33:17
    schedule.
  • 33:17 - 33:22
    Now for the midterm, the time of the class is short, and
  • 33:22 - 33:30
    you'll have really to be ready not really to, like to
  • 33:30 - 33:34
    discover how to solve the problem but really immediately to
  • 33:34 - 33:35
    work on the problem.
  • 33:35 - 33:38
    So that's why the review sessions are very important to
  • 33:38 - 33:42
    prepare you for the midterm to make sure that you will be
  • 33:42 - 33:47
    able to solve all the problems, although we will make sure
  • 33:47 - 33:51
    that the size of the problem fits with the time constraints
  • 33:51 - 33:54
    that we have in the midterm.
  • 33:54 - 33:59
    After the midterm, we will start looking at dynamics,
  • 33:59 - 34:01
    control and other topics.
  • 34:01 - 34:05
    And first, what we need to do is to--
  • 34:05 - 34:08
    Well, I'm not assuming--
  • 34:08 - 34:13
    I'm not sure how many of you are mechanical engineers.
  • 34:13 - 34:17
    Let's see, how many are mechanical engineers in the class?
  • 34:17 - 34:18
    Good.
  • 34:18 - 34:20
    And how many are CS?
  • 34:20 - 34:25
    Wow! That is about right.
  • 34:25 - 34:30
    We have half of the class who's familiar with some of the
  • 34:30 - 34:33
    physical models that we are going to develop, and some
  • 34:33 - 34:34
    others who are not.
  • 34:34 - 34:38
    But I'm going to assume that really everyone has no
  • 34:38 - 34:42
    knowledge of dynamics or control or kinematics, and I will
  • 34:42 - 34:46
    start with really the basic foundation.
  • 34:46 - 34:49
    So you shouldn't worry about the fact that you don't have
  • 34:49 - 34:52
    strong background in those areas.
  • 34:52 - 34:54
    We will cover them from the start.
  • 34:54 - 34:57
    We will go to: What is inertia?
  • 34:57 - 34:58
    What is--
  • 34:58 - 35:01
    How do we describe accelerations?
  • 35:01 - 35:04
    And then we will establish the dynamics, which is quite
  • 35:04 - 35:05
    simple.
  • 35:05 - 35:12
    Anyone recalls the Newton equation?
  • 35:12 - 35:13
    So, let's see.
  • 35:13 - 35:22
    What is the relationship between forces and accelerations?
  • 35:22 - 35:27
    You need to know that, everyone. (laughter) Okay, I need to
  • 35:27 - 35:28
    hear it.
  • 35:28 - 35:29
    Someone tell me.
  • 35:29 - 35:30
    Okay, good.
  • 35:29 - 35:33
    Mass, acceleration equal force.
  • 35:33 - 35:36
    Well, this is all what you need to know.
  • 35:36 - 35:40
    [sic] If you know how one particle can move under the
  • 35:40 - 35:44
    application of a force, then we will be able to generalize
  • 35:44 - 35:48
    to many particles attached in a rigid body, and then we will
  • 35:48 - 35:52
    put them into a structure that will take us to multi-body
  • 35:52 - 35:54
    system, articulated multi-body system.
  • 35:54 - 35:58
    So we will cover these without difficulty, hopefully.
  • 35:58 - 36:02
    The result is quite interesting.
  • 36:02 - 36:04
    So this is a robot.
  • 36:04 - 36:11
    This is a robot that is controlled not by motors on the
  • 36:11 - 36:13
    joints but by cables.
  • 36:13 - 36:17
    So really, the active part of the robot is from here to
  • 36:17 - 36:22
    there, and here, you'll see all the motors and cables-driven
  • 36:22 - 36:25
    system that is on the right.
  • 36:25 - 36:28
    Now if you think about the dynamics of this robot, it gets
  • 36:28 - 36:29
    to be really complicated.
  • 36:29 - 36:32
    So you see on the right here--
  • 36:32 - 36:35
    So this is the robot, and here you have some of the
  • 36:35 - 36:36
    descriptions of--
  • 36:36 - 36:38
    Wait, you cannot see anything probably.
  • 36:38 - 36:42
    But you have all the descriptions of--
  • 36:42 - 36:48
    For instance, what is the inertia view from the first joint
  • 36:48 - 36:49
    when you move?
  • 36:49 - 36:52
    So this inertia is changing as you move.
  • 36:52 - 36:58
    So imagine, if I'm considering the inertia above this axis,
  • 36:58 - 36:59
    right?
  • 36:59 - 37:05
    If I'm deploying the whole arm, the inertia will increase.
  • 37:05 - 37:08
    If I'm putting the arm like this, I will have smaller
  • 37:08 - 37:10
    inertia above this axis.
  • 37:10 - 37:12
    Bigger inertia, smaller inertia.
  • 37:12 - 37:13
    So the configuration--
  • 37:13 - 37:17
    The inertia view from a joint is going to depend on the
  • 37:17 - 37:19
    structure following that joint.
  • 37:19 - 37:24
    And we will see that essentially all of this will come very
  • 37:24 - 37:29
    naturally from the equations that will be generated from the
  • 37:29 - 37:30
    multi-body system.
  • 37:30 - 37:37
    But what we are going to use for this is a very simple
  • 37:37 - 37:42
    description that again will allow you to take a look at this
  • 37:42 - 37:48
    robot and say, Oh, this is the characteristics, the dynamic
  • 37:48 - 37:50
    characteristics of this joint.
  • 37:50 - 37:56
    And you can almost see the coupling forces between the
  • 37:56 - 38:02
    different joints in a visual form that all depend on those
  • 38:02 - 38:06
    axes of rotation and all translation of the robot.
  • 38:06 - 38:09
    And this comes through the explicit form of dynamics that we
  • 38:09 - 38:10
    will develop.
  • 38:10 - 38:16
    This representation is an abstract, abstraction of the
  • 38:16 - 38:19
    description that we will do with the Jacobian.
  • 38:19 - 38:22
    So I said in the Jacobian case, we will take a description
  • 38:22 - 38:26
    that is based on the contribution of each joint to the total
  • 38:26 - 38:29
    velocity, and we will do the same thing.
  • 38:29 - 38:33
    What is the contribution of each link to the resulting
  • 38:33 - 38:34
    inertial forces?
  • 38:34 - 38:38
    So when we do this, we will look at what is the contribution
  • 38:38 - 38:43
    of this joint and the attached link and the contribution of
  • 38:43 - 38:44
    the others.
  • 38:44 - 38:47
    And we just add them all, and you will see this structure
  • 38:47 - 38:50
    coming all together.
  • 38:50 - 38:54
    So that is a very different way than the way Newton and
  • 38:54 - 39:00
    Euler formalized the dynamics, which relies on the fact that
  • 39:00 - 39:06
    we take each of these rigid bodies and connect them through
  • 39:06 - 39:08
    reaction forces.
  • 39:08 - 39:11
    So if you take all the links and if you remove the joints,
  • 39:11 - 39:12
    you get one link.
  • 39:12 - 39:20
    But when you remove the joint, you substitute the removal of
  • 39:20 - 39:25
    the joint with reaction forces, and then you can study all
  • 39:25 - 39:28
    these reaction forces and try to find the relationship
  • 39:28 - 39:30
    between forces and acceleration.
  • 39:30 - 39:34
    Well, this way, which is called the Recursive Newton-Euler
  • 39:34 - 39:41
    formulation, is going to require elimination of these
  • 39:41 - 39:46
    internal forces and elimination of the forces of contact
  • 39:46 - 39:48
    between the different rigid bodies.
  • 39:48 - 39:54
    And what we will do instead--we will go to the velocities,
  • 39:54 - 40:00
    and we will consider the energy associated with the motion
  • 40:00 - 40:02
    of these rigid bodies.
  • 40:02 - 40:06
    So if you have a velocity V and omega at the center of mass,
  • 40:06 - 40:31
    and you can write the energy, the kinetic energy, associated
  • 40:31 - 40:32
    body.
  • 40:31 - 40:33
    with this moving mass and inertia associated with the rigid
  • 40:32 - 40:34
    And simply by adding the kinetic energy of these different
  • 40:33 - 40:35
    links, you have the total kinetic energy of the system.
  • 40:34 - 40:36
    And by then taking these velocities and taking the Jacobian
  • 40:35 - 40:37
    relationship between velocities to connect them to joint
  • 40:35 - 40:39
    velocities, you will be able to extract the mass properties
  • 40:39 - 40:40
    of the robot.
  • 40:40 - 40:44
    So the mass metrics will become a very simple form of the
  • 40:44 - 40:45
    Jacobian.
  • 40:45 - 40:50
    So that's why I'm going to insist on your understanding of
  • 40:50 - 40:51
    the Jacobian.
  • 40:51 - 40:54
    Once you understand the Jacobian, you can scale the Jacobian
  • 40:54 - 40:58
    with the masses and the inertias and get your dynamics.
  • 40:58 - 41:04
    So going to dynamics is going to be very simple if after the
  • 41:04 - 41:08
    midterm, you really understood what is the Jacobian.
  • 41:08 - 41:09
    The dynamics--
  • 41:09 - 41:13
    This mass metrics associated with the dynamics of the system
  • 41:13 - 41:18
    comes simply by looking at the sum of the contributions of
  • 41:18 - 41:22
    the center of mass velocities and the Jacobian associated
  • 41:22 - 41:23
    with the center of masses.
  • 41:23 - 41:27
    In control, we will examine--
  • 41:27 - 41:32
    Oh, I'm going to assume also a little background in control.
  • 41:32 - 41:38
    So we will go over just a single mass-spring system and
  • 41:38 - 41:43
    analyze it, and then we will examine controllers such as PD
  • 41:43 - 41:47
    controllers or PID controllers, proportional derivative or
  • 41:47 - 41:51
    proportional integral derivative, and then we apply these in
  • 41:51 - 41:57
    joint space and in task space by augmenting the controllers
  • 41:57 - 42:01
    with the dynamic structure so that we account for the
  • 42:01 - 42:03
    dynamics when we are controlling the robot.
  • 42:04 - 42:11
    And that is going to lead to a very interesting analysis of
  • 42:11 - 42:15
    the dynamics and how dynamics affect the behavior of the
  • 42:15 - 42:16
    robot.
  • 42:16 - 42:20
    And you can see that the equation of motion for two degrees
  • 42:20 - 42:24
    of freedom comes to be sort of two equations involving not
  • 42:25 - 42:28
    only the acceleration of the joint but the acceleration of
  • 42:28 - 42:32
    the second joint, the velocities, centrifugal, Coriolis
  • 42:32 - 42:34
    forces and gravity forces.
  • 42:34 - 42:39
    And through this, all of these will have an effect, dynamic
  • 42:39 - 42:41
    effect, and disturbances on the behavior.
  • 42:41 - 42:45
    But we will analyze a structure that would allow us to
  • 42:45 - 42:48
    design torque one and torque two, the torques applied to the
  • 42:47 - 42:53
    motor, to create the behavior that is going to allow us to
  • 42:53 - 42:56
    compensate for those effects.
  • 42:56 - 43:03
    So all of these are descriptions in joint space--that is,
  • 43:03 - 43:08
    descriptions of what torque and what motion at the joint.
  • 43:08 - 43:13
    [sic] And what we will see is that in controlling robots, we
  • 43:13 - 43:19
    can really simplify much further the problem by considering
  • 43:19 - 43:24
    the behavior of the robot in term
  • 43:24 - 43:27
    [sic] of its motion when it's performing a task--that is, we
  • 43:28 - 43:32
    can go to the task itself, the task, in the case of the
  • 43:32 - 43:35
    example I described, is how to move the hand to this
  • 43:35 - 43:40
    location, without really focusing on how each of the joint
  • 43:40 - 43:41
    is going to move.
  • 43:41 - 43:47
    And this concept can be captured by simply thinking about
  • 43:47 - 43:52
    this robot, this total robot, as if the robot was attracted
  • 43:53 - 43:54
    to move to the goal position.
  • 43:54 - 43:57
    This is similar to the way a human operate.
  • 43:57 - 44:00
    [sic] When you are controlling your hand to move to a goal
  • 43:59 - 44:03
    position, essentially you are visually surveying your hand
  • 44:03 - 44:04
    to the goal.
  • 44:04 - 44:07
    You are not thinking about how the joints are moving.
  • 44:07 - 44:11
    You are just moving the hand by applying these forces to
  • 44:11 - 44:13
    move the hand to the goal position.
  • 44:13 - 44:18
    So it's like holding the hand and pulling it down to the
  • 44:18 - 44:19
    goal.
  • 44:19 - 44:25
    And at the initial configuration, you have no commitment
  • 44:25 - 44:28
    about the final configuration of the arm.
  • 44:28 - 44:32
    You are just applying the force towards the goal, and you
  • 44:32 - 44:33
    are moving towards the goal.
  • 44:33 - 44:38
    So simply by creating a gradient of a potential energy, you
  • 44:38 - 44:40
    will be able to move to that configuration.
  • 44:40 - 44:44
    And this is precisely what we saw in this example, in the
  • 44:44 - 44:50
    example of this robot here.
  • 44:50 - 44:54
    So this motion that we are creating--
  • 44:54 - 44:59
    So if we are going to move the hand to this location, we are
  • 44:59 - 45:03
    going to generate a force that pulls like a magnet.
  • 45:03 - 45:06
    It will pull the hand to this configuration.
  • 45:06 - 45:08
    But at the same time, you have--
  • 45:08 - 45:13
    In this complex case, you have a robot that is standing, and
  • 45:13 - 45:14
    it has to balance.
  • 45:14 - 45:16
    So there are other things that needs
  • 45:16 - 45:17
    [sic] to be taken into account.
  • 45:18 - 45:21
    And what we are doing is we are also applying other
  • 45:21 - 45:25
    potential energies to the rest of the body to balance.
  • 45:25 - 45:31
    So when we apply this force, you see it's just following.
  • 45:31 - 45:32
    It's like a magnet.
  • 45:32 - 45:34
    It's following this configuration.
  • 45:34 - 45:37
    There is no computation of the joint positions.
  • 45:37 - 45:42
    Simply we are applying these attractive forces to the goal.
  • 45:42 - 45:47
    We can apply it here, apply it there, or apply it to both.
  • 45:47 - 45:58
    Now obviously, if you cut the motors, it's going to fall.
  • 45:58 - 46:05
    And it behaves a little bit like a human, actually.
  • 46:05 - 46:12
    When you cut the muscle (laughter) In fact, this
  • 46:12 - 46:13
    environment, we developed--
  • 46:13 - 46:14
    It's quite interesting.
  • 46:14 - 46:20
    You can not only interact with it by moving the goal, but
  • 46:20 - 46:23
    you can go and pull the hair. (laughter) Ouch.
  • 46:23 - 46:26
    You can pull anywhere.
  • 46:26 - 46:32
    When I click here, I'm computing the forward kinematics and
  • 46:32 - 46:33
    the Jacobian.
  • 46:33 - 46:39
    And I'm applying a force that is immediately going to
  • 46:39 - 46:43
    produce that force computed by the Jacobian on the motors,
  • 46:43 - 46:46
    and everything will react in that way.
  • 46:46 - 46:50
    So we are able to create those interaction
  • 46:50 - 46:55
    [sic] between the graphics, the kinematics and apply it to
  • 46:55 - 46:56
    the dynamic system.
  • 46:56 - 46:59
    And everything actually is simulated on the laptop here.
  • 46:59 - 47:01
    So this is an environment that allow us
  • 47:01 - 47:05
    [sic] to do a lot of interesting simulations of humanlike
  • 47:05 - 47:09
    structures.
  • 47:09 - 47:12
    So you apply the force and you transform it.
  • 47:12 - 47:16
    As I said, the relationship between forces and torques is
  • 47:16 - 47:18
    also the Jacobian, so the Jacobian plays a very important
  • 47:17 - 47:18
    role.
  • 47:18 - 47:24
    And then the computer dynamics--all that we need to do is to
  • 47:24 - 47:28
    understand the relationship between forces applied at the
  • 47:28 - 47:31
    end of factor and the resulting acceleration.
  • 47:31 - 47:35
    Now when we talked earlier about Newton law, we said force--
  • 47:35 - 47:39
    mass, acceleration equal force.
  • 47:39 - 47:42
    And the mass was scalar.
  • 47:42 - 47:44
    But this is a multi-value system.
  • 47:44 - 47:47
    And the mass is going to be a big M, mass metrics.
  • 47:47 - 47:55
    So the relationship between forces and acceleration is not
  • 47:55 - 47:59
    linear--that is, forces and acceleration are not aligned
  • 47:59 - 48:02
    because of the fact that you have a metrics.
  • 48:02 - 48:05
    And because of that, you need to establish the relationship
  • 48:05 - 48:06
    between the two.
  • 48:06 - 48:10
    And once you have this model, you can account for the
  • 48:10 - 48:14
    dynamics in your forces, and then you can align the forces
  • 48:14 - 48:19
    to move, to be in the direction that produces the right
  • 48:19 - 48:20
    acceleration.
  • 48:20 - 48:27
    Finally, we need to deal with the problem of controlling
  • 48:27 - 48:28
    contact.
  • 48:28 - 48:34
    So when you are moving in space, it's one thing, but when we
  • 48:34 - 48:39
    are going to move in contact space, it's a different thing.
  • 48:39 - 48:42
    Applying this force put
  • 48:42 - 48:46
    [sic] the whole structure under a constraint, and you have
  • 48:46 - 48:50
    to account for these constraints and compute the normals to
  • 48:50 - 48:54
    find reaction forces in order to control the forces being
  • 48:55 - 48:56
    applied to the environment.
  • 48:56 - 49:01
    So we need to deal with force control, and we need to
  • 49:01 - 49:06
    stabilize the transition from free space to contact space--
  • 49:06 - 49:09
    so that is, we need to be able to control these contact
  • 49:09 - 49:11
    forces while moving.
  • 49:11 - 49:12
    And what is nice--
  • 49:12 - 49:16
    If you do this in the Cartesian space or in the task space,
  • 49:16 - 49:22
    you will be able to just merge the two forces together to
  • 49:22 - 49:28
    control the robot directly to produce motion and contact.
  • 49:28 - 49:32
    I mentioned that we will discuss some other topics.
  • 49:32 - 49:36
    There will be a guest lecturer that will talk about vision
  • 49:36 - 49:42
    in robotics, and we will also discuss issues about design.
  • 49:42 - 49:45
    I would like to discuss a little bit some issues related to
  • 49:45 - 49:51
    safety and the issues related to making robots lighter with
  • 49:52 - 50:02
    structures that become safer and flexible to work in a human
  • 50:02 - 50:03
    environment.
  • 50:03 - 50:08
    Also, we need to discuss a little bit about motion planning,
  • 50:08 - 50:11
    and especially if we are going to insert those robots in the
  • 50:11 - 50:14
    human environment, we need reactive planning.
  • 50:14 - 50:18
    And there is--
  • 50:18 - 50:23
    In this video, you can see how a complex robotic system is
  • 50:23 - 50:28
    reacting here to obstacles that are coming at it.
  • 50:28 - 50:30
    It's moving away from those obstacles.
  • 50:30 - 50:36
    And this is simply done by using the same type of concept
  • 50:36 - 50:39
    that I described for moving to a goal position.
  • 50:39 - 50:43
    I said we can create an attractive potential energy.
  • 50:43 - 50:47
    In here, to create this motion, we are creating a repulsive
  • 50:47 - 50:48
    potential energy.
  • 50:48 - 50:53
    So if you put two magnets north-north, they will repel, and
  • 50:53 - 50:55
    this is exactly what is happening.
  • 50:55 - 50:59
    We are creating artificially those forces and making the
  • 50:59 - 51:01
    robot move away.
  • 51:01 - 51:07
    But if you have a global plan, you need to deal with the
  • 51:07 - 51:10
    full plan so that you will not reach a local minima, and we
  • 51:11 - 51:14
    then apply this technique to modify all the intermediate
  • 51:14 - 51:19
    configurations so that a robot like this would be moving to
  • 51:19 - 51:22
    a goal position through this plan.
  • 51:22 - 51:26
    And when an obstacle or when the world is changed, the
  • 51:26 - 51:30
    trajectory is moving, the hand is moving, and all of this is
  • 51:30 - 51:37
    happening in real time, which is amazing for a robot with
  • 51:37 - 51:39
    this number of degrees of freedom.
  • 51:39 - 51:41
    The reason is--
  • 51:41 - 51:44
    I'm not sure if you're familiar with the problem.
  • 51:44 - 51:45
    Oh, sorry, let me just--
  • 51:46 - 51:51
    The problem of motion planning in robotics is exponential in
  • 51:51 - 51:52
    the number of degrees of freedom.
  • 51:52 - 51:58
    So usually, if you want to replan a motion when one obstacle
  • 51:58 - 52:02
    has moved, it would take hours to do for a large number of
  • 52:03 - 52:04
    degrees of freedom.
  • 52:04 - 52:08
    And here we are able to do this quite quickly because we are
  • 52:08 - 52:13
    using the structure and we are using this concept of
  • 52:13 - 52:18
    repulsive forces that modifies future configurations and
  • 52:18 - 52:19
    integrate--
  • 52:19 - 52:25
    So this is an example showing Indiana Jones going through
  • 52:25 - 52:30
    the obstacles modified by--in real time, actually, modified
  • 52:30 - 52:40
    all these configurations.
  • 52:40 - 52:48
    And all these computations are taking place in real time
  • 52:48 - 52:50
    because we are using this initial structure and
  • 52:51 - 52:55
    incrementally modifying all the configurations.
  • 52:55 - 53:01
    Another topic that I mentioned slightly earlier is the
  • 53:01 - 53:05
    implication on digital modeling of human.
  • 53:05 - 53:07
    [sic] And learning from the human
  • 53:07 - 53:12
    [sic] is very interesting and very attractive to create good
  • 53:12 - 53:15
    controls for robots, and also understanding the human
  • 53:15 - 53:16
    motion.
  • 53:16 - 53:20
    In fact, currently, we are modeling Tai Chi motion and
  • 53:21 - 53:25
    trying to analyze and learn from those motions.
  • 53:25 - 53:29
    So you can go from motion capture to copying that motion to
  • 53:29 - 53:30
    the robot.
  • 53:30 - 53:33
    But in fact, you will end up with just one example of
  • 53:33 - 53:35
    motion.
  • 53:35 - 53:40
    The question really is how you can generalize, not just one
  • 53:40 - 53:41
    specific motion.
  • 53:41 - 53:44
    And to do that, if you want to generalize, you need to take
  • 53:44 - 53:48
    the motion of the human from motion capture and map it not
  • 53:48 - 53:51
    to the robot but to a model of the human.
  • 53:51 - 53:55
    So you need to model the human, and modeling the human
  • 53:55 - 53:58
    involves modeling the skeletal system.
  • 53:58 - 54:01
    So we worked on this problem, so now you have--
  • 54:01 - 54:04
    This is a new kind of robot system with many degrees of
  • 54:04 - 54:08
    freedom, about 79 degrees of freedom.
  • 54:08 - 54:11
    And all of this is modeled through the same model of
  • 54:11 - 54:13
    kinematics, dynamics.
  • 54:13 - 54:18
    And then you can model the actuation, which is muscles now,
  • 54:18 - 54:21
    and from this, you can learn a lot of things about the
  • 54:21 - 54:22
    model.
  • 54:22 - 54:23
    And then now you can control it.
  • 54:24 - 54:25
    You can control--
  • 54:25 - 54:26
    This is synthesized motion.
  • 54:26 - 54:28
    And you understand how this is working.
  • 54:28 - 54:32
    You just guide the task, and then you have the balance
  • 54:32 - 54:39
    taking place through other minimization of the reminder of
  • 54:39 - 54:43
    the degrees of freedom.
  • 54:43 - 54:45
    And then you can take those characteristics and map them to
  • 54:45 - 54:49
    the robot, scale them to the robot--not copying trajectories
  • 54:49 - 54:51
    but copying the characteristics of the motion.
  • 54:51 - 54:54
    It's quite interesting.
  • 54:54 - 54:59
    We'll discuss also a little bit about haptics.
  • 54:59 - 55:02
    This will be more developed in Advanced Robotics later in
  • 55:02 - 55:08
    the spring, but haptics is very important, especially in the
  • 55:08 - 55:10
    interaction with the environment, the real physical
  • 55:10 - 55:11
    environment.
  • 55:11 - 55:13
    So you go and touch--
  • 55:13 - 55:15
    And now you have information that allows you to reconstruct
  • 55:15 - 55:24
    the surface and move over now more descriptions of what you
  • 55:24 - 55:31
    are touching and what normals you have.
  • 55:31 - 55:39
    Well, contact. (laughter) Quite amazing.
  • 55:39 - 55:42
    What is amazing about this is this is done in real time.
  • 55:42 - 55:47
    So someone from the automotive industry was visiting us and
  • 55:47 - 55:52
    said, ?Now you have model of skeletal systems and good
  • 55:52 - 55:54
    models for resolving contact.
  • 55:54 - 55:58
    Why don't you use them for crashes instead of using dummies,
  • 55:58 - 55:59
    right?
  • 56:00 - 56:01
    So--
  • 56:00 - 56:04
    Ouch.
  • 56:04 - 56:07
    But it's only in the model.
  • 56:07 - 56:14
    Well, there is a lot that will come later, but I will
  • 56:14 - 56:17
    mention a few things about the interactivity also with
  • 56:17 - 56:20
    obstacles and how we can deal with those issues and then
  • 56:21 - 56:27
    combining locomotion--walking with manipulation and dynamic
  • 56:27 - 56:33
    skills like jumping, landing and all these different things.
  • 56:33 - 56:37
    Okay, so what is happening here?
  • 56:37 - 56:41
    Okay, this is a different planet.
  • 56:41 - 56:43
    I'm going to just--
  • 56:42 - 56:48
    Okay, and that will take us to the final, which will be on
  • 56:48 - 56:52
    Friday, the 21st of March.
  • 56:52 - 56:54
    And the time is different.
  • 56:54 - 56:56
    It will be at 12:15.
  • 56:56 - 57:02
    We will announce it, and hopefully we will have again a
  • 57:02 - 57:04
    review session before that.
  • 57:04 - 57:06
    It is on the schedule.
  • 57:06 - 57:10
    In that review session, we'll review previous finals, and
  • 57:10 - 57:17
    here you will have enough time to solve some good problems.
  • 57:17 - 57:20
    So, by the way, not everything that you see in simulation is
  • 57:20 - 57:23
    valid for the real world.
  • 57:23 - 57:27
    And let's see How many skiers do we have here?
  • 57:27 - 57:29
    Skiers.
  • 57:29 - 57:32
    That's all?
  • 57:32 - 57:33
    I would have thought--
  • 57:32 - 57:33
    Okay.
  • 57:32 - 57:33
    Okay.
  • 57:32 - 57:39
    Does it ski?
  • 57:39 - 57:46
    Let's see the ski.
  • 57:46 - 57:47
    Don't do that. (laughter) All right.
  • 57:46 - 57:48
    I will see some of you on Monday. Okay.
Title:
Lecture 1 | Introduction to Robotics
Video Language:
English
Duration:
58:12

English subtitles

Revisions